Brevet FR3121765A1 — publié le 20221014

Procédé d'authentification La présente description concerne un procédé d'authentification d'un premier dispositif (P) auprès d'un deuxième dispositif (V), comprenant au moins deux opérations de vérification (VP0, …, VPN) successives comprenant les étapes successives suivantes : - le deuxième dispositif (V) génère une première donnée (C1, …, CN), et envoie ladite première donnée (C1, …, CN) au premier dispositif (P) ; - le premier dispositif (P) génère une troisième donnée (R1, …, RN) et une quatrième donnée (sP1, …, sPN) utilisées par l'opération de vérification suivante et envoie la troisième donnée (R1, …, RN) au deuxième dispositif (V) ; - le deuxième dispositif (V) vérifie la troisième donnée (R1, …, RN) indiquant si la vérification a réussi ou non. Figure pour l'abrégé : Fig. 4 Procédé d'authentification La présente description concerne de façon générale les dispositifs ou circuits électroniques. La présente description s'applique de façon plus particulière à un procédé d'authentification entre deux dispositifs ou circuits électroniques précédant, par exemple, un procédé de communication entre ces deux dispositifs ou circuits. Une communication entre deux dispositifs, ou circuits, électroniques est souvent précédée d'une phase d'authentification. Pendant cette phase, un procédé d'authentification, mis en oeuvre par les deux dispositifs, permet de vérifier si les deux dispositifs sont autorisés à communiquer ensemble. Les procédés d'authentification sont souvent utilisés lors de communications entre un dispositif de type terminal, comme par exemple un ordinateur, une imprimante, ou un terminal de paiement, et un équipement ou dispositif électronique de type périphérique, par exemple un consommable ou un accessoire. Le procédé d'authentification permet, dans ce cas, de valider l'accès du dispositif de type périphérique aux données et/ou à des fonctionnalités du dispositif de type terminal. Le procédé d'authentification est un premier moyen de protection contre les dispositifs malveillants essayant d'accéder à des données et/ou à des fonctionnalités d'autres dispositifs. Un exemple usuel de procédé d'authentification utilisé, par exemple entre un ordinateur et un utilisateur, est l'utilisation d'un identifiant et d'un mot de passe. Il serait souhaitable de pouvoir améliorer, au moins en partie, les procédés d'authentification connus de dispositifs électroniques. Il existe un besoin pour des procédés d'authentification plus fiables. Il existe plus particulièrement un besoin pour des procédés d'authentification de type Vérificateur/Candidat (de l'anglais Verifier/Prover) plus fiables. Un mode de réalisation pallie tout ou partie des inconvénients des procédés d'authentification connus, et plus particulièrement tout ou partie des inconvénients des procédés connus d'authentification de type Vérificateur/Candidat (de l'anglais Verifier/Prover). Un mode de réalisation prévoit un procédé d'authentification d'un premier dispositif auprès d'un deuxième dispositif, comprenant au moins deux opérations de vérification successives, chaque opération comprenant les étapes successives suivantes : - le deuxième dispositif génère une première donnée à partir d'une deuxième donnée générée à l'opération de vérification précédente, et envoie ladite première donnée au premier dispositif ; - le premier dispositif génère une troisième donnée et une quatrième donnée utilisées par l'opération de vérification suivante, en appliquant une première fonction prenant en entrée au moins la première donnée et la quatrième donnée générée à l'opération de vérification précédente, et envoie la troisième donnée au deuxième dispositif ; - le deuxième dispositif vérifie la troisième donnée en utilisant une deuxième fonction prenant en entrée la première donnée et la troisième donnée et fournissant en sortie une information, indiquant si la vérification a réussi ou non, et la deuxième donnée utilisée par l'opération de vérification suivante, le premier dispositif est authentifié auprès du deuxième dispositif si : - pour chaque opération de vérification, l'information indique que la vérification a réussi ; et - si la quatrième donnée du premier dispositif et la deuxième donnée du deuxième dispositif de la dernière opération de vérification sont correctes. Selon un mode de réalisation, pendant la mise en oeuvre de la première opération de vérification, le deuxième dispositif utilise une cinquième donnée pour générer la première donnée, et le premier dispositif utilise une sixième donnée pour générer la troisième donnée et la quatrième donnée. Selon un mode de réalisation, la cinquième donnée est différente pour chaque opération de vérification, et la sixième donnée est différente pour chaque opération de vérification. Selon un mode de réalisation, pendant la mise en oeuvre de chaque opération de vérification, le deuxième dispositif utilise la cinquième donnée pour générer la première donnée, et le premier dispositif utilise la sixième donnée pour générer la troisième donnée et la quatrième donnée. Selon un mode de réalisation, le deuxième dispositif génère la première donnée à partir de la deuxième donnée générée à l'opération de vérification précédente et de la cinquième donnée, et la première fonction prend en entrée la première donnée, la quatrième donnée générée à l'opération de vérification précédente, et la sixième donnée. Selon un mode de réalisation, le procédé comprend, en outre, une opération d'identification précédant lesdites au moins deux opérations de vérification, dans laquelle les premier et deuxième dispositifs s'échangent des numéros d'identification, si chaque premier, deuxième dispositif reconnait le numéro d'identification de l'autre dispositif alors lesdites au moins deux opérations de vérification ne sont pas mises en oeuvre, et le premier dispositif est authentifié auprès du deuxième dispositif, sinon lesdites au moins deux opérations de vérification sont mises en oeuvre. Selon un mode de réalisation, au moins une première fonction desdites au moins deux opérations de vérification est différente d'au moins une première fonction d'une autre desdites au moins deux opérations de vérification. Selon un mode de réalisation, au moins une deuxième fonction desdites au moins deux opérations de vérification est différente d'au moins une deuxième fonction d'une autre desdites au moins deux opérations de vérification. Selon un mode de réalisation, les premier et deuxième dispositifs s'envoient des données de façon chiffrée. Selon un mode de réalisation, pendant la mise en oeuvre de chacune desdites au moins deux opérations de vérification, les premier et deuxième dispositifs s'envoient des données de façon chiffrée en utilisant une première clé de chiffrement . Selon un mode de réalisation, ladite première clé de chiffrement est différente pour chaque mise en oeuvre de chacune desdites au moins deux opérations de vérification. Selon un mode de réalisation, ladite première clé de chiffrement dépend de ladite première clé de chiffrement de ladite opérations de vérification précédente. Selon un mode de réalisation, parmi lesdites au moins deux opérations de vérification, il y a au moins une première opération de vérification dans laquelle l'application de la deuxième fonction génère, en outre, une septième donnée qui est envoyée au deuxième dispositif, et parmi lesdites au moins deux opérations de vérification il y a au moins une deuxième opération de vérification, successive à la première opération de vérification, dans laquelle : - le deuxième dispositif génère, en outre, une huitième donnée en appliquant la première fonction à la septième donnée et envoie la huitième donnée au premier dispositif ; - le premier dispositif déchiffre une neuvième donnée en utilisant la huitième donnée pour générer la troisième donnée. Selon un mode de réalisation, le premier dispositif utilise la huitième donnée pour déchiffrer une neuvième donnée, et la première fonction prend, en outre, en entrée, la neuvième donnée pour générer la troisième donnée. Un autre mode de réalisation prévoit un dispositif adapté à mettre en oeuvre le procédé décrit précédemment en tant que premier dispositif. Selon un mode de réalisation, le dispositif comprenant une mémoire dans laquelle sont stockées des données représentant les première, deuxième, troisième et quatrième donnée et l'information. Encore un autre mode de réalisation prévoit un dispositif adapté à mettre en oeuvre le procédé décrit précédemment en tant que deuxième dispositif. Selon un mode de réalisation, le dispositif comprend une mémoire dans laquelle sont stockées des données représentant les première, deuxième, troisième et quatrième donnée et l'information. Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles : la représente, schématiquement et sous forme de blocs, un dispositif électronique auquel peut s'appliquer les modes de réalisation décrits ci-après ; la représente, schématiquement, deux dispositifs électroniques auxquels peuvent s'appliquer les modes de réalisation décrits ci-après ; la représente, schématiquement et sous forme de blocs, un exemple d'un procédé d'authentification ; la représente, schématiquement et sous forme de blocs, un mode de mise en oeuvre d'un procédé d'authentification ; la représente, schématiquement et sous forme de blocs, un autre mode de mise en oeuvre d'un procédé d'authentification ; la représente, schématiquement et sous forme de blocs, un autre mode de mise en oeuvre d'un procédé d'authentification ; et la représente, schématiquement et sous forme de blocs, un autre mode de mise en oeuvre d'un procédé d'authentification. De mêmes éléments ont été désignés par de mêmes références dans les différentes figures. En particulier, les éléments structurels et/ou fonctionnels communs aux différents modes de réalisation peuvent présenter les mêmes références et peuvent disposer de propriétés structurelles, dimensionnelles et matérielles identiques. Par souci de clarté, seuls les étapes et éléments utiles à la compréhension des modes de réalisation décrits ont été représentés et sont détaillés. En particulier, ce procédé d'authentification peut s'adapter aux procédés de communication usuels. Sauf précision contraire, lorsque l'on fait référence à deux éléments connectés entre eux, cela signifie directement connectés sans éléments intermédiaires autres que des conducteurs, et lorsque l'on fait référence à deux éléments reliés (en anglais "coupled") entre eux, cela signifie que ces deux éléments peuvent être connectés ou être reliés par l'intermédiaire d'un ou plusieurs autres éléments. Dans la description qui suit, lorsque l'on fait référence à des qualificatifs de position absolue, tels que les termes "avant", "arrière", "haut", "bas", "gauche", "droite", etc., ou relative, tels que les termes "dessus", "dessous", "supérieur", "inférieur", etc., ou à des qualificatifs d'orientation, tels que les termes "horizontal", "vertical", etc., il est fait référence sauf précision contraire à l'orientation des figures. Sauf précision contraire, les expressions "environ", "approximativement", "sensiblement", et "de l'ordre de" signifient à 10 % près, de préférence à 5 % près. La représente, très schématiquement et sous forme de blocs, un exemple d'architecture d'un dispositif électronique 10. Le dispositif électronique 10 comprend un processeur 11 (CPU) adapté à mettre en oeuvre différentes instructions pour traiter des données stockées dans des mémoires du et/ou fournies par d'autres circuits au dispositif 10. Le dispositif électronique 10 comprend, en outre, différents types de mémoires, parmi lesquelles une mémoire non volatile 12 (NVM), une mémoire volatile 13 (RAM), et/ou une mémoire morte 14 (ROM). Chaque mémoire est adaptée à stocker différents types de données. Selon une variante, le dispositif 10 peut avoir une ou plusieurs mémoires de ces différents types, et/ou n'avoir des mémoires que d'un ou deux de ces types. Le dispositif électronique 10 comprend, en outre, différents circuits 15 (FCT) adaptés à réaliser différentes fonctions. A titre d'exemple, les circuits 15 peuvent comprendre des circuits de mesure, des circuits de conversion de données, des circuits de chiffrement, etc. Le dispositif électronique 10 peut comprendre, en outre, des circuits d'interface 16 (IN/OUT) adaptés à envoyer et/ou à recevoir des données provenant de l'extérieur du dispositif 10. Les circuits d'interface 16 peuvent être, en outre adapté à mettre en oeuvre un affichage de données, par exemple, un écran d'affichage. Le dispositif électronique 10 est, de plus, tout particulièrement adapté à communiquer avec d'autres dispositifs électroniques, et à mettre en oeuvre un procédé d'authentification pour autoriser une telle communication. Le dispositif électronique 10 comprend, en outre, un ou plusieurs bus de données 17 adaptés à transférer des données entre ses différents composants. Le bus 17 permet, en particulier, de transférer des données stockées dans les mémoires 12 à 14 au processeur 11, aux circuits 15 et/ou aux circuits d'interface 16. La représente, schématiquement et sous forme de blocs, une communication entre deux dispositifs 21 et 22 du type du dispositif 10 décrit en relation avec la . Les dispositifs 21 et 22 sont des dispositifs du type du dispositif 10 décrit en relation avec la . Le dispositif 21 est un dispositif de type terminal. En , le dispositif 21 est, par exemple, une imprimante. Le dispositif 22 est un dispositif de type périphérique, et plus particulièrement le dispositif 22 est un consommable adapté à être utilisé par le dispositif 21. En , le dispositif 22 est, par exemple, une cartouche d'encre adaptée à être utilisée par le dispositif 21. A l'installation du dispositif 22 dans le dispositif 21, les dispositifs 21 et 22 mettent en oeuvre un procédé d'authentification pour vérifier qu'ils sont autorisés à être utilisés ensemble. Selon un exemple, ce procédé d'authentification peut permettre de vérifier la compatibilité matérielle et/ou logicielle des dispositifs 21 et 22. Selon un autre exemple, ce procédé d'authentification peut permettre d'empêcher un dispositif malveillant d'avoir accès à des données secrètes stockées dans les dispositifs 21 et 22. Un exemple de mise en oeuvre et des modes de mise en oeuvre de procédé d'authentification sont décrits en relation avec les figures 3 à 7. La illustre, schématiquement et sous forme de blocs, un exemple de mise en oeuvre d'un procédé d'authentification d'un dispositif P du type du dispositif 22 décrit en relation avec la auprès d'un dispositif V électronique du type du dispositif 21 décrit en relation avec la . L'exemple décrit ici est un procédé d'authentification du type Vérificateur/Prouveur (Verifier/Prover) dans lequel un dispositif vérificateur, ici le dispositif V, envoie une donnée au dispositif prouveur, ici le dispositif P, pour qu'il lui applique une transformation. Le dispositif prouveur renvoie ensuite le résultat de ladite transformation au dispositif vérificateur pour qu'il le vérifie. Si le résultat de la vérification est correct alors le dispositif prouveur est authentifié auprès du dispositif vérificateur. L'exemple de procédé d'authentification est décrit plus en détail ci-après. La est séparée en deux dans le sens de la longueur par une ligne en pointillée, la partie gauche de la concerne le dispositif V, et la partie droite de la concerne le dispositif P. Le procédé d'authentification peut commencer par une opération d'identification ID, optionnelle, pendant laquelle les dispositifs V et P s'échangent des informations d'identification. En effet, les dispositifs V et P ont chacun une ou plusieurs informations d'identification, par exemple au moins une information d'identification v pour le dispositif V, et au moins une information d'identification p pour le dispositif P. Selon un exemple, les informations v et p sont des mots binaires représentant des numéros d'identification. Chaque dispositif V, P met, ensuite, en oeuvre une fonction 101 (bloc "ID Check") leur permettant de savoir s'ils ont déjà communiqué avec l'autre dispositif P, V en se basant sur l'information d'identification p, v reçue. Selon un exemple, la fonction 101 est une fonction de recherche dans un espace mémoire stockant les informations d'identification de tous les dispositifs électroniques avec le dispositif V ou P a déjà communiqué, c'est-à-dire les dispositifs électroniques avec lesquels le procédé d'authentification a déjà été mis en oeuvre avec succès. Selon un exemple, cet espace mémoire peut être vidé de façon régulière. Si la fonction 101 indique que les dispositifs V et P ont déjà communiqué ensemble récemment, les dispositifs V et P peuvent ne pas mettre en oeuvre le procédé d'authentification et commencer à communiquer (non représenté en ). Cependant si la fonction 101 indique que les dispositifs V et P n'ont jamais communiqué ensemble, alors la suite du procédé d'authentification est mise en oeuvre. Le procédé d'authentification comprend, en outre, une opération GEN, suivant l'opération d'identification, pendant laquelle les dispositifs V et P utilise une même fonction 102 (bloc "Data Gen") pour générer, respectivement, une donnée DataV0 et une donnée DataP0. Les dispositifs V et P ne communiquent pas entre eux pour générer les données DataV0 et DataP0. Selon un mode de réalisation, si les dispositifs V et P sont destinés à communiquer ensemble, alors ils sont adaptés à générer des données DataV0 et DataP0 identiques ou affiliées l'une à l'autre. Selon un exemple, si le procédé d'authentification utilise comme données DataV0 et DataP0 une clé de chiffrement symétrique, les données DataV0 et DataP0 sont identiques. Cependant, si le procédé d'authentification utilise comme données DataV0 et DataP0 une clé de chiffrement asymétrique, les données DataV0 et DataP0 ne sont pas identiques mais sont affiliées l'une à l'autre. La fonction 102 peut être une fonction de recherche des données DataV0 et DataP0 dans des espaces mémoire des dispositifs V et P. L'opération GEN est directement suivie par une opération de vérification VP0 pendant laquelle les dispositifs V et P s'échangent des données transformées. L'opération VP0 comprend les étapes suivantes : - le dispositif V met en oeuvre une fonction 103 (bloc "fC0") prenant en entrée la donnée DataV0, et de façon optionnelle les informations d'identification v et p, pour générer une donnée C0 ; - le dispositif V envoie la donnée C0 au dispositif P ; - le dispositif V met en oeuvre une fonction 104 (bloc "fR0") prenant en entrée la donnée C0 et la donnée DataP0, et de façon optionnelle les informations d'identification v et p, pour générer une donnée R0 et une donnée secrète sP0 ; - le dispositif P envoie la donnée R0 au dispositif V ; et - le dispositif V met en oeuvre une fonction 105 (bloc "fV0") prenant en entrée les données C0 et R0, et de façon optionnelle les informations d'identification v et p, et la donnée DataV0, pour générer une donnée résultat vf0 et une donnée secrète sV0. L'opération de vérification VP0 est suivie par une opération finale F pendant laquelle les dispositifs V et P décident de s'ils peuvent communiquer ensemble ou non. A cette opération, le dispositif V met en oeuvre une fonction 106 (bloc "Paired ?") prenant en entrée les données d'identification v et p, la donnée résultat vf0 et la donnée secrète sV0. Le dispositif P met en oeuvre, de son côté, une fonction 107 (bloc "Paired ?") prenant en entrée les données d'identification v et p, et la donnée secrète sP0. La fonction 106 a pour but de vérifier la donnée résultat vf0 et la donnée secrète sV0. La fonction 107 a pour but de vérifier la donnée secrète sP0. De plus, et de manière optionnelle, les fonctions 106 et 107 peuvent utiliser les informations d'identification v et p. Si les fonctions 106 et 107 considèrent les vérifications réussies alors les dispositifs V et P peuvent communiquer entre eux, leurs informations d'identification peuvent être enregistrées. Sinon, aucune communication n'est démarrée entre les dispositifs V et P. La illustre, schématiquement et sous forme de blocs, un mode de mise en oeuvre d'un procédé d'authentification d'un dispositif du type du dispositif 22 décrit en relation avec la auprès d'un dispositif électronique du type du dispositif 21 décrit en relation avec la . Le procédé de la comprend des éléments communs avec le procédé décrit en relation avec la . Les éléments communs ne sont pas décrits de nouveau, et seules les différences entre les procédés des figures 3 et 4 sont mises en exergue. Comme le procédé de la , le procédé de la comprend les opérations successives suivantes : - l'opération ID pendant laquelle les dispositifs V et P s'échangent leurs informations d'identification v et p, et mettent en oeuvre la fonction 101 pour vérifier s'ils n'ont pas déjà été authentifiés l'un auprès de l'autre ; - l'opération GEN pendant laquelle les dispositifs V et P mettent en oeuvre la fonction 102 pour générer les données DataV0 et DataP0 ; - l'opération de vérification VP0 pendant laquelle les dispositifs V et P mettent en oeuvre les fonctions 103, 104 et 105, pour générer et/ou s'échanger les données C0, R0, sV0, sP0 et vf0 ; et - l'opération F pendant laquelle les dispositifs V et P mettent en oeuvre les fonctions 106 et 107 pour conclure s'ils peuvent communiquer ensemble ou non. A la différence du procédé de la , le procédé de la ne comprend pas une seule opération de vérification VP0, mais comprend N+1 opérations de vérification VP0, VP1, …, VPN successives, N étant un entier naturel supérieur à 1. Chaque opération VPi, pour i étant un entier naturel variant de 1 à N, est similaire à l'opération de vérification VP0 décrite en relation avec la , et comprend les étapes successives suivantes : - le dispositif V met en oeuvre une fonction 203-i (bloc "fCi"), similaire à la fonction 103, prenant en entrée la donnée DataV0, de façon optionnelle les informations d'identification v et p, et la donnée secrète sVi-1 de l'opération de vérification VPi-1 précédente, pour générer une donnée Ci ; - le dispositif V envoie la donnée Ci au dispositif P ; - le dispositif V met en oeuvre une fonction 204-i (bloc "fRi"), similaire à la fonction 104, prenant en entrée la donnée Ci et la donnée DataP0, de façon optionnelle les informations d'identification v et p, et la donnée secrète sPi-1 de l'opération de vérification VPi-1 précédente, pour générer une donnée Ri et une donnée secrète sPi ; - le dispositif P envoie la donnée Ri au dispositif V ; et - le dispositif V met en oeuvre une fonction 205-i (bloc "fVi"), similaire à la fonction 105, prenant en entrée les données Ci et Ri, de façon optionnelle les informations d'identification v et p, et la donnée secrète sVi-1, pour générer une donnée résultat vfi et une donnée secrète sVi. Selon un mode de réalisation, les fonctions 103, 203-1, …, 203-N sont des fonctions de génération de données, par exemple, des fonctions de génération de données aléatoires. Selon un exemple, les fonctions 103, 203-1, …, 203-N peuvent, par exemple, être, en outre, des fonctions de chiffrement utilisant la donnée DataV0 comme clé de chiffrement pour chiffrer une donnée aléatoire. Selon une variante, les fonctions 103, 203-1, …, 203-N sont des fonctions allant chercher des données dans des mémoires des dispositifs V et P. Selon une autre variante, les fonctions 103, 203-1, …, 203-N peuvent aussi être des fonctions de vérification permettant de valider que les données reçues de l'opération de vérification précédente, dans ce cas, les fonctions 103, 203-1, …, 203-N sont, par exemple, des fonctions de signature. Selon un mode de réalisation, les fonctions 104, 204-1, …, 204-N sont des fonctions de chiffrement, par exemple des permutations, utilisant la donnée DataP0 comme clé de chiffrement. Selon un autre exemple, les fonctions 104, 204-1, …, 204-N sont des fonctions de signature. Selon un mode de réalisation, les fonctions 105, 205-1, …, 205-N fournissent, en sortie, des données vf0, …, vfN représentatives du résultat de la comparaison de la donnée C0, …, CN avec la donnée R0, …, RN correspondante. Les données vf0, …, vfN sont, par exemple, des drapeaux comprenant un état Vrai et un état Faux. L'état Vrai signifie que la vérification a fonctionné et l'état Faux signifie l'inverse. Selon un mode de réalisation, la donnée secrète sV0, …, sVN est utilisée comme clé de déchiffrement par la fonction 105, 205-1, …, 205-N. Le dispositif V déchiffre la donnée R0, …, RN avec la donnée secrète sV0, …, sVN, puis vérifie si elle est conforme à la donnée attendue. Selon un autre exemple, les fonctions 105, 205-1, …, 205-N ne requièrent pas le déchiffrement des données R0, …, RN. Selon un exemple de mise en oeuvre, les données secrètes sVi, respectivement sPi, sont toutes dépendantes des données secrètes sV0, …, sVi-1, respectivement des données secrètes sP0, …, sPi-1 générées aux opérations VP0, …, VPi-1 précédentes. Ainsi le résultat des fonctions 205-1, …, 205-N dépendent toujours des opérations de vérification précédente, et un dispositif électronique qui arriverait à se soustraire à une ou plusieurs opérations de vérification, ne pourrait mener à bien les opérations de vérification suivantes. Selon un exemple de mise en oeuvre, au moins une des fonctions 103, 203-1, …, 203-N est différente des autres, et, de préférence, les fonctions 103, 203-1, …, 203-N sont toutes différentes les unes des autres. De même, au moins une des fonctions 104, 204-1, …, 204-N est différente des autres, et, de préférence, les fonctions 104, 204-1, …, 204-N sont toutes différentes les unes des autres. De même, au moins une des fonctions 105, 205-1, …, 205-N est différente des autres, et, de préférence, les fonctions 105, 205-1, …, 205-N sont toutes différentes les unes des autres. Un avantage de ce mode de mise en oeuvre est qu'il permet de complexifier le procédé d'authentification et donc de le rendre plus difficile à copier. Un autre avantage de ce mode de mise en oeuvre est qu'il permet aussi de réduire l’exposition des données secrètes des opérations de vérification suivantes, si le dispositif P (ou V) qui participe à l’échange n’est pas authentique. La illustre, schématiquement et sous forme de blocs, un autre mode de mise en oeuvre d'un procédé d'authentification d'un dispositif du type du dispositif 22 décrit en relation avec la auprès d'un dispositif électronique du type du dispositif 21 décrit en relation avec la . Le procédé de la comprend des éléments communs avec le procédé décrit en relation avec la . Les éléments communs ne sont pas décrits de nouveau et seules les différences entre les procédés des figures 4 et 5 sont mises en exergue. Le procédé de la diffère du procédé de la en ce que, pendant la mise en oeuvre des opérations de vérification VP0, …, VPN, tous les échanges de données entre les dispositifs V et P sont effectués de manière chiffrée. En , tous les échanges de données des opérations de vérification VP0, …, VPN sont effectuées de manière chiffrée, mais, à titre de variante, au moins une opération de vérification VPi a ses échanges de données effectués de manière chiffrée. Ainsi chaque opération VPi, pour i variant 0 à N, comprend les étapes successives suivantes : - le dispositif V met en oeuvre la fonction 103 ou 203-i pour générer la donnée Ci ; - le dispositif V envoie la donnée Ci au dispositif P de façon chiffrée comme décrit ci-après ; - le dispositif V met en oeuvre la fonction 104 ou 204-i pour générer la donnée Ri et la donnée secrète sPi ; - le dispositif P envoie la donnée Ri au dispositif V de manière chiffrée comme décrit ci-après ; et - le dispositif V met en oeuvre la fonction 105 ou 205-i pour générer la donnée résultat vfi et la donnée secrète sVi. Pour s'échanger des données de manière chiffrée, le dispositif V met en oeuvre des fonctions 308-i (bloc "EVi") de chiffrement et de déchiffrement, et le dispositif P met en oeuvre des fonctions 309-i (bloc "EVi") de chiffrement et de déchiffrement. Les fonctions 308-i utilisent une clé pskVi de chiffrement et de déchiffrement, et sont adaptées à : - chiffrer la donnée Ci pour son envoi au dispositif P, en utilisant la clé pskVi comme clé de chiffrement, la donnée Ci chiffrée est notée EVi(Ci) ; et - déchiffrer les données envoyées par le dispositif P, en utilisant la clé pskVi comme clé de déchiffrement. De même, les fonctions 309-i utilisent une clé pskPi de chiffrement et de déchiffrement, et sont adaptées à : - déchiffrer les données envoyées par le dispositif V, en utilisant la clé pskPi comme clé de déchiffrement ; et - chiffrer la donnée Ri pour son envoi au dispositif V, en utilisant la clé pskPi comme clé de chiffrement, la donnée Ri chiffrée est notée EPi(Ri). Les fonctions 308-i, respectivement les fonctions 309-i, sont, en outre, adaptées à fournir la clé de chiffrement et de déchiffrement pskVi+1, respectivement la clé de chiffrement et de déchiffrement pskPi+1, utilisées lors de l'opération de vérification VPi+1 suivante. Selon un mode de mise en oeuvre préféré, les fonctions 308-i, respectivement les fonctions 309-i, génèrent la clé de chiffrement et de déchiffrement pskVi+1, respectivement la clé de chiffrement et de déchiffrement pskPi+1, en utilisant la clé de chiffrement et de déchiffrement pskVi, respectivement la clé de chiffrement et de déchiffrement pskPi. Ainsi, toutes les clés de chiffrement et de déchiffrement pskV0, …, pskVN, respectivement les clés de chiffrement et de déchiffrement pskP0, …, pskPN, sont dépendantes les unes des autres. Selon un exemple de réalisation, les fonctions de chiffrement 308-i et 309-i mettent en oeuvre un algorithme de chiffrement symétrique, dans lequel la clé de chiffrement est identique à la clé de déchiffrement. Dans ce cas, si les dispositifs V et P sont adaptées à communiquer entre eux alors les clés pskVi et pskPi sont donc identiques pour chaque mise en oeuvre d'une opération de vérification VPi. Selon une variante de réalisation, les fonctions de chiffrements 308-i et 309-i mettent en oeuvre un algorithme de chiffrement asymétrique, dans lequel la clé de chiffrement est différente de la clé de déchiffrement. Dans ce cas, les clés pskVi et pskPi sont donc différentes pour chaque mise en oeuvre d'une opération de vérification VPi. Le procédé de la diffère, en outre, du procédé de la en ce que son opération d'identification Id est suivie par une opération GEN' similaire à l'opération GEN décrite en relation avec les figures 3 et 4. Comme pendant l'opération GEN, pendant l'opération GEN', les dispositifs V et P utilise la même fonction 102 (bloc "Data Gen") pour générer, respectivement, la donnée DataV0 et la donnée DataP0. Cependant lors de l'opération GEN', les dispositifs V et P mettent aussi en oeuvre, indépendamment l'un de l'autre, une fonction 302 (bloc "START") de génération de la clé de chiffrement et de déchiffrement pskV0 et pskP0. La fonction 302 prend en entrée la donnée DataV0, respectivement la donnée DataP0, et, de manière opérationnelle, les données d'identification v et p, et fournit en sortie la clé pskV0, respectivement la clé pskP0. Un avantage de ce mode de réalisation est qu'il permet de protéger les données échangées par les dispositifs V et P. Un dispositif pouvant intercepter ces données ne pourra pas mettre en oeuvre le procédé sans avoir aussi accès aux clés de chiffrement et de déchiffrement qui ne sont jamais échangées. Un autre avantage de ce mode de mise en oeuvre est qu'il permet aussi de réduire l’exposition des données secrètes échangées ou générées à l'opération VPi à un dispositif qui n'aurait pas effectuer les opérations VP0, VP1, …, VPi-1 précédente. La illustre, schématiquement et sous forme de blocs, un autre mode de mise en oeuvre d'un procédé d'authentification d'un dispositif du type du dispositif 22 décrit en relation avec la auprès d'un dispositif électronique du type du dispositif 21 décrit en relation avec la . Le procédé de la comprend des éléments communs avec le procédé décrit en relation avec la . Les éléments communs ne sont pas décrits de nouveau et seules les différences entre les procédés des figures 4, et 6 sont mises en exergue. Le procédé de la diffère du procédé de la en ce que, parmi les N+1 opérations de vérification VP0, …, VPN, au moins un couple d'opérations de vérification sont liées. En , on considère que les opérations VP1 et VPN forment un couple d'opérations de vérification liées, mais la personne métier saura adapter le mode de mise en oeuvre décrit à un autre couple d'opérations de vérification liées. De plus, un mode de mise en oeuvre d'un procédé d'authentification peut comprendre plus d'un couple d'opérations de vérification liées. Il est à noter, par ailleurs, que le procédé décrit en relation avec la est compatible avec le procédé décrit en relation avec la , mais qu'ils n'ont pas été combinés pour ne pas nuire à la clarté de la . Comme dit précédemment, dans le procédé d'authentification de la , les opérations de vérification VP1 et VPN sont liées. Plus particulièrement, pendant la mise en oeuvre de l'opération de vérification VP1 une donnée A est générée par le dispositif P, puis est stockée dans le dispositif V pour n'être utilisée qu'à l'opération d'authentification VPN. Plus précisément, pendant la mise en oeuvre de l'opération de vérification VP1, la fonction 304-1 (bloc "fR1") du dispositif P est adaptée à générer, non pas seulement la donnée R1 et la donnée secrète sP1, mais aussi à générer une donnée A. La donnée A est, ensuite, envoyée au dispositif V en même temps que la donnée R1. Le dispositif V stocke la donnée A. A l'opération de vérification VPN, la fonction 203-N (bloc "fCN") prend en entrée la donnée DataV0, de façon optionnelle les informations d'identification v et p, la donnée secrète sVN-1, et la donnée A, pour fournir en sortie la donnée CN et une donnée B. Les données CN et B sont envoyées au dispositif P. Le dispositif P est adapté à mettre en oeuvre une fonction 410-N (bloc "G B ") prenant en entrée la donnée B pour fournir en sortie une donnée D utilisée par la fonction 204-N. Selon un exemple, la fonction 410-N est une fonction de chiffrement utilisant la donnée B pour déchiffrer la donnée D. Selon une variante de réalisation non représentée, la donnée A peut être générée par une autre fonction mise en oeuvre par le dispositif P. La donnée B peut être générée par une autre fonction mise en oeuvre par le dispositif V. Un avantage de ce mode de réalisation est qu'il permet d'empêcher un dispositif pouvant se soustraire à une ou plusieurs opérations de vérification, de mettre en oeuvre le procédé d'authentification. La illustre, schématiquement et sous forme de blocs, un autre mode de mise en oeuvre d'un procédé d'authentification d'un dispositif du type du dispositif 22 décrit en relation avec la auprès d'un dispositif électronique du type du dispositif 21 décrit en relation avec la . Le procédé de la comprend des éléments communs avec le procédé décrit en relation avec la . Les éléments communs ne sont pas décrits de nouveau et seules les différences entre les procédés des figures 4 et 7 sont mises en exergue. Le procédé de la diffère du procédé de la en ce que l'opération GEN décrite en relation avec la est remplacée par une opération GEN'' pendant laquelle les dispositifs V et P mettent en oeuvre une fonction 502 (bloc "Data Gen'"). La fonction 502 est similaire à la fonction 102 mais en diffère en ce que la fonction 502 est adaptée à fournir autant, respectivement, de données DataVi et DataPi, i variant de 0 à N, que d'opérations de vérification mises en oeuvre dans le procédé d'authentification. Les dispositifs V et P ne communiquent pas entre eux pour générer les données DataVi et DataPi. Selon un mode de réalisation, si les dispositifs V et P sont destinés à communiquer ensemble, alors ils sont adaptés à générer des données DataVi identiques ou affiliées aux données DataPi. La fonction 502 peut être une fonction de recherche des données DataV0, …, DataVN, et des données DataP0, …, DataPN dans des espaces mémoire des dispositifs V et P, comme par exemple des espaces mémoire sécurisés des dispositifs V et P. Ainsi, chaque fonction 103, 203-0, …, 203-N est adaptée à recevoir, respectivement, la donnée DataV0, …, DataVN, et chaque fonction 104, 204-0, …, 204-N est adaptée à recevoir, respectivement, la donnée DataP0, …, DataPN. Il est à noter, par ailleurs, que le procédé décrit en relation avec la est compatible avec les procédés décrits en relation avec les figures 5 et 6, mais qu'ils n'ont pas été combinés pour ne pas nuire à la clarté de la . Un avantage de ce mode de mise en oeuvre du procédé d'authentification est que l'utilisation de données DataVi et DataPi est différente à chaque opération de vérification permet de rendre la copie de ce procédé d'authentification plus difficile pour un dispositif électronique qui n'est pas adapté à le mettre en oeuvre. Divers modes de réalisation et variantes ont été décrits. La personne du métier comprendra que certaines caractéristiques de ces divers modes de réalisation et variantes pourraient être combinées, et d’autres variantes apparaîtront à la personne du métier. Les modes de mise en oeuvre des figures 4 à 7 peuvent tous être combinés entre eux. En particulier, un mode de mise en oeuvre préféré d'un procédé d'authentification comprenant la combinaison de tous ces procédés est couvert par la présente description. Par ailleurs, la présente description concerne également des dispositifs comprenant des mémoires dans lesquels sont stockées des jeux de données permettant de simuler la mise en oeuvre des procédés décrits en relation avec les figures 4 à 7. Plus particulièrement, ces dispositifs peuvent comprendre des jeux de données représentant au moins les données suivantes : - les données C0, …, CN ; - les données R0, …, RN ; - les données secrètes sV0, …, sVN ; - les données secrètes sP0, …, sPN ; et - les informations vf0, …, vfN. Ces jeux de données peuvent comprendre, en outre, des données représentant les clés de chiffrement et de déchiffrements pskV0, …, pskVN, et pskP0, …, pskPN, ou les données chiffrées EV0(C0), …, EVN(CN), et EP0(R0), …, EPN(RN). Enfin, la mise en oeuvre pratique des modes de réalisation et variantes décrits est à la portée de la personne du métier à partir des indications fonctionnelles données ci-dessus. Procédé d'authentification d'un premier dispositif (P) auprès d'un deuxième dispositif (V), comprenant au moins deux opérations de vérification (VP0, …, VPN) successives, chaque opération comprenant les étapes successives suivantes : - le deuxième dispositif (V) génère une première donnée (C1, …, CN) à partir d'une deuxième donnée (sV1, …, sVN) générée à l'opération de vérification précédente, et envoie ladite première donnée (C0, C1, …, CN) au premier dispositif (P) ; - le premier dispositif (P) génère une troisième donnée (R1, …, RN) et une quatrième donnée (sP1, …, sPN) utilisées par l'opération de vérification suivante, en appliquant une première fonction (204-0, ..., 204-N) prenant en entrée au moins la première donnée (C0, C1, …, CN) et la quatrième donnée (sP0, sP1, …, sPN) générée à l'opération de vérification précédente, et envoie la troisième donnée (R1, …, RN) au deuxième dispositif (V) ; - le deuxième dispositif (V) vérifie la troisième donnée (R1, …, RN) en utilisant une deuxième fonction (205-1, ..., 205-N) prenant en entrée la première donnée (C0, C1, …, CN) et la troisième donnée (R1, …, RN) et fournissant en sortie une information (vf1, …, vfN), indiquant si la vérification a réussi ou non, et la deuxième donnée (sP0, sP1, …, sPN) utilisée par l'opération de vérification suivante, le premier dispositif (P) est authentifié auprès du deuxième dispositif si : - pour chaque opération de vérification, l'information (vf1, …, vfN) indique que la vérification a réussi ; et - si la quatrième donnée (sP0, sP1, …, sPN) du premier dispositif (P) et la deuxième donnée (sV1, …, sVN) du deuxième dispositif (V) de la dernière opération de vérification sont correctes. Procédé selon la revendication 1, dans lequel pendant la mise en oeuvre de la première opération de vérification (VP0), le deuxième dispositif (V) utilise une cinquième donnée (DataV0) pour générer la première donnée (C0), et le premier dispositif (P) utilise une sixième donnée (DataP0) pour générer la troisième donnée (R0) et la quatrième donnée (sP0). Procédé selon la revendication 2, dans lequel la cinquième donnée (DataV0, …, DataVN) est différente pour chaque opération de vérification (VP0, …, VPN), et la sixième donnée (DataP0, …, DataPN) est différente pour chaque opération de vérification (VP0, …, VPN). Procédé selon la revendication 2 ou 3, dans lequel pendant la mise en oeuvre de chaque opération de vérification (VP0, …, VPN), le deuxième dispositif (V) utilise la cinquième donnée (DataV0, …, DataVN) pour générer la première donnée (C0, …, CN), et le premier dispositif (P) utilise la sixième donnée (DataP0, …, DataPN) pour générer la troisième donnée (R0, …, CN) et la quatrième donnée (sP0, …, sPN). Procédé selon l'une quelconque des revendications 2 à 4, dans lequel le deuxième dispositif (V) génère la première donnée (C1, …, CN) à partir de la deuxième donnée (sV1, …, sVN) générée à l'opération de vérification précédente et de la cinquième donnée (DataV0, …, DataVN), et la première fonction (204-0, ..., 204-N) prend en entrée la première donnée (C1, …, CN), la quatrième donnée (sP1, …, sPN) générée à l'opération de vérification précédente, et la sixième donnée (DataP0, …, DataPN). Procédé selon l'une quelconque des revendications 1 à 5, comprenant, en outre, une opération d'identification (ID) précédant lesdites au moins deux opérations de vérification, dans laquelle les premier et deuxième dispositifs (P, V) s'échangent des numéros d'identification (p, v), si chaque premier, deuxième dispositif (P, V) reconnait le numéro d'identification (v, p) de l'autre dispositif (V, P) alors lesdites au moins deux opérations de vérification (VP0, …, VPN) ne sont pas mises en oeuvre, et le premier dispositif (P) est authentifié auprès du deuxième dispositif (V), sinon lesdites au moins deux opérations de vérification (VP0, …, VPN) sont mises en oeuvre. Procédé selon l'une quelconque des revendications 1 à 6, dans lequel au moins une première fonction (103, 203-1, …, 203-N) desdites au moins deux opérations de vérification (VP0, …, VPN) est différente d'au moins une première fonction (103, 203-1, …, 203-N) d'une autre desdites au moins deux opérations de vérification (VP0, …, VPN). Procédé selon l'une quelconque des revendications 1 à 7, dans lequel au moins une deuxième fonction (104, 204-1, …, 204-N) desdites au moins deux opérations de vérification (VP0, …, VPN) est différente d'au moins une deuxième fonction (104, 204-1, …, 204-N) d'une autre desdites au moins deux opérations de vérification (VP0, …, VPN). Procédé selon l'une quelconque des revendications 1 à 8, dans lequel les premier et deuxième dispositifs (V, P) s'envoient entre eux des données de façon chiffrée. Procédé selon la revendication 9, dans lequel, pendant la mise en oeuvre de chacune desdites au moins deux opérations de vérification (VP0, …, VPN), les premier et deuxième dispositifs (V, P) s'envoient entre eux des données de façon chiffrée en utilisant une première clé de chiffrement (pskV0, …, pskVN, pskP0, …, pskPN). Procédé selon la revendication 10, dans lequel, ladite première clé de chiffrement (pskV0, …, pskVN, pskP0, …, pskPN) est différente pour chaque mise en oeuvre de chacune desdites au moins deux opérations de vérification (VP0, …, VPN). Procédé selon la revendication 11, dans lequel ladite première clé de chiffrement (pskV0, …, pskVN, pskP0, …, pskPN) dépend de ladite première clé de chiffrement (pskV0, …, pskVN, pskP0, …, pskPN) de ladite opérations de vérification (VP0, …, VPN) précédente. Procédé selon l'une quelconque des revendications 1 à 12, dans lequel, parmi lesdites au moins deux opérations de vérification (VP0, …, VPN), il y a au moins une première opération de vérification (VP0, …, VPN) dans laquelle l'application de la deuxième fonction (104, 204-1, …, 204-N) génère, en outre, une septième donnée (A) qui est envoyée au deuxième dispositif (V), et parmi lesdites au moins deux opérations de vérification (VP0, …, VPN) il y a au moins une deuxième opération de vérification (VP0, …, VPN), successive à la première opération de vérification (VP0, …, VPN), dans laquelle : - le deuxième dispositif (V) génère, en outre, une huitième donnée (B) en appliquant la première fonction (103, 203-1, …, 203-N) à la septième donnée (A) et envoie la huitième donnée (B) au premier dispositif (P) ; - le premier dispositif (P) déchiffre une neuvième donnée (D) en utilisant la huitième donnée (B) pour générer la troisième donnée (R1, …, RN). Procédé selon la revendication 13, dans lequel le premier dispositif (P) utilise la huitième donnée (B) pour déchiffrer une neuvième donnée (D), et la première fonction (104, 204-0, ..., 204-N) prend, en outre, en entrée, la neuvième donnée (D) pour générer la troisième donnée (R1, …, RN). Dispositif adapté à mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 14 en tant que premier dispositif (P). Dispositif selon la revendication 15, comprenant une mémoire dans laquelle sont stockées des données représentant les première, deuxième, troisième et quatrième donnée (C1, …, CN, sV1, …, sVN, R1, …, RN, sP1, …, sPN) et l'information (vf1, …, vfN). Dispositif adapté à mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 14 en tant que deuxième dispositif (V). Dispositif selon la revendication 17, comprenant une mémoire dans laquelle sont stockées des données représentant les première, deuxième, troisième et quatrième donnée (C1, …, CN, sV1, …, sVN, R1, …, RN, sP1, …, sPN) et l'information (vf1, …, vfN).