FR3133684A1 - Procédé d’authentification d’un dispositif esclave par un dispositif hôte - Google Patents

Procédé d’authentification d’un dispositif esclave par un dispositif hôte Download PDF

Info

Publication number
FR3133684A1
FR3133684A1 FR2202252A FR2202252A FR3133684A1 FR 3133684 A1 FR3133684 A1 FR 3133684A1 FR 2202252 A FR2202252 A FR 2202252A FR 2202252 A FR2202252 A FR 2202252A FR 3133684 A1 FR3133684 A1 FR 3133684A1
Authority
FR
France
Prior art keywords
secret key
slave device
host device
generating
host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR2202252A
Other languages
English (en)
Other versions
FR3133684B1 (fr
Inventor
Olivier Debelleix
Frédéric MAYANCE
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wisekey Semiconductors SAS
Original Assignee
Wisekey Semiconductors SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wisekey Semiconductors SAS filed Critical Wisekey Semiconductors SAS
Priority to FR2202252A priority Critical patent/FR3133684B1/fr
Priority to PCT/FR2023/050298 priority patent/WO2023175253A1/fr
Publication of FR3133684A1 publication Critical patent/FR3133684A1/fr
Application granted granted Critical
Publication of FR3133684B1 publication Critical patent/FR3133684B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)

Abstract

Titre de l’invention : PROCÉDÉ D’AUTHENTIFICATION D’UN DISPOSITIF ESCLAVE PAR UN DISPOSITIF HÔTE L’invention concerne un procédé d’authentification d’un dispositif esclave (20) par un dispositif hôte (10) comprenant une étape (KGEN) de génération d’une clé secrète (Ks) partagée par le dispositif hôte et le dispositif esclave, et une pluralité d’étapes d’authentification (AUTH) du dispositif esclave par le dispositif hôte au moyen de la clé secrète (Ks). Dans un mode de réalisation, lorsque le nombre (n) d’étapes d’authentification dans lesquelles la clé secrète (Ks) est utilisée est égal à une valeur de consigne (N), l’étape (KGEN) de génération de la clé secrète (Ks) est exécutée de nouveau pour l’obtention d’une nouvelle clé secrète utilisée au cours d’une prochaine pluralité d’étapes d’authentification (AUTH) du dispositif esclave. Figure pour l’abrégé : Figure 2

Description

