ELECTRONIC TRANSACTION SYSTEM

Abstract: A transaction system which uses at least one smart card, one authorizing station and at least one transaction station, in which asymmetric cryptographic codes are used for transmission and verification of messages, and in which: a first cryptographic key is held only in said authorization station, a second cryptographic key is kept only in said authorization station and in said smart card, and a PIN, xi, which by said authorization station has been provided to said smart card and which is held only in said authorization station and in said smart card.

Description: ELECTRONIC TRANSACTION SYSTEM The present invention relates to a system and method for conducting secure electronic transactions and verification thereof by electronic signature. The use of smart cards, i.e. plastic cards containing a microprocessor and memory, as a means of facilitating financial and other transactions is well known. A sum of money may be transferred to such a card and stored in electronic form, and/or such cards may hold a personal identity number (PIN) which can be used to authorize a transaction. Two distinct problems can be identified with the use of smart cards for facilitating transactions: data security, and - transaction verification. These problems may be overcome by the use of asymmetric coding algorithms. A symmetric coding algorithm employs the same key for encrypting and decrypting data. An asymmetric coding algorithm uses two distinct keys, the first for encoding data and the second for decoding data. The use of asymmetric algorithms permits an encoding key to be made publicly available, and permits any person to transmit information in a secure form to the holder of the decoding key. Alternatively, a unique, verifiable and secure electronic signature can be generated by making a decoding algorithm publicly available while maintaining the secrecy of the encoding algorithm. This enables a PIN to be read, decoded and verified, but prevents the creation of a valid coding for a false PIN. The identity of a user can thus be confirmed by confirming that he knows an encoding key without passing on knowledge of the encoding key. A known system for electronic transaction verification is described in US patent number 4,995,082. However, the complexity of the encoding and decoding algorithms creates problems when used in conjunction with smart cards. To use such systems effectively with smart cards requires the development of coding and decoding techniques which can be handled by the limited processing and memory available on smart cards. The present invention employs an improved form of transaction processing, using cryptographic algorithms which are sufficiently simple to be used on smart cards and which at the same time provide for secure data encryption and secure transaction verification by means of electronic signatures. This in turn facilitates the conduct of secure off-line transactions, i.e. avoids the need to confirm a transaction at the time it is made using a telecommunications link. This enables a shop, for example, to complete and confirm money transfers at a convenient time after completion of a transaction in which a smart card is completed. The successful and secure operation of the present invention rests on the assumption that banks are trustworthy and smart cards are secure. According to a first aspect of the present invention, there is provided a transaction system employing at least one smart card, an authorization station and at least one transaction station, in which asymmetric cryptographic codes are used for transmission and verification of messages, and in which: a first cryptographic key is held only in said authorization station, a second cryptographic key is held only in said authorization station and said smart card, and a PIN, xi, is assigned by said authorization station to said smart card and held only by said authorization station and said smart card, characterized in that said authorization station issues at least one transaction certificate to said smart card containing encrypted data which includes a number which can only be derived by operating on said PIN with said second cryptographic key, in that said transaction station includes means adapted to verify that said smart card bears said second cryptographic key, and in that said first and second cryptographic keys are algorithms wherein, gθ is a generator, and _1 = <?0 X < where x is a random number, and a number i = gi xl , is at least known to said transaction station. Preferably said smart card includes first and second counter means, said first counter means being arranged to hold a number representative of a total transaction limit, and said second counter means arranged to hold a number indicating how many times the value of said first counter has been incremented. Said first and second counters may be adapted to be incremented in response to a message received from said authorization station, and said first counter is adapted to be decremented in response to a message received from a transaction station. Preferably each of said transaction certificates bears a unique number assigned by said authorization station. According to a second aspect of the present invention there is provided a method of conducting off-line transactions employing at least one smart card, an authorization station and at least one transaction station, in which asymmetric cryptographic codes are used for transmission and verification of messages, and in which: a first cryptographic key is held only in said authorization station, - a second cryptographic key is held only in said authorization station and said smart card, and a PIN, xi , is assigned by said authorization station to said smart card and held only by said authorization station and said smart card, characterized by said authorization station issuing at least one transaction certificate to said smart card containing encrypted data which includes a number which can only be derived by operating on said PIN with said second cryptographic key, and by said transaction station verifying that said smart card bears said second cryptographic key, where said first and second cryptographic keys are algorithms, and go is a generator, and 91 = _>0 X - where x is a random number, and a number hi = gi xι , is at least known to said transaction station. Preferably said smart card includes first and second counter means, said first counter means holding a number representative of a total transaction limit, and said second counter means holding a number indicating how many times the value of said first counter has been incremented. Said first and second counters may be incremented in response to a message received from said authorization station, and said first counter may be decremented in response to a message received from a transaction station. Preferably each of said transaction certificates bears a unique number assigned by said authorization station. Embodiments of the invention will now be described, by way of example, with reference to the single figure (Figure 1) of the accompanying drawings which diagrammatically illustrates, in the form of a block diagram, a transaction system according to the present invention. As illustrated in Figure 1, the transaction system includes an authorization station, or bank, 1, a smart card 2 and a transaction station, or shop, 3. The system involves, in a manner to be subsequently outlined, two- way transmissions between the smart card 2 and both the bank 1 and shop 2, and between the bank 1 and shop 3. With the present invention, it is assumed that only a limited number of conditions need to be taken into account, for example: the bank concerned is beyond reproach and can be unconditionally trusted; and - smart cards are inpenetratable. The aim of the present invention is to provide a secure, paperless and signatureless credit card system. It is further assumed that discrete algorithms are difficult and that a good hash function 'H' is available for use in the secure transaction system. The information "I know the discrete algorithm of "h" for the generator "g" and represent the message "m" is constituted by the message: z, r, m, where H (h,z,m) = a och g r = hz a . A person knowing the discrete algorithm "x" of "h" may choose "w" at random, compute z = g v and then calculate "a" and respond r = x + aw. It is assumed, with the present invention, that this is the only way to produce such combinations of numbers. It can be assumed that there are discrete algorithms in GF(p), where "p" comprises 512 bits and that a sub-group of the prime number order "q" has been selected having a magnitude of approximately 2^-40_ In the establishment of a transaction arrangement for a client, the bank concerned will choose a random number "x" for the client and a generator go • The bank publishes go och g = go x - The number "x" is known only to the bank and is, therefore, the only secret information used by the transaction system. Thus, any person wishing to obtain a smart card for use in the transaction system of the present invention, i.e a prospective user "Ui" of the system, the person concerned will visit the bank and provide any necessary personal information that the bank may require for the purposes of identifying the individual concerned. When such formalities are completed, the user "Ui" will be provided with a smart card containing a secret number, i.e. a PIN, "xi". The PIN "xi" is stored by, and is only known to the bank, but a number "hi" which is equal to " gi xl " is known to everybody, i.e. is common knowledge. It will, therefore, be seen from the foregoing that the "gθ" algorithm of "hi" is known only to the bank, whereas he user "Ui" only knows the algorithm. Clearly, the bank also know the algorithm, but third parties know neither. The smart card incorporates a counter for indicating how much money is held by the smart card, i.e. the amount of money held in the wallet of the user "Ui". In addition, the smart card incorporates a further counter which indicates the number of times the smart card has been loaded, i.e. the number of times that money has been added to the user's wallet. When adding money to the smart card, the bank notifies the user "Ui" that the balance of the smart card may be increased by K crowns, i.e may be increased by a number "s". The bank will, therefore, transmit a message to the smart card which includes the following data: z, r, s and K, where H (hi, z, s, K) = a, a good hash function; gθ r = hiz a ; and 5 s is the number held in the further counter referred to above. The smart card checks that the number "s" is the right value for the further counter and that the equation is satisfied. If the equation is satisfied, the further counter will be incremented by one. The procedure that is followed when making a payment for goods, or services, involves the bank in giving a certificate to the user "Ui" concerned which may contain information "c" about maximum amounts and the date (or may be empty, if desired) . This certificate has the form hi, z, r, c where H (hi,z,c) = a, a good hash function; and gθ r = hiz a . The bank can select these certificates such that each "z" is unique. This may be effected in a manner whereby the bank only stores a bit vector specifying whether "z" has been selected. It should be noted that this certificate need not be secret and may be stored in an adjacent electrical device having more memory. When paying, the customer sends a certificate, together with the necessary proof that he knows the gi algorithm of hi and the message "it." that he can pay. This message indicates the payee, time and amount, and is sent as hi, z, r, c, Z, R, m where H (hi,z,c) = a, a good hash function; gθ r = hiz a ; H (hi,Z,m) = A; and gi R = hiZ A . The shop checks this and accepts. When cashing the money, the shops sends a message that it has received the money specified in "m" , to the bank, who credits this sum to the account of the shop. Furthermore, the bank stores the couple "z,m" and checks that it has a previous couple with the same "z". If this is verified, the bank also checks that "m" is the same. If so, it argues with the shop and otherwise with the user "Ui" whose identity may be seen from hi. It will be obvious to persons skilled in the art that the foregoing transaction system is a simplified version of Brands' smart card solution. The system is in a very small extent anonymous but to a certain extent. A shop only sees hi and this is a pseudonym which does not mean anything more than a face. One recognizes it when one sees it but one does not know what it means. Neither does the bank following the protocol see where the money goes for honest people, it just stores (z,m) and it does not know where "z" came from. It is only when "z" appears a second time that it checks the identity. If it can reasonably be assumed that anybody who is not aware of a discrete algorithm cannot produce a good certificate for a certain number, then the system should be secure. Obviously, it may be possible for a dishonest person to select an "hi", but if he does not know both of the discrete algorithms with the base go and gi, then it will not be possible for him to buy anything. If he has knowledge of both algorithms, then he knows "x" and can act as a bank. However, it is always the case that whoever penetrates the secret information of a bank can act as a bank. The most complicated calculation of the smart card is g v for g = go, eller gi and a number "w" of magnitude "q" . This is done, on the one hand, to verify that it is the bank who asks it to put in money and, on the other hand, when it is used to buy goods, or services. It should be noted that, in the latter case, this may be done a long time in advance and "z" may be transmitted from the smart card well in good time. When the message "m" arrives later, the smart card only has to calculate H (hi,m,z) = a, and xi+aw. When money from the bank is to be added, the updating does not have to occur immediately but the smart card can take its time to check if it will be possible. The handling of the money may give rise to difficulties. The user will probably require the use of a number of certificates. These are of a size above approximately 652 bits (hi does not have to be stored and "c" is small) . What is needed is "z" and "r" . This means that a few dozen may be accommodated on the smart card and the rest may be stored in an unsafe place.

