Brevet FR3038416A1 — publié le 20170106

DISPOSITIFS ET PROCEDES D'AUTHENTIFICATION BASES SUR DES FONCTIONS PHYSIQUEMENT NON CLONABLE Le domaine technique de la présente invention se rapporte à l'authentification de dispositifs électroniques et, de manière plus particulière, à des ensembles, dispositifs et procédés d'authentification de dispositifs électroniques par application de principes cryptographiques asymétriques sur des circuits intégrés d'authentification basés sur fonction physiquement non clonable (fonction PUF). Dans l'arrière-plan de l'invention, un circuit IC d'authentification classique est un dispositif conçu afin de contenir de manière sûre un code cryptographique ou secret dans une mémoire non volatile (mémoire NVM) ou de produire un code secret par l'intermédiaire d'un circuit PUF qui est intégré dans le dispositif. La conception de fonction PUF tire avantage de variations de fabrication caractéristiques faibles mais inévitables sur des composants physiques à semiconducteur, comportant des variations mesurables sur des concentrations de dopage, des épaisseurs d'oxyde de grille et des tolérances géométriques qui résultent d'opérations de fabrication de semi-conducteur imparfaites que subissent des dispositifs électroniques tels que des dispositifs MOS. Ces variations peuvent être utilisées afin de produire des séquences de valeurs numériques aléatoires et uniques qui peuvent être utilisées afin de produire des codes cryptographiques. Un circuit PUF génère, de manière classique, un nombre aléatoire reproductible mais unique au dispositif qui peut être utilisé afin de produire une réponse unique pour 3038416 - 2 - des besoins de vérification. La réponse change de manière imprévisible - d'où le terme de non clonable - lorsque l'état physique du circuit PUF change même légèrement (par exemple, du fait d'un endommagement physique mineur) une fois que le dispositif contenant le circuit PUF est exploré ou modifié. 5 Il existe deux types élémentaires de circuits IC d'authentification. Un premier type est basé sur des procédés cryptographiques symétriques dans lesquels une unité d'authentification d'un dispositif, par exemple, un serveur hôte tel qu'une imprimante, partage un code secret avec un dispositif, par exemple, une cartouche. Le second type - le sujet principal de la présente invention - est basé 10 sur des procédés cryptographiques asymétriques, dans lesquels l'entité d'authentification d'un dispositif utilise un code public, et dans lesquels le dispositif utilise un code privé afin de prouver son identité. Alors que le code public peut être divulgué librement, la divulgation du code privé doit être fortement protégée. 15 Des circuits IC d'authentification qui mémorisent le code secret dans une mémoire NVM comportent, de manière classique, certaines protections contre la rétro-ingénierie. Néanmoins, les circuits IC d'authentification courants souffrent d'un inconvénient important, compte tenu du fait qu'avec suffisamment de temps, d'argent et d'expertise, des adversaires peuvent vaincre les mécanismes de 20 protection existants et extraire des identifiants même bien protégées tels que des codes privés et des dispositifs clones, par exemple, en utilisant des procédés d'analyse par défaillance. Puisqu'il est connu que les fonctions PUF assurent le niveau le plus élevé de résistance contre des attaques physiques et invasives par rétro-ingénierie, des codes secrets produits par fonction PUF sont considérés être insensibles à ces types d'attaques. Toutefois, des circuits d'authentification classiques qui utilisent des codes secrets produits par fonction PUF nécessitent que le dispositif à protéger comportant le circuit IC soit connecté de manière à accéder à la base de données du fabricant afin de réaliser l'authentification, ce qui n'est ni toujours possible, ni appropriée, ni sûr. Des variantes de principes fonctionnent en produisant un code privé sans 3038416 3 - utiliser de circuit PUF ou en utilisant un code secret mémorisé dans une mémoire non volatile. Toutefois, de tels principes ne sont en aucun cas insensibles à la rétro-ingénierie, et peuvent être contournés par des attaquants sophistiqués. Il existe un besoin pour des dispositifs et procédés permettant de surmonter 5 les précédentes limitations. A cette fin, il est créé un circuit intégré d'authentification d'un dispositif électronique sans liaison à une autorité de certification distante, le circuit intégré comprenant : un élément de fonction physiquement non clonable (fonction PUF) qui produit un nombre aléatoire ; et une unité de traitement configurée de manière 10 à: recevoir le nombre aléatoire et déterminer si le nombre aléatoire est différent de zéro ; en réponse à une détermination du fait que le nombre aléatoire est différent de zéro, accepter un code privé de dispositif qui est basé sur le nombre aléatoire ; calculer un code public de dispositif associé au nombre aléatoire ; recevoir, au cours d'une opération de production, un certificat de code public qui 15 est basé sur un code public calculé, le certificat de code public étant signé avec un code privé externe ; recevoir un défi d'un serveur hôte ; signer le défi avec le code privé de dispositif; et communiquer le défi signé au serveur hôte. Le défi peut être un nombre aléatoire qui n'est pas mémorisé dans une mémoire non volatile. Le certificat de code public peut comprendre un champ de données comprenant 20 une valeur qui est représentative du code public de dispositif. Le code privé externe peut être délivré par une autorité de certification externe. L'unité de traitement peut être externe au circuit intégré. Le certificat de code public signé peut être mémorisé dans une mémoire non volatile. La mémoire non volatile peut être externe au circuit intégré. 25 La présente invention se rapporte à un procédé d'authentification d'un dispositif électronique sans liaison à une autorité de certification distante, le procédé comprenant : un élément de fonction physiquement non clonable (fonction PUF) qui produit un nombre aléatoire ; et une unité de traitement configurée de manière à: recevoir le nombre aléatoire et déterminer si le nombre 30 aléatoire est différent de zéro ; en réponse à une détermination du fait que le nombre aléatoire est différent de zéro, accepter un code privé de dispositif qui est 3038416 4 - basé sur le nombre aléatoire ; calculer un code public de dispositif associé au nombre aléatoire ; recevoir, au cours d'une opération de production, un certificat de code public qui est basé sur un code public calculé, le certificat de code public étant signé avec un code privé externe ; recevoir un défi d'un serveur hôte ; signer 5 le défi avec le code privé de dispositif; et communiquer le défi signé au serveur hôte. La production du nombre aléatoire peut être réalisée au cours d'une opération de production. Le calcul du code public de dispositif peut comprendre l'exécution d'une multiplication sur courbe elliptique. Le procédé peut, en outre, comprendre, en réponse à une détermination du fait que le nombre aléatoire est 10 égal à zéro, le rejet du dispositif électronique. Le procédé peut, en outre, comprendre la réception du code privé externe à partir d'une autorité de certification externe. La présente invention se rapporte, en outre, à un dispositif d'authentification d'un dispositif électronique sans liaison à une autorité de certification distante, le 15 dispositif comprenant : une mémoire non volatile afin de mémoriser un certificat de code public; un circuit comprenant un élément de fonction physiquement non clonable (fonction PUF) qui produit un nombre aléatoire ; et une unité de traitement configurée de manière à: utiliser le nombre aléatoire en tant que code privé de dispositif en réponse à une détermination du fait que le nombre aléatoire 20 est différent de zéro ; calculer le code public de dispositif associé au nombre aléatoire ; et recevoir le certificat de code public associé au nombre aléatoire ; et signer le certificat de code public avec un code privé externe ; et communiquer le défi signé à un serveur hôte afin de permettre l'authentification du dispositif électronique par le serveur hôte. L'authentification peut comprendre la vérification 25 du défi signé avec le code public de dispositif afin de valider un état physique du dispositif électronique comprenant la fonction PUF. Le certificat de code public signé peut être mémorisé dans la mémoire non volatile. Le serveur hôte peut lire le certificat de code public à partir de la mémoire non volatile. Le dispositif peut, en outre, comprendre une autorité de certification externe qui délivre le code privé 30 externe. Le dispositif peut, en outre, comprendre une autorité de certification qui calcule préalablement un code public de dispositif. Le serveur hôte peut vérifier le 3038416 5 certificat de code public avec le code public de dispositif. Le dispositif peut, en outre, comprendre un moteur cryptographique conçu de manière à exécuter une multiplication de point de courbe elliptique. Une brève description des dessins va maintenant être faite ci-dessous. 5 Il va être fait référence à des modes de réalisation de l'invention, dont des exemples vont être représentés sur les figures annexées. Ces figures doivent être considérées comme représentatives et non limitatives. Bien que l'invention soit décrite principalement dans le contexte de ces modes de réalisation, il doit être compris que ceci n'est pas destiné à limiter la portée de l'invention à ces modes de 10 réalisation particuliers. La figure 1 montre un circuit IC d'authentification basé sur fonction PUF classique nécessitant une authentification en ligne à partir d'une base de données de fabricant. La figure 2 est un algorithme d'une procédure d'initialisation représentative, 15 destinée à assurer l'authentification d'un dispositif selon différents modes de réalisation de l'invention. La figure 3 est un algorithme d'un procédé représentatif destiné à assurer l'authentification d'un dispositif par l'intermédiaire d'un serveur hôte au cours d'une utilisation de terrain, selon différents modes de réalisation de l'invention. 20 La figure 4 représente un exemple de schéma fonctionnel d'un circuit d'authentification d'un dispositif selon différents modes de réalisation de l'invention. La figure 5 représente un exemple de schéma fonctionnel d'un dispositif d'authentification d'un dispositif selon différents modes de réalisation de 25 l'invention. Une description détaillée des modes de réalisation préférés va maintenant être faite. Dans la description suivante, pour des besoins d'explication, des détails spécifiques sont présentés dans le but de permettre la compréhension de 30 l'invention. Toutefois, il va être évident, pour le spécialiste de la technique que l'invention peut être mise en oeuvre sans ces détails. Il va être évident pour un 3038416 -6 spécialiste de la technique que des modes de réalisation de la présente invention, décrits ci-dessous, peuvent être mis en oeuvre suivant une variété de manières et en utilisant une variété de moyens. Il va aussi être évident pour les spécialistes de la technique que des variantes, applications et modes de réalisation 5 supplémentaires sont dans la portée de celle-ci, comme le sont des domaines supplémentaires dans lesquels l'invention peut être utilisée. Par conséquent, les modes de réalisation décrits ci-dessous sont représentatif des modes de réalisation spécifiques de l'invention et sont destinés à éviter l'obscurcissement de l'invention. La référence, dans la description, à un "premier mode de réalisation" ou à 10 "un mode de réalisation" signifie qu'une particularité, structure, caractéristique ou fonction spécifique décrite en relation avec le mode de réalisation est contenue dans au moins un mode de réalisation de l'invention. La présence de l'expression "dans un premier mode de réalisation", "dans un mode de réalisation," ou analogue à différents emplacements de la description ne se réfère pas 15 nécessairement au même mode de réalisation. En outre, les liaisons entre les composants ou entre les étapes de procédé sur les figures ne sont pas limitées aux liaisons qui sont directement affectées. Au lieu de cela, les liaisons représentées sur les figures entre des composants ou des étapes de procédé peuvent être modifiées ou changées d'une autre manière par 20 l'ajout à celles-ci de composants ou d'étapes de procédé intermédiaires, sans s'écarter des enseignements de la présente invention. Dans ce document, le terme "fonction PUF" comprend des éléments physiques, chimiques et autres fonction PUF connus du spécialiste de la technique. De telles fonctions PUF peuvent être utilisées en tant qu'élément 25 physique sécurisé puisqu'il est déterminé par le matériel d'un dispositif particulier. La figure 1 montre un circuit IC d'authentification basé sur fonction PUF classique qui nécessite une authentification en ligne par un dispositif d'authentification. Un circuit IC d'authentification 102 comprend un circuit PUF 104, un code secret produit par fonction PUF 106, et une unit é de traitement 108. 30 Le circuit PUF 104 est un circuit qui peut être intégré dans un dispositif à authentifier, tel qu'un téléphone cellulaire. Un dispositif d'authentification 150 3038416 -7 comprend une base de données de fabricant 152. Dans cet exemple, la base de données de fabricant 152 contient un jeu de paires de défit et réponse. En fonctionnement, le circuit PUF 104 forme un moyen de protection de circuit IC d'authentification 102 contre des tentatives de rétro-ingénierie par des 5 attaquants. Le circuit PUF 104 utilise des états physiques d'un dispositif afin de produire un code secret 106, tel qu'un nombre aléatoire, qui est unique au dispositif. Le nombre aléatoire peut être utilisé de manière à produire une réponse correspondante 122 que le dispositif d'authentification 150 peut alors utiliser afin de vérifier l'authenticité du circuit IC d'authentification 102. Le défi 120 est un 10 nombre aléatoire public alors que la réponse 122 est une réponse calculée délivrée par le circuit IC d'authentification 102. L'unité de traitement 108 exécute de manière générale des calculs et communique avec le dispositif d'authentification 150. De manière classique, au cours de l'opération de production du circuit IC 15 d'authentification 102, un ensemble de paires de défi et réponse est enregistré dans une base de données de fabricant 152, qui est une base de données sécurisée qui associe des défis 120 à des réponses de fonction PUF 122 en vue d'une utilisation ultérieure dans des opérations d'authentification. De manière classique, le circuit PUF 104 reçoit un grand nombre de défis 120 et délivre des réponses 20 correspondantes 122 qui sont enregistrées dans la base de données de fabricant 152. Les principes d'authentification par défi et réponse sont basés sur la détection du fait qu'un code secret, ici, un code secret produit par fonction PUF 106, est connu sans divulguer réellement le code secret. Les détails de l'authentification par défi et réponse ne sont pas décrits ici de manière détaillée. 25 Dans le but d'authentifier le dispositif contenant le circuit IC d'authentification 102 au cours d'une utilisation de terrain, le circuit IC d'authentification 102 est, de manière classique, connecté à une base de données de fabricant 152 par l'intermédiaire d'un réseau, et une paire de défi et réponse est choisi de manière aléatoire à partir de la base de données 152 afin d'exécuter 30 l'authentification. Le défi 120, qui, de manière classique, est un nombre aléatoire, est envoyé au circuit IC d'authentification 102, qui calcule et renvoie une réponse 3038416 -8- 122 sur la base du code secret 106 et du nombre aléatoire. La réponse 122 est ensuite comparée à une réponse attendue mémorisée dans la base de données 152. Finalement, si la réponse 122 correspond au défi 120 dans la base de données 152, le circuit IC d'authentification 102 est authentifié avec succès. Toutefois, la 5 nécessité d'une vérification en ligne rend l'utilisation des circuits IC d'authentification basés sur fonction PUF existants, tel que le circuit IC d'authentification 102, peu pratique dans certains contextes de même que vulnérable aux attaques de la base de données 152. Par conséquent, il peut être désirable de disposer des dispositifs et des procédés opérationnels qui assurent le 10 niveau le plus élevé de protection contre l'effraction pour le circuit IC d'authentification 102 et peuvent être utilisés de manière appropriée même lorsque la connexion à la base de données 152 est indisponible. La figure 2 est un algorithme d'une procédure d'initialisation représentative destinée à assurer l'authentification d'un dispositif, selon différents modes de 15 réalisation de l'invention. L'opération d'initialisation 200, telle qu'elle peut être mise en oeuvre comme une partie d'une opération de production, commence à l'étape 204, lorsqu'un nombre aléatoire, k, est produit par un élément de fonction PUF, par exemple, un circuit PUF intégré. Dans des modes de réalisation, le nombre aléatoire produit par fonction PUF n'est pas mémorisé dans une mémoire 20 non volatile. A l'étape 206, il est déterminé si la valeur du nombre aléatoire produit par fonction PUF est égale à zéro. Si oui, alors, à l'étape 208, le dispositif comprenant le circuit IC d'authentification et l'élément de fonction PUF est rejeté comme étant 25 inacceptable. Si, d'autre part, la valeur d'un nombre aléatoire, k, n'est pas égale à zéro, alors, à l'étape 210, k est accepté en tant que code basé sur fonction PUF, par exemple, en tant que code privé. A l'étape 212, le code basé sur fonction PUF est utilisé afin de calculer un 30 code public associé, Q. Dans des modes de réalisation, pour un algorithme cryptographique ECDSA, les codes privé et public sont liés par une propriété 3038416 -9 mathématique, ici, par l'équation Q = k * P. Les codes P et Q constituent des points d'une courbe elliptique sur GF(p), un champ premier d'ordre p. A l'étape 214, un certificat qui est associé au code public est produit. Dans des modes de réalisation, une fois que le circuit IC d'authentification a délivré le 5 code public, dans le but d'assurer que le code est véritable et non délivré par une quelconque entité non autorisée, le certificat de code public est produit pour le code Q, par exemple, par une autorité de certification au cours de l'opération de production (par exemple, au cours d'un contrôle de production du circuit IC). Le certificat de code public peut être un enregistrement qui comprend des champs de 10 données d'un format prédéterminé. Par exemple, l'un des champs de données peut contenir une valeur qui est représentative du code public Q. Dans des modes de réalisation, la production du certificat de code public à l'étape 214 comprend la signature du certificat avec un code privé de dispositif. Le code privé de dispositif peut être un nombre qui est produit de manière externe au 15 circuit IC au cours de la fabrication du dispositif. Dans un mode de réalisation, le code privé de dispositif est un code privé d'autorité de certification. Finalement, à l'étape 216, le certificat de code public signé pour Q peut être mémorisé dans une mémoire non volatile du circuit IC d'authentification. La figure 3 est un algorithme d'un procédé représentatif destiné à assurer 20 l'authentification d'un dispositif par l'intermédiaire d'un serveur hôte au cours de l'utilisation de terrain, selon différents modes de réalisation de l'invention. La procédure d'authentification 300 commence à l'étape 302, lorsqu'un certificat à partir d'un dispositif à authentifier est lu, par exemple, par un serveur hôte qui reçoit un code public de dispositif et le mémorise dans une mémoire. 25 A l'étape 304, le serveur hôte vérifie le certificat de code public de circuit IC avec un code public de dispositif c'est-à-dire, par exemple, un code public d'une autorité de certification qui a été calculé antérieurement. Si, à l'étape 306, le certificat de code public de circuit IC ne peut pas être vérifié, alors la tentative de vérification est considérée comme ayant échoué. 30 A l'étape 308, le serveur hôte extrait ou recherche le code public de dispositif de circuit IC à partir du certificat. 3038416 - 10 - Une fois que le code public de dispositif de circuit IC est connu, le serveur hôte, à l'étape 310, envoie un défi, tel qu'un nombre aléatoire, au dispositif de circuit IC d'authentification. A l'étape 312, le dispositif de circuit IC d'authentification signe le défi avec 5 son code privé produit par fonction PUF. A l'étape 314, le serveur hôte vérifie la signature de défi de circuit IC avec le code public du dispositif de circuit IC, c'est-à-dire, que le serveur hôte vérifie l'authenticité du dispositif de circuit IC. Si la vérification est réussie, le dispositif est authentifié avec succès à l'étape 10 318. Sinon, à l'étape 316, l'authentification de dispositif est considérée comme ayant échoué. Il va être évident pour le spécialiste de la technique que le circuit IC d'authentification qui mémorise un code secret peut comprendre un moteur 15 cryptographique afin d'exécuter des calculs cryptographiques. La figure 4 représente un exemple de schéma fonctionnel d'un circuit intégré destiné à assurer l'authentification d'un dispositif selon différents modes de réalisation de l'invention. Le circuit 400 comprend un élément de fonction PUF 402, une unité de traitement 410 et une mémoire non volatile 420. Il est noté que 20 l'un quelconque de l'unité de traitement 410 et de la mémoire non volatile 402 peut être situé de manière externe au circuit intégré 400. Dans certains modes de réalisation, l'élément de fonction PUF 402 est un circuit qui produit un nombre aléatoire, comprenant pendant une opération de production. Le nombre peut être un nombre reproductible et unique, par exemple, 25 une valeur sur 256 bits, et peut être utilisé comme un code secret cryptographique unique. Plusieurs circuits de fonction PUF peuvent être utilisés afin de produire des codes privés multiples. Dans certains modes de réalisation, sur la base d'une propriété inhérente des algorithmes de cryptage asymétriques, tels qu'un algorithme de signature 30 numérique à courbe elliptique (ECDSA), le nombre produit doit être un nombre entier différent de zéro afin de produire un code public valide. 3038416 Le nombre aléatoire produit par fonction PUF est délivré à l'unité de traitement 410 qui détermine en premier si le nombre est égal à zéro. Si c'est le cas, le circuit 400 est rejeté comme étant inacceptable. La possibilité pour l'élément de fonction PUF 402 de produire une valeur nulle qui peut conduire à la 5 création d'un code public invalide est basée sur la nature imprévisible inhérente des éléments de fonction PUF. Dans certains modes de réalisation, un nombre aléatoire non nul est accepté ou utilisé afin de produire un code privé de dispositif 404 associé. Il est noté que des algorithmes tels que RSA n'ont pas tendance à être 10 utilisés eux mêmes avec des éléments de fonction PUF puisque des nombres non nuls seuls ne garantissent pas la validité d'un nombre aléatoire. En fait, des nombres utilisés pour des codes privés pour l'algorithme RSA sont soumis à des spécifications supplémentaires, telles que de présenter la caractéristique particulière d'être un nombre premier, etc.. 15 Dans certains modes de réalisation, le code privé de dispositif 404 est utilisé afin de calculer un code public associé, Q, en utilisant l'équation Q = k*P. En général, l'équation Q k*P définit un jeu de points qui créent une courbe elliptique. La multiplication scalaire est une opération de base sur des points de la courbe elliptique, qui peut être utilisée afin de signer des données. Un point situé 20 sur une courbe elliptique est multiplié par un scalaire de manière classique en ajoutant un point plusieurs fois à lui-même afin de conduire à un autre point sur la courbe. Toutefois, en connaissant des points résultants seuls, il est théoriquement impossible de déterminer le nombre de fois que l'addition a été mise en oeuvre afin d'arriver à un point résultant, ce qui rend la multiplication de point elliptique 25 attractive pour une utilisation en cryptographie. Le code public peut être produit de manière intégrée en exécutant une multiplication scalaire. Dans des modes de réalisation, le nombre aléatoire produit par fonction PUF n'est pas mémorisé dans une mémoire non volatile 420 qui peut ou peut ne pas être externe au circuit intégré 400. 30 Dans certains modes de réalisation, une fois que le circuit 400 a délivré le code public de dispositif 412, dans le but d'assurer que le code 412 est véritable et 3038416 - 12 - non délivré par une quelconque entité non autorisée, l'unité de traitement 410 produit un certificat de code public 414 pour le code public 412. Il doit être noté que l'unité de traitement 410 peut être située à distance et commandée par une entité externe, telle qu'un contrôleur. Dans certains modes de réalisation, l'unité de 5 traitement 410 génère un certificat qui est basé sur un résultat à partir d'une fonction PUF 402 et est mémorisé dans une mémoire non volatile 420. Le certificat de code public peut être un enregistrement qui comprend des champs de données d'un format prédéterminé. Par exemple, l'un des champs de données peut contenir une valeur qui est représentative du code public. 10 Dans certains modes de réalisation, l'unité de traitement 410 signe de manière externe le certificat avec un code privé de dispositif, par exemple, un code privé d'autorité de certification qui est un nombre produit de manière externe, par exemple, au cours d'une opération de production de dispositif, tel qu'au cours d'un contrôle de production de circuit 400, empêchant ainsi que le 15 code privé de dispositif soit importé dans le dispositif d'authentification. La figure 5 représente un exemple de schéma fonctionnel d'un dispositif destiné à assurer l'authentification d'un dispositif selon différents modes de réalisation de l'invention. Pour des questions de clarté, des composants similaires à ceux montrés sur la figure 4 sont numérotés d'une manière similaire. Pour des 20 besoins de brièveté, une description de leur fonction n'est pas répétée ici. Le dispositif 500 comprend, un circuit 400 et un serveur hôte 504. Le serveur hôte 504, comprend lui même, un module de vérification de certificat 510, un module d'extraction de code Q 512 et un module de vérification de signature 514. Il doit être noté que des modules 510 à 514 peuvent être mis en oeuvre 25 comme des unités autonomes ou être intégrés dans une seule unité. Dans des modes de réalisation, le circuit 400 est intégré dans un dispositif à authentifier sur un bien, tel qu'un dispositif électronique, qui communique par l'intermédiaire d'interfaces de communication appropriées (non montrées). En fonctionnement, d'une manière similaire à la figure 4, le circuit 400 30 délivre un certificat qui comprend un code public de dispositif Dans certains modes de réalisation, au cours d'une utilisation de terrain, le serveur hôte 504 lit le 3038416 - 13 - certificat de code public 520 par l'intermédiaire du module de vérification de certificat 510. Le certificat de code public 520 comprend un code public de dispositif, par exemple, un code public d'une autorité de certification qui a été calculé antérieurement. Le module de vérification de certificat 510 soit vérifie le 5 certificat 520 soit rejette le circuit 400 comme défectueux. Dans certains modes de réalisation, le module d'extraction de Q 512 extrait ou recherche le code public de dispositif à partir du certificat 520. En réponse, le serveur hôte 504 envoie un défi 522 (par exemple, un nombre aléatoire) au circuit 400, à signer avec un code privé produit par le circuit PUF 402. Lors de la 10 réception de la réponse 524 à partir du circuit 400 au défi 522, le serveur hôte 504 vérifie le défi signé 524 avec le code public de circuit 400 afin d'authentifier le circuit 400 ou un dispositif quelconque comportant le circuit 400. Dans certains modes de réalisation, au moins un circuit 400 et un serveur hôte 504 comprennent un moteur cryptographique qui exécute des calculs 15 cryptographiques. Il doit être compris que d'autres principes cryptographiques asymétriques peuvent également être appliqués au circuit d'authentification 400. Il va être apprécié par les spécialistes de la technique que moins d'étapes ou des étapes additionnelles peuvent être incorporées aux étapes représentées ici sans 20 s'écarter de la portée de l'invention. Aucun ordre particulier n'est imposé par l'agencement de blocs à l'intérieur de l'algorithme ou de la description présente. Il va, en outre, être apprécié que les exemples et modes de réalisation précédents sont des exemples et sont donnés pour des besoins de clarté et de compréhension et ne limitent pas la portée de la présente invention. Il doit être 25 considéré que l'ensemble des permutations, améliorations, équivalents, associations, et améliorations réalisés sur celle-ci, qui vont devenir évidents aux spécialistes de la technique à la lecture de la spécification et à l'étude des dessins, sont contenus dans la portée de la présente invention. 3038416 .14 _ Références numériques et légendes des figures Figure 1 Technique antérieure 102 Circuit IC d'authentification 104 Circuit PUF 106 Code secret produit par PUF 108 Unité de traitement Enregistrement en ligne 120 Défi 122 Réponse 150 Dispositif d'authentification 152 Base de données de fabricant avec paires défi-réponse Figure 2 Début d'initialisation 204 Production nombre aléatoire k, par fonction PUF 206 k0? Oui 208 Rejet du dispositif Non 210 Acceptation k en tant que code privé basé sur fonction PUF 212 Calcul code public Q = k * P 214 Production de certificat de code public et signature avec code privé de dispositif 216 Mémorisation certificat dans dispositif formant mémoire NVM Fin d'initialisation Figure 3 Début d'authentification 302 Lecture certificat à partir de dispositif à authentifier 304 Certificat vérifié avec code public de dispositif? 3038416 -15- 306 Echec d'authentification 308 Extraction code public de dispositif du certificat 310 Envoi défi au dispositif 312 Signature défi avec code privé 314 Signature défi vérifié avec code public de dispositif Non 316 Echec d'authentification Oui 318 Authentification réussie Figure 4 402 Circuit PUF 404 Code privé de dispositif produit par Circuit PUF, k 410 Unité de traitement 412 Code public, Q 414 Certificat de code public (signé avec code privé de dispositif) 420 Mémoire NVM Figure 5 402 Circuit PUF 410 Unité de traitement 420 Mémoire NVM 520 Certificat avec code public de dispositif 522 Défi 524 Défi signé en code P 510 Module de vérification de certificat 512 Module d'extraction de code Q 514 Module de vérification de signature en utilisant Q REVENDICATIONS1. Circuit intégré d'authentification (400) d'un dispositif électronique sans liaison à une autorité de certification distante, le circuit intégré comprenant : un élément de fonction physiquement non clonable (fonction PUF) qui produit un nombre aléatoire ; et une unité de traitement (410) configurée de manière à: recevoir le nombre aléatoire et déterminer si le nombre aléatoire est différent de zéro ; en réponse à une détermination du fait que le nombre aléatoire est différent de zéro, accepter un code privé de dispositif qui est basé sur le nombre aléatoire ; calculer une code public de dispositif associé au nombre aléatoire ; recevoir, au cours d'une opération de production, un certificat de code public qui est basé sur un code public calculé, le certificat de code public étant signé avec un code privé externe ; recevoir un défi d'un serveur hôte (504) ; signer le défi avec le code privé de dispositif; et communiquer le défi signé au serveur hôte. 2. Circuit intégré selon la revendication 1, dans lequel le défi est un nombre aléatoire qui n'est pas mémorisé dans une mémoire non volatile. 3. Circuit intégré selon la revendication 1, dans lequel le certificat de code public comprend un champs de données comprenant une valeur qui est représentative du code public de dispositif. 4. Circuit intégré selon la revendication 1, dans lequel le code privé externe est délivré par une autorité de certification externe. 5. Circuit intégré selon la revendication 1, dans lequel l'unité de traitement est externe au circuit intégré. 6. Circuit intégré selon la revendication 1, dans lequel le certificat de 30 code public signé est mémorisé dans une mémoire non volatile (420). 7. Circuit intégré selon la revendication 6, dans lequel la mémoire 3038416 2 - non volatile est externe au circuit intégré. 8. Procédé d'authentification d'un dispositif électronique sans liaison à une autorité de certification distante, le procédé comprenant : un élément de fonction physiquement non clonable (fonction PUF) qui 5 produit un nombre aléatoire ; et une unité de traitement configurée de manière à: recevoir le nombre aléatoire et déterminer si le nombre aléatoire est différent de zéro (206) ; en réponse à une détermination du fait que le nombre aléatoire est différent 10 de zéro, accepter un code privé de dispositif qui est basé sur le nombre aléatoire (210) ; calculer un code public de dispositif associé au nombre aléatoire (212) ; recevoir, au cours d'une opération de production, un certificat de code public qui est basé sur un code public calculé, le certificat de code public étant signé 15 avec un code privé externe ; recevoir un défi d'un serveur hôte ; signer le défi avec le code privé de dispositif; et communiquer le défi signé au serveur hôte. 9. Procédé selon la revendication 8, dans lequel la production du 20 nombre aléatoire est réalisée au cours d'une opération de production. 10. Procédé selon la revendication 8, dans lequel le calcul du code public de dispositif comprend l'exécution d'une multiplication sur courbe elliptique. 11. Procédé selon la revendication 8, comprenant, en outre, en réponse 25 à une détermination du fait que le nombre aléatoire est égal à zéro, le rejet du dispositif électronique. 12. Procédé selon la revendication 8, comprenant, en outre, la réception du code privé externe à partir d'une autorité de certification externe. 13. Dispositif d'authentification (400) d'un dispositif électronique sans liaison à une autorité de certification distante, le dispositif comprenant : une mémoire non volatile (420) afin de mémoriser un certificat de code 3038416 -3 public; un circuit (402) comprenant un élément de fonction physiquement non clonable (fonction PUF) qui produit un nombre aléatoire ; et une unité de traitement (410) configurée de manière à: 5 utiliser le nombre aléatoire en tant que code privé de dispositif en réponse à une détermination du fait que le nombre aléatoire est différent de zéro ; calculer le code public de dispositif associé au nombre aléatoire ; et recevoir le certificat de code public associé au nombre aléatoire ; et signer le certificat de code public avec un code privé externe ; et io communiquer le défi signé à un serveur hôte afin de permettre l'authentification du dispositif électronique par le serveur hôte. 14. Dispositif selon la revendication 13, dans lequel l'authentification comprend la vérification du défi signé avec le code public de dispositif afin de valider un état physique du dispositif électronique comprenant la fonction PUF. 15 15. Dispositif selon la revendication 13, dans lequel le certificat de code public signé est mémorisé dans la mémoire non volatile. 16. Dispositif selon la revendication 15, dans lequel le serveur hôte lit le certificat de code public, à partir de la mémoire non volatile. 17. Dispositif selon la revendication 13, comprenant, en outre, une 20 autorité de certification externe qui délivre le code privé externe. 18. Dispositif selon la revendication 13, comprenant, en outre, une autorité de certification qui calcule préalablement un code public de dispositif. 19. Dispositif selon la revendication 17, dans lequel le serveur hôte vérifie le certificat de code public avec le code public de dispositif. 25 20. Dispositif selon la revendication 13, comprenant, en outre, un moteur cryptographique conçu de manière à exécuter une multiplication de point de courbe elliptique.