PROCÉDÉ D’AUTHENTIFICATION D’UN DISPOSITIF ESCLAVE PAR UN DISPOSITIF HÔTE
La présente invention concerne un procédé d’authentification d’un dispositif esclave par un dispositif hôte, le dispositif hôte et le dispositif esclave comprenant chacun des moyens de calcul cryptographique.
La présente invention concerne également l’authentification de dispositifs accessoires à des appareils électriques ou électroniques, tel des cartouches d’imprimantes ou des batteries.
État de la technique
La contrefaçon de dispositifs accessoires intégrés dans des appareils électriques ou électroniques est une menace croissante sur le marché des consommables et des accessoires. Non seulement les revenus des fabricants d'origine sont en jeu, mais le client final est également concerné par des problèmes de fiabilité, voire de santé, que peut entraîner l’utilisation d’accessoires contrefaisants. Les marchés concernés sont nombreux et comptent notamment celui des cartouches d’encre et celui des batteries électriques pour tous types d’appareils ou outillages électriques.
Une solution pour prévenir la contrefaçon d’un accessoire consiste à l’identifier et l’authentifier numériquement. À cet effet, l’accessoire est équipé d’une puce appelée « élément sécurisé » (de l’anglais « secure element ») capable d’exécuter des calculs cryptographiques. Un tel élément sécurisé est capable de répondre à des interrogations cryptographiques de d’appareil, permettant à l’appareil de vérifier que l’accessoire est authentique.
Dans la suite de l’exposé, on désignera par « dispositif hôte » l’appareil recevant l’accessoire, et « dispositif esclave » l’accessoire inséré dans ou associé à l’appareil concerné.
Généralement, l'authenticité du dispositif esclave est vérifiée par le dispositif hôte selon la méthode dite « défi/réponse » (appelée aussi « challenge/réponse ») mettant en jeu un algorithme de cryptographie. Par exemple, le dispositif hôte génère un nombre aléatoire ou « défi » et l’envoie au dispositif esclave. Le dispositif esclave calcule un cryptogramme basé sur ce nombre aléatoire, puis le renvoie au dispositif hôte qui vérifie sa validité.
Cette méthode d’authentification peut être mise en œuvre au moyen d’algorithmes à cryptographie symétrique ou d’algorithmes à cryptographie asymétrique. Avec un algorithme à cryptographie asymétrique, le dispositif esclave calcule le cryptogramme au moyen d’une clé privée et le dispositif hôte vérifie la validité du cryptogramme au moyen d’une clé publique de l'esclave. Avec un algorithme à cryptographie symétrique, le dispositif esclave calcule le cryptogramme au moyen d’une clé secrète et le dispositif hôte vérifie la validité du cryptogramme au moyen de la même clé secrète.
Les techniques d'authentification cryptographique offrant actuellement le plus haut degré de sécurité sont celles qui reposent sur des algorithmes à cryptographie asymétrique. Toutefois, ces algorithmes présentent l’inconvénient d’être d’une exécution relativement lente, en raison du temps de calcul qu’ils nécessitent. Or, il est souhaité que l'authenticité de l’accessoire puisse être vérifiée par l’appareil autant de fois que nécessaire, et de façon générale à tout instant déterminé par le concepteur de l’appareil en fonction de ses spécificités. Dans ces conditions, le temps que nécessite l’exécution d’une authentification par calcul cryptographique asymétrique peut s’avérer incompatible avec un usage convivial et en temps réel de l’accessoire. Par exemple, si l'authentification de quatre cartouches d'encre d'une imprimante est mise en œuvre chaque fois qu'une page est imprimée, le temps d'inactivité de l’imprimante qui en résulte peut s’avérer rédhibitoire.
Les techniques d’authentification à base d’algorithmes à cryptographie symétrique sont par contre d’une exécution beaucoup plus rapide. Pour fixer les idées, avec un coprocesseur arithmétique permettant d’optimiser le temps de calcul cryptographique, une authentification symétrique se compte en millisecondes ou dizaine de millisecondes tandis qu’une authentification asymétrique se compte en centaines de millisecondes, soit un rapport 10 entre les deux.
Toutefois, les techniques d’authentification à cryptographie symétrique présentent des inconvénients en termes de sécurité. Elles nécessitent en effet d’utiliser la même clé secrète dans le dispositif hôte et le dispositif esclave, par exemple si n’importe quelle cartouche d’encre doit pouvoir être utilisée dans n’importe quelle imprimante compatible. Comme cette clé secrète est chargée en usine dans une zone mémoire de chaque dispositif, un tel stockage permanent est exposé à des risques de violation par vidage de la zone mémoire. Ainsi, si un fraudeur fait main basse sur la clé secrète de l’un des deux dispositifs, tous les autres dispositifs seront affectés.
Les techniques de cryptographie asymétriques ne souffrent pas de ce problème, car chaque dispositif esclave possède une clé privée différente, qu’il peut utiliser pour signer un défi envoyé par le dispositif hôte. Le dispositif hôte peut ensuite, au moyen de la clé publique du dispositif esclave, déchiffrer la signature reçue et s’assurer qu’elle est conforme au défi initialement envoyé, et ainsi s’assurer que le dispositif esclave possède la clé privée attendue. Les techniques d’authentification asymétriques sont donc généralement préférées aux techniques d’authentification symétriques pour l’authentification d’accessoires. Pour minimiser l'impact de la durée des phases d’authentification sur le fonctionnement de l’appareil, on est toutefois conduit à diminuer le nombre d'étapes d’authentification ou à déclencher ces étapes à des instants où elles n’impactent pas son fonctionnement, mais cela diminue d’autant l'efficacité de la protection.
Il pourrait donc être souhaité de prévoir un procédé d’authentification d’un accessoire ayant peu d'impact sur le fonctionnement d’un appareil tout en offrant un haut niveau de sécurité.
Il pourrait également être souhaité de prévoir un procédé d’authentification d’un accessoire offrant un niveau de sécurité variable et configurable, permettant de réaliser un compromis entre son temps d’exécution et le degré de sécurité qu’il offre.
Des modes de réalisation de la présente invention concernent un procédé d’authentification d’un dispositif esclave par un dispositif hôte, le dispositif hôte et le dispositif esclave étant reliés par un bus de données et comprenant chacun des moyens de calcul cryptographique, le procédé comprenant une étape de génération d’une clé secrète partagée par le dispositif hôte et le dispositif esclave, comprenant entre le dispositif hôte et le dispositif esclave un échange de données à partir desquelles le dispositif hôte et le dispositif esclave élaborent la clé secrète sans que celle-ci ne transite sur le bus de données, et une pluralité d’étapes d’authentification du dispositif esclave par le dispositif hôte, de type défi/réponse, au moyen d’un algorithme à cryptographie symétrique et de la clé secrète.
Selon un mode de réalisation, le dispositif hôte est configuré pour compter le nombre d’étapes d’authentification dans lesquelles la clé secrète est utilisée, et, lorsque ce nombre est égal à une valeur de consigne, le dispositif hôte et le dispositif esclave exécutent de nouveau l’étape de génération de la clé secrète pour l’obtention d’une nouvelle clé secrète utilisable au cours d’une prochaine pluralité d’étapes d’authentification du dispositif esclave.
Selon un mode de réalisation, le dispositif esclave est configuré pour compter le nombre d’étapes d’authentification dans lesquelles la clé secrète est utilisée, et, lorsque ce nombre est égal à une valeur de consigne, le dispositif hôte et le dispositif esclave exécutent de nouveau l’étape de génération de la clé secrète pour l’obtention d’une nouvelle clé secrète utilisable au cours d’une prochaine pluralité d’étapes d’authentification du dispositif esclave.
Selon un mode de réalisation, la valeur de consigne est configurable et est chargée dans une mémoire ou dans un registre du dispositif hôte ou du dispositif esclave.
Selon un mode de réalisation, l’étape de génération d’une clé secrète comprend un échange de clés Diffie Hellman.
Selon un mode de réalisation, l’étape de génération d’une clé secrète comprend des étapes de génération d’un secret partagé par le dispositif hôte et le dispositif esclave, et des étapes de génération de la clé secrète à partir du secret partagé et d’au moins un nombre aléatoire.
Selon un mode de réalisation, le procédé comprend une première étape de génération d’une clé secrète initiale partagée par le dispositif hôte et le dispositif esclave, comprenant des étapes de génération d’un secret partagé par le dispositif hôte et le dispositif esclave, et des étapes de génération de la clé secrète initiale à partir du secret partagé et d’au moins un nombre aléatoire, et au moins une seconde étape de génération d’une nouvelle clé secrète partagée par le dispositif hôte et le dispositif esclave, à partir du secret partagé généré au cours de la première étape de génération d’une clé secrète et d’au moins un nombre aléatoire.
Selon un mode de réalisation, le procédé comprend une première étape de génération d’une clé secrète partagée par le dispositif hôte et le dispositif esclave, comprenant entre le dispositif hôte et le dispositif esclave un échange de données à partir desquelles le dispositif hôte et le dispositif esclave élaborent la clé secrète sans que celle-ci ne transite sur le bus de données, et au moins une seconde étape de génération d’une clé secrète partagée par le dispositif hôte et le dispositif esclave, à partir d’au moins une valeur précédente de la clé secrète et d’au moins un nombre aléatoire.
Selon un mode de réalisation, chaque étape d’authentification du dispositif esclave comprend : l’envoi au dispositif esclave par le dispositif hôte d’un nombre aléatoire, le calcul d’un premier résultat par le dispositif hôte, comprenant la transformation du nombre aléatoire par une fonction de cryptographie au moyen de la clé secrète, le calcul d’un second résultat par le dispositif esclave, comprenant la transformation du nombre aléatoire par la même fonction de cryptographie au moyen de la clé secrète, l’envoi du second résultat au dispositif hôte par le dispositif esclave, et la vérification par le dispositif hôte que le second résultat est égal au premier résultat.
Selon un mode de réalisation, le dispositif hôte est un circuit électronique intégré dans un appareil électrique ou électronique fonctionnant avec un dispositif accessoire, et le dispositif esclave est un circuit électronique intégré dans l’accessoire.
Selon un mode de réalisation, le dispositif accessoire est une cartouche d’encre ou une batterie électrique.
Des modes de réalisation de l’invention concernent également un dispositif d’authentification comprenant un dispositif esclave et un dispositif hôte, le dispositif hôte et le dispositif esclave étant reliés par un bus de données et comprenant chacun des moyens de calcul cryptographique, le dispositif hôte et le dispositif esclave étant configurés pour générer une clé secrète partagée, en échangeant des données à partir desquelles le dispositif hôte et le dispositif esclave élaborent la clé secrète sans que celle-ci ne transite sur le bus de données, et conduire une pluralité d’étapes d’authentification du dispositif esclave par le dispositif hôte, de type défi/réponse, au moyen d’un algorithme à cryptographie symétrique et de la clé secrète.
Selon un mode de réalisation, le dispositif hôte est configuré pour compter le nombre d’étapes d’authentification dans lesquelles la clé secrète est utilisée, et, lorsque ce nombre est égal à une valeur de consigne, initier le renouvellement de l’étape de génération de la clé secrète pour l’obtention d’une nouvelle clé secrète utilisable au cours d’une prochaine pluralité d’étapes d’authentification du dispositif esclave.
Selon un mode de réalisation, le dispositif esclave est configuré pour compter le nombre d’étapes d’authentification dans lesquelles la clé secrète est utilisée, et, lorsque ce nombre est égal à une valeur de consigne, initier le renouvellement de l’étape de génération de la clé secrète pour l’obtention d’une nouvelle clé secrète utilisable au cours d’une prochaine pluralité d’étapes d’authentification du dispositif esclave.
Selon un mode de réalisation, la valeur de consigne est chargée dans une mémoire ou dans un registre du dispositif hôte ou du dispositif esclave.
Selon un mode de réalisation, le dispositif hôte et le dispositif esclave sont configurés pour générer la clé secrète par un échange de clés Diffie Hellman.
Selon un mode de réalisation, le dispositif hôte et le dispositif esclave sont configurés pour conduire une première étape de génération d’une clé secrète initiale partagée par le dispositif hôte et le dispositif esclave, comprenant des étapes de génération d’un secret partagé par le dispositif hôte et le dispositif esclave, et des étapes de génération de la clé secrète initiale à partir du secret partagé et d’au moins un nombre aléatoire, et conduire au moins une seconde étape de génération d’une nouvelle clé secrète partagée par le dispositif hôte et le dispositif esclave, à partir du secret partagé généré au cours de la première étape de génération d’une clé secrète et d’au moins un nombre aléatoire.
Selon un mode de réalisation, le dispositif hôte est un circuit électronique intégré dans un appareil électrique ou électronique fonctionnant avec un dispositif accessoire, et le dispositif esclave est un circuit électronique intégré dans l’accessoire.
Brève description des figures
Des exemples de réalisation du procédé de l’invention sont décrits dans ce qui suit à titre non limitatif, en relation avec les figures jointes parmi lesquelles :
- la représente schématiquement un appareil et un accessoire comprenant un dispositif hôte et un dispositif esclave mettant en œuvre le procédé de l’invention,
- la montre un mode de réalisation du procédé de l’invention,
- la montre un autre mode de réalisation du procédé de l’invention,
- la montre un mode de réalisation d’une étape du procédé de l’invention,
- la montre un mode de réalisation d’une autre étape du procédé de l’invention,
- la montre un autre mode de réalisation de l’étape de la ,
- la montre une variante du mode de réalisation de la ,
- la montre une autre variante du mode de réalisation de la ,
- la montre un exemple de réalisation d’un dispositif hôte, et
- la montre un exemple de réalisation d’un dispositif esclave
Description détaillée
La représente schématiquement un appareil 100 configuré pour recevoir un accessoire 200. L’appareil 100 est équipé d’un dispositif 10, ou dispositif maître, permettant l’authentification de l’accessoire 200. L’accessoire est équipé d’un dispositif 20, ou dispositif esclave, lui permettant de s’authentifier auprès du dispositif 10. L’appareil 100 est par exemple une imprimante ou un outil électrique. L’accessoire est par exemple une cartouche d’imprimante ou une batterie. Les dispositifs 10, 20 sont reliés par un bus de données 30 leur permettant d’échanger des données DT. Le bus 30 est par exemple un bus I2C ou un bus utilisant un protocole propriétaire, par exemple le protocole 1-Wire (« un fil »). Dans un mode de réalisation, le bus 30 n’est pas sécurisé et les données DT y circulent en clair, c'est-à-dire sous une forme non cryptée.
Les dispositifs 10, 20 peuvent chacun prendre la forme d’une carte électronique ou d’une partie d’une carte électronique. Ils sont configurés pour mettre en œuvre un procédé d’authentification selon l’invention, qui combine des étapes de cryptographie asymétrique et des étapes de cryptographie symétrique.
La illustre schématiquement un mode de réalisation du procédé d’authentification. Le procédé comprend une étape KGEN de génération conjointe par le dispositif 10 et le dispositif 20 d’une clé secrète partagée Ks, et une étape AUTH d’authentification du dispositif 20 par le dispositif 10 au moyen de la clé secrète partagée Ks.
Au cours de l’étape KGEN, les dispositifs 10, 20 échangent des données DT via le bus de données 30, et conduisent des calculs mathématiques jusqu’à ce que chacun obtienne la valeur de la clé secrète Ks. Chaque dispositif 10, 20 mémorise ensuite cette clé dans un registre ou une zone mémoire.
Au cours de l’étape d’authentification AUTH, le dispositif 10 envoie un défi au dispositif 20 via le bus 30. Le dispositif 20 retourne le défi sous une forme cryptée (cryptogramme) obtenue au moyen de la clé secrète Ks et d’une fonction de cryptographie F1 commune aux deux dispositifs 10, 20. Le dispositif 10 vérifie alors que le cryptogramme est correct.
Selon le procédé de l’invention, l’étape d’authentification AUTH peut être exécutée de multiples fois avec la même clé secrète Ks jusqu’à ce que ce nombre de fois atteigne une valeur de consigne N configurée dans le dispositif 10. Lorsque l’étape d’authentification AUTH a été répétée N fois, l’étape KGEN est exécutée de nouveau pour la génération d’une nouvelle clé secrète partagée Ks. La nouvelle clé est alors utilisée pour une nouvelle série d’exécutions de l’étape d’authentification AUTH.
Dans un mode de réalisation, le comptage du nombre d’exécutions de l’étape d’authentification AUTH est assuré au moyen d’une variablengérée par le dispositif 10. La valeur de consigne N est chargée dans le dispositif 10 au cours d’une étape de configuration S10 qui peut être exécutée en usine ou sur le terrain, soit après mise en service de l’appareil 100. Avant exécution de l’étape KGEN, ou après son exécution, la variablen, par exemple une valeur de compteur, est mise à 0 à une étape S11. Avant chaque exécution de l’étape d’authentification AUTH, la variablenest incrémentée d’une unité (n = n+1) par le dispositif 10 à une étape S12. Après chaque exécution de l’étape d’authentification AUTH et si celle-ci est concluante, le dispositif 10 vérifie, à une étape S13, si la variablenest égale à la valeur de consigne N. Si la valeur de consigne N n’a pas encore été atteinte (« N »), le dispositif 10 conduit l’étape d’authentification AUTH suivante avec la clé Ks actuelle. Si la valeur de consigne N a été atteinte (« Y »), le dispositif 10 remet à 0 la variablenà l’étape susmentionnée S11 puis réinitie l'étape KGEN pour la génération d’une nouvelle clé secrète Ks. Enfin, si l’étape d’authentification AUTH n’est pas concluante, le dispositif 10 rejette le dispositif 20 à une étape S14 (« NA » pour « Non Authentifié ») à la suite de quoi plusieurs actions peuvent être envisagées, à la discrétion du concepteur. Notamment, la variable n peut être remise à zéro.
Les instants où l’étape d’authentification AUTH est exécutée sont définis par le dispositif 10 ou par un programme application de l’appareil 100 qui communique avec le dispositif 10. De nombreuses possibilités s’offrent au concepteur pour définir ces instants. Par exemple, dans le cas d’une imprimante et d’une cartouche d’encre, l’étape d’authentification AUTH peut être exécutée cycliquement selon des intervalles de temps constants ou variables, et/ou en fonction d’opérations en cours, par exemple chaque fois qu’un ordre d’impression doit être envoyé à une cartouche d’encre. Dans le cas d’un outil électrique et de sa batterie, l’étape d’authentification AUTH peut de manière similaire être exécutée selon des intervalles de temps constants ou variables, ou chaque fois que la batterie est sollicitée par l’outil, ou encore au terme d’un certain nombre de sollicitations.
L’exécution de l’étape KGEN prend plus de temps que celle de l’étape d’authentification AUTH, qui est par nature une étape d’authentification à cryptographie symétrique. Le procédé de l’invention permet de réaliser un compromis entre sécurité et vitesse d’exécution en raison, d’une part, du degré élevé de sécurité offert par l’étape KGEN, et, d’autre part, la rapidité d’exécution des étapes d’authentification AUTH. Plus particulièrement, la robustesse du procédé est d’autant plus grande que la valeur de consigne N est petite, car la clé Ks est alors renouvelée un plus grand nombre de fois pendant le cycle d'utilisation de l’accessoire. Inversement, le gain de temps offert par le procédé de l’invention est d’autant plus important que la valeur de consigne N est grande, car le nombre d’étapes KGEN de renouvellement de la clé Ks sera faible devant le nombre d’étapes d’authentification AUTH.
Ainsi, le choix de la valeur de consigne N permet de réaliser un compromis entre la sécurité offerte par le procédé et le temps d’exécution d’une multiplicité d’étapes d’authentification AUTH. Le temps « perdu » pour le renouvellement de la clé Ks au cours de N étapes d’authentification, est d'autant plus important que la valeur de consigne N est petite, pour une sécurité plus élevée. Quand N est égal à 1, la clé Ks est renouvelée après chaque étape d’authentification AUTH, et le temps d’exécution du procédé est maximal pour une sécurité maximale. Quand N est très grand, la clé n’est renouvelée qu’une seule fois pour N authentifications et le temps dédié à son renouvellement impacte faiblement le temps d’exécution des N étapes d’authentification AUTH.
La montre un autre mode de réalisation du procédé de l’invention montrant sa mise en œuvre depuis la première introduction de l’accessoire 200 dans l’appareil 100. A une étape S20, le dispositif 10 détecte la présence du nouvel accessoire (« DET ») ou est informé de l’insertion du nouvel accessoire par le programme application exécuté par l’appareil 100. A une étape S21, le dispositif 10 conduit une étape préliminaire et en soi classique « CHECK[ID] » de vérification de l’identité et de l’authenticité de l’accessoire, par exemple à partir de son numéro de série ou d’un certificat que ce dernier lui fournit, ou tout autre moyen. Cette première vérification de l’authenticité de l’accessoire peut optionnellement être conduite avec l’aide d’un serveur distant, via une liaison internet.
Dans un mode de réalisation, l’étape S21 comprend la vérification d’informations d’identification du certificat du dispositif esclave (date de fabrication, numéro de série, etc.), puis la vérification que le certificat et la clé publique du dispositif esclave qu’il contient ne font pas partie d’une liste de révocation. Le dispositif hôte vérifie la signature du certificat du dispositif esclave avec la clé publique de ce dernier, qu’il extrait de son certificat. De manière optionnelle, une étape d’authentification asymétrique en soi classique peut ensuite être conduite : le dispositif hôte envoie un défi au dispositif esclave, que ce dernier signe avec sa clé privée. Cette signature est ensuite vérifiée par le dispositif hôte au moyen de la clé publique du dispositif esclave.
Le dispositif 10 met ensuite à 0 la variable n, au cours de l'étape S11 susmentionnée, puis envoie au dispositif esclave 20 une commande spécifique, par exemple une commande « GSK » (« Generate Secret Key »), pour déclencher l’exécution de l’étape KGEN de génération de la clé secrète Ks. A une étape S22, le dispositif 10 se place ensuite dans un état d’attente « WAIT[AREQ ] » où il attend de recevoir une requête en authentification « AREQ » qui lui est envoyé par un programme de gestion des cycles d’authentification. Ce programme est par exemple le programme application de l’appareil, qui décide quand et dans quels cas il convient de réauthentifier l’accessoire.
Lorsque la requête AREQ est reçue, le dispositif 10 vérifie si la variablenest égale à la valeur de consigne N à l’étape S13 susmentionnée. Si la réponse est positive, le dispositif 10 remet à 0 la variablenà l’étape S11 susmentionnée et réexécute l’étape KGEN. Le dispositif 10 incrémente ensuite la variablen(étape S12) avant d’exécuter l’étape d’authentification AUTH. Si la réponse est négative, le dispositif 10 exécute l’étape d’authentification AUTH avec la clé secrète actuelle Ks, après avoir incrémenté la variablen(étape S12). Après l’étape d’authentification AUTH, si celle-ci est concluante, le dispositif 10 revient à l’étape d’attente S22 d’une nouvelle requête AREQ. Si l’étape d’authentification AUTH n’est pas concluante, le dispositif 10 rejette l’accessoire à l’étape susmentionné S14 (« NA ») et exécute toute mesure jugée appropriée par son concepteur, telle que la remise à zéro de la variable n.
Dans une variante, l’étape KGEN est systématiquement précédée de l’étape S21 de vérification de l’identité et de l’authenticité de l’accessoire, comme montré en traits pointillés sur la .
La montre un exemple de réalisation de l’étape d’authentification AUTH. A une étape S30, le dispositif 10 génère un nombre aléatoire ou défi RN1 (« GEN[RN1] »). A une étape S31, le dispositif 10 envoie le défi RN1 au dispositif 20 (« SEND[RN1] »). A une étape S41 le dispositif 20 reçoit le défi RN1 (« RECEIVE[RN1] »). A une étape S32, le dispositif 10 calcule un résultat R1 par cryptage de RN1 au moyen de la fonction F1 et de la clé secrète Ks (R1 = F1Ks(RN1)). A une étape S42, le dispositif 20 calcule lui-même un résultat R2 par cryptage de RN1 au moyen de la fonction F1 et de la clé secrète Ks (R2 = F1Ks(RN1)). A une étape S43, le dispositif 20 envoie le résultat R2 au dispositif 10 (« SEND[R2] »). A une étape S33, le dispositif 10 reçoit le résultat R2 (« RECEIVE[R2] »). A une étape S34, le dispositif 10 vérifie que les résultats R1 et R2 sont égaux. Si la réponse est positive (« Y ») le dispositif 20 est considéré comme valablement authentifié. Autrement, le dispositif 10 renvoie une réponse négative (N) conduisant au rejet du dispositif 20 (étape S14, et 3).
La montre un exemple de réalisation KGEN1 de l’étape KGEN de génération de la clé Ks utilisant la méthode d’échange de clés Diffie-Hellman mise en œuvre avec la fonction d’exponentiation modulaire, l’ordre des étapes retenu pour la présente description n’étant pas limitatif.
A une étape S50, le dispositif 10 génère deux nombres p, g, p étant un nombre premier et g un nombre strictement plus petit que p. A une étape S51, le dispositif 10 envoie les nombres p et g au dispositif 20 (« SEND[p, g]). A une étape S61, le dispositif 20 reçoit les nombres p et g (« RECEIVE[p, g] »). A une étape S52, le dispositif 10 génère un nombre aléatoire x qui va former sa clé secrète (« GEN[x] »). A une étape S62, le dispositif 20 génère un nombre aléatoire y qui va former sa clé secrète (« GEN[y] »). A une étape S53, le dispositif 10 calcule un nombre P1 tel que :
P1 = g^x mod p,
soit g à la puissance x modulo p, calculé avec la fonction d’exponentiation modulaire notée «^ »,
A une étape S63, le dispositif 20 calcule un nombre P2 tel que :
P2 = g^y mod p,
soit g à la puissance y modulo p.
A une étape S54, le dispositif 10 envoie le nombre P1 au dispositif 20 et reçoit du dispositif 20 le nombre P2 (« SEND[P1 ], RECEIVE[P2] »). A une étape S64, le dispositif 20 envoie le nombre P2 au dispositif 10 et reçoit le nombre P1 du dispositif 10 (« SEND[P2], RECEIVE[P1] »).
A une étape S55, le dispositif 10 calcule la clé secrète partagée Ks au moyen de la formule suivante :
Ks = P2^x mod p,
soit P2 à la puissance x modulo p.
A une étape S65, le dispositif 20 calcule la clé secrète partagée Ks au moyen de la formule suivante :
Ks = P1^y mod p,
soit P1 à la puissance y modulo p.
Au terme de ces étapes, les dispositifs 10, 20 possèdent donc chacun la même clé secrète Ks sans que celle-ci n’ait circulé en clair sur le bus de données 30.
Dans un mode de réalisation, l’étape KGEN est mise en œuvre au moyen de l’algorithme ECDH (« Elliptic Curve Diffie–Hellman ») soit un échange de clés Diffie-Hellman basé sur les courbes elliptiques, pour l’obtention d’un plus haut degré de sécurité.
Dans un mode de réalisation KGEN2 de l’étape KGEN illustré sur la , il est considéré comme important de conserver un lien entre la clé privée du dispositif esclave, utilisée à l’étape S21 pour la vérification de son authenticité au moyen de son certificat, et les opérations ultérieures telle que l’étape KGEN. Ceci permet notamment d’écarter le risque qu’un fraudeur utilise un dispositif esclave authentique pour conduire l’étape S21, puis lui substitue un dispositif esclave frauduleux pour conduire l’étape KGEN.
Ainsi, selon ce mode de réalisation, l’étape KGEN comprend les étapes suivantes, qui sont ici et à titre non limitatif mises en œuvre au moyen de l’algorithme ECDH :
- une étape S70 de calcul par le dispositif hôte d’un secret partagé SST en fonction d’une clé privée HPRIVK du dispositif hôte et d’une clé publique SPUBK du dispositif esclave, telle que :
SST = ECDH(HPRIVK, SPUBK)
- une étape S80 de calcul par le dispositif esclave du secret partagé SST en fonction d’une clé privée SPRIVK du dispositif esclave et d’une clé publique HPUBK du dispositif hôte, que ce dernier a préalablement communiqué au dispositif esclave, tel que :
SST = ECDH(SPRIVK, HPUBK)
- une étape S71 de génération d’un défi RN2 par le dispositif hôte et d’envoi de celui-ci au dispositif esclave (« GEN[RN2] »),
- une étape S81 de réception du défi RN2 par le dispositif esclave (« RECEIVE[RN2] »), et
- des étapes S72, S82 de calcul de la clé Ks par chaque dispositif au moyen d’une fonction F2, telles que :
Ks = F2(SST, RN2)
la fonction F2 pouvant être une fonction de cryptographie, par exemple le OU Exclusif (« XOR »), la fonction SHA2 (« Secure Hash Algorithm ») ou la fonction HMAC (« Keyed-Hash Message Authentication Code »).
Dans ce cas, le fait que la clé Ks dépende du secret partagé SST permet d’assurer que les étapes d’authentification suivantes ne seront être concluantes si le dispositif esclave ne contient pas la clé privée SPRIVK utilisée pour générer le secret partagé. L’authentification préliminaire du dispositif esclave devient alors parfaitement optionnelle sur le plan de la sécurité.
Par ailleurs, si le secret partagé SST est sauvegardé par chacun des dispositifs, il peut être décidé de ne pas exécuter de nouveau les étapes S70, S80 de génération du secret partagé SST lors des étapes ultérieures KGEN de régénération de la clé Ks. Ainsi, dans un mode de réalisation simplifié KGEN3 des étapes KGEN consécutives à la première étape KGEN2, montré sur la , seules les étapes S71, S72, S81, S82 sont exécutées pour générer de nouvelles clés Ksiaprès génération d'une première clé Ks. Les étapes S72, S82 sont alors exécutées comme suit :
Ksi= F2’(SST, RN2i)
RN2iétant le défi généré par le dispositif hôte à l’étape S71, et SST le secret partagé antérieurement généré et mémorisé. La fonction F2’ peut ici être identique ou différente de la fonction F2 utilisée lors de l’exécution de l’étape KGEN2.
Dans encore une variante, le mode de réalisation KGEN2 et le mode de réalisation simplifié KGEN3 de l’étape KGEN sont alternés, par exemple le mode de réalisation KGEN2 de l’étape KGEN est de nouveau exécuté après un certain nombre d’exécutions du mode de réalisation KGEN3 de l’étape KGEN.
Les étapes S71, S72, S81, S82 sont elles-mêmes susceptibles de diverses variantes. Par exemple, le défi généré à l’étape KGEN3 peut être un défi RN3 généré par le dispositif esclave. Dans ce cas :
Ks = F2(SST, RN3)
Également, toujours au cours de l’étape KGEN3, la clé Ks peut être calculée à la fois à partir d’un défi RN2 généré par le dispositif hôte et d’un défi RN3 généré par le dispositif esclave. Dans ce cas :
Ks = F2(SST, RN2, RN3)
Le procédé de l’invention mettant en œuvre, après une étape KGEN2, l’une quelconque de ces variantes de l’étape KGEN3, permet de réaliser un compromis encore plus avantageux entre sécurité et vitesse d’exécution, puisque, en raison de la suppression des étapes de génération du secret partagé SST, les étapes ultérieures dites « simplifiées » KGEN3 de l’étape KGEN sont beaucoup plus rapides à exécuter que l’étape initiale KGEN2.
Dans encore un autre mode de réalisation simplifié KGEN4 des étapes KGEN consécutives à la première étape KGEN2, montré sur la , chaque génération d’une nouvelle clé partagée Ksi+1fait intervenir la valeur de la clé précédente Ksi, en combinant la clé précédente Ksiavec un défi RN2i+1généré par le dispositif hôte au cours de l’étape considérée. Dans ce cas les étapes S72, S82, notée S72’, S82’ sur la , sont exécutées comme suit :
Ksi+1= F3(Ksi, RN2i+1)
Ce mode de réalisation peut aussi être mis en œuvre en combinant la clé précédente Ksiavec un défi RN3i+1généré par le dispositif esclave :
Ksi+1= F3(Ksi, RN3i+1)
ou encore, en combinant la clé précédente Ksi avec deux nouveaux défis RN2i+1, RN3i+1générés respectivement par le dispositif hôte et le dispositif esclave :
Ksi+1= F3(Ksi, RN2i+1, RN3i+1)
la fonction F3 pouvant, comme la fonction F2, être une fonction de cryptographie, par exemple le OU Exclusif (« XOR »), la fonction SHA2 ou la fonction HMAC.
Cette variante peut également faire intervenir le secret partagé SST :
Ksi+1= F3(SST, Ksi, RN2i+1)
ou, en variante :
Ksi+1= F3(SST, Ksi, RN3i+1)
ou, comme autre variante :
Ksi+1= F3(SST, Ksi, RN2i+1, RN3i+1)
En définitive, les étapes de génération des clés partagées suivantes peuvent différer de la première étape de génération de la clé Ks, en faisant intervenir le secret partagé SST précédemment calculé ou la valeur précédente de la clé Ks, voire une combinaison de plusieurs valeurs précédentes de la clé Ks, ou encore une combinaison de ces deux variantes.
Il apparaît clairement à l’homme du métier que les étapes qui viennent d’être décrites peuvent encore faire l’objet de diverses autres variantes, et peuvent notamment être mises en œuvre au moyen de tout type de fonction de cryptographie présentant un degré de sécurité satisfaisant. Par ailleurs, le terme « nombre aléatoire » sera compris, dans la présente description et les revendications, comme non limitatif et n’ayant pas de signification mathématique stricte, et peut désigner un nombre pseudo-aléatoire voire un nombre généré au moyen d’un compteur.
Dans un mode de réalisation, l’étape d’authentification AUTH est mise en œuvre au moyen de la fonction HMAC précitée qui consiste en un cryptage des données au moyen d’une fonction de hachage. Des fonctions plus simples, telle la fonction SHA2 susmentionnée, peuvent aussi être utilisées. De même, le contrôle du nombrend’étapes d’authentification AUTH avant renouvellement de la clé Ks peut être assuré de diverses manières, par exemple par décrémentation d’un compteur recevant la consigne N avec détection du passage à zéro de la valeur de comptage.
Dans un mode de réalisation, le dispositif maître 10 comporte un registre de configuration du procédé dans lequel peuvent être chargées trois valeurs de configuration. Une première valeur indique que la clé Ks doit être générée avant chaque étape d’authentification AUTH. Une seconde valeur indique que la clé Ks doit être générée une seule fois lors de la mise en service de l’accessoire, et que toutes les authentifications ultérieures seront donc basées sur cette clé. Une troisième valeur indique que le nombre N chargé dans le compteur doit être utilisé pour déterminer le nombre maximal d’étapes d’authentification AUTH avant renouvellement de la clé Ks. Une telle configuration peut aussi être obtenue sans utiliser un registre de configuration, en chargeant dans le compteur des valeurs prédéterminées qui seront interprétées par le dispositif 10 comme ne consistant pas dans la valeur de consigne N mais comme des valeurs de configuration.
Le dispositif maître 10 et le dispositif esclave 20 sont eux-mêmes susceptibles de divers modes de réalisation et d’intégration dans un appareil électrique ou électronique, et peuvent être équipés ou non d’un coprocesseur arithmétique. Les figures 9 et 10 montrent à titre d’exemple une architecture du dispositif maître 10 et du dispositif esclave 20, respectivement. Chaque dispositif 10, 20 comporte un processeur d’application, respectivement APROC, APROC2, un coprocesseur arithmétique, respectivement CPROC1, CPROC2, une zone mémoire non volatile, respectivement MEM10, MEM20, et une zone mémoire volatile, respectivement MEM11, MEM21, pouvant comprendre des registres sécurisés, et un circuit d’interface de bus, respectivement BINT1, BINT2. Ces éléments sont reliés par un bus de données DTB et un bus d’adresses ADB internes. Les circuits d’interface de bus BINT1, BINT2 sont reliés entre eux par le bus de données 30. Le dispositif 10 peut en outre comprendre une interface de communication sans fil CINT pour permettre une communication avec un serveur distant via un réseau NTW tel que l’Internet.
Le dispositif 10 comprend un programme application APPGR1 qui gère l’ensemble de ses fonctionnalités et un programme d’authentification AUTPGR1 qui exécute les étapes du procédé dévolues au dispositif 10 décrites dans ce qui précède. De même, le dispositif 20 comprend un programme application APPGR2 qui gère l’ensemble de ses fonctionnalités et un programme d’authentification AUTPGR2 qui exécute les étapes du procédé dévolues au dispositif 20 décrites dans ce qui précède. La clé secrète Ks peut être stockée dans la mémoire volatile MEM11, MEM21 de chaque dispositif. La zone mémoire volatile MEM11 du dispositif 10 peut en outre comprendre un registre décompteur DCREG1 recevant la valeur de consigne N et un registre de configuration CREG1 pour configurer le procédé comme indiqué plus haut. La consigne N peut être chargée en usine dans une zone inaltérable de la mémoire MEM10 puis être chargée dans le registre décompteur DCREG1 pour le décomptage du nombre d’étapes d’authentification.
Dans un mode de réalisation, le dispositif esclave 11 reçoit également une valeur de consigne M. Cette valeur de consigne M peut être égale ou différente de N. La valeur de consigne M peut être chargée en usine dans une zone inaltérable de la mémoire MEM20 puis être chargée dans un registre décompteur DCREG2 de la mémoire MEM21 du dispositif esclave pour le décomptage du nombre d’étapes d’authentification .
Le dispositif esclave 11 est dans ce cas configuré pour compter le nombre de fois où la clé Ks est utilisée, puis refuser de l’utiliser lorsqu’elle a été utilisée M fois. Cette option permet de protéger le dispositif esclave contre des attaques par canal auxiliaire qui consisteraient, au moyen d’un dispositif hôte frauduleux, à envoyer de multiples défis au dispositif esclave afin de découvrir sa clé secrète Ks.
Par ailleurs, dans le cas particulier où M est inférieur à N, le dispositif esclave répond avec un message d’erreur quand le dispositif hôte lui adresse une demande d’authentification de rang M+1, ce qui indique au dispositif hôte qu’il faut réinitier l’étape KGEN bien que son comptage du nombre d’étapes d’authentification n’ait pas encore atteint la valeur de consigne N.
Dans une variante du procédé de l’invention fondée sur ce mode de réalisation du dispositif esclave, le dispositif hôte ne gère pas le comptage du nombre d’étapes d’authentification au moyen de la valeur de consigne N. Cette gestion est déléguée au dispositif esclave au moyen de la valeur de consigne M. Ce qui a été décrit dans ce qui précède concernant la mise en œuvre du procédé de l’invention s’applique à cette variante avec, comme différence, le fait que c’est le dispositif esclave qui provoque chaque nouvelle exécution de l’étape KGEN de régénération de la clé Ks. Un registre de configuration CREG2 pour configurer le procédé comme indiqué plus haut peut aussi être prévu dans le dispositif esclave. Le déclenchement de chaque nouvelle exécution de l’étape KGEN peut être mis en œuvre de diverses manières. Par exemple, le dispositif esclave envoie un message d’erreur au dispositif hôte lorsque la consigne M est dépassée, comme indiqué ci-dessus. En variante, le dispositif esclave envoie au dispositif hôte un message de demande de régénération de la clé Ks lorsque la consigne M est atteinte. La réception de cette demande de régénération de la clé remplace alors les étapes S11, S12, S13 de la , qui sont dans ce cas exécutées par le dispositif esclave.
Enfin, dans encore un mode de réalisation du procédé de l’invention, l’étape KGEN n’est exécutée qu’une fois, ce qui correspond à une valeur infinie de N ou de M. Dans ce cas, ni le dispositif hôte ni le dispositif esclave ne surveille le nombre d’étapes d’authentification réalisées avec la clé Ks.

