Authentication Method for IC Cards

Information

  • Patent Application
  • 20080016351
  • Publication Number
    20080016351
  • Date Filed
    June 28, 2007
    18 years ago
  • Date Published
    January 17, 2008
    17 years ago
Abstract
An authentication method between a first IC card and a second IC card interconnected through a terminal includes transmitting an identification number from the second IC card to the first IC card for deriving and storing a key in the first IC card. An authentication number is generated and stored in the first IC card, and is transmitted to the second IC card. The authentication number is encrypted inside the second IC card, and is transmitted to the first IC card. The encrypted authentication number is decrypted through the derived key, and is compared with the authentication number. The second IC card is authorized if the encrypted authentication number in the first IC card is equal to the authentication number. At least one of the transmissions includes an identification and/or authentication number to authorize the first IC card from the second IC card. The identification and/or authentication numbers include a reverse authentication number.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

Further characteristics and the advantages of the authentication method according to the present invention will be apparent from the following description of an embodiment thereof, made with reference to the annexed drawings, given for illustrative and non-limiting purposes.



FIG. 1 schematically shows a POS terminal interconnecting a user IC card with a SAM IC card, according to the prior art.



FIG. 2
a schematically shows a sequence of communication steps processed by an authentication method for authenticating a user IC card from a SAM IC card, according to the prior art.



FIG. 2
b schematically shows a sequence of communication steps processed by an authentication method for authenticating a SAM IC card from a user IC card, according to the prior art.



FIG. 3 schematically shows a sequence of communication steps driven by an authentication method for authenticating a user IC card from a SAM IC card and vice versa, according to the present invention.



FIG. 4 schematically shows in more detail the sequence of communication steps driven by an authentication method, according to the present invention





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

With more specific reference to FIG. 3, a plurality of communication steps driven by an authentication method according to the present invention involving a first SAM IC card 1 and a second user IC card 2 are schematically represented and globally indicated with reference numeral 10.


More particularly, the SAM IC card 1 is inserted in a first slot 3a of a POS terminal 3 and the user IC card 2 is inserted in a second slot 3b of the POS terminal 3. The SAM IC card 1 comprises a first memory unit 1a storing a Master Key 1M and a Function 1F while the user IC card 2 comprises a second memory unit 2a storing an identification number. The identification number may be an IC card serial number 2sn, for example.


More particularly, such a plurality of steps comprises one or more data transmissions sent from the SAM IC card 1 to the user IC card 2, and one or more data transmissions sent from the user IC card 2 to the SAM IC card 1. The authentication method provides that, during the transmission data required to perform the authentication of the user IC card 2 by the SAM IC card 1, data to perform the reverse authentication from the user IC card 2 to the SAM IC card 1 are sent.


More particularly, the authentication method provides that the serial number 2sn is sent from the user IC card 2 to the SAM IC card 1 to compute, through the Function 1F and the Master Key 1M, a Child Unique Key 1K. When the serial number 2sn is sent from the user IC card 2 to the SAM IC card 1, it is also sent a random number generated by the same user IC card 2 for authenticating the SAM IC card 1 by the user IC card 2. The transmission of this random number, hereinafter indicated as a reverse random number rev-rand, would be required by the authentication method finalized to recognize the SAM IC card 1 by the user IC card 2. Advantageously, the transmission of the random number rev-rand is anticipated and encapsulated inside the authentication method finalized to recognize the user IC card 2 by the SAM IC card 1.


In other words, at least one transmission intended to authenticate the user IC card 2 by the SAM IC card 1 is contemporarily used to authenticate the SAM IC card 1 by the user IC card 2. According to the prior art, a reverse random number rev-rand should be generated only during a second step of the communications. This is directed to authenticate the SAM IC card 1 by the user IC card 2.


The steps directed to authenticate the SAM IC card 1 by the user IC card 2 advantageously starts inside the steps directed to authenticate the user IC card by the SAM IC card. This speeds up the mutual authentication of both IC cards.


After the serial number 2sn and the reverse random number rev-rand are sent from the user IC card 2 to the SAM IC card 1, the authentication method advantageously provides that the SAM IC card 1 derives a plurality of encryption keys KICC, KENC and KMAC and generate a SAM random number 1rand. The SAM random number 1rand is used by the SAM IC card 1 to authenticate the user IC card 2, as substantially described above.


