Abstract:
A system for the secure reading and processing of data on intelligent data carriers, such as chipcards, is described. Process executable in this system, in which the stored data and the authorizations or values associated with the data are especially well protected against access by unauthorized persons are also described. This is achieved by a useful combination of encryption processes. In particular, the risk involved with the spying out of master keys stored in autonomously operating terminals, such as vending machines or cardphones, is eliminated or at least reduced, thus counteracting the misuse of cash-reloadable chipcards increasingly used today.

Description:
FIELD OF THE INVENTION 
     The present relates to a system for the secure reading and processing of data on intelligent data carriers, as well as to processes executable in this system. 
     BACKGROUND INFORMATION 
     A system for the secure reading and processing of data on intelligent data carriers is described, for example, in “Kryptologie”(Cryptology) by A. Beutelspacher, 5th edition, Chapter 4, published in 1997 by Vieweg-Verlag (Vieweg Publishing House), Braunschweig/Wiesbaden, and is assumed as known. In particular, the challenge and response process described therein in connection with FIG. 4.12 on p. 93 and FIG. 4.16 on p. 101, and based on symmetrical encryption is suitable for the authentication of intelligent data carriers vis-á-vis computers or their input terminals. 
     Some conventional systems are also already known which employ asymmetrical key processes or a plurality of symmetrical or asymmetrical key processes in succession (see, e.g., “Funkschau” 1996, No. 25, pp. 60-63). However, asymmetrical key processes,.such as the RSA algorithm described in the krytologie, have the disadvantage as compared with symmetrical processes that, because of the need to carry out arithmetic operations with very large numbers, they are relatively slow and, if used for the authentication of the individual data carriers, require many keys to be stored in each terminal or, in the case of an existing data link to a central storage, to be stored in that storage. 
     The intelligent data carriers used in such systems, e.g., IC cards equipped with processors and storage devices, today usually referred to as chipcards, which often contain highly sensitive data, such as access authorizations to secure areas or the permission to withdraw amounts of money from an account, are largely secure against unpermitted use, unauthorized readout and intentional falsification of the stored data thanks to the use of the aforementioned cryptographic processes. The same is also true of the reloadable “electronic purses”(e.g., paycards, cashcards), increasingly used nowadays, from which amounts of money can be debited to pay for goods or services, at least if the terminals at which the withdrawals are made have a link to a computer center through which it is possible to retrieve a key that is stored therein and is required for the authentication of a data carrier, or if a cryptogram, transmitted from a data carrier for authentication, can be forwarded to the computer center for verification. 
     However, the latter is not always the case, because data links for public cardphones, transport-ticket machines, carpark ticket machines or vending machines are too costly. In such cases, a key required for security-critical operations is usually stored in the terminal, inside a so-called security module. This key is normally a master key which is used to calculate the key that is required for the respective data carrier to be processed and that matches its individual key, this involving the use of information, such as the chipcard number, which is specific to the data carrier and is transmitted from the data carrier. 
     The fact that this master key is located in a terminal in an insecure environment compromises the security of the entire system, because, if it became known to a criminal, that criminal would then be able to make unauthorized duplicates of all the data carriers used in the system. 
     SUMMARY 
     An object of the present invention is to exclude or at least to reduce such a risk and thereby to increase the security of the system. 
     By storing on the data carrier a second key pair satisfying an asymmetrical key algorithm, it is possible at the end of a data readout or processing operation to confirm the operation by an “electronic signature.” The calculation and verification of the electronic signature require the key pair stored on the data carrier, and cannot be achieved simply by a key derived from the master key of a terminal and reproduced on the data carrier. 
     One example embodiment of the present invention makes it possible to verify that the individual data carriers belong to the system using an asymmetrical key process, without, however, having the disadvantages of an asymmetrical key process, as would result, for example, if secret keys for all data carriers were stored at a central location. Furthermore, in this case, the correctness of the key pair stored on the data carrier and used for generating the electronic signature is co-certified by the system. The secret key used for generating the certificate remains in the computer center and is therefore safe from outside access. 
     Other example embodiments of the present invention use of a key process employing a symmetrical key algorithm for the authentication of the data carriers vis-á-vis a terminal. The derivation of the keys, used for the authentication of the individual data carriers, from a master key dispenses with the need for the online connection of all terminals to the computer center or for the storage of extensive key lists in the terminals. In another example embodiment of the present invention, the storage and/or calculation on the data carrier of the key used for authentication permit adaptation of the authentication operation to the technical possibilities (computing and storage capacity) of the data carriers used. 
     In yet another example embodiment of the present invention, a further key usable in a symmetrical key process is provided. 
     In another example embodiment of the present invention, relate to measures aimed at better monitoring of monetary transactions in the case of data carriers used as electronic purses are provided. 
    
    
     Exemplary embodiments of the system according to the present invention and of processes carried out in this system for the readout and processing of the data stored on data carriers shall now be described with reference to two figures. 
     BRIEF DESCRIPTION OF THE DRAWING 
     FIG. 1 shows schematically the example hardware of a system according to the present invention. 
     FIG. 2 shows a flow chart relating to the secure modification of the data on a data carrier of a system developed according to an example embodiment of the present invention. 
    
    
     DETAILED DESCRIPTION 
     FIG. 1 shows a computer center  1  which is connected by data lines to input devices (terminals)  2   a  of a first type. Terminals  2   b  of a second type do not have a permanent connection to the computer center, but like the terminals of the first type, are able to communicate with data carriers  4  belonging to the system. For this purpose, the data carriers are inserted by the respective user into an appropriate slot on a terminal and are thereby connected via a power-transfer interface E to the power supply of the terminal, and via a data interface D to a computer system in the terminal. Power and data may be transferred in a conventional manner via electrical contacts, inductively or optically. Data carrier  4  itself, for example an IC card or chipcard, is equipped with a complete microcomputer system containing a processor CPU and various storage devices ROM, RAM, EEPROM. 
     The data carriers may perform different, really even a plurality of various functions. For example, this may be an ID function, in which data stored on the data carrier allows the user access to a secure area or grants the user permission to carry out a specific action. In the case of a check card, the stored data, possibly in combination with a secret number to be entered by the user, authorizes the user to make a withdrawal from an account. In the aforementioned cases, for data evaluation, use of terminals having a permanent data link to the computer center may be made, this making it possible for the keys required for the safeguarding of data against tampering or unauthorized readout to be kept in readiness at a central, protected location. 
     However, data carriers in chipcard format are also suitable for acting as electronic purses which, when loaded with an amount of money, can be used to pay for goods or services. While in this case, loading or reloading is carried out at special terminals connected to the computer center, e.g., a bank, the withdrawal of amounts can also take place at vending machines, cardphones, public-transport ticket machines or carpark ticket machines which are in the form of terminals belonging to the system, but are not connected to the computer center. 
     At such terminals, the transfer of a key or of encrypted data to or from the computer center is not possible, and the terminal, without the support of the computer center, must detect whether a data carrier belongs to the system, whether an amount of money stored on the data carrier is sufficient for a desired withdrawal and whether an effected withdrawal is correctly implemented on the data carrier. 
     FIG. 2 shows an example for the sequence of a withdrawal operation on a chipcard, in the form of an electronic purse, at a terminal which is not connected to the computer center. 
     In this case, the uppermost section of the diagram contains the data used to safeguard the operation and stored on the chipcard and in the terminal, respectively, prior to the transaction. The sections below show in chronological sequence the operations which take place on the chipcard (in the left-hand column), the transfers taking place between the chipcard and the terminal (in the center column) and the operations proceeding in the terminal (in the right-hand column). 
     Before being issued to a user, the chipcard was provided by the computer center with a certificate, a cryptogram generated using an asymmetrical key process, e.g., the known RSA algorithm, and representing an electronic signature. The cryptogram was generated with the aid of the signature function S glob , available only in the computer center, of a global key pair S glob , V glob —said global key pair S glob , V glob  satisfying the indicated asymmetrical key algorithm—and, in addition to an identification number (ID number) uniquely identifying the chipcard and an indication of the period of validity T val , contains the verification function V card  of a card-specific key pair, this card-specific key pair enabling the chipcard to generate electronic signatures according to a further asymmetrical key process. The associated signature function S card  is likewise stored on the card and remains thereon. In addition, a storage device on the chipcard contains further card-specific keys K auth , K red , used to carry out symmetrical key processes such as DES (Data Encryption Standard), Triple DES or IDEA, as well as further information such as the name of the user, the amount of money stored and a sequence number indicating the number of withdrawals made. 
     The key V glob , required to verify the certificates of the system chipcards, and two master keys KM auth  and KM red  are stored in all terminals belonging to the system. From the master keys, the terminals are able, by linking these keys to the identification numbers of the respective cards to be processed, to reproduce the keys K auth  and K red  that are stored on the cards and are used to carry out symmetrical key processes. 
     If the chipcard is now brought into contact with a terminal, as soon as this is detected by the card, e.g., by the application of a supply voltage, the certificate is transferred to the terminal. If the terminal possesses the global key V glob , then its computer is able to verify the certificate, and in so doing learns the identification number of the card, the validity of the card and the verification function V card . The identification number and V card  are temporarily stored by the terminal and are thus available for subsequent monitoring and computing operations. 
     In the next step, the,terminal initiates a “challenge and response” process, during which it generates a random number R 1  and transmits it to the card. Thereupon, the computer on the chipcard generates a cryptogram e 1 , in which further data to be transferred to the terminal is encrypted together with the random number R 1  using the key K auth  which employs a symmetrical key algorithm. In particular, this cryptogram includes the amount of money stored on the chipcard, so that the terminal learns the extent to which money can be withdrawn from the card. The cryptogram e 1  is now transmitted together with a second random number R 2 , generated on the card, which initiates a challenge and response process in the opposite direction. 
     While cryptogram e 1  was being generated on the chipcard, the terminal, with the aid of the identification number of the card, has calculated the card-specific keys K auth  and K red  from the two master keys KM auth  and KM red , and is now able to decrypt cryptogram e 1 . Once it knows the amount to be withdrawn, which is dependent on the input by the user at the terminal, the terminal compares this amount to the amount stored on the card and, provided the latter amount is not lower, generates a withdrawal cryptogram e 2  which, in addition to the amount to be debited, contains the second random number R 2 . This cryptogram is calculated using the further key K red , which employs a symmetrical key algorithm, and is transmitted together with a third random number R 3  to the chipcard. Here, it is possible in principle to use the key K auth  once again instead of the further key K red  and to make do without the key K red , without any major loss of security. 
     In the next step, following the decryption of cryptogram e 2 , the money is actually debited on the chipcard. For this purpose, the chipcard generates a posting (withdrawal) data record D B  with the originally stored amount of money, the amount of money debited and the current amount of money, as well as with further information provided in the system, such as posting/sequence number, posting date and currency. The chipcard confirms this data record with an electronic signature, in that, using the signature function S card  of the initially mentioned further key pair employing an asymmetrical key process, it generates an acknowledgement cryptogram e 3  in which the random number R 3  is also encrypted, in addition to the posting data record and the identification number. After the terminal has temporarily stored the verification function V card  belonging to the S card , it can decrypt cryptogram e 3  and thus verify the data record and the authenticity of the data. If no error is found, the temporarily stored identification number and verification function V card  are deleted, and the delivery of the product or ticket or the establishment of a telephone connection dialed by the user is initiated. 
     In a similar manner, it is possible to secure the readout of information from a portable data carrier, e.g. a chipcard serving as an ID card. In this case, the chipcard first of all authenticates itself vis-á-vis the checking apparatus (terminal). This is accomplished using a symmetrical key process. Subsequently, the terminal transmits to the chipcard a readout command, cryptogram-secured using a symmetrical algorithm, and, together with the readout command, its authentication. The chipcard transfers the information with a digital signature generated using an asymmetrical key process. 
     If there is an especially great need for security and if the terminal is remote from the computer center and not connected to it, in such a case it is also possible to employ an asymmetrical key process permitting the transmission of a certificate. Usually, however, it will be sufficient to use a symmetrical key process, because in this case, there is virtually no risk of duplicates of chipcards being made by an authorized person and a third person obtaining access to a key stored in the terminal would also have to gain possession of a valid chipcard in order to be able to provide the electronic signature which, ultimately, gives the authorization associated with the ID card.