BE1009122A3 - Electronic key for safety activate and / or turn off the functions or special programs in a computer electronics in order to prevent the copy of the work programme of the computer. - Google Patents

Electronic key for safety activate and / or turn off the functions or special programs in a computer electronics in order to prevent the copy of the work programme of the computer. Download PDF

Info

Publication number
BE1009122A3
BE1009122A3 BE9401099A BE9401099A BE1009122A3 BE 1009122 A3 BE1009122 A3 BE 1009122A3 BE 9401099 A BE9401099 A BE 9401099A BE 9401099 A BE9401099 A BE 9401099A BE 1009122 A3 BE1009122 A3 BE 1009122A3
Authority
BE
Belgium
Prior art keywords
key
computer
routines
unit
function
Prior art date
Application number
BE9401099A
Other languages
French (fr)
Original Assignee
Awax Progettazione
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Awax Progettazione filed Critical Awax Progettazione
Priority to BE9401099A priority Critical patent/BE1009122A3/en
Priority to IT95GE000077A priority patent/IT1281819B1/en
Priority to CH02806/95A priority patent/CH691713A5/en
Application granted granted Critical
Publication of BE1009122A3 publication Critical patent/BE1009122A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2153Using hardware token as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Remote Sensing (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Storage Device Security (AREA)

Abstract

Clé électronique de sécurité destinée à activer et/ou désactiver les fonctions ou programmes spéciaux dans un ordinateur électronique dans le but d'empêcher la copie du programme de travail de l'ordinateur. Le programme de travail enregistré dans la mémoire EPROM d'un ordinateur électronique affecté, par exemple, à la commande d'une machine d'emballage de produits au moyen d'un film extensible ou d'une autre machine automatique peut actuellement être copié avec une extrême facilité. Le but de l'invention est de remédier à cet inconvénient en liant audit ordinateur électronique par accouplement interactif une unité électronique de sécurité, appelée ci-après pour simplifier "clé", qui a pour fonction d'activer ou de désactiver des fonctions ou programmes spéciaux dans cet ordinateur. La clé est constituée d'une mini-carte en CMS, logée dans un conteneur de petites dimensions, noyée dans une résine spéciale et dotée d'une unique puce qui peut être masquée ou programmée une seule fois. La clé est un système fermé et autonome, qui contient dans son volume intérieur des mémoires PROM, RAM et EEPROM etelle peut être connectée à l'ordinateur principal par un port ...Electronic security key intended to activate and / or deactivate special functions or programs in an electronic computer in order to prevent the copying of the work program from the computer. The work program stored in the EPROM memory of an electronic computer assigned, for example, to the control of a product packaging machine using stretch film or another automatic machine can currently be copied with extreme ease. The object of the invention is to remedy this drawback by linking to said electronic computer by interactive coupling an electronic security unit, called hereinafter to simplify "key", which has the function of activating or deactivating functions or programs specials in this computer. The key consists of a CMS mini-card, housed in a small container, embedded in a special resin and equipped with a single chip which can be hidden or programmed only once. The key is a closed and autonomous system, which contains inside its PROM, RAM and EEPROM memories and can be connected to the main computer by a port ...

Description

       

   <Desc/Clms Page number 1> 
 



   Clé électronique de sécurité destinée à   activer et/ou   désactiver les fonctions ou programmes spéciaux dans un ordinateur électronique dans le but d'empêcher la copie du programme de travail de l'ordinateur 
Le programme de travail enregistré dans la mémoire EPROM d'un ordinateur électronique affecté, par exemple, à la commande d'une machine d'emballage de produits au moyen d'un film extensible ou d'une autre machine automatique peut actuellement être copié avec une extrême facilité Le but de l'invention est de remédier à cet inconvénient en liant audit ordinateur électronique par accouplement Interactif une unité électronique de sécurité, appelée   ci-après   pour   simplifier "clé",

   qUI   a pour fonction d'activer ou de désactiver des fonctions ou programmes spéciaux dans cet ordinateur
La clé est constituée d'une mini-carte en CMS, logée dans un conteneur de petites dimensions, noyée dans une résine spéciale et dotée d'une unique puce qui peut être masquée ou programmée une seule fois La clé est un système fermé et autonome, qui contient dans son volume intérieur des mémoires PROM, RAM et EEPROM et elle peut être connectée à l'ordinateur principal par un port   série,   sans porter à l'extérieur du bus d'autres signaux, et ceci pour garantir une grande sécurité contre la copie
Pour pouvoir enregistrer la totalité du programme de l'ordinateur principal,

   le programme de cet ordinateur peut être écrit de manière à n'activer la machine automatique à laquelle il est raccordé que si l'habilitation a été fournie et maintenue par des demandes continuelles à la clé
Au contraire, pour pouvoir enregistrer uniquement certaines fonctions principales du programme, une partie du programme de l'ordinateur fonctionne dans le mode normal et seules certaines fonctions 

 <Desc/Clms Page number 2> 

 sont activées par l'habilitation de la clé Dans ce cas, on a le grand avantage d'avoir la partie principale du programme dans une version unique et standardisée C'est le programme   fût-même   qui devra vérifier la présence de la clé et activer les fonctions particulières. 



   Comme cela sera mieux précisé plus loin, la clé pourra être personnalisée pendant la phase de programmation de l'ordinateur principal, par insertion de fonctions particulières qui empêchent de copier la partie principale du programme, et par insertion dans cette clé de blocs de programmes, de routines propres et de parties de routines qui, pendant la phase de travail de l'ordinateur principal, sont transférés dans la mémoire RAM de celui-ci pour être exécutés
Avec les mêmes parties qui composent normalement une clé, on peut construire plusieurs clés personnalisées, préparées pour enregistrer différentes fonctions, et plusieurs clés peuvent être connectées entre elles en cascade et être préparées pour travailler en synchronisation avec l'ordinateur principal
D'autres caractéristiques de l'invention, et les avantages qui en dérivent,

   ressortiront clairement de la description qui va suivre d'un mode réalisation préféré de l'invention, qui est lustré uniquement à titre d'exemple non limitatif, sur les figures des quatre planches de dessins annexés sur lesquelles la figure 1 est un schéma-bloc qui montre la composition et le fonctionnement de la clé ;

   la figure 2 illustre par un schéma-bloc la formation des programmes de travail tant dans la clé selon l'invention que dans l'ordinateur principal qui commande le fonctionnement de la machine automatique, les figures 3 et 4 illustrent par un schéma-bloc deux déroulements d'opérations de la clé selon l'invention
Sur la figure 1, on remarque que la clé 1 est normalement munie d'au moins une prise 2 pour la connexion par port série à l'ordinateur principal 4 de la machine automatique et à un support d'activation externe qui peut être représenté par un ordinateur comme on le dit plus loin ou par un autre moyen adapté En 3, on a indiqué une autre prise éventuelle destinée à permettre de connecter en cascade entre elles plusieurs clés qui travailleront en synchronisme avec l'ordinateur principal 4 

 <Desc/Clms Page number 3> 

 
Comme on l'a déjà dit,

   la clé comprend une unique puce 5, avec ses mémoires RAM   6-PROM 7-EEPROM   8 En 9, on a indiqué une unité logique qui dirige toutes les fonctions de la puce unique et qui a été spécialement étudiée pour permettre l'insertion de paramètres et/ou de routines de programmation aptes à personnaliser le caractère opérationnel de la clé
Le bloc 10 indique le programme de gestion série Par exemple, ce bloc a été préparé pour gérer les ports série communs RS232 et RS485, avec possibilité d'extension à d'autres types de communication Il peut avoir un débit en bauds programmable par matériel ou logiciel, aussi bien pendant la phase de production de la clé que pendant son utilisation,

   avec possibilité de modifier la vitesse même à   l'intérieur   du message unique Les bits de panté peuvent aussi être programmés par matériel ou logiciel, aussi bien dans la phase de la construction que dans la phase du fonctionnement de la clé, et on a aussi prévu   la possibilité d'introduire   des erreurs de blocs selon des règles programmables, le tout dans le but de rendre extrêmement compliquées toutes les tentatives d'interprétation des messages
Le bloc 11 indique le gestionnaire des protocoles de communication Comme cela se produit pour la gestion physique de la communication, Il est également possible de programmer le type de protocole au niveau logique.

   Certains types de protocoles de communication sont déjà prévus en standard dans le programme de la clé et d'autres peuvent être ajoutés sur Indications spécifiques du constructeur des machines automatiques Le bloc 11 est aussi préparé pour la reconnaissance de la clé à laquelle le message est adressé, en capturant uniquement les messages relatifs à cette clé
Le bloc 12 concerne la routine des entrées Il exécute la traduction des messages provenant de l'ordinateur 4 de la machine automatique et qui, au niveau du port série, transitent sous une forme cryptée selon des règles qui peuvent être modifiées dans le temps
Le bloc 13 exécute le traitement des entrées Il traite les messages provenant du bloc 12,

   en distinguant les réponses à des ordres envoyés précédemment des nouveaux ordres provenant de l'ordinateur 4 Pour les premiers le traitement s'arrête à ce bloc tandis que les autres ordres sont 

 <Desc/Clms Page number 4> 

 transférés aux routines de niveau supérieur affectés aux diverses fonctions. 



   Le bloc 14 est l'analyseur des événements aléatoires Il sert à augmenter le nombre des combinaisons possibles, en laissant au hasard la vérification d'un événement particulier et d'une condition particulière. 



   Ces routines commandent lorsque les éléments spécifiés se vérifient
Le bloc 15 est le gestionnaire des événements aléatoires. Il est affecté aux règles de la causalité, règles qui peuvent changer dans le temps et dont la fonction peut être modifiée à l'aide de tables spécialement prévues
Le bloc 16 concerne les routines de traitement des ordres Il est affecté à la gestion des nouveaux ordres qu doivent être envoyés par la clé, en relation avec la logique et avec   les règles qui   sont actives à ce moment
Le bloc 17 est le superviseur du système servant à coder/décoder et crypter/décrypter C'est le gestionnaire de la logique de codage qui accepte les   règles Imposées   dans la phase de programmation de la clé (voir plus loin) et qui, ensuite,

   exécute ces règles selon les conditions particulières de la logique Interne de fonctionnement de la clé ou de la logique de fonctionnement,   qui sont imposées   cas par cas par l'ordinateur 4
Le bloc 18 concerne la gestion des programmes du constructeur de la machine automatique Il n'intervent que dans le cas où, dans la phase de programmation de la clé (voir plus loin), on a mélangé dans le programme de la clé des parties de programmes ou de routines qui doivent,

   en réalité être exécutées dans l'ordinateur 4 Le bloc 18 assure la gestion de ces parties de programmes ou de routines et établit les temps et les modes de transfert des procédures dans l'ordinateur 4
Le bloc 19 concerne le programme de traitement des sorties Il prépare les messages à envoyer à l'ordinateur 4
Le bloc 20 concerne la routine de codage des messages de sortie Il travaille symétriquement par rapport au bloc 12 de routine de décodage des entrées Il exécute la traduction des messages préparés par le bloc 19 de traitement des sorties dans le format dans lequel ils doivent être transmis sur la ligne série et   selon les règles qui   sont actives à ce 

 <Desc/Clms Page number 5> 

 moment
Les blocs 21 et 22 concernent les programmes d'activation et 
 EMI5.1 
 désactivation de la clé connectée à l'ordinateur 4.

   Il faut la présence d'un support d'activation externe comme, par exemple, un ordinateur ou autre appareil connecté à la pnse 2, comme indiqué par 102, pour transmettre à la clé les données qui identifient l'ordinateur 4 de façon univoque
Sur la figure 2, on a représenté une   possibilité   pour un système de personnalisation de la clé, pour faire en sorte que sa logique de fonctionnement soit secrète A cet effet, la clé 1 et l'ordinateur 4 de la machine automatique sont connectés à un ordinateur personnel (PC) 25 par des dispostifs de progammations de PROM 23 et 27 respectifs.

   Le dispositif de programmation se sert d'une bibliothèque de macrosystèmes 28 et de programmes, de procédures et de routines de base 30 Par les programmes spécialement prévus qui tournent sur le PC 25, le dispositif de programmation peut engendrer un logiciel comportant des systèmes et algorithmes, qui ne seront portés à la connaissance que des personnes autorisées Avec des programmes spécialement prévus, le même dispositif de programmation pourra éventuellement introduire dans le logiciel de la clé, des routines 31 propres et spécifiques à la machine commandée par l'ordinateur 4 Une fois défini l'ensemble du programme dans ses diverses parties, on engendrera, par le compilateur et link (lien)   29,   les fichiers qui constituent le programme objet 24 et qui seront employés pour la programmation de la clé,

   par le dispositif de programmation de PROM 23 Par une procédure analogue, en utilisant des routines écrites en   langage "C" et qUI   sont donc facilement transportables, le dispositif de programmation pourra créer le logiciel d'interface 26 à Insérer dans l'ordinateur 4 de la machine par le dispositif de programmation de PROM 27
Il reste entendu que dans une autre forme de réalisation de l'invention, la programmation de la clé pourra être exécutée avec une phase dite de masquage Les fichiers du programme sont fournis au constructeur de la puce unique 5 de la figure 1,

   lequel procèdera à l'insertion du programme de l'utilisateur dans ce composant
Les figures 3 et 4 montrent de façon simplifiée un déroulement possible d'opérations   d'interfaçage   entre une clé 1 et l'ordinateur 4 d'une 

 <Desc/Clms Page number 6> 

 machine automatique où certaines fonctions doivent être protégées Dans ce cas, Il est prévu que l'ordinateur de la machine ait son code d'identification enregistré en mémoire et que la clé ait été préalablement conditionnée dans l'accouplement à cet ordinateur particulier.

   Sur la figure 3, on a représenté en particulier le déroulement d'opérations d'activation de la fonction, tandis que, sur la figure 4, on a Illustré la procédure servant à maintenir cette fonction active
A la phase 32 de départ, font suite les phases 33 et 34 d'activation aussi bien du programme de l'ordinateur 4 que de   la clé 1.

   S'il y   a une demande 35 de fonction spéciale de l'opérateur qui commande le fonctionnement de la machine automatique et qui intervent à cet effet sur l'ordinateur   4,   ce dernier envoie à la clé une demande 37 de dialogue Si la clé n'est pas présente, la fonction demandée n'est pas activée et le programme de demande prend fin comme indiqué en 36 Si, au contraire, la clé est présente, la phase 38 prévoit que le programme de la clé envoie à l'ordinateur 4, selon une règle aléatoire établie, une série d'informations qui caractérisent les messages et les ordres qui sont échangés entre les parties 1 à 4 à partir de ce moment, et qu'il envoie une table qui définit comment coder/décoder et/ou   crypte r/décrypte r les différents   messages On charge en outre dans la mémoire RAM de l'ordinateur 4 des routines,

   qui seront exécutées pendant la reconnaissance d'activation de la fonction. Entre les phases 37 et 38 précitées, Il y a une phase intermédiaire 39 de vérification de la présence de la clé et dans la négative, il y absence d'activation 40 de la fonction, avec interruption 41 du déroulement des opérations. 



   Après la phase 38, en suivant la logique définie plus haut, l'ordinateur 4 envoie en mode masqué son propre code d'identification et le code de la fonction à activer, comme indiqué en 42 Y fait suite une phase 43 de vérification de la validité des données envoyées par l'ordinateur 4 et, si la clé ne reconnaît pas la validité de ces données, aussi bien en tant que contenu qu'en tant que code, elle annule ce qui a été envoyé précédemment et la fonction n'est pas activée, comme indiqué par la succession des phases 44 et 45
Dans le cas où la demande a satisfait aux divers contrôles, la clé 1 envoie en mode masqué son accord 46 pour activer la fonction 47 et les 

 <Desc/Clms Page number 7> 

 routines nécessaires pour rendre la fonction opérationnelle,

   après quoi le déroulement des opérations prend fin comme indiqué en 48
Pour éviter qu'une fois la fonction activée, la clé 1 ne soit déconnectée et utilisée pour activer la même fonction sur d'autres machines, il peut être prévu que l'ordinateur 4 continue à exiger l'accord pour le maintien en activité de la fonction
La figure 4 montre un déroulement des opérations de vérification continue de la présence de la clé. 



   Après exécution de l'activation 49 et après la phase de reconnaissance de la clé, l'ordinateur 4 commence à dialoguer selon la règle, les tables et les routines établies dans la phase   d'inittalisation   50 et, dans la phase suivante 51, il envoie un ordre pour vérifier continuellement la présence de la clé Cette   vénflcatlon   s'effectue conformément aux règles, à la table de codage et aux routines actifs à ce moment,   c'est-à-dire   sur la base des dernières informations envoyées par la clé 1
Dans la phase 52, la clé interprète le message selon les mêmes règles et, dans la phase 53, SI l'analyseur des événements aléatoires établit, que la condition 54 nécessaire pour modifier la logique et les modalités de transmission est vérifiée,

   elle réclame intervention 55 du gestionnaire des éléments aléatoires,   qu ! établi   selon un algorithme propre les nouvelles règles, la nouvelle table de transcodage et les nouvelles routines qui devront être activées dans l'ordinateur 4
Cette logique est envoyée à l'ordinateur 4 par le critère de transmission précédent et, à partir de ce moment, les nouvelles règles indiquées en 56 prennent la place des règles précédentes désignées par 50
Parallèlement, la clé envoie son accord 57 pour le maintien de la fonction spéciale par la dernière logique convenue entre les unités 1 et 4 L'ordinateur 4 reçoit l'accord 58, la fonction 59 reste active et le déroulement des opérations se termine comme   indiqué   par 60
Dans le cas où l'ordinateur 4 ne   reçoit   pas une réponse de la clé 1,

   le caractère opérationnel 61 de la fonction spéciale est supprimé, la routine 62 chargée dans la mémoire RAM s'auto-détruit et le déroulement des opérations se termine comme Indiqué par 63



   <Desc / Clms Page number 1>
 



   Electronic security key intended to activate and / or deactivate special functions or programs in an electronic computer in order to prevent the copying of the work program from the computer
The work program stored in the EPROM memory of an electronic computer assigned, for example, to the control of a product packaging machine using stretch film or another automatic machine can currently be copied with extreme ease The object of the invention is to remedy this drawback by linking to said electronic computer by interactive coupling an electronic security unit, called hereinafter to simplify "key",

   qUI has the function of activating or deactivating special functions or programs in this computer
The key consists of a CMS mini-card, housed in a small container, embedded in a special resin and equipped with a single chip which can be hidden or programmed only once The key is a closed and autonomous system , which contains in its internal volume PROM, RAM and EEPROM memories and it can be connected to the main computer by a serial port, without carrying outside the bus other signals, and this to guarantee a high security against the copy
To be able to save the entire program from the main computer,

   the program of this computer can be written so as to activate the automatic machine to which it is connected only if the authorization has been provided and maintained by continual requests to the key
On the contrary, to be able to record only certain main program functions, part of the computer program works in normal mode and only certain functions

 <Desc / Clms Page number 2>

 are activated by enabling the key In this case, we have the great advantage of having the main part of the program in a single, standardized version. It is the program itself that will have to check the presence of the key and activate particular functions.



   As will be better explained below, the key can be personalized during the programming phase of the main computer, by inserting particular functions which prevent copying the main part of the program, and by inserting program blocks into this key, own routines and parts of routines which, during the working phase of the main computer, are transferred to the RAM memory of this one to be executed
With the same parts that normally compose a key, one can build several personalized keys, prepared to record different functions, and several keys can be connected to each other in cascade and be prepared to work in synchronization with the main computer.
Other characteristics of the invention, and the advantages derived therefrom,

   The following description will clearly emerge from a preferred embodiment of the invention, which is illustrated only by way of nonlimiting example, in the figures of the four sheets of annexed drawings in which FIG. 1 is a block diagram. which shows the composition and the functioning of the key;

   FIG. 2 illustrates by a block diagram the formation of the work programs both in the key according to the invention and in the main computer which controls the operation of the automatic machine, FIGS. 3 and 4 illustrate by a block diagram two key operations according to the invention
In FIG. 1, it can be seen that the key 1 is normally provided with at least one socket 2 for connection by serial port to the main computer 4 of the automatic machine and to an external activation support which can be represented by a computer as we say later or by another suitable means In 3, we indicated another possible socket intended to allow to connect in cascade between them several keys which will work in synchronism with the main computer 4

 <Desc / Clms Page number 3>

 
As we said before,

   the key includes a single chip 5, with its RAM memories 6-PROM 7-EEPROM 8 In 9, a logic unit has been indicated which directs all the functions of the single chip and which has been specially studied to allow the insertion of parameters and / or programming routines capable of personalizing the operational nature of the key
Block 10 indicates the serial management program. For example, this block has been prepared to manage the common serial ports RS232 and RS485, with the possibility of extension to other types of communication. It can have a baud rate programmable by hardware or software, both during the production phase of the key and during its use,

   with the possibility of modifying the speed even inside the single message. The bits of panté can also be programmed by hardware or software, as well in the phase of construction as in the phase of operation of the key, and one also envisaged the possibility of introducing block errors according to programmable rules, all with the aim of making all attempts to interpret messages extremely complicated
Block 11 indicates the manager of the communication protocols. As happens for the physical management of the communication, it is also possible to program the type of protocol at the logical level.

   Certain types of communication protocols are already provided as standard in the key program and others can be added on Specific indications from the manufacturer of automatic machines. Block 11 is also prepared for recognition of the key to which the message is addressed. , capturing only messages related to this key
Block 12 concerns the input routine It performs the translation of messages coming from computer 4 of the automatic machine and which, at the level of the serial port, pass in an encrypted form according to rules which can be modified over time
Block 13 performs input processing. It processes messages from block 12,

   by distinguishing responses to previously sent orders from new orders from the computer 4 For the first, processing stops at this block while the other orders are

 <Desc / Clms Page number 4>

 transferred to the higher level routines assigned to the various functions.



   Block 14 is the analyzer of random events. It is used to increase the number of possible combinations, leaving the verification of a particular event and a particular condition to chance.



   These routines control when the specified elements are verified
Block 15 is the manager of random events. It is assigned to the rules of causation, rules which can change over time and whose function can be modified using specially provided tables
Block 16 concerns the routines for processing orders. It is assigned to the management of new orders that must be sent by the key, in relation to the logic and the rules which are active at this time.
Block 17 is the supervisor of the system used to code / decode and encrypt / decrypt It is the manager of the coding logic which accepts the rules imposed in the programming phase of the key (see below) and which, then,

   executes these rules according to the specific conditions of the internal operating logic of the key or the operating logic, which are imposed case by case by the computer 4
Block 18 concerns the management of the programs of the manufacturer of the automatic machine. It only intervenes in the case where, in the key programming phase (see below), parts of the key have been mixed in the key program. programs or routines that need to,

   actually be executed in the computer 4 Block 18 ensures the management of these parts of programs or routines and establishes the times and the modes of transfer of the procedures in the computer 4
Block 19 concerns the output processing program It prepares the messages to be sent to the computer 4
Block 20 concerns the routine for coding output messages. It works symmetrically with respect to block 12 for routine for decoding inputs. It performs the translation of the messages prepared by block 19 for processing outputs in the format in which they are to be transmitted. on the serial line and according to the rules that are active at this

 <Desc / Clms Page number 5>

 moment
Blocks 21 and 22 concern the activation programs and
 EMI5.1
 deactivation of the key connected to the computer 4.

   It is necessary to have the presence of an external activation medium such as, for example, a computer or other device connected to the pnse 2, as indicated by 102, to transmit to the key the data which uniquely identify the computer 4
In Figure 2, there is shown a possibility for a key personalization system, to ensure that its operating logic is secret For this purpose, the key 1 and the computer 4 of the automatic machine are connected to a personal computer (PC) 25 by programming devices from PROM 23 and 27 respectively.

   The programming device uses a library of macrosystems 28 and of basic programs, procedures and routines 30 By the specially provided programs which run on the PC 25, the programming device can generate software comprising systems and algorithms , which will only be brought to the attention of authorized persons With specially planned programs, the same programming device could possibly introduce into the software of the key, routines 31 specific to the machine controlled by the computer 4 Once defined the whole program in its various parts, we will generate, by the compiler and link (link) 29, the files which constitute the program object 24 and which will be used for programming the key,

   by the PROM programming device 23 By a similar procedure, using routines written in "C" language and which are therefore easily transportable, the programming device can create the interface software 26 to be inserted into the computer 4 of the machine by the PROM 27 programming device
It is understood that in another embodiment of the invention, the programming of the key can be executed with a so-called masking phase. The program files are supplied to the manufacturer of the single chip 5 in FIG. 1,

   which will insert the user program into this component
Figures 3 and 4 show in a simplified manner a possible course of interfacing operations between a key 1 and the computer 4 of a

 <Desc / Clms Page number 6>

 automatic machine where certain functions must be protected In this case, provision is made for the machine's computer to have its identification code stored in memory and for the key to be pre-conditioned in connection with this particular computer.

   In FIG. 3, the sequence of activation operations of the function has been shown in particular, while in FIG. 4, the procedure for maintaining this active function has been illustrated.
At the starting phase 32, phases 33 and 34 of activation follow both the program of the computer 4 and the key 1.

   If there is a request 35 for a special function from the operator who controls the operation of the automatic machine and who intervene for this purpose on the computer 4, the latter sends the key a dialog request 37 If the key n is not present, the requested function is not activated and the request program ends as indicated in 36 If, on the contrary, the key is present, phase 38 provides that the key program sends to the computer 4 , according to an established random rule, a series of information which characterizes the messages and orders which are exchanged between parts 1 to 4 from this moment, and that it sends a table which defines how to encode / decode and / or encrypts r / decrypts the various messages Routines are also loaded into the computer's RAM memory 4

   which will be executed during the recognition of activation of the function. Between the aforementioned phases 37 and 38, there is an intermediate phase 39 of verifying the presence of the key and if not, there is no activation 40 of the function, with interruption 41 of the progress of operations.



   After phase 38, following the logic defined above, the computer 4 sends in masked mode its own identification code and the code of the function to be activated, as indicated in 42 There follows a phase 43 of checking the validity of the data sent by computer 4 and, if the key does not recognize the validity of this data, both as content and as code, it cancels what was sent previously and the function is not not activated, as indicated by the succession of phases 44 and 45
If the request has satisfied the various checks, the key 1 sends its agreement in masked mode 46 to activate the function 47 and the

 <Desc / Clms Page number 7>

 routines necessary to make the function operational,

   after which the course of operations ends as indicated in 48
To avoid that once the function is activated, the key 1 is not disconnected and used to activate the same function on other machines, it can be provided that the computer 4 continues to require the agreement for the maintenance in activity of function
Figure 4 shows a sequence of operations for continuous verification of the presence of the key.



   After execution of activation 49 and after the key recognition phase, the computer 4 begins to dialogue according to the rule, the tables and the routines established in the initialization phase 50 and, in the next phase 51, it sends an order to continuously check the presence of the key This venflcatlon is carried out in accordance with the rules, the coding table and the routines active at that time, that is to say on the basis of the latest information sent by the key 1
In phase 52, the key interprets the message according to the same rules and, in phase 53, IF the analyzer of random events establishes, that the condition 54 necessary to modify the logic and the modalities of transmission is verified,

   it requires intervention 55 from the manager of random elements, qu! established according to an own algorithm the new rules, the new transcoding table and the new routines which will have to be activated in the computer 4
This logic is sent to computer 4 by the previous transmission criterion and, from this moment, the new rules indicated in 56 take the place of the previous rules designated by 50
At the same time, the key sends its agreement 57 for the maintenance of the special function by the last logic agreed between the units 1 and 4 The computer 4 receives the agreement 58, the function 59 remains active and the sequence of operations ends as indicated by 60
If computer 4 does not receive a response from key 1,

   the operational character 61 of the special function is deleted, the routine 62 loaded in the RAM memory self-destructs and the flow of operations ends as indicated by 63


    

Claims (5)

REVENDICATIONS 1. Clé électronique de sécurité, destinée à activer ou désactiver des fonctions ou programmes spéciaux dans un ordinateur électronique (4), en vue d'empêcher la copie du programme de travail de cet ordinateur, caractérisée en ce qu'elle comprend - au moins une prise (2) pour la connexion par port série à l'ordinateur électronique (4) et à un support d'activation externe comme, par exemple, un PC ou autre moyen adapté, - une unique puce (5) ayant ses propres mémoires PROM, RAM et EEPROM (6-7-8) ; - une unité logique (9) qui dirige toutes les fonctions de la puce unique ; CLAIMS 1. Electronic security key, intended to activate or deactivate special functions or programs in an electronic computer (4), with a view to preventing the copying of the work program of this computer, characterized in that it comprises - at least a socket (2) for connection by serial port to the electronic computer (4) and to an external activation medium such as, for example, a PC or other suitable means, - a single chip (5) having its own memories PROM, RAM and EEPROM (6-7-8); - a logic unit (9) which directs all the functions of the single chip; - une unité (10) de gestion série, par exemple du type RS232 et RS485, éventuellement avec un débit de bauds et des bits de parité programmables, et avec possibilité d'introduire des erreurs de blocs selon des règles programmables, - une unité (11) pour la gestion des protocoles de communication, - une unité (12) de routines pour le décodage des entrées, - une unité (13) pour le traitement des entrées, - une unité (14) pour l'analyse des événements aléatoires, - une unité (15) pour la gestion des événements aléatoires, - une unité (16) de routines pour le traitement des ordres, - une unité (17) de supervision du système servant à coder/décoder et/ou crypter/décrypter, - une unité (18) pour la gestion des programmes de l'utilisateur, - une unité (19) pour le traitement des sorties.  - a serial management unit (10), for example of the RS232 and RS485 type, possibly with a baud rate and programmable parity bits, and with the possibility of introducing block errors according to programmable rules, - a unit ( 11) for the management of the communication protocols, - a unit (12) of routines for the decoding of the inputs, - a unit (13) for the processing of the inputs, - a unit (14) for the analysis of random events, - a unit (15) for managing random events, - a unit (16) of routines for processing orders, - a unit (17) for supervising the system used to code / decode and / or encrypt / decrypt, - a unit (18) for managing user programs, - a unit (19) for processing outputs. - une unité (20) de routines pour le codage des sorties - des unités (21-22) pour l'activation de la clé. <Desc/Clms Page number 9> les composants précités étant montés dans une mini-carte en CMS, de préférence noyée dans une résine spéciale et logée dans un petit conteneur d'où émerge ladite prise de connexion (2) - a unit (20) of routines for coding the outputs - units (21-22) for activating the key.  <Desc / Clms Page number 9>  the aforementioned components being mounted in a mini-card in CMS, preferably embedded in a special resin and housed in a small container from which emerges said connection socket (2) 2 Clé électronique selon la revendication 1, caractérisée en ce qu'elle comprend une deuxième prise (3) pour la connexion série en cascade avec d'autres clés analogues, qui sont toutes préparées pour opérer en synchronisme avec l'ordinateur principal (4)2 electronic key according to claim 1, characterized in that it comprises a second socket (3) for the serial connection in cascade with other similar keys, which are all prepared to operate in synchronism with the main computer (4) 3 Clé électronique selon la revendication 1, caractérisée en ce que, pour la programmation, la clé (1) et l'ordinateur pnnclpal (4) sont connectés à un PC (25) avec interposition de dispositifs de programmation de PROM (23 à 27) 3 electronic key according to claim 1, characterized in that, for programming, the key (1) and the pnnclpal computer (4) are connected to a PC (25) with interposition of PROM programming devices (23 to 27 ) respectifs, il est prévu qu'au moyen d'une bibliothèque de macro-systèmes (28), de programmes, procédures et routines de base (30) et de programmes spécialement prévus insérés dans le PC précité (25), on engendre le logiciel secret et personnalisé dans lequel peuvent être aussi introduits des routines (31) spécifiques à l'ordinateur (4) de la machine, il est prévu qu'après l'exécution de la définition du programme, par un compilateur et link (lien) (29), sont engendrés les fichiers qui constituent le programme objet (24) de la clé qui sera enregistré dans la clé par le dispositif de programmation de PROM (23), il est prévu qu'avec une procédure analogue, en se servant de routines (31) écrites en langage"C", on crée le logiciel d'interface (26) qui sera inséré dans l'ordinateur (4)  respective, it is intended that by means of a library of macro-systems (28), of programs, procedures and basic routines (30) and of specially planned programs inserted in the aforementioned PC (25), the software is generated. secret and personalized into which routines (31) specific to the computer (4) of the machine can also be introduced, it is intended that after the execution of the definition of the program, by a compiler and link (link) ( 29), are generated the files which constitute the object program (24) of the key which will be recorded in the key by the programming device of PROM (23), it is expected that with an analogous procedure, using routines (31) written in "C" language, we create the interface software (26) which will be inserted into the computer (4) de la machine par son dispositif de programmation de PROM (27) of the machine by its PROM programming device (27) 4 Clé électronique selon la revendication 3, caractérisée en ce que les fichiers qui constituent le programme objet (24) de la clé sont fournis différemment au constructeur de la puce unique (5) de la clé qui procèdera à l'insertion et au masquage dudit programme dans ce composant4 electronic key according to claim 3, characterized in that the files which constitute the object program (24) of the key are supplied differently to the manufacturer of the single chip (5) of the key which will proceed with the insertion and masking of said key program in this component 5 Clé électronique selon la revendication 1, caractérisée par le déroulement d'opérations suivant - départ (32), - départ programme machine (33), - départ programme clé (34), - demande de fonction spéciale (35) - Non Sortir (36), <Desc/Clms Page number 10> - Oui. Ordinateur principal (4) envoie demande d'activation de dialogue (37) ; - Clé présente (39), EMI10.1 - Non Fonction non activée (40 sortie (41) - Oui. 5 Electronic key according to claim 1, characterized by the following sequence of operations - start (32), - start machine program (33), - start key program (34), - request for special function (35) - No Exit ( 36),  <Desc / Clms Page number 10>  - Yes. Main computer (4) sends dialogue activation request (37); - Key present (39),  EMI10.1  - No Function not activated (40 output (41) - Yes. Clé envoie règles-tables-routines (38) - Ordinateur principal (4) envoie code identification et fonction (42) ; - Données valables (43) ; - Non Fonction non activée (44) Sortir (45), - OUI. Clé envoie accord routines opérationnelles (46) ; - Fonction activée (47), - Sortir (48) 5 Clé électronique selon la revendication 1, caractérisée par le déroulement d'opérations suivant - Départ (49) :  Key sends rules-tables-routines (38) - Main computer (4) sends identification and function code (42); - Valid data (43); - No Function not activated (44) Exit (45), - YES. Key sends operational routines agreement (46); - Function activated (47), - Exit (48) 5 Electronic key according to claim 1, characterized by the following sequence of operations - Departure (49): - Ordinateur principal (4) travaille avec ses propres règles, tables et routines (50), - Ordinateur principal (4) envoie ordre pour vérification continue de présence de clé (51), - La clé (1) analyse le message (52) - Dans) a dé, intervient l'analyseur des événements aléatoires (53), - Modification du codage de la clé (54), - Gestionnaire des événements aléatoires prépare nouvelle logique (55), - Clé envoie à l'ordinateur principal (4) nouvelles règles, tables et nouvelles routines (56) qui prennent la place des précédentes (50), - Envoie accord pour fonction active à conserver (57), - Autorisation à l'ordinateur principal (58), - Oui La fonction reste active (59) Sortir (60), - Non La fonction est désactivée (61) Routines travaillant effacées (62) Sortir (63)    - Main computer (4) works with its own rules, tables and routines (50), - Main computer (4) sends order for continuous verification of the presence of key (51), - The key (1) analyzes the message (52) - In) a dice, intervenes the analyzer of random events (53), - Modification of the coding of the key (54), - Manager of random events prepares new logic (55), - Key sends to the main computer (4 ) new rules, tables and new routines (56) which take the place of the previous ones (50), - Sends agreement for active function to keep (57), - Authorization to the main computer (58), - Yes The function remains active (59) Exit (60), - No The function is deactivated (61) Routines working erased (62) Exit (63)
BE9401099A 1994-12-05 1994-12-05 Electronic key for safety activate and / or turn off the functions or special programs in a computer electronics in order to prevent the copy of the work programme of the computer. BE1009122A3 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
BE9401099A BE1009122A3 (en) 1994-12-05 1994-12-05 Electronic key for safety activate and / or turn off the functions or special programs in a computer electronics in order to prevent the copy of the work programme of the computer.
IT95GE000077A IT1281819B1 (en) 1994-12-05 1995-07-12 ELECTRONIC SECURITY KEY, TO ACTIVATE AND/OR DEACTIVATE SPECIAL FUNCTIONS OR PROGRAMS IN AN ELECTRONIC COMPUTER, WHERE
CH02806/95A CH691713A5 (en) 1994-12-05 1995-10-05 Electronic security key for controlling use of computer software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
BE9401099A BE1009122A3 (en) 1994-12-05 1994-12-05 Electronic key for safety activate and / or turn off the functions or special programs in a computer electronics in order to prevent the copy of the work programme of the computer.

Publications (1)

Publication Number Publication Date
BE1009122A3 true BE1009122A3 (en) 1996-12-03

Family

ID=3888519

Family Applications (1)

Application Number Title Priority Date Filing Date
BE9401099A BE1009122A3 (en) 1994-12-05 1994-12-05 Electronic key for safety activate and / or turn off the functions or special programs in a computer electronics in order to prevent the copy of the work programme of the computer.

Country Status (3)

Country Link
BE (1) BE1009122A3 (en)
CH (1) CH691713A5 (en)
IT (1) IT1281819B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2762417A1 (en) * 1997-04-16 1998-10-23 Gemplus Card Int Security system preventing unauthorised copying of computer software from distribution disks
WO1999066387A1 (en) * 1998-06-12 1999-12-23 Gemplus Method for verifying the execution of a software product

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0175557A1 (en) * 1984-09-20 1986-03-26 Kenneth John Fifield Processing device and method
US4864494A (en) * 1986-03-21 1989-09-05 Computerized Data Ssytems For Mfg., Inc. Software usage authorization system with key for decrypting/re-encrypting/re-transmitting moving target security codes from protected software
EP0430734A1 (en) * 1989-11-23 1991-06-05 Schlumberger Industries System and method to securely operate a computerprogram

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0175557A1 (en) * 1984-09-20 1986-03-26 Kenneth John Fifield Processing device and method
US4864494A (en) * 1986-03-21 1989-09-05 Computerized Data Ssytems For Mfg., Inc. Software usage authorization system with key for decrypting/re-encrypting/re-transmitting moving target security codes from protected software
EP0430734A1 (en) * 1989-11-23 1991-06-05 Schlumberger Industries System and method to securely operate a computerprogram

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
M.KEUL: "Dongles: Hardware schützt Software", ELEKTRONIK, vol. 39, no. 11, May 1990 (1990-05-01), MUNCHEN, DE;, pages 82 - 86 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2762417A1 (en) * 1997-04-16 1998-10-23 Gemplus Card Int Security system preventing unauthorised copying of computer software from distribution disks
US6931542B1 (en) 1997-04-16 2005-08-16 Gemplus Method for verifying the execution of a software product
WO1999066387A1 (en) * 1998-06-12 1999-12-23 Gemplus Method for verifying the execution of a software product

Also Published As

Publication number Publication date
ITGE950077A0 (en) 1995-07-12
IT1281819B1 (en) 1998-03-03
ITGE950077A1 (en) 1997-01-12
CH691713A5 (en) 2001-09-14

Similar Documents

Publication Publication Date Title
CA1289239C (en) Method for certifying the authenticity of data exchanged between two devicesconnected by a transmission line
EP0552079B2 (en) Mass memory card for microcomputer
FR2651347A1 (en) SINGLE NUMBER GENERATION METHOD FOR MICROCIRCUIT BOARD AND APPLICATION TO COOPERATION OF THE BOARD WITH A HOST SYSTEM.
EP0552077B1 (en) Mass memory card for microcomputer with facilities for execution of internal programs
WO1998028720A1 (en) Self-diagnostic or supervisory terminal and method and portable object used in such terminal or method
EP2466471A1 (en) Hardware security module and method for debugging such a module
FR2762417A1 (en) Security system preventing unauthorised copying of computer software from distribution disks
EP2466470B1 (en) Hardware security module and processing method in such a module
FR2979443A1 (en) Method for storing data in memory interfacing with secure microcontroller, involves processing input data according to one of data processing methods to achieve data processed in different data formats
EP1324175B1 (en) Module for securing data by encryption/decryption and/or signature/verification of signature
EP0720098B1 (en) Apparatus for securing information systems organised around microprocessors
FR2529000A1 (en) METHOD AND DEVICE FOR PROTECTING COMPUTER SOFTWARE
BE1009122A3 (en) Electronic key for safety activate and / or turn off the functions or special programs in a computer electronics in order to prevent the copy of the work programme of the computer.
EP1355446B1 (en) Encryption of the content of a memory which is external to a processor
FR2674647A1 (en) Apparatus forming an electronic cheque-book for financial transactions and process for using such an apparatus
WO2022238636A1 (en) Method for executing a program loaded into the non-volatile memory of a microcontroller forming part of an integrated circuit
CA2275940A1 (en) Dynamic data interpretation method for a chip card
CH716287A2 (en) Process for processing biometric data of an individual, with phases of calibration and control and registration, in a blockchain, of an analysis result.
EP1995682A1 (en) Personalisation of a microprocessor and data protection method
FR2781066A1 (en) PROCEDURE FOR SECURING DATA IN AN ELECTRONIC COMPONENT TESTING MACHINE
CH716281A2 (en) A method of processing, within a blockchain and sub-enclave network, encrypted computer data by means of an encrypted application.
CH716290A2 (en) Method of checking biometric data of an individual under conditions of identification and geolocation, with registration, in a blockchain, of an analysis result.
CH716292A2 (en) Decentralized signature process, under biometric control and subject to geolocation, of a transaction intended for a blockchain.
CH716289A2 (en) A method of checking the biometric data of an individual, with registration, in a blockchain, subject to personal identification, of an analysis result.
CH716293A2 (en) Decentralized signature process, under biometric control and subject to personal identification, of a transaction intended for a blockchain.

Legal Events

Date Code Title Description
RE Patent lapsed

Owner name: *AWAX PROGETTAZIONE E RICERCA S.R.L.

Effective date: 20021231