Brevet FR2716274A1 — publié le 19950818

L'invention met en oeuvre l'algorithme décrit ci-dessous: Soit le paramètre CS : CS est une suite d'un certain nombre de caractères soit numériques soit numériques et alphabétiques. Soient ensuite un nombre N de nombres entiers Il, 12, ... In. Soit ensuite le paramètre DI : DI est une suite d'un certain nombre de caractères soit numériques soit numériques et alphabétiques. L'application d'une transformation combinatoire ou algorithme faisant intervenir tous ces paramètres conduit à l'élaboration d'un nouveau paramètre DF ce paramètre DF a la même structure que CS et DI et est donc comme ces derniers constitué par la suite d'un certain nombre de caractères soit numériques soit numériques et alphabétiques. La description précise de l'algorithme ne présente pas d'intéret et ne sera donc pas faite. On peut maintenant définir de manière plus précise la signification de tous ces paramètres: CS sera une clé secrète connue du seul propriétaire de l'objet authentique. I1 I2 ... In seront appelés paramètres d'initialisation. Ce sont des entiers qui interviendront de manière significative dans l'algorithme ou transformation combinatoire mentionné plus haut. Leur rôle est de garantir le secret absolu de cet algorithme conformément aux indications données plus loin. DI sont les données initiales qui figureront sur l'objet à authentifier (par exemple un numéro d'identification de cet objet) DF sont les données calculées qui figureront également sur l'objet. DI, DF, et CS permettront l'authentification de l'objet. L'algorithme a deux fonctions - Fonction création d'objets authentiques. - Fonction reconnaissance d'objets. On peut expliciter ces deux fonctions de la manière qui suit: - Création d'objets authentiques : Cette fonction permet de créér autant d'objets que l'on l'on souhaitera tous associes à la clé secrète CS (cette clé secrète étant connue d'une seule personne,les objets ainsi créés pourront étre reconnus ensuite comme authentiques pour la personne détentrice de la clé on pourra dire aussi que la personne est le propriétaire légitime de l'objet) Il suffit d'associer à chaque objet un identificateur DI quelconque et de caiculer selon l'algorithme le DF associé. DI et DF figureront sur l'objet. Tous les objets créés selon cette procédure seront ensuite repérables comme devant étre associés à la clé CS. C'est ce qui peut s'appeler: création d'objets authentiques selon une procédure d'habilitation L'habilitation consistant à pouvoir utiliser l'algorithme (sans cependant le connaitre : nous allons voir comment) - Reconnaissance d'objets: Cette fonction permet au détenteur d'une clé secrète de prouver qu'un objet lui appartient c 'est à dire qu 'il lui a été remis après avoir été fabriqué selon la procédure d'habilitation décrite ci-dessus. La fonction de reconnaissance se déroule comme suit: Lecture sur I 'objet des données DI. Prise en compte de la clé secrète CS du présumé propriétaire de l'objet. Calcul selon l'algorithme du DF correspondant. Si le DF ainsi calculé est identique au DF figurant sur l'objet, l'objet est reconnu comme authentique,dans le cas contraire,il s'agira d'un objet falsifié ou voié. 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 puiqu'il s 'étend selon la présente invention à l'auteur de I 'algorithme lui même qui serait parfaitement incapable de créer un objet susceptible d'être reconnu comme authentique s'il ne dispose pas de l'habilitation. 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 ci-dessous. Ce boîtier inviolable contient essentiellement des moyens de traitement et des moyens de mémorisation de données secrètes. Il contient en outre des moyens de communication avec l'extérieur soit pour l'acquisition des données à identifier soit pour la communication avec d'autres systèmes informatiques. 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 I 'on tentait de découvrir. Un boîtier inviolable comprend essentiellement une mémoire morte (EPROM) et une mémoire vive volatile (RAM). Une mémoire morte (EPROM) ne peut être ni effaçée ni modifiée une fois installée a l'intérieur du boîtier inviolable. Une mémoire vive (RAM) ne fonctionne que si elle est maintenue sous tension électrique la disparition de l'alimentation électrique fait disparaitre les données contenues dans ce type de mémoire. La mémoire vive (RAM) contiendra l'algorithme et son secret La mémoire morte 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 morte ne sert plus à rien.La fonctionnalité du boîtier 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 cela. En aucun cas le contenu du programme ne sera donc accessible à quelqu' un qui tenterait de découvrir le mystère du boîtier. Le brevet no(décrit un dispositif de sûreté pour la protection de données confidentielles enregistrées comprenant un boîtier fermé qui contient des moyens à mémoire conçus pour enregistrer des données confidentielles et qui comprend une plaque supérieure , une plaque de base et plusieurs plaques latérales portant des segments conducteurs respectifs, et des moyens d'interconnexion agencés pour interconnecter électriquement les segments conducteurs afin de former un trajet conducteur dont l'interruption, , provoquée par une tentative de pénétration dans le boîtier, provoque l'effacement du contenu des moyens à mémoire.Dans ce dispositif, les segments conducteurs sont formés par un film conducteur épais. Le dispositif connu présente plusieurs inconvénients: Rien n'y est prévu contre une attaque chimique efficace la seule parade à ce type d'attaque,consistant d'après le brevet cité en l'utilisation pour la réalisation du corps du boîtier , d'une matière comme la céramique peu sensible à ce type d'attaque. Par contre, aucun moyen actif permettant de faire face à la mise au point d'un éventuel produit chimique capable d'attaquer la céramique n'est prévu. En outre, la technique retenue pour le boîtier objet du brevet cité conduit à un coût de réalisation élevé et ceci pour plusieurs raisons: - les segments conducteurs sont formés par un film conducteur épais. - Ces films conducteurs nécessitent des moyens d'interconnexion pour assurer la continuité de la conductivité électrique. Tout ceci fait appel à des techniques de réalisation coûteuses ce qui constitue un frein sérieux à la diffusion massive des boîtiers. De fait, dans l'état actuel des choses, ces boîtiers sont réservés à une utilisation entre banques pour des applications particulières. Ils sortent donc du cadre du présent brevet qui vise lui à une diffusion massive dans le public et à un coût de réalisation autorisant une grande diffusion bien entendu le degré de sûreté restant très élevé. Ainsi I' invention propose un dispositif de sûreté pour la protection de données confidentielles stockées comprenant des moyens de mémoire conçus pour stocker les 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 I intérieur à l' extérieur de la liasse et recouvrant entièrement l'espace entourant les composants électroniques du boîtier. La liasse de fils est noyée dans de la résine polyesther durcie. La La liasse de fils conducteurs assure la continuité de la conductivité électrique entre les composants électroniques internes du boîtier 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. On notera que le dispositif selon l'invention présente l'avantage d'une très grande simplicité de réalisation et qu'en outre, faisant appel à des moyens peu sophistiqués (fil de cuivre isolé noyé dans de la résine polyesther) il permettra la réalisation à un faible coût d' un nombre très important de boîtiers pourtant très sûrs. 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 boîtier de sûreté objet de la présente invention. - La figure 2 est une vue en perspective de la coupe selon le plan AA du boîtier de sûreté de la figure 1. - La figure 3 est un schéma synoptique simplifié des composants électroniques qui se trouvent à l 'intérieur du boîtier de sûreté. - les figure 4a, 4b et 4c sont une représentation du piège anti attaque chimique. - La figure 5 est un schéma synoptique simplifié des composants électroniques du boîtier initial dont le roule sera défini plus loin. En premier lieu, il est utile de se reporter aux figures 1 et 2 Le boîtier de sûreté y est représenté en perspective (figure 1) et en coupe selon le plan AA (figure 2). l 'une des faces du boîtier comporte un connecteur (11) lui même composé de plusieurs douilles (12) . Ces douilles sont reliées aux organes d'entrée sortie du boîtier notées (E/S) sur la figure 3. La liasse de fils conducteurs (20) relie de manière électriquement continue une source d'énergie extérieure (batterie à autonomie déterminée non représentée) à l'ensemble des composants électroniques internes du boîtier.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 à I 'intérieur du boîtier. 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 en 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 l'intermédiaire des organes d'entrée sortie (E/S) reliés par I 'intermédiaire du bus d'entrées sorties 33 au connecteur 11. L' un des composants électroniques du boîtier est constitué par une mémoire RAM . On rappelle que ce type de mémoire appelé aussi mémoire vive ne fonctionne que s'il est sous tension électrique. Toute rupture de cette alimentatin électrique pendant un temps même très court provoque la disparition du contenu de ce type de mémoire. Si quelqu'un tente de pénétrer à I 'intérieur du boîtier pour essayer d 'y lire le contenu de la mémoire RAM, en perçant ou en fracturant le boîtier 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 boîtier à 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 décourager et rendre impossible une tentative de ce type, l'un des composants internes du boîtier sera un détecteur de température basse noté (32) sur la figure 3. Ce détecteur de température basse a comme fonction de provoquer la rupture de l'alimentation électrique de la RAM dès que la température à l'intérieur du boîtier donc à proximité immédiate de la RAM tombe au dessous d'une certaine température par exemple -20 C. 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 boîtier 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 I '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 et rendre impossible une tentative de ce type on instzl;era le long des fils conducteurs de manière aléatoire les pieges 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 conducteur 42 et 43. Il 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 boîtier.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-là sur le parcours du conducteur avant de l'enrouler pour la constitution de la liasse entourant le boîtier. En cas de tentative de dissolution de la résine polyesther par un produit chimique adéquat pour tenter de pénétrer dans le boîtier un ou plusieurs pièges fonctionneront en ces 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 en cas de tentative de pénétration dans le boîtier en le brisant ou en le perçant de provoquer la disparition du contenu de la mémoire RAM. On décrira maintenant la manière dont seront fabriqués et diffusés les différents boîtiers.Cette procédure de fabrication et de diffusion doit permettre la garantie d'un secret absolu quel que soit le nombre de boîtiers diffusés dans le public. Une méthode de transmission de secret logiciel de boîtier inviolable à boîtier inviolable en dehors de toute intervention humaine à été retenue.Cette méthode met en oeuvre cinq types de boîtiers différents - Le boîtier initial qui ne servira qu 'une fois et sera détruit ensuite (Figure 5). - Un nombre limité et précis de boîtiers futurs pères de boîtiers générateurs d'objets authentiques. - Un nombre limité et précis de boîtiers futurs pères de boîtiers d'identification d'objets. - Un nombre non limité de boîtiers générateurs d'objets authentiques. Ces boîtiers ne seront cependant remis qu'a des organismes autorisés à créer des objets authentiques.(La possession d'un boîtier ou le droit de s'en servir correspond à l'habilitation citée plus haut). - Un nombre non limité de boîtiers d'identification d'objets authentiques. La première phase consiste en la réalisation du boîtier initial. Ce boîtier initial comprend: - Une mémoire morte (EPROM) programmée pour envoyer une partie du contenu de la RAM vers un autre boîtier prévu pour recevoir les donné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'objets authentiques dans une première zône et le logiciel de reconnaissance d'objets authentiques dans une seconde zône.(c 'est le même algorithme qui est utilisé dans les deux logiciels, seule la séquence de calcul et l'utilisation des moyens d'accès aux données extérieures diffèrent entre I 'un et l'autre) - Un bus permet aux programmes résidents en mémoire morte et vive de communiquer avec l'extérieur grace à des organes d'entrées sorties (E/S). Il est en outre réservé dans la RAM , la place nécessaire pour y inscrire N nombres entiers : ils accueilleront les paramètres d'initialisation définis ci-dessus. Comme déjà indiqué, ces paramètres interviennent de manière significative dans l'algorithme de fabrication et de reconnaissance d'objets authentiques. On fait alors tourner le générateur de nombres au hasard du boîtier initial et on stocke les résultats aux emplacements prévus de la RAM. Le boîtier initial contient alors l'algorithme et les N nombres qui le complètent. Il faut bien avoir à l'esprit que la connaissance de l'algorithme n'est pas suffisante pour éventuellement permettre la fabrication d'objets falsifiés : il est indispensable de connaitre aussi les paramètres d'initialisation or ces deniers sont enfermés dans le boitier inviolable et personne ne les connait. Ce boîtier a 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 boîtiers futurs futurs pères de boîtiers générateurs d'objets authentiques et d'un nombre limité et précis de boîtiers futurs pères de boîtiers d'identification d'objets. L'initialisation d'un boîtier consiste à avoir un boîtier source qui transmet le contenu de sa mémoire vive à un boîtier destination. Cette opération se fait en connectant les deux boîtiers qui communiquent alors grâce a un programme situé dans leur mémoire morte ( téléchargement de programme ). L 'initialisation d'un boîtier est le seul moment dans tout le dispositif où il est éventuellement possible de venir à bout du secret de l'algorithme et des ses paramètres d'initialisation. Ce serait un travail considérable puisqu'il consisterait à brancher en parallèle pendant le transfert un appareil capable de capter et de stocker les signaux pour un décryptage ultérieur, néanmoins celà est possible en théorie. C'est pourqu'oi cette opération d'initialisation de boîtiers sera à placer sous haute surveillance.C'est pour cette raison que les boîtiers futurs pères de boîtiers générateurs d'objets authentiques et les boîtier futurs pères de boîtiers d'identification seront fabriqués en un nombre limité et précis d'exemplaires. La disparition accidentelle et simultanée des tous les boîtiers générateurs 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 distincts et sûrs. Il faut remarquer que ce type de risque ne concerne que les boîtiers pères des deux types (le boîtier initial ne compte pas puisqu'il est détruit). Les autres boîtiers c'est à dire les boîtiers générateurs d'objets authentiques et les boîtiers d'identification ( 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 communiquent avec l'extérieur que pour recevoir ou délivrer des données. En aucun cas le contenu du boîtier ne sera accessible de l'extérieur. REVENDICATIONS 1 procédé de reconnaissance d'objets authentiques. Les objets à reconnaître comportent un code préalablement déterminé à partir d'une clé secrète appartenant au propriétaire de l'objet. 2. L'algorithme de fabrication et de reconnaissance d'objets est un logiciel informatique enfermé dans un boîtier inviolable. 3. Le boîtier inviolable comporte une mémoire RAM constamment sous tension dans laquelle se trouve le logiciel secret.Cette mémoire RAM est enveloppée dans une liasse de fils conducteurs servant à l'alimenter électriquement et couvrant tout l'espace l'entourant. Cette liasse est noyée dans de la résine polyesther. 4. Un boîtier de ce type doit être considéré comme un module assurant la fonction sécurité, mais pouvant si on le désire s'insérer dans un ensemble informatique plus vaste (utilisation des organes d'entrée sortie pour la communication ) 5. procédé de multiplication à l'infini de tels boîtiers aussi bien pour la fabrication d'objets que pour la reconnaissance de ces derniers tout en gardant I ' assurance absolue du secret de leur logiciel.