Brevet FR2513408A1 — publié le 19830325

SUPPORT D'INFORMATIONS SECRETES PROTEGEES L'invention concerne un support d'informations secrètes protégées permettant la diffusion de données par transport physique d'un objet. Ce type de support peut se présenter sous la forme de badge ou de carte munis soit de pistes magnétiques lisibles par un dispositif extérieur, soit d'un microprocesseur et de circuits associés dont l'état statique constitue le message. Dans tous les cas, la lecture des informations par des moyens extérieurs de lecture peut être subordonnée à une procédure d'authentification par comparaison d'une séquence de code émise par l'utilisateur avec une séquence mise en mémoire sur le support. Mais il reste possible à un agresseur, possédant des moyens d'essais systématiques, d'intervenir directement sur le support, de lire les signaux du message, ou même de modifier celui-ci dans le cas de cartes à pistes magnétiques. La présente invention a pour objet un support d'informations comportant des moyens d'autodestruction qui, en cas de tentatives de lecture ou d'écriture frauduleuses, rendent rexploitation impossible et effacent le message sur le support, ce dispositif évitant ainsi les inconvénients des dispositifs antérieurs mentionnés ci-dessus. Selon l'invention, un support d'informations secrètes protégées comportant un circuit logique d'authenfication des utilisateurs et de transfert des informations en cas d'authentification, est principalement caractérisé en ce que le circuit logique comporte une mémoire volatile dans laquelle sont stockées les informations secrètes, cette mémoire étant reliée par un circuit de coupure à une source de sauvegarde équipant le support, un second circuit de coupure reliant l'alimentation générale du support à des moyens d'exploitation extérieurs, le circuit logique comportant en outre des moyens de test, détectant les tentatives d'usage non conforme subies par le support, et des moyens d'activation Irréversible des circuits de coupure liés aux rnoyens de test, qui entrassent l'effacement des informations stockées dans la mémoire. L'invention sera mieux comprise et d'autres caractéristiques appa raîttont à raide de la description qui suit en référence aux figures annexées. - La figure 1 représente le schéma synoptique d'un support selon l'invention. - Les figures 2 et 3 représentent forganigramme du fonctionnement en exploitation du circuit logique assurant l'authentification des utilisateurs et le transfert des informations. Le schéma synoptique de la figure 1 se compose du circuit logique d'authentification I, d'un connecteur d'exploitation 2, permettant la connexion du support d'informations à des moyens d'exploitation extérieurs, d'un second connecteur 3 protégé par scellement et non utilisable en exploitation, d'un circuit de coupure 4 reliant la borne 5 d'alimentation du circuit logique 1 à une tension continue appliquée en exploitation à la borne 6 du connecteur 2, d'un second circuit de coupure 7 reliant une pile 8 au circuit logique 1 par la liaison 20.Le circuit logique I est composé d'un microprocesseur 9, d'une mémoire morte programmable 10, dun élément interface entrées-sorties 11, d'une mémoire vive statique 12, dont la sauvegarde des informations stockées est assurée par son branchement via la liaison 20 et le circuit de coupure 7 à la pile 8, d'un dispositif de remise à zéro 13 du contenu logique d'éléments de la mémoire 12 et d'un dispositif dit "de destruction" 14 relié aux circuits de coupure 4 et 7 par la liaison 19. Ces éléments sont reliés entre eux classiquement par un bus de données 15 et un bus d'adresses 16. Le circuit logique 1 est relié au connecteur d'exploitation par la liaison 17, qui conduit au microprocesseur les signaux d'une horloge extérieure nécessaire à son fonctionnement, et par la liaison 18 qui permet à rinterface entrées sorties d'être relié aux moyens d'exploitation. La mémoire morte 10 et le dispositif de remise à zéro 13 sont reliés au connecteur scellé 3 par les liaisons 21, 21a et 22 pour un conditionnement d'initialisation du support en atelier. Les liaisons 21 et 21 a permettent, en atelier, avant scellement du connecteur 3, l'accès au chargement définitif de la mémoire morte 10.Ce chargement s'effectue en relation avec le microprocesseur 9 et le dispositif entrées sorties 11, les liaisons 21 et 21 a supportant les tensions nécessaires à écriture sur la -mémoire 10, ces tensions n'étant pas supportées par le reste du dispositif. Le contenu des mémoires 10 et 12 sera explicité lors de la description de rorganigramme de déroulement du programme du microprocesseur. Le dispositif d'interface 1 1 se compose d'un coupleur synchrone associé à un convertisseur parallèle série. I1 est prévu pour fonctionner en mode écriture lecture vu du microprocesseur. Le dispositif de destruction 14 est une bascule bistable activée sur ordre du microprocesseur pour des conditions fixées dans le programme. la présence d'une tension positive à la sortie 19, est utilisée pour saturer dans chacun des circuits de coupure 4 et 7 un transistor qui court-circuite, en aval d'un fusible, la source de tension qui transite à travers ces circuits.Ce courtcircuit provoque la destruction irréversible de ces fusibles ce qui rend le support inutilisable et efface le contenu de la mémoire volatile 12. Le dispositif de remise à zéro 13 est une mémoire du programme mais sa lecture est subordonnée à la présence d'un tension positive sur le contact scellé 22. La fonction du programme qu'il définit n'est donc pas utilisable en exploitation normale. La protection des informations secrètes sur ce support est réalisée en subordonnant la lecture ou récriture des informations secrètes à des tests de conformité entre les codes inscrits sur le support et des codes proposés par Pexploitant. Cette conformité agit à la manière d'une clef pour permettre Accès à la séquence suivante dun programme contenu dans les mémoires associées au microprocesseur. Une non conformité constatée est interprétée comme une tentative d'exploitation frauduleuse et déclenche, suivant le code considéré, différentes sanctions visant à protéger rinviolabilité des informations tant pour une lecture que pour une modificaison frauduleuses. Dans la présente description deux opérations d'exploitation sont à distinguer. La première est une opération de lecture des informations, la seconde est une opération de service comportant plusieurs fonctions dont principalement l'écriture des informations. Le code complet pour une opération est caractérisé par plusieurs codes partiels définis de la manière suivante. Un code appelé préfixe, identifie Popération à réaliser, lecture ou service. Un code d'authentification, authentifie opérateur pour ropera- tion identifiée. Un code, appelé suffixe, identifie la fonction à exécuter en opération service. L'organigramme des figures 2 et 3 permet de suivre le déroulement du programme stocké dans la mémoire 10. L'apparition d'une tension d'alimentation sur la liaison 6 du connecteur 2 lors du branchement du support à l'organe d'exploitation, déclenche la phase d'initialisation 23 de l'organigramme. Cette initialisation se termine sur la position d'attente 24. Cettè position, comme toutes les positions d'attente de rorganigramme, est signalée à l'opérateur exploitant par la transmission à rorgane d'exploitation d'un nombre code identifiant la position d'attente. L'introduction d'un code préfixe déclenche le test 25 qui vérifie la conformité de ce code à un code de référence programmé dans la mémoire 10 pour permettre l'accès aux opérations de service. Un résultat positif à ce test aiguille le programme, par la liaison A, vers l'entrée de l'organigramme de la figure 3. Une réponse négative déclenche le test 26 qui vérifie la conformité du code introduit à un second code programme, dans la mémoire 10, pour permettre raccès à l'opération de lecture. La non conformité est considérée comme une agression frauduleuse mais ses conséquences étant négligeables la sanction consiste en un simple renvoi à la position d'attente 24 où un nouveau préfixe peut être proposé. Une réponse positive au test 26 déclenche le test 27. Ce test se comporte, dans l'organigramme, comme un verrou dont le fonctionnement sera expliqué dans la suite de la description. Ce verrou étant supposé ouvert, le programme se place à la position d'attente 28. L'introduction d'un code dauthentification déclenche le test 29 qui vérifie la conformité de ce code à un code de lecture programmé dans la mémoire 12. Le fait d'utiliser la mémoire volatile 12 donne la possibilité de changer ce code pour des raisons d'exploitation par exemple. La conformité constatée authentifie l'opérateur et déclenche, sur la position 30 de l'organigramme, le transfert des informations secrètes, stockées dans la mémoire 12, à l'organe d'exploitation extérieurs. La fin du transfert constitue la fin de l'opération de lecture et renvoie à la position d'attente 24 pour une nouvelle exploitation éventuelle du support La non conformité constatée au test 29 est considérée comme une agression frauduleuse bénigne. Elle entraîne une sanction concrétisée par le passage du programme à l'opérateur 31, qui, à chaque non conformité constatée au test 29, incrémente d'une unité le contenu K d'un élément de la mémoire 12. Cet opérateur constitue un compteur des agressions bénignes. Il renvoie ensuite à la position d'attente 24. Le test 27, qui compare le contenu K de cet élément de mémoire à un nombre préprogrammé N, condamne l'accès de la lecture des informations si le nombre des agressions bénignes dépasse la valeur N et renvoie à la position d'attente 24. Cette combinaison donne à l'operaieur autorisé le droit à l'erreur mais interdit la possibilité de recherche systématique du code d'authenti- fication de opération lecture. Lorsque le seuil de 'irrouiliage du test 27 est attente la lecture des informations est interdite même à un opérateur en possession du code de lecture programmé mais l'accès aux opérations de service reste possible. Cet accès est réalisé par une réponse positive au test 25 qui renvoie le programme par la liaison A à la position d'attente 32 de l'organigramme de la figure 3 qui représente le déroulement de l'opération de service. L'introduction bun code d'authentification déclenche le test 33 qui vérifie sa conformité à un code de service programmé dans la mémoire 10. La conformité constatée, authentifie opérateur et fait passer le programme à la position d'attente 34.La non conformité est considérée comme une agression grave. Elle entraÎne rincrémentation à la position 35 d'une mémoire compteur dont le contenu I représente le nombre dagressions graves subies par le support. Ce nombre I est comparé à la position test 36 à un nombre préprogrammé M. Si le nombre I est inférieur au nombre M le programme renvoie à la position d'attente 32 où un nouveau code peut être proposé. Si le nombre I est supérieur à M le microprocesseur active, à la position 37, le dispositif de destruction 14 et par voie de conséquence, les dispositifs de coupure 4 et 7. Ceci constitue la sanction suprême, le support étant rendu inutilisable et les informations secrètes étant effacées.Comme précédemment, le droit à l'erreur pour un opérateur autorisé est permis, mais la recherche systématique du code de service est interdlte. Si le programme a atteint la position d'attente 34, l'introduction d'un code suffixe entraîne, par un procédé analogue à celui décrit pour l'identification du préfixe, la suite des tests de conformité 38, 39, 40, 41, 46, ce qui permet l'aiguillage du programme vers la fonction définie par le suffixe introduit, à savoir, la fonction écriture 42 pour le chargement des informations secrètes, la fonction 43 pour une modification éventuelle du code de lecture, la fonction 44 pour juger le niveau d'agression du support, la fonction 45, pour remettre à zéro la mémoire stockant le nombre K des agressions bénignes.Cette dernière fonction permet de débloquer le verrou; que constitue le test 27 de la figure 2 et d'ouvrir l'accès à la lecture des informations secrètes. La fin d'exécution d'une fonction de service renvoie par la liaison repérée B sur la figure 3 à la position d'attente 24 de la figure 2. La fonction 47 qui consiste à remettre à zéro le contenu I du compteur d'agressions graves est déterminée par l'adressage de la mémoire RAZ 13 du schéma synoptique. Son exécution n'est donc possible qu'en présence d'une tension positive sur la liaison 22 correspondant à l'entrée de validation 48 de rorganigramme. Cette fonction est donc interdite en exploitation normale. Cette configuration du programme permet à Pexploitation du support, l'exécution des fonctions de lecture ou de service par des opérateurs différents n'ayant que la connaissance du code strictement nécessaire à leur besoin. L'invention n'est pas limitée au mode de réalisation précisément décrit et réalisé. En particulier, le nombre d'opérations possibles, le nombre de codes, ainsi que la nature des sanctions de protection peuvent subir des variantes adaptées aux problèmes d'exploitation du support. La sécurité d'utilisation d'un tel support bien que très élevée dans son principe peut être néanmoins renforcée par des procédures de codage ou d'authentification contenues dans le message secret lui-même. REVENDICATIONS 1. Support d'informations secrètes protégées comportant un circuit logique d'authentification des utilisateurs et de transfert des informations en cas d'authentification, caractérisé en ce que le circuit logique comporte une mémoire volatile (12) dans laquelle sont stockées les informations secrètes, cette mémoire étant reliée, par un circuit de coupure (7), à une source de sauvegarde (8) équipant le support, un second circuit de coupure (4) reliant l'alimentation générale du support à des moyens d'exploitation extérieurs, le circuit logique comportant en outre des moyens de test, détectant les tentatives d'usage non conforme subies par le support, et des moyens d'activation irréversible des circuits de coupure, liés aux moyens de test, qui entraînent l'effacement des informations stockées dans la mémoire. 2. Support d'informations secrètes selon la revendication 1, caractérisé en ce que le circuit d'authentification (1) comporte un microprt cesseur (9) dont le programme permet l'exécution d'opérations multiples, particulièrement de lecture et d'écriture des informations, l'exécution de ces opérations étant subordonnée à l'introduction d'un code spécifique donnant lieu à un test d'authentification également spécifique, test détectant l'introduction d'un code erroné considéré comme une tentative d'usage non conforme et pouvant déclencher soit des sanctions intermédiaires par le blocage permanent de certaines opérations, soit l'activation des circuits de coupure, selon ie degré de confidence de l'opération considérée. 3. Support dinformations secrètes selon la revendication 2, caractérisé en ce que. les moyens de test comportent un dispositif programmé qui compte les introductions de codes erronés puis remet le support en état d'attente d'un nouveau code, les sanctions programmées n'intervenant qu'à partir d'un nombre prédéterminé d'introductions erronées, ceci donnant un droit à l'erreur à l'opérateur autorise, mais interdisant des essais systématiques frauduleux.