FR3058014A1 - METHOD OF AUTHENTICATING A PROOF DEVICE, FOR EXAMPLE A CHIP CARD, FROM A VERIFIER DEVICE - Google Patents
METHOD OF AUTHENTICATING A PROOF DEVICE, FOR EXAMPLE A CHIP CARD, FROM A VERIFIER DEVICE Download PDFInfo
- Publication number
- FR3058014A1 FR3058014A1 FR1660298A FR1660298A FR3058014A1 FR 3058014 A1 FR3058014 A1 FR 3058014A1 FR 1660298 A FR1660298 A FR 1660298A FR 1660298 A FR1660298 A FR 1660298A FR 3058014 A1 FR3058014 A1 FR 3058014A1
- Authority
- FR
- France
- Prior art keywords
- data
- proof device
- reference processing
- proof
- input data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000012545 processing Methods 0.000 claims abstract description 157
- 238000012790 confirmation Methods 0.000 claims description 53
- 238000004891 communication Methods 0.000 claims description 19
- 230000001681 protective effect Effects 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000012795 verification Methods 0.000 claims description 11
- 238000011282 treatment Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 9
- 230000001419 dependent effect Effects 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 239000000543 intermediate Substances 0.000 abstract 4
- 230000006870 function Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 7
- 230000015654 memory Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 2
- 230000005670 electromagnetic radiation Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method 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/002—Countermeasures against attacks on cryptographic mechanisms
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
L'invention concerne un procédé d'authentification d'un dispositif de preuve, auprès d'un dispositif vérificateur comprenant les étapes suivantes mises en œuvre par le dispositif vérificateur: • partage d'une clé secrète et de données d'entrée avec le dispositif de preuve, en vue de la mise en œuvre, par le dispositif de preuve, d'un traitement de référence à partir des données d'entrée et de la clé secrète, de sorte que le dispositif de preuve émette un signal physique porteur d'informations par canaux cachés relatives à la mise en œuvre du traitement de référence par le dispositif de preuve, • acquisition du signal physique, • au moins une mise en œuvre du traitement de référence à partir des données d'entrée et de la clé secrète, • rejet ou non du dispositif de preuve en fonction de la mise en œuvre du traitement et du signal physique acquis, dans lequel le traitement de référence comprend des sous-étapes de : • génération de données intermédiaires à partir d'une première des données d'entrées et à partir de la clé secrète, • génération de données de sortie à partir d'une deuxième des données d'entrée et des données intermédiaires, • des mesures de protection de l'étape de génération des données intermédiaires contres des attaques par canaux cachés, adaptées pour que, lorsque le traitement de référence est mis en œuvre par le dispositif de preuve, le signal physique par canaux cachés émis soit porteur d'informations relatives à l'étape de génération des données de sortie mais non porteur d'informations relatives à l'étape de génération de données intermédiaires.The invention relates to a method for authenticating a proof device, with a verifier device comprising the following steps implemented by the verifier device: • sharing a secret key and input data with the device for the proof device to implement reference processing from the input data and the secret key, so that the proof device transmits a physical signal carrying the hidden channel information relating to the implementation of the reference processing by the proof device, • acquisition of the physical signal, • at least one implementation of the reference processing from the input data and the secret key, • rejection or not of the proof device according to the implementation of the processing and the acquired physical signal, in which the reference processing comprises substeps of: • generation of data intermediates from a first of the input data and from the secret key, • generation of output data from a second of the input data and intermediate data, • protection measures of the step of generating the intermediate data against concealed channel attacks, adapted so that, when the reference processing is implemented by the proof device, the transmitted channel physical signal emitted bears information relating to the step of generating the output data but not carrying information relating to the step of generating intermediate data.
Description
DOMAINE DE L'INVENTIONFIELD OF THE INVENTION
La présente invention concerne un procédé d’authentification d’un dispositif de preuve auprès d’un dispositif vérificateur.The present invention relates to a method for authenticating a proof device with a verification device.
ETAT DE LA TECHNIQUESTATE OF THE ART
Une attaque par canaux cachés (« side-channel attack » en anglais, abrégé en SCA) consiste à déduire des données secrètes mémorisées par un dispositif électronique en observant des signaux physiques émis par ce dispositif lorsque celui-ci met en œuvre des calculs sur la base des données secrètes (consommation de courant électrique, émission d’un rayonnement électromagnétique, etc.).A side-channel attack (abbreviated as SCA) consists in deducing secret data memorized by an electronic device by observing physical signals emitted by this device when the latter implements calculations on the secret database (consumption of electric current, emission of electromagnetic radiation, etc.).
Aussi, pour protéger un dispositif contre de telles attaques par canaux cachés, ont été proposées diverses mesures de protections qui, lorsqu’elles sont mises en œuvre par le dispositif électronique, modifient les signaux physiques émis par le dispositif de telle sorte qu’il n’est plus possible de déduire les données secrète sur la base de leur observation.Also, to protect a device against such attacks by hidden channels, various protection measures have been proposed which, when implemented by the electronic device, modify the physical signals emitted by the device so that it does not is no longer possible to infer secret data based on their observation.
Une attaque par relai (« relay attack » en anglais) est un autre type d’attaque utilisé pour attaquer des systèmes d’authentification comprenant un dispositif de preuve (« prover » en anglais), par exemple une carte à puce, et un dispositif vérificateur (« vérifier » en anglais), par exemple un lecteur adapté pour communiquer avec la carte à puce.Another type of attack used to attack authentication systems including a prover, such as a smart card, and a device, is a relay attack. verifier ("verifier" in English), for example a reader adapted to communicate with the smart card.
Pour mettre en œuvre une attaque par relai dans un tel système, un attaquant ne cherche pas à dérober le dispositif de preuve. L’attaquant utilise plutôt un dispositif relai qui communique d’une part avec le dispositif vérificateur, et communique d’autre part avec un dispositif de preuve se trouvant à plus grande distance du dispositif vérificateur (par exemple dans la poche et/ou le portefeuille de son détenteur légitime). Le dispositif relai capte les signaux émis par le dispositif et les transmet au dispositif vérification afin de se faire passer pour le dispositif de preuve auprès du dispositif vérificateur Similairement, le dispositif relai capte les signaux émis par le dispositif vérificateur et les retransmet au dispositif de preuve afin de se faire passer pour le dispositif vérificateur auprès du dispositif de preuve.To implement a relay attack in such a system, an attacker does not seek to steal the proof device. The attacker rather uses a relay device which communicates on the one hand with the verifier, and on the other hand communicates with a proof device located at a greater distance from the verifier (for example in the pocket and / or the wallet of its legitimate holder). The relay device picks up the signals sent by the device and transmits them to the checking device in order to pass itself off as the proof device with the checking device. Similarly, the relay device picks up the signals sent by the checking device and transmits them back to the proof device. in order to impersonate the verifying device with the proof device.
Le document intitulé « Physical authentication Using Side-Channel Information », par Kazuo Sakiyama et al, propose un procédé nommé « Challenge-SC-Response Authentication » (voir section 2.1) permettant de protéger un dispositif vérificateur contre un attaque par relai.The document entitled “Physical authentication Using Side-Channel Information”, by Kazuo Sakiyama et al, proposes a process called “Challenge-SC-Response Authentication” (see section 2.1) to protect a verifier against a relay attack.
De manière non conventionnelle, ce procédé propose de faire mettre en oeuvre par le dispositif vérificateur des traitements similaires à ceux qui seraient mis en œuvre par un dispositif d’attaque par canaux cachés.In an unconventional way, this method proposes to have the processing device implement processing similar to that which would be implemented by an attack device using hidden channels.
Ainsi, le dispositif vérificateur met en œuvre les étapes suivantes :Thus, the checking device implements the following steps:
• partage d’une clé secrète et d’une donnée de défi avec le dispositif de preuve, en vue de la mise en œuvre, par le dispositif de preuve, d’un traitement de référence à partir de la donnée de défi et de la clé secrète et au cours duquel le dispositif de preuve émet un signal physique porteur d’informations par canaux cachés relatives à la mise en œuvre du traitement de référence, • acquisition du signal physique émis par le dispositif de preuve, • mise en œuvre, par le dispositif vérificateur, du traitement de référence à partir des données d’entrée et de la clé secrète, • rejet ou non du dispositif de preuve en fonction de la mise en œuvre du traitement de référence par le dispositif vérificateur et en fonction du signal physique acquis.• sharing a secret key and a challenge datum with the proof device, with a view to the implementation, by the proof device, of a reference processing from the challenge datum and the secret key and during which the proof device emits a physical signal carrying information by hidden channels relating to the implementation of the reference processing, • acquisition of the physical signal emitted by the proof device, • implementation, by the verifier, of the reference processing from the input data and the secret key, • rejection or not of the proof device depending on the implementation of the reference processing by the verifier and depending on the physical signal acquired.
Toutefois, ce procédé présente un inconvénient important : il est nécessaire de faire émettre par le dispositif de preuve un signal physique porteur de suffisamment d’information par canaux cachés pour que le dispositif vérificateur puisse prendre sur sa base une décision pertinente quant au rejet ou non du dispositif de preuve.However, this method has an important drawback: it is necessary to cause the proof device to transmit a physical signal carrying sufficient information by hidden channels so that the checking device can take on its basis a relevant decision as to rejection or not of the proof device.
Un dispositif pirate se faisant passer pour le dispositif vérifieur pourrait donc deviner la clé secrète à partir du signal physique qu’il aura acquis.A pirate device masquerading as the verifier could therefore guess the secret key from the physical signal it has acquired.
Un dispositif pirate distinct du dispositif vérifieur et du dispositif de preuve pourrait aussi intercepter le signal physique émis par le dispositif de preuve, en déduire la clé secrète, puis fabriquer un clone du dispositif de preuve pour s’authentifier indûment auprès du dispositif vérifieur.A pirate device separate from the verification device and the proof device could also intercept the physical signal emitted by the proof device, deduce the secret key from it, then fabricate a clone of the proof device to authenticate unduly with the verification device.
EXPOSE DE L'INVENTIONSTATEMENT OF THE INVENTION
Un but de l’invention est de proposer un procédé d’authentification entre un dispositif vérificateur et un dispositif de preuve protégé non seulement contre des attaques par relai mais aussi contre des attaques par canaux cachés.An object of the invention is to provide an authentication method between a verifier and a proof device protected not only against relay attacks but also against attacks by hidden channels.
Il est dès lors proposé, selon un premier aspect de l’invention, un procédé d’authentification d’un dispositif de preuve, par exemple une carte à puce, auprès d’un dispositif vérificateur, le procédé comprenant les étapes suivantes mises en œuvre par le dispositif vérificateur:It is therefore proposed, according to a first aspect of the invention, a method of authenticating a proof device, for example a smart card, with a verifying device, the method comprising the following steps implemented by the checking device:
• partage d’une clé secrète et de données d’entrée avec le dispositif de preuve, en vue de la mise en œuvre, par le dispositif de preuve, d’un traitement de référence à partir des données d’entrée et de la clé secrète, de sorte que le dispositif de preuve émette un signal physique porteur d’informations par canaux cachés relatives à la mise en œuvre du traitement de référence par le dispositif de preuve, • acquisition du signal physique émis par le dispositif de preuve, • au moins une mise en œuvre, par le dispositif vérificateur, du traitement de référence à partir des données d’entrée et de la clé secrète, • rejet ou non du dispositif de preuve en fonction de la mise en œuvre du traitement de référence par le dispositif vérificateur et en fonction du signal physique acquis, dans lequel le traitement de référence comprend des sous-étapes de :• sharing of a secret key and input data with the proof device, with a view to the implementation, by the proof device, of a reference processing based on the input data and the key secret, so that the proof device emits a physical signal carrying information by hidden channels relating to the implementation of the reference processing by the proof device, • acquisition of the physical signal emitted by the proof device, • at less an implementation, by the verifier, of the reference processing from the input data and the secret key, • rejection or not of the proof device depending on the implementation of the reference processing by the device verifier and according to the acquired physical signal, in which the reference processing includes sub-steps of:
• génération de données intermédiaires à partir d’une première des données d’entrées et à partir de la clé secrète, • génération de données de sortie à partir d’une deuxième des données d’entrée et des données intermédiaires, mise en œuvre de mesures de protection de l’étape de génération des données intermédiaires contres des attaques par canaux cachés, les mesures de protection étant adaptées pour que, lorsque le traitement de référence est mis en œuvre par le dispositif de preuve, le signal physique par canaux cachés émis par le dispositif de preuve soit porteur d’informations relatives à l’étape de génération des données de sortie mais non porteur d’informations relatives à l’étape de génération de données intermédiaires.• generation of intermediate data from a first input data and from the secret key, • generation of output data from a second input data and intermediate data, implementation of protective measures for the step of generating intermediate data against hidden channel attacks, the protective measures being adapted so that, when the reference processing is implemented by the proof device, the physical signal by hidden channels emitted by the proof device either carrying information relating to the step of generating the output data but not carrying information relating to the step of generating intermediate data.
II est également proposé, selon un deuxième aspect de l’invention, un procédé d’authentification d’un dispositif de preuve, par exemple une carte à puce, auprès d’un dispositif vérificateur, le procédé comprenant les étapes suivantes mises en œuvre par le dispositif de preuve:It is also proposed, according to a second aspect of the invention, a method of authenticating a proof device, for example a smart card, with a verifier device, the method comprising the following steps implemented by the proof device:
• partage d’une clé secrète et de données d’entrée avec le dispositif vérificateur, • mise en œuvre d’un traitement de référence à partir des données et de la clé secrète de sorte que le dispositif de preuve émet un signal physique porteur d’informations par canaux cachés relatives à la mise en œuvre du traitement de référence, dans lequel le traitement de référence comprend des sous-étapes de :• sharing of a secret key and input data with the verifier device, • implementation of a reference processing from the data and the secret key so that the proof device emits a physical signal carrying information by hidden channels relating to the implementation of the reference processing, in which the reference processing comprises sub-steps of:
• génération de données intermédiaires à partir d’une première des données d’entrées et à partir de la clé secrète, • génération de données de sortie à partir d’une deuxième des données d’entrée et des données intermédiaires, • mise en œuvre de mesures de protection de l’étape de génération des données intermédiaires contres des attaques par canaux cachés, les mesures de protection étant adaptées pour que, lorsque le traitement de référence est mis en oeuvre par le dispositif de preuve, le signal physique par canaux cachés émis par le dispositif de preuve soit porteur d’informations relatives à l’étape de génération des données de sortie mais non porteur d’informations relatives à l’étape de génération de données intermédiaires.• generation of intermediate data from a first of the input data and from the secret key, • generation of output data from a second of the input data and of the intermediate data, • implementation protective measures for the step of generating intermediate data against hidden channel attacks, the protective measures being adapted so that, when the reference processing is implemented by the proof device, the physical signal by hidden channels issued by the proof device either carrying information relating to the step of generating output data but not carrying information relating to the step of generating intermediate data.
Le même traitement de référence est mis en œuvre par le dispositif de preuve et par le dispositif vérificateur. Le signal physique émis par le dispositif de preuve permet au dispositif vérificateur de détecter une attaque par relai et de rejeter le cas échéant dispositif de preuve en cas de survenance d’une telle attaque.The same reference processing is implemented by the proof device and by the verifier device. The physical signal emitted by the proof device allows the verifier to detect a relay attack and, if necessary, to reject the proof device in the event of such an attack.
Toutefois, grâce aux mesures de protection incluses dans le traitement de référence, le signal physique émis ne fait pas fuiter des d’informations complètes sur le traitement de référence mis en œuvre par le dispositif de preuve. En particulier, l’étape qui utilise la clé secrète est protégée contre des fuites d’informations. Par conséquent, même un tiers captant le signal physique émis et cherchant à mettre en œuvre une attaque par canaux cachés, aurait de grandes difficultés à deviner la clé secrète.However, thanks to the protective measures included in the reference processing, the physical signal emitted does not leak complete information on the reference processing implemented by the proof device. In particular, the stage using the secret key is protected against information leaks. Therefore, even a third party receiving the physical signal sent and seeking to implement a hidden channel attack would have great difficulty in guessing the secret key.
Le procédé selon le premier aspect de l’invention peut être complété à l’aide des caractéristiques ou étapes suivantes, prises seules ou en combinaison lorsque cela est possible.The method according to the first aspect of the invention can be completed using the following characteristics or steps, taken alone or in combination when possible.
Le procédé selon le premier aspect peut comprendre des étapes de :The method according to the first aspect can comprise steps of:
• envoi au dispositif de preuve d’une première donnée de contrôle, la première donnée de contrôle dépendant d’au moins une première donnée de sortie produite par un traitement de référence mis en œuvre par le dispositif vérificateur, dit premier traitement, • réception d’au moins une première donnée de confirmation émise par le dispositif de preuve, la première donnée de confirmation indiquant que le dispositif de preuve a, sur la base d’une comparaison entre la première donnée de contrôle et au moins une deuxième donnée de contrôle dépendant d’au moins une deuxième donnée de sortie produite par le traitement de référence mis en œuvre par le dispositif de preuve, estimé que la première donnée de sortie est égale à la deuxième donnée de sortie.• sending to the proof device of a first control data, the first control data depending on at least a first output data produced by a reference processing implemented by the checking device, said first processing, • reception of '' at least a first confirmation data sent by the proof device, the first confirmation data indicating that the proof device has, on the basis of a comparison between the first control data and at least a second dependent control data at least a second output data produced by the reference processing implemented by the proof device, estimated that the first output data is equal to the second output data.
La première donnée de contrôle peut être générée par application d’une fonction prédéterminée à la ou les première (s) donnée (s) de sortie, par exemple une fonction de hachage, ou alternativement être la première donnée de sortie.The first control datum can be generated by applying a predetermined function to the first output datum (s), for example a hash function, or alternatively can be the first output datum.
Le procédé selon le premier aspect peut comprendre des étapes de :The method according to the first aspect can comprise steps of:
• comparaison entre la première donnée de confirmation reçue et au moins une deuxième donnée de confirmation, la deuxième donnée de confirmation dépendant d’au moins une troisième donnée de sortie produite par le premier traitement, • rejet du dispositif de preuve en fonction du résultat de la comparaison entre les données de confirmation.• comparison between the first confirmation data received and at least one second confirmation data, the second confirmation data depending on at least one third output data produced by the first processing, • rejection of the proof device as a function of the result of comparison between confirmation data.
La deuxième donnée de confirmation peut être générée par application d’une fonction prédéterminée à la troisième de sortie, par exemple une fonction de hachage. Alternativement, les données de sorties produites par le premier traitement peuvent être utilisées comme deuxièmes données de confirmation.The second confirmation data can be generated by applying a predetermined function to the third output, for example a hash function. Alternatively, the output data produced by the first processing can be used as second confirmation data.
Le partage des données d’entrée peut comprendre l’envoi, par le dispositif vérificateur, des données d’entrées au dispositif de preuve, et l’étape d’acquisition du signal physique être déclenchée à l’expiration d’un délai :The sharing of input data may include the sending, by the verifier, of input data to the proof device, and the step of acquiring the physical signal may be triggered at the end of a period:
• ayant démarré à un instant qui dépend de l’instant auquel les données de preuve sont envoyées au dispositif de preuve, • ayant une durée qui dépend d’une durée moyenne de réponse du dispositif de preuve au dispositif vérificateur.• having started at a time which depends on the moment at which the proof data is sent to the proof device, • having a duration which depends on an average duration of response from the proof device to the verifier device.
Plusieurs jeux de données d’entrées peuvent être partagés entre le dispositif de preuve et le dispositif vérificateur, en vue de la mise en œuvre, par le dispositif de preuve, du traitement de référence à partir d’un seul des jeux de données d’entrée et de la clé secrète. Dans ce cas le dispositif vérificateur :Several sets of input data can be shared between the proof device and the checking device, with a view to the implementation, by the proof device, of the reference processing from a single data set of entry and secret key. In this case the checking device:
• met en œuvre, pour chaque jeu de données d’entrée, le traitement de référence à partir dudit jeu de données d’entrée et de la clé secrète, • calcule, pour chaque jeu de données d’entrée et sur la base du dudit signal physique acquis, un coefficient de ressemblance entre :• implements, for each set of input data, the reference processing from said set of input data and the secret key, • calculates, for each set of input data and on the basis of said acquired physical signal, a resemblance coefficient between:
o le traitement de référence mis en en œuvre par le dispositif vérificateur à partir dudit jeu de données d’entrée, et o le traitement de référence mise en œuvre par le dispositif de preuve, • identifie un coefficient de ressemblance maximale parmi les coefficients calculés, compare le coefficient de ressemblance maximale identifié avec le seuil prédéterminé, et rejette ou non le dispositif de preuve en fonction du résultat de la comparaison avec le seuil.o the reference processing implemented by the checking device from said input data set, and o the reference processing implemented by the proof device, • identifies a maximum resemblance coefficient among the calculated coefficients, compares the coefficient of maximum similarity identified with the predetermined threshold, and rejects or not the proof device according to the result of the comparison with the threshold.
Par ailleurs, le partage des données d’entrées peut comprendre les sous étapes suivantes mises en œuvre pour au moins une des données d’entrée :In addition, the sharing of input data can include the following sub-steps implemented for at least one of the input data:
• génération d’une donnée primaire, • réception d’une donnée secondaire émise par le dispositif de preuve, • génération de la donnée d’entrée par application d’une fonction prédéterminée à la donnée primaire et à la donnée secondaire, cette fonction étant par exemple la disjonction exclusive de la donnée primaire et de la donnée secondaire.• generation of primary data, • reception of secondary data transmitted by the proof device, • generation of input data by application of a predetermined function to the primary data and to the secondary data, this function being for example the exclusive disjunction of the primary data and the secondary data.
Par ailleurs, le procédé selon le deuxième aspect de l’invention peut être complété à l’aide des caractéristiques ou étapes suivantes, prises seules ou en combinaison lorsque cela est possible.Furthermore, the method according to the second aspect of the invention can be completed using the following characteristics or steps, taken alone or in combination when possible.
• sélection d’un jeu de données d’entrée parmi plusieurs jeux de données partagés entre le dispositif de preuve et le dispositif vérificateur, le traitement de référence étant mis en œuvre par le dispositif de preuve à partir du seul jeu de données sélectionné et de la clé secrète.• selection of an input data set from among several data sets shared between the proof device and the verifier device, the reference processing being implemented by the proof device from the only selected data set and the secret key.
• réception d’une première donnée de contrôle dépendant d’au moins une première donnée de sortie produite par une mise en œuvre du traitement de référence par le dispositif vérificateur, • comparaison entre la première donnée de contrôle reçue et au moins une deuxième donnée de contrôle dépendant d’au moins une deuxième donnée de sortie produite par le traitement de référence mis en œuvre par le dispositif de preuve, • rejet ou non du dispositif vérificateur par le dispositif de preuve en fonction du résultat de la comparaison entre les données de contrôle.• reception of a first control data item dependent on at least a first output data item produced by an implementation of the reference processing by the verifier device, • comparison between the first control data item received and at least a second data item of control depending on at least a second output data produced by the reference processing implemented by the proof device, • rejection or not of the checking device by the proof device depending on the result of the comparison between the control data .
• envoi au dispositif vérificateur d’une première donnée de confirmation indiquant que le dispositif de preuve a, sur la base de la comparaison entre les donnée de contrôle, estimé que la première donnée de sortie est égale à la deuxième donnée de sortie.• sending to the verifier a first confirmation data indicating that the proof device has, on the basis of the comparison between the control data, estimated that the first output data is equal to the second output data.
La deuxième donnée de contrôle peut être générée par application d’une première fonction prédéterminée à la deuxième de sortie, par exemple une fonction de hachage. Alternativement, les données de sorties produites par le traitement de référence mis en œuvre par le dispositif de preuve peuvent être utilisées comme deuxièmes données de confirmation.The second control data can be generated by applying a first predetermined function to the second output, for example a hash function. Alternatively, the output data produced by the reference processing implemented by the proof device can be used as second confirmation data.
La première donnée de confirmation peut être générée par application d’une fonction prédéterminée à au moins une donnée sortie du traitement de référence mis en œuvre par le dispositif de preuve, par exemple une fonction de hachage. Alternativement, la première donnée de confirmation peut être une donnée de sortie produite par le traitement de référence mis en œuvre par le dispositif de preuve.The first confirmation data can be generated by applying a predetermined function to at least one data output from the reference processing implemented by the proof device, for example a hash function. Alternatively, the first confirmation datum can be an output datum produced by the reference processing implemented by the proof device.
La première donnée de confirmation envoyée peut être différente de la première donnée de contrôle reçue.The first confirmation data sent may be different from the first control data received.
Le procédé selon le premier aspect de l’invention et/ou selon le deuxième aspect de l’invention peut comprendre en outre les caractéristiques optionnelles suivantes prises seules ou en combinaison lorsque cela est techniquement possible.The method according to the first aspect of the invention and / or according to the second aspect of the invention may further comprise the following optional characteristics taken alone or in combination when technically possible.
Les données intermédiaires du traitement de référence peuvent être des clés de session, et la génération des données de sortie comprendre, pour chaque clé de session, un chiffrement de la deuxième donnée d’entrée au moyen de ladite clé de session de sorte à produire une des données de sortie.The intermediate data of the reference processing can be session keys, and the generation of the output data comprise, for each session key, encryption of the second input data by means of said session key so as to produce a output data.
De plus, une clé de session peut être générée par un chiffrement symétrique, par exemple un chiffrement AES, et/ou la deuxième donnée d’entrée être chiffrée par un chiffrement symétrique, par exemple un chiffrement AES.In addition, a session key can be generated by symmetric encryption, for example AES encryption, and / or the second input data can be encrypted by symmetric encryption, for example AES encryption.
Les données d’entrées peuvent être des nonces.The input data can be nonces.
II est en outre proposé, selon un troisième aspect de l’invention, un produit programme d’ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé selon le premier ou le deuxième aspect de l’invention, lorsque ce procédé est exécuté par un processeur.It is further proposed, according to a third aspect of the invention, a computer program product comprising program code instructions for the execution of the steps of the method according to the first or the second aspect of the invention, when this process is executed by a processor.
II est en outre proposé, selon un quatrième aspect de l’invention, un dispositif vérificateur destiné à authentifier un dispositif de preuve, le dispositif vérificateur comprenant:It is also proposed, according to a fourth aspect of the invention, a verification device intended to authenticate a proof device, the verification device comprising:
• une interface de communication avec le dispositif de preuve pour partager une clé secrète et des données d’entrée avec le dispositif de preuve, en vue de la mise en oeuvre, par le dispositif de preuve, d’un traitement de référence à partir des données et de la clé secrète de sorte que le dispositif de preuve émet un signal physique porteur d’informations par canaux cachés relatives à la mise en œuvre du traitement de référence, • un capteur pour acquérir le signal physique émis par le dispositif de preuve, • au moins un processeur configuré pour o mettre en œuvre au moins une fois le traitement de référence à partir des données d’entrée et de la clé secrète, o rejeter ou non le dispositif de preuve en fonction de la mise en œuvre du traitement de référence par le dispositif vérificateur et en fonction du signal physique acquis, dans lequel le traitement de référence comprend des sous-étapes de :• a communication interface with the proof device for sharing a secret key and input data with the proof device, with a view to the implementation, by the proof device, of a reference processing from data and the secret key so that the proof device emits a physical signal carrying information by hidden channels relating to the implementation of the reference processing, • a sensor for acquiring the physical signal emitted by the proof device, • at least one processor configured to o implement at least once the reference processing from the input data and the secret key, o reject or not the proof device depending on the implementation of the processing of reference by the checking device and according to the acquired physical signal, in which the reference processing comprises sub-steps of:
• génération de données intermédiaires à partir d’une première des données d’entrées et à partir de la clé secrète, • génération de données de sortie à partir d’une deuxième des données d’entrée et des données intermédiaires, • mise en oeuvre de mesures de protection de l’étape de génération des données intermédiaires contres des attaques par canaux cachés, les mesures de protection étant adaptées pour que, lorsque le traitement de référence est mis en œuvre par le dispositif de preuve, le signal physique par canaux cachés émis par le dispositif de preuve soit porteur d’informations relatives à l’étape de génération des données de sortie mais non porteur d’informations relatives à l’étape de génération de données intermédiaires.• generation of intermediate data from a first of the input data and from the secret key, • generation of output data from a second of the input data and of the intermediate data, • implementation protective measures for the step of generating intermediate data against hidden channel attacks, the protective measures being adapted so that, when the reference processing is implemented by the proof device, the physical signal by hidden channels issued by the proof device either carrying information relating to the step of generating output data but not carrying information relating to the step of generating intermediate data.
Il est en outre proposé, selon un cinquième aspect de l’invention, un dispositif de preuve, par exemple une carte à puce, destiné à s’authentifier auprès d’un dispositif vérificateur, le dispositif de preuve comprenant:It is further proposed, according to a fifth aspect of the invention, a proof device, for example a smart card, intended to authenticate with a verifying device, the proof device comprising:
• une interface de communication pour partager une clé secrète et des données d’entrée avec le dispositif vérificateur, • au moins un processeur configuré pour mettre en œuvre un traitement de référence à partir des données et de la clé secrète de sorte que le dispositif de preuve émet un signal physique porteur d’informations par canaux cachés relatives à la mise en œuvre du traitement de référence, dans lequel le traitement de référence comprend des sous-étapes de :• a communication interface for sharing a secret key and input data with the verifier device, • at least one processor configured to implement a reference processing from the data and the secret key so that the device proof transmits a physical signal carrying information by hidden channels relating to the implementation of the reference processing, in which the reference processing comprises sub-steps of:
• génération de données intermédiaires à partir d’une première des données d’entrées et à partir de la clé secrète, • génération de données de sortie à partir d’une deuxième des données d’entrée et des données intermédiaires, • mise en œuvre de mesures de protection de l’étape de génération des données intermédiaires contres des attaques par canaux cachés, les mesures de protection étant adaptées pour que, lorsque le traitement de référence est mis en œuvre par le dispositif de preuve, le signal physique par canaux cachés émis par le dispositif de preuve soit porteur d’informations relatives à l’étape de génération des données de sortie mais non porteur d’informations relatives à l’étape de génération de données intermédiaires.• generation of intermediate data from a first of the input data and from the secret key, • generation of output data from a second of the input data and of the intermediate data, • implementation protective measures for the step of generating intermediate data against hidden channel attacks, the protective measures being adapted so that, when the reference processing is implemented by the proof device, the physical signal by hidden channels issued by the proof device either carrying information relating to the step of generating output data but not carrying information relating to the step of generating intermediate data.
Selon un sixième aspect de l’invention, il est proposé un procédé d’authentification d’un dispositif de preuve, par exemple une carte à puce, auprès d’un dispositif vérificateur, le procédé comprenant les étapes suivantes mises en œuvre par le dispositif de preuve:According to a sixth aspect of the invention, there is proposed a method for authenticating a proof device, for example a smart card, with a verifier device, the method comprising the following steps implemented by the device of proof:
• partage d’une clé secrète et de données d’entrée avec le dispositif vérificateur, • mise en œuvre d’un traitement de référence à partir des données et de la clé secrète de sorte que le dispositif de preuve émet un signal physique porteur d’informations par canaux cachés relatives à la mise en œuvre du traitement de référence, • réception d’une première donnée de contrôle dépendant d’au moins une première donnée de sortie produite par le traitement de référence mis en œuvre par le dispositif vérificateur, • comparaison entre la première donnée de contrôle reçue et au moins une deuxième donnée de contrôle dépendant d’au moins une deuxième donnée de sortie produite par le traitement de référence mis en œuvre par le dispositif de preuve, • rejet ou non du dispositif vérificateur par le dispositif de preuve en fonction du résultat de la comparaison entre les données de contrôle.• sharing of a secret key and input data with the verifier device, • implementation of a reference processing from the data and the secret key so that the proof device emits a physical signal carrying information by hidden channels relating to the implementation of the reference processing, • reception of a first control data item dependent on at least one first output data product by the reference processing implemented by the checking device, • comparison between the first control datum received and at least a second control datum depending on at least a second output datum produced by the reference processing implemented by the proof device, • rejection or not of the verifier device by the proof device according to the result of the comparison between the control data.
De façon non conventionnelle, le dispositif de preuve selon cet aspect de l’invention est capable de rejeter le dispositif. Le procédé d’authentification du dispositif de preuve auprès du dispositif vérificateur est ainsi étendu à un procédé d’authentification mutuelle, mieux sécurisé.Unconventionally, the evidence device according to this aspect of the invention is capable of rejecting the device. The method of authenticating the proof device with the verifying device is thus extended to a mutual authentication method, which is more secure.
Selon un septième aspect de l’invention, il est proposé un procédé d’authentification d’un dispositif de preuve (2), par exemple une carte à puce, auprès d’un dispositif vérificateur (1), le procédé comprenant les étapes suivantes mises en œuvre par le dispositif vérificateur (1):According to a seventh aspect of the invention, there is provided a method of authenticating a proof device (2), for example a smart card, with a verifier device (1), the method comprising the following steps implemented by the checking device (1):
• partage (100, 104) d’une clé secrète (K) et de données d’entrée avec le dispositif de preuve (2), en vue de la mise en œuvre, par le dispositif de preuve (2), d’un traitement de référence à partir des données d’entrée et de la clé secrète (K), de sorte que le dispositif de preuve (2) émette un signal physique (S) porteur d’informations par canaux cachés relatives à la mise en œuvre du traitement de référence par le dispositif de preuve (2), • acquisition (106) du signal physique (S) émis par le dispositif de preuve (2), • au moins une mise en œuvre (108), par le dispositif vérificateur (1), du traitement de référence à partir des données d’entrée et de la clé secrète (K), • rejet (120) ou non du dispositif de preuve (2) en fonction de la mise en œuvre du traitement de référence par le dispositif vérificateur (1) et en fonction du signal physique (S) acquis, • envoi (118) au dispositif de preuve (2) d’une première donnée de contrôle (C, CTRL1), la première donnée de contrôle dépendant d’au moins une première ίο donnée de sortie produite par un traitement de référence mis en œuvre par le dispositif vérificateur (1), dit premier traitement, • réception d’au moins une première donnée de confirmation (RC, CONF1 ) émise (210) par le dispositif de preuve (2), la première donnée de confirmation indiquant que le dispositif de preuve (2) a, sur la base d’une comparaison entre la première donnée de contrôle et au moins une deuxième donnée de contrôle dépendant d’au moins une deuxième donnée de sortie produite par le traitement de référence mis en œuvre par le dispositif de preuve (2), estimé que la première donnée de sortie est égale à la deuxième donnée de sortie.• sharing (100, 104) of a secret key (K) and of input data with the proof device (2), with a view to the implementation, by the proof device (2), of a reference processing from the input data and the secret key (K), so that the proof device (2) emits a physical signal (S) carrying information by hidden channels relating to the implementation of the reference processing by the proof device (2), • acquisition (106) of the physical signal (S) emitted by the proof device (2), • at least one implementation (108), by the checking device (1 ), of the reference processing from the input data and the secret key (K), • rejection (120) or not of the proof device (2) depending on the implementation of the reference processing by the device verifier (1) and as a function of the physical signal (S) acquired, • sending (118) to the proof device (2) of a first datum of con test (C, CTRL1), the first control data item depending on at least a first ίο output data item produced by a reference processing implemented by the checking device (1), said first processing, • reception of at least a first confirmation datum (RC, CONF1) sent (210) by the proof device (2), the first confirmation datum indicating that the proof device (2) has, on the basis of a comparison between the first datum control and at least one second control data item dependent on at least one second output data item produced by the reference processing implemented by the proof device (2), estimated that the first output data item is equal to the second output data.
DESCRIPTION DES FIGURESDESCRIPTION OF THE FIGURES
D’autres caractéristiques, buts et avantages de l’invention ressortiront de la description qui suit, qui est purement illustrative et non limitative, et qui doit être lue en regard des dessins annexés sur lesquels :Other characteristics, objects and advantages of the invention will emerge from the description which follows, which is purely illustrative and not limiting, and which should be read with reference to the appended drawings in which:
• La figure 1 représente schématiquement un système d’authentification selon un mode de réalisation de l’invention.• Figure 1 schematically shows an authentication system according to an embodiment of the invention.
• La figure 2 est un organigramme d’étapes d’un procédé d’authentification selon un premier mode de réalisation de l’invention.FIG. 2 is a flow diagram of steps of an authentication method according to a first embodiment of the invention.
• La figure 3 est un organigramme d’étapes d’un procédé d’authentification selon un deuxième mode de réalisation de l’invention.FIG. 3 is a flow diagram of steps of an authentication method according to a second embodiment of the invention.
• La figure 4 est un organigramme d’étapes d’un procédé d’authentification selon un troisième mode de réalisation de l’invention.FIG. 4 is a flow diagram of steps of an authentication method according to a third embodiment of the invention.
• La figure 5 est un organigramme montrant certaines étapes d’un procédé d’authentification selon un quatrième mode de réalisation de l’invention.FIG. 5 is a flowchart showing certain steps of an authentication method according to a fourth embodiment of the invention.
• La figure 6 détaille des sous-étapes d’un traitement de référence, selon un mode de réalisation.• Figure 6 details sub-steps of a reference processing, according to one embodiment.
• La figure 7 comporte deux diagrammes temporels montrant une succession d’évènements survenant lors de la mise en œuvre d’un procédé d’authentification selon un mode de réalisation de l’invention, respectivement en l’absence d’une attaque par relai et en présence d’une attaque par relai.FIG. 7 comprises two time diagrams showing a succession of events occurring during the implementation of an authentication method according to an embodiment of the invention, respectively in the absence of a relay attack and in the presence of a relay attack.
Sur l’ensemble des figures, les éléments similaires portent des références identiques.In all of the figures, similar elements bear identical references.
DESCRIPTION DETAILLEE DE L'INVENTION Système d'authentificationDETAILED DESCRIPTION OF THE INVENTION Authentication system
En référence à la figure 1, un système d’authentification comprend un dispositif vérificateur 1 et un dispositif de preuve 2 destinés à communiquer ensemble.Referring to Figure 1, an authentication system includes a verifier 1 and a proof device 2 for communicating with each other.
Le dispositif vérificateur 1 comprend au moins un processeur 10, une interface de communication de données 12 avec le dispositif de preuve 2, et une mémoire 14.The verifier device 1 comprises at least one processor 10, a data communication interface 12 with the proof device 2, and a memory 14.
Le processeur 10 du dispositif vérificateur 1 est adapté pour exécuter un programme d’authentification dont le fonctionnement sera décrit plus loin. Une fonction du programme est d’authentifier le dispositif de preuve 2, c’est-à-dire vérifié si le dispositif de preuve 2 est valide ou non.The processor 10 of the checking device 1 is adapted to execute an authentication program the operation of which will be described later. A function of the program is to authenticate the proof device 2, that is to say to verify whether the proof device 2 is valid or not.
Par exemple, l’interface de communication 12 comprend une puce NFC adaptée pour communiquer en champ proche, et/ou des bornes susceptibles d’être mis en contact électrique avec des bornes du dispositif de preuve 2.For example, the communication interface 12 comprises an NFC chip suitable for communicating in the near field, and / or terminals capable of being brought into electrical contact with terminals of the proof device 2.
Le dispositif vérificateur 1 comprend par ailleurs un capteur 16 de signaux physiques émis par le dispositif de preuve 2 au cours de son fonctionnement. Le capteur peut être différent de l’interface 12, ou faire partie de celle-ci.The checking device 1 also comprises a sensor 16 of physical signals emitted by the proof device 2 during its operation. The sensor may be different from or be part of the interface 12.
Le capteur 16 comprend par exemple une antenne adaptée pour acquérir des signaux électromagnétiques émis par le dispositif de preuve 2 au cours de son fonctionnement. En variante, le capteur 16 est adapté pour acquérir des signaux électroacoustiques émis par le dispositif de preuve 2. Dans une autre variante, le capteur 16 est adapté pour acquérir un signal électrique (courant, tension) émis par le dispositif de preuve 2.The sensor 16 comprises for example an antenna adapted to acquire electromagnetic signals emitted by the proof device 2 during its operation. As a variant, the sensor 16 is adapted to acquire electroacoustic signals emitted by the proof device 2. In another variant, the sensor 16 is adapted to acquire an electrical signal (current, voltage) emitted by the proof device 2.
La mémoire 14 comprend au moins une unité mémoire volatile (RAM par exemple) et au moins une unité mémoire non volatile, par exemple de l’un ou plusieurs des types suivants : disque dur (HDD), SDD (Solid State drive), Flash, EEPROM, etc.The memory 14 comprises at least one volatile memory unit (RAM for example) and at least one non-volatile memory unit, for example of one or more of the following types: hard disk (HDD), SDD (Solid State drive), Flash , EEPROM, etc.
Le dispositif de preuve 2 comprend par ailleurs au moins un processeur 20, une interface de communication de données 22 avec le dispositif vérificateur 1, et une mémoire 24.The proof device 2 also comprises at least one processor 20, a data communication interface 22 with the checking device 1, and a memory 24.
L’interface de communication 22 du dispositif de preuve 2 est adaptée pour communiquer avec l’interface de communication 12 du dispositif vérificateur 1. Elle est donc du même type que cette dernière.The communication interface 22 of the proof device 2 is adapted to communicate with the communication interface 12 of the checking device 1. It is therefore of the same type as the latter.
La mémoire 24 du dispositif de preuve 2 peut être similaire à celle du dispositif vérificateur 1.The memory 24 of the proof device 2 can be similar to that of the checking device 1.
Le processeur 20 du dispositif de preuve 2 est adapté pour exécuter un programme d’authentification dont le fonctionnement est décrit plus loin. Une fonction du programme d’authentification est d’authentifier le dispositif de preuve 2 auprès du dispositif vérificateur 1, c’est-à-dire d’apporter au dispositif vérificateur 1 une preuve de validité du dispositif de preuve 2.The processor 20 of the proof device 2 is adapted to execute an authentication program, the operation of which is described below. A function of the authentication program is to authenticate the proof device 2 with the checking device 1, that is to say to bring to the checking device 1 proof of validity of the proof device 2.
Le dispositif vérificateur 1 est par exemple un lecteur de carte à puce, et le dispositif de preuve 2 est une carte à puce adaptée pour être lue par le lecteur (carte bancaire, etc.). La carte à puce peut être du type avec contact ou sans contact.The checking device 1 is for example a smart card reader, and the proof device 2 is a smart card adapted to be read by the reader (bank card, etc.). The smart card can be of the contact or contactless type.
Chacun des deux programmes d’authentification est notamment programmé pour mettre en oeuvre un même traitement de référence prédéterminé.Each of the two authentication programs is in particular programmed to implement the same predetermined reference processing.
Procédé d’authentificationAuthentication process
En référence à la figure 2, un procédé d’authentification faisant intervenir le dispositif vérificateur 1 et le dispositif de preuve 2 comprend les étapes suivantes.With reference to FIG. 2, an authentication method involving the verification device 1 and the proof device 2 comprises the following steps.
Le dispositif vérificateur 1 et le dispositif de preuve 2 partagent une clé secrète K selon une méthode connue de l’état de la technique (étapes 100, 200).The verification device 1 and the proof device 2 share a secret key K according to a method known from the prior art (steps 100, 200).
Une méthode de partage utilisable au cours des étapes 100 et 200 est par exemple le protocole bien connu d’échanges de clés de Diffie-Hellman.A sharing method that can be used during steps 100 and 200 is for example the well-known Diffie-Hellman key exchange protocol.
A l’issue de ces étapes 100, 200, chacun des deux dispositifs en présence 1 et 2 connaît la clé secrète K, qui est par exemple mémorisée dans leurs mémoires respectives 14, 24.At the end of these steps 100, 200, each of the two devices in presence 1 and 2 knows the secret key K, which is for example stored in their respective memories 14, 24.
Par ailleurs, le dispositif vérificateur 1 et le dispositif de preuve 2 partagent une pluralité de jeux de données d’entrée.Furthermore, the verification device 1 and the proof device 2 share a plurality of input data sets.
Par exemple, dans une étape 102, le processeur 10 du dispositif vérificateur 1 génère q jeux de données d’entrée, q étant supérieur ou égal à 2.For example, in a step 102, the processor 10 of the checking device 1 generates q sets of input data, q being greater than or equal to 2.
Les q jeux de données d’entrée sont par exemple générés 102 unilatéralement par le dispositif vérificateur 1, comme illustré sur la figure 2 relative au premier mode de réalisation du procédé.The q input data sets are for example generated 102 unilaterally by the checking device 1, as illustrated in FIG. 2 relating to the first embodiment of the method.
L’interface de communication 12 envoie les q jeux de données d’entrée générés au dispositif de preuve 2 (étape 104).The communication interface 12 sends the q sets of input data generated to the proof device 2 (step 104).
Les données d’entrée sont des nonces. Autrement dit, une donnée d’entrée change de valeur à chaque nouvelle mise en oeuvre du procédé d’authentification.The input data is nonces. In other words, an input data item changes value each time the authentication process is implemented again.
Après réception des q jeux de données d’entrée par l’interface de communication 22 du dispositif de preuve 2, le processeur 20 du dispositif de preuve 2 sélectionne l’un des q jeux de nonce reçus (étape 202).After reception of the q input data sets by the communication interface 22 of the proof device 2, the processor 20 of the proof device 2 selects one of the q received nonce sets (step 202).
Au cours d’une étape 204, le processeur 20 met ensuite en œuvre le traitement de référence à partir du jeu de données d’entrée sélectionné et également à partir de la clé partagée K. Le traitement de référence produit un ensemble comprenant N données de sortie Cq, ..., Cj, ..., C^_^.During a step 204, the processor 20 then implements the reference processing from the selected input data set and also from the shared key K. The reference processing produces a set comprising N data of output Cq, ..., Cj, ..., C ^ _ ^.
Le traitement de référence 204 est de nature à provoquer l’émission par le dispositif de preuve 2 d’un signal physique S au cours de son exécution. On prendra dans ce qui suit l’exemple d’un rayonnement électromagnétique émis par des composants électroniques internes du dispositif de preuve 2 sollicités au cours de la mise en oeuvre du traitement de référence 204 (par exemple le processeur 20).Reference processing 204 is such as to cause the proof device 2 to send a physical signal S during its execution. In the following, we will take the example of electromagnetic radiation emitted by internal electronic components of the proof device 2 solicited during the implementation of the reference processing 204 (for example the processor 20).
Le signal physique est porteur d’informations par canaux cachés, ces informations étant relatives à la mise en oeuvre du traitement de référence. Le signal S est en quelque sorte une signature propre au traitement de référence et au jeu de données d’entrée sélectionné. En d’autres termes, le signal physique S généré par le dispositif de preuve 2 serait différent si un autre jeu de données d’entrée avait été sélectionné au cours de l’étape 202.The physical signal carries information via hidden channels, this information relating to the implementation of the reference processing. The signal S is in a way a signature specific to the reference processing and to the selected input data set. In other words, the physical signal S generated by the proof device 2 would be different if another set of input data had been selected during step 202.
Le signal physique S est acquis par le capteur 16 du dispositif vérificateur 1 (étape 106), après l’étape 102 d’envoi de la pluralité de jeux de données d’entrée. Le capteur 16 numérise par exemple le signal S sous la forme d’une suite numérique.The physical signal S is acquired by the sensor 16 of the checking device 1 (step 106), after step 102 of sending the plurality of input data sets. The sensor 16 digitizes for example the signal S in the form of a digital sequence.
Le dispositif vérificateur 1 n’a pas exactement connaissance de l’instant auquel le traitement de référence mis en œuvre au sein du dispositif de preuve 2 a commencé. Aussi, l’étape d’acquisition 106 du signal est par exemple déclenchée par le processeur 10 à l’expiration d’un délai débutant à un instant dépendant de l’instant d’envoi des q jeux de données d’entrée au dispositif de preuve 2, le délai ayant une durée fonction d’une durée moyenne de réponse du dispositif de preuve 2 au dispositif vérificateur 1.The checking device 1 is not exactly aware of the moment when the reference processing implemented within the proof device 2 started. Also, the signal acquisition step 106 is for example triggered by the processor 10 at the expiration of a delay starting at an instant dependent on the instant of sending the q sets of input data to the proof 2, the delay having a duration depending on an average duration of response from the proof device 2 to the checking device 1.
Le processeur 10 met ensuite en œuvre, pour chacun des q jeux de nonce générés au cours de l’étape 102, le traitement de référence à partir dudit jeu et produit N données de sortie à partir dudit jeu et à partir de la clé K partagée.The processor 10 then implements, for each of the q sets of nonce generated during step 102, the reference processing from said set and produces N output data from said set and from the shared key K .
Autrement dit, les q traitements de référence mis en œuvre par le dispositif vérificateur 1 comprennent des étapes identiques, prennent en entrée la même clé K, mais prennent en entrée des jeux de données d’entrée différents. Les q traitements de référence produisent q ensembles différents de données de sortie, chaque ensemble comprenant N données de sortie.In other words, the q reference processing operations implemented by the verifier device 1 include identical steps, take the same key K as input, but take different input data sets as input. The q reference processes produce q different sets of output data, each set comprising N output data.
De préférence, différents ensembles de N données de sortie ne comprennent aucune donnée de sortie de même valeur. Par exemple, chaque paire d’ensembles de N données, parmi les q ensemble produits, n’a aucune donnée de sortie de même valeur.Preferably, different sets of N output data do not include any output data of the same value. For example, each pair of sets of N data, among the q sets produced, has no output of the same value.
Le traitement de référence mis en œuvre (une seule fois) par le dispositif de preuve 2 n’a utilisé comme données d’entrées que la clé K et qu’un seul des jeux de données d’entrée générés (celui sélectionné au cours de l’étape 202). Par conséquent, un seul des q traitements mis en œuvre par le dispositif vérificateur 1 produit des données de sortie égales aux données de sortie produites par le traitement de référence mis en œuvre par le dispositif de preuve 2.The reference processing implemented (only once) by the proof device 2 used as input data only the key K and only one of the generated input data sets (the one selected during step 202). Consequently, only one of the q treatments implemented by the checking device 1 produces output data equal to the output data produced by the reference processing implemented by the proof device 2.
Le dispositif vérificateur 1 n’a toutefois pas connaissance du jeu de données d’entrées sélectionné au cours de l’étape 202. Comme on va le voir dans ce qui suit, le dispositif vérificateur 1 va tenter de deviner lequel des q jeux de données d’entrée a effectivement été utilisé au cours du traitement de référence par le dispositif de preuve 2.The checking device 1 does not, however, know the set of input data selected during step 202. As will be seen in the following, the checking device 1 will try to guess which of the q data sets input was actually used during the reference processing by the proof device 2.
Dans une étape 110, le processeur 10 calcule q coefficients de ressemblance sur la base du signal acquis, et cela au moyen du signal acquis au cours de l’étape 106. Chaque coefficient calculé est associé à un des q traitements mis en œuvre au cours de l’étape 108. Chaque coefficient est représentatif d’une ressemblance entre :In a step 110, the processor 10 calculates q resemblance coefficients on the basis of the acquired signal, and this by means of the signal acquired during step 106. Each calculated coefficient is associated with one of the q treatments implemented during from step 108. Each coefficient is representative of a resemblance between:
• le traitement de référence qui lui est associé mis en œuvre au cours de l’étape 108 par le dispositif vérificateur 1, et • le traitement de référence mis en œuvre au cours de l’étape 204 par le dispositif de preuve 2.• the reference processing associated with it implemented during step 108 by the checking device 1, and • the reference processing implemented during step 204 by the proof device 2.
Par exemple, les calculs 110 sont des calculs de corrélation, et les coefficients produits sont des coefficients de corrélation. Dans ce cas, plus la valeur d’un coefficient de corrélation est élevée, plus le traitement qui lui est associé est proche du traitement de référence (l’inverse pouvant cependant être envisagé).For example, the calculations 110 are correlation calculations, and the coefficients produced are correlation coefficients. In this case, the higher the value of a correlation coefficient, the closer the treatment associated with it to the reference treatment (the opposite can however be envisaged).
Le processeur 10 compare au moins un des coefficients de ressemblance avec un seuil prédéterminé (étape 116).The processor 10 compares at least one of the resemblance coefficients with a predetermined threshold (step 116).
Par exemple, le processeur 10 identifie, parmi les coefficients calculés un coefficient de ressemblance maximale. Ce coefficient de ressemblance maximale est associé au traitement mis en œuvre par le dispositif vérificateur 1 qui est le plus proche du traitement de référence. Ce coefficient de ressemblance maximale est par exemple celui de valeur la plus grande parmi les différents coefficients de corrélation calculés.For example, the processor 10 identifies, among the calculated coefficients, a maximum similarity coefficient. This maximum resemblance coefficient is associated with the processing implemented by the checking device 1 which is closest to the reference processing. This maximum resemblance coefficient is for example that of greatest value among the various correlation coefficients calculated.
Le coefficient de ressemblance maximale est comparé au seuil prédéterminé au cours de l’étape 106.The maximum similarity coefficient is compared with the predetermined threshold during step 106.
Le processeur 10 rejette (étape 120) ou non le dispositif de preuve 2 en fonction du résultat de la ou chaque comparaison effectuée.The processor 10 rejects (step 120) or not the proof device 2 depending on the result of the or each comparison carried out.
Par « rejet », on entend toute mesure empêchant un succès d’authentification du dispositif de preuve 2 auprès du dispositif vérification 1 : blocage de communication, interruption de communication, émission d’un message d’erreur ou de rejet vers le dispositif de preuve 2, etc.“Rejection” means any measure preventing a successful authentication of the proof device 2 with the verification device 1: communication blocking, communication interruption, transmission of an error message or rejection to the proof device 2, etc.
Par exemple, le processeur 10 rejette le dispositif de preuve 2 si le coefficient de ressemblance maximale n’est pas supérieur au seuil prédéterminé.For example, the processor 10 rejects the proof device 2 if the coefficient of maximum similarity is not greater than the predetermined threshold.
Le processeur 10 ne rejette pas le dispositif de preuve 2 si le coefficient de ressemblance maximale est supérieur au seuil prédéterminé. En effet, il est considéré dans ce cas que l’un des q traitements mis en œuvre par le dispositif est suffisamment proche du traitement de référence pour supposer que • le dispositif de preuve 2 a bien mis en œuvre le traitement de référence, et pas un autre traitement, • le dispositif de preuve 2 a utilisé les mêmes données d’entrée que celles du traitement de référence le plus proche (jeu de données d’entrée et clé K), • en conséquence de quoi les données de sortie de ces deux traitements mis en œuvre de part et d’autre sont également identiques.The processor 10 does not reject the proof device 2 if the maximum similarity coefficient is greater than the predetermined threshold. Indeed, it is considered in this case that one of the q treatments implemented by the device is close enough to the reference processing to assume that • the proof device 2 has indeed implemented the reference processing, and not another processing, • the proof device 2 used the same input data as that of the closest reference processing (set of input data and key K), • consequently what the output data of these two treatments implemented on both sides are also identical.
Dans le cas où le dispositif vérificateur 1 ne rejette pas le dispositif de preuve 2, le dispositif vérificateur 1 envoie au dispositif de preuve 2 une première donnée de contrôle C dépendant d’au moins une des N données de sortie produites par le traitement le plus proche mis en œuvre par le dispositif vérificateur 1.In the case where the checking device 1 does not reject the proof device 2, the checking device 1 sends to the proof device 2 a first control data item C depending on at least one of the N output data items produced by the most close implemented by the checking device 1.
Par convention, on admet dans le présent texte qu’une donnée X dépendant d’une donnée Y couvre le cas particulier où la donnée X est la donnée Y elle-même.By convention, it is accepted in the present text that a data X depending on a data Y covers the particular case where the data X is the data Y itself.
Aussi, dans le premier mode de réalisation illustré en figure 2, la première donnée de contrôle est l’une des N données de sortie produites par le traitement le plus proche mis en œuvre par le dispositif vérificateur 1. Cette donnée de sortie est par exemple sélectionnée aléatoirement parmi les N données de sortie.Also, in the first embodiment illustrated in FIG. 2, the first control data is one of the N output data produced by the closest processing implemented by the checking device 1. This output data is for example randomly selected from the N output data.
Après réception de la première donnée de contrôle C, le dispositif de preuve 2 compare la première donnée de contrôle C reçue avec au moins une deuxième donnée de contrôle dépendant d’au moins une des données de sortie du traitement de référence mis en œuvre par le dispositif de preuve 2 (étape 206).After reception of the first control data C, the proof device 2 compares the first control data C received with at least one second control data depending on at least one of the output data of the reference processing implemented by the proof device 2 (step 206).
Chaque deuxième donnée de contrôle est une donnée de sortie différente du traitement de référence mis en œuvre par le dispositif de preuve 2 : le dispositif de preuve compare alors la première donnée de contrôle C reçue avec chaque donne de sortie produite côté dispositif de preuve (il y a donc N comparaisons effectuées par le dispositif de preuve 2 au cours de l’étape 206).Each second control datum is an output datum different from the reference processing implemented by the proof device 2: the proof device then compares the first control datum C received with each output datum produced on the proof device side (it there are therefore N comparisons made by the proof device 2 during step 206).
Deux cas peuvent alors se présenter.Two cases can then arise.
Dans un premier cas, la première donnée de contrôle C est différente de chaque deuxième donnée de contrôle. Autrement dit, l’une des donnée de sortie produite par le traitement de référence le plus proche mis en œuvre dispositif vérificateur 1 est différente de chacune des données de sortie Co, ..., CN1 du traitement de référence. Ceci peut survenir suite à une erreur commise par le dispositif vérificateur 1 dans son choix du traitement le plus proche (on verra dans ce qui suit qu’une telle erreur est susceptible de survenir en cas d’une attaque par relai). Ceci peut encore survenir dans le cas où le dispositif vérificateur 1 est en réalité un dispositif pirate mettant en oeuvre une attaque par canaux cachés.In a first case, the first control data C is different from each second control data. In other words, one of the output data produced by the closest reference processing implemented checking device 1 is different from each of the output data C o , ..., C N1 of the reference processing. This can occur following an error made by the checking device 1 in its choice of the closest treatment (it will be seen below that such an error is likely to occur in the event of a relay attack). This can also occur in the case where the verifier device 1 is in reality a pirate device implementing a hidden channel attack.
Dans ce premier cas, le dispositif de preuve 2 rejette le dispositif vérificateur 1 (étape 208). On constate ici que, grâce à cette étape 208, une authentification mutuelle est mise en oeuvre entre le dispositif de preuve 2 et le dispositif vérificateur 1, puisque le dispositif de preuve 2 est également capable de mettre fin à la communication entre les deux dispositifs 1 et 2.In this first case, the proof device 2 rejects the checking device 1 (step 208). It can be seen here that, thanks to this step 208, mutual authentication is implemented between the proof device 2 and the verifier device 1, since the proof device 2 is also capable of terminating the communication between the two devices 1 and 2.
Dans un deuxième cas, la première donnée de contrôle C est égale à une deuxième donnée de contrôle. Autrement dit, dans le mode de réalisation de la figure 2, la première donnée de contrôle est égale à l’une des données Co, ..., CN_4 de sortie du traitement de référence mis en œuvre par le dispositif de preuve 2.In a second case, the first control data C is equal to a second control data. In other words, in the embodiment of FIG. 2, the first control data is equal to one of the data C o , ..., C N _ 4 of output of the reference processing implemented by the device proof 2.
Dans une étape 210, le dispositif de preuve 2 envoie une réponse RC au dispositif vérificateur 1, la réponse RC comprenant une première donnée de confirmation indiquant que la première donnée de contrôle C est égale ou non à une deuxième donnée de contrôle.In a step 210, the proof device 2 sends a response RC to the checking device 1, the response RC comprising a first confirmation data indicating that the first control data C is equal or not to a second control data.
Par exemple, cette réponse RC n’est envoyée que dans le cas d’une égalité entre la première donnée de contrôle C et une deuxième donnée de contrôle ; la première donnée de confirmation indique alors, dans le cas du mode de réalisation de la figure 2, que la première donnée de contrôle C est bien égale à une donnée de sortie du traitement de référence mis en œuvre par le dispositif de preuve 2.For example, this RC response is sent only in the event of a tie between the first control data C and a second control data; the first confirmation data then indicates, in the case of the embodiment of FIG. 2, that the first control data C is indeed equal to an output data from the reference processing implemented by the proof device 2.
Le dispositif vérificateur 1 vérifie si la première donnée préalablement envoyée au cours de l’étape 118 est égale à une deuxième donnée de confirmation. Si oui, le dispositif vérificateur 1 conclut qu’aucune attaque par relai n’a été mise en œuvre par le dispositif de preuve 2 ; l’étape 120 de rejet n’est alors pas mise en œuvre. Sinon, le dispositif vérificateur 1 conclut qu’une attaque par relai a été mise en œuvre, et l’étape 120 de rejet est alors mise en œuvre.The checking device 1 checks whether the first data previously sent during step 118 is equal to a second confirmation data. If so, the checking device 1 concludes that no relay attack has been implemented by the proof device 2; the rejection step 120 is then not implemented. Otherwise, the verifier 1 concludes that a relay attack has been implemented, and the rejection step 120 is then implemented.
Par exemple, la première donnée de confirmation est une donnée de sortie Cj du traitement de référence mis en œuvre par le dispositif de preuve 2. Par ailleurs, les données de sortie du traitement le plus proche sont utilisées comme deuxièmes données de confirmation par le dispositif vérificateur 1.For example, the first confirmation data is an output data Cj from the reference processing implemented by the proof device 2. Furthermore, the output data from the closest processing are used as second confirmation data by the device verifier 1.
De préférence, la donnée Cj est différente de la donnée de sortie envoyée au dispositif de preuve 2 (en d’autres termes, on choisit Cj tel que Ci ψ Cj). Dans ce cas, au cours de l’étape 122, le dispositif vérificateur 1 vérifie si la donnée Cj fait bien partie desPreferably, the data Cj is different from the output data sent to the proof device 2 (in other words, we choose Cj such that Ci ψ Cj). In this case, during step 122, the checking device 1 checks whether the data Cj is indeed one of the
N données de sortie du traitement identifié par le dispositif vérificateur 1 comme le plus proche.N processing output data identified by the checking device 1 as the closest.
Si oui, le dispositif vérificateur 1 conclut qu’aucune attaque par relai n’a été mise en œuvre par le dispositif de preuve 2. Un canal sécurisé peut alors être étable entre les dispositifs 1 et 2, par exemple sur la base d’une clé dérivé de la connaissance commune (mais secrète) de l’ensemble des données Co, ... CN.If so, the checking device 1 concludes that no relay attack has been implemented by the proof device 2. A secure channel can then be stable between the devices 1 and 2, for example on the basis of a key derived from the common (but secret) knowledge of all the data C o , ... C N.
Sinon, le dispositif vérificateur 1 rejette le dispositif de preuve 2 (étape 122).Otherwise, the checking device 1 rejects the proof device 2 (step 122).
Est illustré en figure 3 un procédé d’authentification selon un deuxième mode de réalisation, qui diffère du procédé selon le premier mode de réalisation par l’ordonnancement des étapes mises en œuvre par le dispositif vérificateur 1.Illustrated in FIG. 3 is an authentication method according to a second embodiment, which differs from the method according to the first embodiment by scheduling the steps implemented by the checking device 1.
Dans ce deuxième mode de réalisation, l’étape 108 de mise en œuvre de q traitements est mise en œuvre avant l’acquisition du signal physique S au cours de l’étape 106.In this second embodiment, step 108 of implementing q processing operations is implemented before the acquisition of the physical signal S during step 106.
Est illustré en figure 4 un procédé d’authentification selon un troisième mode de réalisation, qui diffère du procédé selon le premier mode de réalisation par la nature des données de contrôle.Illustrated in FIG. 4 is an authentication method according to a third embodiment, which differs from the method according to the first embodiment by the nature of the control data.
Dans ce troisième mode de réalisation, la donnée de contrôle n’est pas directement l’une des données de sortie produite par le traitement de référence le plus proche, mais une première donnée de contrôle CTRL1 calculée (étape 117) au moyen d’une première fonction prédéterminée appliquée à au moins une des N données de sortie produites par le traitement le plus proche mis en œuvre par le dispositif vérificateur 1.In this third embodiment, the control data is not directly one of the output data produced by the closest reference processing, but a first control data CTRL1 calculated (step 117) by means of a first predetermined function applied to at least one of the N output data produced by the closest processing implemented by the checking device 1.
Le nombre de données de sortie intervenant dans le calcul de la première donnée de contrôle CTRL1 peut être prédéterminé. Une seule, plusieurs ou toutes les données de sortie produites par le traitement le plus proche peuvent intervenir dans le calcul de la donnée de contrôle CTRL1.The number of output data involved in the calculation of the first control data CTRL1 can be predetermined. A single, several or all of the output data produced by the closest processing can intervene in the calculation of the control data CTRL1.
En outre, l’indice de chaque donnée de sortie intervenant dans le calcul de la première donnée de contrôle CTRL1 peut être prédéterminé. En variante, l’indice de chaque donnée de sortie intervenant dans ce calcul est tiré aléatoirement.In addition, the index of each output data involved in the calculation of the first control data CTRL1 can be predetermined. As a variant, the index of each output data involved in this calculation is drawn randomly.
La première fonction prédéterminée est par exemple une fonction de hachage, si bien que la première donnée de contrôle CTRL1 est un hash dépendant d’au moins une des données de sortie.The first predetermined function is for example a hash function, so that the first control data CTRL1 is a hash depending on at least one of the output data.
Similairement, le dispositif de preuve 2 calcule (étape 205) au moins une deuxième donnée de contrôle CTRL2, et ce au moyen de la première fonction prédéterminée, à partir d’au moins une des N données de sortie Co, CN1 du traitement de référence mis en oeuvre par le dispositif de preuve 2.Similarly, the proof device 2 calculates (step 205) at least one second control data CTRL2, and this by means of the first predetermined function, from at least one of the N output data C o , C N1 of the processing. of reference implemented by the proof device 2.
Dans le cas où les modalités de calcul choisies pour l’étape 117 sont telles que la première donnée de contrôle CTRL1 est susceptible de prendre plusieurs valeurs, le dispositif de preuve 2 calcule, au cours de l’étape 205, plusieurs deuxièmes données de contrôle, chaque deuxième donnée de contrôle ayant une valeur image de la première fonction prédéterminée appliquée à une sélection différente de données de sortie parmi les N données de sortie du traitement de référence mis en œuvre par le dispositif de preuve 2.In the case where the calculation methods chosen for step 117 are such that the first control data CTRL1 is capable of taking several values, the proof device 2 calculates, during step 205, several second control data , each second control data item having an image value of the first predetermined function applied to a different selection of output data from the N output data items of the reference processing implemented by the proof device 2.
L’étape 205 de calcul de chaque deuxième donnée de contrôle CTRL2 est mise en œuvre avant la réception de la première donnée de contrôle CTRL1, afin de gagner du temps. Alternativement, l’étape 205 est mise en œuvre en réponse à la réception de la première donnée de contrôle CTRL1 par le dispositif de preuve 2.The step 205 of calculating each second control data CTRL2 is implemented before the reception of the first control data CTRL1, in order to save time. Alternatively, step 205 is implemented in response to the reception of the first control data CTRL1 by the proof device 2.
Chaque deuxième donnée de contrôle CTRL2 est alors comparée au cours de l’étape 206 avec la première donnée de contrôle CTRL1.Each second control data CTRL2 is then compared during step 206 with the first control data CTRL1.
Si la première donnée de contrôle CTRL1 est différente de chaque deuxième donnée de contrôle CTRL2, cela signifie que l’une des donnée de sortie produite par le traitement de référence le plus proche mis en œuvre par le dispositif vérificateur 1 est différente de chacune des données de sortie du traitement de référence mis en œuvre par le dispositif de preuve 2 : le dispositif de preuve 2 rejette alors le dispositif vérificateur 1 (étape 208).If the first control data CTRL1 is different from each second control data CTRL2, this means that one of the output data produced by the closest reference processing implemented by the checking device 1 is different from each of the data output of the reference processing implemented by the proof device 2: the proof device 2 then rejects the checking device 1 (step 208).
Si la première donnée de contrôle CTRL1 est égale à une deuxième donnée de contrôle CTRL2, le dispositif de preuve 2 en déduit que l’une des données Ci de sortie du traitement de référence mis en œuvre par le dispositif de preuve 2 est égale à l’une des données de sortie produite par le traitement le plus proche. L’étape de rejet 208 n’est alors pas mise en œuvre.If the first control data CTRL1 is equal to a second control data CTRL2, the proof device 2 deduces therefrom that one of the data Ci output from the reference processing implemented by the proof device 2 is equal to l 'one of the output data produced by the nearest processing. Rejection step 208 is then not implemented.
Par ailleurs, le procédé d’authentification selon le troisième mode de réalisation diffère du procédé selon le premier mode de réalisation par la nature des données de confirmation.Furthermore, the authentication method according to the third embodiment differs from the method according to the first embodiment by the nature of the confirmation data.
Dans le troisième mode de réalisation, la donnée de confirmation n’est pas directement l’une des données de sortie Co, ..., CN_r produites par le traitement de référence mis en œuvre par le dispositif de preuve 2. Le dispositif de preuve 1 calcule en effet une première donnée de confirmation CONF1 (étape 209) au moyen d’une deuxième fonction prédéterminée appliquée à au moins une des N données de sortie Co, ..., CN_! produites par le traitement de référence au cours de l’étape 204.In the third embodiment, the confirmation data is not directly one of the output data C o , ..., C N _ r produced by the reference processing implemented by the proof device 2. The proof device 1 indeed calculates a first confirmation data CONF1 (step 209) by means of a second predetermined function applied to at least one of the N output data C o , ..., C N _! produced by the reference processing during step 204.
La réponse RC envoyée au cours de l’étape 210 contient la première donnée de confirmation CONF1.The response RC sent during step 210 contains the first confirmation data CONF1.
Par ailleurs, le dispositif vérificateur 1 calcule, au cours d’une étape 121, au moins une deuxième donnée de confirmation CONF2 en appliquant la deuxième fonction prédéterminée à au moins une des données de sortie du traitement de référence le plus proche.Furthermore, the checking device 1 calculates, during a step 121, at least one second confirmation data CONF2 by applying the second predetermined function to at least one of the output data of the closest reference processing.
Dans le cas où les modalités de calcul choisies pour l’étape 209 sont telles que la première donnée de confirmation CONF1 est susceptible de prendre plusieurs valeurs, le dispositif vérificateur 1 calcule, au cours de l’étape 121, plusieurs deuxièmes données de confirmation CONF2, chaque deuxième donnée de confirmation CONF2 ayant une valeur image de la deuxième fonction prédéterminée appliquée à une sélection différente de données de sortie parmi les N données de sortie du traitement de référence le plus proche.In the case where the calculation methods chosen for step 209 are such that the first confirmation data CONF1 is likely to take several values, the checking device 1 calculates, during step 121, several second confirmation data CONF2 , each second confirmation data CONF2 having an image value of the second predetermined function applied to a different selection of output data from the N output data of the closest reference processing.
L’étape 121 de calcul de chaque deuxième donnée de confirmation CONF2 est mise en oeuvre avant la réception par le dispositif vérificateur 1 de la première donnée de confirmation CONF1, afin de gagner du temps. Alternativement, l’étape 121 est mise en oeuvre en réponse à la réception de la première donnée de confirmation CTRL3 par le dispositif vérificateur 1.The step 121 of calculating each second confirmation data CONF2 is implemented before the reception by the checking device 1 of the first confirmation data CONF1, in order to save time. Alternatively, step 121 is implemented in response to the reception of the first confirmation data CTRL3 by the checking device 1.
Après réception de la première donnée de confirmation CONF1, le dispositif vérificateur 1 compare la première donnée de confirmation CONF1 avec chaque deuxième donnée de confirmation CONF2 au cours de l’étape 122.After receiving the first confirmation data CONF1, the checking device 1 compares the first confirmation data CONF1 with each second confirmation data CONF2 during step 122.
Le dispositif vérificateur rejette le dispositif de preuve 1 (étape 120) ou non en fonction du résultat de la comparaison 122.The verifier rejects the proof device 1 (step 120) or not depending on the result of the comparison 122.
Si la première donnée de confirmation CONF1 est différente de chaque deuxième donnée de confirmation CONF2, le dispositif vérificateur rejette le dispositif de preuve 1 (étape 120).If the first confirmation data CONF1 is different from each second confirmation data CONF2, the verifier rejects the proof device 1 (step 120).
Si la première donnée de confirmation CONF1 est égale à une deuxième donnée de confirmation CONF2, le dispositif vérificateur 1 ne rejette pas le dispositif de preuve 1.If the first confirmation data CONF1 is equal to a second confirmation data CONF2, the checking device 1 does not reject the proof device 1.
Dans un mode de réalisation particulier combinant l’utilisation de la première fonction prédéterminée et celle de la deuxième fonction prédéterminée, la deuxième fonction prédéterminée peut être identique à la première fonction prédéterminée.In a particular embodiment combining the use of the first predetermined function and that of the second predetermined function, the second predetermined function may be identical to the first predetermined function.
Dans ce cas, la première donnée de contrôle CTRL1 calculée au cours de l’étape 117 est en fait égale à l’une des deuxièmes données de confirmation calculées au cours de l’étape 121. Aussi, dans ce cas, l’étape 122 est mise en œuvre avant l’envoi 118, et l’étape 117 consiste simplement à sélectionner la donnée CTRL1 parmi les deuxièmes données de confirmation calculées.In this case, the first control data CTRL1 calculated during step 117 is in fact equal to one of the second confirmation data calculated during step 121. Also, in this case, step 122 is implemented before sending 118, and step 117 simply consists in selecting the data CTRL1 from the second calculated confirmation data.
Toujours dans le même cas, la donnée de confirmation CONF1 est choisie de préférence différente de la donnée CTRL1 envoyée au dispositif de preuve 2.Still in the same case, the confirmation data CONF1 is preferably chosen to be different from the data CTRL1 sent to the proof device 2.
Est illustré en figure 5 certaines étapes d’un procédé d’authentification selon un quatrième mode de réalisation, qui diffère du procédé selon le premier mode de réalisation par la manière dont est mise en oeuvre l’étape de partage des données d’entrée entre les dispositifs 1 et 2.Illustrated in FIG. 5 are certain steps of an authentication method according to a fourth embodiment, which differs from the method according to the first embodiment by the manner in which the step of sharing the input data is implemented between devices 1 and 2.
Dans ce quatrième mode de réalisation, le processeur 10 du dispositif vérificateur 1 génère q jeux de données primaires (étape 101), q étant supérieur ou égal à 2, le processeur 20 du dispositif de preuve génère q jeux de données secondaires (étape 201 ). Le dispositif de preuve 2 envoie, via l’interface de communication 22, les données secondaires au dispositif vérificateur 1. Le processeur 10 génère au cours de l’étape 102 les données d’entrée en combinant les données primaires et les données secondaires reçues au moyen d’une fonction prédéterminée (par exemple en calculant la disjonction exclusive des données primaires et secondaires). Dans cette variante, le dispositif de preuve contribue ainsi indirectement à la génération des données d’entrée.In this fourth embodiment, the processor 10 of the verification device 1 generates q primary data sets (step 101), q being greater than or equal to 2, the processor 20 of the proof device generates q secondary data sets (step 201) . The proof device 2 sends, via the communication interface 22, the secondary data to the checking device 1. The processor 10 generates in step 102 the input data by combining the primary data and the secondary data received at the by means of a predetermined function (for example by calculating the exclusive disjunction of the primary and secondary data). In this variant, the proof device thus indirectly contributes to the generation of the input data.
Les autres étapes du procédé selon le quatrième mode de réalisation peuvent être similaires à celles de l’un des autres des modes de réalisation précédemment décrits.The other steps of the method according to the fourth embodiment can be similar to those of one of the others of the embodiments described above.
Dans un autre mode de réalisation (non illustré), les données primaires sont générées par le dispositif vérificateur 1, puis envoyées au dispositif de preuve 2. Le dispositif de preuve 2 calcule les données d’entrée en appliquant la fonction prédéterminée aux données primaires reçues et aux données secondaires qu’il a générées. Symétriquement, les données secondaires sont générées par le dispositif de preuve 2, puis envoyées au dispositif vérificateur 1. Le dispositif vérificateur calcule les données d’entrée en appliquant la fonction prédéterminée aux données primaires préalablement générées et aux données secondaires reçues.In another embodiment (not illustrated), the primary data is generated by the verifier device 1, then sent to the proof device 2. The proof device 2 calculates the input data by applying the predetermined function to the primary data received and the secondary data it generated. Symmetrically, the secondary data are generated by the proof device 2, then sent to the checking device 1. The checking device calculates the input data by applying the predetermined function to the primary data previously generated and to the secondary data received.
Ainsi, les données d’entrée sont partagées sans être directement communiquées de l’un à l’autre des dispositifs 1 et 2.Thus, the input data is shared without being communicated directly from one to the other of the devices 1 and 2.
Les étapes de génération des données primaire et secondaires peuvent être mise en oeuvre dans un ordre quelconque.The steps for generating primary and secondary data can be carried out in any order.
La figure 5 détaille un mode de réalisation pour le traitement de référence mis en œuvre par les deux dispositifs 1, 2.FIG. 5 details an embodiment for the reference processing implemented by the two devices 1, 2.
Dans ce mode de réalisation, chaque jeu de données d’entrées (chaque jeu de données d’entrée) généré au cours de l’étape 102 comprend une première donnée d’entrée et une deuxième donnée d’entrée. Le traitement de référence 204 prend donc en entrée :In this embodiment, each set of input data (each set of input data) generated during step 102 comprises a first input data and a second input data. The reference processing 204 therefore takes as input:
• un jeu de données d’entrée sélectionné comprenant un premier nonce R et un deuxième nonce M, et • la clé partagée K.• a selected input data set comprising a first nonce R and a second nonce M, and • the shared key K.
Le traitement de référence 204 comprend la génération de N clés de session Ko à KN_! à partir du premier nonce et de la clé K (étape 300). Les clés de sessions forment des données de calcul intermédiaires.The reference processing 204 includes the generation of N session keys K o to K N _! from the first nonce and the key K (step 300). The session keys form intermediate calculation data.
Cette sous-étape 300 peut comprendre N étapes élémentaires de chiffrement par bloc chaînées conformément à la méthode CBC (« Cipher Block Chaining ») :This sub-step 300 can comprise N elementary encryption steps by chained block in accordance with the CBC method (“Cipher Block Chaining”):
• Une première clé de session Ko est générée par chiffrement du premier nonce à l’aide de la clé K.• A first session key K o is generated by encryption of the first nonce using the key K.
• Pour tout i allant de 1 à N-1, la clé de session est générée par chiffrement de la clé de session à l’aide de la clé K.• For all i ranging from 1 to N-1, the session key is generated by encryption of the session key using the key K.
Les N chiffrements élémentaires sont par exemple des chiffrements symétriques, par exemple des chiffrements AES.The N elementary ciphers are for example symmetrical ciphers, for example AES ciphers.
Le traitement de référence 204 comprend en outre la mise en oeuvre de mesures de protection de l’étape de génération 300 de la pluralité de clés de session contre des attaques par canaux cachés. De la sorte, un attaquant est empêché d’exploiter les fuites physiques liées à la génération 204 et de retrouver la clef secrète K.The reference processing 204 further comprises the implementation of measures to protect the generation step 300 of the plurality of session keys against attacks by hidden channels. In this way, an attacker is prevented from exploiting the physical leaks linked to generation 204 and from finding the secret key K.
Différentes types de protection connus de l’homme du métier peuvent être appliquées alternativement ou cumulativement : masquage, « shuffling », mise en œuvre de traitement factices, etc.Different types of protection known to those skilled in the art can be applied alternately or cumulatively: masking, "shuffling", implementation of dummy processing, etc.
Le traitement de référence 204 comprend ensuite N chiffrements mis en œuvre à partir du deuxième nonce M et des N clés de session Ko à KN_r, de sorte à générer les données de sortie Co à Cw_x, qui sont dans ce cas des données chiffrées (étape 302).The reference processing 204 then comprises N ciphers implemented from the second nonce M and the N session keys K o to K N _ r , so as to generate the output data C o to C w _ x , which are in this case encrypted data (step 302).
Plus précisément, pour tout i allant de 0 à N-1, le chiffrement i prend en entrée le deuxième nonce M et la clé de chiffrement de façon à produire la donnée de sortie Ci.More precisely, for all i ranging from 0 to N-1, the encryption i takes as input the second nonce M and the encryption key so as to produce the output datum Ci.
Contrairement à l’étape 300, l’étape 302 n’est pas protégée à l’aide de mesures de protection contre des attaques par canaux cachés. Ceci permet au signal physique S d’être porteur de suffisamment d’information pour que le dispositif vérificateur 1 évalue le niveau de ressemblance entre le traitement de référence mis en œuvre par le dispositif de preuve 2 et un des traitements de référence mis en œuvre par le dispositif vérificateur 1.Unlike step 300, step 302 is not protected with protective measures against hidden channel attacks. This allows the physical signal S to carry enough information for the verifier device 1 to assess the level of resemblance between the reference processing implemented by the proof device 2 and one of the reference processing implemented by the checking device 1.
Lorsque le traitement de référence est mis en œuvre par le dispositif de preuve 2, le signal physique S par canaux cachés émis par le dispositif de preuve 2 est en définitive porteur d’informations relatives à l’étape 302 générant les données de sortie mais non porteur d’informations relatives à l’étape 300 générant les clés de session à partir de la clé secrète K. Par « non porteur d’information relative à l’étape de génération » on entend que le signal S ne donne pas d’information exploitable permettant de retrouver totalement ou partiellement la clé K.When the reference processing is implemented by the proof device 2, the physical signal S by hidden channels transmitted by the proof device 2 ultimately carries information relating to step 302 generating the output data but not carrying information relating to step 300 generating the session keys from the secret key K. By "not carrying information relating to the generation step" is meant that the signal S does not give information exploitable allowing to find totally or partially the key K.
Dès lors, même si un attaquant parvenait à deviner les clefs de sessions moyennant une attaque par canaux cachés, il lui serait très difficile de remonter à la clef mère K puisque l’étape 300 est protégée contre de telles attaques.Therefore, even if an attacker succeeded in guessing the session keys by means of a hidden channel attack, it would be very difficult for him to go back to the mother key K since step 300 is protected against such attacks.
Comme indiqué précédemment, chacun des q traitements de référence mis en œuvre au cours de l’étape 108 par le dispositif vérificateur 1 comprend les mêmes étapes 300, 302.As indicated above, each of the q reference treatments implemented during step 108 by the checking device 1 comprises the same steps 300, 302.
Il est à noter que le canal sécurisé établi entre les dispositifs 1 et 2 dans le cas aucun rejet 120 ou 208 n’est mis en œuvre, le canal sécurisé peut être basé d’une clé dérivée de la connaissance commune (mais secrète) de l’ensemble des données Ko, ... KN.It should be noted that the secure channel established between the devices 1 and 2 in the case of no rejection 120 or 208 is implemented, the secure channel can be based on a key derived from the common (but secret) knowledge of the set of data K o , ... K N.
Fonctionnement du procédé dans un cas nominal (communication avec un dispositif de preuve agréé)Operation of the process in a nominal case (communication with an approved proof device)
Dans un cas nominal, le dispositif vérificateur 1 entre en communication directe avec le dispositif de preuve 2 mettant en œuvre toutes les étapes de l’un quelconque des modes de réalisation décrits précédemment, notamment le traitement de référence 204.In a nominal case, the checking device 1 enters into direct communication with the proof device 2 implementing all the steps of any of the embodiments described above, in particular the reference processing 204.
Dans ce cas nominal, l’un des q traitements mis en œuvre par le dispositif vérificateur 1 au cours de l’étape 108 sera identique et produira les mêmes données de sortie que les données de sortie du traitement de référence.In this nominal case, one of the q treatments implemented by the checking device 1 during step 108 will be identical and will produce the same output data as the output data of the reference processing.
Cette identité se traduira par l’obtention d’un coefficient de ressemblance maximale de valeur très élevée, supérieure au seuil prédéterminé ; le dispositif vérificateur 1 ne rejettera donc pas le dispositif de preuve 2.This identity will result in the obtaining of a maximum coefficient of resemblance of very high value, greater than the predetermined threshold; the checking device 1 will therefore not reject the proof device 2.
Les étapes 118, 206, 210, 122 seront ensuite mise en œuvre avec pour conclusion la poursuite de la communication entre les deux dispositifs 1 et 2.Steps 118, 206, 210, 122 will then be implemented with the conclusion that communication between the two devices 1 and 2 will continue.
Fonctionnement du procédé en cas d’attaque par relaiFunctioning of the process in the event of a relay attack
Pour mettre en œuvre une attaque par relai, un attaquant ne cherche pas à dérober le dispositif de preuve 2. L’attaquant utilise plutôt un dispositif relai X (non agréé) qui communique d’une part avec le dispositif vérificateur 1, et communique d’autre part avec un dispositif de preuve 2, comme rappelé en introduction du présent texte.To implement a relay attack, an attacker does not seek to steal the proof device 2. The attacker rather uses a relay device X (not approved) which communicates on the one hand with the checking device 1, and communicates d on the other hand with a proof device 2, as recalled in the introduction to this text.
Le dispositif relai X capte les signaux émis par le dispositif de preuve 2 agréé (notamment le signal physique S) et les transmet au dispositif vérification 1 afin de se faire passer pour le dispositif de preuve 2 auprès du dispositif vérificateur 1. Similairement, le dispositif relaie capte les signaux émis par le dispositif vérificateur 1 (par exemple la pluralité de jeux de données d’entrée émise au cours de l’étape 104) et les retransmet au dispositif de preuve 2 afin de se faire passer pour le dispositif vérificateur 1 auprès du dispositif de preuve 2.The relay device X picks up the signals emitted by the approved proof device 2 (in particular the physical signal S) and transmits them to the checking device 1 in order to impersonate the proof device 2 with the checking device 1. Similarly, the device relay picks up the signals emitted by the verifier device 1 (for example the plurality of input data sets emitted during step 104) and retransmits them to the proof device 2 in order to impersonate the verifier device 1 with of the proof device 2.
Par cette attaque, le dispositif relai X pourrait faire croire au dispositif vérificateur 1 qu’il met lui-même en œuvre le traitement de référence 204, alors que ce traitement est en fait réalisé par un le dispositif de preuve 2 qui se trouve à distance.By this attack, the relay device X could make the verifier device 1 believe that it is itself implementing the reference processing 204, while this processing is in fact carried out by a proof device 2 which is located at a distance .
Toutefois, il est impossible pour un dispositif relai X de reproduire parfaitement le signal physique S. De très légères différences (quelques millivolts) entre le signal S effectivement émis par le dispositif de preuve 2 et le signal relayé par le dispositif relai et acquis au cours de l’étape 106 suffisent pour q coefficients de ressemblances tous de valeurs très faibles à l’issue de l’étape 110. En conséquence, aucun des coefficients de ressemblance n’est supérieur au seuil prédéterminé et le dispositif de preuve 2 conclut à la présence d’une attaque par relai, et rejette ainsi le dispositif relai au cours de l’étape 120.However, it is impossible for a relay device X to perfectly reproduce the physical signal S. Very slight differences (a few millivolts) between the signal S actually emitted by the proof device 2 and the signal relayed by the relay device and acquired during from step 106 are sufficient for q similarity coefficients all of very low values at the end of step 110. Consequently, none of the similarity coefficients is greater than the predetermined threshold and the proof device 2 concludes that presence of a relay attack, and thus rejects the relay device during step 120.
II est à noter que le déclenchement de l’étape d’acquisition 106 de manière différée permet de contrer des attaques par relai mises en œuvre au moyen d’un dispositif relai extrêmement performant, c’est-à-dire qui serait capable d’imiter à la quasi-perfection le signal S émis par le dispositif de preuve 2 agréé. Cet effet technique peut être expliqué au moyen des diagrammes temporels représentés en figure 6.It should be noted that the initiation of the acquisition step 106 in a deferred manner makes it possible to counter relay attacks implemented by means of an extremely efficient relay device, that is to say which would be capable of almost imitate the signal S emitted by the approved proof device 2. This technical effect can be explained by means of the time diagrams shown in Figure 6.
Le diagramme du haut de la figure 5 est relatif au cas nominal d’une communication directe entre les dispositifs 1 et 2 (absence d’attaque relai). L’envoi 102 de la pluralité de données d’entrée survient à l’instant T0, l’acquisition 106 débute à un instant T1, une fois un délai ΔΤ écoulé (on a donc T1=T0 + ΔΤ). L’acquisition 106 se termine à un instant T2. La durée de l’acquisition (T2-T1 ) est prédéterminée. Dans ce cas nominal, le dispositif de preuve 2 démarre le traitement de référence 204 à un instant T3 compris dans l’intervalle d’acquisition [T1, T2].The diagram at the top of FIG. 5 relates to the nominal case of direct communication between devices 1 and 2 (no relay attack). The sending 102 of the plurality of input data occurs at time T0, the acquisition 106 begins at a time T1, once a time ΔΤ has elapsed (there is therefore T1 = T0 + ΔΤ). Acquisition 106 ends at time T2. The duration of the acquisition (T2-T1) is predetermined. In this nominal case, the proof device 2 starts the reference processing 204 at an instant T3 included in the acquisition interval [T1, T2].
Le diagramme du bas de la figure 5 est relatif au cas d’une attaque par relai mise en œuvre au moyen d’un dispositif relai X. On y retrouve les mêmes évènements aux instants T0, T1, T2 rencontrés dans le cas nominal.The diagram at the bottom of FIG. 5 relates to the case of a relay attack implemented by means of a relay device X. We find there the same events at times T0, T1, T2 encountered in the nominal case.
Toutefois, la reproduction du signal physique S par le dispositif relai X est de durée non nulle. En conséquence, même si l’on suppose que le traitement de référence 204 débute toujours au même instant T3 (ce qui est déjà une hypothèse forte étant donné que la transmission des données d’entrée au dispositif de preuve 2 passe par le dispositif relai X), l’imitation du signal S générée par le dispositif relai X est transmise à un instant ultérieur T4 vers le dispositif vérificateur 1.However, the reproduction of the physical signal S by the relay device X is of non-zero duration. Consequently, even if it is assumed that the reference processing 204 always begins at the same instant T3 (which is already a strong hypothesis since the transmission of the input data to the proof device 2 passes through the relay device X ), the imitation of the signal S generated by the relay device X is transmitted at a later time T4 to the checking device 1.
En conséquence, les signaux acquis par le capteur 16 dans l’intervalle d’acquisition [T 1 ,T2] sont très différents dans le cas nominal et dans le cas d’une attaque par relai.Consequently, the signals acquired by the sensor 16 in the acquisition interval [T 1, T2] are very different in the nominal case and in the case of a relay attack.
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1660298A FR3058014B1 (en) | 2016-10-24 | 2016-10-24 | METHOD OF AUTHENTICATING A PROOF DEVICE, FOR EXAMPLE A CHIP CARD, FROM A VERIFIER DEVICE |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1660298A FR3058014B1 (en) | 2016-10-24 | 2016-10-24 | METHOD OF AUTHENTICATING A PROOF DEVICE, FOR EXAMPLE A CHIP CARD, FROM A VERIFIER DEVICE |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3058014A1 true FR3058014A1 (en) | 2018-04-27 |
FR3058014B1 FR3058014B1 (en) | 2018-10-26 |
Family
ID=58009940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1660298A Active FR3058014B1 (en) | 2016-10-24 | 2016-10-24 | METHOD OF AUTHENTICATING A PROOF DEVICE, FOR EXAMPLE A CHIP CARD, FROM A VERIFIER DEVICE |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR3058014B1 (en) |
-
2016
- 2016-10-24 FR FR1660298A patent/FR3058014B1/en active Active
Non-Patent Citations (1)
Title |
---|
SAKIYAMA KAZUO ET AL: "Physical authentication using side-channel information", 2016 4TH INTERNATIONAL CONFERENCE ON INFORMATION AND COMMUNICATION TECHNOLOGY (ICOICT), IEEE, 25 May 2016 (2016-05-25), pages 1 - 6, XP032967854, DOI: 10.1109/ICOICT.2016.7571953 * |
Also Published As
Publication number | Publication date |
---|---|
FR3058014B1 (en) | 2018-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3280089B1 (en) | Key-generation method and access-control method | |
FR3022053A1 (en) | METHOD FOR AUTHENTICATING A FIRST ELECTRONIC ENTITY BY A SECOND ELECTRONIC ENTITY AND ELECTRONIC ENTITY USING SUCH A METHOD | |
EP2953291B1 (en) | Secured distributed storage by multiparty calculation | |
EP2909963B1 (en) | Electronic signature method with ephemeral signature | |
CA2816933C (en) | Protection against passive sniffing | |
EP3419246B1 (en) | Challenge-response authentication method of a secure element (se) from a microcontroller | |
WO2012156648A1 (en) | Biometrically protected access to electronic devices | |
EP3300292B1 (en) | Encryption or decryption method protected against side channel attacks | |
FR3091941A1 (en) | Biometric authentication verification process | |
EP2568406A1 (en) | Implementation method, from a terminal, of cryptographic data for a user stored in a database | |
EP3595236A1 (en) | Method for synchronous generation of random values for cryptographic processes | |
CA2613884C (en) | Method for providing a secured communication between a user and an entity | |
EP4227832A1 (en) | Signature-free optimized post-quantum authentication scheme, methods and devices | |
FR3058014A1 (en) | METHOD OF AUTHENTICATING A PROOF DEVICE, FOR EXAMPLE A CHIP CARD, FROM A VERIFIER DEVICE | |
WO2012085215A1 (en) | Method and system for multi-threshold multimodal authentication using secret sharing | |
EP3270315B1 (en) | Method for securely linking a first device to a second device. | |
EP3340096B1 (en) | Method for configuring a cryptographic program intended for being run by a terminal | |
EP4318293B1 (en) | Method for generating proof of elapsed time between events in asynchronous node network | |
WO2024083849A1 (en) | White box encoding | |
EP4456477A1 (en) | Biometric data processing method, system and computer program | |
WO2003039065A2 (en) | Method for secure operation of a functional module in an electronic component and corresponding component | |
WO2021110518A1 (en) | Method for cogenerating a shared cryptographic material, devices, system and corresponding computer program | |
FR3123130A1 (en) | METHOD AND SYSTEM FOR PROCESSING BIOMETRIC DATA | |
WO2007026092A1 (en) | Anonymous and retroactively untraceable authentication of an electronic object by an authentication entity | |
WO2013140078A1 (en) | Method for identity generation and verification indicating the uniqueness of a carrier-object pair |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20180427 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
PLFP | Fee payment |
Year of fee payment: 4 |
|
PLFP | Fee payment |
Year of fee payment: 5 |
|
PLFP | Fee payment |
Year of fee payment: 6 |
|
PLFP | Fee payment |
Year of fee payment: 7 |
|
CA | Change of address |
Effective date: 20230124 |
|
CD | Change of name or company name |
Owner name: IDEMIA IDENTITY & SECURITY FRANCE, FR Effective date: 20230124 |
|
PLFP | Fee payment |
Year of fee payment: 8 |
|
PLFP | Fee payment |
Year of fee payment: 9 |