Claims (18)

  1. Procédé d’authentification d’un dispositif esclave (20) par un dispositif hôte (10), le dispositif hôte (10) et le dispositif esclave (20) étant reliés par un bus de données (30) et comprenant chacun des moyens de calcul cryptographique, caractérisé en ce qu’il comprend :
    - une étape (KGEN, KGEN1, KGEN2, KGEN3, KGEN4) de génération d’une clé secrète (Ks) partagée par le dispositif hôte (10) et le dispositif esclave (20), comprenant entre le dispositif hôte et le dispositif esclave un échange de données à partir desquelles le dispositif hôte et le dispositif esclave élaborent la clé secrète (Ks) sans que celle-ci ne transite sur le bus de données, et
    - une pluralité d’étapes d’authentification (AUTH) du dispositif esclave par le dispositif hôte, de type défi/réponse, au moyen d’un algorithme à cryptographie symétrique et de la clé secrète (Ks).
  2. Procédé selon la revendication 1, dans lequel le dispositif hôte (10) est configuré pour compter le nombre (n) d’étapes d’authentification (AUTH) dans lesquelles la clé secrète (Ks) est utilisée, et, lorsque ce nombre est égal à une valeur de consigne (N), le dispositif hôte (10) et le dispositif esclave (20) exécutent de nouveau l’étape de génération de la clé secrète (Ks) pour l’obtention d’une nouvelle clé secrète (Ks) utilisable au cours d’une prochaine pluralité d’étapes d’authentification (AUTH) du dispositif esclave.
  3. Procédé selon l’une des revendications 1 et 2, dans lequel le dispositif esclave (20) est configuré pour compter le nombre (n) d’étapes d’authentification (AUTH) dans lesquelles la clé secrète (Ks) est utilisée, et, lorsque ce nombre est égal à une valeur de consigne (M), le dispositif hôte (10) et le dispositif esclave (20) exécutent de nouveau l’étape de génération de la clé secrète (Ks) pour l’obtention d’une nouvelle clé secrète (Ks) utilisable au cours d’une prochaine pluralité d’étapes d’authentification (AUTH) du dispositif esclave.
  4. 4. Procédé selon l’une des revendications 2 et 3, dans lequel la valeur de consigne (N, M) est configurable et est chargée dans une mémoire (MEM11, MEM21) ou dans un registre (DCREG1, DCREG2) du dispositif hôte (10) ou du dispositif esclave (20).
  5. 5. Procédé selon l’une des revendications 1 à 4, dans lequel l’étape (KGEN1, KGEN2) de génération d’une clé secrète (Ks) comprend un échange de clés Diffie Hellman.
  6. 6. Procédé selon l’une des revendications 1 à 5, dans lequel l’étape (KGEN2, KGEN3) de génération d’une clé secrète (Ks) comprend des étapes (S70, S80) de génération d’un secret (SST) partagé par le dispositif hôte et le dispositif esclave, et des étapes (S72, S82) de génération de la clé secrète (Ks) à partir du secret partagé et d’au moins un nombre aléatoire (RN2).
  7. 7. Procédé selon l’une des revendications 1 à 6, comprenant :
    - une première étape (KGEN2) de génération d’une clé secrète initiale (Ks) partagée par le dispositif hôte et le dispositif esclave, comprenant des étapes (S70, S80) de génération d’un secret (SST) partagé par le dispositif hôte et le dispositif esclave, et des étapes (S72, S82) de génération de la clé secrète initiale (Ks) à partir du secret partagé et d’au moins un nombre aléatoire (RN2), et
    - au moins une seconde étape (KGEN3) de génération d’une nouvelle clé secrète (Ksi) partagée par le dispositif hôte et le dispositif esclave, à partir du secret partagé (SST) généré au cours de la première étape (KGEN2) de génération d’une clé secrète (Ksi) et d’au moins un nombre aléatoire (RN2i).
  8. 8. Procédé selon l’une des revendications 1 à 7, comprenant :
    - une première étape (KGEN, KGEN1, KGEN2) de génération d’une clé secrète (Ksi) partagée par le dispositif hôte et le dispositif esclave, comprenant entre le dispositif hôte et le dispositif esclave un échange de données à partir desquelles le dispositif hôte et le dispositif esclave élaborent la clé secrète (Ksi) sans que celle-ci ne transite sur le bus de données, et
    - au moins une seconde étape (KGEN4) de génération d’une clé secrète (Ksi+1) partagée par le dispositif hôte et le dispositif esclave, à partir d’au moins une valeur précédente de la clé secrète (Ksi) et d’au moins un nombre aléatoire (RN2i+1).
  9. 9. Procédé selon l’une des revendications 1 à 8, dans lequel chaque étape d’authentification (AUTH) du dispositif esclave (20) comprend :
    - l’envoi (S31) au dispositif esclave par le dispositif hôte d’un nombre aléatoire (RN1),
    - le calcul d’un premier résultat (R1) par le dispositif hôte, comprenant la transformation du nombre aléatoire par une fonction de cryptographie au moyen de la clé secrète (Ks),
    - le calcul d’un second résultat (R2) par le dispositif esclave, comprenant la transformation du nombre aléatoire par la même fonction de cryptographie au moyen de la clé secrète (Ks),
    - l’envoi du second résultat (R2) au dispositif hôte par le dispositif esclave, et
    - la vérification par le dispositif hôte que le second résultat (R2) est égal au premier résultat (R1).
  10. 10. Procédé selon l’une des revendications 1 à 9, dans lequel le dispositif hôte (10) est un circuit électronique intégré dans un appareil électrique ou électronique fonctionnant avec un dispositif accessoire, et dans lequel le dispositif esclave (20) est un circuit électronique intégré dans l’accessoire.
  11. 11. Procédé selon la revendication 10, dans lequel le dispositif accessoire est une cartouche d’encre ou une batterie électrique.
  12. 12. Dispositif d’authentification comprenant un dispositif esclave (20) et un dispositif hôte (10), le dispositif hôte et le dispositif esclave étant reliés par un bus de données et comprenant chacun des moyens de calcul cryptographique, caractérisé en ce que le dispositif hôte et le dispositif esclave sont configurés pour :
    - générer (KGEN, KGEN1, KGEN2, KGEN3, KGEN4) une clé secrète (Ks) partagée, en échangeant des données à partir desquelles le dispositif hôte et le dispositif esclave élaborent la clé secrète (Ks) sans que celle-ci ne transite sur le bus de données, et
    - conduire une pluralité d’étapes d’authentification (AUTH) du dispositif esclave par le dispositif hôte, de type défi/réponse, au moyen d’un algorithme à cryptographie symétrique et de la clé secrète (Ks).
  13. 13. Dispositif selon la revendication 12, dans lequel le dispositif hôte (10) est configuré pour compter le nombre (n) d’étapes d’authentification (AUTH) dans lesquelles la clé secrète (Ks) est utilisée, et, lorsque ce nombre est égal à une valeur de consigne (N), initier le renouvellement de l’étape de génération de la clé secrète (Ks) pour l’obtention d’une nouvelle clé secrète (Ks) utilisable au cours d’une prochaine pluralité d’étapes d’authentification (AUTH) du dispositif esclave.
  14. 14. Dispositif selon l’une des revendications 12 et 13, dans lequel le dispositif esclave (20) est configuré pour compter le nombre (n) d’étapes d’authentification (AUTH) dans lesquelles la clé secrète (Ks) est utilisée, et, lorsque ce nombre est égal à une valeur de consigne (M), initier le renouvellement de l’étape de génération de la clé secrète (Ks) pour l’obtention d’une nouvelle clé secrète (Ks) utilisable au cours d’une prochaine pluralité d’étapes d’authentification (AUTH) du dispositif esclave.
  15. 15. Dispositif selon l’une des revendications 13 et 14, dans lequel la valeur de consigne (N, M) est chargée dans une mémoire (MEM11, MEM21) ou dans un registre (DCREG1, DCREG2) du dispositif hôte (10) ou du dispositif esclave (20).
  16. 16. Dispositif selon l’une des revendications 12 à 15, dans lequel le dispositif hôte (10) et le dispositif esclave (20) sont configurés pour générer la clé secrète (Ks) par un échange de clés Diffie Hellman.
  17. 17. Dispositif selon l’une des revendications 12 à 16, dans lequel le dispositif hôte (10) et le dispositif esclave (20) sont configurés pour :
    - conduire une première étape (KGEN2) de génération d’une clé secrète initiale (Ks) partagée par le dispositif hôte et le dispositif esclave, comprenant des étapes (S70, S80) de génération d’un secret (SST) partagé par le dispositif hôte et le dispositif esclave, et des étapes (S72, S82) de génération de la clé secrète initiale (Ks) à partir du secret partagé et d’au moins un nombre aléatoire (RN2), et
    - conduire au moins une seconde étape (KGEN3) de génération d’une nouvelle clé secrète (Ksi) partagée par le dispositif hôte et le dispositif esclave, à partir du secret partagé généré au cours de la première étape (KGEN2) de génération d’une clé secrète (Ksi) et d’au moins un nombre aléatoire (RN2i).
  18. 18. Dispositif selon l’une des revendications 12 à 17, dans lequel le dispositif hôte (10) est un circuit électronique intégré dans un appareil électrique ou électronique fonctionnant avec un dispositif accessoire, et dans lequel le dispositif esclave (20) est un circuit électronique intégré dans l’accessoire.
