Brevet FR2654234A1 — publié le 19910510

La présente invention concerne un dispositif et un procédé de verrouillage applicables à la protection d'objets, tels que porte ou coffre-fort, appareils à usage dangereux ou secrets, ordinateurs, instruments de contrôle ou appareils de mesure, et applicables à la protection des programmes d'ordinateurs, programmes d'applications, centres serveurs, réseaux, services bancaires, etc, dont l'usage par des particuliers doit être contrôlé. On rappellera ci-après les différents types de verrouillage actuellement connus: (1) verrouillage mécanique: la serrure elle-même est un mécanisme, donc fixe par construction, et la clef est mécanique, donc fixe de forme. Par suite, il suffit de reproduire la clef pour violer la serrure. Presque toutes les serrures de ce type peuvent être ouvertes au moyen d'un jeu de passe-partout. (2) verrouillage à combinaison: il comprend un mécanisme adaptable par changement de la combinaison, et une clef incorporée à la serrure, sous forme de molettes, à tourner par exemple. La combinaison reste fixe tant qu'elle n'est pas explicitement modifiée, et donc ce type de serrure peut être violé en essayant, systématiquement ou par des instruments appropriés, de trouver la combinaison. Ces deux premiers types de verrouillage sont strictement mécaniques et sont totalement inapplicables dans les domaines de sécurité d'entités immatérielles, telles que les réseaux, les accès aux ordinateurs, les programmes d'application sur ordinateurs, les services publics informatisés, etc.... (3) verrouillage électrique à code constitué par un numéro ou un mot de passe: la caractéristique de ce verrouillage, qui est aussi sa faiblesse, est qutil n'utilise pas de clef. La serrure est de type fixe entre deux changements du mot de passe et donc la divulgation du mot de passe rend ce verrouillage totalement inutile. (4) verrouillage à télécommande: dans ce type de verrouillage, la clef prend la forme d'un signal issu d'un émetteur. Le verrouillage peut donc être hors d'accès. Le code ou mot de passe est remplacé par le signal de I'émetteur. Les verrouillages selon les types (3) et (4) susmentionnés sont de type non intelligent, de fonctionnement fixe, même s'ils sont modifiables par changement du mot de passe ou du signal émis. De même, la clef est fixe, non intelligente, soit inexistante matériellement (mot de passe), soit reproductible (signal émis). (5) verrouillage à contrôle électronique: ce verrouillage requiert la présence locale d'une serrure dans laquelle on introduit une clef de type carte magnétique, carte à perforations, à codes à barres, ou autre. Cette serrure possède un système de lecture de ces cartes. Là encore, il s'agit d'une serrure et d'une clef à fonctionnement fixe. Il peut être possible de modifier la serrure pour changer les codes qu'elle conserve, quitte à recréer de nouvelles cartes-clefs et le système redevient alors à fonctionnement fixe (perforations, codes barres, piste magnétique). La clef est passive et essentiellement reproductible et requiert l'existence d'un dispositif de lecture (optique, électronique) incorporé à la serrure. (6) verrouillage de logiciels pour micro-ordinateurs au moyen d'un système de bouchon. Certaines compagnies ont songé, pour protéger les logiciels fonctionnant sur micro ou mini-ordinateurs, à des bouchons électroniques (nommés dongles en anglais) qui se fixent sur les sorties de communication de ces machines. Le logiciel, en cours d'exécution, interroge cette sortie et refuse de fonctionner s'il n'y trouve pas ce bouchon. Chaque logiciel est accompagné d'un seul bouchon et ne pourra donc fonctionner que sur l'ordinateur qui en sera équipé. Une copie illégale du logiciel ne pourra donc pas fonctionner sur une autre machine. Ce type de protection est à rapprocher des types (3) ou (4) mentionnés plus haut, car le bouchon fait office de mot de passe (ou d'émetteur) et le logiciel de circuit de contrôle (de récepteur). Ce principe se rapproche des types de verrouillage généraux (i) à (5), du fait que ce bouchon est de fonctionnement fixe, dénué d'intelligence propre, réagissant à une sollicitation unique, physique, immuable qui est le signal d'interrogation émis par le logiciel, l'accusé d'existence étant renvoyé par le bouchon. Ce bouchon est de type purement matériel (circuit électronique) et physiquement fixé à l'ordinateur faisant fonctionner ce logiciel.De plus, son fonctionnement est automatique (dialogue invisible entre le logiciel et le bouchon), donc ne nécessitant pas l'intervention de l'utilisateur qui peut en ignorer l'existence, et il n'est donc pas possible, à proprement parler, d'appeler système de verrouillage ce qui n'est somme toute qu'une simple association logiciel-bouchon. On ne peut parler de serrure ou de verrouillage, ces termes impliquant ouvertures et fermetures contrôlées, donc non automatiques et non indépendantes de l'utilisateur. Tous les verrouillages décrits ci-dessus ont en commun: - un verrouillage sans intelligence; - une clef matérielle ou physique liée au système de verrouillage, donc nécessitant de se trouver physiquement à côté ou pas bien loin du verrouillage; - un mode de fonctionnement où la clef est maître et le verrouillage est esclave: la possession de la clef ou de sa copie, la connaissance de la combinaison ou du mot de passe, autorise indéfiniment le déverrouillage puisque le verrouillage est à fonctionnement fixe. La clef matérielle rend ces systèmes de verrouillage inutilisables pour les verrouillages à distance et pour le verrouillage d'entités non matérielles, telles que les sécurités d'accès aux réseaux informatiques, les accès aux ordinateurs, l'utilisation contrôlée de certains programmes sur ordinateurs, l'utilisation de services télématiques, etc.... La présente invention concerne un dispositif et un procédé de verrouillage applicables à la réalisation de serrures matérielles (pour portes, appareils, tous objets) ou de serrures logicielles (pour verrouiller des programmes ordinateurs) ou de serrures hybrides (pour le contrôle d'une serrure distante, le dialogue serrure-clef s'effectuant via tout réseau de communications). Ce procédé utilise un verrouillage immatériel et aléatoire, donc variable et imprévisible, associé à une clef également immatérielle, intelligente, variable et imprévisible, ce verrou immatériel aléatoire et cette clef immatérielle pseudo aléatoire constituant le coeur de l'invention. Dans ce qui suit il sera fait usage des termes suivants - la serrure, qui désigne le dispositif fermant, bloquant ou protégeant l'accès, l'objet, l'appareil (serrure matérielle), ou le logiciel ou programme ordinateur (serrure immatérielle, de nature logicielle); - le système de verrouillage, ou verrouillage, qui est le composant de la serrure qui contrôle, gère, décide, autorise le déblocage ou l'ouverture de la serrure; - la clef, qui est l'élément ou le moyen qui commande ou agit sur le système de verrouillage; - le support de la clef, qui est le dispositif matérialisant, comportant ou produisant la clef proprement dite. Par exemple, dans le cas d'une serrure à télécommande (type 4) susmentionné, la serrure est la boite fixée à la porte et comportant les pênes, ressorts et pièces mécaniques; le système de verrouillage est le récepteur incorporé à la serrure, recevant et reconnaissant le signal-clef d'ouverture et commandant la serrure; la clef est le signal émis par la télécommande; le support de clef est le boîtier de télécommande. La présente invention ne se préoccupe pas de la serrure ni du support de clef, qui relèvent de l'industrie classique connue, mais plutôt du système de verrouillage et de la clef intelligente associée audit système de verrouillage. Le dispositif de verrouillage selon 1 invention se caractérise en ce qu'il comprend: - un générateur de codes aléatoires incorporé à la serrure, capable de créer un code aléatoire, donc totalement imprévisible et perpétuellement variable, autodéterministe, car créé spontanément à l'instant où la serrure est sollicitée, ce code constituant alors le verrouillage proprement dit de la serrure, ce verrouillage étant par suite immatériel, puisque ce ##n'est qu'un code qui est recréé aléatoirement à chaque utilisation de la serrure, ce verrouillage cessant ensuite d'exister dès que le déverrouillage s'opère ou refuse de s'opérer - un décodeur interne, incorporé à la serrure, qui, recevant le verrouillage (le code aléatoire susmentionné) va le convertir en un code de déverrouillage, ci-après nommé clef interne, cette clef interne étant donc intelligente, pseudo-aléatoire, spécifique et dépendante du verrouillage, car dérivée du code aléatoire de verrouillage par voie logique intelligente ; - un décodeur externe , en possession de l'utilisateur, qui, recevant également le verrouillage (le code aléatoire susmentionné) va lui aussi le convertir en un code de déverrouillage, ci-après nommé clef externe, cette clef externe étant donc intelligente, pseudoaléatoire, spécifique et dépendante du verrouillage, car dérivée du code aléatoire de verrouillage par voie logique intelligente - un comparateur, incorporé à la serrure, qui, comparant la clef interne fabriquée par le décodeur interne de la serrure à la clef externe fabriquée par le décodeur externe de l'utilisateur, cette comparaison pouvant faire intervenir des transformations complexes de ces deux clefs, autorisera de déverrouillage si les deux clefs se correspondent ou le refusera si elles ne se correspondent pas au terme de cette comparaison, le code de verrouillage et les deux clefs (interne et externe) perdant ensuite toute existence, toute valeur, immédiatement après cette comparaison. Le procédé de verrouillage selon l'invention opère comme suit: - llutilisateur sollicite l'ouverture de la serrure (matérielle ou logicielle), ce qui actionne le générateur de code incorporé à son dispositif de verrouillage, - le générateur crée, à cet instant seulement, un code aléatoire, donc imprévisible, qui constitue alors le verrouillage proprement dit de la serrure (autrement, hors sollicitation de la serrure, celle-ci est bloquée mais inerte et ne comporte pas de verrouillage), - le décodeur interne de la serrure détermine alors la clef interne à partir de ce code de verrouillage aléatoire, cette clef est donc spécifique de ce code de verrouillage et se trouve par suite, comme le verrouillage, être créée dynamiquement à l'instant de servir et être imprévisible (car dérivée d'un code aléatoire), - le code de verrouillage aléatoire est également proposé à l'utilisateur. Si celui-ci détient le décodeur externe il y inscrit (voir détails plus loin) ce code de verrouillage et ce décodeur va alors déterminer une clef externe, cette clef est donc spécifique de ce code de verrouillage et se trouve par suite, comme le verrouillage, être créée dynamiquement à l'instant de servir et être imprévisible (car dérivée d'un code aléatoire), - l'utilisateur communique sa clef au dispositif de verrouillage, - le comparateur du dispositif compare la clef externe à la clef interne - si les deux clefs se correspondent la serrure est débloquée, le verrouillage (le code aléatoire) est supprimé ainsi que les deux clefs, interne et externe, qui en étaient spécifiques, - si les deux clefs ne se correspondent pas, alors le verrouillage (code aléatoire) et les clefs (interne et externe) sont supprimés, et la serrure se retrouve ainsi bloquée et sans verrouillage, comme au début de la phase opératoire. La fermeture de la serrure replace simplement celleci en un état bloqué sans verrouillage en sorte qu'il n'est donc pas possible de forcer cette serrure puisque, en l'absence de tout verrouillage, donc de clef interne, le comparateur est inerte et ne peut fonctionner. On ne peut forcer ce qui n'existe pas matériellement; la serrure, en tant qu'objet, est totalement inerte; le verrouillage, seul capable de créer des conditions d'ouverture, ne se crée lui-même qu a l'instant de servir et disparaît dès la comparaison de clefs finies. La fermeture peut faire intervenir les mêmes phases opératoires (générateur, décodeurs, comparateur) que l'ouverture si besoin est de contrôler cette opération, mais peut aussi bien être automatique, la serrure étant directement bloquée dès que refermée. Le dispositif de verrouillage selon l'invention accepte les variantes suivantes - la sollicitation de l'ouverture de la serrure par l'utilisateur peut être directe, auquel cas le générateur crée un verrouillage aléatoire simple, dont les décodeurs (interne et externe) déduisent les clefs de déverrouillage spécifiques, ce qui est le fonctionnement de base décrit ci-dessus. - la sollicitation de l'ouverture de la serrure par l'utilisateur peut aussi se faire en soumettant un code quelconque au dispositif de verrouillage. Ce code peut, par exemple, identifier l'utilisateur ou bien son décodeur personnel. Dans ce cas, le générateur crée également un code de verrouillage aléatoire, mais le calcul des clefs (interne et externe) de déverrouillage par les décodeurs (interne et externe) du dispositif de verrouillage fait intervenir le code soumis par l'utilisateur. Ainsi, les clefs deviennent spécifiques du code de verrouillage (aléatoire) et du code de l'utilisateur (externe). Donc, seul l'utilisateur et/ou son décodeur qui connaissent ce code sont à même de produire la bonne clef. - le décodeur interne au dispositif de verrouillage peut faire intervenir un code secret interne dans la détermination de la clef interne de déverrouillage. Dans ce cas, ce code interne, secret, personnalise la serrure elle-même. Aucun utilisateur et/ou décodeur externe ne pourra déverrouiller cette serrure en produisant la bonne clef externe, à moins que l'utilisateur ne soit capable de fournir ce code secret à son décodeur pour qu'il en tienne compte dans la détermination de sa propre clef. Ou encore ce code peut être incorporé au décodeur personnel de un ou plusieurs utilisateurs afin que seuls ces utilisateurs/décodeurs puissent ouvrir cette serrure dans des installations où se trouvent plusieurs serrures et plusieurs utilisateurs donc plusieurs décodeurs. - une autre variante consiste à solliciter la serrure en lui fournissant un code identifiant l'utilisateur, identification a priori commune telle que son nom ou numéro d'employé. Le dispositif de verrouillage peut alors se voir adjoindre un quelconque dispositif convertissant cette identification en un autre code, secret, connu du seul utilisateur, ce dernier code participant à la détermination de la clef interne de déverrouillage devra donc aussi être connu du possesseur du décodeur externe. Ainsi si le décodeur est dérobé et l'identification du propriétaire facile à connaître il ne sera néanmoins pas possible de déverrouiller la serrure. - il est facile de construire d'autres variantes à partir et par combinaison des précédentes. Le dispositif de verrouillage selon l'invention comporte un comparateur de clefs. Comme il vient d'être expliqué dans les variantes ci-dessus, les déterminations des clefs interne et externe par les décodeurs interne et externe peuvent suivre des méthodes différentes. Par suite, l'invention prévoit que ces clefs soient également, mais non nécessairement, différentes. Le rôle réel du comparateur de clefs est de travailler, combiner, modifier ces deux clefs, avec ou sans participation de codes secrets additionnels internes ou externes, pour finalement décider si ces clefs se correspondent et autoriser le déverrouillage. Le cas de deux clefs identiques et d'un comparateur réduit à faire une simple comparaison d'égalité entre ces clefs n'est que la réalisation la plus simple concevable avec l'invention. Le verrouillage selon l'invention présente les avantages suivants par rapport aux systèmes antérieurs décrits précédemment a) Le verrouillage de 1 invention est immatériel repose repose repose sur un code aléatoire, qui est spontanément créé à l'instant même où la serrure est sollicitée. De même, les clefs (interne ou externe) qui permettront le déverrouillage sont elles aussi immatérielles, puisqu'elles sont créées, à l'instant de servir, par les décodeurs (interne ou externe). Ces clefs sont de plus imprévisibles et perpétuellement changeantes puisque déduites, calculées, dérivées du code de verrouillage, lequel est aléatoire. Le verrouillage ne contient aucun mécanisme, rouage, circuit électrique, mot de passe ou signal pré-enregistré, ni quoi que ce soit qui fasse office de blocage.Le verrouillage est spontanément et aléatoirement créé à chaque sollicitation de la serrure. Le générateur de codes ne verrouille ni ne commande rien dans la serrure et n'agit sur aucune partie de celle-ci, mais se borne à créer le code aléatoire de verrouillage qui est ensuite simplement passé aux décodeurs interne et externe. De même, le décodeur interne du dispositif de verrouillage ne verrouille ni ne commande rien dans la serrure et n'agit sur aucune partie de celleci, mais détermine une clef à partir du code du générateur. C'est la comparaison de la clef déterminée par le décodeur de la serrure avec la clef déterminée par le décodeur de l'utilisateur qui déverrouille la serrure. Le comparateur est le seul composant du dispositif de verrouillage qui agisse sur la serrure pour en provoquer l'ouverture, mais ce comparateur ne peut fonctionner que lorsque le décodeur interne lui fournit une clef, donc lorsque le code de verrouillage est créé et tant qu'il continue d'exister. Le reste du temps, il est inerte et incapable de provoquer l'ouverture de la serrure. b) Le verrouillage ne peut être forcé ni trompé, puisqu'il est immatériel et ne se crée lui-même qu'à l'instant où il a besoin de servir. Il ne fait appel à aucune clef physique que l'on puisse dupliquer, ni combinaison ou code ou mot de passe que l'on puisse deviner, se procurer ou déterminer par instruments, ni signal émis que l'on puisse reproduire, ni carte magnétique ou perforée ou à codes à barres que l'on puisse reproduire. c) A chaque sollicitation du verrouillage son générateur produit, à ce moment, un code de verrouillage aléatoire dont les clefs associées (interne et externe), du fait qu'elles dérivent d'un code aléatoire, sont ellesmêmes pseudo aléatoires et donc imprévisibles. La connaissance d'une clef antérieure est inutile puisque la sollicitation suivante du verrouillage produira un nouveau code de verrouillage, aléatoire donc imprévisible, nécessitant de nouvelles clefs, inconnues. d) le générateur de codes aléatoires engendre des verrouillages qui sont, par nature, imprévisibles. Il est donc impossible d'attaquer la serrure en lui fournissant des clefs en série, puisque le verrouillage et donc les clefs de déverrouillage changent perpétuellement, au hasard. e) par opposition aux systèmes de verrouillage antérieurs décrits précédemment, la présente invention n'utilise pas de clef qui soit matérielle (clef en métal, combinaison), ou permanente (mot de passe) ou physique (signal émis). Au contraire, la présente invention utilise des clefs immatérielles, qui sont récréées différentes et pseudo-aléatoires à chaque utilisation de la serrure; ces clefs sont intelligentes, car les décodeurs (interne et externe) qui les produisent doivent comporter une forme d'intelligence pour convertir le code de verrouillage en un code-clef de déverrouillage. f) le dispositif de verrouillage selon l'invention est applicable à la sécurité des entités immatérielles ou distantes, ce qui n'est pas le cas des systèmes de verrouillage de la technique antérieure citée précédemment. Il est applicable au verrouillage des réseaux de communications, aux programmes informatiques, aux services publics de télématique ou bancaires, etc.... Le code aléatoire de verrouillage et les clefs peuvent, si besoin est, voyager sur un réseau de communication pour déverrouiller un programme informatique, une porte ou un instrument se trouvant à très grande distance. Plusieurs exemples d'application de l'invention seront décrits à présent de façon non limitative, en regard des dessins dans lesquels: Les figures 1 à 7 représentent les phases successives du processus d'ouverture d'un coffre-fort au moyen d'un dispositif de verrouillage selon l'invention; Les figures 8 à 14 illustrent de la même façon les phases successives du processus de verrouillage d'un système informatique. Sur la figure 1, on a représenté un coffre-fort 10 dont la porte 12 est munie d'une serrure formée d'un bouton de sollicitation d'ouverture 14, d'un clavier 16 et d'un écran d'affichage de code 18. La figure 2 représente un agrandissement de la fenêtre d'affichage de la figure 1, par commodité, et la figure 3 représente un boîtier à décodeur 22 détenu par le demandeur, ledit boîtier comprenant un clavier 24 et un écran d'affichage 26. On expliquera à présent le mode de fonctionnement de ce dispositif: a) L'ouverture est demandée en appuyant sur le bouton 14, ce qui est représenté à la figure 1; b) Le générateur du dispositif de verrouillage crée alors un code de verrouillage aléatoire, par exemple 12345678 présenté agrandi sur la figure 2; c) Comme le montre la figure 3, le demandeur frappe ce code sur le clavier 24 de son boîtier à décodeur 22 et demande la clef. d) Le décodeur détermine et affiche alors la clef, par exemple 87654321 sur la figure 4; e) Le demandeur frappe cette clef sur le clavier 16 du coffre-fort 10 et demande l'ouverture (figure 5); f) Le dispositif de verrouillage utilise son propre décodeur pour déterminer la bonne clef, la compare à la clef fournie par le demandeur et ouvre le coffre si les deux réponses coïncident, ce qui est illustré par la figure 6; g) A la demande d'ouverture suivante, le générateur 10 du dispositif de verrouillage fournit un autre code de verrouillage par exemple 76500243 sur la figure 7. On décrira à présent une application informatique du verrouillage selon l'invention. Par commodité de langage, on désignera par le terme unique de logiciel tout programme s'exécutant sur un ou plusieurs ordinateurs, quelle qu'en soit la gamme de puissance et quelle que soit la nature de ce programme: application de gestion, application commerciale, réservation de billets, centres serveurs de bases de données, réseaux de communication ou de services (bancaires, téléphone), conduite de processus industriel, surveillance de locaux, application à usage personnel ou de bureau ou d'entreprise (traitement de textes, tableurs, ingénierie assistée par ordinateur), système d'exploitation, programmes ludiques (jeux vidéo), etc.... Les logiciels sont commercialisés d'une part, sous la forme d'un média informatique tel que disque, disquette, bande magnétique, carte magnétique, où le logiciel est inscrit sous forme magnétique, ou encore circuit électronique contenant le logiciel sous forme de microcode, et d'autre part, sous la forme d'une documentation imprimée. Ces dernières années ont vu naître, en particulier avec l'avènement de la micro-informatique, une nouvelle forme de fraude consistant à reproduire un logiciel depuis un original ou une copie afin d'en éviter l'achat, privant ainsi ses auteurs de la juste rémunération de leur travail. Les moyens modernes de reproduction de pages de textes ou de dessins mis à la disposition du public, en particulier par photocopie, ne permettent pas de lutter contre la reproduction illégale des documentations imprimées des logiciels. La reproduction des médias ou supports informatiques, tels que disques, disquettes, bandes ou cartes magnétiques, ne nécessite souvent que l'acquisition de machines dédiées, disponibles commercialement à faible coût et sans restriction. Il s'ensuit que les duplications illégales de logiciels sont aisées et communes. Le procédé de verrouillage de la présente invention est directement applicable à une protection parfaite des logiciels, car le dispositif de verrouillage complet (générateur, décodeurs, comparateurs) peut facilement être réalisé sous forme logicielle (un programme sur ordinateur) et donc être incorporé à toute application informatique dont cette invention assurera alors la protection. On décrira les phases successives de mise en oeuvre du dispositif de verrouillage de l'invention par les figures 8 à 14 qui représentent un ordinateur ou un terminal 28 (figure 8) avec un clavier 30, le dispositif externe de l'invention contenant le décodeur de l'utilisateur prenant la forme d'une calculette 22 (figure 10). a) Le demandeur se connecte au logiciel, en tapant les instructions nécessaires sur le clavier 30 de l'ordinateur (figure 8); b) Le logiciel prend le contrôle, active son générateur de codes aléatoires qui lui est incorporé sous forme logicielle et produit donc un code de verrouillage, par exemple 12345678 (figure 9), qu'il retourne au demandeur; c) Le demandeur reproduit ce code sur son boîtier 22 contenant le décodeur et demande la clef.Dans l'exemple de la figure 10, le décodeur est incorporé à une calculette; d) Le décodeur détermine la clef, par exemple 87654321 (figure 11); e) Le demandeur frappe cette clef sur le clavier 30 de l'ordinateur et l'envoie au logiciel, comme représenté à la figure 12; f) Le logiciel détermine lui-même la bonne clef (il suffit d'incorporer un décodeur au logiciel), la compare à celle du demandeur, et accepte de fonctionner si les deux clefs coïncident, ce qui est représenté schématiquement à la figure 13; g) A la demande suivante, le générateur du logiciel proposera un tout autre code de verrouillage, par exemple 76500243 (figure 14), qui donc nécessitera une toute autre clef. Le dispositif de verrouillage de la présente invention offre donc une méthode parfaite de verrouillage de tout système ou de toute application informatique. Par extension de l'exemple précédent, l'invention offre les capacités suivantes - partage d'un service informatique (réseau, service bancaire, centre serveur, etc). Ce service incorpore le dispositif de verrouillage sous forme logicielle. Tout client qui s'y connecte doit détenir un dispositif décodeur pour être admis. Il est donc possible de partager ce service informatique entre de multiples utilisateurs répartis à travers le monde. - commande de processus informatisée. Le matériel à contrôler incorpore le dispositif de verrouillage. Toute tentative de prise de contrôle du matériel par un programme informatique active le verrouillage dudit matériel, donc seul le programme informatique détenant le bon décodeur (sous forme logicielle) sera capable de fournir la bonne clef externe. Le code de verrouillage issu du matériel et la clef renvoyée par le programme peuvent voyager sur réseau télématique, autorisant alors le contrôle de tout matériel à distance. - services informatique automatisés. Deux systèmes informatiques peuvent correspondre en toute sécurité grâce à 1 invention. L'un incorpore le dispositif de verrouillage sous forme logicielle, l'autre incorpore le décodeur externe sous forme logicielle. Le dialogue de verrouillage-déverrouillage entre les deux programmes utilise les moyens de communication disponibles entre les deux ordinateurs où ces programmes fonctionnent. Aucun des systèmes de verrouillage antérieurs de l'industrie ne peut verrouiller d'applications informatique. Seule la présente invention utilise un procédé où verrouillage et clef sont tous deux immatériels, capables de voyager sur réseaux de communications, sûrs et inviolables car perpétuellement et aléatoirement changeants et intelligemment dépendants. Le système de bouchon mentionné précédemment au paragraphe (6) comme type de protection dans la description des systèmes antérieurs ne fait qu'obliger le logiciel à fonctionner sur la machine où ce bouchon est fixé. Il ntempêche pas de se servir du logiciel mais simplement de le déplacer. C'est un morceau de hardware matériellement fixé à la machine dont le logiciel se borne à tester la présence. Le mode de fonctionnement est donc fixe, immuable, non intelligent. Il est automatique entre le logiciel et le bouchon, il ne requiert aucune participation de l'utilisateur, qui en ignore jusqu'à l'existence, donc tout le monde peut se servir du logiciel. On ne peut pas parler de verrouillage pour ces bouchons, car ils n'ont ni verrou, ni clef, ni communication avec l'extérieur et n'exercent aucun contrôle sur l'utilisateur ou le logiciel.Ce sont des chaînes attachant logiciel et machine, sans plus. Le dispositif de verrouillage selon l'invention utilise verrouillage et clef, contrôle l'utilisateur et bloque effectivement l'objet ou programme protégé, est intelligent et non matériel (verrouillage et clefs sont des codes). Le dispositif selon l'invention peut être partiellement matériel (dialogue logiciel - utilisateur) ou entièrement logiciel (dialogue logiciel - logiciel), il ne dépend en aucune façon du hardware de l'ordinateur. On présentera à présent une description complémentaire des différents éléments qui forment le dispositif selon l'invention. Le code aléatoire fourni par le générateur de verrouillage peut prendre toute forme utile ou appropriée à l'objet à verrouiller: ce pourrait être un nombre, un mot, une phrase, une suite quelconque de caractères alphanumériques ou non, intelligible ou non, ou encore un signe, un dessin, une succession de couleurs, des signaux optiques, des signaux électriques ou des signaux acoustiques. Le générateur est constitué par tout appareil utilisé dans l'industrie pour produire de façon aléatoire un des codes décrits ci-dessus. Il peut être mécanique, électrique, électronique, logiciel ou faire appel à plusieurs de ces techniques. On citera seulement deux exemples pratiques: - un simple circuit électronique modifiant un nombre en permanence (des milliers de fois par seconde). Le générateur prélève ce nombre à l'instant où la serrure est sollicitée, comme cet instant est aléatoire et le nombre perpétuellement changeant, le nombre généré est aussi aléatoire; - pour un programme informatique, le générateur peut être formé de tout programme exécutant un algorithme de production de nombres aléatoires. Il existe des quantités d'algorithmes de nombres aléatoires et il est facile d'en créer de nouveaux. Il est tout aussi facile de les programmer ou de les réaliser sous forme de circuit électronique. On ne s'attardera donc pas sur de tels générateurs dont la fabrication est bien connue des industriels. Le générateur doit seulement savoir choisir un code aléatoirement. Pour cela, deux alternatives sont possibles: a) Choisir un code au hasard parmi un ensemble fixe de codes que le générateur sait manipuler. Par exemple, si le code est un nombre à 8 chiffres, le générateur ne peut en créer de nouveaux, mais seulement en proposer un au hasard. b) Par contre, dans le cas où le code prend la forme d'un signal (électrique, optique, acoustique), le générateur pourrait réellement en créer avec une forme, une intensité, une période, une amplitude, une modulation tout à fait aléatoires. De même, le code clef fabriqué par le décodeur de l'utilisateur peut également être un nombre, un mot, une phrase, une suite quelconque de caractères, alphanumériques ou non, intelligibles ou non, ou encore un signe, un dessin, une succession de couleurs, des signaux optiques, des signaux électriques ou des signaux acoustiques ou autres. Le code de verrouillage produit par le générateur et les clefs déterminées par les décodeurs (interne et/ou externe) n'ont pas à être de même nature. L'un peut être un nombre et l'autre un mot par exemple. Le dispositif décodeur doit comporter une forme d'intelligence capable de convertir le code de verrouillage (éventuellement suppléé d'un code secret, comme mentionné dans les variantes de la description de l'invention) en un code clef qui se trouve par suite être pseudo-aléatoire, car issu du code de verrouillage aléatoire, et spécifique de celui-ci pour la même raison. L'intelligence du décodeur réside donc en la méthode permettant de déterminer la clef à partir du code de verrouillage (et du code secret s'il y a lieu). Les méthodes possibles sont innombrables et seulement limitées par l'imagination, la présente invention requiert leur utilisation mais n'en revendique aucune. On en citera deux pour l'exemple - si le code de verrouillage, le code secret et la clef sont tous trois des nombres, on pourrait procéder ainsi : additionner code de verrouillage et code secret, puis considérant le résultat sous forme binaire changer les 1 en O et les O en 1 et ce résultat sert de clef. - si le code et la clef sont des signaux électriques, on peut faire appel à l'industrie des instruments de mesures et des postes radio, qui fabrique quantité de circuits ou composants électroniques transformant un signal en un autre. Le procédé selon l'invention indique que le déverrouillage s'effectue lorsque le comparateur de clefs, interne au dispositif de verrouillage, reçoit deux clefs, celle du décodeur interne et celle du décodeur externe de l'utilisateur, et que celles-ci se correspondent. Cependant, les deux décodeurs mis en oeuvre par ce procédé peuvent être totalement différents, ainsi que le montrent les exemples suivants - le dispositif verrouille un appareil commandé à distance par un programme informatique. Dans ce cas, l'appareil réalise le décodeur interne, sous forme électronique, par exemple, tandis que le logiciel de contrôle détient un décodeur sous forme logicielle. - le dispositif de verrouillage est standard, tandis que le décodeur de l'utilisateur nécessite l'emploi d'un code secret pour déterminer les clefs correctement. Le décodeur interne est donc simple, tandis que l'autre travaille avec un code secret supplémentaire. Ils sont donc différemment construits. - la transmission du code de verrouillage issu du générateur interne au dispositif de verrouillage vers le décodeur externe de l'utilisateur peut nécessiter toute sorte de transformations pour le rendre intelligible à l'utilisateur. Par exemple, le code de verrouillage est un nombre généré sous forme binaire par le générateur. Il faudra le convertir en caractères numériques (voir les exemples) pour que l'utilisateur puisse s'en servir et le décodeur externe recevra le code de verrouillage sous cette forme. Par opposition, la transmission du code de verrouillage entre générateur et décodeur interne au dispositif de verrouillage peut être réalisée directement. Les deux décodeurs ne seront donc pas réalisés de la même façon. - le dialogue générateur - décodeurs peut prendre des formes différentes à l'intérieur d'un même dispositif selon 1' invention. Par exemple, le générateur pourrait communiquer le code de verrouillage au décodeur interne par voie électronique directe et transmettre ce code vers le décodeur externe par une onde radio, ce qui pourrait amener à la réalisation de décodeurs différents. Les remarques précédentes obligent à décrire les réalisations pratiques du dispositif selon l'invention avec plus de détails. Abstraction faite des réalisations informatiques où le décodeur externe prend une forme logicielle, et des réalisations industrielles particulières où (voir plus loin) un décodeur externe communique directement avec le dispositif de verrouillage par connexion ou transmission, toute autre application de l'invention nécessitant de confier le décodeur externe à un utilisateur humain dans le but qu'il s'en serve effectivement, oblige à incorporer ce décodeur à un objet plus général, ci-après nommé boîtier par commodité, en permettant la mise en oeuvre.Ce boîtier peut emprunter n'importe quelle forme appropriée, pourvu qu'il comprenne un moyen de reproduire ou de recevoir le code de verrouillage créé par le générateur et un moyen de montrer, reproduire ou transmettre la clef fabriquée par le décodeur. Donc: 1) Si le code de verrouillage est de nature visuelle (nombre, mot, phrase, séquence de lettres, chiffres ou symboles, couleurs, etc), le boîtier contenant le décodeur pourra comporter des touches alphanumériques, ou des touches de symboles, de dessin ou de couleurs, ou des molettes, poussoirs, boutons, commutateurs, potentiomètres et tous autres dispositifs électroniques ou mécaniques de nature à reproduire le code de verrouillage sur le boîtier pour en informer le décodeur. 2) Si la clef fabriquée par le décodeur est de nature visuelle (au sens ci-dessus), alors le boîtier contenant le décodeur pourra comporter tout moyen utile de représentation de cette clef, classique dans l'industrie, tels les affichages à cristaux liquides ou à diodes (calculettes), des molettes ou roues (etc...) porteuses de numéros, de symboles, de couleurs etc, des diodes, des lampes de couleurs, ou des cadrans analogiques ou non, cette liste n'étant pas exhaustive. 3) Dans le cas où le code de verrouillage et/ou la clef prennent des formes complexes (grandes séries de codes) ou non représentables (signaux électriques, acoustiques, optiques), le boîtier contenant le décodeur de l'utilisateur pourrait se voir adjoindre, soit un moyen de transmission (exemple un émetteur), soit un moyen de connexion avec la serrure (câble de liaison avec fiche appropriée), soit un moyen de connexion avec tout système de communication (exemple réseau, ligne extérieure) permettant de dialoguer avec le dispositif de verrouillage distant. Les moyens de connexion et de communication ou transmission étant classiques dans l'industrie et ceci demeurant une application particulière de l'invention et non son propos, ces moyens ne seront pas décrits ici. Les descriptions précédentes concernant les réalisations pratiques du boîtier (contenant le décodeur externe de l'invention) sont directement applicables aux réalisations pratiques des serrures ( contenant le dispositif de verrouillage), puisque ces serrures peuvent elles aussi avoir besoin de reproduire le code de verrouillage (affichage) ou d'acquérir la clef de l'utilisateur (claviers de saisie, etc... voir les exemples). Un exemple d'application industrielle est celui des jeux sur micro-ordinateurs, domaine où les copies illégales et usages abusifs des disquettes de jeux sont innombrables. Tout jeu pourrait ainsi être irrémédiablement bloqué en appliquant directement ce nouveau procédé de verrouillage: le jeu incorpore, sous forme logicielle, le générateur de codes aléatoires et le décodeur interne, et le jeu est vendu avec un boîtier électronique contenant le décodeur externe. Puisque le verrouillage ne peut pas être débloqué sans le décodeur externe et que celui-ci ne peut pas être reproduit, le jeu sera inutilisable sans le décodeur, donc ne sera utilisable que par l'acheteur légal. Les copies illégales des disquettes seront inutiles et disparaîtront donc d'elles-mêmes. Toute application industrielle de la présente invention peut incorporer au boîtier contenant le décodeur externe, outre sa propre fonction de fabrication de clef, toute autre fonction utile à son utilisateur. Ainsi, le boîtier peut être réalisé sous forme de calculatrice comportant le décodeur mais offrant aussi ses propres fonctions de calculatrice. Le boîtier peut prendre également la forme d'une montre, d'un réveil électronique de bureau, d'un agenda électronique, ou de tout ustensile autrement utile dans un bureau, règle, plumier, taillecrayon, ou accessoire quelconque. REVENDICATIONS 1- Dispositif de verrouillage pour la réalisation de serrures matérielles (pour portes, appareils, tous objets) ou de serrures logicielles (pour verrouiller des programmes ordinateurs), ou de serrures hybrides (pour le contrôle d'une serrure distante, le dialogue serrure-clef s'effectuant via tout réseau de communications), caractérisé en ce qu'il comprend - un générateur de codes aléatoires incorporé à l'objet ou programme à protéger, capable de créer spontanément un code aléatoire totalement imprévisible et perpétuellement variable à chaque sollicitation du verrouillage, ce code aléatoire constituant alors le verrouillage proprement dit, ce verrouillage étant par suite immatériel, puisque ce n'est qu'un code, - un décodeur interne, incorporé à l'objet ou programme à protéger, qui, recevant le verrouillage (le code aléatoire susmentionné) va le convertir en un code de déverrouillage, ci-après nommé clef interne, cette clef interne étant donc intelligente, pseudo-aléatoire, spécifique et dépendante du verrouillage, car dérivée du code aléatoire de verrouillage par voie logique ; - un décodeur externe (22), en possession de l'utilisateur, qui, recevant également le verrouillage (le code aléatoire susmentionné) va lui aussi le convertir en un code de déverrouillage, ci-après nommé clef externe, cette clef externe étant donc intelligente, pseudoaléatoire, spécifique et dépendante du verrouillage, car dérivée du code aléatoire de verrouillage par voie logique;; - un comparateur, incorporé à l'objet ou programme à protéger, qui, comparant la clef interne déterminée par le décodeur interne susmentionné à la clef externe déterminée par le décodeur externe susmentionné, cette comparaison pouvant faire intervenir des transformations complexes de ces deux clefs, autorisera le déverrouillage si les deux clefs se correspondent ou le refusera si elles ne se correspondent pas au terme de cette comparaison, le code de verrouillage et les deux clefs (interne et externe) perdant ensuite toute existence, toute valeur, immédiatement après cette comparaison. 2- Dispositif selon la revendication 1, caractérisé par l'addition au dispositif de verrouillage interne (générateur et/ou décodeur interne et/ou comparateur) d'un ou plusieurs codes secrets pouvant influencer la détermination du code aléatoire de verrouillage et/ou la détermination de la clef interne et/ou la comparaison des clefs interne et externe. 3- Dispositif selon la revendication 1, caractérisé par une modification du décodeur externe l'obligeant à utiliser un ou plusieurs codes secrets, en plus du code de verrouillage, dans la détermination de la clef externe. 4.- Dispositif selon la revendication 1 caractérisé en ce que la sollicitation de ce dispositif oblige (autorise) l'utilisateur, à soumettre un code externe lors de cette sollicitation, ce code, ou un dérivé quelconque de ce code, étant ensuite utilisé pour contrôler l'utilisateur et/ou pour influencer la détermination du code aléatoire de verrouillage et/ou la détermination de la clef interne et/ou la comparaison des clefs interne et externe. 5.- Dispositif selon l'une des revendications 1 à 4, caractérisé en ce que la clef interne et la clef externe ne sont pas nécessairement de même nature et en ce que le comparateur du dispositif comporte des moyens pour manipuler, combiner, modifier ces clefs, avec ou sans participation de codes secrets internes ou externes, pour décider de l'ouverture de la serrure. 6- Dispositif selon la revendication 1, caractérisé en ce qu'il peut être réalisé entièrement ou en partie sous forme mécanique, électronique, purement logicielle (programme sur ordinateur ou microprocesseur) ou par toute combinaison appropriée de ces techniques, et en ce que le code de verrouillage et les clefs interne et externe du dispositif peuvent s'échanger entre les différents constituants du dispositif par voie matérielle, électronique, électrique, physique (ondes radio, signaux optiques, etc...) ou voyager sur tout système de télécommunications (réseaux téléphoniques, informatiques, télex ou autres, publics ou privés, par câbles ou satellites, etc...). 7- Dispositif selon l'une des revendications 1 à 6, caractérisé en ce que le code de verrouillage aléatoire issu du générateur, et/ou la clef déterminée par le décodeur interne, et/ou la clef déterminée par le décodeur externe peuvent être constitués par: - un signe visuel quelconque, tel qu'un nombre, un mot, une phrase, un code alphanumérique, une série de symboles quelconques, un dessin ou une série de couleurs, - ou des signaux de nature quelconque, par exemple des signaux électriques, des signaux optiques (visibles ou non), des signaux acoustiques, - ou toute combinaison des codes précédents, ou encore ne sont pas nécessairement tous de même nature (par exemple le code de verrouillage peut être un mot et les clefs des nombres), - et en ce que les échanges d'informations (code de verrouillage et clefs) entre les constituants du dispositif, ou les manipulations des clefs par le comparateur, peuvent requérir des transformations de ces codes ou clefs d'une forme sous une autre, par exemple transformer une clef de nature numérique en des signaux électriques afin de faire voyager cette clef sur un réseau de télécommunications ou de la traiter par voie électronique, ou toute autre transformation utile. 8- Dispositif selon la revendication 1, caractérisé en ce que le dispositif de verrouillage interne à l'objet ou programme à protéger (donc l'ensemble générateur, décodeur interne et comparateur), et le décodeur externe de l'utilisateur, peuvent être momentanément assemblés, connectés, reliés ou dotés de tout moyen de transmission jugé approprié, dans les cas semblables aux exemples suivants:: - le code de verrouillage et/ou les clefs qui s'échangent entre les composants du dispositif sont complexes (grandes séries de codes), - le code de verrouillage et/ou les clefs nécessitent ces moyens (codes sous forme de signaux électriques, acoustiques, optiques, - le dispositif de verrouillage et les décodeurs sont distants, le verrouillage et les clefs voyagent sur des réseaux télématiques, ou sont autrement transmis (onde radio, ligne téléphonique, câbles privés, etc...), - le déverrouillage d'un appareil est effectué par un boîtier à décodeur que lton y connecte (encastre, adjoint), les échanges entre code de verrouillage et clef externe se faisant alors directement à travers les contacts appareil/boîtier. 9- Dispositif selon l'une des revendications 1 à 7, caractérisé en ce que dans le cas où le code de verrouillage émis par le générateur et/ou la clef externe déterminée par le décodeur externe sont échangés entre dispositif interne (générateur, décodeur interne, comparateur) et utilisateur par voie visuelle, la serrure comportant le dispositif interne d'une part, et le boîtier comportant le décodeur externe de l'utilisateur d'autre part, comportent: - un ou des moyens de visualisation de ces codes, tels que des écrans d'affichage usuels dans l'industrie (18, 26), des affichages mécaniques, des diodes ou des lampes de couleurs, etc.... - et un ou des moyens permettant la saisie ou la reproduction de ces codes tels que claviers alphanumériques (16, 24), à symboles, à dessins ou à idéogrammes, boutons, poussoirs ou molettes, colorés ou non, porteurs ou non de chiffres, de lettres, de symboles, de dessins ou d'idéogrammes, potentiomètres ou tout autre moyen. 10- Dispositif selon la revendication 1 caractérisé en ce que le décodeur externe est réalisé sous forme d'un boîtier incorporant, outre le décodeur lui-même, toute autre fonction qui pourrait être utile à son propriétaire ou à l'objet protégé, par exemple - boîtier sous forme de calculatrice, d'agenda électronique, de montre, de réveil de bureau, d'ustensile de bureau, etc.... - verrouillage d'un programme informatique, le boîtier pouvant être une calculatrice offrant des fonctions utiles au programme lui-même. 11- Procédé de verrouillage d'un système matériel à protéger, tel que coffre-fort ou passage, ou à contrôler, tel qu'un appareillage ou des instruments, au moyen du dispositif selon l'une des revendications précédentes, caractérisé par les phases opératoires suivantes: - le dispositif en son état normal étant bloqué et totalement inerte, sans aucun verrouillage de commande, donc incapable de fonctionner et de se déverrouiller, l'utilisateur demande l'accès, ce qui met en fonction un générateur de code aléatoire, ledit générateur crée alors spontanément un code de verrouillage aléatoire devenant le verrouillage proprement dit du dispositif, et active un décodeur interne au dispositif, - ledit décodeur interne, inerte et non fonctionnel en son état normal, activé par l'existence nouvelle d'un code de verrouillage, détermine une clef dite interne à partir de ce code de verrouillage aléatoire, cette clef étant donc elle-même spontanément créée et pseudoaléatoire, - l'existence nouvelle de cette clef interne dans le dispositif active un comparateur qui autrement, dans son état normal, est inerte et incapable de fonctionner, - parallèlement, le code de verrouillage aléatoire est proposé à l'utilisateur qui, utilisant un décodeur externe au dispositif, va lui aussi déterminer une clef dite externe, cette clef étant donc elle-m#me spontanément créée et pseudo-aléatoire, - l'utilisateur communique alors sa clef externe au dispositif protégeant le matériel, qui à son tour la passe au comparateur, maintenant actif, - le comparateur compare les clefs interne et externe et provoque le déblocage du matériel protégé si ces clefs se correspondent, puis le comparateur détruit le code de verrouillage et les clefs interne et externe, replaçant ainsi le dispositif (générateur, décodeur interne et comparateur) en un état bloqué, inerte et incapable de fonctionner. 12.- Procédé de verrouillage d'un système informatique à protéger ou à contrôler, tel que programme d'ordinateur, réseau télématique, jeu vidéo, etc..., nommé généralement logiciel dans ce qui suit, au moyen du dispositif selon l'une des revendications 1 à 11, caractérisé en ce qu'il comprend les phases suivantes:: - on réalise le dispositif sous forme logicielle, ciaprès nommé programme de sécurité, le dispositif réalisant donc le générateur, le décodeur interne et le comparateur sous forme de programme d'ordinateur, - ce programme de sécurité prend le contrôle chaque fois que le logiciel protégé est sollicité (demandé, accédé), ce qui provoque l'activation du programme générateur de code de verrouillage aléatoire, le code aléatoire ainsi spontanément créé devenant alors le verrouillage du programme de sécurité et celui-ci pouvant alors activer son programme de décodeur interne, - ce programme décodeur interne, qui est normalement inactif et incapable de fonctionner sans information à traiter, reçoit le nouveau code de verrouillage aléatoire dont il va alors produire une clef dite interne, cette clef étant donc elle-même spontanément créée et pseudoaléatoire, - le programme de sécurité soumet ensuite le code de verrouillage à l'utilisateur qui, utilisant un décodeur externe au dispositif, va lui aussi déterminer une clef dite externe, cette clef étant donc elle-même spontanément créée et pseudo-aléatoire, - l'utilisateur communique sa clef externe au programme de sécurité, lequel active alors son programme comparateur à qui il soumet la clef interne et la clef externe, ce programme comparateur étant normalement inactif et incapable de fonctionner sans information à traiter, donc tant que des clefs ne lui sont pas soumises, - le comparateur compare les clefs interne et externe et agit selon le résultat de cette comparaison:: - si les clefs ne se correspondent pas le programme de sécurité transmet un message idoine à l'utilisateur, refuse l'accès au logiciel, détruit le code de verrouillage et les clefs interne et externe, replaçant ainsi le programme de sécurité (générateur, décodeur interne et comparateur) en son état initial inerte, non fonctionnel, puis se déconnecte lui-même, replaçant donc l'utilisateur dans sa situation de départ, - si ces clefs se correspondent alors le programme de sécurité détruit le code de verrouillage et les clefs interne et externe, se replaçant ainsi (générateur, décodeur interne et comparateur) en son état initial inerte, non fonctionnel, puis passe le contrôle au logiciel protégé qui prend alors en charge la suite des opérations et poursuit le dialogue avec l'utilisateur. 13.- Procédé de verrouillage d'un appareillage piloté par ordinateur, ou d'un objet matériel quelconque commandé par un ordinateur, ou d'un système informatique quelconque utilisé ou mis en oeuvre par un ordinateur, au moyen du dispositif selon l'une des revendications 1 à 12, caractérisé en ce que: : - l'utilisateur étant dans ces cas un ordinateur, celui-ci détient un décodeur externe réalisé sous forme logicielle, c'est-à-dire sous forme d'un programme qu'il exécute lui-même, l'appareillage piloté, l'objet matériel commandé, ou le système informatique mis en oeuvre, étant alors protégé par un des procédés décrits aux revendications 11 et 12 selon celui qui s'applique - le dialogue (échange du code de verrouillage et de la clef externe) entre l'objet ou programme protégé et l'ordinateur pilote se fait alors par toute voie de communication disponible dans l'industrie (téléphone, télex, réseaux informatiques, télécommunications par satellites, câbles privés, ondes émises, simples contacts électriques, ou utilisation combinée de ces techniques), le déroulement des étapes étant une adaptation évidente de celles décrites aux revendications 11 ou 12.