Brevet FR2716275A1 — publié le 19950818

L'invention concerne un dispositif permettant de vérifier si quelqu'un qui prétend etre le propnétaire d'un objet l'est effectivement ou non. Le principe est le suivant : lorsque l'on remet un objet à quelqu'un qui en devient ainsi le propriétaire légitime, on marque l'objet d'un identificateur associé à une dé secrète et on communique cette dernière de manière confidentielle au propriétaire de l'objet. A tout moment on peut demander a quelqu'un qui prétend être le propriétaire d'un objet d'en fournir la preuve en donnant la dé secrète : si la dé secrète communiquée est bien associée à l'identificateur lu sur l'otjet, on en déduira que la personne connait bien la dé secrète associée à l'identificateur et qu'ainsi elle en est le propriétaire légitime. Dans le cas contraire,il y a deux possibilités : ou bien la personne ne se sonnent plus de la dé secrète ou bien l'objet à été volé. La correspondance entre identificateur et dé secrète fonctionne comme décrit maintenant: Soit le paramètre CS : CS est la suite d'un certain nombre de caractères soit numénques soit numériques et alphabétiques. Soient ensuite un nombre n de nombres entiers :11,12... In Soit ensuite le paramètre Dl: Dl est la suite d'un certain nombre de caractères soit numériques soit numériques et alphabétiques. L'application d'une transformation combinatoire faisant intervenir tous ces paramètres conduit à l'élaboration d'un nouveau paramètre que nous appellerons DF. DF a la même structure que CS et Dl et est donc comme ces derniers constitué par la suite d'un certain nombre de caractères soit numériques soit numériques et aphabétiques. La description précise de la transformation combinatoire ne présente aucun intéret et ne sera donc pas faite. On peut maintenant définir de manière plus précise la signification des tous ces paramètres. CS sera une dé secrète connue du seul propriétaire de l'objet. 11 12 .. In seront appelés paramètres d'initialisation. Ce sont des entiers qui interviendront de manière significative dans la transformation combinatoire mentionnée plus haut. Leur rôle exact sera précisé plus loin. Dl sont les données initiales qui figureront sur l'objet à authentifier. DF sont les données calculées qui figureront également sur l'objet. Dl , DF et CS permetront l'authentification de l'objet. La transformation combinatoire ou algorithme fonctionne de deux manières différentes: A: Création d'identificateurs associés à une dé secrète: A partir de Dl et de CS on calcule DF grace à l'algorithme. Dl et DF constituent l'identificateur et figurent sur l'objet. CS est communiquée confidentiellement au propriétaire de l'objet. B : Reconnaissance d'objets: On lit Dl et DF figurant sur l'objet et on demande au propriétaire présumé de l'objet de donner CS. on déroule l'algorithme : si le DF calculé correspond au DF lu le controle est bon sinon c'est que la dé secrète ne correspond pas : L'objet a donc été volé. Bien entendu une exploitation dans la pratique de ce procédé ne peut être envisagée que si l'algorithme est susceptible d'un secret absolu. La suite permet de montrer comment ceci sera réalisé: on notera en particulier le caractère absolu de ce secret puisqu'il sétend selon la présente invention à l'auteur de l'algorithme lui même qui serait bien incapable de se lancer dans une falsification. La suite permet de montrer comment tout ceci sera réalisé: L'algorithme sera un logiciel de traitement de données,le secret de ce logiciel sera assuré grace à l'utilisation du boîtier inviolable décrit å-dessous. Ce boîtier inviolable contient essentiellement des moyens de mémorisation et des moyens de traitement de données secrètes. II contient en outre des moyens de communication avec l'extérieur pour l'acquisition des données à identifier. Si on tente d'accéder à ces moyens de mémorisation et de traitement en perçant le boîtier ou en le brisant ou en l'attaquant chimiquement, il en résulte une remise à zéro des mémoires et par conséquent la disparition de l'algorithme contenu et du secret que l'on tentait de découvrir. Un boitier inviolable comprend essentiellement une mémoire morte (EPROM) et une mémoire vive volatile (RAM) Une mémoire morte EPROM ne peut être ni effacée ni modifiée une fois installée à l'intérieur du boitier inviolable. Une mémoire vive (RAM) ne fonctionne que si elle est maintenue sous tension électrique la disparition de l'alimentation électrique fait dsparaitre les données contenues dans ce type de mémoire. La mémoire RAM contiendra l'algorithme et son secret La mémoire EPROM a uniquement pour rôle de permettre le chargement initial de l'algorithme et des données dans la mémoire RAM. Une fois cette opération terminée, la mémoire EPROM ne sert plus à rien. La fonctionnalité du boitier est assurée par le programme qui se déroule dans la mémoire RAM et qui communique avec l'extérieur pour traiter les données et uniquement pour celà. En aucun cas le contenu du programme ne sera donc accessible à quelqu'un qui tenterait de découvrir le secret du boitier. Ainsi l'invention propose un dispositif de sureté pour la protection de données confidentielles stockées comprenant des moyens de mémoire conçus pour stocker ces données et des moyens de traitement conçus pour communiquer avec l'extérieur. L'ensemble de ces moyens est enfermé dans un réseau de fils conducteurs en cuivre isolés formant une liasse. Cette liasse est constituée d'un nombre très élevé de spires à enroulement aléatoire et effectuant plusieurs aller et retour de l'intérieur à l'extérieur de la liasse et recouvrant entièrement l'espace entourant les composants électroniques du boitier. La liasse de fils est noyée dans de la résine polyesther durcie. La liasse de fils conducteurs assure la continuité de la conductivité électrique entre les composants électroniques internes du boitier et une source d'alimentation externe. Une interruption de cette conductivité provoquée par une tentative d'accession aux composants électroniques internes provoque l'effacement du contenu des moyens de mémoire. L'invention se comprendra mieux en lisant la description qui va suivre et en se référant aux dessins annexés sur lesquels: - La figure 1 est une vue en perspective du boitier de sureté objet de la présente invention - La figure 2 est une vue en perspective de la coupe selon le plan AA du boitier de sureté de la figure 1 - La fi gure 3 est un schéma synoptique simplifié des composants électroniques qui se trouvent à l'intérieur du boitier. - Les figures 4a , 4b et 4c sont une représentation du piège anti - attaque chimique. En premier lieu,il est utile de se reporter aux figures I et 2 .Le boitier de sécurité y est représenté en perspective (figure 1) et en coupe selon le plan AA (figure 2). L'une des faces du boitier comporte un connecteur (11) lui même composé de plusieurs douilles (12). Ces douilles sont reliées aux organes d'entrée sortie du boitier notées (ElS) (33) sur la figwe 3. La liasse de fils conducteurs (20) relie de manière électriquement continue une source d'énergie extérieure (batterie non représentée) à l'ensemble des composants electroniques intemes du boitier. Cette liasse est entièrement noyée dans de la résine polyesther opaque (21). Il faut maintenant se reporter à la figure 3; La figure 3 est un schéma synoptique simplifié des composants électroniques qui se trouvent à l'intérieur du boitier. Ces composants se composent essentiellement de: - Une mémoire morte (EPROM) (35) figure 3. - Une mémoire vive (RAM) (31) figure 3. - Un microprocesseur de traitement (37) figure 3. - RAM et microprocesseur sont maintenus sous tension par l'alimentation (34) figure 3 aussi représentée figure 2 (20). - Un bus (36) permet de communiquer avec l'extérieur par lintermédiaire des organes d'entrée sortie (33) au connecteur (11). L'un des composants électroniques du boitier est constitué par une mémoire RAM. On rappelle que ce type de mémoire appelée aussi mémoire vive ne fonctionne que s'il est sous tension électrique.Toute rupture de cette alimentation électrique même pendant un temps très court provoque la disparition du contenu de ce type de mémoire. Si quelqu'un tente de pénétrer à l'intérieur du boitier pour essayer d'y lire le contenu de la mémoire RAM en perçant ou en fracturant ce boitier,il provoquera de manière certaine soit une rupture de la continuité électrique dans la liasse de fils (20) soit un court circuit. Dans les deux cas,le contenu de la mémoire RAM disparait Un autre moyen de tenter de lire le contenu de la mémoire RAM consisterait à figer le contenu de cette dernière en congelant le boitier à très basse température. On sait que dans ce cas , le contenu de la mémoire RAM est pour ainsi dire figé et un décryptage peut alors s'en suivre. Pour rendre impossible une tentative de ce type,l'un des composants internes du boitier sera un détecteur de basse température noté (32) sur la figure 3. Ce détecteur de basse température a comme fonction de provoquer la rupture de l'alimentation électrique de la RAM dès que la température à l'intérieur du boitier et donc à proximité immédiate de la RAM tombe au dessous d'une certaine température par exemple 200 C. A cette température, le contenu de la RAM n'est pas encore figé puisque ce phénomène intervient à une température beaucoup plus basse. Un boitier placé dans ces conditions et donc en danger d'être violé verra le contenu de sa mémoire RAM disparaitre avant que la tentative n'aboutisse à son terme. Un dernier type d'agression peut être imaginé : quelqu'un peut en effet tenter de dissoudre la résine polyesther qui emprisonne la liasse de fils de cuivre. Dans ce cas,en déliassant ensuite avec précautions et en tentant de démêler les allées et retour de l'intérieur à l'extérieur de la liasse on peut imaginer que l'on puisse enfin accéder à la mémoire RAM. Pour décourager une tentative de ce type, on installera le long de ces fils de manière aléatoire les pièges anti attaque chimique représentés sur les figures 4a, 4b et 4c. Ces pièges anti attaque chimique fonctionnent de la manière suivante: Un élément (41) conducteur et élastique a au repos la forme indiquée sur la figure 4a. Cet élément est forcé dans la position représentée sur la figure 4b pour établir le contact entre les conducteurs 42 et 43. II est maintenu dans cette position par une faible quantité de résine polyesther (44) .Cette résine aura une composition rigoureusement identique à celle qui compose le corps du boitier.Une fois la résine solidifiée le contact électrique est assuré entre les conducteurs (42) et (43). On dissémine de manière aléatoire plusieurs éléments comme ceux sur le parcours du conducteur avant de l'enrouler pour la constitution de la liasse entourant le boitier. En cas de tentative de dissolution de la résine polyester par un produit chimique adéquat pour tenter de pénétrer dans le boitier un ou plusieus pièges fonctionneront en ce sens que l'élément (41) qui ne sera plus enserré par la résine reprendra sa position initiale et le contact électrique sera rompu. Ceci a pour effet comme dans le cas de tentative de pénétration dans le boitier en le perçant ou en le brisant de provoquer la disparition du contenu de la mémoire RAM. Les boitiers comme ceux représentés figure 3 seront largement diffusés dans le public. II y en aura de deux types: Les boitiers de type A c'est à dire ceux dont la fonction est de créer des identificateurs associés à une dé secrète : grace aux organes d'entrée sortie (33) ces boitiers lisent un Dl et un CS.Grace à l'algorithme qui se trouve dans la RAM (31) il délivrent en retour un DF grace aux organes d'entrée sortie (33) Dl et DF est l'identificateur associé à CS. Les boitiers de type B c'est à dire les boitiers dont la fonction est de vérifier si un identificateur correspond à une dé secrète ou non: grace aux organes d'entrée sortie (33) ces boitiers lisent un Dl et un DF figurant sur un objet et ils lisent en outre la dé secrète CS. De manière interne ,l'algorithme figurant dans la mémoire RAM (31) calcule le DF associé au Dl et au CS lus et le compare au DF lu. L'égalité ou non entre les deux DF (le calculé et le lu) correspondant aux cas d'objet volé ou non est signalé grace aux organes d'entrée sortie (33) A l'issue de leur fabrication, les boitiers sont inertes et incapables de fonctionner: ils ne deviennent opérationnels qu'après une procédure d'initialisation qui consiste à charger grace à un programme figurant dans la mémoire EPROM (35) la mémoire RAM (31) soit avec le logiciel de boitier de type A soit avec le logiciel de boitier de type B. Les programmes à charger figurent eux mêmes dans des boitiers inviolables comme décrit plus loin. A partir de ce stade les deux types de boitiers pourront fonctionner On décrira maintenant la manière dont seront fabriqués, initialisés et diffusés les boitiers de différents types.Cette procédure de fabrication,d'initialîsation et de diffusion doit permettre la garantie d'un secret absolu quel que soit le nombre de boitiers diffusés dans la public. Une méthode de transmission du secret logiciel de boîtier inviolable à boitier inviolable en dehors de toute intervention humaine a été retenue (voir figure 6) . Cette méthode met en oeuvre cinq types de boitiers différents: - Le boitier initial qui ne servira qu'une fois et qui sera détruit ensuite (61). ensuite: selon la filière (A) - Un nombre limité et précis de boîtiers futurs pères de boîtiers de génération d'identificateurs (62) - Un nombre non limité de boitiers générateurs d'identificateurs : ces boitiers ne seront cependant remis qu'à des organismes autorisés (64) selon la filière (B) - Un nombre limité et précis de boitiers futurs pères de boitiers de reconnaissance d'identificateurs (63) - Un nombre non limité de boitiers de reconnaissance d'îderficateurs (65) La première phase consiste en la réalisation du boitier initial (voir figure 6) Ce boitier initial comprend: - Une mémoire morte (EPROM) programmée pour envoyer une partie du contenu de la RAM vers un autre boitier prévu pour recevoir les dorées correspondantes. - Un générateur de nombres au hasard prévu pour être capable de générer N nombres au hasard (39) - Une mémoire vive (RAM) contenant dans son état initial le logiciel de création d'identificateurs dans une première zone et le logiciel de reconnaissance d'identificateurs dans une deuxième zone. (c'est le même algorithme qui est utilisé dans les deux cas: seule la séquence de calcul et l'utilisation des moyens d'entée sortie diffèrent entre l'un et l'autre comme celà a été décrit ci-dessus). - Un bus permet aux programmes résidents en mémoire morte et vive de communiquer avec l'extérieur grace à des organes d'entée sortie (US) II est en outre réservé dans la RAM la place pour y inscrire N nombres entiers : ils accueilleront les N paramètres d'initialisation décrits ci-dessus. Comme déja indiqué,ces paramètres interviennent de manière significative dans l'algorithme de fabrication et de reconnaissance d'identificateurs. On fait alors toumer le générateur de nombres au hasard du boitier initial et on stocke les résultats aux emplacements prévus de la RAM Le boitier initial contient alors l'algorithme et les N nombres qui le complètent II faut bien avoir à l'esprit que la connaissance de l'algorithme n'est pas suffisante pour éventuellement permettre une falsification : il est indispensable de coroaitre aussi les paramètres d'initialisation or ces demiers sont enfermés dans le boitier inviolable et personne ne les connait. Ce boitier va maintenant réaliser la deuxième fonction qui lui incombe avant sa destruction. Cette deuxième fonction consiste en l'initialisation d'un nombre limité et précis de boitiers futurs pères de boitiers de génération d'identificateurs (62) et d'un nombre limité et précis de boitiers futurs pères de boitiers de reconnaissance d'identificateurs (63) L'initialisation d'un boitier consiste à avoir un boitier source qui transmet le contenu de sa mémoire vive à un boitier destination. Cette opération se fait en connectant les deux boitiers qui communiquent alors grace à un programme situé dans leur mémoire morte (téléchargement de programme). La disparition accidentelle et simultanée de tous les boîtiers (62) et (63) se traduirait par la perte irrémédiable du secret qu'ils contenaient: il sera donc sage d'en créer un nombre convenable et surtout d'en stocker un certain nombre dans des lieux surs (66) et (67). II faut remarquer que cette observation ne concerne que les boitiers pères des deux types: Le boitier initial ne compte pas puisqu'il est détruit les autres boitiers c'est à dire les boitiers générateurs d'identificateurs et les boitiers de reconnaissance d'identificateurs (ceux qui en définitive seront dans les mains du public) ne sont pas concernés : en effet une fois initialisés, ces derniers ne communiqueront avec l'extérieur que pour recevoir ou délivrer des données et en aucun cas leu contenu ne sera accessible de l'extérieur. Une fois tout ceci mis en place: Tout objet portant un identificateur généré par un boîtier de la filiére (A) sera reconnu comme authentique par un boitier de la filère (B).(voir figure 6) REVENDICATIONS 1 ) Système de reconnaissance d'objets authentiques ou falsifiés caracténsé en ce qu'il comporte un boitier de génération d'identificateur associé à un objet,et un boitier de reconnaissance d'identificateur associé à l'objet, ces boitiers comportant une mémoire vive ou RAM de programme (31) permettant de générerireconnaitre un identificateur par calcul à partir d'une dé secrète et d'un numéro d'idenbification,une mémoire morte EEPROM (35) d'initialisation et de chargement du contenu d'une autre mémoire RAM externe dans le RAM de programme (31), un microprocesseur de traitement (37) et un bus de communication 2) Système de reconnaissance d'objets authentiques ou falsifiés selon la revendication 1 caractérisé en ce que la mémoire RAM de programme (31) est enveloppée dans une liasse de fils conducteurs d'alimentation couvrant tout l'espace l'entourant et est noyée dans de la résine polyester. 3) Système sécurisé d'initialisation de boitiers destinés à un système de reconnaissance d'objets authentiques ou falsifiés selon la revendication 1 à partir d'un boitier initial caractérisé en ce que le boitier initial comporte une mémoire de programme ou RAM (31) un générateur de nombre aléatoire (39) destiné à compléter à l'aide de paramètresd'initialisation aléatoires le programme de la mémoire RAM (31) une mémoire morte EEPROM (35) programmée pour envoyer une partie du contenu de la mémoire RAM vers un boitier de génération ou de reconnaissance d'identificateur associé à objet, un microprocessur de traitement (37) et un bus de communication.