FR2202252A 2022-03-15 2022-03-15 Procédé d’authentification d’un dispositif esclave par un dispositif hôte Active FR3133684B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR2202252A FR3133684B1 (fr) 2022-03-15 2022-03-15 Procédé d’authentification d’un dispositif esclave par un dispositif hôte
PCT/FR2023/050298 WO2023175253A1 (fr) 2022-03-15 2023-03-06 Procédé d'authentification d'un dispositif esclave par un dispositif hôte

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2202252 2022-03-15
FR2202252A FR3133684B1 (fr) 2022-03-15 2022-03-15 Procédé d’authentification d’un dispositif esclave par un dispositif hôte

Publications (2)

Publication Number Publication Date
FR3133684A1 true FR3133684A1 (fr) 2023-09-22
FR3133684B1 FR3133684B1 (fr) 2024-08-09

Family

ID=82482676

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2202252A Active FR3133684B1 (fr) 2022-03-15 2022-03-15 Procédé d’authentification d’un dispositif esclave par un dispositif hôte

Country Status (2)

Country Link
FR (1) FR3133684B1 (fr)
WO (1) WO2023175253A1 (fr)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120011362A1 (en) * 2010-07-08 2012-01-12 Certicom Corp. System and Method for Performing Device Authentication Using Key Agreement

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120011362A1 (en) * 2010-07-08 2012-01-12 Certicom Corp. System and Method for Performing Device Authentication Using Key Agreement

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"Chapter 10: Identification and Entity Authentication ED - Menezes A J; Van Oorschot P C; Vanstone S A", 1 October 1996 (1996-10-01), XP001525010, ISBN: 978-0-8493-8523-0, Retrieved from the Internet <URL:http://www.cacr.math.uwaterloo.ca/hac/> *
"Chapter 8: Public-Key Encryption ED - Menezes A J; Van Oorschot P C; Vanstone S A", 1 October 1996 (1996-10-01), XP001525008, ISBN: 978-0-8493-8523-0, Retrieved from the Internet <URL:http://www.cacr.math.uwaterloo.ca/hac/> *
ELAINE B BARKER ET AL: "A Profile for U. S. Federal Cryptographic Key Management Systems NIST SP 800-152", 27 October 2015 (2015-10-27), pages 1 - 147, XP061057725, Retrieved from the Internet <URL:https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-152.pdf> [retrieved on 20151031], DOI: 10.6028/NIST.SP.800-152 *
P MENEZES ET AL: "This is a Chapter from the Handbook of Applied Cryptography, by A Key Establishment Protocols", 31 December 1997 (1997-12-31), XP055119322, Retrieved from the Internet <URL:http://cacr.uwaterloo.ca/hac/about/chap12.pdf> [retrieved on 20140521] *

