FR3052279B1 - Authentification d'une carte par lecture sans contact - Google Patents
Authentification d'une carte par lecture sans contact Download PDFInfo
- Publication number
- FR3052279B1 FR3052279B1 FR1655074A FR1655074A FR3052279B1 FR 3052279 B1 FR3052279 B1 FR 3052279B1 FR 1655074 A FR1655074 A FR 1655074A FR 1655074 A FR1655074 A FR 1655074A FR 3052279 B1 FR3052279 B1 FR 3052279B1
- Authority
- FR
- France
- Prior art keywords
- key
- phase
- contactless communication
- pcd
- communication circuit
- 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.)
- Expired - Fee Related
Links
- 238000004891 communication Methods 0.000 claims abstract description 90
- 238000000034 method Methods 0.000 claims abstract description 75
- 230000005540 biological transmission Effects 0.000 claims abstract description 10
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 230000008878 coupling Effects 0.000 description 11
- 238000010168 coupling process Methods 0.000 description 11
- 238000005859 coupling reaction Methods 0.000 description 11
- 238000013478 data encryption standard Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000005672 electromagnetic field Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3234—Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10009—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
- G06K7/10297—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves arrangements for handling protocols designed for non-contact record carriers such as RFIDs NFCs, e.g. ISO/IEC 14443 and 18092
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- G06Q20/108—Remote banking, e.g. home banking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/409—Device specific authentication in transaction processing
-
- H04B5/77—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
- H04L9/16—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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 using challenge-response
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
- H04L2209/046—Masking or blinding of operations, operands or results of the operations
Abstract
L'invention concerne un procédé d'authentification d'un circuit de communication sans contact, PICC, par un terminal de communication sans contact, PCD, comprenant : la détermination par le PICC d'un premier nombre (A1) et la transmission du premier nombre au PCD ; la détermination par le PCD d'un deuxième nombre (Rb_pcd), par décryptage du premier nombre en utilisant une première clé (k), la détermination d'un troisième nombre (Ra_pcd| | R'b_pcd) à partir du deuxième nombre et la détermination d'un quatrième nombre (B1) par cryptage du troisième nombre (Ra_pcd| | R'b_pcd) en utilisant la première clé (k) ; et le décryptage par le PICC du quatrième nombre en utilisant la première clé (k) pour obtenir le troisième nombre et l'interruption de l'authentification si un sixième nombre (R'b_pcd) obtenu à partir du troisième nombre est différent d'un septième nombre (R'b), dans lequel la première phase ne comprend pas d'opération de cryptage utilisant la première clé.
Description
AUTHENTIFICATION D'UNE CARTE PAR LECTURE SANS CONTACT
Domaine
La présente description concerne de façon générale les circuits électroniques et, plus particulièrement, les circuits de communication sans contact. La présente description vise plus particulièrement l'authentification d'un circuit de communication sans contact par un terminal de communication sans contact.
Exposé de 1'art antérieur
La communication par une liaison sans contact entre un dispositif de couplage en champ proche (Proximity Coupling Device - PCD), par exemple un terminal sans contact (Contactless Reader), et un dispositif sans contact (Proximity Device - PD), notamment un circuit intégré sans contact (Proximity Integrated Circuit -PIC) ou une carte à circuit intégré sans contact (Proximity Integrated Circuit Card - PICC) , commence généralement par une opération d'authentification mutuelle du dispositif sans contact et du dispositif de couplage en champ proche. L'opération d'authentification comprend une succession d'étapes d'échange de données entre le dispositif de couplage en champ proche et le dispositif sans contact et d'étapes de calcul par le dispositif de couplage en champ proche et le dispositif sans contact. Certaines de ces étapes peuvent présenter des vulnérabilités à des attaques visant notamment à récupérer des informations concernant le procédé de cryptage mis en oeuvre par le dispositif sans contact. Résumé
Il serait souhaitable de protéger davantage les étapes d'une opération d'authentification d'un dispositif sans contact par un dispositif de couplage en champ proche.
Ainsi, un mode de réalisation prévoit un procédé d'authentification d'un circuit de communication sans contact par un terminal de communication sans contact, comprenant successivement : une première phase comprenant la détermination par le circuit de communication sans contact d'un premier nombre, la première phase se terminant par la transmission du premier nombre par le circuit de communication sans contact au terminal de communication sans contact ; une deuxième phase comprenant la détermination par le terminal de communication sans contact d'un deuxième nombre, par décryptage du premier nombre en utilisant une première clé, la détermination par le terminal de communication sans contact d'un troisième nombre à partir du deuxième nombre et la détermination par le terminal de communication sans contact d'un quatrième nombre par cryptage du troisième nombre en utilisant la première clé, la deuxième phase se terminant par la transmission du quatrième nombre par le terminal de communication sans contact au circuit de communication sans contact ; et une troisième phase comprenant le décryptage par le circuit de communication sans contact du quatrième nombre en utilisant la première clé pour obtenir le troisième nombre et 1'interruption par le circuit de communication sans contact de 1'authentification si un sixième nombre obtenu à partir du troisième nombre est différent d'un septième nombre, la première phase ne comprenant pas d'opération de cryptage utilisant la première clé.
Selon un mode de réalisation, le septième nombre est déterminé par le circuit de communication sans contact à partir d'un huitième nombre obtenu par décryptage par le circuit de communication sans contact du premier nombre en utilisant la première clé.
Selon un mode de réalisation, le procédé comprend, à la première phase, la détermination d'un neuvième nombre, le neuvième nombre étant aléatoire, sans opération de cryptage par le circuit de communication sans contact.
Selon un mode de réalisation, à la première phase, le premier nombre est égal au neuvième nombre.
Selon un mode de réalisation, à la première phase, le premier nombre est obtenu par cryptage par le circuit de communication sans contact du neuvième nombre en utilisant une deuxième clé différente de la première clé, la deuxième clé ayant la même taille que la première clé, l'algorithme de cryptage utilisant la deuxième clé étant le même que 1 ' algorithme de cryptage utilisant la première clé.
Selon un mode de réalisation, à la première phase, le premier nombre est obtenu par cryptage par le circuit de communication sans contact d'un dixième nombre non aléatoire en utilisant une troisième clé qui est aléatoire, la troisième clé ayant la même taille que la première clé, l'algorithme de cryptage utilisant la troisième clé étant le même que l'algorithme de cryptage utilisant la première clé.
Selon un mode de réalisation, à la première phase, le circuit de communication sans contact réalise de façon aléatoire les étapes suivantes : a) la détermination du premier nombre comme étant égal au résultat du cryptage du neuvième nombre en utilisant la première clé ; b) la détermination du premier nombre comme étant égal au huitième nombre.
Selon un mode de réalisation, le procédé comprend en outre à l'étape a) la détermination du huitième nombre comme étant égal au neuvième nombre et à l'étape b) la réalisation d'une opération de cryptage utilisant une quatrième clé différente de la première clé, la quatrième clé ayant la même taille que la première clé, l'algorithme de cryptage utilisant la quatrième clé étant le même que l'algorithme de cryptage utilisant la première clé.
Selon un mode de réalisation, le procédé comprend, en outre, à la troisième phase, la réalisation d'une étape c) par le circuit de communication sans contact, l'étape c) comprenant, lorsque l'étape a) est réalisée, la réalisation d'une opération de décryptage utilisant une cinquième clé différente de la première clé, la cinquième clé ayant la même taille que la première clé, l'algorithme de décryptage utilisant la cinquième clé étant le même que l'algorithme de cryptage utilisant la première clé et l'étape c) comprenant, lorsque l'étape b) est réalisée, la détermination du huitième nombre par décryptage par le circuit de communication sans contact du premier nombre en utilisant la première clé.
Selon un mode de réalisation, le procédé comprend successivement à la première phase, si une variable booléenne est vraie, la détermination par le circuit de communication sans contact du premier nombre comme étant égal au résultat du cryptage du neuvième nombre en utilisant la première clé et, si la variable booléenne est fausse, la réutilisation par le circuit de communication sans contact de la dernière valeur déterminée du premier nombre et comprenant la mise de la variable booléenne à 1'état faux.
Selon un mode de réalisation, le procédé comprend, en outre, à la troisième phase, la mise par le circuit de communication sans contact de la variable booléenne à 1'état vrai si le sixième nombre obtenu à partir du quatrième nombre est égal au septième nombre.
Selon un mode de réalisation, le procédé comprend, dans la seconde phase, la détermination par le terminal de communication sans contact d'un onzième nombre, le onzième nombre étant aléatoire, et la détermination par le terminal de communication sans contact d'un douzième nombre basé sur le deuxième nombre, le troisième nombre correspondant à la juxtaposition du onzième nombre et du douzième nombre.
Selon un mode de réalisation, le procédé comprend en outre, dans la troisième phase, la détermination par le circuit de communication sans contact d'un treizième nombre basé sur le troisième nombre, la détermination d'un quatorzième nombre par cryptage du treizième nombre en utilisant la première clé, la troisième phase se terminant avec la transmission du quatorzième nombre par le circuit de communication sans contact au terminal de communication sans contact.
Un mode de réalisation prévoit également un procédé d'authentification d'un circuit de communication sans contact par un terminal de communication sans contact, comprenant successivement : une première phase comprenant la détermination par le circuit de communication sans contact d'un premier nombre égal au résultat du cryptage d'un deuxième nombre avec une première clé, le deuxième nombre étant un nombre aléatoire, la première phase se terminant par la transmission du premier nombre par le circuit de communication sans contact au terminal de communication sans contact ; une deuxième phase comprenant la détermination par le terminal de communication sans contact d'un troisième nombre par décryptage du premier nombre en utilisant la première clé, la détermination par le terminal de communication sans contact d'un quatrième nombre à partir du troisième nombre et la détermination par le terminal de communication sans contact d'un cinquième nombre par cryptage du quatrième nombre en utilisant la première clé, le cinquième nombre comprenant au moins des première et deuxième parties juxtaposées, la deuxième phase se terminant par la transmission du cinquième nombre par le terminal de communication sans contact au circuit de communication sans contact ; et une troisième phase comprenant la détermination d'un sixième nombre par le circuit de communication sans contact à partir du deuxième nombre, la détermination d'un septième nombre par cryptage par un mode d'opération par enchaînement des blocs du sixième nombre en utilisant la première clé et un vecteur d'initialisation égal à la première partie du cinquième nombre et 1 ' interruption par le circuit de communication sans contact de l'authentification si le septième nombre est différent de la deuxième partie du cinquième nombre.
Selon un mode de réalisation, le procédé comprend, en outre, à la troisième phase, le décryptage par le circuit de communication sans contact du cinquième nombre en utilisant la première clé pour fournir le quatrième nombre.
Selon un mode de réalisation, le procédé comprend, en outre, à la troisième phase, la détermination par le circuit de communication sans contact d'un huitième nombre à partir du quatrième nombre, la détermination d'un neuvième nombre par cryptage du huitième nombre avec la première clé, la troisième phase se terminant par la transmission du neuvième nombre par le circuit de communication sans contact au terminal de communication sans contact.
Selon un mode de réalisation, chaque opération de cryptage réalisée par le circuit de communication sans contact comprend la fourniture d'au moins un premier bloc de message et d'un deuxième bloc de message, la fourniture d'un premier bloc de message chiffré par cryptage en utilisant la première clé du résultat de la fonction XOR appliquée entre le premier bloc de message et un vecteur d'initialisation et la fourniture d'un deuxième bloc de message chiffré par cryptage en utilisant la première clé du résultat de la fonction XOR appliquée entre le deuxième bloc de message et le premier bloc de message chiffré.
Selon un mode de réalisation, le procédé comprend, à la deuxième phase, la détermination par le terminal de communication sans contact d'un dixième nombre, le dixième nombre étant aléatoire, et la détermination par le terminal de communication sans contact d'un onzième nombre à partir du troisième nombre, le quatrième nombre correspondant à la juxtaposition du dixième nombre et du onzième nombre.
Selon un mode de réalisation, la première phase ne comprend pas d'opération de cryptage utilisant la première clé.
Un mode de réalisation prévoit également un circuit de communication sans contact comportant un microprocesseur programmé pour la mise en oeuvre du procédé tel que défini précédemment.
Un mode de réalisation prévoit également une carte à microcircuit comportant un circuit programmé pour la mise en oeuvre du procédé tel que défini précédemment.
Brève description des dessins
Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles : la figure 1 représente, de façon très schématique, un mode de réalisation d'un système de communication en champ proche ; la figure 2 est un schéma-bloc simplifié d'un exemple usuel d'un procédé d'authentification mutuelle d'un dispositif sans contact et d'un dispositif de couplage en champ proche ; les figures 3 à 5 sont des schémas-blocs simplifiés de modes de réalisation d'un procédé d'authentification mutuelle d'un dispositif sans contact et d'un dispositif de couplage en champ proche ; les figures 6 à 8 sont des schéma-blocs simplifiés de circuits de cryptage adaptés à la mise en oeuvre d'une opération de cryptage selon un mode d'opération par enchaînement de blocs ; et la figure 9 est un schéma-bloc simplifié d'un autre mode de réalisation d'un procédé d'authentification mutuelle d'un dispositif sans contact et d'un dispositif de couplage en champ proche.
Description détaillée
De mêmes éléments ont été désignés par de mêmes références aux différentes figures. Par souci de clarté, seuls les éléments qui sont utiles à la compréhension des modes de réalisation décrits ont été représentés et sont détaillés. En particulier, les échanges entre le dispositif de couplage en champ proche et un circuit intégré sans contact une fois l'opération d'authentification réalisée n'ont pas été détaillés, les modes de réalisation décrits étant compatibles avec les échanges usuels. Sauf précision contraire, les expressions "approximativement", "sensiblement", et "de l'ordre de" signifient à 10 % près, de préférence à 5 % près.
Des modes de réalisation sont décrits en prenant pour exemple une carte sans contact constituant une carte à circuit intégré sans contact (PICC) et un lecteur sans contact constituant un dispositif de couplage en champ proche (PCD). Ils s'appliquent toutefois plus généralement à tout dispositif utilisé en dispositif de couplage en champ proche et à tout circuit intégré de communication sans contact dans lesquels des problèmes similaires se posent.
La figure 1 représente, de façon très schématique, un système de communication sans contact du type auquel s ' appliquent les modes de réalisation décrits.
Un terminal 10 de communication sans contact ou lecteur sans contact (READER) génère un champ électromagnétique. Une carte 12 (CARD) sans contact se trouvant à portée du lecteur capte ce champ et est alors capable d'échanger des informations avec le lecteur 10.
La carte 12 peut héberger une ou plusieurs applications. A titre d'exemple; ces applications peuvent exploiter une technologie connue sous la dénomination MIFARE. L'application qui doit être lancée par la carte peut dépendre du lecteur avec lequel elle communique. En effet, un lecteur est généralement dédié à une application (par exemple, bancaire, de transport, de contrôle d'accès, etc.) et l'activation d'une carte dans le champ du lecteur dépend du protocole que la carte accepte.
La technologie MIFARE® se décline selon différentes variantes notamment les variantes MIFARE DESFire® ou MIFARE Plus®. MIFARE®, MIFARE DESFire® et MIFARE Plus® sont des marques de NXP B.V. enregistrées aux USA. Ces variantes se distinguent notamment par les procédés de cryptage mis en oeuvre. Selon un exemple, le procédé de cryptage correspond à un algorithme de chiffrement symétrique, par exemple l'algorithme AES (acronyme anglais pour Advanced Encryption Standard) ou l'algorithme DES (acronyme anglais pour Data Encryption Standard) utilisant une clé, deux clés ou trois clés de chiffrage.
La figure 2 est un schéma-bloc simplifié d'un exemple usuel d'un procédé -d'authentification mutuelle d'un lecteur et d'une carte à puces sans contact mettant en oeuvre la technologie MIFARE DESFire ou MIFARE Plus.
Le procédé d'authentification de la carte PICC débute lorsque le lecteur a détecté la présence de la carte et veut authentifier la carte. D'autres commandes peuvent être envoyées avant le début de l'authentification. Le procédé d'authentification comprend des phases successives SI, S2, S3 et S4 comprenant chacune des étapes successives.
Le PCD et le PD partagent la connaissance d'un nombre de valeurs de clés. A la phase Si, le lecteur (PCD) sélectionne une clé (étape 20) et transmet son identifiant Id^ 'à la carte (PICC) avec une commande d'authentification. La longueur de la clé k dépend notamment de 1'algorithme de cryptage mis en oeuvre. A titre d'exemple, la longueur de la clé peut être de 8, 16 ou 24 bits.
La carte génère un nombre aléatoire Rj-, de longueur RL (étape 22) . La longueur RL du nombre aléatoire Rj-, dépend de l'algorithme de cryptage mis en oeuvre. A titre d'exemple, la longueur RL peut être de 8 ou 16 bits. La carte détermine alors un message chiffré A^ par cryptage du nombre aléatoire Rj-, en utilisant la clé k avec l'identifiant Idp (étape 24) et transmet le message chiffré Ay au lecteur. A la phase S2, le lecteur décrypte le message chiffré Ay en utilisant la même clé k et obtient un nombre aléatoire Rp pcd (étape 26) . Le lecteur détermine alors un nombre aléatoire R'b pcd (étape 28) à partir du nombre aléatoire Rp pCp en décalant de façon circulaire à gauche, en représentation binaire, les bits du nombre aléatoire Rp pCp de plusieurs bits, par exemple de 8 bits. Le lecteur génère un nouveau nombre aléatoire Ra pCp de longueur RL (étape 30). Le lecteur détermine un message Ra pcdlIR'b pcd Par concaténation du nombre aléatoire Ra pCp et du nombre aléatoire R'p pCp et détermine un message chiffré By par cryptage du message Ra pCp| IR'b pcd en utilisant la clé k (étape 32) et transmet le message chiffré By à la carte. A la phase S3, la carte décrypte le message chiffré By en utilisant la clé k pour obtenir le message Ra pCCJ |R'p pcd (étape 36) . La carte détermine alors un nombre aléatoire R'p (étape 38) à partir du nombre aléatoire Rp en décalant de façon circulaire vers la gauche, en représentation binaire, les bits du nombre aléatoire Rp de plusieurs bits, par exemple de 8 bits. La carte compare les nombres aléatoires R'p pC<y et R'p. (étape 40). Si les deux nombres aléatoires R'p pCCj et R'p ne sont pas identiques, la carte interrompt l'opération d'authentification qui échoue (étape 42). Ceci correspond à l'authentification du PCD par le PICC. Si les deux nombres aléatoires R'p pCp et R'p sont identiques, la carte détermine alors un nombre aléatoire R'a (étape 44) à partir du nombre aléatoire Ra pCp en décalant de façon circulaire vers la gauche les bits du nombre aléatoire Ra pCd de plusieurs bits, par exemple de 8 bits. La carte détermine un message chiffré A2 par cryptage du nombre aléatoire R'a en utilisant la clé k (étape 46) et transmet le message chiffré A2 au lecteur. A la phase S4, le procédé peut comprendre des étapes supplémentaires (étape 48), notamment l'authentification du PICC par le PCD par la vérification du message A2, la détermination d'une clé de session utilisée pour les opérations ultérieures de cryptage et de décryptage par le lecteur et la carte. La clé de session peut être obtenue à partir des nombres aléatoires Ra et Rb.
Pour les procédés d'authentification de carte par lecture avec contact, il est connu de prévoir le comptage par la carte du nombre de tentatives d'authentification infructueuses et d'arrêter l'opération d'authentification lorsque le nombre de tentatives infructueuses dépasse un seuil. Toutefois, le comptage par la carte du nombre de tentatives d'authentification infructueuses, opération coûteuse en temps, n'est généralement pas prévu lors d'un procédé d'authentification d'une carte sans contact. En effet, une personne détenant un PCD frauduleux près du PICC pourrait transmettre des authentifications invalides jusqu'à ce que la carte soit bloquée. Pour des technologies qui ne prévoient pas un mécanisme de déblocage, ceci entraîne une destruction permanente de la carte. En outre, les échanges de signaux entre la carte et le lecteur n'ayant lieu que pendant la brève durée pendant laquelle la carte est à proximité du lecteur, l'opération d'authentification doit être la plus rapide possible. Un attaquant peut donc réaliser autant de tentatives d'authentification qu'il le souhaite.
Une faiblesse du procédé d'authentification décrit précédemment est qu'un attaquant peut répéter les étapes décrites précédemment réalisées par la carte à la phase SI de la même clé k. A chaque fois, un nouveau nombre aléatoire Rj-, et un nouveau message chiffré A]_ sont déterminés. L'analyse d'un nombre limité de traces d'attaques par canaux auxiliaires et les messages chiffrés A^ obtenus permet de réduire considérablement l'espace des clés k possibles sans qu'il y ait besoin alors d'exécuter à chaque répétition les autres phases du procédé d'authentification. Le fait que le PD génère des nouveaux nombres aléatoires fournit à l'attaquant une distribution intéressante de traces. L'attaquant peut ensuite réaliser une attaque par force brute sur 1'espace réduit des clés. L'attaquant sait que l'attaque a réussi lorsque la comparaison réalisée par la carte à l'étape 40 de la phase S3 n'aboutit pas à un échec.
Une autre faiblesse du procédé d'authentification décrit précédemment est que le message chiffré B]_ utilisé par la carte à la phase S3 peut être imposé par l'attaquant. Un attaquant peut donc répéter autant de fois que souhaité l'étape 36 de décryptage en imposant un message chiffré B]_ de son choix, obtenant ainsi des traces d'attaques par canaux auxiliaires. Toutefois, une attaque utilisant cette faiblesse prend plus de temps dans la mesure où les étapes des phases SI et S2 doivent être réalisées avant chaque tentative.
Des modes de réalisation d'un procédé d'authentification vont être décrits dans lesquels les étapes exécutées à la phase SI par la carte sont modifiées pour empêcher un attaquant d'utiliser ces étapes pour obtenir des informations suffisantes sur la clé k. La faiblesse décrite précédemment concernant les étapes réalisées par la carte à la phase SI ne peut alors plus être utilisée par un attaquant.
La figure 3 est un schéma-bloc simplifié d'un mode de réalisation d'un procédé d'authentification d'une carte PICC par un lecteur PCD. Le présent mode de réalisation du procédé d'authentification comprend les étapes du procédé d'authentification décrit précédemment en relation avec la figure 2 à la différence que les étapes 22 et 24 sont remplacées par une étape 50 dans laquelle le nombre A]_ est obtenu directement par génération d'un nombre aléatoire de longueur RL. Le présent mode de réalisation comprend, en outre, à la phase S3, avant l'étape 36, une étape 52 de détermination du nombre aléatoire Rj-, par décryptage du nombre A]_ en utilisant la clé k par la carte.
Selon une variante, l'étape 50 décrite précédemment est remplacée par une étape de détermination du message chiffré A]_ par le cryptage du nombre aléatoire en utilisant une clé dummy différente de la clé k.
Selon une autre variante, à l'étape 50, le message chiffré Ai est obtenu par cryptage d'un nombre donné, par exemple 0, avec une clé égale à un nombre aléatoire de longueur RL.
La faiblesse décrite précédemment concernant les étapes réalisées par la carte à la phase SI ne peut plus être utilisée par un attaquant puisque ces étapes ne comprennent plus d'étape de cryptage utilisant la clé k.
La figure 4 est un schéma-bloc simplifié d'un autre mode de réalisation d'un procédé d'authentification d'une carte par un lecteur. Dans le présent mode de réalisation, il est mis en oeuvre de façon aléatoire le procédé décrit précédemment en relation avec la figure 2 ou le procédé décrit précédemment en relation avec la figure 3.
Plus précisément, le mode de réalisation du procédé d'authentification comprend les étapes du procédé d'authentification décrit précédemment en relation avec la figure 2 à la différence que les étapes 22 et 24 sont remplacées par les étapes 60, 62, 64 et 66 décrites ci-après. La carte génère un nombre aléatoire Rç de longueur RL (étape 60). La carte détermine un bit aléatoire c (étape 62) et le compare à "0" (étape 64). Si le bit c est égal à "0", la carte détermine le message chiffré A^ par cryptage du nombre aléatoire R^ en utilisant la clé k (étape 66) et transmet le message chiffré A]_ au lecteur. Le nombre aléatoire Rj-, utilisé à la phase S3 est alors égal au nombre aléatoire R]_. Si le bit c est égal à "1", le nombre A]_ transmis par la carte au lecteur est égal à R^ et la carte réalise une opération de cryptage en attribuant au nombre R^ le résultat du cryptage du nombre aléatoire Rg en utilisant une clé dummy différente de la clé k (étape 68) . Le résultat de ce cryptage n'est pas utilisé mais assure qu'en utilisant une attaque par canaux auxiliaires, le cas dans lequel c est égal à "1" fournit la même trace que le cas dans lequel c est égal à "0".
Le présent mode de réalisation du procédé d'authentification comprend, en outre, à la phase S3, avant l'étape 36, les étapes supplémentaires 70, 72 et 74 décrites ci- après. La carte compare le bit aléatoire c à "0" (étape 70). Si le bit c est égal à "0", c'est-à-dire lorsque l'étape 66 a été exécutée à la phase SI, la carte exécute une opération de décryptage en attribuant à Ay le résultat d'un décryptage du nombre aléatoire Ry en utilisant une clé dummy différente de la clé k (étape 72). Le résultat de ce décryptage n'est pas utilisé mais assure qu'en utilisant une attaque par canaux auxiliaires, le cas dans lequel c est égal à "1" fournit la même trace que le cas dans lequel c est égal à "0".
Si le bit c est égal à "0", c'est-à-dire lorsque l'étape 68 a été exécutée à la phase Si, la carte détermine le nombre aléatoire Rp par le décryptage du nombre Ay en utilisant la clé k (étape 74).
La faiblesse décrite précédemment concernant les étapes réalisées par la carte à la phase SI ne peut plus être utilisée par un attaquant puisque ces étapes ne comprennent plus d'étape de cryptage utilisant la clé k. En outre, une étape de cryptage est toujours réalisée à la phase SI et une étape de décryptage est toujours réalisée à la phase S2 même si ces étapes ne sont pas nécessairement utiles selon la valeur du bit c. Ceci permet d'empêcher une attaque par canaux auxiliaires dans la mesure où un attaquant ne peut pas différencier les étapes de cryptage/décryptage utiles et non utiles.
La figure 5 est un schéma-bloc simplifié d'un autre mode de réalisation d'un procédé d'authentification d'une carte par un lecteur. Dans le présent mode de réalisation, la carte réalise les étapes 22 et 24 décrites précédemment seulement si la dernière procédure d'authentification s'est déroulée correctement. Lorsque la dernière procédure d'authentification ne s'est pas déroulée correctement, le nombre aléatoire Ry, et le message chiffré Ay utilisés à la dernière procédure d'authentification qui s'est déroulée correctement sont à nouveau utilisés.
Plus précisément, le présent mode de réalisation du procédé d'authentification comprend les étapes du procédé d'authentification décrit précédemment en relation avec la figure 2 et comprend, en outre, une étape 80 à laquelle la carte détermine si une variable booléenne ok est vraie, la variable ok étant initialisée à la valeur vraie à la première tentative d'authentification de la carte. Si la variable ok est à l'état vrai, les étapes 22 et 24 sont exécutées par la carte. Si la variable ok est à l'état faux, la carte réutilise les valeurs et Ap déterminées à la procédure d'authentification précédente (étape 82). Après avoir exécuté les étapes 22 et 24 ou l'étape 82, la carte met la variable ok à l'état faux (étape 84). Le présent mode de réalisation comprend, en outre, après les étapes 36 à 46, une étape 86 à laquelle la carte met la variable ok à l'état vrai.
Le présent mode de réalisation permet qu'une étape de cryptage à la phase SI ne soit réalisée par la carte que lorsque la procédure d'authentification précédente s'est déroulée correctement. Une attaque dans laquelle la phase SI serait répétée sans toutefois aboutir à une authentification réussie, notamment pour déterminer des informations sur la clé k, n'entraînerait pas à chaque répétition de la phase SI la réalisation d'une nouvelle étape de cryptage, ce qui réduit les informations utiles que peut espérer récupérer l'attaquant.
Une opération de cryptage/décryptage est effectuée en utilisant au moins un module de cryptage/décryptage. Un mode de cryptage/décryptage a une longueur de bloc de chiffrement, BL, et est adapté à crypter/décrypter des messages de la même longueur que la longueur de bloc de chiffrement. A titre d'exemple, pour l'algorithme DES, BL peut être de 8 bits et pour l'algorithme AES, BL peut être de 16 bits. Pour les messages qui sont plus longs que BL et correspondant à un multiple de BL, l'opération de cryptage/décryptage peut être effectuée par enchaînement des blocs de chiffrement (CBC) . Un autre mode de réalisation va maintenant être décrit qui est adapté au cas où le procédé de cryptage ou de décryptage utilisé pour déterminer les messages chiffrés Ap et Bp met en oeuvre un mode d'opération par enchaînement des blocs (CBC pour Cipher Block Chaining).
La figure 6 est un schéma-blocs d'un circuit de cryptage 90 illustrant le principe d'une opération de cryptage selon un mode d'opération CBC. Le circuit 90 comprend des modules MODg, MODg, MODg de cryptage, trois modules étant représentés en figure 6. Chaque module de cryptage MOD]_, MOD2, MOD3 peut effectuer une opération de cryptage avec la même clé k. Le circuit 90 reçoit, pour chaque module MODg, MOD2, MOD3, un bloc de message à chiffrer Eg, E2, E3 et fournit, pour chaque module MOD]_, MOD2, MOD3, un bloc de message chiffré Oy, O2 et O3. Chaque module MOD^, MOD2, MOD3 reçoit un nombre IN]_, IN2, IN3 et fournit le bloc de message chiffré O]_, 03, O3 par cryptage du nombre IN]_, IN2, IN3 en utilisant une clé key qui est la même pour tous les modules MODg, MOD2, MOD3.
Le mode d'opération est dit par enchaînement des blocs dans la mesure où chaque nombre qui est crypté par un module correspond au résultat de la fonction XOR appliquée entre le nombre d'entrée du module et le bloc de message crypté fourni par le module précédent. Comme cela est représenté en figure 6, le nombre IN3 est le résultat de la fonction XOR appliquée entre les nombres E3 et O2 et le nombre IN2 est le résultat de la fonction XOR appliquée entre les nombres E2 et O]_. Pour le premier module MOD]_, le nombre INy est obtenu par addition binaire du nombre Eg . et d'un nombre VI appelé vecteur d'initialisation.
La figure 7 est un schéma-blocs d'un circuit de cryptage 92 du type représenté en figure 6 pouvant être mis en oeuvre dans les modes de réalisation décrits précédemment dans le cas où le procédé de cryptage correspond à 1'algorithme AES ou 1'algorithme DES utilisant une clé ou deux clés. La longueur.de chaque nombre aléatoire utilisé par le lecteur ou la carte est alors égale à la longueur du nombre pouvant être crypté par un module de cryptage, c'est-à-dire la longueur, de bloc de chiffrement.
En figure 7, à titre d'exemple, on a représenté l'opération de cryptage pour l'obtention du message chiffré Bg à partir des nombres aléatoires Ra pCq et R^ pCCp Le message chiffré B]_ a deux fois la longueur RL et se divise en deux blocs juxtaposés, un premier bloc By,y et un deuxième bloc By 2, chacun ayant une longueur RL. Le module MODy reçoit le résultat de la fonction XOR appliquée entre le nombre aléatoire Ra pC(y et un vecteur d'initialisation IV et fournit le premier bloc By,y du message chiffré By. Le module MOD2 reçoit le résultat de la fonction XOR appliquée entre le nombre aléatoire Ry-, pCCy et le bloc de message crypté By,y et fournit le deuxième bloc By,2 du message chiffré By. A la première opération de cryptage, le vecteur d'initialisation IV est, par exemple, égal à "0". Le deuxième bloc By 2 est utilisé, par exemple, comme vecteur d'initialisation IV lors de la prochaine opération de cryptage. A titre de variante, IV est pris égal à "0" pour chaque opération de cryptage.
La figure 8 est un schéma-blocs d'un circuit de cryptage . 94 du type représenté en figure 6 pouvant être mis en oeuvre dans les modes de réalisation décrits précédemment dans le cas où le procédé de cryptage correspond à l'algorithme DES utilisant trois clés. La longueur RL, en représentation binaire, de chaque nombre aléatoire utilisé par le lecteur ou la carte est alors égale au double de la longueur BL.
En figure 8, à titre d'exemple, on a représenté l'opération de cryptage pour l'obtention du message chiffré By à partir des nombres aléatoires Ra pCj et Ry-, pCcj. Le message chiffré By a quatre fois la longueur BL et se divise en quatre blocs juxtaposés Byfya, By^yy^, By,2a et Bl,2b de longueur BL. Le nombre aléatoire Ra pCcj se divise en deux blocs juxtaposés Ra pcd, 1 et Ra pcd, 2 de longueur BL et le nombre aléatoire Ry-, pCCy se divise en deux blocs juxtaposés Ry-, pcd, 1 et Rb pcd, 2 de longueur BL. Le module MODy reçoit le résultat de la fonction XOR appliquée entre le bloc Ra pcd,1 et Ie vecteur d'initialisation IV et fournit le premier bloc By,ya du message chiffré By. Le module MOD2 reçoit le résultat de la fonction XOR appliquée entre le bloc Ra pCd, 2 et le bloc de message chiffré By,ya et fournit le deuxième bloc Bl,lb du message chiffré By. Le module MOD3 reçoit le résultat de la fonction XOR appliquée entre le nombre aléatoire Ry, pcd,1 et le bloc de message chiffré By^yy, et fournit le troisième bloc
Bp 2a du message chiffré Bp. Le module MOD4 reçoit le résultat de la fonction XOR appliquée entre le bloc Rj-, pCd,2 et Ie bloc Bp, 2a et fournit le quatrième bloc Bp,2b du message chiffré Bp. Le quatrième bloc Bp,2b est utilisé, par exemple, comme vecteur d'initialisation IV lors de la prochaine opération de cryptage. Les premier et deuxième blocs juxtaposés Bp,pa et Βρ,ρ^ forment un premier bloc Βρ,ρ de longueur RL du message chiffré Bp et les troisième et quatrième blocs juxtaposés Bp,2a et Bp,2b forment un deuxième bloc Bp, 2 de longueur RL du message chiffré Bp.
La figure 9 est un schéma-bloc simplifié d'un mode de réalisation d'un procédé d'authentification d'une carte par un lecteur.
Dans le présent mode de réalisation, à la phase S3, des étapes supplémentaires sont prévues de façon qu'un attaquant ne puisse plus commander le nombre utilisé pour une opération de cryptage ou de décryptage.
Plus précisément, le mode de réalisation du procédé d'authentification comprend les étapes du procédé d'authentification décrit précédemment en relation avec la figure 2 à la différence que, à la phase S3, l'étape 38 n'est pas présente et que la carte réalise à la phase S3 des étapes supplémentaires 100, 102, 104 et 106, avant l'étape 36, décrites ci-après. La carte détermine le nombre aléatoire R'b (étape 100) à partir du nombre aléatoire Rb en décalant de façon circulaire vers la gauche, en représentation binaire, les bits du nombre aléatoire Rb de plusieurs bits, par exemple de 8 bits. La carte met en oeuvre le procédé de cryptage (étape 102) en utilisant la clé k et le nombre aléatoire R'b qui est fourni, selon sa longueur, au premier module ou aux premiers modules du circuit de cryptage. Pour l'exemple de procédé de cryptage illustré en figure 7 dans lequel chaque module de cryptage peut recevoir un nombre ayant la même longueur RL que le nombre aléatoire R'b, Ie nombre aléatoire R'b est fourni au premier module de cryptage. Pour l'exemple de procédé de cryptage illustré en figure 8 dans lequel chaque module de cryptage peut recevoir un nombre ayant la moitié de la longueur RL du nombre aléatoire R'b' Ie premier bloc du nombre aléatoire R'b est fourni au premier module de cryptage et le deuxième bloc du nombre aléatoire R'b est fourni au deuxième module de cryptage. En outre, le procédé de cryptage est réalisé en utilisant comme vecteur initial IV le dernier bloc du message chiffré By qui est associé au nombre aléatoire Ra pCCp c'est-à-dire le bloc By,y du message chiffré By pour 1'exemple de procédé de cryptage illustré en figure 7 et le bloc By,yb du message chiffré By pour l'exemple de procédé de cryptage illustré par la figure 8. Le premier module ou les premiers modules du circuit de cryptage fournissent alors un bloc de message chiffré By,2 picc longueur RL. La carte compare alors le deuxième bloc By,2 du message chiffré By avec le bloc de message chiffré By,2 picc (étape 104) . Si le deuxième bloc du message chiffré By est différent-du nombre By,2 picc' la carte interrompt la phase d'authentification (étape 106). Si les deux nombres sont identiques, la carte continue à l'étape 36 décrite précédemment. A titre de variante, les étapes 40 et 42 peuvent ne pas être présentes.
Un attaquant souhaitant réaliser une attaque à la phase S3, peut imposer le message chiffré By utilisé par la carte à la phase S3. Toutefois, 1'attaquant,n'a pas accès au nombre aléatoire R'b· Comme une fonction XOR est appliquée entre le nombre aléatoire R'b et un bloc du message chiffré By, l'attaquant ne commande pas le nombre utilisé par les modules de cryptage lors de l'opération de cryptage.
Les modes de réalisation décrits précédemment sont mis en oeuvre côté carte et sont transparents pour le lecteur. Ils ne demandent aucune modification côté lecteur. Les cartes ainsi réalisées (programmées) sont donc compatibles avec les lecteurs existants.
Divers modes de réalisation ont été décrits. Diverses variantes et modifications apparaîtront à l'homme de l'art. En particulier, bien que les modes de réalisation aient été décrits en relation avec une carte à microcircuit, ils sont compatibles avec une réalisation dans tout dispositif de communication en champ proche dans lequel des problèmes similaires se posent, par exemple un téléphone mobile équipé d'un routeur NFC opérant en mode carte. Par ailleurs, bien que les modes de réalisation aient été plus particulièrement décrits en relation avec un exemple d'application à des transactions MIFARE, ils se transposent à d'autres applications dans lesquelles des problèmes similaires se posent. En outre, la mise en oeuvre pratique des modes de réalisation qui ont été décrits est à la portée de l'homme du métier à partir des indications fonctionnelles données ci-dessus et en utilisant ou programmant des circuits en eux-mêmes usuels. En particulier, un circuit intégré de communication sans contact auquel s'appliquent ces modes de réalisation comporte généralement au moins un microprocesseur, une ou plusieurs unités de mémoire volatile et non volatile, une interface de communication en champ proche et, souvent, d'autres circuits en fonction des applications hébergées.
Divers modes de réalisation avec diverses variantes ont été décrits ci-dessus. On note que l'homme de l'art peut combiner divers éléments de ces divers modes de réalisation et variantes sans faire preuve d'activité inventive. En particulier, le mode de réalisation décrit précédemment en relation avec la figure 9 peut être mis en oeuvre avec l'un quelconque des modes de réalisation décrits précédemment en relation avec les figures 3, 4 et 5.
Claims (15)
- REVENDICATIONS1. Procédé d'authentification d'un circuit de communication sans contact (PICC) par un terminal de communication sans contact (PCD) , comprenant successivement : une première phase (SI) comprenant la détermination par le circuit de communication sans contact d'un premier nombre (A]_) , la première phase se terminant par la transmission du premier nombre (A]_) par le circuit de communication sans contact au terminal de communication sans contact ; une deuxième phase (S2) comprenant la détermination par le terminal de communication sans contact d'un deuxième nombre (Rb pCd)/ par décryptage du premier nombre en utilisant une première clé (k) , la détermination par le terminal de communication sans contact d'un troisième nombre (Ra pcdl IR'b pcd) à partir du deuxième nombre (Rj-, pCj) et la détermination par le terminal de communication sans contact d'un quatrième nombre (B]_) par cryptage du troisième nombre (Ra pcdl lR'b pcd) en utilisant la première clé (k), la deuxième phase se terminant par la transmission du quatrième nombre (B]_) par le terminal de communication sans contact au circuit de communication sans contact ; et une troisième phase (S3) comprenant le décryptage par le circuit de communication sans contact du quatrième nombre (B]_) en utilisant la première clé (k) pour obtenir le troisième nombre (Ra pcdllR’b pcd) et l'interruption par le circuit de communication sans contact de l'authentification si un sixième nombre (R'b pcd) obtenu à partir du troisième nombre (Ra pcdllR'b pcd) est différent d'un septième nombre (R'b), dans lequel la première phase ne comprend pas d'opération de cryptage utilisant la première clé (k).
- 2. Procédé selon la revendication 1, dans lequel le septième nombre (R'b) est déterminé par le circuit de communication sans contact (PICC) à. partir d'un huitième nombre (Rb) obtenu par décryptage par le circuit de communication sans contact (PICC) du premier nombre (A]_) en utilisant la première clé (k).
- 3. Procédé selon la revendication 1 ou 2, comprenant, à la première phase (SI), la détermination d'un neuvième nombre (R]_), le neuvième nombre étant aléatoire, sans opération de cryptage par le circuit de communication sans contact (PICC).
- 4. Procédé selon la revendication 3, dans lequel, à la première phase (SI), le premier nombre (A^) est égal au neuvième nombre.
- 5. Procédé selon la revendication 3, dans lequel, à la première phase (SI), le premier nombre (A]_) est obtenu par cryptage par le circuit de communication sans contact (PICC) du neuvième nombre en utilisant une deuxième clé différente de la première clé (k) , la deuxième clé ayant la même taille que la première clé, l'algorithme de cryptage utilisant la deuxième clé étant le même que l'algorithme de cryptage utilisant la première clé.
- 6. Procédé selon la revendication 1 ou 2, dans lequel, à la première phase, le premier nombre (Ay) est obtenu par cryptage par le circuit de communication sans contact (PICC) d'un dixième nombre non aléatoire en utilisant une troisième clé qui est aléatoire, la troisième clé ayant la même taille que la première clé, l'algorithme de cryptage utilisant la troisième clé étant le même que l'algorithme de cryptage utilisant la première clé.
- 7. Procédé selon la revendication 3, dans lequel, à la première phase (SI), le circuit de communication sans contact (PICC) réalise de façon aléatoire les étapes suivantes : a) la détermination du premier nombre (A]_) comme étant égal au résultat du cryptage du neuvième nombre (R3J en utilisant la première clé (k) ; b) la détermination du premier nombre (A]_) comme étant égal au huitième nombre (R]_) .
- 8. Procédé selon la revendication 7, comprenant en outre à l'étape a) la détermination du huitième nombre (Rj-,) comme étant égal au neuvième nombre (R]_) et à l'étape b) la réalisation d'une opération de cryptage utilisant une quatrième clé (dummy) différente de la première clé (k) , la quatrième clé ayant la même taille que la première clé, l'algorithme de cryptage utilisant la quatrième clé étant le même que 1 ' algorithme de cryptage utilisant la première clé.
- 9. Procédé selon la revendication 7 ou 8, comprenant, en outre, à la troisième phase (S3), la réalisation d'une étape c) par le circuit de communication sans contact (PICC), l'étape c) comprenant, lorsque l'étape a) est réalisée, la réalisation d'une opération de décryptage utilisant une cinquième clé (dummy) différente de la première clé (k) , la cinquième clé ayant la même taille que la première clé, l'algorithme de décryptage utilisant la cinquième clé- étant le même que 1 ' algorithme de cryptage utilisant la première clé et l'étape c) comprenant, lorsque l'étape b) est réalisée, la détermination du huitième nombre (¾) par décryptage par le circuit de communication sans contact (PICC) du premier nombre (A^) en utilisant la première clé (k).
- 10. Procédé selon la revendication 3, comprenant successivement à la première phase (SI), si une variable booléenne (ok) est vraie, la détermination par le circuit de communication sans contact (PICC) du premier nombre (A]_) comme étant égal au résultat du cryptage du neuvième nombre (¾) en utilisant la première clé (k) et, si la variable booléenne (ok) est fausse, la réutilisation par le circuit de communication sans contact (PICC) de la dernière valeur déterminée du premier nombre (Al) et comprenant la mise de la variable booléenne (ok) à l'état faux.
- 11. Procédé selon la revendication 10, comprenant, en outre, à la troisième phase (S3), la mise par le circuit de communication sans contact (PICC) de la variable booléenne (ok) à l'état vrai si le sixième nombre (R’b pcd) obtenu à partir du quatrième nombre (Bj_) est égal au septième nombre (R'b) ·
- 12. Procédé selon l'une quelconque des revendications 1 à 11, comprenant, dans la seconde phase, la détermination par le terminal de communication sans contact (PCD) d'un onzième nombre (Ra_j5cd) ’ onzième nombre étant aléatoire, et la détermination par le terminal de communication sans contact (PCD) d'un douzième nombre (R'b pcd) basé sur le deuxième nombre (Rfo pcd) ’ le troisième nombre (Ra pcdl lR'b pcd) correspondant à la juxtaposition du onzième nombre (Ra pCCj) et du douzième nombre (R'b_pcd)·
- 13. Procédé selon l'une quelconque des revendications 1 à 12, comprenant en outre, dans la troisième phase, la détermination par le circuit de communication sans contact d'un treizième nombre (R'a) basé sur le troisième nombre (Ra pcdl IR'b pcd) ' la détermination d'un quatorzième nombre (A2) par cryptage du treizième nombre (R'a) en utilisant la première clé (k), la troisième phase (S3) se terminant avec la transmission du quatorzième nombre (A2) par le circuit de communication sans contact (PICC) au terminal de communication sans contact (PCD).
- 14. Circuit de communication sans contact (PICC) comportant un microprocesseur programmé pour la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 13.
- 15. Carte à microcircuit comportant un circuit programmé pour la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 13.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1655074A FR3052279B1 (fr) | 2016-06-03 | 2016-06-03 | Authentification d'une carte par lecture sans contact |
US15/332,758 US10237071B2 (en) | 2016-06-03 | 2016-10-24 | Authentication of a card by contactless reading |
EP16199687.1A EP3252993B1 (fr) | 2016-06-03 | 2016-11-18 | Authentification d'une carte par lecture sans contact |
CN201611083056.3A CN107465655B (zh) | 2016-06-03 | 2016-11-30 | 认证方法和非接触式通信电路 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1655074A FR3052279B1 (fr) | 2016-06-03 | 2016-06-03 | Authentification d'une carte par lecture sans contact |
FR1655074 | 2016-06-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3052279A1 FR3052279A1 (fr) | 2017-12-08 |
FR3052279B1 true FR3052279B1 (fr) | 2019-06-21 |
Family
ID=57136987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1655074A Expired - Fee Related FR3052279B1 (fr) | 2016-06-03 | 2016-06-03 | Authentification d'une carte par lecture sans contact |
Country Status (4)
Country | Link |
---|---|
US (1) | US10237071B2 (fr) |
EP (1) | EP3252993B1 (fr) |
CN (1) | CN107465655B (fr) |
FR (1) | FR3052279B1 (fr) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3080927B1 (fr) * | 2018-05-03 | 2024-02-02 | Proton World Int Nv | Authentification d'un circuit electronique |
US11276258B2 (en) * | 2020-06-15 | 2022-03-15 | Delphian Systems, LLC | Enhanced security for contactless access card system |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
MY131509A (en) * | 1999-03-15 | 2007-08-30 | Sony Corp | Data processing method, apparatus and system for encrypted- data transfer |
US6898708B2 (en) * | 1999-12-07 | 2005-05-24 | Sanyo Electric Co., Ltd. | Device for reproducing data |
US9454752B2 (en) * | 2001-07-10 | 2016-09-27 | Chartoleaux Kg Limited Liability Company | Reload protocol at a transaction processing entity |
JP2006065660A (ja) | 2004-08-27 | 2006-03-09 | Sony Corp | 端末機器、情報配信サーバ、および情報配信方法 |
JP2006080642A (ja) * | 2004-09-07 | 2006-03-23 | Sony Corp | 情報処理装置および方法、プログラム並びに記録媒体 |
PL3487155T3 (pl) | 2005-12-15 | 2022-01-03 | Nokia Technologies Oy | Sposób, urządzenie i program komputerowy do sieciowej zdalnej kontroli bezstykowej bezpiecznej pamięci masowej |
US20100146273A1 (en) * | 2008-12-04 | 2010-06-10 | Electronics And Telecommunications Research Institute | Method for passive rfid security according to security mode |
KR101261674B1 (ko) * | 2008-12-22 | 2013-05-06 | 한국전자통신연구원 | 다운로드 제한 수신 시스템에서의 상호 인증 방법 및 장치 |
ITMI20082364A1 (it) * | 2008-12-31 | 2010-07-01 | Incard Sa | Metodo per proteggere un dispositivo crittografico contro attacchi spa, dpa e temporali |
CN101866411B (zh) * | 2009-04-16 | 2012-07-25 | 深圳市数智国兴信息科技有限公司 | 非接触式cpu卡一卡多应用安全认证加密方法及系统 |
JP5293572B2 (ja) * | 2009-11-17 | 2013-09-18 | 富士通セミコンダクター株式会社 | 設計検証装置、設計検証方法及び設計検証プログラム |
US20110291803A1 (en) | 2010-05-27 | 2011-12-01 | Zeljko Bajic | Rfid security and mobility architecture |
WO2013012435A1 (fr) * | 2011-07-18 | 2013-01-24 | Hewlett-Packard Development Company, L.P. | Zéroïsation de paramètres de sécurité |
CN102346862B (zh) * | 2011-09-20 | 2014-02-05 | 飞天诚信科技股份有限公司 | 非接触式卡的认证方法和装置 |
US20140023195A1 (en) * | 2012-07-23 | 2014-01-23 | Electronics And Telecommunications Research Institute | Radio frequency identification (rfid) tag, interrogator, and method for authentication between the rfid tag and the interrogator |
US9715586B2 (en) | 2012-09-04 | 2017-07-25 | Legic Identsystems Ag | Read/write device and transponder for exchanging data via an electromagnetic field |
SG10201405789YA (en) * | 2014-09-16 | 2016-04-28 | Smart Communications Inc | System, method and apparatus for updating a stored value card |
-
2016
- 2016-06-03 FR FR1655074A patent/FR3052279B1/fr not_active Expired - Fee Related
- 2016-10-24 US US15/332,758 patent/US10237071B2/en active Active
- 2016-11-18 EP EP16199687.1A patent/EP3252993B1/fr active Active
- 2016-11-30 CN CN201611083056.3A patent/CN107465655B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
FR3052279A1 (fr) | 2017-12-08 |
EP3252993A1 (fr) | 2017-12-06 |
US10237071B2 (en) | 2019-03-19 |
EP3252993B1 (fr) | 2020-08-19 |
CN107465655A (zh) | 2017-12-12 |
US20170353312A1 (en) | 2017-12-07 |
CN107465655B (zh) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3152860B1 (fr) | Procédé d'authentification d'une première entité électronique par une seconde entité électronique et entité électronique mettant en oeuvre un tel procédé | |
EP1798888B1 (fr) | Protection de l'exécution d'un algorithme DES | |
FR3002400A1 (fr) | Generation d'une cle de session pour l'authentification et la transmission de donnees securisees | |
FR2986631A1 (fr) | Dispositif et procede de production d'un code d'authentification d'un message | |
CA2816933C (fr) | Protection contre les ecoutes passives | |
EP0606792A1 (fr) | Procédé d'authentification d'un ensemble informatique par un autre ensemble informatique | |
EP2795833A1 (fr) | Procede d'authentification entre un lecteur et une etiquette radio | |
FR3052280A1 (fr) | ||
EP3185468B1 (fr) | Procédé de transmission de données, procédé de réception de données, dispositifs et programmes correspondants | |
FR3052279B1 (fr) | Authentification d'une carte par lecture sans contact | |
EP3419246B1 (fr) | Procédé d'authentification par défi-réponse d'un élément sécurisé (se) auprès d'un microcontrôleur | |
EP1538508A1 (fr) | Procédé et dispositif de chiffrement et dechiffrement à la volée | |
WO2012031848A1 (fr) | Procede simplifie de personnalisation de carte a puce et dispositif associe | |
EP2374240B1 (fr) | Procede de mise en oeuvre d'un algorithme de chiffrement par blocs | |
EP3340096B1 (fr) | Procédé de configuration d'un programme cryptographique destiné à être exécuté par un terminal | |
EP3021515B1 (fr) | Amélioration de l'intégrité authentique de données à l'aide du dernier bloc chiffrant ces données en mode cbc | |
WO2009068658A1 (fr) | Procedes et dispositifs de cryptage et de decryptage d'un message de donnees a cle secrete aleatoire | |
EP1479189A1 (fr) | Procede de cryptographie utilisant un algorithme cryptographique symetrique par flot et application a une carte a puce | |
FR2753027A1 (fr) | Instrument de securisation d'echanges de donnees |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20171208 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
PLFP | Fee payment |
Year of fee payment: 5 |
|
ST | Notification of lapse |
Effective date: 20220205 |