Brevet FR3038411A1 — publié le 20170106

B14213 - 15-R0-0072 1 DETECTION D'AUTHENTICITE D'UN CIRCUIT ELECTRONIgJE OU D'UN PRODUIT CONTENANT UN TEL CIRCUIT Domaine La présente description concerne de façon générale les circuits électroniques et, plus particulièrement, un procédé de vérification de l'authenticité ou origine d'un produit (un accessoire ou un consommable) devant coopérer avec un dispositif. État de l'art antérieur Dans de nombreux domaines, on cherche à garantir qu'un produit, par exemple une cartouche d'encre, une batterie, un accessoire, etc., devant être utilisé dans un dispositif, soit un produit d'origine ou authentique, c'est-à-dire approuvé par le fabricant du dispositif. Pour cela, une clé d'authentification est généralement stockée dans un circuit électronique associé à ce produit et sert, lorsque le produit est installé dans le dispositif ou lorsqu'il doit coopérer avec celui-ci, à vérifier qu'il s'agit d'un produit authentique. Toutefois, si le secret parvient à être percé et qu'un fabricant met en circulation des produits non approuvés par le fabricant du dispositif, mais équipés de circuits possédant la bonne clé, les dispositifs vont considérer ces produits comme authentiques. 3038411 B14213 - 15-R0-0072 2 Résumé Un mode de réalisation propose une solution palliant tout ou partie des inconvénients des techniques connues d'authentification de produit par circuit électronique. 5 Un mode de réalisation propose une solution particulièrement adaptée à des circuits qui ne sont pas alimentés en permanence. Ainsi, un mode de réalisation prévoit un procédé de vérification de l'authenticité d'un produit associé à un 10 dispositif hôte, dans lequel : un premier circuit électronique du dispositif initialise un circuit de rétention de charges d'un deuxième circuit électronique du produit ; et le premier circuit interprète une durée de décharge du 15 circuit de rétention de charges pour décider de l'authenticité du produit. Selon un mode de réalisation, le premier circuit compare une information représentative du temps, fournie par le circuit de rétention de charge et la compare à une durée attendue. Selon un mode de réalisation, le premier circuit déclenche une évaluation de l'authenticité en coupant l'alimentation du deuxième circuit. Selon un mode de réalisation, la durée de l'interruption de l'alimentation du deuxième circuit est aléatoire. Selon un mode de réalisation : le premier circuit communique au deuxième circuit une tension représentative d'un niveau de charges à stocker dans le circuit de rétention de charges ; le deuxième circuit charge le circuit de rétention de charges ; le premier circuit coupe l'alimentation du deuxième circuit pendant une certaine durée à l'issue de laquelle le deuxième circuit mesure la quantité de charges résiduelle dans le circuit de rétention de charges ; 3038411 B14213 - 15-R0-0072 3 le deuxième circuit communique une information représentative de cette quantité résiduelle au premier circuit ; et le premier circuit compare cette information à une 5 valeur attendue. Selon un mode de réalisation : le deuxième circuit reçoit une valeur temporelle pendant laquelle le deuxième circuit doit s'abstenir de répondre au premier circuit ; 10 le deuxième circuit charge le circuit de rétention de charges ; le premier circuit coupe l'alimentation du deuxième circuit et initialise un compteur temporel ; le premier circuit rallume le deuxième circuit et 15 l'interroge périodiquement jusqu'à ce qu'il réponde ; et dès que le deuxième circuit répond, le premier circuit compare la durée écoulé à une durée attendue, fonction des caractéristiques du circuit de rétention de charge du deuxième circuit. 20 Selon un mode de réalisation, ladite valeur temporelle est communiquée au deuxième circuit par le premier circuit. Selon un mode de réalisation, ladite valeur temporelle est communiquée au premier circuit et au deuxième circuit par un troisième circuit. 25 Un mode de réalisation prévoit également un système comportant au moins un dispositif hôte et au moins un produit associé à ce dispositif hôte, adaptés au procédé décrit. Selon un mode de réalisation, le dispositif est une imprimante et le produit est une cartouche d'encre. 30 Brève description des dessins Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles : 3038411 B14213 - 15-R0-0072 4 la figure 1 est une représentation très schématique et sous forme de blocs d'un exemple de système du type auquel s'appliquent à titre d'exemple des modes de réalisation qui vont être décrits ; 5 la figure 2 illustre, par un schéma bloc, un mode de réalisation du procédé d'authentification ; la figure 3 est un schéma électrique simplifié d'un exemple d'un circuit adapté à retenir des charges électriques de façon contrôlable pour une mesure temporelle ; 10 la figure 4 est un graphe illustrant le comportement d'un circuit de rétention de charges d'un circuit 22 par application du procédé d'authentification ; la figure 5 est un schéma bloc d'un mode de réalisation du procédé d'authentification ; et 15 la figure 6 est un schéma bloc d'un autre mode de réalisation du procédé d'authentification. Description détaillée De mêmes éléments ont été désignés par de mêmes références aux différentes figures. 20 Par souci de clarté, seules les étapes et éléments utiles à la compréhension des modes de réalisation qui vont être décrits ont été représentés et seront détaillés. En particulier, la génération des signaux échangés entre les circuits et leur interprétation côté terminal et côté transpondeur n'ont pas été 25 détaillées, les modes de réalisation décrits étant compatibles avec les techniques usuelles de génération et d'interprétation de ces signaux. Dans la description qui suit, lorsqu'on fait référence aux termes approximativement, environ et, de l'ordre de, cela signifie à 10% près, de préférence à 5% près. 30 La figure 1 représente, de façon très schématique et sous forme de blocs, un exemple de système du type auquel s'appliquent les modes de réalisation qui vont être décrits. Un dispositif hôte 1 (HOST) est susceptible d'accueillir ou de fonctionner avec un ou plusieurs produits 2, accessoires (ACC) ou consommables (CONS). A titre d'exemple d'application particulier, 3038411 B14213 - 15-R0-0072 5 le dispositif hôte est une imprimante et le produit (consommable) est une cartouche d'encre. Selon un autre exemple, il s'agit d'un système électronique (par exemple, une console de jeu, un téléphone mobile, etc.) utilisant des accessoires (par exemple 5 des manettes de jeu, une oreillette, une coque, un étui, etc.). Plus généralement, il peut s'agir de tout type de système basé sur la coopération entre un dispositif principal (hôte) et un ou plusieurs accessoires ou consommables (produits). Les fabricants de consommables ou d'accessoires 10 cherchent généralement à se protéger contre l'utilisation d'accessoires pirates ou non authentiques pour, entre autres, garantir à leurs utilisateurs la qualité et la fiabilité des produits d'origine par rapport à des copies ou "clones". Un autre objectif est d'éviter les éventuelles contrefaçons. On fera par 15 la suite référence à des copies pour désigner les produits non authentiques, qu'il s'agisse de copies serviles ou plus généralement de produits similaires susceptibles d'être utilisés en produits authentiques. La protection consiste généralement en un mécanisme 20 d'authentification d'un nouveau produit introduit dans le dispositif hôte, voire d'une authentification à chaque mise sous tension du dispositif, à chaque sortie de mode veille, ou à chaque utilisation du produit (par exemple, à chaque impression). EN reprenant l'exemple d'une imprimante, l'imprimante et toutes les 25 cartouches sont équipées d'un circuit électronique adapté à une telle authentification, par exemple un processeur cryptographique ou un programme exécuté par un processeur générique. Par exemple, comme l'illustre la figure 1, le dispositif hôte 1 comporte un circuit de type microcontrôleur 12 (pC) 30 susceptible de communiquer par un ou plusieurs bus 13 d'adresses, de commandes et de données, avec une ou plusieurs mémoires 14 (MEM), un ou plusieurs périphériques 15 (PER), par exemple les divers circuits du dispositif 1, et un ou plusieurs circuits 16 d'entrée-sortie (E/S) parmi lesquels un dispositif apte à 35 communiquer avec les produits 2. 3038411 B14213 - 15-R0-0072 6 Un produit 2, qu'il s'agisse d'un consommable ou d'un accessoire, comporte au moins un circuit 22, de préférence sécurisé, par exemple de type microcontrôleur, comportant le même type de composants (non représentés) : un processeur, des mémoires 5 volatiles et non volatiles, une interface d'entrée-sortie vers un bus de communication avec le dispositif 1, etc. Dans les techniques usuelles, le dispositif 1 et les produits 2 partagent des clés d'authentification stockées en mémoire, sur lesquelles sont basées les procédures 10 d'authentification. Dans les modes de réalisation décrits ci-après, l'authentification ne s'effectue pas par échange de clés d'authentification stockées sous la forme de mots numériques, mais à partir de paramètres électriques intrinsèques au circuit 15 électronique de la cartouche. Plus précisément on prévoit d'exploiter une vitesse de décharge d'un élément de stockage de charges côté produit 2. On prévoit ainsi d'intervenir sur l'alimentation électrique des circuits électroniques 22 associés aux produits 2 pour déterminer 20 leur authenticité. La figure 2 illustre, par un schéma bloc, un mode de réalisation du procédé d'authentification. Le circuit électronique du produit 1, symbolisé ici par un bloc 10 (HOST), contrôle les produits 2, plus précisément les 25 circuits électroniques 22 des produits constituant des circuits esclave (SLAVE), non seulement par le biais d'un bus de communication 13, mais également en contrôlant leur alimentation, c'est-à-dire en commandant leur fourniture d'énergie, par exemple en fournissant un bus d'alimentation 17. 30 Chaque circuit esclave 22 comporte un circuit 3 adapté à retenir des charges électriques de façon contrôlable pour une mesure temporelle. Des exemples de circuits de ce type sont décrits dans les brevets américain 8,963,574 8,872,177 ; 8,331,203 ; 35 8,320,176 ; 8,036,020 ; 8,339,848. 3038411 B14213 - 15-R0-0072 7 La figure 3 est un schéma électrique simplifié d'un exemple d'un circuit 3 adapté à retenir des charges électriques de façon contrôlable pour une mesure temporelle. Le circuit 3 comprend un premier élément capacitif Cl 5 dont une première électrode 31 est connectée à un noeud flottant F et dont une seconde électrode 32 est connectée à une borne 33 d'application d'un potentiel, et un second élément capacitif C2 dont une première électrode 34 est connectée au noeud F et dont une seconde électrode 35 est connectée à une borne 36 10 d'application d'un potentiel. Le circuit 3 comporte en outre un troisième élément capacitif C3 dont une première électrode 37 est connectée au noeud F et dont une seconde électrode 38 est connectée à une borne 39 d'application d'un potentiel, et dont l'espace diélectrique est conçu, par sa permittivité et/ou par son 15 épaisseur, pour présenter des fuites non négligeables dans le temps. L'élément capacitif Cl présente une capacité de rétention de charges supérieure à celle de l'élément C3, et l'élément capacitif C2 présente une capacité de rétention de charges supérieure à celle de l'élément C3, mais inférieure à celle de 20 l'élément Cl. Un rôle de l'élément capacitif Cl (élément de stockage) est de stocker des charges électriques. Un rôle de l'élément capacitif C3 (élément d'écoulement) est de décharger l'élément de stockage Cl, relativement lentement par rapport à une connexion directe de son électrode 31 à la masse. Un rôle de 25 l'élément capacitif C2 est de permettre une injection de charges dans l'élément capacitif Cl, en évitant les contraintes (stress) qui résulteraient, pour l'élément d'écoulement C3, d'une charge directe de l'élément de stockage Cl par application d'une tension d'alimentation entre le noeud F et la borne 33. 30 Lors d'une étape d'initialisation d'une phase de rétention de charges, les bornes 33 et 39 sont à un potentiel de référence, par exemple la masse, et un potentiel d'alimentation haut (positif par rapport à la masse) Valim est appliqué sur la borne 36, ce qui entraîne la charge de l'élément capacitif Cl. En 35 variante, pour charger l'élément Cl, la borne 39 peut être mise à 3038411 B14213 - 15-R0-0072 8 la masse, et les bornes 36 et 33 à des potentiels respectivement positif et négatif par rapport à la masse. Lorsque la tension d'alimentation n'est plus appliquée entre les bornes 36 et 33, par exemple lorsque le circuit n'est plus alimenté, l'élément de 5 stockage Cl se décharge de façon contrôlée (relativement lentement) à travers l'élément d'écoulement C3. On notera qu'une phase de décharge contrôlée peut aussi être prévue lorsque le circuit est encore alimenté. Lors de la phase de décharge, les bornes 33, 36 et 39 peuvent être laissées flottantes, ou mises à 10 un même potentiel de référence, par exemple la masse. Lors d'une étape de lecture, après une phase de décharge, la charge résiduelle de l'élément de stockage Cl est mesurée (pour la mesure, le dispositif doit être alimenté). La charge résiduelle de l'élément Cl est considérée comme représentative du temps 15 écoulé entre la fin de l'étape d'initialisation et l'étape de lecture. On prévoit d'exploiter de tels circuits de rétention de charges électriques pour déterminer l'authenticité des produits 2. 20 Pour cela, à chaque besoin d'authentification (par exemple, à chaque introduction d'une nouvelle cartouche dans une imprimante, à chaque mise sous tension de l'imprimante, à chaque sortie de mode veille, à chaque impression, etc.), le circuit 10 (figure 2) détermine si le circuit de rétention de charge 3 du 25 circuit 22 se comporte d'une façon attendue, c'est-à-dire que son temps de décharge correspond à une durée attendue. Le circuit 10 contient donc, dans sa mémoire 14, des informations relatives au comportement des circuits 3 des produits 2 authentiques. Par exemple, les circuits 22 sont soumis à une 30 phase de test ou de caractérisation en fin de fabrication permettant de déterminer le profil de décharge de leurs circuits 3. Selon un autre exemple, les circuits 3 sont réalisés d'une façon suffisamment reproductible pour que qu'il soit possible de caractériser leur comportement temporel. 3038411 B14213 - 15-R0-0072 9 La figure 4 est un graphe illustrant le comportement d'un circuit 3 de rétention de charges d'un circuit 22 par application du procédé d'authentification. On suppose que le circuit 10 provoque l'alimentation du 5 circuit 22 et que, dans une étape d'initialisation de la mesure, il provoque la charge du circuit 3 jusqu'à un niveau représentant une tension VO au noeud F du circuit 3 de rétention de charges. Puis, à un instant TO, le circuit 3 coupe l'alimentation du circuit 22 pendant un temps qu'il choisit. Cette durée est une 10 durée fixe ou, de préférence, une durée aléatoire. A l'expiration de cette durée (instant Tl en figure 4), le circuit 10 rallume le circuit 22 et demande la mesure de la valeur de charges ou de tension résiduelle. Cette mesure fournit un niveau représentant une tension Vl. 15 Le circuit 22 communique alors la valeur mesurée V1 au circuit 10 qui compare cette valeur à une valeur attendue. Cette valeur attendue est obtenue, par exemple, d'après une table stockée en mémoire du circuit 10. Dans le cas d'une coupure d'alimentation de durée aléatoire, le circuit 10 mesure cette 20 durée pour extraire, de la caractéristique de la figure 4 stockée dans la mémoire du circuit 10, la valeur de la tension qui doit être fournie par le circuit 22. En fonction de la durée (par exemple Tl ou In) pendant laquelle l'alimentation du circuit 22 est coupée, la mesure de la 25 tension (par exemple V1 ou Vu) diffère. Ainsi, il est possible pour le circuit 10 de savoir au bout de combien de temps un niveau de tension (décroissant avec le temps) doit être atteint ou quelle valeur de tension est atteint à l'issue d'une certaine durée. Pour l'interprétation des mesures, le circuit 22 30 communique soit la valeur de tension V, soit le temps T correspondant, soit évalue lui-même une durée comme on le verra par la suite. La réponse du circuit 3 de rétention de charges est propre à la puce de circuit intégrée formant le circuit 3, incluse 35 dans le circuit 22. Par conséquent, cette réponse diffère d'une 3038411 B14213 - 15-R0-0072 10 puce à l'autre (en fait d'une catégorie de puces à une autre). Une cartouche non authentique dont le circuit 22 aura été réalisé dans une technologie différente n'apportera donc pas la même réponse et ne sera pas authentifié. 5 En fonction de la variabilité des réponses des circuits 3, par exemple liées aux tolérances de fabrication, on peut prévoir des seuils de mesure approximatifs tenant compte de ces tolérances. En variante, les caractéristiques des réponses des différents circuits sont communiquées aux dispositifs hôte avec 10 un identifiant (code) de la série de produits. La figure 5 est un schéma bloc d'un mode de réalisation du procédé d'authentification. Le circuit maître 10 ou hôte commence par communiquer la tension VO au circuit esclave 22 (bloc 51, VO -> SLAVE). En 15 variante, la tension VO est mesurée par le circuit esclave lui-même à réception d'une commande provenant du circuit maître. Puis, le circuit 10 coupe l'alimentation du circuit esclave 22 (bloc 52, SWITCH OFF 22). Cette interruption de l'alimentation dure un intervalle de temps AT prédéterminé ou aléatoire. A l'issue de 20 l'intervalle de temps AT, Le circuit 10 réalimente le circuit 22 (bloc 23, SWITCH ON 22). Dès qu'il est réalimenté, le circuit 22 évalue (bloc 54, SLAVE MEASURES T/V) la valeur temporelle T ou de tension V correspondante, puis communique cette valeur au circuit 10 (bloc 55, V or T -> HOST). Enfin, le circuit 10 compare (bloc 25 56, HOST COMPARES) la valeur transmise par le circuit 22 à une valeur attendue, fonction de l'intervalle de temps AT. La conversion entre les valeurs de tension et les valeurs temporelle est, par exemple, effectuée à l'aide d'une table de conversion stockée côté maître et/ou côté esclave. 30 L'authenticité n'est validée (bloc 57, DECISION) que si cette comparaison résulte en une identité des valeurs (ou une identité approximative selon les tolérances de mesure et dispersion technologiques de fabrication attendues). La figure 6 est un schéma bloc d'un autre mode de 35 réalisation du procédé d'authentification. 3038411 B14213 - 15-R0-0072 11 Le circuit maître 10 ou hôte commence par communiquer une durée Tl au circuit esclave 22 (bloc 51, Tl -> SLAVE). Cette durée est stockée par le circuit 22 et représente une durée pendant laquelle il s'interdit de répondre à toute interrogation du 5 circuit 10. Puis, le circuit 10 coupe l'alimentation du circuit 22 et initialise un compteur temporel qu'il contient (bloc 52, SWITCH OFF 22, INIT TIMER). Le circuit 10 interroge alors périodiquement (63) le circuit 22. Par exemple, il réalimente le circuit 22 (bloc 631, SWITCH ON 22) et envoie une requête (bloc 10 633, INTERROGATE 22). Tant que le circuit 22 ne répond pas (sortie N du bloc 634, RESPONSE ?), le circuit 10 continue à mesurer le temps qui s'écoule (reboucle sur le bloc 633). Dès que le circuit 22 répond (sortie Y du bloc 634), cela signifie que le circuit de rétention de charges du circuit 22 a atteint un niveau de charges 15 représentant la durée Tl. Le circuit 10 lit alors la valeur de son compteur temporel (bloc 64, READ TIMER), puis compare cette valeur à la valeur qu'il a initialement communiqué (bloc 61) au circuit 22 pour prendre une décision d'authenticité (bloc 67, DECISION). 20 Dans le mode de réalisation de la figure 6, le circuit 22 n'a pas besoin de communiquer de données au circuit 10, ce qui est particulièrement adapté à des circuits 22 simples. Il suffit qu'il réponde par un accusé-réception à une requête d'interrogation pour permettre une décision d'authentification. 25 Selon une variante de réalisation, la durée Tl n'est pas communiquée par le circuit maître au circuit esclave, mais cette valeur ou une information représentative de cette valeur (valeur chiffrée ou cryptogramme) est transmise au circuit maître et au circuit esclave par un circuit tiers, le cas échéant distant, par 30 exemple généré par un serveur de données avec lesquels les circuits 10 et 22 communiquent à distance. Les échanges entre le dispositif hôte et la ou les produits peuvent être sécurisés de façon usuelle, par exemple avec un chiffrement symétrique ou asymétrique sur la base de clés 35 contenues dans le produit 2 et dans le dispositif 1. 3038411 B14213 - 15-R0-0072 12 Divers modes de réalisation ont été décrits. Diverses modifications apparaîtront à l'homme de l'art. En particulier, le choix de la valeur des seuils d'authentification dépend de la tenue en tension des composants du transpondeur et peut varier 5 d'une application à une autre. De plus, la mise en oeuvre pratique des modes de réalisation qui ont été décrits est à la portée de l'homme du métier en utilisant les indications fonctionnelles données ci-dessus et en utilisant des composants électroniques en eux-mêmes usuels. REVENDICATIONS1. Procédé de vérification de l'authenticité d'un produit (2) associé à un dispositif hôte (1), dans lequel : un premier circuit électronique (10) du dispositif initialise un circuit (3) de rétention de charges d'un deuxième circuit électronique (22) du produit ; et le premier circuit interprète une durée de décharge du circuit de rétention de charges pour décider de l'authenticité du produit. 2. Procédé selon la revendication 1, dans lequel le 10 premier circuit (10) compare une information représentative du temps, fournie par le circuit de rétention de charge (3) et la compare à une durée attendue. 3. Procédé selon la revendication 1, dans lequel le premier circuit (10) déclenche une évaluation de l'authenticité 15 en coupant l'alimentation du deuxième circuit (22). 4. Procédé selon la revendication 3, dans lequel la durée de l'interruption de l'alimentation du deuxième circuit (22) est aléatoire. 5. Procédé selon l'une quelconque des revendications 20 1 à 4, dans lequel : le premier circuit (10) communique (51) au deuxième circuit (22) une tension (VO) représentative d'un niveau de charges à stocker dans le circuit de rétention de charges (3) ; le deuxième circuit charge le circuit de rétention de 25 charges ; le premier circuit coupe l'alimentation (52) du deuxième circuit pendant une certaine durée (AT) à l'issue de laquelle le deuxième circuit mesure (54) la quantité de charges résiduelle dans le circuit de rétention de charges ; 30 le deuxième circuit communique (55) une information représentative de cette quantité résiduelle au premier circuit ; et le premier circuit compare (56) cette information à une valeur attendue. 3038411 B14213 - 15-R0-0072 14 6. Procédé selon l'une quelconque des revendications 1 à 4, dans lequel : le deuxième circuit (22) reçoit une valeur temporelle (Tl) pendant laquelle le deuxième circuit doit s'abstenir de 5 répondre au premier circuit (10) ; le deuxième circuit charge le circuit de rétention de charges (3) ; le premier circuit coupe l'alimentation (62) du deuxième circuit et initialise un compteur temporel ; le premier circuit rallume le deuxième circuit et l'interroge périodiquement jusqu'à ce qu'il réponde (63) ; et dès que le deuxième circuit répond, le premier circuit compare (66) la durée écoulé à une durée attendue, fonction des caractéristiques du circuit de rétention de charge du deuxième 15 circuit. 7. Procédé selon la revendication 6, dans lequel ladite valeur temporelle est communiquée au deuxième circuit (22) par le premier circuit (10). 8. Procédé selon la revendication 6, dans lequel 20 ladite valeur temporelle est communiquée au premier circuit (10) et au deuxième circuit (22) par un troisième circuit. 9. Système comportant au moins un dispositif hôte (1) et au moins un produit (2) associé à ce dispositif hôte, adaptés au procédé selon l'une quelconque des revendications 1 à 25 8. 10. Système selon la revendication 9, dans lequel le dispositif est une imprimante et le produit est une cartouche d'encre.