Both the reverse random number rev-rand and the SAM random number 1rand are included and transmitted in a message E from the SAM IC card 1 to the user IC card 2 advantageously using a first encrypted format generated through the key KENC. The authentication method provides that the user IC card 2 decrypts the message E in a message S. This is for retrieving the reverse random number rev-rand. The retrieved reverse random number rev-rand is compared with the one stored previously inside its memory unit 2a. In this way, the user IC card 2 may authenticate the SAM IC card 1.


Also, the authentication process from SAM IC card 1 to user IC card 2 is almost finished. The authentication method provides that the user IC card 2 encrypts the SAM random number 1rand with the key KENC, including it in a message E and sending it to the SAM. In this way, SAM IC card 1 authenticates user IC card 2.


The response of SAM IC card 1 to the query of authentication required by user IC card 2 not only contains information to satisfy such authentication, but also information to start a reverse authentication from SAM IC card 1 to user IC card 2.


An embodiment of the present description is described below in more detail. More particularly, the following acronyms are used:


SAM: a SAM IC card (1).


ICC: a user IC card (2).


IFD: a terminal (3) communicating with the SAM and the ICC.


MAC: an acronym for Message Authentication Code representing a method to verify data integrity.


MATM: the Authentication method according to the present invention.


TDEA: the TripleDES algorithm


KICC: a 16-bytes key used to derive a key session, more particularly, each ICC stores a different key KICC.


KENC: a 16-bytes key used to encrypt a given data.


KKAC: a 16-bytes key used to create a MAC on a given data.


RNDICC: a 8-byte random generated by the ICC.


RNDSAM: a 8-byte random generated by the SAM.


An embodiment of the authentication method according to the present invention, for a general TRANSIT APPLICATION and without limitation on the number or type of operations executed, comprises the steps schematically shown in the following TABLE 1.


More particularly, the first column of the table represents the operations executed by the SAM and the transmission of data from SAM to IFD. The second column represents the operations executed by the IFD and the transmission of data from IFD to SAM and/or ICC. Finally, the third column represents the operations executed by the ICC and the transmission of data from ICC to IFD.












TABLE 1





Step
SAM
IFD
ICC







 1.

← SELECT





TRANSIT




APPLICATION


 2.
1. The SAM



loads the



security



environment for



the TRANSIT



APPLICATION


 3.

SELECT TRANSIT




APPLICATION. →


 4.


a. The ICC





loads the





security





environment for





the TRANSIT





APPLICATION


 5.

INIT MUTUAL




AUTHENTICATION







 6.


a. The ICC





generate RNDICC





← RNDICC ||





ICC.SN || SP





b. The ICC





derives KENC


 7.

← INIT M.




AUTH. (RNDICC




|| ICC.SN )


 8.
The SAM



generates RNDSAM



The SAM



derives KICC,



KENC and KMAC



The SAM



computes:



ESAM = TDEA (RNDSAM



|| RNDICC , KENC )



ESAM


 9.

MUTUAL




AUTHENTICATION (ESAM ) →


10.


The ICC





computes: S =





TDEA−‘(ESAM,





KENC)





The ICC





compares the





RNDICC received





in S with the





RNDICC





generated at





step 6. If the





two RNDs are





equal then the





ICC proceeds,





otherwise an





Authentication





error is





returned and a





new mutual





authentication





process is





required.





The ICC





derives KMAC





The ICC





computes





EICC = TDEA (RNDICC





|| RNDSAM , KENC )





← EICC


11.

← TERMINATE




MUTUAL




AUTHENTICATION (EICC )


12.
The SAM



computes: S =



TDEA−1 (EICC,



KENC)



The SAM



compares the



RNDSAM received



in S with the



RNDSAM generated



at step 8. If



the two RNDs



are equal then



the SAM



proceeds,



otherwise an



Authentication



error is



returned and a



new mutual



authentication



process is



required.



The SAM



compares the



RNDICC received



in S with the



RNDICC received



at step 7. If



the two RNDs



are equal then



the SAM



proceeds,



otherwise an



Authentication



error is



returned and a



new mutual



authentication



process is



required.


13

DECREASE (AMT)









1. The IFD




computes




CO = CRC (DECREASE




(AMT) )


14


1. The ICC





computes





CO = CRC (DECREASE





(AMT))


15