Claims: PATENT CLAIMS 1. A transaction system employing at least one smart card, an authorization station and at least one transaction station, in which asymmetric cryptographic codes are used for transmission and verification of messages, and in which: a first cryptographic key is held only in said authorization station, a second cryptographic key is held only in said authorization station and said smart card, and a PIN, xi, is assigned by said authorization station to said smart card and held only by said authorization station and said smart card, c h a r a c t e r i z e d in that said authorization station issues at least one transaction certificate to said smart card containing encrypted data which includes a number which can only be derived by operating on said PIN with said second cryptographic key, in that said transaction station includes means adapted to verify that said smart card bears said second cryptographic key, and in that said first and second cryptographic keys are algorithms wherein, go is a generator, and 91 = _I0 X ' where x is a random number, and a number hi = gi xl , is at least known to said transaction station. 2. A system as claimed in claim 1, c h a r a c t e r i z e d in that said smart card includes first and second counter means, said first counter means being arranged to hold a number representative of a total transaction limit, and said second counter means arranged to hold a number indicating how many times the value of said first counter has been incremented. 3. A system as claimed in claim 2, c h a r a c t e r i z e d in that said first and second counters are adapted to be incremented in response to a message received from said authorization station, and said first counter is adapted to be decremented in response to a message received from a transaction station. 4. A system as claimed in any previous claim c h a r a c t e r i z e d in that each of said transaction certificates bears a unique number assigned by said authorization station. 5. A system as claimed in any previous claim, c h a r a c t e r i z e d in that said authorization station is located in a bank, said at least one transaction station is located in a shop, and said total transaction limit is a sum of money. 6. A system as claimed in claim 5, c h a r a c t e r i z e d in that money is added to said smart card by said authorization station transmitting a message to said smart card including the following data: z, r, s and K where : H (hi, z, s, K) = a, is a good hash function, gor _ hiz a , and s is the number held on said second counter means, and said smart card is adapted to verify that "s" corresponds to the number stored on said second counter means, and is adapted, after verification, to increment said first counter means by K and said second counter means by 1. 7. A system as claimed in claim 5, or 6, c h a r a c t e r i z e d in that said transaction certificates contain the following information: z, r, where: H (hi,z,c) = a is a good hash function, gθ r = hiz' z is a unique number identifying the transaction certificate to which it is attached, and c is a message containing information on transaction limits and dates, and z is stored at said bank. 8. A system as claimed in claim 7, c h a r a c t e r i z e d in that at least some of said transaction certificates are stored on electronic storage means separate from said smart card. 9. A system as claimed in claim 7, or 8, c h a r a c t e r i z e d in that a transaction is performed by electronic transfer of a transaction certificate from said smart card to said transaction station, in a form containing the following data: hi, z, r, c, Z, R, m where: H (hi, z,c) = a, gθ r = hiz a ; H(hi,Z,m) = A, g 0 R = hiZ A , m is a message indicating the money to be transferred from the smart card to the shop, and the transaction station verifies the validity of the relationships and accepts the transaction. 10. A system as claimed in claim 9, c h a r a c t e r i z e d in that, at a convenient time after completion of a transaction, the transaction station transmits a message to the bank indicating that the money m is to be transferred to the shop's credit, pursuant to a transaction certificate bearing a unique number z. 11. A system as claimed in claim 10, c h a r a c t e r i z e d in that the values of z and m are stored at the bank and used, if necessary, to verify the validity of the transaction. 12. A method of conducting off-line transactions employing at least one smart card, an authorization station and at least one transaction station, in which asymmetric cryptographic codes are used for transmission and verification of messages, and in which: a first cryptographic key is held only in said authorization station, - a second cryptographic key is held only in said authorization station and said smart card, and a PIN, xi, is assigned by said authorization station to said smart card and held only by said authorization station and said smart card, c h a r a c t e r i z e d by said authorization station issuing at least one transaction certificate to said smart card containing encrypted data which includes a number which can only be derived by operating on said PIN with said second cryptographic key, and by said transaction station verifying that said smart card bears said second cryptographic key, where said first and second cryptographic keys are algorithms, and go is a generator, and gi = go x ' where x is a random number, and a number hi = gl xl , is at least known to said transaction station. 13. A method as claimed in claim 12, c h a r a c t e r i z e d in that said smart card includes first and second counter means, said first counter means holding a number representative of a total transaction limit, and said second counter means holding a number indicating how many times the value of said first counter has been incremented. 14. A method as claimed in claim 13, c h a r a c t e r i z e d by incrementing said first and second counters in response to a message received from said authorization station, and decrementing said first counter in response to a message received from a transaction station. 15. A method as claimed in any of claims 12 to 14, c h a r a c t e r i z e d by each of said transaction certificates bearing a unique number assigned by said authorization station. 16. A method as claimed in any of claims 12 to 15, c h a r a c t e r i z e d in that said authorization station is located in a bank, said at least one transaction station is located in a shop, and said total transaction limit is a sum of money. 17. A method as claimed in claim 16, c h a r a c t e r i z e d in that money is added to said smart card by said authorization station transmitting a message to said smart card including the following data: z, r, s, and K, where: - H(hi,z,s,K) = a, is a good hash function, gθ r = hiz a , and s is the number held on said second counter means, and said smart card verifying that s corresponds to the number stored on said second counter means, and is adapted, after verification, incrementing said first counter means by K and said second counter means by 1. 18. A method as claimed in claim 16, or 17, c h a r a c t e r i z e d by said transaction certificates containing the following information: hi, z, r, c where: H (hi,z,c) = a is a good hash function, gθ r = hiz a , z is a unique number identifying the transaction certificate to which it is attached, and c is a message containing information on transaction limits and dates, and storing z at said bank. 19. A method as claimed in claim 18 c h a r a c t e r i z e d by storing at least some of said transaction certificates on electronic storage means separate from said smart card. 20. A method as claimed in claim 18 or 19, c h a r a c t e r i z e d in that a transaction is performed by electronic transfer of a transaction certificate from said smart card to said transaction station, in a form containing the following data: hi, z, r, c, Z, R, m where: H(hi, z,c) = a, gθ r = hiz a ; H(hi,Z,m) = A, m is a message indicating the money to be transferred from the smart card to the shop and the transaction station verifying the validity of the relationships and accepting the transaction. 21. A method as claimed in claim 20, c h a r a c t e r i z e d by the transaction station, at a convenient time after completion of a transaction, transmitting a message to the bank indicating that the money m is to be transferred to the shop's credit, pursuant to a transaction certificate bearing a unique number z . 22. A method as claimed in claim 21 c h a r a c t e r i z e d by storing the values of z and m at the bank and using z and m, if necessary, to verify the validity of the transaction to which they relate.

Inventors: HAASTAD JOHAN, HAASTAD, JOHAN
Applicants: HAASTAD JOHAN, TELIA AB, HAASTAD, JOHAN
Application year: 1996
Main classification: H04L9
IPC codes: G07F7