[go: up one dir, main page]

WO1998026537A1 - Method for electronically protected storage of data in a data bank - Google Patents

Method for electronically protected storage of data in a data bank Download PDF

Info

Publication number
WO1998026537A1
WO1998026537A1 PCT/CH1997/000462 CH9700462W WO9826537A1 WO 1998026537 A1 WO1998026537 A1 WO 1998026537A1 CH 9700462 W CH9700462 W CH 9700462W WO 9826537 A1 WO9826537 A1 WO 9826537A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
user
database
signature
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CH1997/000462
Other languages
German (de)
French (fr)
Inventor
Alfred Schmid
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ascom Systec AG
Original Assignee
Ascom Systec AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ascom Systec AG filed Critical Ascom Systec AG
Priority to EP97945716A priority Critical patent/EP0947072A1/en
Publication of WO1998026537A1 publication Critical patent/WO1998026537A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Definitions

  • the invention relates to a method for electronically secured storage of data in a database and a device for performing the method.
  • a database is understood to be a structured, content-related data pool.
  • the database consists of one or more tables (or objects), each with a series of identical data records.
  • Each data record is composed of a number of data fields. Normally, the number and nature of the data fields for a certain type of data record in the database are identical.
  • the various application programs and users can access shared data in database environments. On the one hand, this prevents problems such as redundancy and inconsistency of data and data structures, on the other hand, the threat potential regarding database security increases.
  • Database security violations include unlawful reading, modification, or deletion of data or the prevention of the same.
  • Unauthorized gain of information by reading data through deliberate or accidental access by an unauthorized user.
  • the information gain of inadmissible information obtained by inference from permitted accesses also belongs to this category.
  • Unauthorized modification (loss of integrity) of data includes all violations of data integrity. It is not absolutely necessary that an illegal gain of information must have taken place beforehand.
  • Disruption and sabotage Loss of availability. This includes all actions that prevent the legitimate users of a system from using them. Protecting a database from possible attacks means that the infrastructure, especially the stored data, must be protected against accidental or deliberate unauthorized access (reading and / or modification).
  • a method for securing the integrity of (electronically stored) data is known from US Pat. No. 5,097,504.
  • the data stored in plain text are provided with a signature that is unique to the text and the author.
  • the parameters (e.g. key, program) for calculating the signature are e.g. stored in a protected memory card with an integrated processor.
  • a series of information elements (there Fig. 4: D, B, A) is multiplied by a corresponding number of random numbers (Ci) and added. The resulting sum is subjected to a modulo operation. The result is the signature.
  • the information elements can be calculated with any numerical values such as e.g. can be combined or supplemented with the date or the identification of the signatory.
  • the procedure is primarily intended for the transmission of messages. A powerful computer is required to use it to protect a database.
  • a special method is proposed for this large amount of data, in which the data to be processed are divided into data blocks for calculating the signature (column 6, lines 41-44).
  • the individual bits can be grouped so that they only partially represent the "characters" (column 7, lines 1-5).
  • a partial signature is created for each data block, so that the entire signature is formed by a series of individual partial signatures (column 6, lines 54-56).
  • the partial signatures can be attached to the corresponding data blocks (column 7, lines 24-28). In this way, backup copies of databases can be signed (column 12, lines 37-38).
  • the European patent application EP 0 709 760 A2 deals with a method for the administration of copyrights.
  • the data to be managed are not central, but stored in a network of computers.
  • the dates are not in Form of data records with a fixed structure included, but in any files.
  • In order to control the recycling of copyrighted data they are encrypted before being transmitted to the user, so that they can only be read and reused using a key to be obtained from a central office.
  • a method for the certification of keys in public key systems is known from EP 0 386 867 A2.
  • the aim is to enable the transmission of data (such as e-mail and electronic transfers or payments) via insecure channels.
  • data such as e-mail and electronic transfers or payments
  • the signature is created, the data (object) is subjected to a hash function.
  • Date and identification of the signer are also included in the signature.
  • the object of the invention is to protect the data stored in a database against accidental or deliberate unauthorized access (modifications).
  • each data record (which contains the useful data) is first provided with a user ID and then with an electronic signature when it is created or changed.
  • the content of the signature is based on both the user data and the user ID. In principle, it is created with a one-way function that has a secret, user-specific key as a parameter. Only the data record thus supplemented is stored on the available storage medium in the form of an expanded data record. The signature therefore represents an additional field in the data record.
  • the method described has the advantage that the data backed up in this way can in principle be read by any user (who is admitted to the database) and, if necessary, changed, but that it can always be subsequently determined who made the changes.
  • the electronic Signature ensures that it can be checked whether the user ID and the data are authentic. It is therefore not possible for someone to change data under another user ID
  • the invention differs from the prior art according to US Pat. No. 5,097,504 in that individual data records are processed.
  • a database is not secured as a whole with signatures. Rather, the data records of certain selected tables are selectively encoded in the invention.
  • the table is in which records the illnesses of each patient, is secured by a signature according to the invention, while the assigned tables with the addresses of the patients, for example, are deliberately not saved (and as a result can be created and changed without a complex procedure).
  • the formation of blocks proposed in US Pat. No. 5,097,504 does not take into account the database structure, but only assumes how many bits can be processed with a signature with reasonable computing effort
  • the user data are reduced together with the user ID to a bit sequence of a predetermined length with the aid of a hash function.
  • the hash function is a one-way function which carries out compression of the data in such a way that the probability that the result despite different output data same function value, negligibly small D h it creates a kind of fingerprint
  • An asymmetric encryption method is used to generate the electronic signature.
  • the secret key is used to generate and the public key to verify the electronic signature.
  • RSA public key cryptosystem by Ron Rivest Adi Shamir and Leonard Adleman, see US 4 405 829 DSA Digital Signature Algo ⁇ thm according to the American Digital Signature Standard
  • Every user has to register with this center in order to provide his user ID and public key.
  • the control center maintains a list which contains the user IDs of the existing users and the corresponding keys. Each entry in the list is preferably signed by the center.
  • a user now wants to check a signature of a data record, he takes the public key listed in the central list and belongs to the user ID of the data record in question and checks the electronic record signature.
  • the electronic signature of the head office can be used to determine that the public key and the user ID actually belong to the corresponding user (i.e. his person).
  • check functions are provided that check the data entered for its logical consistency. That The data to be stored in a certain field of a data record must be of the correct data type. These test functions can be more or less expanded. In connection with the invention it is important that an input or change of sensitive data is only accepted if the electronic signature is present. (The system does not necessarily have to check the user signature when entering the data.)
  • the database has to offer special security, it is an advantage if no deletion is carried out in general or if the data is changed, but only a deletion mark. This is also according to the invention with a marked electronic signature. This makes it possible to trace the history of a data record and determine responsibility.
  • a secure time base is preferably provided, which can be used to date an entry or change. Secure means that it must not be possible to enter an incorrect time (date / time). This is particularly important when sensitive data has to be processed from workstations that are far apart. It goes without saying that the time stamp should also be included in the electronic signature. Of course, the timestamp should not be manipulable. If such a time stamp is not available at all workstations, the server can possibly (additionally) attach a time stamp itself, so that e.g. at least users cannot backdate changes.
  • the invention can of course not only be used to back up individual data records.
  • entries in the dictionary (authorization files, security axioms, integrity conditions or the like), entire user profiles and log files can also be protected.
  • the key to generating the electronic signature is preferably stored neither in the computer system that manages the database, nor in a decentralized workstation, but in a personal chip card. This should meet a high security standard (the security of the known CP8 card should be mentioned as an example).
  • the secret key should not have to be given from the card when generating the electronic signature.
  • a chip card reader To operate the database system, a chip card reader must be provided at the workplace. Whenever an electronic signature has to be generated, the corresponding clear data is transferred from the chip card reader to the chip card, which in turn creates and issues the signature.
  • the method according to the invention can be implemented with hardware known per se. In order to be able to implement the preferred embodiment with the chip cards, chip card readers must be provided at the work stations.
  • the signature is physically calculated as close as possible to the input device and added to the data record.
  • Figure 1 is a schematic representation of the principle for backing up the data.
  • FIG. 2 shows a schematic representation of a computer system for carrying out the method.
  • the data records in the database are additionally secured with an integrity condition (check constraint) against undetectable manipulation by generating a digital signature (a kind of checksum) of the entered data. This will of course insert redundant information. But on the other hand, the authenticity and origin of the data are protected against undetectable manipulation.
  • an integrity condition check constraint
  • a digital signature a kind of checksum
  • the data records for the user profiles (e.g. access rights and privileges at operating system level) can be saved in the same way.
  • the entries for the log file and the logbook are also provided with a sequential number in order to delete an entry Being able to determine Deletion and duplication cannot generally be prevented by cryptographic methods alone
  • Each data record has the actual information (this can be made up of several attributes - such as name, address, age, blood type, etc.) Patients - exist), which depends on the intended use, three additional attributes
  • the information defines the WHAT, the time stamp the WHEN and the user ID the WHO.
  • the digital signature protects the authenticity of the previously mentioned data parts
  • the useful information is designated by M and depends on the specific application. It is formed, for example, by the name, address or further details of a person. According to an advantageous embodiment, a time stamp TS (date, time) is also available This is always recorded when the user information M is entered or changed.
  • An indispensable attribute is the user identifier Ui. It is a code or a number which allows the specified user to be clearly identified
  • the three named elements of the data set are converted into a bit sequence H with a fixed length (for example 128 bits) using a hash function HF.
  • a one-way function E kl into a code C (with a length of, for example, 512 or 1024 bits), which serves as an electronic signature and is added to the data record.
  • the one-way function has the user's secret key Ki (private key) as a parameter.
  • Fig. 2 shows a rough block diagram of a database system.
  • the data are managed by a server, which has a computer 2 and a memory 3 in a conventional manner.
  • the data is entered or changed at a terminal 4 (workstation). This includes Via a known input device 5 (keyboard, barcode reader, screen, etc.), a clock 6 and a card reader 7. A line 9 connects the terminal 4 to the server 1.
  • a known input device 5 keyboard, barcode reader, screen, etc.
  • a clock 6 and a card reader 7.
  • a line 9 connects the terminal 4 to the server 1.
  • the data M are entered on the input device 5.
  • the data M are transferred to the chip card 8 together with a time stamp generated by the clock 6 via card reader 7. This creates the signature described above.
  • the data record consisting of the data M, the time stamp TS, the user identification (which is preferably stored in the chip card 8 and is issued by the latter) and the electronic signature can then be transmitted to the server 1 via line 9.
  • the effective information M of the data record is collected.
  • men with the time stamp TS and the user identifier Ui first compressed using a suitable hash function (one-way function, message digest), that is to say generates a type of fingerprint H (M
  • M TS
  • H a type of fingerprint
  • the database system only accepts a data record if the above constraint is correct, i.e. the signature can be derived from the other elements.
  • the simplest case of cryptographically securing entries with a digital signature only includes the actual information without a secure date. Even in the event that the information part has a time indication, it cannot be trusted unless it is ensured in any way that the wrong time cannot be used.
  • the user ID is necessary so that the signature can be checked with the public key.
  • the disadvantage of missing a time is, of course, that the time of the transaction cannot be easily deduced.
  • a fingerprint of the entered data and the user ID is initially generated (hash function).
  • the database system enters the user ID of the user authenticated at the beginning of the session in the data record.
  • the fingerprint of the data and the user ID are encrypted in a signature unit.
  • the generated signature is entered in the data record and the transaction is completed.
  • the signature unit contains the secret key Ki. This must be kept secret, otherwise another user can sign - without being able to determine it.
  • a secure integrity check system and a corresponding integrity condition are also required so that an illegal entry by the DBMS (Data Base Management System) is reliably rejected. An invalid entry can arise, for example, if an attacker changes the fingerprint or the user ID. It is therefore not necessary to request secure paths and functions for the same.
  • the user ID and the digital signature can be generated in a (physically separate) functional unit.
  • To each user ID Ui has exactly one secret key Ki. Therefore, it makes sense to combine the two sizes in one unit (e.g. smart card) - protected against manipulation.
  • the data record is entered in the database after the following steps:
  • the fingerprint is encrypted in a signature unit.
  • the generated signature is entered in the data record together with the user ID contained in the signature unit and the transaction is completed.
  • the signature unit in turn contains the secret key Ki and the identifier Ui of the user.
  • a time stamp TS date and time
  • the server can e.g. provide signed time codes.
  • a radio clock can be provided, which records the time (also with a forgery-proof code).
  • a data record is therefore entered in the manner listed below:
  • the user enters the data in the individual attributes of the data record and closes the transaction (commit). 2.
  • a fingerprint of the data entered, the time stamp and the user ID is initially generated.
  • the fingerprint is encrypted in a signature unit (e.g. smart card).
  • a signature unit e.g. smart card
  • the generated signature is entered in the data record and the transaction is completed.
  • the DBMS must provide a secure path for the user entries.
  • the time service must provide a sufficiently precise and reliable time specification and be resistant to manipulation.
  • the signing unit in turn contains the secret key Ki and the user identification Ui.
  • a log record is created as follows:
  • the DBMS or the operating system reports an event to be logged to the log monitor.
  • Event handling generates the next data record number and the associated information (message). 3. The current time and date are added to the data record.
  • a fingerprint is created from the number, the information, the time stamp and the user identification.
  • the fingerprint is encrypted in the signature unit.
  • the signature unit contains the secret key ⁇ p and the identifier U p of the protocol monitor.
  • the monitor identifier u P in the log entries is not absolutely necessary if only a global monitor is available.
  • the integrity of a data record is checked in reverse by the system (when saving) or by a user.
  • a secure integrity checking system and a corresponding integrity condition are required so that an "invalid" entry is reliably rejected by the DBMS.
  • the corresponding public key of the user recorded in the data record is necessary for checking a digital signature.
  • the public key must be available in the form of a certificate.
  • Such certificates are issued by an independent, trustworthy entity (authentication center). They prove that the user ID and the public key belong together. The authenticity of a certificate can also be checked using the issuing authority's public key.
  • a newly entered or modified data record is checked for a correct signature as follows:
  • the integrity condition is triggered by an INSERT or UPDATE command.
  • the user ID is determined from the data record.
  • the digital signature is decrypted using the public key.
  • the fingerprint obtained from the digital signature and the user ID are compared with the fingerprint calculated in step 2 and the user ID entered in the data record. 7. If the components match, the transaction is accepted, in all other cases rejected.
  • the DBMS must offer a secure mechanism for integrity checking. Otherwise entries can be made without a correct signature.
  • the user ID is determined from the data record.
  • the digital signature is decrypted using the public key.
  • the fingerprint obtained from the digital signature and the user ID are compared with the fingerprint calculated in step 2 and the user ID entered in the data record.
  • the data record is authentic, i.e. no unauthorized modification has taken place.
  • At least one component of the data record must be able to be routed to the test function via a secure channel.
  • the result of the check must also be communicated to the user via a secure channel can.
  • the test unit contains the public key ⁇ a 'and the identifier u a of the certification body.
  • the attribute for the time stamp TS (if available) must be based on a trusted time base and program logic (trusted code).
  • a trustworthy entity is necessary for the certification of user ID u and public key K, 'so that a masquerade by another user u' can be prevented or avoided. can be recognized.
  • the secret key ⁇ 1 is only known to one user (or a user group) so that the authorized user cannot be denied (repudiation). Otherwise he can claim someone else had signed.
  • the encryption of the data can be carried out at different levels. Encryption on the disk, I / O or file system level only provides protection against theft of the disk or the backup copies, especially when using ent / server applications in network environments encryption at the lowest (physical) level does not provide effective protection
  • the best protection of confidentiality can be achieved with cryptographic procedures if the data has already been encrypted by the user or only then deciphered again there
  • the confidentiality of data records can be guaranteed by encrypting the information they contain. Only users who have the secret key K are able to interpret the information again in plain text.
  • the authorized users form a closed user group, so that other users with other privileges (e.g. system manager, DBA, network operator) can still not interpret the information.
  • other privileges e.g. system manager, DBA, network operator
  • Information M can be understood to mean all attributes of a data record (also including a time stamp, user ID and digital signature) or only individual attributes that need special protection.
  • administration eg adding an additional attribute
  • Another advantage of this approach is the optional encryption of attributes.
  • the data record does not have to be a whole, but the individual attributes can be encrypted as required (e.g. only the particularly sensitive data). In the following example, only the two attributes A and A 2 are stored encrypted in the data record.
  • the remaining attributes A 3 . , , A N are saved in plain text.
  • the table contents of a database can be encrypted with a single key K. Every user who has this key has access to the plain text space. All other users can at most gain insight into the ciphertext space.
  • the key K- is encrypted with the public key K, ⁇ of the user u, and an asymmetrical algorithm. Only the user u has the associated secret key ⁇ L and is therefore able to determine the key ⁇ ⁇ .
  • the user who distributes the inspection rights will, of course, also grant himself such rights so that he can later also access the corresponding data.
  • the method described has the advantage that there is no need to have a higher-level entity that manages the secret keys it for confidentiality protection.
  • Each user issues the keys themselves, i.e. anyone can be the issuing authority for inspection certificates.
  • the above-mentioned certificates can include the encrypted access key K-. and the user ID u A contain further details about the period of validity, the identifier of the issuing office and a signature of the issuing office.
  • the signature in the certificates has the advantage that counterfeits can be recognized immediately.
  • Encryption or electronic signing can e.g. with the so-called PGP program by Philip Zimmermann. This program was developed in the USA, is available on various platforms and is based on the following algorithms:
  • the program therefore offers ready-made procedures for confidentiality protection and authentication.
  • Both functions can be used in combination, so that confidentiality and authentication are guaranteed at the same time, by first signing the data with your own secret key and then encrypting it with the recipient's public key.
  • the steps are used in reverse for the recipient, by first decrypting the encrypted message with the secret key and then checking the authenticity with the public key. The steps are carried out automatically by PGP.
  • the symmetrical IDEA algorithm is used for the encryption of data, because symmetrical methods are many times faster than the asymmetrical ones.
  • the PGP generates a temporary key for encryption (invisible to the user) and uses it to encrypt the plain text.
  • the temporary key is encrypted asymmetrically with the recipient's public key and transmitted to the recipient together with the ciphertext.
  • the recipient uses his or her secret key to find the temporary key. With the temporary key and the fast symmetrical procedure, he finally restores the plain text.
  • the public keys are stored together with the user ID and a time stamp of the generation in public key certificates.
  • the secret keys are stored in secret key certificates.
  • Each secret key is also encrypted with a password so that the key cannot be used in the event of theft.
  • a key file, or key ring can include several certificates.
  • Public keyrings contain public key certificates and secret keyrings contain secret key certificates.
  • the keys are referenced in the PGP by a so-called key ID. This is an abbreviation of the public key, in which the last 64 bits are used for the key ID.
  • the key pair is derived from large real random numbers, so that the case can be excluded that two independent users generate the exact same key pair.
  • the random numbers are mainly derived from the time intervals between keystrokes when entering any text.
  • the typed text also influences the result, so that the same key should not always be printed
  • the integrity of a certificate can then be checked using the trustworthy public key. To do this, of course, you have to have the trustworthy public key and be assured that the key is not tampered with. The integrity could therefore be secured again with a different signature.
  • a public key may only be used if it bears the signature of a trusted person or comes directly from the user whom you trust.
  • a PGP signature also contains a time stamp, but you cannot rely on it because it is derived from the system time and the system time can of course be manipulated. Also included in the PGP signature is a key identification (key ID) k ⁇ With which the PGP program can independently select the correct public key ⁇ 'when checking a PGP signature.
  • the user enters the data in the individual attributes of the data record and closes the transaction.
  • the PGP program When the transaction is completed by the user, the PGP program first creates a fingerprint (message digest) from the entered data and the user ID using the MD5 algorithm. 3. The user releases the secret key Ki by means of a password (or an entire sentence).
  • the PGP program generates the signature using the RSA algorithm, the user's secret key and the fingerprint.
  • the database system enters the user ID of the user authenticated at the start of the session and the signature created in the data record and closes the transaction.
  • the secret key ⁇ A is stored encrypted in a file.
  • the key can be activated by entering the correct password or phrase.
  • the file should not be accessible to other users.
  • the corresponding public key of the user recorded in the data record is necessary for checking a digital signature.
  • the public key must be available in the form of a certificate.
  • certificates can either be issued by the individual users themselves (network structure) or issued by an independent, trustworthy entity (tree structure). The certificates prove that the user ID and the public key belong together.
  • the information in the data record is prepared together with the user ID and the fingerprint is calculated using the MD5 algorithm.
  • the key identifier k is extracted from the PGP signature.
  • the associated public key is determined from the corresponding certificate z ⁇ .
  • the digital signature is decrypted with the public key and compared with the fingerprint calculated in step 1.
  • the data record is authentic, i.e. there has been no unauthorized modification of data and user ID.
  • At least one component of the data record (information or signature) must be routed to the PGP program via a secure channel.
  • the result of the check must also be able to be communicated to the user via a secure channel.
  • the data exchange with the PGP program takes place either via files or pipes.
  • the way is selected via files.
  • PGP offers the possibility to create a separate file for the signature during the signing process (with the option -b). If the user wants to sign the file ⁇ file name> with the identifier ⁇ user_id>, the command is:
  • the password When executing the command, the password is requested by the user in order to be able to activate the encrypted secret key.
  • the password is allowed by the user not to be given out of hand, otherwise another user along with access to secrxng. pgp can sign on his behalf.
  • the signature file is named ⁇ filename>. saved.
  • a file with the data to be signed is created.
  • the specifications + batchmode and + force do not cause any interactive queries from the PGP program and the return of the result in the exit status. Such an o signifies a successfully created signature file.
  • the content of the signature file can then be inserted into the corresponding data record by the database application.
  • the database application provides the two files (data and signature) with the corresponding content.
  • the user data is stored in the file ⁇ file name> together with the user ID of the data record and in the file ⁇ file name>.
  • the signature is provided.
  • the command options + batch ode and + force in turn suppress interactive queries during execution and return the result in the exit status of the PGP program.
  • a return value of o is a positive check, ie the two files are unchanged and signed by the specified user.
  • a local installation of the PGP program is used on the local PC (or workstation) for the signing of data records.
  • a user's secret key is stored on a personal write-protected floppy disk (floppy disk key) together with the public key of the issuing office.
  • a user logs on to the database server by the local workstation (PC) receiving a random message from the server.
  • the random message is sent back encrypted to the server using the local PGP program and the secret key. This can use the public key to check the authenticity of the user.
  • the user signs data records with the locally installed PGP program by pushing the write-protected floppy disk key (floppy disk with the secret key) into the drive and typing in the password. After signing, the diskette key is removed from the drive. Data records in the database are checked for authenticity using the PGP program installed on the server. All public keys on the server have been certified (signed) by the issuing authority. The certificate can be checked by any user with the issuing authority's public key. This is also included on the personal floppy key and thus protected against manipulation. An attacker would therefore have to manipulate as many diskette keys as possible to undermine the effectiveness of the system.
  • the issuing office determines the user ID, among other things , based on guidelines and generates a key pair (K, K ') a for itself.
  • the public key is signed according to
  • the issuing office is now ready to sign the users' public keys, i.e. Certificates Z to issue for their public keys.
  • a new user generates a key pair locally ( ⁇ , K ') ..
  • the user ID u chooses according to the specifications of the issuing office.
  • the pair of keys is stored on a diskette (the key diskette) and the public key K, ⁇ is signed by the user himself.
  • the issuing authority verifies the signature of the user and then issues a certificate for x for the public key K, 'and u the associated user ID. out. 4. The issuing authority makes the certificate z available to other users on the server system-wide (read-only access).
  • the issuing office provides the user with a personal copy of their signed public key z a .
  • the user copies a to the key diskette and activates the write protection.
  • the floppy disk key and the drive are comparable to a smart card and the associated reader. Just as the smart card is activated with a password, the floppy key is also activated. The difference is that with this solution the secret key is exposed in the main memory of the local workstation. With the smart card, the secret key never leaves the card.
  • a separate crypto process is provided to sign data records and to check the authenticity of existing signatures.
  • the signing process is preferably carried out in a smart card. This protects the secret key very effectively (the key never leaves the card) and the owner always has the card under his supervision.
  • the verification of signatures can easily remain on a more powerful platform (workstation) because this process is not critical in terms of security.
  • the only critical point is the issuer's public key for verifying user certificates. This key should also be stored in the smart card by every user in order to prevent masquerades.
  • the user certificates can be managed in the same database. However, this does not have to be the case, because it would also be possible to have the certificates in an external unit
  • authentication servers e.g. separate database, X.500 directory service or authentication server
  • authentication servers would also identify and authenticate users (using a password, token or biometric method).
  • the invention can be used in any database.
  • object-oriented and relational databases which are known per se, should be mentioned.
  • Object-oriented database systems not only offer the advantages of object-oriented programming, but are also more flexible with regard to the implementation of the method according to the invention.
  • Relational database systems are significantly more standardized and therefore restrict the possible solutions.
  • the entries of user data in the database are provided with a digital signature. In the event of later access, the authenticity of the entry and the user ID can be reliably checked.
  • the cryptographic part can be covered by the PGP program, whereby the encryption function also contained in the PGP program does not have to be used. Only the functions for key generation and management as well as for the authentication of data are used.
  • RSA is generally considered secure if sufficiently large keys (512 bits are considered unsafe) are used. Security is based on the difficulty of breaking down large integers. However, enormous progress has been made in this area recently. RSA is very susceptible to "chosen plaintext attacks". When used for signing purposes this danger does not arise because a cryptographic hash function (MD5) is interposed.
  • MD5 cryptographic hash function
  • MD5 is a safe hash function and generates a hash value of 128 bit length from any character string.
  • a hierarchical trust structure makes sense for a database and can be easily mapped.
  • the public key of the issuing office must be communicated via a secure channel (e.g. personal handover) and protected against manipulation (e.g. personal floppy disk with write protection).
  • the configuration for a client / server environment has the following features:
  • a local installation of the PGP program is used on the PC (or workstation) for the signing of data records.
  • the local application part (client) communicates with the locally installed PGP program.
  • a user's secret key is stored on a personal read-only diskette (diskette key) together with the public key of the issuing office.
  • diskette key diskette key
  • the server application communicates with the PGP program installed on the server.
  • a user logs on to the database server by the local workstation (PC) receiving a random message from the server.
  • the random message is sent back encrypted to the server using the local PGP program and the secret key. This can use the public key to check the authenticity of the user.
  • the user signs data records with the locally installed PGP program by pushing the read-only floppy disk key (floppy disk with the secret key) into the drive and typing in the password. After signing, the diskette key is removed from the drive.
  • the read-only floppy disk key floppy disk with the secret key
  • Data records in the database are checked for authenticity using the PGP program installed on the server. All public keys on the server have been certified (signed) by the issuing authority. The certificate can be checked by any user with the issuing authority's public key.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

The invention relates to a method for protected data management in a data bank, whereby the data records upon creation or modification are provided with a user identifier (Ui) and an electronic signature (C) which encrypts the data and the user identifier. In order to create said electronic signature (C), the data (M) is initially reduced along with the user identifier (Ui) to a bit sequence (H) of a predetermined length by means of a hash function (HF) and subsequently encrypted by means of an electronic (preferably asymmetrical) ciphering method.

Description

Verfahren zur elektronisch gesicherten Speicherung von Daten in einer Datenbank Process for electronically secure storage of data in a database

Technisches GebietTechnical field

Die Erfindung betrifft ein Verfahren zur elektronisch gesicherten Speicherung von Daten in einer Datenbank sowie eine Vorrichtung zur Durchführung des Verfahrens. Stand der TechnikThe invention relates to a method for electronically secured storage of data in a database and a device for performing the method. State of the art

Unter einer Datenbank wird ein strukturierter, inhaltlich zusammengehöriger Datenbestaπd verstanden. Der Datenbestand besteht aus einer oder mehreren Tabellen (bzw. Objekten) mit jeweils einer Reihe von gleichartigen Datensätzen. Jeder Datensatz setzt sich wiederum aus einer Reihe von Datenfeldern zusammen. Im Normalfall sind Anzahl und Beschaffenheit der Datenfelder für einen bestimmten Typ von Datensatz der Datenbank identisch.A database is understood to be a structured, content-related data pool. The database consists of one or more tables (or objects), each with a series of identical data records. Each data record is composed of a number of data fields. Normally, the number and nature of the data fields for a certain type of data record in the database are identical.

In Datenbankumgebungen können die verschiedenen Applikationsprogramme und Benutzer auf gemeinsame Daten zugreifen. Dies verhindert auf einer Seite Probleme wie Redundanz und Inkonsistenz von Daten und Datenstrukturen, auf der anderen Seite nimmt das Bedrohungspotential betreffend Datenbanksicherheit zu.The various application programs and users can access shared data in database environments. On the one hand, this prevents problems such as redundancy and inconsistency of data and data structures, on the other hand, the threat potential regarding database security increases.

Verletzungen der Datenbanksicherheit sind unrechtmässiges Lesen, Modifizieren oder Löschen von Daten oder das Verhindern derselben.Database security violations include unlawful reading, modification, or deletion of data or the prevention of the same.

Die Auswirkungen können in drei Kategorien eingeteilt werden:The effects can be divided into three categories:

• unbefugter Informationsgewinπ (Verlust der Vertraulichkeit) durch Lesen von Daten durch absichtlichen oder zufälligen Zugriff von einem unbefugten Benutzer. Der durch Inferenz aus erlaubten Zugriffen erhaltene Informationsgewinn von nicht erlaubter Information zählt ebenfalls in diese Kategorie.• Unauthorized gain of information (loss of confidentiality) by reading data through deliberate or accidental access by an unauthorized user. The information gain of inadmissible information obtained by inference from permitted accesses also belongs to this category.

• unbefugte Modifikation (Verlust der Integrität) von Daten beinhaltet alle Verletzungen der Datenintegrität. Dabei ist es nicht unbedingt notwendig, dass zuvor ein unerlaubter Informationsgewiπn stattgefunden haben muss.• Unauthorized modification (loss of integrity) of data includes all violations of data integrity. It is not absolutely necessary that an illegal gain of information must have taken place beforehand.

• Störung und Sabotage (Verlust der Verfügbarkeit). Darunter fallen alle Aktionen, welche die rechtmässigen Benutzer eines Systems von deren Benützung abhalten. Eine Datenbank vor möglichen Angriffen zu schützen hat zur Folge, dass die Infrastruktur, insbesondere die gespeicherten Daten, vor zufälligen oder willentlichen nichtautorisierten Zugriffen (Lesen und/oder Modifikation) geschützt werden muss.• Disruption and sabotage (loss of availability). This includes all actions that prevent the legitimate users of a system from using them. Protecting a database from possible attacks means that the infrastructure, especially the stored data, must be protected against accidental or deliberate unauthorized access (reading and / or modification).

Aus der US 5,097,504 ist ein Verfahren zur Sicherung der Integrität von (elektronisch abgespeicherten) Daten bekannt. Die im Klartext abgespeicherten Daten werden mit einer für den Text und den Autor eindeutigen Signatur versehen. Die Parameter (z.B. Schlüssel, Programm) zur Berechnung der Signatur sind z.B. in einer geschützten Speicherkarte mit integriertem Prozessor abgespeichert.A method for securing the integrity of (electronically stored) data is known from US Pat. No. 5,097,504. The data stored in plain text are provided with a signature that is unique to the text and the author. The parameters (e.g. key, program) for calculating the signature are e.g. stored in a protected memory card with an integrated processor.

Eine Reihe von Informationselementen (dortige Fig. 4: D,B,A) wird mit einer entsprechenden Anzahl von Zufallszahlen (Ci) multipliziert und aufaddiert. Die resultierende Summe wird einer Modulo-Operation unterworfen. Das Ergebnis stellt die Signatur dar. Zur Verstärkung der Sicherheit können die Informationselemente bei der Berechnung der Signatur mit beliebigen numerischen Werten wie z.B. mit dem Datum oder der Identifikation des Signierenden kombiniert bzw. ergänzt werden. Das Verfahren ist primär für die Übertragung von Mitteilungen bestimmt. Damit es auch für den Schutz einer Datenbank eingesetzt werden kann, ist ein leistungsfähiger Computer erforderlich. Zusätzlich wird für diese grosse Datenmenge ein spezielles Verfahren vorgeschlagen, bei welchem für die Berechnung der Signatur die zu verarbeitenden Daten in Datenblöcke unterteilt werden (Spalte 6, Zeilen 41-44). Dabei können die einzelnen Bits so gruppiert werden, dass sie die "Characters" auch nur teilweise darstellen (Spalte 7, Zeilen 1-5). Für jeden Datenblock wird eine partielle Signatur erstellt, so dass die gesamte Signatur durch eine Reihe von einzelnen partiellen Signaturen gebildet wird (Spalte 6, Zeilen 54-56). Die partiellen Signaturen können an die entsprechenden Datenblöcke angehängt werden (Spalte 7, Zeilen 24- 28). Auf diese Weise können Backup-Kopien von Datenbanken signiert werden (Spalte 12, Zeilen 37-38).A series of information elements (there Fig. 4: D, B, A) is multiplied by a corresponding number of random numbers (Ci) and added. The resulting sum is subjected to a modulo operation. The result is the signature. To increase security, the information elements can be calculated with any numerical values such as e.g. can be combined or supplemented with the date or the identification of the signatory. The procedure is primarily intended for the transmission of messages. A powerful computer is required to use it to protect a database. In addition, a special method is proposed for this large amount of data, in which the data to be processed are divided into data blocks for calculating the signature (column 6, lines 41-44). The individual bits can be grouped so that they only partially represent the "characters" (column 7, lines 1-5). A partial signature is created for each data block, so that the entire signature is formed by a series of individual partial signatures (column 6, lines 54-56). The partial signatures can be attached to the corresponding data blocks (column 7, lines 24-28). In this way, backup copies of databases can be signed (column 12, lines 37-38).

Die europäische Patentanmeldung EP 0 709 760 A2 hat ein Verfahren zur Verwaltung von Urheberrechten zum Gegenstand. Die zu verwaltenden Daten sind nicht zentral, sondern in einem Netzwerk von Computern abgespeichert. Die Daten sind nicht in Form von Datensätzen mit fest vorgegebener Struktur enthalten, sondern in beliebigen Dateien. Um die Wiederverwertung urheberrechtlich geschützter Daten zu kontrollieren, werden sie vor der Übertragung an den Benutzer verschlüsselt, so dass sie nur unter Einsatz eines von einer Zentrale zu beschaffenden Schlüssels gelesen und weiterverwendet werden können.The European patent application EP 0 709 760 A2 deals with a method for the administration of copyrights. The data to be managed are not central, but stored in a network of computers. The dates are not in Form of data records with a fixed structure included, but in any files. In order to control the recycling of copyrighted data, they are encrypted before being transmitted to the user, so that they can only be read and reused using a key to be obtained from a central office.

Aus der EP 0 386 867 A2 ist ein Verfahren zur Zertifizierung von Schlüsseln in Public Key Systemen bekannt. Ziel ist es, die Übertragung von Daten (wie E-mail und elektronische Überweisungen bzw. Zahlungen) über unsichere Kanäle zu ermöglichen. Bei der Erstellung der Signatur werden die Daten (Objekt) einer Hashfunktion unterworfen. Neben den eigentlichen Daten werden u.a. auch Datum und Identifikation des Signierenden in die Signatur eingeschlossen.A method for the certification of keys in public key systems is known from EP 0 386 867 A2. The aim is to enable the transmission of data (such as e-mail and electronic transfers or payments) via insecure channels. When the signature is created, the data (object) is subjected to a hash function. In addition to the actual data, Date and identification of the signer are also included in the signature.

Darstellung der ErfindungPresentation of the invention

Aufgabe der Erfindung ist es, die in einer Datenbank gespeicherten Daten vor zufälligen oder willentlichen nichtautorisierten Zugriffen (Modifikationen) zu schützen.The object of the invention is to protect the data stored in a database against accidental or deliberate unauthorized access (modifications).

Die Lösung der Aufgabe ist durch die Merkmale des Anspruchs 1 definiert. Gemäss der Erfindung wird jeder Datensatz (welcher die Nutzdaten enthält) bei seiner Erstellung bzw. Änderung zuerst mit einer Benutzerkennung und dann mit einer elektronischen Signatur versehen. Die Signatur stützt sich inhaltlich sowohl auf die Nutzdaten als auch auf die Benutzerkennung. Sie wird im Prinzip mit einer Einwegfunktion erstellt, die als Parameter einen geheimen, benutzerspezifischen Schlüssel hat. Erst der so ergänzte Datensatz wird auf dem zur Verfügung stehenden Speichermedium in Form eines erweiterten Datensatzes abgespeichert. Die Signatur stellt somit ein zusätzliches Feld des Datensatzes dar.The solution to the problem is defined by the features of claim 1. According to the invention, each data record (which contains the useful data) is first provided with a user ID and then with an electronic signature when it is created or changed. The content of the signature is based on both the user data and the user ID. In principle, it is created with a one-way function that has a secret, user-specific key as a parameter. Only the data record thus supplemented is stored on the available storage medium in the form of an expanded data record. The signature therefore represents an additional field in the data record.

Das beschriebene Verfahren hat den Vorteil, dass die auf diese Weise gesicherten Daten im Prinzip von jedem beliebigen Benutzer (welcher zur Datenbank zugelassen ist) gelesen und erforderlichenfalls geändert werden können, dass aber nachträglich stets festgestellt werden kann, wer die Änderungen durchgeführt hat. Die elektronische Signatur gewährleistet, dass überprüft werden kann, ob die Benutzerkennung und die Daten authentisch sind Es ist also nicht möglich, dass jemand unter einer fremden Benutzerkennung verdeckt Daten ändertThe method described has the advantage that the data backed up in this way can in principle be read by any user (who is admitted to the database) and, if necessary, changed, but that it can always be subsequently determined who made the changes. The electronic Signature ensures that it can be checked whether the user ID and the data are authentic. It is therefore not possible for someone to change data under another user ID

Vom Stand der Technik gemäss US 5,097 504 unterscheidet sich die Erfindung dadurch, dass einzelne Datensatze verarbeitet werden Eine Datenbank wird nicht als ganzes mit Signaturen gesichert Vielmehr werden bei der Erfindung selektiv die Datensatze gewisser ausgewählter Tabellen codiert In einer medizinischen Datenbank beispielsweise ist die Tabelle, in welcher die Krankheiten eines jeden Patienten festgehalten wird, durch eine erfindungsgemasse Signatur gesichert wahrend die zugeordneten Tabellen mit den Adressen der Patienten z B bewusst nicht gesichert werden (und infolgedessen ohne aufwendiges Prozedere erstellt und geändert werden können) Die in der US 5,097,504 vorgeschlagene Bildung von Blocken nimmt im Gegensatz dazu nicht auf die Datenbankstruktur Rucksicht, sondern geht allein davon aus, wieviele Bits mit einer Signatur mit vernunftigem Rechenaufwand noch verarbeitet werden könnenThe invention differs from the prior art according to US Pat. No. 5,097,504 in that individual data records are processed. A database is not secured as a whole with signatures. Rather, the data records of certain selected tables are selectively encoded in the invention. In a medical database, for example, the table is in which records the illnesses of each patient, is secured by a signature according to the invention, while the assigned tables with the addresses of the patients, for example, are deliberately not saved (and as a result can be created and changed without a complex procedure). The formation of blocks proposed in US Pat. No. 5,097,504 In contrast, does not take into account the database structure, but only assumes how many bits can be processed with a signature with reasonable computing effort

Gemäss einer bevorzugten Ausfuhrungsform werden die Nutzdaten zusammen mit der Benutzerkennung mit Hilfe einer Hashfunktion auf eine Bitsequenz vorgegebener Lange reduziert Die Hashfunktion ist eine Einwegfunktion, die eine Kompression der Daten ausfuhrt und zwar so, dass die Wahrscheinlichkeit, dass das Resultat trotz un- terschiedlicher Ausgangsdaten zum selben Funktionswert fuhrt, vernachlassigbar klein ist D h es wird eine Art Fingerabdruck erzeugtAccording to a preferred embodiment, the user data are reduced together with the user ID to a bit sequence of a predetermined length with the aid of a hash function. The hash function is a one-way function which carries out compression of the data in such a way that the probability that the result despite different output data same function value, negligibly small D h it creates a kind of fingerprint

Zur Erzeugung der elektronischen Signatur wird ein asymmetrisches Chiffrierverfahren eingesetzt Bei diesen gibt es jeweils einen geheimen Schlüssel (private key) und einen öffentlichen (public key) Der geheime Schlüssel wird zur Erzeugung und der öffentliche zur Überprüfung der elektronischen Signatur verwendet Beispiele für asymmetrische Chiffrierverfahren sind das RSA- und das DSA-Verfahren (RSA public key Kryptosystem von Ron Rivest Adi Shamir und Leonard Adleman, vgl US 4 405 829 DSA Digital Signature Algoπthm gemäss dem amerikanischen Digital Signature Standard) Bei Systemen mit einer grösseren Anzahl von Benutzern empfiehlt es sich, eine Zentrale für die Authentifikation der öffentlichen Schlüssel zu verwenden. Jeder Benutzer muss sich bei dieser Zentrale melden, um seine Benutzerkennung und seinen öffentlichen Schlüssel abzugeben. Die Zentrale führt eine Liste, welche die Benutzerkennun- gen der vorhandenen Benutzer und die entsprechenden Schlüssel enthält. Vorzugsweise wird jeder Eintrag in der Liste durch die Zentrale signiert.An asymmetric encryption method is used to generate the electronic signature.There are two secret keys (private key) and one public key.The secret key is used to generate and the public key to verify the electronic signature.These are examples of asymmetrical encryption methods RSA and the DSA method (RSA public key cryptosystem by Ron Rivest Adi Shamir and Leonard Adleman, see US 4 405 829 DSA Digital Signature Algoπthm according to the American Digital Signature Standard) In systems with a large number of users, it is advisable to use a central for the authentication of the public keys. Every user has to register with this center in order to provide his user ID and public key. The control center maintains a list which contains the user IDs of the existing users and the corresponding keys. Each entry in the list is preferably signed by the center.

Wenn nun ein Benutzer eine Signatur eines Datensatzes überprüfen will, dann nimmt er den in der zentralen Liste aufgeführten, zur Benutzerkennung des fraglichen Datensatzes gehörenden öffentlichen Schlüssel und überprüft die elektronische Datensatzsi- gnatur. Dass der öffentliche Schlüssel und die Benutzerkennung tatsächlich zum entsprechenden Benutzer (d.h. zu seiner Person) gehören, kann anhand der elektronischen Signatur der Zentrale festgestellt werden.If a user now wants to check a signature of a data record, he takes the public key listed in the central list and belongs to the user ID of the data record in question and checks the electronic record signature. The electronic signature of the head office can be used to determine that the public key and the user ID actually belong to the corresponding user (i.e. his person).

Sofern der ganze Datensatz nicht zusätzlich durch eine Chiffrierung gegen unbefugtes Lesen geschützt wird, sind die Daten und die Benutzerkennung im Klartext abgespei- chert. Es ist daher stets möglich, bei der Zentrale den zur Benutzerkennung gehörenden Schlüssel zu holen, welcher dann die Verifikation der Signatur erlaubt.Unless the entire data record is additionally protected against unauthorized reading by encryption, the data and user ID are saved in plain text. It is therefore always possible to get the key belonging to the user ID from the control center, which then allows the signature to be verified.

In der Regel sind Prüffunktionen vorgesehen, die die eingegebenen Daten hinsichtlich ihrer logischen Konsistenz überprüfen. D.h. die in einem bestimmten Feld eines Datensatzes abzuspeichernden Daten müssen vom richtigen Datentyp sein. Diese Prüf- funktionen können mehr oder weniger ausgebaut sein. Im Zusammenhang mit der Erfindung ist es wichtig, dass eine Eingabe bzw. Änderung von sensiblen Daten nur dann akzeptiert wird, wenn die elektronische Signatur vorliegt. (Eine Überprüfung der Benutzersignatur seitens des Systems muss nicht zwingend bei der Eingabe stattfinden.)As a rule, check functions are provided that check the data entered for its logical consistency. That The data to be stored in a certain field of a data record must be of the correct data type. These test functions can be more or less expanded. In connection with the invention it is important that an input or change of sensitive data is only accepted if the electronic signature is present. (The system does not necessarily have to check the user signature when entering the data.)

Wenn die Datenbank eine besondere Sicherheit bieten muss, ist es von Vorteil, wenn generell bzw. bei einer Änderung der Daten keine Löschung, sondern nur eine Löschmarkierung vorgenommen wird. Diese wird gemäss der Erfindung ebenfalls mit einer elektronischen Signatur gekennzeichnet. Damit wird es möglich, die Historie eines Datensatzes zurückzuverfolgen und die Verantwortlichkeit festzustellen.If the database has to offer special security, it is an advantage if no deletion is carried out in general or if the data is changed, but only a deletion mark. This is also according to the invention with a marked electronic signature. This makes it possible to trace the history of a data record and determine responsibility.

Vorzugsweise wird eine gesicherte Zeitbasis zur Verfügung gestellt, welche zur Datierung einer Eingabe bzw. Änderung herangezogen werden kann. Gesichert heisst, dass es nicht möglich sein darf, eine falsche Zeit (Datum/Uhrzeit) einzugeben. Dies ist insbesondere dann wichtig, wenn sensible Daten von örtlich weit auseinander liegenden Arbeitsstationen bearbeitet werden müssen. Es versteht sich, dass der Zeitstempel ebenfalls in die elektronische Signatur einfliessen sollte. Der Zeitstempel sollte natürlich nicht manipulierbar sein. Sofern nicht an allen Arbeitsstationen ein solcher Zeitstempel zur Verfügung steht, kann der Server unter Umständen selbst (zusätzlich) einen Zeitstempel anbringen, so dass z.B. zumindest Rückdatierungen von Änderungen durch die Anwender nicht möglich sind.A secure time base is preferably provided, which can be used to date an entry or change. Secure means that it must not be possible to enter an incorrect time (date / time). This is particularly important when sensitive data has to be processed from workstations that are far apart. It goes without saying that the time stamp should also be included in the electronic signature. Of course, the timestamp should not be manipulable. If such a time stamp is not available at all workstations, the server can possibly (additionally) attach a time stamp itself, so that e.g. at least users cannot backdate changes.

Die Erfindung kann natürlich nicht nur zur Sicherung einzelner Datensätze verwendet werden. In derselben Weise können namentlich auch Einträge im Dictionary (Authorisierungsdateien, Sicherheitsaxiome, Integritätsbedingungen o. dgl.), ganze Benutzerprofile und auch Protokolldateien (log files) geschützt werden.The invention can of course not only be used to back up individual data records. In the same way, entries in the dictionary (authorization files, security axioms, integrity conditions or the like), entire user profiles and log files can also be protected.

Der Schlüssel zur Generierung der elektronischen Signatur wird vorzugsweise weder im Rechnersystem, welches die Datenbank verwaltet, noch in einer dezentralen Arbeitsstation, sondern in einer persönlichen Chipkarte gespeichert. Diese sollte einen hohen Sicherheitsstandard erfüllen (als Beispiel sei die Sicherheit der an sich bekannten CP8-Karte erwähnt). Der geheime Schlüssel soll beim Erzeugen der elektronischen Signatur nicht aus der Karte gegeben werden müssen. Für die Bedienung des Datenbanksystems muss also am Arbeitsplatz ein Chipkartenleser vorgesehen sein. Immer wenn eine elektronische Signatur erzeugt werden muss, werden die entspre- chenden Klardaten vom Chipkartenleser an die Chipkarte übergeben, welche dann ihrerseits die Signatur erstellt und ausgibt. Das erfindungsgemässe Verfahren lässt sich im Prinzip mit an sich bekannter Hardware umsetzen. Um die bevorzugte Ausführungsform mit den Chipkarten implementieren zu können, sind bei den Arbeitsstationen Chipkartenleser vorzusehen.The key to generating the electronic signature is preferably stored neither in the computer system that manages the database, nor in a decentralized workstation, but in a personal chip card. This should meet a high security standard (the security of the known CP8 card should be mentioned as an example). The secret key should not have to be given from the card when generating the electronic signature. To operate the database system, a chip card reader must be provided at the workplace. Whenever an electronic signature has to be generated, the corresponding clear data is transferred from the chip card reader to the chip card, which in turn creates and issues the signature. In principle, the method according to the invention can be implemented with hardware known per se. In order to be able to implement the preferred embodiment with the chip cards, chip card readers must be provided at the work stations.

Aus Sicherheitsgründen ist es in jedem Fall vorteilhaft, wenn die Signatur physisch möglichst nahe beim Eingabegerät berechnet und zum Datensatz hinzugefügt wird.For security reasons, it is always advantageous if the signature is physically calculated as close as possible to the input device and added to the data record.

Grundsätzlich ist es nicht erforderlich, neue Datenbanksysteme zu entwickeln. Es können ohne weiteres datenbankexterne kryptografische Funktionen eingesetzt werden. Der Datenaustausch erfolgt beispielsweise über sogenannte "Data pipes". Die Verschlüsselungsprozeduren sind eigene Programm-Module, die vom Datenbankpro- gramm gethggert werden. Für den Systemprogrammierer ist es natürlich angenehmer, wenn das Datenbankprogramm selbst die fertigen Funktionen zur Durchführung der elektronischen Signatur und zur Überprüfung bereitstellt.In principle, it is not necessary to develop new database systems. External cryptographic functions can be used without further ado. The data exchange takes place, for example, via so-called "data pipes". The encryption procedures are separate program modules that are hacked by the database program. It is of course more convenient for the system programmer if the database program itself provides the finished functions for carrying out the electronic signature and for checking.

Aus der nachfolgenden Detailbeschreibung und der Gesamtheit der Patentansprüche ergeben sich weitere vorteilhafte Ausführungsformen und Merkmalskombinationen der Erfindung.From the following detailed description and the entirety of the claims, further advantageous embodiments and combinations of features of the invention result.

Kurze Beschreibung der ZeichnungenBrief description of the drawings

Die zur Erläuterung des Ausführungsbeispiels verwendeten Zeichnungen zeigen:The drawings used to explain the exemplary embodiment show:

Fig. 1 eine schematische Darstellung des Prinzips zur Sicherung der Daten;Figure 1 is a schematic representation of the principle for backing up the data.

Fig. 2 eine schematische Darstellung eines Computersystems zur Durchfüh- rung des Verfahrens.2 shows a schematic representation of a computer system for carrying out the method.

Grundsätzlich sind in den Figuren gleiche Teile mit gleichen Bezugszeichen versehen.In principle, the same parts are provided with the same reference symbols in the figures.

Wege zur Ausführung der Erfindung Es lassen sich die folgenden Objekte in ihrer Integrität mit digitalen Signaturen gegen unbemerkte Modifikation schützen:Ways of Carrying Out the Invention The integrity of the following objects can be protected against unnoticed modification with digital signatures:

Einträge der Applikation und/oder Benutzer in der Datenbank Einträge im Dictionary der Datenbank BenützerprofileEntries of the application and / or users in the database Entries in the dictionary of the database User profiles

ProtokolldateienLog files

Die Datensätze in der Datenbank werden zusätzlich mit einer Integritätsbedingung (check constraint) gegen nicht nachweisbare Manipulation gesichert indem eine digitale Signatur (eine Art Prüfsumme) der eingetragenen Daten erzeugt wird. Dadurch wird natürlich redundante Information eingefügt. Aber auf der anderen Seite werden die Echtheit und der Ursprung der Daten gegen nicht feststellbare Manipulationen geschützt.The data records in the database are additionally secured with an integrity condition (check constraint) against undetectable manipulation by generating a digital signature (a kind of checksum) of the entered data. This will of course insert redundant information. But on the other hand, the authenticity and origin of the data are protected against undetectable manipulation.

Es lassen sich nicht nur applikations- oder benützerbezogene Daten auf die obige Art gegen Manipulation sichern, sondern jede Art von Einträgen. Das heisst jeder existie- rende Datensatz in der Datenbank kann grundsätzlich mit einer Prüfsumme, einer digitalen Signatur, versehen werden. Beim Eintragen sorgt eine Prozedur mit einer vorgegebenen Integritätsbedingung (check constraint) dafür, dass überall in der Datenbank die obige Bedingung stimmt. Ist die Bedingung nicht erfüllt, wird der Eintrag zurückgewiesen. Dies bedeutet, dass auch Einträge für das Dictionary (Authorisierungsdaten, Sicherheitsaxiome, Integritätsregeln, usw.) eine digitale Signatur erhalten.It is not only possible to secure application or user-related data against manipulation in the above manner, but also any type of entries. This means that every existing data record in the database can in principle be provided with a checksum, a digital signature. When entering a procedure with a specified integrity condition (check constraint) ensures that the above condition is correct everywhere in the database. If the condition is not met, the entry is rejected. This means that entries for the dictionary (authorization data, security axioms, integrity rules, etc.) also receive a digital signature.

In der gleichen Art können die Datensätze für die Benützerprofile (z.B. Zugriffsrechte und Privilegien auf Betriebssystemebene) gesichert werden.The data records for the user profiles (e.g. access rights and privileges at operating system level) can be saved in the same way.

Die Einträge für Protokolldatei und das Logbuch werden neben der digitalen Signatur zusätzlich mit einer sequentiellen Nummer versehen, um ein Löschen eines Eintrages feststellen zu können Das Loschen und das Duplizieren können generell mit krypto- grafischen Verfahren alleine nicht verhindert werdenIn addition to the digital signature, the entries for the log file and the logbook are also provided with a sequential number in order to delete an entry Being able to determine Deletion and duplication cannot generally be prevented by cryptographic methods alone

Die weiter unten beschriebenen Ausfuhrungsbeispiele befassen sich der Einfachheit halber nur mit der Sicherung von Datensätzen, die der Benutzer eingibt bzw ändert Bei den übrigen Anwendungsmoglichkeiten kann die Erfindung sinngemass umgesetzt werdenFor the sake of simplicity, the exemplary embodiments described below deal only with the backup of data records which the user enters or changes. With the other possible applications, the invention can be implemented analogously

Die Integrität eines einzelnen Datensatzes im Datenbanksystem wird mit einem asymmetrischen kryptografischen Verfahren (z B RSA oder DSA) zuverlässig geschützt Jeder Datensatz hat nebst der eigentlichen Information (diese kann aus meh- reren Attributen - wie z B Name, Anschrift, Alter, Blutgruppe etc eines Patienten - bestehen), welche vom Einsatzzweck abhangig ist, drei zusätzliche AttributeThe integrity of a single data record in the database system is reliably protected with an asymmetric cryptographic procedure (eg RSA or DSA). Each data record has the actual information (this can be made up of several attributes - such as name, address, age, blood type, etc.) Patients - exist), which depends on the intended use, three additional attributes

• Zeitstempel (Datum und Zeit der Modifikation oder der Erstellung des Datensatzes)• Time stamp (date and time of modification or creation of the data record)

• Benutzerkennung (eindeutige Benutzeridentifikation im Datenbanksystem)• User ID (unique user identification in the database system)

• digitale Signatur (abhangig von der Information des Datensatzes, dem Zeitstempel, der Benutzerkennung und dem geheimen Schlüssel des Benutzers)• digital signature (depending on the information in the data record, the time stamp, the user ID and the user's secret key)

Die Information legt das WAS, der Zeitstempel das WANN und die Benutzerkennung das WER fest Die digitale Signatur schützt die Echtheit der vorher erwähnten Daten- teileThe information defines the WHAT, the time stamp the WHEN and the user ID the WHO. The digital signature protects the authenticity of the previously mentioned data parts

Fig 1 veranschaulicht den Aufbau eines erfindungsgemassen Datensatzes Die Nutzinformation ist mit M bezeichnet und hangt von der konkreten Anwendung ab Sie wird z B durch Name, Anschrift oder weitere Angaben einer Person gebildet Weiter ist gemäss einer vorteilhaften Ausfuhrungsform ein Zeitstempel TS (Datum, Uhrzeit) vorhanden Dieser wird immer dann aufgenommen, wenn die Nutzinformation M eingegeben bzw geändert wird Ein unerlassliches Attribut ist die Benutzerkennung Ui Es handelt sich dabei um einen Code oder eine Nummer, die die eindeutige Identifizierung des angegebenen Benutzers erlaubt Die drei genannten Elemente des Datensatzes werden mit Hilfe einer Hashfunktion HF in eine Bitsequenz H mit fixer Länge überführt (z.B.128 Bits). Diese wird mit einer Einwegfunktion Ekl in einen Code C (mit einer Länge von z.B. 512 oder 1024 Bits) umgerechnet, welcher als elektronische Signatur dient und zum Datensatz hinzugefügt wird. Die Einwegfunktion hat als Parameter den geheimen Schlüssel Ki (private key) des Benutzers.1 illustrates the structure of a data record according to the invention. The useful information is designated by M and depends on the specific application. It is formed, for example, by the name, address or further details of a person. According to an advantageous embodiment, a time stamp TS (date, time) is also available This is always recorded when the user information M is entered or changed. An indispensable attribute is the user identifier Ui. It is a code or a number which allows the specified user to be clearly identified The three named elements of the data set are converted into a bit sequence H with a fixed length (for example 128 bits) using a hash function HF. This is converted with a one-way function E kl into a code C (with a length of, for example, 512 or 1024 bits), which serves as an electronic signature and is added to the data record. The one-way function has the user's secret key Ki (private key) as a parameter.

In der Datenbank wird jede Eingabe oder Änderung in dieser Weise erfasst und gegen Manipulation geschützt.Every entry or change is recorded in the database in this way and protected against manipulation.

Fig. 2 zeigt ein grobes Blockschaltbild eines Dateπbanksystems. Die Daten werden von einen Server verwaltet, welcher in konventioneller Weise einen Rechner 2 und einen Speicher 3 aufweist.Fig. 2 shows a rough block diagram of a database system. The data are managed by a server, which has a computer 2 and a memory 3 in a conventional manner.

Die Eingabe bzw. Änderung der Daten findet an einen Terminal 4 (Arbeitsstation) statt. Dieses verfügt u.a. über ein an sich bekanntes Eingabegerät 5 (Tastatur, Barcodeleser, Bildschirm etc.), eine Uhr 6 und einen Kartenleser 7. Eine Leitung 9 verbindet das Terminal 4 mit dem Server 1.The data is entered or changed at a terminal 4 (workstation). This includes Via a known input device 5 (keyboard, barcode reader, screen, etc.), a clock 6 and a card reader 7. A line 9 connects the terminal 4 to the server 1.

Am Eingabegerät 5 werden die Daten M eingegeben. Beim Betätigen der Eingabetaste werden die Daten M zusammen mit einem von der Uhr 6 erzeugten Zeitstempel via Kartenleser 7 an die Chipkarte 8 übergeben. Diese erstellt die weiter oben beschriebene Signatur. Danach kann der aus den Daten M, dem Zeitstempel TS, der Benut- zerkennung (welche vorzugsweise in der Chipkarte 8 abgespeichert ist und von dieser ausgegeben wird) und der elektronischen Signatur bestehende Datensatz via Leitung 9 an den Server 1 übertragen werden.The data M are entered on the input device 5. When the enter key is pressed, the data M are transferred to the chip card 8 together with a time stamp generated by the clock 6 via card reader 7. This creates the signature described above. The data record consisting of the data M, the time stamp TS, the user identification (which is preferably stored in the chip card 8 and is issued by the latter) and the electronic signature can then be transmitted to the server 1 via line 9.

Im folgenden werden die in den Figuren angedeuteten Funktionen und Elemente im Detail erläutert.The functions and elements indicated in the figures are explained in detail below.

Damit die digitale Signatur nicht zu umfangreich wird und der Berechnungsaufwand ebenfalls im Rahmen bleibt, wird die effektive Information M des Datensatzes zusam- men mit dem Zeitstempel TS und der Benutzerkennung Ui zuerst mittels einer geeigneten Hashfunktion (Einwegfunktion, message digest) komprimiert, also eine Art Fingerabdruck H(M|TS|Ui) erzeugt. Der Fingerabdruck wird danach mittels eines asymmetrischen kryptografischen Algorithmus und einem geheimen Schlüssel Ki verschlüs- seit. Das erhaltene Ergebnis wird als digitale SignaturSo that the digital signature does not become too extensive and the calculation effort also remains within the scope, the effective information M of the data record is collected. men with the time stamp TS and the user identifier Ui first compressed using a suitable hash function (one-way function, message digest), that is to say generates a type of fingerprint H (M | TS | Ui). The fingerprint is then encrypted using an asymmetric cryptographic algorithm and a secret key Ki. The result obtained is a digital signature

C = E ( H (M | TS | U. ) )C = E (H (M | TS | U.))

abgelegt.filed.

Das Datenbanksystem akzeptiert einen Datensatz nur im Fall, dass die obige Integritätsbedingung stimmt, d.h. die Signatur aus den anderen Elementen hergeleitet werden kann.The database system only accepts a data record if the above constraint is correct, i.e. the signature can be derived from the other elements.

Der einfachste Fall der kryptografischen Integritätssicherung von Einträgen durch eine digitale Signatur umfasst nur die eigentliche Information ohne ein sicheres Datum. Auch im Fall, dass der Informationsteil eine Zeitangabe aufweist, kann diesem nicht vertraut werden, sofern nicht in irgendeiner Weise sichergestellt ist, dass nicht eine falsche Zeit eingesetzt werden kann.The simplest case of cryptographically securing entries with a digital signature only includes the actual information without a secure date. Even in the event that the information part has a time indication, it cannot be trusted unless it is ensured in any way that the wrong time cannot be used.

Die Benutzerkennung ist notwendig, damit mit dem öffentlichen Schlüssel die Signatur überprüft werden kann. Die Nachteile einer fehlenden Zeitangabe liegt natürlich darin, dass nicht ohne weiteres auf den Zeitpunkt der Transaktion geschlossen werden kann.The user ID is necessary so that the signature can be checked with the public key. The disadvantage of missing a time is, of course, that the time of the transaction cannot be easily deduced.

Der obige Datensatz wird nach den folgenden Schritten in die Datenbank eingetragen:The above data record is entered into the database after the following steps:

1. Der Benutzer trägt die Daten in die einzelnen Attribute des Datensatzes ein und schliesst die Transaktion ab (commit).1. The user enters the data in the individual attributes of the data record and closes the transaction (commit).

2. Beim Transaktionsabschluss durch den Benutzer wird vorerst ein Fingerabdruck der eingetragenen Daten und der Benutzerkennung erzeugt (Hashfunktion). 3. Das Datenbanksystem trägt die Benutzerkennung des zu Beginn der Sitzung authentifizierten Benutzers in den Datensatz ein.2. When the transaction is completed by the user, a fingerprint of the entered data and the user ID is initially generated (hash function). 3. The database system enters the user ID of the user authenticated at the beginning of the session in the data record.

4. Der Fingerabdruck der Daten und der Benutzerkennung werden in einer Signiereinheit verschlüsselt.4. The fingerprint of the data and the user ID are encrypted in a signature unit.

5. Die erzeugte Signatur wird im Datensatz eingetragen und die Transaktion abgeschlossen.5. The generated signature is entered in the data record and the transaction is completed.

Es muss ein sicherer Pfad für die Dateneingabe des Benutzers vorhanden sein. Der Benutzer muss die Gewähr haben, dass die an der Tastatur eingegebenen Daten auch tatsächlich - ohne Modifikation - in der Datenbank abgelegt werden.There must be a secure path for the user's data entry. The user must have the guarantee that the data entered on the keyboard will actually be stored in the database without modification.

Ein Angreifer könnte sonst eine Maskerade durchführen, indem er ein Programm installiert das den Dialog mit dem Benutzer nur vortäuscht, im Hintergrund aber andere Daten ablegt und diese durch den Benutzer signieren lässt. Alles ohne, dass der Benutzer davon etwas bemerken würde.An attacker could otherwise masquerade by installing a program that only pretends to interact with the user, but stores other data in the background and has it signed by the user. All without the user noticing.

Es ist von Vorteil, wenn die elektronische Signatur (physisch gesehen) so nahe wie möglich an der Eingabe berechnet wird.It is advantageous if the electronic signature (physically speaking) is calculated as close as possible to the input.

Die Signiereinheit beinhaltet den geheimen Schlüssel Ki. Dieser muss geheim gehalten werden, ansonsten ein anderer Benutzer - ohne Möglichkeit der Feststellung - signieren kann. Ebenfalls vorausgesetzt wird ein sicheres Integritätsprüfsystem und eine entsprechende Integritätsbedingung, damit ein unzulässiger Eintrag durch das DBMS (Data Base Management System) zuverlässig zurückgewiesen wird. Ein ungültiger Eintrag kann zum Beispiel entstehen, wenn ein Angreifer den Fingerabdruck oder die Benutzerkennung verändert. Es ist deshalb auch nicht notwendig sichere Pfade und Funktionen für dieselben zu fordern.The signature unit contains the secret key Ki. This must be kept secret, otherwise another user can sign - without being able to determine it. A secure integrity check system and a corresponding integrity condition are also required so that an illegal entry by the DBMS (Data Base Management System) is reliably rejected. An invalid entry can arise, for example, if an attacker changes the fingerprint or the user ID. It is therefore not necessary to request secure paths and functions for the same.

Als Variante zum oben beschriebenen Verfahren kann die Benutzerkennung und die digitale Signatur in einer (physisch getrennten) Funktionseinheit erzeugt werden. Zu jeder Benutzerkennung Ui gehört genau ein geheimer Schlüssel Ki. Deshalb ist es auch sinnvoll die beiden Grossen in einer Einheit (z.B. Smart-Card) - geschützt vor Manipulation - zusammenzufassen.As a variant of the method described above, the user ID and the digital signature can be generated in a (physically separate) functional unit. To each user ID Ui has exactly one secret key Ki. Therefore, it makes sense to combine the two sizes in one unit (e.g. smart card) - protected against manipulation.

Der Datensatz wird nach den folgenden Schritten in die Datenbank eingetragen:The data record is entered in the database after the following steps:

1. Der Benutzer trägt die Daten in die einzelnen Attribute des Datensatzes ein und schliesst die Transaktion ab (commit).1. The user enters the data in the individual attributes of the data record and closes the transaction (commit).

2. Beim Transaktionsabschiuss durch den Benutzer wird vorerst ein Fingerabdruck der eingetragenen Daten und der Benutzerkennung erzeugt (Hashfunktion).2. When the transaction is completed by the user, a fingerprint of the entered data and the user ID is initially generated (hash function).

3. Der Fingerabdruck wird in einer Signiereinheit verschlüsselt.3. The fingerprint is encrypted in a signature unit.

4. Die erzeugte Signatur wird im Datensatz zusammen mit der in der Signiereinheit enthaltenen Benutzerkennung eingetragen und die Transaktion abgeschlossen.4. The generated signature is entered in the data record together with the user ID contained in the signature unit and the transaction is completed.

Es muss ebenfalls (wie bei der ersten Variante) ein sicherer Pfad für die Dateneingabe des Benutzers vorhanden sein. Die Signiereinheit beinhaltet wiederum den geheimen Schlüssel Ki und die Kennung Ui des Benutzers.As with the first variant, there must also be a secure path for user data entry. The signature unit in turn contains the secret key Ki and the identifier Ui of the user.

Der Mangel an Beweisbarkeit, zu welchem Zeitpunkt eine bestimmte Transaktion stattgefunden hat, kann mit Einführung eines Zeitstempels TS (Datum und Zeit) behoben werden. Ein solcher Zeitstempel wird durch einen sicheren und genauen Zeitservice erstellt. Der Server kann z.B. signierte Zeitcodes zur Verfügung stellen. Alternativ kann eine Funkuhr vorgesehen sein, welche die Zeit (ebenfalls mit einem Fälschungs- sicheren Code) aufnimmt.The lack of verifiability at which point in time a certain transaction took place can be remedied by introducing a time stamp TS (date and time). Such a time stamp is created by a secure and accurate time service. The server can e.g. provide signed time codes. Alternatively, a radio clock can be provided, which records the time (also with a forgery-proof code).

Ein Datensatz wird demzufolge in der nachfolgend aufgelisteten Art eingetragen:A data record is therefore entered in the manner listed below:

1. Der Benutzer trägt die Daten in die einzelnen Attribute des Datensatzes ein und schliesst die Transaktion ab (commit). 2. Beim Transaktionsabschluss durch den Benutzer wird vorerst ein Fingerabdruck der eingetragenen Daten, vom Zeitstempel und der Benutzerkennung erzeugt.1. The user enters the data in the individual attributes of the data record and closes the transaction (commit). 2. When the transaction is completed by the user, a fingerprint of the data entered, the time stamp and the user ID is initially generated.

3. Die aktuelle Zeit und das Datum werden im Datensatz ergänzt.3. The current time and date are added to the data record.

4. Der Fingerabdruck wird in einer Signiereinheit (z.B. Smart-Card) verschlüsselt.4. The fingerprint is encrypted in a signature unit (e.g. smart card).

5. Die erzeugte Signatur wird im Datensatz eingetragen und die Transaktion abgeschlossen.5. The generated signature is entered in the data record and the transaction is completed.

Das DBMS muss bei der erwähnten Ausführungsform einen sicheren Pfad für die Be- nützereinträge zur Verfügung stellen. Der Zeitservice muss eine genügend genaue und verlässliche Zeitangabe liefern und resistent gegenüber Manipulationen sein. Die Si- gniereinheit enthält wiederum den geheimen Schlüssel Ki und die Keπnung Ui des Benutzers.In the embodiment mentioned, the DBMS must provide a secure path for the user entries. The time service must provide a sufficiently precise and reliable time specification and be resistant to manipulation. The signing unit in turn contains the secret key Ki and the user identification Ui.

Angenommen die Protokolldatei besteht aus sequentiellen Einträgen (records) so muss verhindert werden, dass unbemerkt Einträge hinzugefügt oder entfernt werden können. Dies kann zum Beispiel erreicht werden, indem jeder Eintrag eine fortlaufende Nummer erhält. Zwei gleiche Nummern in der Datei sind unzulässig. Ob der letzte Eintrag tatsächlich der letzte ist, kann erst zuverlässig festgestellt werden, wenn der nächste Eintrag entsteht: Ist die Nummer ein Nachfolger des vorherigen Eintrages, so war es tatsächlich der momentan letzte Eintrag.Assuming the log file consists of sequential entries (records), it must be prevented that entries can be added or removed without being noticed. This can be achieved, for example, by giving each entry a consecutive number. Two identical numbers in the file are not permitted. Whether the last entry is actually the last can only be reliably determined when the next entry is created: If the number is a successor to the previous entry, it was actually the last entry at the moment.

Ein Protokolldatensatz wird wie folgt erzeugt:A log record is created as follows:

1. Das DBMS oder das Betriebssystem meldet ein zu protokollierendes Ereignis an den Protokollmonitor.1. The DBMS or the operating system reports an event to be logged to the log monitor.

2. Die Ereignisbehandlung erzeugt die nächste Datensatznummer und die zugehörige Information (Meldung). 3. Die aktuelle Zeit und das Datum werden im Datensatz ergänzt.2. Event handling generates the next data record number and the associated information (message). 3. The current time and date are added to the data record.

4. Aus der Nummer, der Information, dem Zeitstempel und derBenutzerkennung wird ein Fingerabdruck erstellt.4. A fingerprint is created from the number, the information, the time stamp and the user identification.

5. Der Fingerabdruck wird in der Signiereinheit verschlüsselt.5. The fingerprint is encrypted in the signature unit.

6. Die erzeugte Signatur und die Protokollmonitorkenπung werden im Datensatz eingetragen, welcher dann auf die Disk gespeichert wird.6. The generated signature and the protocol monitor entry are entered in the data record, which is then saved on the disk.

Weil keine sichere Integritätsprüflogik falsche Einträge verhindert, muss der gesamte Protokollmonitor sicher sein, damit Manipulationen ausgeschlossen werden können. Die Ereignisse müssen durch einen sicheren Pfad dem Protokollmonitor zugeleitet werden können. Die Signiereinheit enthält den geheimen Schlüssel κp und die Kennung Updes Protokollmonitors.Because no secure integrity check logic prevents incorrect entries, the entire log monitor must be secure so that tampering can be excluded. The events must be able to be sent to the log monitor via a secure path. The signature unit contains the secret key κ p and the identifier U p of the protocol monitor.

Die Monitorkennung uP in den Protokolleinträgen ist nicht unbedingt notwendig, wenn nur ein globaler Monitor vorhanden ist.The monitor identifier u P in the log entries is not absolutely necessary if only a global monitor is available.

Die Prüfung der Integrität eines Datensatzes durch das System (beim Abspeichern) oder durch einen Benutzer erfolgt in umgekehrter Weise.The integrity of a data record is checked in reverse by the system (when saving) or by a user.

Die digitale Signatur EKI(H(M) |τs|u wird mit dem öffentlichen Schlüssel K,' des Benutzers uL dechiffriertThe digital signature E KI (H (M) | τs | u is decrypted with the public key K, 'of the user u L

H(M|TS|U,) <- D-, (EU(H(M|TS|U,) ) )H (M | TS | U,) <- D-, (E U (H (M | TS | U,)))

und es wird der Fingerabdruck H(M|TS|U der ursprünglichen Komponenten TS,

Figure imgf000018_0001
und erhalten. Diesen vergleicht man mit dem errechneten Fingerabdruck H(M|TS|U des Eintrages. Bei völliger Übereinstimmung kann man sicher sein, dass der Eintrag authentisch ist, d.h. vom Benutzer u\ zur angegebenen Zeit TS mit dem vorhandenen Informationsinhalt M abgespeichert wurde. Wenn die beiden Fingerabdrücke nicht übereinstimmen ist der Datensatz nicht gültig und nicht weiter verwendbar, da eine unerlaubte Manipulation zugrunde liegt.and the fingerprint H (M | TS | U of the original components TS,
Figure imgf000018_0001
and received. This is compared with the calculated fingerprint H (M | TS | U of the entry. If there is a complete match, one can be sure that the entry is authentic, ie that the user has saved the existing information content M at the specified time TS. If the two fingerprints do not match, the data record is not valid and can no longer be used because it is based on unauthorized manipulation.

In den oben beschriebenen Verfahren werden ein sicheres Integritätsprüfsystem und eine entsprechende Integritätsbedingung vorausgesetzt, damit ein "ungültiger" Eintrag durch das DBMS zuverlässig zurückgewiesen wird. Für die Überprüfung einer digitalen Signatur ist der entsprechende öffentliche Schlüssel des im Datensatz festgehaltenen Benutzers notwendig. Der öffentliche Schlüssel muss in Form eines Zertifikates verfügbar sein. Solche Zertifikate werden von einer unabhängigen vertraubaren Instanz (Authentifikationszentrale) ausgegeben. Sie beweisen, dass die Benutzerkennung und der öffentliche Schlüssel zusammengehören. Die Echtheit eines Zertifikates kann ebenfalls mit Hilfe des öffentlichen Schlüssels der ausgebenden Instanz überprüft werden.In the methods described above, a secure integrity checking system and a corresponding integrity condition are required so that an "invalid" entry is reliably rejected by the DBMS. The corresponding public key of the user recorded in the data record is necessary for checking a digital signature. The public key must be available in the form of a certificate. Such certificates are issued by an independent, trustworthy entity (authentication center). They prove that the user ID and the public key belong together. The authenticity of a certificate can also be checked using the issuing authority's public key.

Ein neu eingetragener oder abgeänderter Datensatz wird wie folgt auf eine korrekte Signatur überprüft:A newly entered or modified data record is checked for a correct signature as follows:

1. Durch einen INSERT- oder UPDATE-Befehl wird die Integritätsbedingung an- gestossen.1. The integrity condition is triggered by an INSERT or UPDATE command.

2. Beim Transaktionsabschluss wird die Benutzerkennung aus dem Datensatz ermittelt.2. When the transaction is completed, the user ID is determined from the data record.

3. Danach wird ein Fingerabdruck der eingetragenen Daten und der Benutzerkennung erzeugt.3. Then a fingerprint of the entered data and the user ID is generated.

4. Das Benützerzertifikat mit dem öffentlichen Schlüssel wird angefordert.4. The user certificate with the public key is requested.

5. Die digitale Signatur wird mittels des öffentlichen Schlüssels dechiffriert.5. The digital signature is decrypted using the public key.

6. Der aus der digitalen Signatur erhaltene Fingerabdruck und die Benutzerkennung werden mit dem in Schritt 2 errechneten Fingerabdruck und der im Datensatz eingetragenen Benutzerkennung verglichen. 7. Bei Übereinstimmung der Komponenten wird die Transaktion akzeptiert, in allen anderen Fällen zurückgewiesen.6. The fingerprint obtained from the digital signature and the user ID are compared with the fingerprint calculated in step 2 and the user ID entered in the data record. 7. If the components match, the transaction is accepted, in all other cases rejected.

Das DBMS muss einen sicheren Mechanismus für die Integritätsüberprüfung anbieten. Andernfalls können Einträge ohne korrekte Signatur erfolgen.The DBMS must offer a secure mechanism for integrity checking. Otherwise entries can be made without a correct signature.

Der Benutzer muss die Möglichkeit haben, einen Datensatz auf seine Echtheit zu überprüfen. Trotz der bereits beschriebenen Integritätsbedingung können nachträgliche Manipulationen nicht ausgeschlossen werden. Es soll deshalb möglich sein, einen Datensatz gerade bei seiner Verwendung zu überprüfen.The user must be able to check the authenticity of a data record. Despite the integrity condition already described, subsequent manipulations cannot be excluded. It should therefore be possible to check a data record when it is being used.

Ein vorhandener Datensatz wird wie folgt auf eine korrekte Signatur überprüft:An existing data record is checked for a correct signature as follows:

1. Zuerst wird die Benutzerkennung aus dem Datensatz ermittelt.1. First, the user ID is determined from the data record.

2. Danach wird ein Fingerabdruck der eingetragenen Daten und der Benutzerkennung erzeugt.2. Then a fingerprint of the entered data and the user ID is generated.

3. Das Benützerzertifikat mit dem öffentlichen Schlüssel wird angefordert.3. The user certificate with the public key is requested.

4. Die digitale Signatur wird mittels des öffentlichen Schlüssels dechiffriert.4. The digital signature is decrypted using the public key.

5. Der aus der digitalen Signatur erhaltene Fingerabdruck und die Benutzerkennung werden mit dem in Schritt 2 errechneten Fingerabdruck und der im Datensatz eingetragenen Benutzerkennung verglichen.5. The fingerprint obtained from the digital signature and the user ID are compared with the fingerprint calculated in step 2 and the user ID entered in the data record.

6. Bei Übereinstimmung der Komponenten ist der Datensatz authentisch, d.h. es hat keine unerlaubte Modifikation stattgefunden.6. If the components match, the data record is authentic, i.e. no unauthorized modification has taken place.

Mindestens eine Komponente des Datensatzes (Information oder Signatur) muss über einen sicheren Kanal zur Prüffunktion geleitet werden können. Ebenfalls das Ergebnis der Überprüfung muss über einen sicheren Kanal dem Benutzer mitgeteilt werden können. Die Prüfeinheit enthält den öffentlichen Schlüssel κa ' und die Kennung ua der Zertifizierungsinstanz.At least one component of the data record (information or signature) must be able to be routed to the test function via a secure channel. The result of the check must also be communicated to the user via a secure channel can. The test unit contains the public key κ a 'and the identifier u a of the certification body.

Den vorher erwähnten Verfahren liegen folgende Anforderungen zugrunde:The previously mentioned methods are based on the following requirements:

• Das Attribut für den Zeitstempel TS (sofern vorhanden) muss auf einer vertraubaren Zeitbasis und Programmlogik (trusted code) basieren.• The attribute for the time stamp TS (if available) must be based on a trusted time base and program logic (trusted code).

• Eine vertrauensvolle Instanz ist notwendig für die Zertifizierung von Benutzerkennung u, und öffentlichem Schlüssel K, ' , damit einer Maskerade durch einen anderen Benutzer u ' vorgebeugt resp. erkannt werden kann.• A trustworthy entity is necessary for the certification of user ID u and public key K, 'so that a masquerade by another user u' can be prevented or avoided. can be recognized.

• Verwendung einer geeigneten Einwegfunktion (Hashfunktion) zur Kompression der Informationen M des Datensatzes. Die Wahrscheinlichkeit, dass mit anderen• Use of a suitable one-way function (hash function) for compressing the information M of the data record. The likelihood that with others

Informationen M 1 der gleiche FingerabdruckInformation M 1 the same fingerprint

H ( M ' ) = H ( M )H (M ') = H (M)

errechnet wird, soll vernachlässigbar klein sein.is calculated, should be negligibly small.

• Die mit dem asymmetrischen kryptografischen Algorithmus (RSA oder DSA) er- haltene digitale Signatur ist nicht ohne Wissen des geheimen Schlüssels K, berechenbar.• The digital signature obtained with the asymmetric cryptographic algorithm (RSA or DSA) cannot be calculated without knowledge of the secret key K,.

• Der geheime Schlüssel κ1 ist nur einem Benutzer (oder einer Benützergruppe) bekannt, damit kein Abstreiten (repudiation) des berechtigten Benutzers erfolgen kann. Er kann sonst behaupten ein anderer hätte unterzeichnet.• The secret key κ 1 is only known to one user (or a user group) so that the authorized user cannot be denied (repudiation). Otherwise he can claim someone else had signed.

Die vorgeschlagenen Verfahren schützen nicht vor unabsichtlichem oder willentlichem Löschen eines Datensatzes. Um zu verhindern, dass auf diese Weise wichtige Informationen zum Verschwinden gebracht werden können, sollten überhaupt keine Löschaktionen mehr im Datenbanksystem gestattet werden. Der Löschbefehl wird also den Dateneintrag nur als gelöscht markieren, nicht aber vernichten. Dies würde ein weiteres Attribut ("Lösch-Feld") voraussetzen. Auch das Duplizieren eines vorhandenen oder einmal vorhandenen Datensatzes (replay attack) muss verhindert werden Wenn, wie oben vorgeschlagen, keine Datensatze geloscht werden können, sind identische Datensatze nicht mehr plausibel und können leicht erkannt oder gar durch das Datenbanksystem beim Eintragen verhindert werden (z B Signatur als Primärschlüssel)The proposed methods do not protect against unintentional or deliberate deletion of a data record. In order to prevent important information from disappearing in this way, delete operations should no longer be permitted in the database system. The delete command will only mark the data entry as deleted, but not destroy it. This would require another attribute ("delete field"). Duplication of an existing or existing data record (replay attack) must also be prevented If, as suggested above, no data records can be deleted, identical data records are no longer plausible and can be easily recognized or even prevented by the database system when they are entered (e.g. Signature as primary key)

Es ist zu betonen, dass die Sicherung der Integrität der Daten im Prinzip getrennt von der Sicherung der Vertraulichkeit zu behandeln ist Die Forderungen nach Integrität und Vertraulichkeit treten zwar in der Praxis häufig gemeinsam auf, sind aber nicht zwingend miteinander verbundenIt should be emphasized that ensuring the integrity of the data should in principle be treated separately from ensuring confidentiality. In practice, the demands for integrity and confidentiality often occur together, but are not necessarily linked to one another

Zur Frage der Vertraulichkeit ist folgendes zu bemerkenThe following should be noted regarding the question of confidentiality

Mit kryptografischen Verfahren lassen sich die folgenden Datenbankobjekte gegen den Verlust der Vertraulichkeit schützenThe following database objects can be protected against loss of confidentiality using cryptographic procedures

• Eintrage der Applikation und/oder Benutzer in der Datenbank• Entry of the application and / or user in the database

• Benutzerpassworter• User password

• Eintrage in das Logbuch des DBMS• Entries in the logbook of the DBMS

• Backup-Kopien der Datenbank und des Logbuches• Backup copies of the database and logbook

Die Chiffrierung der Daten lasst sich auf verschiedenen Stufen durchfuhren Eine Chiffrierung auf Disk-, I/O- oder Dateisystem-Ebene bewirkt nur einen Schutz gegen Diebstahl der Disk oder der Backup-Kopien Gerade beim Einsatz von C ent/Server- Applikationen in Netzwerkumgebungen bringt die Chiffrierung auf der untersten (physikalischen) Ebene keinen wirksamen SchutzThe encryption of the data can be carried out at different levels. Encryption on the disk, I / O or file system level only provides protection against theft of the disk or the backup copies, especially when using ent / server applications in network environments encryption at the lowest (physical) level does not provide effective protection

Der beste Schutz der Vertraulichkeit kann mit kryptografischen Verfahren erreicht werden, wenn die Daten bereits beim Benutzer chiffriert resp erst dort wieder dechiffriert werden Die Vertraulichkeit von Datensätzen lässt sich durch Chiffrierung der darin enthaltenen Information gewährleisten. Nur Benutzer im Besitze des geheimen Schlüssels K sind in der Lage die Informationen wieder im Klartext interpretierbar zu machen.The best protection of confidentiality can be achieved with cryptographic procedures if the data has already been encrypted by the user or only then deciphered again there The confidentiality of data records can be guaranteed by encrypting the information they contain. Only users who have the secret key K are able to interpret the information again in plain text.

Die autorisierten Benutzer bilden auf diese Weise eine geschlossene Benützergruppe, so dass andere Benutzer mit anderweitigen Privilegien (z.B. Systemmanager, DBA, Netzwerkbetreiber) die Informationen trotzdem nicht interpretieren können.In this way, the authorized users form a closed user group, so that other users with other privileges (e.g. system manager, DBA, network operator) can still not interpret the information.

Das zur Anwendung gelangende kryptografische Verfahren ist, im Gegensatz zur Authentifizierung, ein symmetrisches Verfahren (z.B. DES =Data Encryption Standard, IDEA = International Data Encryption Algorithm, vgl. WO 91/18459). Alle autorisierten Benutzer erhalten den gleichen geheimen Schlüssel K mit dem sie die Informationen M chiffrierenIn contrast to authentication, the cryptographic method used is a symmetrical method (e.g. DES = Data Encryption Standard, IDEA = International Data Encryption Algorithm, see WO 91/18459). All authorized users receive the same secret key K with which they encrypt the information M.

C = EK(M)C = E K (M)

und den Chiffretext c auch wieder mit der Umkehrfunktion Eκ-1 dechiffrierenand decipher the ciphertext c again with the inverse function E κ -1

M = EK-1(C) = EK-KEK( ) ) = MM = E K -1 (C) = EK-KEK ()) = M

können. Unter der Information M kann man alle Attribute eines Datensatzes (also auch mit Zeitstempel, Benutzerkennung und digitaler Signatur) oder nur einzelne Attribute, die besonders geschützt werden müssen, verstehen.can. Information M can be understood to mean all attributes of a data record (also including a time stamp, user ID and digital signature) or only individual attributes that need special protection.

Wenn alle N Attribute eines Datensatzes T., zusammen chiffriert werden,If all N attributes of a data record T., are encrypted together,

Figure imgf000023_0001
Figure imgf000023_0001

muss Zusatzinformation hinzugefügt werden, damit beim Dechiffrieren die Aufteilung zu den einzelnen Attributen A, wieder korrekt erfolgen kann. Es ist deshalb vorteilhaft, wenn jedes Attribut A1 einzeln chiffriert wird und wenn der erhaltene Chiffretext c (A =EK (A, ) separat in das jeweilige Datensatzattribut abgelegt wird.Additional information must be added so that the decryption can be broken down into the individual attributes A, again correctly. It is therefore advantageous if each attribute A 1 is encrypted individually and if the received cipher text c (A = E K (A,) is stored separately in the respective data record attribute.

C(T.) = (C(A1) ,C(A2) , ... ,C(AN) ):=(EK(A ,EK(A2) , E^A«) ). Dadurch bleibt die Datensatzstruktur erhalten und die Verwaltung (z.B. das Zufügen eines weiteren Attributes) wird wesentlich einfacher. Ein weiterer Vorteil bei diesem Lösungsansatz ist die optionale Chiffrierung von Attributen. Der Datensatz muss nicht als Ganzes, sondern die einzelnen Attribute können nach Bedarf chiffriert werden (z.B. nur die besonders sensiblen Daten). Im nachfolgenden Beispiel werden nur die beiden Attribute A und A2 chiffriert im Datensatz abgelegt.C (T.) = (C (A 1 ), C (A 2 ), ..., C (A N )) : = (E K (A, E K (A 2 ), E ^ A «)) . As a result, the data record structure is retained and administration (eg adding an additional attribute) is much easier. Another advantage of this approach is the optional encryption of attributes. The data record does not have to be a whole, but the individual attributes can be encrypted as required (e.g. only the particularly sensitive data). In the following example, only the two attributes A and A 2 are stored encrypted in the data record.

C ( T3 ) = ( C ( A1 ) , C (A2 ) , A3 , AN) : C (T 3 ) = (C (A 1 ), C (A 2 ), A 3 , A N ) :

Die restlichen Attribute A3 . . . AN werden im Klartext abgespeichert.The remaining attributes A 3 . , , A N are saved in plain text.

Die Verfahren zur Sicherung der Vertraulichkeit können also in vorteilhafter Weise mit der Integritätssicherung kombiniert werdenThe methods for ensuring confidentiality can therefore be combined with integrity assurance in an advantageous manner

Die Tabelleπinhalte einer Datenbank können mit einem einzigen Schlüssel K chiffriert werden. Jeder Benutzer, welcher im Besitze dieses Schlüssels ist, hat Einsicht in den Klartextraum. Alle anderen Benutzer können höchstens Einsicht in den Chiffretextraum erzielen.The table contents of a database can be encrypted with a single key K. Every user who has this key has access to the plain text space. All other users can at most gain insight into the ciphertext space.

Durch den Einsatz von verschiedenen Schlüsseln K-, kann differenziert werden, welche Subjekte (Benutzer) für welche Objekte (Tabellen, Attribute oder einzelne Datensätze) ein Einsichtsrecht in den Klartextraum erhalten. Das Prinzip hat grosse Ähnlichkeit mit der benutzerdefinierbaren Zugriffskontrolle DAC (discretionary access control). Der Ersteller eines Objektes chiffriert dieses mit einem temporär erzeugten Schlüssel K^. und vergibt danach die Eiπsichtsrechte in Form von Zertifikaten an jeden einzelnen oder Gruppen von Benutzern. Ein Zertifikat z beinhaltet im einfachsten Fall die Kennung des einsichtsberechtigten Benutzers sowie den chiffrierten temporären Schlüssel.By using different keys K-, it can be differentiated which subjects (users) for which objects (tables, attributes or individual data records) are given a right of access to the plain text space. The principle is very similar to the user-definable access control DAC (discretionary access control). The creator of an object encrypts it with a temporarily generated key K ^. and then assigns the inspection rights in the form of certificates to each individual or group of users. In the simplest case, a certificate z contains the identifier of the authorized user and the encrypted temporary key.

Z^ IU^ E^. ( Kj) ) Der Schlüssel K-, wird mit dem öffentlichen Schlüssel K, des Benutzers u, und einem asymmetrischen Algorithmus chiffriert. Nur der Benutzer u, hat den zugehörigen geheimen Schlüssel κL und ist somit in der Lage den Schlüssel κτ zu eruieren.Z ^ IU ^ E ^. (Kj)) The key K- is encrypted with the public key K, ■ of the user u, and an asymmetrical algorithm. Only the user u has the associated secret key κ L and is therefore able to determine the key κ τ .

Der Benutzer, welcher die Eiπsichtsrechte verteilt, wird sich selbst natürlich auch ein solches erteilen, damit er auch später Zugriff auf die entsprechenden Daten hat.The user who distributes the inspection rights will, of course, also grant himself such rights so that he can later also access the corresponding data.

Das beschriebene Verfahren hat den Vorteil, dass keine übergeordnete Instanz vorhanden sein muss, welche die geheimen Schlüssel it- für den Vertraulichkeitsschutz verwaltet. Jeder Benutzer stellt die Schlüssel nach eigenem Bedarf selbst aus, d.h. jeder kann Ausgabestelle für Einsichtszertifikate sein.The method described has the advantage that there is no need to have a higher-level entity that manages the secret keys it for confidentiality protection. Each user issues the keys themselves, i.e. anyone can be the issuing authority for inspection certificates.

Eine übergeordnete Instanz ist aber trotzdem für die Beglaubigung der Zusammengehörigkeit von Benutzerkennung u, und öffentlichem Schlüssel K, ' notwendig (asymmetrischer Krypto-Algorithmus). Eine solche Instanz wird aber schon im Zusammenhang mit der Integritätssicherung vorausgesetzt, so dass beim obigen Verfahren auf die gleiche Infrastruktur abgestützt werden kann.However, a higher-level entity is still required for the authentication of the association of user ID u and public key K, '(asymmetrical crypto-algorithm). However, such an instance is already assumed in connection with integrity assurance, so that the same infrastructure can be used in the above procedure.

Die oben erwähnten Zertifikate können nebst dem chiffrierten Zugriffsschlüssel K-. und der Benutzerkennung uA noch weitere Angaben über Gültigkeitsdauer, Kennung der Ausgabestelle und eine Signatur der Ausgabestelle enthalten.The above-mentioned certificates can include the encrypted access key K-. and the user ID u A contain further details about the period of validity, the identifier of the issuing office and a signature of the issuing office.

Die Signatur in den Zertifikaten hat den Vorteil, dass Fälschungen sofort erkannt werden können.The signature in the certificates has the advantage that counterfeits can be recognized immediately.

Die Verschlüsselung bzw. elektronische Signierung kann z.B. mit dem sogenannten PGP-Programm von Philip Zimmermann durchgeführt werden. Dieses Programm wurde in den USA entwickelt, ist auf verschiedenen Plattformen erhältlich und hat die folgenden Algorithmen zugrunde gelegt:Encryption or electronic signing can e.g. with the so-called PGP program by Philip Zimmermann. This program was developed in the USA, is available on various platforms and is based on the following algorithms:

• RSA (public key algorithm) 512, 768, 1024 oder 20481 Bit Schlüssel• RSA (public key algorithm) 512, 768, 1024 or 20481 bit key

• IDEA (block cipher algorithm) 128 Bit Schlüssel • MD5 (message digest) 128 Bit Fingerabdruck• IDEA (block cipher algorithm) 128 bit key • MD5 (message digest) 128 bit fingerprint

Das Programm bietet also fertige Prozeduren für den Vertraulichkeitsschutz und die Authentifikation.The program therefore offers ready-made procedures for confidentiality protection and authentication.

Beide Funktionen lassen sich kombiniert anwenden, damit Vertraulichkeit undAuthen- tifikation gleichzeitig gewährleistet sind, indem die Daten zuerst mit dem eigenen geheimen Schlüssel signiert und danach mit dem öffentlichen Schlüssel des Empfängers chiffriert werden. Beim Empfänger werden die Schritte umgekehrt angewendet, indem zuerst die chiffrierte Meldung mit dem geheimen Schlüssel dechiffriert und anschiies- send die Authentizität mit dem öffentlichen Schlüssel überprüft wird. Die Schritte wer- den durch PGP automatisch ausgeführt.Both functions can be used in combination, so that confidentiality and authentication are guaranteed at the same time, by first signing the data with your own secret key and then encrypting it with the recipient's public key. The steps are used in reverse for the recipient, by first decrypting the encrypted message with the secret key and then checking the authenticity with the public key. The steps are carried out automatically by PGP.

Für die Verschlüsselung von Daten wird der symmetrische IDEA-Algoritrimus verwendet, weil symmetrische Verfahren gegenüber den asymmetrischen um ein Vielfaches schneller sind. Das PGP erzeugt für die Verschlüsselung (für den Benutzer unsichtbar) einen temporären Schlüssel und chiffriert den Klartext damit. Der temporäre Schlüssel wird asymmetrisch mit dem öffentlichen Schlüssel des Empfängers chiffriert und zusammen mit dem Chiffretext zum Empfänger übertragen. Der Empfänger benützt seinen, geheimen Schlüssel, um den temporären Schlüssel ausfindig machen zu können. Mit dem temporären Schlüssel und dem schnellen symmetrischen Verfahren stellt er schliesslich den Klartext wieder her.The symmetrical IDEA algorithm is used for the encryption of data, because symmetrical methods are many times faster than the asymmetrical ones. The PGP generates a temporary key for encryption (invisible to the user) and uses it to encrypt the plain text. The temporary key is encrypted asymmetrically with the recipient's public key and transmitted to the recipient together with the ciphertext. The recipient uses his or her secret key to find the temporary key. With the temporary key and the fast symmetrical procedure, he finally restores the plain text.

Die öffentlichen Schlüssel werden zusammen mit der Benutzerkennung und einem Zeitstempel der Generierung in öffentlichen Schlüsselzertifikaten aufbewahrt. Hingegen werden die geheimen Schlüssel in geheimen Schlüsselzertifikaten hinterlegt. Jeder geheime Schlüssel ist zudem mit einem Passwort chiffriert, damit im Falle eines Diebstahls der Schlüssel nicht angewendet werden kann. Eine Schlüsseldatei, oder auch Schlüsselbund (key ring) genannt, kann mehrere Zertifikate umfassen. Öffentliche Schlüsselbunde beinhalten öffentliche Schlüsselzertifikate und geheime Schlüsselbunde beinhalten geheime Schlüsselzertifikate. Die Schlüssel werden im PGP durch eine sogenannte Schlusselkennung (key ID) refe- renziert Dies ist eine Abkürzung des öffentlichen Schlüssels, indem die letzten 64 bit davon für die Schlusselkennung verwendet werden Obwohl mehrere Schlüssel die gleiche Benutzerkennung aufweisen können, gibt es praktisch keine zwei Schlüssel mit der gleichen SchlusselkennungThe public keys are stored together with the user ID and a time stamp of the generation in public key certificates. In contrast, the secret keys are stored in secret key certificates. Each secret key is also encrypted with a password so that the key cannot be used in the event of theft. A key file, or key ring, can include several certificates. Public keyrings contain public key certificates and secret keyrings contain secret key certificates. The keys are referenced in the PGP by a so-called key ID. This is an abbreviation of the public key, in which the last 64 bits are used for the key ID. Although several keys can have the same user ID, there are practically no two keys with the same key identifier

Jeder Benutzer generiert sich selbst mit dem PGP-Programm ein SchlusselpaarEach user generates a key pair with the PGP program

( K , κ , ) 1 mιt pgp -kg(K, κ , ) 1 has pgp -kg

wobei der geheime Schlüssel κL mit einem Passwort oder einem ganzen Satz ge- schützt standardmassig in der Datei secrxng . pgp abgelegt ist Beim Generie- rungsprozess muss eine eindeutige Benutzerkennuπg u, angegeben werden Sie wird zusammen mit dem geheimen und dem öffentlichen Schlüssel abgelegt Der öffentliche Schlüssel K^ ist in der Datei pubring . pgp abgespeichert Beide Dateien müssen vor unerlaubten Manipulationen geschützt werdenwhereby the secret key κ L is protected with a password or an entire sentence by default in the secrxng file. pgp is stored During the generation process, a unique user ID must be specified. It is stored together with the secret and the public key. The public key K ^ is in the pubring file. pgp saved Both files must be protected against unauthorized manipulation

Das Schlusselpaar ist von grossen echten Zufallszahien abgeleitet, damit der Fall ausgeschlossen werden kann, dass zwei unabhängige Benutzer das exakt gleiche Schlusselpaar erzeugen Die Zufallszahlen werden hauptsächlich von den Zeitin- tervallen zwischen den Tastaturanschlagen beim Eingeben irgendeines Textes abgeleitet Der eingetippte Text beeinflusst das Ergebnis ebenfalls, so dass nicht immer die gleiche Taste gedruckt werden sollThe key pair is derived from large real random numbers, so that the case can be excluded that two independent users generate the exact same key pair. The random numbers are mainly derived from the time intervals between keystrokes when entering any text. The typed text also influences the result, so that the same key should not always be printed

Bei asymmetrischen Verfahren ist es wichtig die öffentlichen Schlüssel vor Veränderungen zu schützen, damit sichergestellt werden kann, dass der öffentliche Schlüssel wirklich zu dem angegebenen Benutzer gehört Dies ist der grosste Gefahrenpunkt für asymmetrische Algorithmen Ein feindlich gesinnter Benutzer kann sonst den öffentlichen Schlüssel von einem bestimmten Benutzer gegen den eigenen austauschen, um so in den Besitz von chiffrierten Meldungen zu kommen Das Problem kann nur gelöst werden, wenn die öffentlichen Schlüssel und die Be- πutzerkennung gegen Veränderungen geschützt werden. Kein Problem entsteht, wenn der öffentliche Schlüssel vom anderen Benutzer persönlich entgegengenommen und an einem Ort aufbewahrt wird, wo niemand anderes darauf zugreifen kann (z.B. in einer Chipkarte). Die Integrität kann aber auch so geschützt werden, dass ein anderer Benutzer, dem beide vertrauen, ein Zertifikat ausstellt. Das Zertifikat bescheinigt die Zusammengehörigkeit vom öffentlichen Schlüssel und der Benutzerkennung.With asymmetric methods, it is important to protect the public key from changes so that it can be ensured that the public key really belongs to the specified user. This is the greatest danger for asymmetrical algorithms. A hostile user can otherwise use the public key from a specific user exchange it with your own to get encrypted messages The problem can only be solved if the public keys and the user identification are protected against changes. No problem arises if the public key is personally accepted by the other user and kept in a place where no one else can access it (e.g. in a chip card). However, the integrity can also be protected in such a way that another user, whom both trust, issues a certificate. The certificate certifies that the public key and user ID belong together.

Die Integrität eines Zertifikates kann danach mit dem öffentlichen Schlüssel der Vertrauensperson überprüft werden. Dazu muss man natürlich den öffentlichen Schlüssel der Vertrauensperson besitzen und die Gewähr haben, dass der Schlüssel nicht manipuliert ist. Die Integrität könnte also wieder mit einer anderen Signatur gesichert werden.The integrity of a certificate can then be checked using the trustworthy public key. To do this, of course, you have to have the trustworthy public key and be assured that the key is not tampered with. The integrity could therefore be secured again with a different signature.

Ein öffentlicher Schlüssel darf nur zur Anwendung kommen, wenn er die Signatur einer Vertrauensperson trägt oder direkt vom Benutzer stammt, dem man vertraut.A public key may only be used if it bears the signature of a trusted person or comes directly from the user whom you trust.

Eine PGP-Signatur beinhaltet zwar auch einen Zeitstempel, auf diesen ist jedoch kein Verlass, da er von der Systemzeit abgeleitet wird und die Systemzeit natürlich manipulierbar ist. Ebenfalls in der PGP-Signatur enthalten ist eine Schlusselkennung (key ID) k^ Mit ihr kann das PGP-Programm beim Überprüfen einer PGP-Signatur selbständig den richtigen öffentlichen Schlüssel κ ' auswählen.A PGP signature also contains a time stamp, but you cannot rely on it because it is derived from the system time and the system time can of course be manipulated. Also included in the PGP signature is a key identification (key ID) k ^ With which the PGP program can independently select the correct public key κ 'when checking a PGP signature.

Der obige Datensatz wird nach den folgenden Schritten in die Datenbank eingetragen:The above data record is entered into the database after the following steps:

1. Der Benutzer trägt die Daten in die einzelnen Attribute des Datensatzes ein und schliesst die Transaktion ab.1. The user enters the data in the individual attributes of the data record and closes the transaction.

2. Beim Transaktionsabschluss durch den Benutzer erstellt das PGP-Programm in einem ersten Schritt aus den eingetragenen Daten und der Benutzerkennung einen Fingerabdruck (message digest) mit Hilfe des MD5-Algorithmus. 3. Der Benutzer gibt mittels eines Passworts (oder eines ganzen Satzes) den geheimen Schlüssel Ki frei.2. When the transaction is completed by the user, the PGP program first creates a fingerprint (message digest) from the entered data and the user ID using the MD5 algorithm. 3. The user releases the secret key Ki by means of a password (or an entire sentence).

4. Das PGP-Programm erzeugt mit dem RSA-Algorithmus, dem geheimen Schlüssel des Benutzers und dem Fingerabdruck die Signatur.4. The PGP program generates the signature using the RSA algorithm, the user's secret key and the fingerprint.

5. Das Datenbanksystem trägt die Benutzerkennung des zu Beginn der Sitzung authentifizierten Benutzers und die erstellte Signatur in den Datensatz ein und schliesst die Transaktion ab.5. The database system enters the user ID of the user authenticated at the start of the session and the signature created in the data record and closes the transaction.

Es muss ein sicherer Pfad für die Dateneingabe des Benutzers vorhanden sein. Der Benutzer soll die Gewähr haben, dass die an der Tastatur eingegebenen Daten auch tatsächlich - ohne Modifikation - in der Datenbank abgelegt werden. Ebenfalls muss verhindert werden, dass ein Benutzer einen Datensatz ohne gültige Kennung und/oder gültige Signatur eintragen oder abändern kann. Dies kann durch eine entsprechend sichere Integritätsbedingung oder durch eine sichere Programmlogik erreicht werden.There must be a secure path for the user's data entry. The user should have the guarantee that the data entered on the keyboard is actually stored in the database without modification. It must also be prevented that a user can enter or change a data record without a valid identifier and / or signature. This can be achieved through a correspondingly secure integrity condition or through secure program logic.

Der geheime Schlüssel κA ist chiffriert in einer Datei abgelegt. Der Schlüssel kann durch Eingabe des richtigen Passworts oder -satzes aktiviert werden. Trotzdem sollte die Datei nicht von anderen Benutzern zugänglich sein.The secret key κ A is stored encrypted in a file. The key can be activated by entering the correct password or phrase. However, the file should not be accessible to other users.

Für die Überprüfung einer digitalen Signatur ist der entsprechende öffentliche Schlüssel des im Datensatz festgehaltenen Benutzers notwendig. Der öffentliche Schlüssel muss in Form eines Zertifikates verfügbar sein. Im PGP-Umfeld können solche Zertifikate entweder unter den einzelnen Benutzern selbst erteilt werden (Netzstruktur) oder von einer unabhängigen vertraubaren Instanz ausgegeben werden (Baumstruktur). Die Zertifikate beweisen, dass die Benutzerkennung und der öffentliche Schlüssel zusammengehören.The corresponding public key of the user recorded in the data record is necessary for checking a digital signature. The public key must be available in the form of a certificate. In the PGP environment, such certificates can either be issued by the individual users themselves (network structure) or issued by an independent, trustworthy entity (tree structure). The certificates prove that the user ID and the public key belong together.

Ein vorhandener Datensatz wird wie folgt auf eine korrekte Signatur überprüft:An existing data record is checked for a correct signature as follows:

1. Die Information im Datensatz wird zusammen mit der Benutzerkennung aufbereitet und der Fingerabdruck mit dem MD5-Algorithmus berechnet. 2. Aus der PGP-Signatur wird die Schlusselkennung k, extrahiert.1. The information in the data record is prepared together with the user ID and the fingerprint is calculated using the MD5 algorithm. 2. The key identifier k, is extracted from the PGP signature.

3. Der zugehörige öffentliche Schlüssel wird aus dem entsprechenden Zertifikat zλ ermittelt.3. The associated public key is determined from the corresponding certificate z λ .

4. Die digitale Signatur wird mit dem öffentlichen Schlüssel dechiffriert und mit dem in Schritt 1 errechneten Fingerabdruck verglichen.4. The digital signature is decrypted with the public key and compared with the fingerprint calculated in step 1.

5. Bei Übereinstimmung der Komponenten ist der Datensatz authentisch, d.h. es hat keine unerlaubte Modifikation von Daten und Benutzerkennung stattgefunden.5. If the components match, the data record is authentic, i.e. there has been no unauthorized modification of data and user ID.

Um keine vorgetäuschten richtigen Antworten zu ermöglichen muss mindestens eine Komponente des Datensatzes (Information oder Signatur) über einen sicheren Kanal zum PGP-Programm geleitet werden. Das Ergebnis der Überprüfung muss ebenfalls über einen sicheren Kanal dem Benutzer mitgeteilt werden können.In order not to allow fake correct answers, at least one component of the data record (information or signature) must be routed to the PGP program via a secure channel. The result of the check must also be able to be communicated to the user via a secure channel.

Mit der obigen Forderung betreffend sicheren Kanälen ist es aber noch möglich, dass falsche Antworten vorgetäuscht werden können. Um dies zu verhindern, müssten alle Pfade sicher sein.However, with the above requirement regarding secure channels, it is still possible that false answers can be faked. To prevent this, all paths should be safe.

Der Datenaustausch mit dem PGP-Programm geschieht entweder über Dateien oder sogenannte Pipes. Im nachfolgenden Lösungskonzept wird der Weg über Dateien gewählt.The data exchange with the PGP program takes place either via files or pipes. In the following solution concept, the way is selected via files.

PGP bietet die Möglichkeit beim Signiervorgang eine separate Datei für die Signatur zu erzeugen (mit der Option -b). Wenn der Benutzer mit der Kennung <benutzer_id> die Datei <dateiname> signieren will, lautet somit der Befehl:PGP offers the possibility to create a separate file for the signature during the signing process (with the option -b). If the user wants to sign the file <file name> with the identifier < user_id>, the command is:

pgp -sb <dateiname> -u <benutzer_id>pgp -sb <filename> -u <user_id>

Beim Ausführen des Befehles wird das Passwort vom Benutzer verlangt, um den chiffrierten geheimen Schlüssel aktivieren zu können. Das Passwort darf vom Benutzer nicht aus der Hand gegeben werden, da sonst ein anderer Benutzer zusammen mit dem Zugriff auf secrxng . pgp in seinem Namen unterzeichnen kann. Die Signaturdatei wird unter dem Namen <dateiname> . sig abgespeichert.When executing the command, the password is requested by the user in order to be able to activate the encrypted secret key. The password is allowed by the user not to be given out of hand, otherwise another user along with access to secrxng. pgp can sign on his behalf. The signature file is named <filename>. saved.

Die Interaktionen zwischen der Datenbank-Applikation und dem PGP-Programm für den Signiervorgang laufen wie folgt ab:The interactions between the database application and the PGP program for the signing process run as follows:

Zuerst wird eine Datei mit den zu signierenden Daten erstellt. Damit derSigniervorgang batchmässig abläuft, wird das Passwort für die Dauer der Ausführung des pgp- Befehles mit PGPPASS=<passphrase> in die Shell exportiert. Die Angaben +batchmode und +force bewirken keine interaktiven Abfragen vom PGP-Programm und die Rückgabe des Ergebnisses im exit-Status. Ein solcher von o bedeutet eine erfolgreich erzeugte Signaturdatei.First, a file with the data to be signed is created. To ensure that the signing process runs in batches, the password is exported to the shell for the duration of the execution of the pgp command with PGPPASS = <passphrase>. The specifications + batchmode and + force do not cause any interactive queries from the PGP program and the return of the result in the exit status. Such an o signifies a successfully created signature file.

Der Inhalt der Signaturdatei kann danach von der Datenbank-Applikation in den entsprechenden Datensatz eingefügt werden.The content of the signature file can then be inserted into the corresponding data record by the database application.

Die Echtheit von Daten, welche in der Datei <dateiname> enthalten sind, kann mit der zugehörigen Signaturdatei <dateiname> . sig mit dem BefehlThe authenticity of data contained in the file <file name> can be checked with the associated signature file <file name>. sig with the command

pgp <dateiname> . sig <dateiname>pgp <file name>. sig <filename>

überprüft werden.be checked.

Das Zusammenwirken der Datenbank-Applikation mit dem PGP-Programm beim Überprüfen einer Signatur ist wie folgt:The interaction of the database application with the PGP program when checking a signature is as follows:

Zuerst werden durch die Datenbank-Applikation die beiden Dateien (Daten und Signatur) mit den entsprechenden Inhalten bereitgestellt. In der Datei <dateiname> werden die Benützerdaten zusammen mit der Benutzerkennung des Datensatzes und in der Datei <dateiname> . sig wird die Signatur bereitgestellt. Die Befehlsoptionen +batch ode und +force bewirken wiederum ein Unterdrücken von interaktiven Abfragen während der Ausführung und die Rückgabe vom Ergebnis im exit-Status des PGP-Programmes. Ein Rückgabewert von o ist eine positive Überprüfung, d.h. die beiden Dateien sind unverändert und vom angegebenen Benutzer signiert worden.First, the database application provides the two files (data and signature) with the corresponding content. The user data is stored in the file <file name> together with the user ID of the data record and in the file <file name>. The signature is provided. The command options + batch ode and + force in turn suppress interactive queries during execution and return the result in the exit status of the PGP program. A return value of o is a positive check, ie the two files are unchanged and signed by the specified user.

Eine Konfiguration, die sich für Netzwerke besonders eignet, zeichnet sich durch die folgenden Eigenschaften aus:A configuration that is particularly suitable for networks is characterized by the following properties:

1. Auf dem lokalen PC (oder Workstation) wird eine lokale Installation des PGP-Programmes für die Signierung von Datensätzen eingesetzt.1. A local installation of the PGP program is used on the local PC (or workstation) for the signing of data records.

2. Der geheime Schlüssel eines Benutzers ist auf einer persönlichen schreibge- schützten Diskette (Diskettenschlüssel) zusammen mit dem öffentlichen Schlüssel der Ausgabestelle abgelegt.2. A user's secret key is stored on a personal write-protected floppy disk (floppy disk key) together with the public key of the issuing office.

3. Auf dem Datenbankserver ist ebenfalls eine Installation des PGP-Programmes für die Überprüfung der Signaturen von Datensätzen vorhanden.3. An installation of the PGP program for checking the signature of data records is also available on the database server.

4. Die öffentlichen Schlüssel aller Benutzer sind schreibgeschützt auf dem Server verfügbar.4. The public keys of all users are available on the server as read-only.

Ein Benutzer meldet sich beim Datenbankserver an, indem die lokale Arbeitsstation (PC) eine Zufallsmeldung vom Server erhält. Die Zufallsmeldung wird mit Hilfe des lokalen PGP-Programmes und des geheimen Schlüssels chiffriert wieder zum Server zurückgeschickt. Dieser kann mit dem öffentlichen Schlüssel die Authentizität des Benutzer überprüfen.A user logs on to the database server by the local workstation (PC) receiving a random message from the server. The random message is sent back encrypted to the server using the local PGP program and the secret key. This can use the public key to check the authenticity of the user.

Der Benutzer signiert Datensätze mit dem lokal installierten PGP-Programm, indem der schreibgeschützte Diskettenschlüssel (Diskette mit dem geheimen Schlüssel) in das Laufwerk geschoben und das Passwort eingetippt werden. Nach der Signierung wird der Diskettenschlüssel wieder aus dem Laufwerk entfernt. Datensätze in der Datenbank werden mit dem auf dem Server installierten PGP- Programm auf ihre Echtheit überprüft. Alle öffentlichen Schlüssel auf dem Server sind durch die Ausgabestelle einmal zertifiziert (unterschrieben) worden. Die Zertifikate können von jedem Benutzer mit dem öffentlichen Schlüssel der Ausgabestelle überprüft werden. Dieser ist auch auf dem persönlichen Diskettenschlüssel enthalten und so vor Manipulationen geschützt. Ein Angreifer müsste demzufolge möglichst viele Disketteπschlüssel manipulieren, um die Wirksamkeit des Systems zu unterlaufen.The user signs data records with the locally installed PGP program by pushing the write-protected floppy disk key (floppy disk with the secret key) into the drive and typing in the password. After signing, the diskette key is removed from the drive. Data records in the database are checked for authenticity using the PGP program installed on the server. All public keys on the server have been certified (signed) by the issuing authority. The certificate can be checked by any user with the issuing authority's public key. This is also included on the personal floppy key and thus protected against manipulation. An attacker would therefore have to manipulate as many diskette keys as possible to undermine the effectiveness of the system.

Die Ausgabestelle legt die Benutzerkennung ua anhand von Richtlinien fest und generiert für sich ein Schlüsselpaar ( K , K ' ) a. Der öffentliche Schlüssel wird selbst unterzeichnet gemässThe issuing office determines the user ID, among other things , based on guidelines and generates a key pair (K, K ') a for itself. The public key is signed according to

Za= (Ua , Ka - , EKa ( Ua | Ka ' ) )Z a = (U a , K a -, E Ka (U a | K a '))

Die Ausgabestelle ist jetzt bereit, den Benutzern ihre öffentlichen Schlüssel zu unterschreiben, d.h. Zertifikate Z, für deren öffentliche Schlüssel auszustellen.The issuing office is now ready to sign the users' public keys, i.e. Certificates Z to issue for their public keys.

Der Ablauf für die Generierung von Benützerschlüsseln und die Ausstellung von Zertifikaten läuft wie folgt ab:The process for generating user keys and issuing certificates is as follows:

1. Ein neuer Benutzer generiert lokal ein Schlüsselpaar (κ, K ' ) .. Die Benutzerkennung u wählt er nach den Vorgaben der Ausgabestelle.1. A new user generates a key pair locally (κ, K ') .. The user ID u chooses according to the specifications of the issuing office.

2. Das Schlüsselpaar wird auf einer Diskette (der Schlüsseldiskette) abgelegt und der öffentliche Schlüssel K, vom Benutzer gleich selbst unterzeichnet.2. The pair of keys is stored on a diskette (the key diskette) and the public key K, ■ is signed by the user himself.

3. Die Ausgabestelle überprüft die Signatur des Benutzers und stellt danach ein Zertifikat zx für den öffentlichen Schlüssel K, ' und die dazugehörende Benutzerkennung u,. aus. 4. Die Ausgabestelle stellt das Zertifikat z auf dem Server systemweit den anderen Benutzern zur Verfügung (nur Lesezugriff).3. The issuing authority verifies the signature of the user and then issues a certificate for x for the public key K, 'and u the associated user ID. out. 4. The issuing authority makes the certificate z available to other users on the server system-wide (read-only access).

5. Die Ausgabestelle stellt dem Benutzer eine persönliche Kopie ihres unterschriebenen öffentlichen Schlüssels za zur Verfügung.5. The issuing office provides the user with a personal copy of their signed public key z a .

6. Der Benutzer kopiert za auf die Schlüsseldiskette und aktiviert den Schreibschutz.6. The user copies a to the key diskette and activates the write protection.

Der Diskettenschlüssel und das Laufwerk sind vergleichbar mit einer Smart-Card und dem dazugehörenden Lesegerät. So wie die Smart-Card mit einem Passwort aktiviert wird, so wird auch der Diskettenschlüssel aktiviert. Der Unterschied liegt darin, dass der geheime Schlüssel bei dieser Lösung im Hauptspeicher der lokalen Arbeitsstation offengelegt wird. Bei der Smart-Card verlässt der geheime Schlüssel die Karte nie.The floppy disk key and the drive are comparable to a smart card and the associated reader. Just as the smart card is activated with a password, the floppy key is also activated. The difference is that with this solution the secret key is exposed in the main memory of the local workstation. With the smart card, the secret key never leaves the card.

Zusammenfassend ist folgendes festzuhalten:In summary, the following should be noted:

Um Datensätze zu signieren und bestehende Signaturen auf ihre Echtheit hin zu überprüfen ist ein separater Krypto-Prozess vorgesehen. Der Signiervorgang wird vorzugsweise in einer Smart-Card durchgeführt. Dadurch ist der geheime Schlüssel sehr wirksam geschützt (der Schlüssel verlässt die Karte nie) und der Besitzer hat die Karte immer unter seiner Aufsicht. Die Überprüfung von Signaturen hingegen kann ohne weiteres auf einer leistungsfähigeren Plattform (Arbeitsstation) bleiben, weil dieser Vorgang sicherheitstechnisch unkritisch ist. Der einzige kritische Punkt dabei ist der öffentliche Schlüssel der Ausgabestelle zum Überprüfen der Benützerzertifikate. Dieser Schlüssel sollte ebenfalls in der Smart-Card von jedem Benutzer abgelegt werden, um Maskeraden vorbeugen zu können.A separate crypto process is provided to sign data records and to check the authenticity of existing signatures. The signing process is preferably carried out in a smart card. This protects the secret key very effectively (the key never leaves the card) and the owner always has the card under his supervision. The verification of signatures, on the other hand, can easily remain on a more powerful platform (workstation) because this process is not critical in terms of security. The only critical point is the issuer's public key for verifying user certificates. This key should also be stored in the smart card by every user in order to prevent masquerades.

Die Benützerzertifikate können in der gleichen Datenbank verwaltet werden. Dies muss aber nicht so sein, denn es wäre auch möglich, die Zertifikate in einer externen EinheitThe user certificates can be managed in the same database. However, this does not have to be the case, because it would also be possible to have the certificates in an external unit

(z.B. separate Datenbank, X.500 Verzeichnisdienst oder Authentifikations-Server) zu verwalten und somit mehreren Applikationen zur Verfügung zu stellen. Ein sogenannter Authentifikations-Server würde nebst der Zertifikatsverwaltung auch die Identifizierung und Authentifizierung der Benutzer (mit Passwort, Token oder biometrischen Verfahren) durchführen.(e.g. separate database, X.500 directory service or authentication server) and thus to make them available to several applications. A so-called In addition to certificate management, authentication servers would also identify and authenticate users (using a password, token or biometric method).

Die Erfindung kann im Prinzip in jeder Datenbank eingesetzt werden. Zu erwähnen sind insbesondere die an sich bekannten objektorientierten und die relationalen Datenbanken. Objektorientierte Datenbanksysteme bieten nicht nur die Vorteile der objektorientierten Programmierung, sondern sind flexibler in Bezug auf die Implementation des erfindungsgemässen Verfahrens. Relationale Datenbanksysteme sind wesentlich mehr standardisiert und schränken demzufolge auch die Lösungsmöglichkei- ten ein.In principle, the invention can be used in any database. In particular, the object-oriented and relational databases, which are known per se, should be mentioned. Object-oriented database systems not only offer the advantages of object-oriented programming, but are also more flexible with regard to the implementation of the method according to the invention. Relational database systems are significantly more standardized and therefore restrict the possible solutions.

Die beschriebenen Ausführungsbeispiele decken zwei Punkte der Sicherheitsarchitektur mit kryptografischen Schutzmechanismen ab:The exemplary embodiments described cover two points of the security architecture with cryptographic protection mechanisms:

• Die Einträge von Benutzerdaten in der Datenbank werden mit digitaler Signatur versehen. Beim späteren Zugriff kann die Authentizität des Eintrages sowie die Benutzerkennung zuverlässig überprüft werden.• The entries of user data in the database are provided with a digital signature. In the event of later access, the authenticity of the entry and the user ID can be reliably checked.

• Die Anmeldeprozedur mit Passwort und asymmetrischer Verschlüsselung.• The login procedure with password and asymmetrical encryption.

Der kryptografische Teil kann durch das PGP-Programm abgedeckt werden, wobei die ebenfalls im PGP Programm enthaltene Chiffrierfunktion nicht zur Anwendung gelangen muss. Es werden nur die Funktionen für Schlüsselgenerierung und -verwal- tung sowie für die Authentifizierung von Daten angewendet.The cryptographic part can be covered by the PGP program, whereby the encryption function also contained in the PGP program does not have to be used. Only the functions for key generation and management as well as for the authentication of data are used.

• RSA gilt im allgemeinen als sicher, wenn genügend grosse Schlüssel (512 bit gelten als unsicher) verwendet werden. Die Sicherheit basiert auf der Schwierigkeit vom Zerlegen von grossen Integerzahlen. In letzter Zeit wurden jedoch enorme Fortschritte in diesem Gebiet gemacht. RSA ist sehr anfällig auf »gewählte Klartext-At- tacken« (chosen plaintext attack). Bei der Anwendung für Signierzwecke besteht diese Gefahr nicht, weil noch eine kryptografische Hashfunktion (MD5) dazwi- schengeschaltet ist.• RSA is generally considered secure if sufficiently large keys (512 bits are considered unsafe) are used. Security is based on the difficulty of breaking down large integers. However, enormous progress has been made in this area recently. RSA is very susceptible to "chosen plaintext attacks". When used for signing purposes this danger does not arise because a cryptographic hash function (MD5) is interposed.

• MD5 ist eine sichere Hashfunktion und erzeugt von einer beliebigen Zeichenkette einen Hashwert von 128 bit Länge.• MD5 is a safe hash function and generates a hash value of 128 bit length from any character string.

• Schlüsselgenerierung: Für die Schlüsselgenerierung werden "echte" Zufallszahlen benötigt, damit keine zwei gleichen Schlüsselpaare erzeugt werden. Die Zufallszahlen werden u.a. von der Schreibgeschwindigkeit und dem eingegebenen Text abgeleitet. Diese Merkmale sind sehr individuell und somit einmalig.• Key generation: "Real" random numbers are required for key generation so that no two identical key pairs are generated. The random numbers are derived from the writing speed and the entered text. These features are very individual and therefore unique.

• Schlüsselverwaltung: Eine hierarchische Vertrauensstruktur ist für eine Datenbank sinnvoll und kann problemlos abgebildet werden. Der öffentliche Schlüssel der Ausgabestelle muss über einen sicheren Kanal mitgeteilt (z.B. persönliche Übergabe) und gegen Manipulationen geschützt aufbewahrt (z.B. persönliche Diskette mit Schreibschutz) werden können.• Key management: A hierarchical trust structure makes sense for a database and can be easily mapped. The public key of the issuing office must be communicated via a secure channel (e.g. personal handover) and protected against manipulation (e.g. personal floppy disk with write protection).

Für die Verwaltung der Schlüssel wird In den meisten Fällen eine einfache Vertrau- enshierarchie (Ausgabestelle, Benutzer) genügen. Jeder Benutzer generiert sich die Schlüsselpaare selbst und lässt den öffentlichen Schlüssel durch die Ausgabestelle (Vertrauensinstanz) zertifizieren.In most cases, a simple hierarchy of trust (issuing office, user) will suffice to manage the keys. Each user generates the key pairs themselves and has the public key certified by the issuing authority.

Die Konfiguration für eine Client/Server Umgebung weist die folgenden Merkmale auf:The configuration for a client / server environment has the following features:

Auf dem PC (oder Workstation) wird eine lokale Installation des PGP-Programmes für die Signierung von Datensätzen eingesetzt. Der lokale Applikationsteil (Client) kommuniziert mit dem lokal installierten PGP-Programm.A local installation of the PGP program is used on the PC (or workstation) for the signing of data records. The local application part (client) communicates with the locally installed PGP program.

Der geheime Schlüssel eines Benutzers ist auf einer persönlichen schreibgeschützten Diskette (Diskettenschlüssel) zusammen mit dem öffentlichen Schlüssel der Ausgabestelle abgelegt. Auf dem Datenbankserver ist ebenfalls eine Installation des PGP-Programmes für die Überprüfung der Signaturen von Datensätzen vorhanden. Die Server-Applikation kommuniziert mit dem auf dem Server installierten PGP-Programm.A user's secret key is stored on a personal read-only diskette (diskette key) together with the public key of the issuing office. There is also an installation of the PGP program on the database server for checking the signatures of data records. The server application communicates with the PGP program installed on the server.

Alle öffentlichen Benützerschlüssel sind schreibgeschützt auf dem Server verfügbar.All public user keys are available on the server as read-only.

Ein Benutzer meldet sich beim Datenbankserver an, indem die lokale Arbeitsstation (PC) eine Zufallsmeldung vom Server erhält. Die Zufallsmeldung wird mit Hilfe des lokalen PGP-Programmes und des geheimen Schlüssels chiffriert wieder zum Server zurückgeschickt. Dieser kann mit dem öffentlichen Schlüssel die Authentizität des Benutzers überprüfen.A user logs on to the database server by the local workstation (PC) receiving a random message from the server. The random message is sent back encrypted to the server using the local PGP program and the secret key. This can use the public key to check the authenticity of the user.

Der Benutzer signiert Datensätze mit dem lokal installierten PGP-Programm, indem der schreibgeschützte Diskettenschlüssel (Diskette mit dem geheimen Schlüssel) in das Laufwerk geschoben und das Passwort eingetippt werden. Nach der Signierung wird der Diskettenschlüssel wieder aus dem Laufwerk entfernt.The user signs data records with the locally installed PGP program by pushing the read-only floppy disk key (floppy disk with the secret key) into the drive and typing in the password. After signing, the diskette key is removed from the drive.

Datensätze in der Datenbank werden mit dem auf dem Server installierten PGP-Pro- gramm auf ihre Echtheit überprüft. Alle öffentlichen Schlüssel auf dem Server sind durch die Ausgabestelle einmal zertifiziert (unterschrieben) worden. Die Zertifikate können von jedem Benutzer mit dem öffentlichen Schlüssel der Ausgabestelle überprüft werden. Data records in the database are checked for authenticity using the PGP program installed on the server. All public keys on the server have been certified (signed) by the issuing authority. The certificate can be checked by any user with the issuing authority's public key.

Claims

Patentansprüche claims 1. Verfahren zur elektronisch gesicherten Speicherung von Daten in einer Datenbank, dadurch gekennzeichnet, dass Datensätze bei ihrer Erstellung bzw. Änderung mit einer Benutzerkennung (Ui) und einer sowohl die Daten (M) als auch die Benutzerkennung (Ui) verschlüsselnden elektronischen Signatur (C) versehen werden, um dann auf diese Weise zu einem erweiterten Datensatz ergänzt abgespeichert zu werden.1. A method for electronically secured storage of data in a database, characterized in that data records when they are created or modified with a user ID (Ui) and an electronic signature (C.) That encrypts both the data (M) and the user ID (Ui) ) must be provided in order to be saved in this way to form an extended data set. 2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass zur Bildung der elektronischen Signatur (C) zuerst die Daten (M) zusammen mit der Benutzer- keπnung (Ui) unter Zuhilfenahme einer Hashfunktion (HF) auf eine Bitsequenz2. The method according to claim 1, characterized in that to form the electronic signature (C) first the data (M) together with the user identification (Ui) with the aid of a hash function (HF) on a bit sequence (H) vorgegebener Länge reduziert werden, um dann mit einem elektronischen Chiffrierverfahren verschlüsselt zu werden.(H) of a predetermined length can be reduced in order to then be encrypted using an electronic encryption method. 3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass zur Erzeugung der elektronischen Signatur ein asymmetrisches Chiffrierverfahren, insbe- sondere ein RSA-Verfahren verwendet wird.3. The method according to claim 1 or 2, characterized in that an asymmetrical encryption method, in particular an RSA method, is used to generate the electronic signature. 4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Benutzerkennungen (Ui) mit den dazugehörenden, für die Prüfung der elektronischen Signatur erforderlichen Schlüsseln bei einer Zentrale authentifiziert und abgespeichert werden.4. The method according to any one of claims 1 to 3, characterized in that the user IDs (Ui) with the associated keys required for checking the electronic signature are authenticated and stored at a central office. 5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die Zentrale die Benutzerkennungen und die entsprechenden Schlüssel mit einem asymmetrischen Chiffrierverfahren signiert bzw. authentifiziert. 5. The method according to claim 4, characterized in that the center signs or authenticates the user IDs and the corresponding keys using an asymmetrical encryption method. 6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass eine Abspeicherung von Daten nur dann zugelassen wird, wenn die Benutzerkennung eingegeben worden ist.6. The method according to any one of claims 1 to 5, characterized in that storage of data is only permitted when the user ID has been entered. 7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass zusätzlich zur Benutzerkennung ein Zeitstempel (TS) in den Datensatz aufgenommen und signiert wird.7. The method according to any one of claims 1 to 6, characterized in that in addition to the user ID, a time stamp (TS) is recorded and signed in the data record. 8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass bei einer Änderung bzw. Löschung von alten Daten diese mit einer signierten Löschmarkierung versehen und abgespeichert werden, um stets eine Historie der Daten zur Verfügung zu haben.8. The method according to any one of claims 1 to 7, characterized in that in the event of a change or deletion of old data, these are provided with a signed deletion marker and stored in order to always have a history of the data available. 9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass über Datenbankzugriffe Protokolldaten erstellt und elektronisch signiert abgespeichert werden.9. The method according to any one of claims 1 to 8, characterized in that protocol data are created and stored electronically signed via database accesses. 10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass die elektronische Signatur in einer Chipkarte erstellt wird, welche zu diesem Zweck temporär mit dem Datenbanksystem verbunden wird.10. The method according to any one of claims 1 to 9, characterized in that the electronic signature is created in a chip card, which is temporarily connected to the database system for this purpose. 11. Vorrichtung zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 10, umfassend11. An apparatus for performing the method according to one of claims 1 to 10, comprising a) einen Computer, welcher zur Bearbeitung und Speicherung von Daten in einer Datenbank programmiert ist,a) a computer which is programmed to process and store data in a database, b) eine Arbeitsstatioπ für die Eingabe der Daten,b) a work station for the input of the data, c) einen zugriffsgeschützten Speicher mit einem Chiffrierschlüssel,c) an access-protected memory with an encryption key, d) einer Recheneinheit zur Erzeugung einer elektronischen Signatur, wobei e) Mittel vorgesehen sind, welche Daten vor deren Abspeicherung in der Datenbank zusammen mit einer Benutzerkennung der Recheneinheit zur Erzeugung einer elektronischen Signatur übergeben, um erst dann den die Daten, die Benutzerkennung und die elektronische Signatur enthaltenden Datensatz abzuspeichern.d) a computing unit for generating an electronic signature, wherein e) Means are provided which, prior to their storage in the database, are passed on to the computing unit together with a user ID for generating an electronic signature, only to then save the data record containing the data, the user ID and the electronic signature. 12. Vorrichtung nach Anspruch 11 , dadurch gekennzeichnet, dass der zugriffsgeschützte Speicher und die Recheneinheit Teil einer persönlichen Chipkarte sind. 12. The device according to claim 11, characterized in that the access-protected memory and the computing unit are part of a personal chip card.
PCT/CH1997/000462 1996-12-12 1997-12-11 Method for electronically protected storage of data in a data bank Ceased WO1998026537A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP97945716A EP0947072A1 (en) 1996-12-12 1997-12-11 Method for electronically protected storage of data in a data bank

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CH3047/96 1996-12-12
CH304796 1996-12-12