UPDATE RECORD 1




(DATA1) →




1. The IFD




computes C1 =




CRC (UPDATE




RECORD 1




(DATA1))


16


1. The ICC





computes C1 =





CRC (UPDATE





RECORD 1





(DATA1))


. . .
. . .
. . .
. . .


. . .
. . .
. . .
. . .


17

UPDATE RECORD N




(DATAN) →




2. The IFD




computes CN =




CRC (UPDATE




RECORD N




(DATAN))


18


2. The ICC





computes CN =





CRCM (UPDATE





RECORD N





(DATAN))


19

← PSO CCC




(CN|| . . . ||C1||




C0)


20
1. The SAM



computes: M =



MAC(CN|| . . . ||C1||C0,



KMAC)



M →


21

PERFORM




TRANSACTION




OPERATION




COMMIT (M) →


22


1. The ICC





computes M1 =





MAC (CN|| . . . ||C1||C0,





KMAC)





2. The ICC





compares M1





with M. If the





two MACs are





equal then the





ICC proceed





with the





file/counter





data updating





otherwise no





file/counter





update takes





place, a new





mutual





authentication





process is





required and a





failure





condition is





returned.









The following features of the authentication method should be noted. The authentication method MATM starts with a proprietary APDU Init Mutual Authenticate sent from IFD to ICC (step 6). The ICC generates a RNDICC and then it derives KENC. The ICC sends the response composed by the serial number ICC.SN. The random RNDICC.SP is a security parameter comprising checking information, for example a padding to be used or the hashing method (CRC, SHA-1, MD5, RIPEMD-160 etc.) to be used on the exchanged transaction data.


The IFD sends the proprietary APDU Init Mutual Authenticate to the SAM including the serial number ICC.SN and the random RNDICC (step 7). The SAM generates RNDSAM and derives KICC, KENC and KMAC. The SAM computes the value ESAM, for example encrypting with algorithm TDEA and the key KENC, the 16 bytes data formed concatenating RNDSAM∥RNDICC, and sends the response ESAM to ICC (step 8). The IFD sends the proprietary APDU Mutual Authenticate to ICC with body ESAM (step 9).


The ICC decrypts the value ESAM, extracts RNDICC and verifies if it is the expected value. Then ICC extracts the RNDSAM and derives KMAC. The ICC computes the value EICC encrypting with algorithm TDEA and the key KENC the 16 bytes data formed concatenating RNDICC∥RNDSAM and sends the response EICC (step 10).


More particularly, the concatenation between RNDICC and RNDSAM at step 10 is inverted with respect to their concatenation at step 8, wherein RNDSAM stays before RNDICC. In this way, the ICC must necessarily decrypt the concatenation of RNDICC and RNDSAM before replying with the inverted concatenation.


The IFD sends the proprietary APDU Terminate Mutual Authenticate to the SAM with the value EICC (step 11). The SAM decrypts the value EICC extracts RNDSAM and RNDICC and verifies if they are the expected values. At this point, both ICC and SAM have been authenticated from the other one (step 12).


A series of APDUs may now be sent between ICC and IFD. During this exchange of data both ICC and IFD update the own digest on the exchanged transaction data using the hashing method defined in the security parameter (SP). If the CRC method is used, both the ICC and IFD update the own CRC value sequence C0, C1, . . . CN.


The CRC value sequence C0, C1, . . . CN is sent by the IFD to SAM using the APDU PSO CCC. The SAM computes the MAC M on the sequence with the key KMAC and it sends M in the response. The IFD sends M to ICC via the proprietary APDU, Perform Transaction Operation Commit. The ICC computes its own MAC M1 on its own CRC value sequence C0, C1, . . . CN and compares M1 with M. If the two MACs are equal then the ICC proceeds with an update. Otherwise, no file update takes place.


In conclusion, the illustrated authentication method is based on three macro phases: an Initial Mutual Authenticate phase for the initialization of the method, a core Mutual Authenticate phase, and a Terminate Mutual Authenticate phase.


Advantageously, the core Mutual Authenticate phase comprises the generation of RNDICC and RNDSAM for generating session keys, the creation of keys session KENC, KMAC for authenticating both the IC card (ICC/SAM) and the subsequently file-updating data, and the starting of the secure transaction on the ICC.


