Brevet FR3058014A1 — publié le 20180427

DOMAINE DE L'INVENTION La présente invention concerne un procédé d'authentification d'un dispositif de preuve auprès d'un dispositif vérificateur. ETAT DE LA TECHNIQUE 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 oeuvre des calculs sur la base des données secrètes (consommation de courant électrique, émission d'un rayonnement électromagnétique, 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 oeuvre 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. 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 (« proyer » en anglais), par exemple une carte à puce, et un dispositif vérificateur (« verifier » en anglais), par exemple un lecteur adapté pour communiquer avec la carte à puce. Pour mettre en oeuvre 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. 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. 3058014 2 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 oeuvre par un dispositif d'attaque par canaux cachés. Ainsi, le dispositif vérificateur met en oeuvre les étapes suivantes : 5 - 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 oeuvre, 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 oeuvre du traitement de référence, 10 - acquisition du signal physique émis par le dispositif de preuve, - mise en oeuvre, 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 oeuvre du traitement de référence par le dispositif vérificateur et en fonction du signal physique acquis. 15 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. Un dispositif pirate se faisant passer pour le dispositif vérifieur pourrait donc deviner 20 la clé secrète à partir du signal physique qu'il aura acquis. 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. 25 EXPOSE DE L'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. 30 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 oeuvre 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 oeuvre, par le dispositif de preuve, d'un traitement de référence 3058014 3 à 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 oeuvre du traitement de référence par le dispositif de preuve, - acquisition du signal physique émis par le dispositif de preuve, 5 - au moins une mise en oeuvre, 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 oeuvre 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 : 10 - 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 15 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. 20 Il 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 oeuvre par le dispositif de preuve: - partage d'une clé secrète et de données d'entrée avec le dispositif vérificateur, 25 - mise en oeuvre 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 oeuvre du traitement de référence, dans lequel le traitement de référence comprend des sous-étapes de : 30 - 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 35 intermédiaires contres des attaques par canaux cachés, les mesures de protection 3058014 4 é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 5 données intermédiaires. Le même traitement de référence est mis en oeuvre 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. 10 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 oeuvre 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 oeuvre une attaque par canaux 15 cachés, aurait de grandes difficultés à deviner la clé secrète. 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. Le procédé selon le premier aspect peut comprendre des étapes de : 20 - 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 oeuvre par le dispositif vérificateur, dit premier traitement, - réception d'au moins une première donnée de confirmation émise par le dispositif 25 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 oeuvre par le dispositif de preuve, estimé que la première donnée de sortie est égale à la deuxième donnée de 30 sortie. 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. Le procédé selon le premier aspect peut comprendre des étapes de : 3058014 5 - 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 5 données de confirmation. 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. 10 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 : - ayant démarré à un instant qui dépend de l'instant auquel les données de preuve sont envoyées au dispositif de preuve, 15 - ayant une durée qui dépend d'une durée moyenne de réponse du dispositif de preuve au dispositif vérificateur. 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 oeuvre, 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é 20 secrète. Dans ce cas le dispositif vérificateur : - met en oeuvre, 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 : 25 o le traitement de référence mis en en oeuvre par le dispositif vérificateur à partir dudit jeu de données d'entrée, et o le traitement de référence mise en oeuvre 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 30 prédéterminé, et rejette ou non le dispositif de preuve en fonction du résultat de la comparaison avec le seuil. Par ailleurs, le partage des données d'entrées peut comprendre les sous étapes suivantes mises en oeuvre pour au moins une des données d'entrée : - génération d'une donnée primaire, 35 - réception d'une donnée secondaire émise par le dispositif de preuve, 3058014 6 - 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. Par ailleurs, le procédé selon le deuxième aspect de l'invention peut être complété à 5 l'aide des caractéristiques ou étapes suivantes, prises seules ou en combinaison lorsque cela est 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 oeuvre par le dispositif de preuve à partir du seul jeu de données 10 sélectionné et de la clé secrète. - 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 oeuvre 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 15 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 oeuvre 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. - envoi au dispositif vérificateur d'une première donnée de confirmation indiquant 20 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. 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. 25 Alternativement, les données de sorties produites par le traitement de référence mis en oeuvre par le dispositif de preuve peuvent être utilisées comme deuxièmes données de confirmation. 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 oeuvre par 30 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 oeuvre par le dispositif de preuve. La première donnée de confirmation envoyée peut être différente de la première donnée de contrôle reçue. 3058014 7 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. Les données intermédiaires du traitement de référence peuvent être des clés de 5 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. 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 10 chiffrement symétrique, par exemple un chiffrement AES. Les données d'entrées peuvent être des nonces. Il 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, 15 lorsque ce procédé est exécuté par un processeur. Il 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: - une interface de communication avec le dispositif de preuve pour partager une clé 20 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 oeuvre du traitement de référence, 25 - un capteur pour acquérir le signal physique émis par le dispositif de preuve, - au moins un processeur configure pour o mettre en oeuvre 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 oeuvre du 30 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 : - 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, 3058014 8 - 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 5 é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. 10 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: - une interface de communication pour partager une clé secrète et des données d'entrée avec le dispositif vérificateur, 15 - au moins un processeur configuré pour mettre en oeuvre 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 oeuvre du traitement de référence, dans lequel le traitement de référence comprend des sous-étapes de : 20 - 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 25 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 30 données intermédiaires. 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 oeuvre par le dispositif de preuve: 35 - partage d'une clé secrète et de données d'entrée avec le dispositif vérificateur, 3058014 9 - mise en oeuvre 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 oeuvre du traitement de référence, 5 - 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 oeuvre 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 10 par le traitement de référence mis en oeuvre 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. 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 15 auprès du dispositif vérificateur est ainsi étendu à un procédé d'authentification mutuelle, mieux sécurisé. 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 oeuvre par le 20 dispositif vérificateur (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 oeuvre, 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 25 d'informations par canaux cachés relatives à la mise en oeuvre 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 oeuvre (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), 30 - rejet (120) ou non du dispositif de preuve (2) en fonction de la mise en oeuvre 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 3058014 10 donnée de sortie produite par un traitement de référence mis en oeuvre 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 5 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 oeuvre par le dispositif de preuve (2), estimé que la première donnée de sortie est égale à la deuxième donnée de sortie. 10 DESCRIPTION DES 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 15 regard des dessins annexés sur lesquels : - La figure 1 représente schématiquement un système d'authentification selon un mode de réalisation de l'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. 20 - 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. - 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. - La figure 5 est un organigramme montrant certaines étapes d'un procédé 25 d'authentification selon un quatrième mode de réalisation de l'invention. - La figure 6 détaille des sous-étapes d'un traitement de référence, selon un mode de réalisation. - La figure 7 comporte deux diagrammes temporels montrant une succession d'évènements survenant lors de la mise en oeuvre d'un procédé d'authentification 30 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. Sur l'ensemble des figures, les éléments similaires portent des références identiques. DESCRIPTION DETAILLEE DE L'INVENTION 35 Système d'authentification 3058014 11 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. 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. 5 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. Par exemple, l'interface de communication 12 comprend une puce NFC adaptée pour 10 communiquer en champ proche, et/ou des bornes susceptibles d'être mis en contact électrique avec des bornes du dispositif de preuve 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. 15 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. 20 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. 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 25 mémoire 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. La mémoire 24 du dispositif de preuve 2 peut être similaire à celle du dispositif 30 vérificateur 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 35 dispositif de preuve 2. 3058014 12 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. Chacun des deux programmes d'authentification est notamment programmé pour 5 mettre en oeuvre un même traitement de référence prédéterminé. Procédé d'authentification 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. 10 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). 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 l'issue de ces étapes 100, 200, chacun des deux dispositifs en présence 1 et 2 15 connaît la clé secrète K, qui est par exemple mémorisée dans leurs mémoires respectives 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. Par exemple, dans une étape 102, le processeur 10 du dispositif vérificateur 1 génère 20 q jeux de données d'entrée, q étant supérieur ou égal à 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é. L'interface de communication 12 envoie les q jeux de données d'entrée générés au 25 dispositif de preuve 2 (étape 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. 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 30 jeux de nonce reçus (étape 202). Au cours d'une étape 204, le processeur 20 met ensuite en oeuvre 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 Co, ..., Ci, ..., CN-1* 3058014 13 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 5 référence 204 (par exemple le processeur 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 10 serait différent si un autre jeu de données d'entrée avait été sélectionné au cours de l'étape 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. 15 Le dispositif vérificateur 1 n'a pas exactement connaissance de l'instant auquel le traitement de référence mis en oeuvre 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 20 moyenne de réponse du dispositif de preuve 2 au dispositif vérificateur 1. Le processeur 10 met ensuite en oeuvre, 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. Autrement dit, les q traitements de référence mis en oeuvre par le dispositif 25 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. De préférence, différents ensembles de N données de sortie ne comprennent aucune 30 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. Le traitement de référence mis en oeuvre (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 35 traitements mis en oeuvre par le dispositif vérificateur 1 produit des données de sortie 3058014 14 égales aux données de sortie produites par le traitement de référence mis en oeuvre par le dispositif de preuve 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 5 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. 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 oeuvre au cours de l'étape 10 108. Chaque coefficient est représentatif d'une ressemblance entre : - le traitement de référence qui lui est associé mis en oeuvre au cours de l'étape 108 par le dispositif vérificateur 1, et - le traitement de référence mis en oeuvre au cours de l'étape 204 par le dispositif de preuve 2. 15 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é). Le processeur 10 compare au moins un des coefficients de ressemblance avec un seuil 20 prédéterminé (étape 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 oeuvre 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 25 de valeur la plus grande parmi les différents coefficients de corrélation calculés. Le coefficient de ressemblance maximale est comparé au seuil prédéterminé au cours de l'étape 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. 30 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. Par exemple, le processeur 10 rejette le dispositif de preuve 2 si le coefficient de 35 ressemblance maximale n'est pas supérieur au seuil prédéterminé. 3058014 15 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 oeuvre par le dispositif est suffisamment proche du traitement de référence pour supposer que 5 - le dispositif de preuve 2 a bien mis en oeuvre 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 10 oeuvre de part et d'autre sont également identiques. 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 oeuvre par le dispositif vérificateur 1. 15 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. 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 oeuvre par le dispositif vérificateur 1. Cette donnée de sortie est par exemple sélectionnée 20 aléatoirement parmi les N données de sortie. 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 oeuvre par le dispositif de preuve 2 (étape 206). 25 Chaque deuxième donnée de contrôle est une donnée de sortie différente du traitement de référence mis en oeuvre 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). 30 Deux cas peuvent alors se présenter. 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 oeuvre dispositif vérificateur 1 est différente de chacune des données de sortie Co, ..., CNi. du traitement de référence. Ceci peut 35 survenir suite à une erreur commise par le dispositif vérificateur 1 dans son choix du 3058014 16 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. 5 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. 10 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_l de sortie du traitement de référence mis en oeuvre par le dispositif de preuve 2. Dans une étape 210, le dispositif de preuve 2 envoie une réponse RC au dispositif 15 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. 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 20 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 oeuvre par le dispositif de preuve 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 25 vérificateur 1 conclut qu'aucune attaque par relai n'a été mise en oeuvre par le dispositif de preuve 2 ; l'étape 120 de rejet n'est alors pas mise en oeuvre. Sinon, le dispositif vérificateur 1 conclut qu'une attaque par relai a été mise en oeuvre, et l'étape 120 de rejet est alors mise en oeuvre. Par exemple, la première donnée de confirmation est une donnée de sortie Cj du 30 traitement de référence mis en oeuvre 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. 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 35 cours de l'étape 122, le dispositif vérificateur 1 vérifie si la donnée Cj fait bien partie des 3058014 17 N données de sortie du traitement identifié par le dispositif vérificateur 1 comme le plus proche. Si oui, le dispositif vérificateur 1 conclut qu'aucune attaque par relai n'a été mise en oeuvre par le dispositif de preuve 2. Un canal sécurisé peut alors être étable entre les 5 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. Sinon, le dispositif vérificateur 1 rejette le dispositif de preuve 2 (étape 122). Est illustré en figure 3 un procédé d'authentification selon un deuxième mode de 10 réalisation, qui diffère du procédé selon le premier mode de réalisation par l'ordonnancement des étapes mises en oeuvre par le dispositif vérificateur 1. Dans ce deuxième mode de réalisation, l'étape 108 de mise en oeuvre de q traitements est mise en oeuvre avant l'acquisition du signal physique S au cours de l'étape 106. 15 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. Dans ce troisième mode de réalisation, la donnée de contrôle n'est pas directement 20 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 oeuvre par le dispositif vérificateur 1. Le nombre de données de sortie intervenant dans le calcul de la première donnée de 25 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. 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 30 chaque donnée de sortie intervenant dans ce calcul est tiré aléatoirement. 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. Similairement, le dispositif de preuve 2 calcule (étape 205) au moins une deuxième 35 donnée de contrôle CTRL2, et ce au moyen de la première fonction prédéterminée, à partir 3058014 18 d'au moins une des N données de sortie Co, ..., CNi. du traitement de référence mis en oeuvre par le dispositif de preuve 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 5 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 oeuvre par le dispositif de preuve 2. L'étape 205 de calcul de chaque deuxième donnée de contrôle CTRL2 est mise en 10 oeuvre 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 oeuvre en réponse à la réception de la première donnée de contrôle CTRL1 par le dispositif de preuve 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. 15 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 oeuvre par le dispositif vérificateur 1 est différente de chacune des données de sortie du traitement de référence mis en oeuvre par le dispositif de preuve 2 : le dispositif de preuve 2 rejette alors le dispositif vérificateur 1 (étape 208). 20 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 oeuvre 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 oeuvre. 25 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. 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_i produites par le traitement de 30 référence mis en oeuvre 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_i produites par le traitement de référence au cours de l'étape 204. La réponse RC envoyée au cours de l'étape 210 contient la première donnée de 35 confirmation CONF1. 3058014 19 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. 5 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 10 données de sortie parmi les N données de sortie du traitement de référence le plus proche. 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 15 dispositif vérificateur 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. Le dispositif vérificateur rejette le dispositif de preuve 1 (étape 120) ou non en 20 fonction du résultat de la comparaison 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). Si la première donnée de confirmation CONF1 est égale à une deuxième donnée de 25 confirmation CONF2, le dispositif vérificateur 1 ne rejette pas le dispositif de preuve 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. 30 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 oeuvre 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. 3058014 20 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. Est illustré en figure 5 certaines étapes d'un procédé d'authentification selon un 5 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. 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 10 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 15 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. 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. Dans un autre mode de réalisation (non illustré), les données primaires sont générées 20 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 25 appliquant la fonction prédéterminée aux données primaires préalablement générées et aux données secondaires reçues. 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. Les étapes de génération des données primaire et secondaires peuvent être mise en 30 oeuvre dans un ordre quelconque. La figure 5 détaille un mode de réalisation pour le traitement de référence mis en oeuvre par les deux dispositifs 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 35 et une deuxième donnée d'entrée. Le traitement de référence 204 prend donc en entrée : 3058014 21 - 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. Le traitement de référence 204 comprend la génération de N clés de session K0 à 5 KN_i à partir du premier nonce et de la clé K (étape 300). Les clés de sessions forment des données de calcul intermédiaires. 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 ») : - Une première clé de session K0 est générée par chiffrement du premier nonce à 10 l'aide de la clé K. - Pour tout i allant de 1 à N-1, la clé de session K, est générée par chiffrement de la clé de session K1_1 à l'aide de la clé K. Les N chiffrements élémentaires sont par exemple des chiffrements symétriques, par exemple des chiffrements AES. 15 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. Différentes types de protection connus de l'homme du métier peuvent être 20 appliquées alternativement ou cumulativement : masquage, « shuffling », mise en oeuvre de traitement factices, etc. Le traitement de référence 204 comprend ensuite N chiffrements mis en oeuvre à partir du deuxième nonce M et des N clés de session K0 à KN_i, de sorte à générer les données de sortie C0 à CN_i, qui sont dans ce cas des données chiffrées (étape 302). 25 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 K, de façon à produire la donnée de sortie 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 30 de ressemblance entre le traitement de référence mis en oeuvre par le dispositif de preuve 2 et un des traitements de référence mis en oeuvre par le dispositif vérificateur 1. Lorsque le traitement de référence est mis en oeuvre 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 35 porteur d'informations relatives à l'étape 300 générant les clés de session à partir de la clé 3058014 22 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. Dès lors, même si un attaquant parvenait à deviner les clefs de sessions moyennant 5 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. Comme indiqué précédemment, chacun des q traitements de référence mis en oeuvre au cours de l'étape 108 par le dispositif vérificateur 1 comprend les mêmes étapes 300, 302. 10 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 oeuvre, 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 K0, ... KN. Fonctionnement du procédé dans un cas nominal (communication avec un 15 dispositif de preuve agréé) Dans un cas nominal, le dispositif vérificateur 1 entre en communication directe avec le dispositif de preuve 2 mettant en oeuvre 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. Dans ce cas nominal, l'un des q traitements mis en oeuvre par le dispositif vérificateur 20 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. 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. 25 Les étapes 118, 206, 210, 122 seront ensuite mise en oeuvre avec pour conclusion la poursuite de la communication entre les deux dispositifs 1 et 2. Fonctionnement du procédé en cas d'attaque par relai Pour mettre en oeuvre une attaque par relai, un attaquant ne cherche pas à dérober 30 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. 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 35 passer pour le dispositif de preuve 2 auprès du dispositif vérificateur 1. Similairement, le 3058014 23 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. 5 Par cette attaque, le dispositif relai X pourrait faire croire au dispositif vérificateur 1 qu'il met lui-même en oeuvre 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. 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 10 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. 15 Il 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 oeuvre 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. 20 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 TO, l'acquisition 106 débute à un instant T1, une fois un délai AT écoulé (on a donc T1=T0 + AT). 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 25 preuve 2 démarre le traitement de référence 204 à un instant T3 compris dans l'intervalle d'acquisition [T1, T2]. Le diagramme du bas de la figure 5 est relatif au cas d'une attaque par relai mise en oeuvre au moyen d'un dispositif relai X. On y retrouve les mêmes évènements aux instants TO, T1, T2 rencontrés dans le cas nominal. 30 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 35 ultérieur T4 vers le dispositif vérificateur 1. 3058014 24 En conséquence, les signaux acquis par le capteur 16 dans l'intervalle d'acquisition [T1,T2] sont très différents dans le cas nominal et dans le cas d'une attaque par relai. 5 REVENDICATIONS1. 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 oeuvre par le dispositif vérificateur (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 oeuvre, 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 oeuvre 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 oeuvre (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 oeuvre du traitement de référence par le dispositif vérificateur (1) et en fonction du signal physique (S) acquis, le procédé étant caractérisé et en ce que le traitement de référence comprend des sous-étapes de : - génération (300) de données intermédiaires (Ko, ..., KN_i) à partir d'une première (R) des données d'entrées et à partir de la clé secrète (K), - génération (302) de données de sortie (Co, ..., CN_i) à partir d'une deuxième (M) des données d'entrée et des données intermédiaires (Ko, ..., KN-1), - mise en oeuvre de mesures de protection de l'étape de génération (300) 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 (2), le signal physique (S) par canaux cachés émis par le dispositif de preuve (2) soit porteur d'informations relatives à l'étape de génération (302) des données de sortie (Co, ..., CN_i) mais non porteur d'informations relatives à l'étape de génération (300) de données intermédiaires (Ko, ..., KN-1)- 2. Procédé selon la revendication 1, comprenant en outre des étapes de : - 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 3058014 26 donnée de sortie produite par un traitement de référence mis en oeuvre 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 5 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 oeuvre par le dispositif de preuve (2), estimé que la première donnée de sortie est égale à la deuxième donnée de sortie. 10 3. Procédé selon la revendication 2, dans lequel la première donnée de contrôle (CTRL1) : - est générée par application d'une fonction prédéterminée à la première donnée de sortie, par exemple une fonction de hachage, ou - est la première donnée de sortie. 15 4. Procédé selon l'une des revendications 2 à 3, comprenant en outre des étapes de : - 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, 20 - rejet (120) du dispositif de preuve (2) en fonction du résultat de la comparaison entre les données de confirmation. 5. Procédé selon la revendication précédente, dans lequel: - la deuxième donnée de confirmation (CONF2) est générée par application d'une 25 fonction prédéterminée à la troisième de sortie, par exemple une fonction de hachage, ou - les données de sorties produites par le premier traitement sont utilisées comme deuxièmes données de confirmation. 30 6. Procédé selon l'une des revendications précédentes, dans lequel le partage des données d'entrée comprend l'envoi (104), par le dispositif vérificateur (1), des données d'entrées au dispositif de preuve (2), et dans lequel l'étape d'acquisition du signal physique (S) est déclenchée à l'expiration d'un délai : - ayant démarré à un instant qui dépend de l'instant auquel les données de preuve sont envoyées au dispositif de preuve (2), 3058014 27 - ayant une durée qui dépend d'une durée moyenne de réponse du dispositif de preuve (2) au dispositif vérificateur (1). 7. Procédé selon l'une des revendications précédentes, dans lequel 5 - plusieurs jeux de données d'entrées sont partagés entre le dispositif de preuve (2) et le dispositif vérificateur (1), en vue de la mise en oeuvre, par le dispositif de preuve (2), du traitement de référence à partir d'un seul des jeux de données d'entrée et de la clé secrète (K), - pour chaque jeu de données d'entrée, le dispositif vérificateur (1) met en oeuvre le 10 traitement de référence à partir dudit jeu de données d'entrée et de la clé secrète (K), - pour chaque jeu de données d'entrée, calcul (110), sur la base du dudit signal physique (S) acquis, d'un coefficient de ressemblance entre : o le traitement de référence mis en en oeuvre par le dispositif vérificateur (1) 15 à partir dudit jeu de données d'entrée, et o le traitement de référence mise en oeuvre par le dispositif de preuve (2), - le dispositif 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 20 résultat de la comparaison avec le seuil. 8. Procédé selon l'une des revendications précédentes, dans lequel le partage des données d'entrées comprend les sous étapes suivantes mises en oeuvre pour au moins une des données d'entrée : 25 - génération d'une donnée primaire, - réception d'une donnée secondaire émise par le dispositif de preuve (2), - 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. 30 9. 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 oeuvre par le dispositif de preuve (2): - partage (200) d'une clé secrète (K) et de données d'entrée avec le dispositif vérificateur (1), 3058014 28 - mise en oeuvre (204) d'un traitement de référence à partir des données et de la clé secrète (K) de sorte que le dispositif de preuve (2) émet un signal physique (S) porteur d'informations par canaux cachés relatives à la mise en oeuvre du traitement de référence, 5 le procédé étant caractérisé et en ce que le traitement de référence comprend des sous- étapes de : - génération (300) de données intermédiaires (Ko, ..., KN_i) à partir d'une première (R) des données d'entrées et à partir de la clé secrète (K), - génération (302) de données de sortie (Co, ..., CN_i) à partir d'une deuxième (M) des 10 données d'entrée et des données intermédiaires (Ko, ..., KN-1), - mise en oeuvre de mesures de protection de l'étape de génération (300) 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 (2), le signal physique (S) par canaux cachés émis 15 par le dispositif de preuve (2) soit porteur d'informations relatives à l'étape de génération (302) des données de sortie (Co, ..., CN_i) mais non porteur d'informations relatives à l'étape de génération (300) de données intermédiaires (Ko, ..., KN-1)- 10. Procédé selon la revendication précédente, comprenant une étape de : 20 - sélection (302) d'un jeu de données d'entrée parmi plusieurs jeux de données partagés entre le dispositif de preuve (2) et le dispositif vérificateur (1), le traitement de référence étant mis en oeuvre par le dispositif de preuve (2) à partir du seul jeu de données sélectionné et de la clé secrète (K). 25 11. Procédé selon l'une des revendications 9 à 10, comprenant des étapes de : - réception d'une première donnée de contrôle (C, CTRL1) dépendant d'au moins une première donnée de sortie produite par une mise en oeuvre du traitement de référence par le dispositif vérificateur (1), - comparaison entre la première donnée de contrôle (C, CTRL1) reçue et au moins 30 une deuxième donnée de contrôle (CTRL2) dépendant d'au moins une deuxième donnée de sortie (Co, ..., CN_i) produite par le traitement de référence mis en oeuvre par le dispositif de preuve (2), - rejet (208) ou non du dispositif vérificateur (1) par le dispositif de preuve (2) en fonction du résultat de la comparaison entre les données de contrôle. 35 3058014 29 12. Procédé selon la revendication précédente, dans lequel: - la deuxième donnée de contrôle (CTRL1) est générée par application d'une première fonction prédéterminée à la deuxième donnée de sortie, par exemple une fonction de hachage, ou 5 - les données de sorties produites par le traitement de référence mis en oeuvre par le dispositif de preuve (2) sont utilisées comme deuxièmes données de confirmation. 13. Procédé selon l'une des revendications 11 à 12, comprenant en outre l'envoi (210) au 10 dispositif vérificateur (1) d'une première donnée de confirmation (CONF1) indiquant que le dispositif de preuve (2) 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. 14. Procédé selon la revendication précédente, dans lequel la première donnée de 15 confirmation (CONF1) : - est 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 oeuvre par le dispositif de preuve (2), par exemple une fonction de hachage, ou - est une donnée de sortie produite par le traitement de référence mis en oeuvre par 20 le dispositif de preuve (2). 15. Procédé selon l'une des revendications 13 à 14, dans lequel la première donnée de confirmation (CONF1) envoyée est différente de la première donnée de contrôle (CTRL1) reçue. 25 16. Procédé selon l'une des revendications précédentes, dans lequel - les données intermédiaires (K0, ..., Kwi) sont des clés de session, - La génération (302) des données de sortie comprend, pour chaque clé de session (K,), un chiffrement de la deuxième donnée (M) d'entrée au moyen de ladite clé de 30 session (K,) de sorte à produire une des données de sortie (C,). 17. Procédé selon la revendication précédente, dans lequel : - une clé de session (K,) est générée par un chiffrement symétrique, par exemple un chiffrement AES, et/ou 3058014 30 - la deuxième donnée d'entrée (M) est chiffrée par un chiffrement symétrique, par exemple un chiffrement AES. 18. Procédé selon l'une des revendications précédentes, dans lequel les données d'entrées 5 sont des nonces. 19. Produit programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé selon l'une des revendications précédentes, lorsque ce procédé est exécuté par un processeur. 10 20. Dispositif vérificateur (1) destiné à authentifier un dispositif de preuve (2), le dispositif vérificateur (1) comprenant: - une interface de communication (12) avec le dispositif de preuve (2) pour partager une clé secrète (K) et des données d'entrée avec le dispositif de preuve (2), en vue 15 de la mise en oeuvre, par le dispositif de preuve (2), d'un traitement de référence à partir des données et de la clé secrète (K) de sorte que le dispositif de preuve (2) émet un signal physique (S) porteur d'informations par canaux cachés relatives à la mise en oeuvre du traitement de référence, - un capteur (16) pour acquérir le signal physique (S) émis par le dispositif de preuve 20 (2), - au moins un processeur (10) configuré pour o mettre en oeuvre au moins une fois le traitement de référence à partir des données d'entrée et de la clé secrète (K), o rejeter ou non le dispositif de preuve (2) en fonction de la mise en oeuvre du 25 traitement de référence par le dispositif vérificateur (1) et en fonction du signal physique (S) acquis, le dispositif vérificateur (1) étant caractérisé en ce que le traitement de référence comprend des sous-étapes de : - génération de données intermédiaires (Ko, ..., KN_i) à partir d'une première (R) des 30 données d'entrées et à partir de la clé secrète (K), - génération de données de sortie (Co, ..., CN_i) à partir d'une deuxième (M) des données d'entrée et des données intermédiaires (Ko, ..., KN-1), - 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 35 étant adaptées pour que, lorsque le traitement de référence est mis en oeuvre par 3058014 31 le dispositif de preuve (2), le signal physique (S) par canaux cachés émis par le dispositif de preuve (2) soit porteur d'informations relatives à l'étape de génération des données de sortie (Co, ..., CN_i) mais non porteur d'informations relatives à l'étape de génération (300) de données intermédiaires (Ko, ..., KN-1)- 5 21. Dispositif de preuve (2), par exemple une carte à puce, destiné à s'authentifier auprès d'un dispositif vérificateur (1), le dispositif de preuve (2) comprenant: - une interface de communication (22) pour partager une clé secrète (K) et des données d'entrée avec le dispositif vérificateur (1), 10 - au moins un processeur (20) configuré pour mettre en oeuvre un traitement de référence à partir des données et de la clé secrète (K) de sorte que le dispositif de preuve (2) émet un signal physique (S) porteur d'informations par canaux cachés relatives à la mise en oeuvre du traitement de référence, le dispositif de preuve (2) étant caractérisé en ce que le traitement de référence 15 comprend des sous-étapes de : - génération de données intermédiaires (Ko, ..., KN_i) à partir d'une première (R) des données d'entrées et à partir de la clé secrète (K), - génération de données de sortie (Co, ..., CN_i) à partir d'une deuxième (M) des données d'entrée et des données intermédiaires (Ko, ..., KN-1), 20 - 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 oeuvre par le dispositif de preuve (2), le signal physique (S) par canaux cachés émis par le dispositif de preuve (2) soit porteur d'informations relatives à l'étape de génération 25 des données de sortie (Co, ..., CN_i) mais non porteur d'informations relatives à l'étape de génération de données intermédiaires (Ko, ..., KN-1)-