Publications (1)

Publication Number Publication Date
WO1998026537A1 true WO1998026537A1 (en) 1998-06-18

Family

ID=4247425

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CH1997/000462 Ceased WO1998026537A1 (en) 1996-12-12 1997-12-11 Method for electronically protected storage of data in a data bank

Country Status (2)

Country Link
EP (1) EP0947072A1 (en)
WO (1) WO1998026537A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998053385A1 (en) * 1997-05-21 1998-11-26 At & T Corp. System and method for using a second resource to store a data element from a first resource in a first-in last-out stack
WO2002022223A3 (en) * 2000-09-13 2003-01-30 Int Game Tech Transaction signature
FR2839594A1 (en) * 2002-05-10 2003-11-14 Radio Systemes Ingenierie Intruder protection secure radio frequency transmission having intermediate base digital word/header encryption with encryption key and second decoding calculation coding based and message only accepted where decoding correct
DE19925910B4 (en) * 1999-06-07 2005-04-28 Siemens Ag Method for processing or processing data
WO2005029291A3 (en) * 2003-09-17 2005-11-24 Francotyp Postalia Ag Method for associating identifiers with information
DE10136608B4 (en) * 2001-07-16 2005-12-08 Francotyp-Postalia Ag & Co. Kg Method and system for real-time recording with security module
CN114662158A (en) * 2022-03-08 2022-06-24 北京九恒星科技股份有限公司 Data processing method, device, system and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0386867A2 (en) * 1989-03-07 1990-09-12 Addison M. Fischer Improved public key/signature cryptosystem with enhanced digital signature certification
US5097504A (en) * 1986-03-19 1992-03-17 Infoscript Method and device for qualitative saving of digitized data
EP0709760A2 (en) * 1994-10-27 1996-05-01 Mitsubishi Corporation Data copyright management system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5097504A (en) * 1986-03-19 1992-03-17 Infoscript Method and device for qualitative saving of digitized data
EP0386867A2 (en) * 1989-03-07 1990-09-12 Addison M. Fischer Improved public key/signature cryptosystem with enhanced digital signature certification
EP0709760A2 (en) * 1994-10-27 1996-05-01 Mitsubishi Corporation Data copyright management system

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6101603A (en) * 1997-05-21 2000-08-08 At&T Corporation System and method for using a second resource to store a data element from a first resource in a first-in last-out stack
US6249871B1 (en) 1997-05-21 2001-06-19 At&T Corporation System and method for using a second resource to store a data element from a first resource in a first-in last-out stack
WO1998053385A1 (en) * 1997-05-21 1998-11-26 At & T Corp. System and method for using a second resource to store a data element from a first resource in a first-in last-out stack
DE19925910B4 (en) * 1999-06-07 2005-04-28 Siemens Ag Method for processing or processing data
WO2002022223A3 (en) * 2000-09-13 2003-01-30 Int Game Tech Transaction signature
US6675152B1 (en) 2000-09-13 2004-01-06 Igt Transaction signature
US7062470B2 (en) 2000-09-13 2006-06-13 Igt Transaction signature
US7454385B2 (en) 2000-09-13 2008-11-18 Igt Transaction signature
EP2592603A1 (en) * 2000-09-13 2013-05-15 Igt Transaction signature
DE10136608B4 (en) * 2001-07-16 2005-12-08 Francotyp-Postalia Ag & Co. Kg Method and system for real-time recording with security module
US7222238B2 (en) 2001-07-16 2007-05-22 Francotyp Postalia Ag & Co, Kg Method and system for real-time registration of transactions with a security module
FR2839594A1 (en) * 2002-05-10 2003-11-14 Radio Systemes Ingenierie Intruder protection secure radio frequency transmission having intermediate base digital word/header encryption with encryption key and second decoding calculation coding based and message only accepted where decoding correct
WO2005029291A3 (en) * 2003-09-17 2005-11-24 Francotyp Postalia Ag Method for associating identifiers with information
CN114662158A (en) * 2022-03-08 2022-06-24 北京九恒星科技股份有限公司 Data processing method, device, system and storage medium