After successful ending of core Mutual Authenticate phase, it is possible to read and/or update files stored in the ICC card. During the whole process of file-updating, both the terminal IFD and IC card update their own digest values. For example, a CRC ISO 3309 CRCB may be used or a SHA-1. The last value of the digest is the input to final MAC computations.


The MAC is computed separately using the key KMAC by both the SAM and the ICC. Finally, the ICC compares the two separately computed MACs. If the comparison is successful, then all the file-updating operations are confirmed, otherwise the previous file content is restored.


The Mutual authentication method according to the present invention advantageously makes faster the bi-directional authentication between a SAM IC card and user IC card. This is a key requirement, especially for an authentication method based on contact-less communication, at the same time without affecting the security of the communication itself.


A plurality of steps allowing the user IC card to authenticate a SAM IC card are encapsulated inside the steps intended to allow the SAM IC card to authenticate the user IC card. The steps include the generation of random or identification number, and the derivation of one or more keys to be used for encrypting and decrypting the random or identification number.


The authentication method not only speeds up the mutual authentication of a couple of IC cards interconnected through a terminal, but also reduces the number of transmissions required by the mutual authentication. This advantageously improves security of the communication system comprising the terminal and the IC cards in order to increase the throughput of the terminal itself.

Claims
  • 1. Authentication method between a first IC card (1) and a second IC card (2) interconnected through a terminal (3) comprising the step of: a) transmitting an identification number (2sn) from said second IC card (2) to said first IC Card (1) for deriving a key (1K) in said first IC Card (1);b) generating and storing an authentication number (1rand) in said first (1) IC Card and transmitting it to said second (2) IC Card;c) encrypting said authentication number in an encrypted authentication number (enc-rand), inside said second (2) IC Card, and transmitting it to said first (1) IC Card;d) decrypting, through said key (1K), said encrypted authentication number (enc-rand) and comparing it with said authentication number (1rand);said method authenticating said second IC Card (2) if said encrypted authentication number (enc-rand), inside said first IC Card (1), is equal to said authentication number (1rand), characterized by the fact that:at least one transmission included in said steps comprises one or more identification and/or authentication number intended to authorize said first IC Card (1) from said second IC Card (2).
  • 2. Authentication method according to claim 1 characterized by the fact that said identification and/or authentication number comprises a reverse authentication number (rev-rand).
  • 3. Authentication method according to claim 2 characterized by the fact that said identification and/or authentication number comprises a reverse identification number (1sn).
  • 4. Authentication method according to claim 2 characterized by the fact that said transmission in said step a) comprises said authentication number (rev-rand).
  • 5. Authentication method according to claim 3 characterized by the fact that said transmission in said step b) comprises said identification number (1sn).
  • 6. Authentication method according to claim 1 characterized by the fact that said authentication number comprises an encrypted reverse authentication number (enc-rev-rand).
  • 7. Authentication method according to claim 6 characterized by the fact that said encrypted reverse authentication number (enc-rev-rand) is included in a step comprising a transmission from said first (1) to said second IC Card (2).
  • 8. Authentication method according to claim 2 characterized by the fact that said reverse authentication number (rev-rand) is generated and stored inside said second (2) IC Card.
  • 9. Authentication method according to claim 2 characterized by the fact that said identification number (2sn) and said reverse authorization number (rev-rand) are included in one of said steps comprising a transmission from said second (2) IC Card to said first (1) IC Card.
  • 10. Authentication method according to claim 9 characterized by the fact at least a second key is derived in said second (2) IC Card to encrypt said identification number (2sn) and said reverse authorization number (rev-rand).
  • 11. Authentication method according to claim 2 characterized by the fact that said authentication number (1rand) and said reverse authorization number (rev-rand) are transmitted together during one of said steps comprising a transmission from said first (1) IC Card to said second (2) IC Card.
  • 12. Authentication method according to claim 11 characterized by the fact at least a third key is derived in said first (1) IC Card to encrypt said authentication number (1rand) and said reverse authorization number (rev-rand).
  • 13. Authentication method according to claim 1 characterized by the fact at least an encryption algorithm is stored in said first (1) and second (2) IC Cards.
  • 14. Authentication method according to claim 1 characterized by the fact at least an decryption algorithm is stored in said first (1) and second (2) IC Cards.
Priority Claims (1)
Number Date Country Kind
06013462.4 Jun 2006 EP regional