Brevet FR2588396A1 — publié le 19870410

DISPOSITIF ELECTRONIQUE DE PROTECTION D'UN ACCES, NOTAMMENT A UN LOGICIEL ET CLE POUR UN TEL DISPOSITIF L'invention est relative a un dispositif électronique de protection d'un acces, par introduction d'un code extérieur, le dispositif comprenant une serrure et une clé comportant chacune des moyens de calcul capables d'effectuer des opérations arithmétiques logiques. Après introduction du sus-dit code extérieur, les moyens de calcul de la serrure effectuent un traitement sur le code introduit de l'extérieur et un code contenu par la serrure. Les moyens de calcul sont propres a autoriser l'accès lorsque les résultats des traitements effectués par les moyens de calcul de la clé et par les moyens de calcul de la serrure sont en cohérence. Ils maintiennent l'accès fermé lorsque cette cohérence n'existe pas. L'invention concerne plus particulièrement, mais non exclusivement, les dispositifs de protection de logiciels, d'accès å des bases ou banques de données ou analogues. D'une manière générale, d'une part, les auteurs de logiciels sont confrontés au problème de la duplication illicite de logiciels, sur support magnétique. Les systèmes de protection existant actuellement visent soit à limiter le nombre de copies autorisées soit à empêcher l'emploi de copies non autorisées. Ces systèmes gênent l'utilisateur car il ne peut pas effectuer le nombre de copies de sauvegarde qu'il souhaite. Il doit laisser la disquette originale dans un des lecteurs du micro-ordinateur s'il utilise un disque dur ou est obligé d'immobiliser un port d'entrée/sortie pour pouvoir utiliser le logiciel. De plus, il existe sur le marché des logiciels vendus librement qui permettent d'effectuer des copies de tels logiciels protégés. La duplication de tels logiciels protégés appelle pour l'éditeur de logiciels la mise en oeuvre de moyens de duplication non standard.Enfin, les systèmes de protection actuels ne permettent pas de contrôler le nombre d'utilisations d'un même logiciel sur un réseau. D'une manière générale, d'autre part, l'accès å des bases ou banques de données ne peut s'effectuer que si l'utilisateur dispose d'un code ou d'un mot de passe. Lé dispositif de protection n'ouvre l'accès au système informatique que lorsque le code ou le mot de passe, introduit par l'utilisateur, correspond au code secret contenu dans le dispositif de protection prévu, par exemple, sur un système informatique. Le code reste le même pendant un temps relativement long de telle sorte que la protection assurée est d'une efficacité tout å fait relative. Il est en effet possible pour un spécialiste, qui ne dispose pas du code, de décrypter ce code a l'aide d'essais répétés.Pour pallier à cet inconvénient, les centres serveurs s'efforcent de modifier, à intervalle régulier, les codes ou mots de passe, mais il en résulte une gêne pour l'utilisateur qui doit subir ces changements de code répétés et qui peut être amené a confondre le code en vigueur avec des codes pé rimés. Même avec de tels changements, qui ne peuvent s'effectuer, dans la pratique, que sur des périodes de plusieurs jours, il reste possible, pour un spécialiste, de décrypter le code au cours d'essais répétés. Par ailleurs, un code (clé personnelle logique) permet difficilement de contrôler le temps d'accès à une base de données par un employé. L'invention a pour but, de rendre les dispositifs de protection, du genre défini précédemment, tels qu'ils répondent mieux que jusqu'à présent aux diverses exigences de la pratique et, notamment, tels que la protection soit sensiblement augmentée. Selon l'invention, un dispositif de protection, du genre défini précédemment, est caractérisé par le fait qu'il comporte: - des moyens de serrure comprenant un générateur de signal aléatoire, un émetteur du sus-dit signal vers des moyens de calcul et des moyens de sortie du sus-dit signal aléatoire, - et une clé comprenant des moyens d'entrée propres à capter le signal émis par les moyens de sortie des sus-dits moyens de serrure, des moyens de calcul, et des moyens de transmission du code à introduire dans la serrure fourni par les sus-dits moyens de calcul. Selon un premier type d'application concernant la protection d'un logiciel fonctionnant sur un système informatique physiquement accessible à l'utilisateur, la protection du logiciel pourra avantageusement être réalisée en cryptant le logiciel, la clé logicielle nécessaire au décryptage du logiciel étant fournie par les moyens de calcul à partir du signal aléatoire et du code introduit fourni par la clé. Si x est le signal aléatoire, y le code fourni par la clé, k la clé logicielle servant à décrypter le logiciel, f l'algoritme implanté dans la clé, g l'algorithme implanté dans les moyens de serrure, les algorithme f et g devront respecter les conditions suivantes : quelque soit x, la clé K est obtenue par K=f(x,y) si y=g(x) : si y est différent de g(x), f(x,y) ne fournira pas la valeur K correspondant à la clé logicielle.La valeur attendue pour la clé logicielle n'apparait pas explicitement. Si la valeur f(x,y) calculée est fausse, le logiciel ne sera pas décrypté. Selon un deuxième type d'application concernant la protection d'accès à un système non physiquement accessible à l'utilisateur c'est-à-dire dont les seul moyens d'accès sont des terminaux, les moyens de serrure et la clé pourront avantageusement être organisés de manière à ce que, en utilisant les mêmes notations que précédemment, V étant une valeur connue du système autorisant l'accès (mot de passe): quelque soit x, le mot de passe V est obtenu par V"'f(x,y) Si y=g(x) ; Si y est différent de g(x), f(x,y) ne fournira la valeur V correspondant au mot de passe. Selon une première implantation du deuxième type d'application, on choisit les algorithmes de manière à avoir: f(x,y) = g(x)-y, la valeur V étant égale à O. Ceci revient à dire que les algorithmes implantés dans la clé et dans les moyens de serrure sont identiques, l'accès étant ouvert lorsque les résultats fournis par les 2 algorithmes coInci- dent. Selon une seconde implantation, du deuxième type d'application, on choisit les algorithmes f et g de manière à respecter, quelque soit x, y=g(x) et f(y)=x. Une solu tion immédiate étant de choisir des algorithmes f et g symétriques; Une autre manière de présenter le dispositif consiste à dire que la clé logicielle K ou le mot de passe V sont connus de la clé et transmis au système sous forme cryptés y en fonction d'une valeur aléatoire x fournie par le système. Les moyens de serrure du système décryptent cette valeur y à l'aide de x afin de reconstituer K ou V. Selon une première possiblité, les moyens de sortie des moyens de serrure sont propres à émettre un signal aléatoire sous une forme optique, les moyens d'entrée de la clé étant agencés pour lire ce signal optique. Le dispositif de protection peut comprendre un dispositif de visualisation du sus-dit signal aléatoire, en particulier un écran de visualisation ou une diode électroluminescente,(témoin d'utilisation d'un lecteur de disques). Les moyens de sortie sont alors agencés pour afficher le signal aléatoire, sur le dispositif de visualisation, par exemple sous forme de points lumineux, pouvant clignoter, ou pour faire clignoter une diode élec troluminescente, suivant une séquence déterminée, la clé comprenant au moins un élément photosensible disposé de manière à pouvoir être appliqué contre la zone où apparaît le (ou les) point(s) lumineux ou sur la diode électroluminescente. Dans un exemple simple, les moyens de sortie des moyens de serrure per mettent d'afficher, sur l'écran de visualisation, un certain nombre de points, par exemple quatre points, la clé comprenant autant d'éléments photosensibles disposés d'une manière similaire afin de pouvoir être appliqués contre la zone de l'écran de visualisation où ap paraissent les points lumineux. La clé peut avoir une forme ovoïde, ou analogue, tandis que les moyens de serrure sont agencés pour que les points lumineux apparaissent sur l'écran de visualisation dans une zone telle que la clé soit à positionner dans un endroit de l'écran, notamment le centre. Selon d'autres possibilités, les moyens de sortie des moyens de serrure sont propres à émettre les signaux sous une forme sonore ou sous la forme de vibrations méca niques ou sous la forme de rayonnement électromagnétique produit par un appareil spé cifique ou par les bobines du tube cathodique de visualisation, les moyens d'entrée de la clé étant agencés pour lire de tels signaux. Selon une première possiblité les moyens de transmission du code, prévus sur la clé, peuvent être constitués par des cristaux liquides ou des diodes électrolumines centes (DEL). Selon d'autres possiblités, les moyens de transmission du code, prévus sur la clé, sont constitués par des moyens de connexion permettant de brancher directement la clé sur un port destiné au branchement d'un clavier. Lorsque le dispositif de protection est utilisé en combinaison avec un système informatique, de préférence pour la protection d'accès à un logiciel, une base, ou une banque de données, les moyens de serrure utilisent de préférence les moyens de calcul du système informatique, comprenant notamment un processeur, en combinaison avec un programme d'instructions permettant d'accomplir les fonctions souhaitées pour la serrure. La clé comprend des circuits spécifiques adaptés aux fonctions à remplir. L'invention est également relative à une clé pour un dispositif de protection tel que défini précédemment, cette clé étant caractérisée par le fait qu'elle comporte des moyens de calcul qui effectuent un traitement en relation avec un traitement effectué par les moyens de calcul de la serrure, les sus-dits traitement respectant les conditions définie précédemment suivant qu'il s'agit de protéger l'utilisation d'un logiciel crypté ou bien l'accès à un système. Cette clé comprend, en outre, des moyens d'entrée propres à capter un signal émis par des moyens de sortie de la serrure, et des moyens de transmission d'un code à introduire, fourni par les moyens de calcul de la clé à partir du signal capté sur les moyens d'entrée de la clé. Une disposition particulière du dispositif concerne la possibilité d'imposer un délai minimum entre l'introduction dans la clé de n séquences de signaux provenant des moyens de serrure. Cette constante de temps entre l'introduction de n codes permet de rendre très longue et donc impossible l'analyse du contenu de la clé en lui forçant en en trée successivement toutes les séquences de signaux possibles. L'invention consiste, mises à part les dispositions exposées ci-dessus, en un certain nombre d'autres dispositions dont il sera plus explicitement question ci-après à propos d'un mode de réalisation particulier décrit avec référence au dessin ci-annexé, mais qui n'est nullement limitatif La figure 1, de ce dessin, est un schéma synoptique d'un dispositif de protection d'un accès selon l'invention. La figure 2, enfin, est un schéma illustrant l'utilisation de la clé du dispositif de protection. En se reportant au dessin, on peut voir, sur la figure 1, représenté de manière très schématique, un dispositif électronique de protection P d'un accès par exemple à un logiciel ou à une base ou une banque de données 1. L'accès est commande par introduction d'un code approprié par exemple à partir d'un clavier 2. Les moyens de serrures du dispositif P comprennent des moyens de calcul 7 entre le code y introduit de l'extérieur sur une entrée 3a de ces moyens de calcul 7 et le code aléatoire x fourni par le dispositif P et introduit sur une autre entrée 3b.des moyens de calcul 7.L'accès au logiciel ou à la base de données 1 est commandé lorsqu'il y a cohérence entre le traitement effectué par les moyens de calcul 8 de la clé et le traitement effectué par les moyens de calcul 7 de la serrure, c'est à dire lorsque le résultat obtenu par les moyens de calcul 7 correspond à la valeur attendue : clé logicielle K ou mot de passe V. Les moyens de serrure S du dispositif comportent aussi un générateur 4 de signal aléatoire. Le terme "signal aléatoire" doit être compris dans un sens large et englobe à la fois les signaux purement aléatoires ou les signaux pseudo-aléatoires. Un exemple de fonction aléatoire pouvant être utilisée pour la génération d'un signal aléatoire est celui de la dérive en température de composants électroniques, ou celui du niveau de bruit d'un composant, ou celui du temps de positionnement d'une tête de lecture entre deux pistes d'un disque. Dans le cas où le dispositif de protection est prévu en combinaison avec un système informatique, notamment un micro-ordinateur, une fonction aléatoire peut être prévue dans un tel système.Cette sus-dite fonction aléatoire peut être utilisée comme générateur 4. La sortie du générateur 4 est branchée, en parallèle, sur deux circuits émetteurs 5, 6 propres à transmettre le signal aléatoire issu du générateur 4. L'émetteur 6 constitue des moyens de sortie du signal aléatoire. Les moyens de serrure S comportent, en outre, des moyens de calcul 7, du signal aléatoire transmis par l'émetteur 5, envoyé sur l'entrée 3b des moyens de calcul 7. La fonction utilisée par les moyens de calcul 7 de la serrure peut être choisie å volonté parmi les fonctions mathématiques classiques, ou parmi toute loi de correspondance appropriée que l'homme du métier pourra choisir a son gré. Le dispositif de protection P comporte en outre une clé C qui comprend des moyens de calcul 8 d'un signal selon un algorytme en relation avec celle des moyens de calcul 7 de la serrure S. La clé C comprend en outre des moyens d'entrée 9 propres à capter le signal émis par l'émetteur 6, et des moyens de transmission 10 du code a introduire sur le clavier 2. Ce code est donc fourni par les moyens de calcul 8 de la clé à partir du signal en provenance de l'émetteur 6. Du fait du caractère aléatoire du signal fourni sur la sortie du générateur 4, le code est modifié à chaque nouvelle utilisation, sans qu'il en résulte des frais supplémentaires. Aucune gêne n'est crée à l'utilisateur puisque ce dernier dispose directement sur les moyens de transmission 10 du code a introduire sur le clavier 2. Les moyens de sortie 6 peuvent être agencés pour afficher, sur une zone déterminée 11 d'un écran de visualisation 12, par exemple l'écran d'une console, le signal aléatoire sous forme optique. Dans l'exemple simplifié représenté sur la figure 2, les moyens de sortie 6 sont propres à afficher le signal aléatoire sous la forme de quatre points lumineux clignotants tels que 13 disposés en carré. Chaque point, tel que 13, pourra clignoter selon une séquence déterminée pour transmettre l'information souhaitée. Il est clair que les moyens de sortie 6 pourraient être agencés pour émettre des signaux sous forme sonore ou sous la forme de vibrations mécaniques, de rayonnement électromagnétiques ou autre. Les moyens d'entrée 9 de la clé constitueraient alors des capteurs propres à recueillir de tels signaux. La clé C peut avoir la forme d'une carte 14 à contour rectangulaire et comprend plusieurs éléments photosensibles tels que 15 disposés de manière à être appliqués simultanément contre la zone 11 de l'écran où apparaissent les points lumineux 13. De préférence, la zone 11 est choisie de telle sorte que la clé soit a. positionner dans un endroit de l'écran par exemple le centre, comme représenté sur la figure 2. Les moyens de transmission 10 de la clé peuvent comporter des diodes électroluminescentes ou des cristaux liquides. Dans l'exemple de la figure 2, le code affiché par les moyens 10 est constitué par les trois chiffres 3, 2 et 5 que l'utilisateur devra donc introduire à l'aide du clavier 2. Si la clé C est la bonne clé, ce code permettra de commander l'ouverture de l'accès. Selon une variante avantageuse, les moyens de transmission 10 de la clé pourraient être constitués par des moyens de connexion permettant de brancher la clé directement sur un connecteur 16 (figure 1) du dispositif P, destiné au port du clavier 2. Ce clavier 2 pourrait être branché derrière ces moyens de connexion, la clé restant elle-même branchée sur le connecteur. Selon une autre possibilité, la clé est retirée du connecteur après avoir ouvert l'accès souhaité, et le clavier 2 est directement branché sur le connecteur. Le fonctionnement du dispositif P résulte immédiatement des explications précédentes. Lorsqu'un utilisateur veut accéder, par exemple, à partir d'une console équipée de l'écran de visualisation 12, à une base de données ou à un logiciel protégé par le dispositif P, il faut que cet utilisateur mette en place la clé C appropriée de manière qu'elle puisse lire le signal émis par l'émetteur 6. La clé va fournir sur ses moyens de transmission 10 le code à introduire par le clavier 2. Il est clair qu'un tel dispositif de protection peut être utilisé dans d'autres applications que celle de la protection du logiciel ou d'une banque ou base de données. En particulier, le dispositif pourrait servir a commander l'ouverture de la porte d'un coffre-fort, d'une chambre forte ou analogue. Le dispositif de l'invention permet de protéger tout type de logiciel, sur tout système d'exploitation, et sur tout type de micro-ordinateur, mis en réseau ou non. Les moyens de serrure peuvent être placés sur une disquette. Lorsque le logiciel réside sur un disque dur, il n'est pas nécessaire d'avoir une disquette présente dans le lecteur de disquettes. Lorsque le logiciel est mis sur réseau, chaque terminal est protégé et doit avoir sa clé. La clé du dispositif de l'invention n'immobilise aucun port du matériel informatique. Un logiciel possédant les moyens de serrure peut être dupliqué comme un logiciel normal et ne nécessite aucun dispositif spécifique de duplication. La clé, généralement, est équipée de sa propre source d'énergie électrique. La clé peut comprendre une horloge interne, des moyens de comptage du temps et des moyens de commande prévus pour provoquer la destruction de cette clé au bout d'un temps prédéterminé, par exemple 3 mois ou 6 mois et/ou introduire un délai minimum entre l'introduction de n codes, par exemple 2 minutes, lorsqu'il s'est produit 3 introductions de code en moins d'une minute. REVENDICATIONS 1. Dispositif électronique de protection d'un accès, par introduction d'un code extérieur, ce dispositif comprenant une serrure (S) et une clé (C) comportant chacune des moyens de calcul capables d'effectuer des opérations arithmétiques logiques, propres à autoriser l'accès quand, après introduction du sus-dit code extérieur, les moyens de calcul (7) de la serrure effectuent un traitement sur le sus-dit code introduit de l'extérieur et un code contenu par la serrure (S) et lorsqu'il y a une cohérence entre les résultats des traitements effectués par les moyens de calcul (8) de la clé et par les moyens de calcul (7) de la serrure, et à maintenir l'accès fermé lorsque cette relation n'existe pas, caractérisé par le fait qu'il comporte:: - des moyens de serrure (S) comprenant un générateur (4) de signal aléatoire, un émetteur (5) du sus-dit signal vers des moyens de calcul (7) et des moyens de sortie (6) du sus-dit signal aléatoire, - et une clé (C) comprenant des moyens d'entrée (9) propres à capter le signal émis par les moyens de sortie (6) des sus-dits moyens de serrure (S) et à les transmettre à des moyens de calcul (8), et des moyens de transmission (10) du code à introduire dans la serrure fourni par les sus-dits moyens de calcul. 2. Dispositif selon la revendication 1, caractérisé par le fait que les moyens de sortie (6) émettent le signal sous forme optique, tandis que les moyens d'entrée (9) de la clé sont agencés pour lire ce signal optique. 3. Dispositif selon la revendication 2, comprenant un dispositif de visualisation d'un signal, en particulier un écran de visualisation ou une diode électroluminescente (témoin d'utilisation d'un lecteur de disque), caractérisé par le fait que les moyens de sortie (6) sont agencés pour afficher le signal aléatoire, sur le dispositif de visualisation, par exemple sous forme de points lumineux (13) pouvant clignoter ou pouvant faire clignoter une la diode électroluminescente, suivant une séquence déterminée, la clé (C) comprenant au moins un élément photosensible (15) disposé de manière à pouvoir être appliqué contre la zone où apparaissent le (ou les) points lumineux (13). 4. Dispositif selon la revendication 2 ou 3, caractérisé par le fait que la clé (C) a la forme d'une carte (14) à contour rectangulaire et que les moyens de serrure (S) sont agencés pour que les points lumineux (13) apparaissent, sur l'écran de visualisation (12), dans une zone (11) telle que la clé (C) soit à positionner dans un endroit de l'écran (12), notamment dans un des coins inférieurs ou le centre. 5. Dispositif selon l'une quelconque des revendications précédentes notamment pour la protection d'un logiciel ou d'une base ou banque de données, en combinaison avec un système informatique, caractérisé par le fait que les moyens de serrure utilisent des circuits du système informatique, comprenant notamment un processeur, en combinaison avec un programme d'instructions permettant d'accomplir les fonctions souhaitées, pour les moyens de serrure, tandis que la clé (C) comporte des circuits électroniques adaptés aux fonctions à réaliser. 6. Dispositif selon la revendication 1 ou 5, caractérisé par le fait que les moyens de sortie des moyens de serrure (S) sont propres à émettre les signaux sous forme sonore ou sous forme de vibrations mécaniques ou sous forme de rayonnement électromagnétique, tandis que les moyens d'entrée (9) de la clé comprennent des capteurs propres à recueillir de tels signaux. 7. Dispositif selon l'une quelconque des revendications précédentes, caractérisé par le fait que les moyens de transmission (10) du code à introduire sont constitués par des moyens de connexion permettant de brancher directement la clé sur un connecteur (16) destiné au branchement d'un clavier (2). 8. Dispositif selon l'une quelconque des revendications précédentes, caractérisée par le fait qu'elle comporte des moyens de calcul (8) d'un signal selon une loi complexe identique à celle des moyens de serrure auxquels la clé est destinée, cette clé (C) comprenant des moyens d'entrée (9) propres à capter un signal émis par des moyens de sortie (6), et des moyens de transmission (10) d'un code fourni par les moyens de transformation (8) de la clé à partir du signal recueilli. 9. Clé selon la revendication 6, caractérisée par le fait que les moyens d'entrée (9) sont constitués par des éléments photosensibles (15), ou par des capteurs sonores ou des capteurs de rayonnement électromagnétiques. 10. Clé selon l'une quelconque des revendications précédentes, équipée de sa propre source d'énergie électrique, caractérisée par le fait qu'elle comprend une horloge interne, des moyens de comptage de temps, et des moyens de commande prévus pour provoquer la destruction de la clé au bout d'un temps prédéterminé.