Also Published As

Publication number Publication date
EP0947072A1 (en) 1999-10-06

Similar Documents

Publication Publication Date Title
DE69724946T2 (en) Program rental system and method for renting programs
DE69819485T2 (en) METHOD AND DEVICE FOR THE SAFE PROCESSING OF CRYPTOGRAPHIC KEYS
DE69725833T2 (en) Secured two-part user authentication in a computer network
DE60023705T2 (en) SECURE DISTRIBUTION AND PROTECTION OF KEY INFORMATION
DE69724235T2 (en) Computer system and software protection method
DE69534757T2 (en) System and method for secure storage and distribution of data using digital signatures
DE69704684T2 (en) Device and method for authenticating a user&#39;s access rights to resources according to the challenge-response principle
DE69635143T2 (en) A method and apparatus for creating and managing a private key in a public key cryptographic system
EP1214812B1 (en) Method of data protection
DE69727198T2 (en) Perform digital signatures for data streams and archives
DE60117598T2 (en) SECURE TRANSACTIONS WITH PASSIVE STORAGE MEDIA
DE69629857T2 (en) Data communication system using public keys
DE69028894T2 (en) Public key notarization facility for date and time
DE69733123T2 (en) METHOD AND DEVICE FOR PREVENTING UNAUTHORIZED WRITING ACCESS TO A PROTECTED NON-VOLATILE MEMORY
DE69431944T3 (en) Method for efficiently updating the hash value of a file
EP1946481B1 (en) Method for generating an advanced electronic signature for an electronic document
EP1410128A1 (en) Data processing device
DE19827659A1 (en) Systems and methods for storing data and protecting the data against unauthorized access
DE19959764A1 (en) Methods for generating digital signature in signature device for signing of document by encoding of signature data using signature key
WO2003013167A1 (en) Device for digitally signing an electronic document
DE112005001654T5 (en) Method for transmitting direct-proof private keys to devices by means of a distribution CD
EP0947072A1 (en) Method for electronically protected storage of data in a data bank
WO2022120400A1 (en) Method for migrating an it application
EP2044547A1 (en) Method for generating access data for a medical device
EP1362272B1 (en) Method and arrangement for a rights ticket system for increasing security of access control to computer resources

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CZ FI HU JP PL US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1997945716

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 09319725

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1997945716

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1997945716

Country of ref document: EP