Also Published As

Publication number Publication date
WO2023175253A1 (fr) 2023-09-21
FR3133684B1 (fr) 2024-08-09

Similar Documents

Publication Publication Date Title
EP3506557B1 (fr) Méthode d&#39;échange de clés par contrat intelligent déployé sur une chaine de blocs
EP3152860B1 (fr) Procédé d&#39;authentification d&#39;une première entité électronique par une seconde entité électronique et entité électronique mettant en oeuvre un tel procédé
EP1427231B1 (fr) Procédé d&#39;établissement et de gestion d&#39;un modèle de confiance entre une carte à puce et un terminal radio
WO2008145558A2 (fr) Procede de securisation d&#39;echange d&#39;information, dispositif, et produit programme d&#39;ordinateur correspondant
EP3174241B1 (fr) Méthode d&#39;établissement d&#39;une communication sécurisée de bout en bout entre le terminal d&#39;un utilisateur et un objet connecté
WO2010046565A2 (fr) Procédé de signature numérique en deux étapes
CN110601855B (zh) 一种根证书管理方法、装置及电子设备、存储介质
WO2014154482A1 (fr) Procede et dispositif d&#39;etablissement de cles de session
FR3066666A1 (fr) Procede de securisation d&#39;une communication sans gestion d&#39;etats
EP3965361B1 (fr) Echange de données entre un client et un dispositif distant, par exemple un module sécurisé
EP3991381B1 (fr) Procédé et système de génération de clés de chiffrement pour données de transaction ou de connexion
WO2006035159A1 (fr) Systeme et procede cryptographique a cle publique et serveur de certification, memoires adaptees pour ce systeme
WO2023175253A1 (fr) Procédé d&#39;authentification d&#39;un dispositif esclave par un dispositif hôte
WO2019228853A1 (fr) Methode d&#39;etablissement de cles pour le controle d&#39;acces a un service ou une ressource
WO2021074527A1 (fr) Procede de gestion d&#39;une base de donnees de cles publiques, procede d&#39;authentification de cles publiques, et dispositifs serveur et client mettant en oeuvre ces procedes
EP3743871A1 (fr) Système sécurisé de transactions entre terminaux
EP1642413B1 (fr) Procede de chiffrement/dechiffrement d un message et disposi tif associe
EP3266148B1 (fr) Dispositif et procédé d&#39;administration d&#39;un serveur de séquestres numériques
WO2012156365A1 (fr) Procede de securisation d&#39;une platforme d&#39;authentification, dispositifs materiels et logiciels correspondants
WO2010106042A1 (fr) Procédé de production de données de sécurisation, dispositif et programme d&#39;ordinateur correspondant
FR3114668A1 (fr) Système sur puce pour applications de cryptographie incluant un compteur monotone et procédé de mise en œuvre associé
WO2006027430A1 (fr) Procede d’authentification entre entites communiquant entre elles au travers d’un reseau de telecommunications
FR2927750A1 (fr) Terminal de paiement electronique pour l&#39;echange de donnees securise sur un reseau ouvert
JP2006246165A (ja) 秘話通信システム
WO2014140456A1 (fr) Procédé, dispositif et programme d&#39;ordinateur pour optimiser la création d&#39;un domaine applicatif sécurisé entre un système informatique et une entité électronique

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20230922

PLFP Fee payment

Year of fee payment: 3