Source: https://patents.google.com/patent/EP0941525B1/en
Timestamp: 2019-05-19 21:32:13+00:00
Document Index: 49184647

Matched Legal Cases: ['arte 4', 'arte 4', 'arte 4', 'arte 4', 'arte 4', 'arte 4', 'arte 4', 'arte 4', 'arte 4', 'arte 4', 'arte 4', 'arte 4', 'arte 4', 'arte 4', 'arte 4', 'arte 104', 'arte 4']

EP0941525B1 - Authenticating system with microcircuit card - Google Patents
Authenticating system with microcircuit card Download PDF
EP0941525B1
EP0941525B1 EP19980946544 EP98946544A EP0941525B1 EP 0941525 B1 EP0941525 B1 EP 0941525B1 EP 19980946544 EP19980946544 EP 19980946544 EP 98946544 A EP98946544 A EP 98946544A EP 0941525 B1 EP0941525 B1 EP 0941525B1
EP19980946544
EP0941525A1 (en
1997-10-02 Priority to US08/942,904 priority Critical patent/US5937068A/en
1997-10-02 Priority to US942904 priority
1998-10-01 Application filed by ActivIdentity Europe SA filed Critical ActivIdentity Europe SA
1998-10-01 Priority claimed from DK98946544T external-priority patent/DK0941525T3/en
1998-10-01 Priority to PCT/FR1998/002104 priority patent/WO1999018546A1/en
1999-09-15 Publication of EP0941525A1 publication Critical patent/EP0941525A1/en
2005-04-06 Publication of EP0941525B1 publication Critical patent/EP0941525B1/en
La présente invention est relative à un système électronique d'authentification d'individus et/ou de messages, en particulier pour contrôler l'accès d'un utilisateur à une fonction, permettant à un utilisateur d'obtenir conditionnellement un service ou une autre prestation devant être fourni par une unité de service spécialisé associée au système en question. The present invention relates to a system of electronic authentication of individuals and / or messages, especially to control a user's access to a function, allowing a user to obtain conditionally service or other benefit to be provided by a specialized service unit associated with the system in question.
Plus particulièrement, l'invention concerne un système de contrôle d'accès à ou d'authentification de messages dans un ordinateur ou, plus généralement, un réseau informatique, dont l'utilisation est réservée à des personnes s'étant dûment légitimées. More particularly, the invention relates to an access control system or authentication of messages in a computer or, more generally, a computer network, the use of which is reserved to persons being duly legitimized. De tels réseaux peuvent servir par exemple à assurer toutes sortes de services impliquant une transaction, le plus souvent à contrepartie économique, telle que le télé-achat, la télévision à péage, la banque à domicile, les jeux télévisés interactifs, ou également le facsimile confidentiel, etc. Such networks can be used for example to provide all kinds of services involving a transaction, usually in economic consideration, such as home shopping, pay television, home banking, interactive televised games, also the facsimile confidential, etc.
Le brevet US 4,720,860 décrit un système d'authentification dans lequel, pour engendrer des mots de passe, on utilise une variable statique et une variable dynamique. U.S. Patent 4,720,860 discloses an authentication system in which, to generate passwords, using a static variable and a dynamic variable. Dans ce brevet, au début d'une procédure de demande d'accès, l'utilisateur doit entrer un code fixe dans une unité d'authentification ("token") chaque fois qu'une transaction doit être réalisée. In this patent, the beginning of an access request procedure, the user must enter a fixed code in an authentication unit ( "token") each time a transaction is to be performed. Le code fixe est une variable statique. The fixed code is a static variable. Une seconde variable est également engendrée dans l'unité d'authentification, et celle-ci varie de façon dynamique en fonction du temps, en particulier en fonction de l'instant auquel le code fixe est introduit dans l'unité d'authentification par l'utilisateur. A second variable is generated in the authentication unit, and the latter varies dynamically with time, in particular according to the time when the fixed code is entered in the authentication unit by the 'user. Les deux variables, dont l'une est statique et l'autre dynamique, sont alors utilisées comme paramètres d'entrée d'un algorithme secret de chiffrement servant à engendrer un mot de passe dans l'unité d'authentification. The two variables, one of which is static and the other dynamic, are then used as an encryption algorithm secret input parameters for generating a password in the authentication unit. Ce mot de passe est affiché sur l'unité d'authentification et l'utilisateur est invité à le transférer dans un serveur de vérification. This password is displayed on the authentication unit and the user is prompted to transfer it to a verification server. Le code fixe est également transféré au serveur qui, en utilisant le même algorithme de chiffrement et une variable dynamique ayant en principe la même valeur que celle utilisée dans l'unité d'authentification, calcule également le mot de passe. The fixed code is transferred to the server, using the same encryption algorithm and a dynamic variable that in principle the same as that used in the authentication unit, also calculates the password. Ce dernier est comparé au mot de passe transmis au serveur par l'utilisateur et, s'il y a concordance, une autorisation d'accès à la fonction peut être délivrée. This is compared to the password sent to the server by the user and, if there is a match, an access authorization to the function can be issued. Ce système de contrôle d'accès emploie donc une variable statique à l'aide de laquelle l'algorithme de chiffrement calcule le mot de passe tout en utilisant également la variable dynamique. This access control system therefore employs a static variable with which the encryption algorithm calculates the password while also using dynamic variable.
Des systèmes d'authentification utilisant une variable dynamique fonction du temps pour engendrer des mots de passe sont également décrits dans les brevets US 3,806,874, 4,601,011, 4,800,590. Authentication systems using a dynamic variable function of time to generate passwords are also described in US Patents 3,806,874, 4,601,011, 4,800,590.
Le Brevet US 4 974 193 décrit un circuit pour protéger l'accès à un système du traitement de l'information qui fournit un moyen de génération de nombres arbitraires. US Patent 4,974,193 discloses a circuit for protecting access to a system of the information processing that provides a generating means of arbitrary numbers.
Cette variable dynamique fonction du temps produite indépendamment dans l'unité d'authentification et dans le serveur, et les horloges de ces deux dispositifs utilisés pour engendrer la variable dynamique de part et d'autre, doivent être synchronisés avec une précision donnée. This function dynamic variable time produced independently in the authentication unit in the server, and the clocks of these two devices used to generate the dynamic variable to either side, must be synchronized with a given accuracy.
La présente invention a pour but de fournir un système d'authentification offrant une meilleure sécurité contre les fraudes. The present invention aims to provide an authentication system offering improved security against fraud. Un autre but de l'invention est de fournir un système d'authentification fournissant des mots de passe dynamiques, en particulier des mots de passe dynamiques fonctions du temps, tout en utilisant au moins partiellement. Another object of the invention is to provide an authentication system providing dynamic passwords, especially dynamic passwords functions of time, while using at least partially. des moyens matériels conventionnels. conventional material means.
A cet effet, la présente invention a pour objet un système d'authentification pour contrôler l'accès d'au moins un utilisateur à une fonction, ledit système comprenant au moins une première unité personnalisée pour ledit utilisateur et au moins une seconde unité de vérification commandant l'accès à ladite fonction, To this end, the present invention relates to an authentication system for controlling access to at least one user to a function, said system comprising at least one first unit personalized for said user and at least one second verification unit controlling access to said function,
ladite première unité comprenant : said first unit comprising:
des premiers moyens générateurs pour engendrer au moins une variable dynamique ; first generating means for generating at least one dynamic variable;
des premiers moyens de calcul pour engendrer un premier mot de passe à l'aide d'au moins un premier algorithme de chiffrement utilisant des paramètres d'entrée fonction de ladite variable dynamique ; first calculating means for generating a first password by using at least one first encryption algorithm using input parameters dependent on said dynamic variable; et and
des moyens pour transmettre ledit premier mot de passe à ladite seconde unité ; means for transmitting said first password to said second unit;
ladite seconde unité comprenant : said second unit comprising:
des seconds moyens générateurs pour, en réponse à une demande d'accès faite à l'aide d'une déterminée desdites premières unités, engendrer au moins une variable dynamique assignée à cette première unité déterminée; second generating means for, in response to an access request with a specified said first units, generating at least one dynamic variable assigned to this first unit determined;
des seconds moyens de calcul pour engendrer un second mot de passe à l'aide d'au moins un second algorithme de chiffrement utilisant des paramètres d'entrée fonction de ladite variable dynamique engendrée dans ladite seconde unité ; second calculating means for generating a second password by means of at least one second encryption algorithm using input parameters dependent on said dynamic variable generated in said second unit;
des moyens pour comparer lesdits premier et second mots de passe ; means for comparing said first and second passwords; et and
des moyens pour, s'il y a une cohérence prédéterminée entre lesdits mots de passe, délivrer une autorisation d'accès à ladite fonction ; means for, if there is a predetermined consistency between said passwords, delivering an authorization of access to said function;
lesdits premier et second moyens générateurs prévus respectivement dans lesdites première et seconde unités engendrant ladite première variable dynamique de ladite première unité et ladite variable dynamique de ladite seconde unité de concert, mais de façon indépendante ; said first and second generator means provided respectively in said first and second units generating said first dynamic variable to said first unit and said dynamic variable of said second unit in concert, but independently;
ladite première unité comprend une carte à microcircuit comprenant les premiers moyens de calcul et un lecteur de carte et, said first unit comprises a microcircuit card comprising the first calculation means and a card reader and,
lesdits moyens pour produire ladite variable dynamique de ladite première unité sont disposés à l'extérieur de ladite carte et ladite variable dynamique pour ladite première unité est transmise par ledit lecteur de carte auxdits premiers moyens de calcul dans ladite carte. said means for producing said dynamic variable to said first unit are disposed outside of said card and said dynamic variable to said first unit is transmitted from said card reader to said first calculating means in said card.
Le système suivant l'invention combine les avantages de cartes telles que des cartes à microcircuits qui offrent un degré très élevé de sécurité en ce qui concerne le chiffrement de données mais ne possèdent pas de source d'énergie électrique propre, avec ceux de systèmes d'authentification fournissant des mots de passe dynamiques fonctions du temps. The system according to the invention combines the advantages of cards such as microcircuit cards that offer a very high degree of safety regarding data encryption but does not have their own power source, with those systems authentication features providing dynamic time passwords.
D'autres caractéristiques et avantages de l'invention énumérés dans les sous-revendications ressortiront de la description qui va suivre donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés sur lesquels : Other features and advantages of the invention listed in the subclaims apparent from the following description given by way of example and with reference to the accompanying drawings wherein:
La figure 1 est un schéma général d'un système d'authentification selon un premier mode de réalisation de l'invention ; Figure 1 is a general diagram of an authentication system according to a first embodiment of the invention;
La figure 2 est un organigramme illustrant le principe de déroulement des opérations dans le système suivant l'invention, lorsqu'une demande d'accès est traitée ; FIG 2 is a flowchart illustrating the principle of workflow in the system according to the invention, when an access request is processed;
La figure 3 est un organigramme du mode de calcul d'une clé de chiffrement utilisée dans le calcul du mot de passe ; Figure 3 is a flow chart of the calculation of an encryption key used in the calculation of the password;
La figure 4 montre une variante de réalisation des opérations représentées à la figure 2 ; Figure 4 shows an alternative embodiment of the operations represented in Figure 2;
La figure 5 est un organigramme illustrant les opérations de calcul de mot de passe au moyen d'une version simplifiée du premier mode de réalisation représenté à la figure 1 ; Figure 5 is a flowchart illustrating the password calculation operations using a simplified version of the first embodiment shown in Figure 1; et and
Sur la figure 1, on a représenté un schéma très simplifié d'un système d'authentification selon un premier mode de réalisation de l'invention. In Figure 1, there is shown a highly simplified diagram of an authentication system according to a first embodiment of the invention.
Le système est supposé donner un accès conditionnel à une fonction qui est symbolisée par le rectangle 1 sur la figure 1. Le terme "fonction" doit être pris dans une acception très large. The system is supposed to provide conditional access to a function that is symbolized by the rectangle 1 in Figure 1. The term "function" is to be taken in a very broad sense. Il désigne toute fonction à laquelle l'accès est conditionné par une autorisation faisant intervenir une authentification impliquant une vérification du terminal à l'aide duquel la demande est formulée, et de préférence également une identification de la personne demandant l'accès à la fonction pour savoir si sa demande est légitime. It refers to any function to which access is conditioned by an authorization involving authentication implying verification of the terminal with which the request is made, and preferably also an identification of the person requesting access to the function for whether the request is legitimate.
La fonction peut être de toute nature, par exemple une fonction d'accès à un local, à un réseau informatique ou à un ordinateur, à une transaction d'ordre pécuniaire (télé-achat, banque à domicile, jeu télévisé interactif, télévision à péage), etc. The function can be of any type, for example an access function to a room, to a computer network or a computer, to a monetary transaction (home shopping, home banking, interactive game show, TV toll), etc. La fonction peut impliquer également l'authentification de messages. The function may also involve authenticating messages.
On voit sur le premier mode de réalisation représenté à la figure 1 que le système suivant l'invention comprend au moins une première unité d'authentification 2 et au moins une seconde unité de vérification 3. On notera que le système d'authentification suivant l'invention peut comporter un grand nombre de premières unités et une ou plusieurs secondes unités, mais en tout cas en un nombre de secondes unités nettement plus faible que celui des premières unités. It is seen from the first embodiment shown in Figure 1 the system according to the invention comprises at least a first authentication unit 2 and at least one second measuring unit 3. Note that the authentication system according to the the invention may include a large number of first units and one or more second units, but in any case in a number of second units significantly lower than that of the first units. Les nombres d'unités 2 et 3 ne sont donc nullement limitatifs de l'invention. The numbers of units 2 and 3 are by no means limitative of the invention.
La première unité 2 comprend une carte à microcircuit 4, un lecteur 5 de carte à microcircuit et un calculateur 6 tel qu'un ordinateur personnel (PC) auquel le lecteur 5 de carte est connecté par une interface appropriée telle qu'un port RS-232 ou un port parallèle, un clavier ou une interface PCMIA. The first unit 2 comprises a microcircuit card 4, a reader 5 microcircuit card and a computer 6 such as a personal computer (PC) to which the card reader 5 is connected by a suitable interface such as a port RS 232 or a parallel port, a keyboard or a PCMCIA interface.
La carte à microcircuit 4 comprend un microcontrôleur 7 convenablement programmé pour exécuter un algorithme cryptographique ALGO, ainsi que la mémoire ROM habituelle. The microcircuit card 4 comprises a suitably programmed microcontroller 7 to execute a cryptographic algorithm ALGO, as well as the usual ROM. Elle comporte également une mémoire programmable, telle qu'une EEPROM, représentée à la figure 1 par un registre 8 pour stocker le contenu Nn d'un compteur d'événements et par un registre 9 pour stocker une clé dynamique secrète Kn. It also includes a programmable memory, such as EEPROM, shown in Figure 1 by a register 8 to store Nn contents of an event counter and a register 9 for storing a dynamic secret key Kn.
Le calculateur 6 comprend un clavier 10 destiné à permettre l'introduction de données, telles que par exemple le numéro d'identification personnel PIN de l'utilisateur de la carte à microcircuit 4. Il comprend également un écran d'affichage 11, et une horloge pour incrémenter un compteur 13 qui fournit une variable dynamique T représentant le temps. The computer 6 includes a keypad 10 for permitting the introduction of data, such as for example a PIN personal identification number of the user of the microcircuit card 4. It also includes a display screen 11, and a clock to increment a counter 13 which provides a dynamic variable T representing time. Le calculateur 6 comprend également le microprocesseur, les mémoires, les interfaces,..... habituels qui n'ont pas été représentés sur le dessin. The computer 6 also contains the microprocessor, memory, interfaces, ..... usual which were not represented in the drawing.
La seconde unité 3, dénommée ci-après le serveur, communique avec le calculateur ou ordinateur 6 par la liaison 14. Cette communication peut être assurée à courte distance ou longue distance par tout moyen approprié. The second unit 3, hereinafter referred to as the server, communicates with the computer or computer 6 through the link 14. This communication can be done at a short distance or long distance by any suitable means. Les données transmises sur cette liaison comprennent en particulier le mot de passe devant être vérifié dans le serveur 3 et éventuellement des données à authentifier et traiter par le serveur. The data transmitted on the route include in particular the password to be checked in the server 3 and possibly data to be authenticated and processed by the server.
Le serveur 3 comprend en particulier un processeur 15 capable de libérer conditionnellement les fonctions 1, visées par les demandes d'accès formulées par les différentes premières unités 2, ces fonctions pouvant être assurées à l'intérieur du serveur 3 ou à l'extérieur, Il est à noter que le serveur 3 coopère généralement avec un grand nombre de premières unités 2. Le serveur 5 comprend également une mémoire 16 pour stocker une clé dynamique secrète Kna pour chaque carte à microcircuit 4, une horloge 17 pour incrémenter un compteur 18 qui fournit une variante dynamique T c représentant le temps, et une mémoire 19 pour stocker le contenu Nna d'un compteur d'événements pour chaque carte à microcircuit 4. The server 3 includes in particular a processor 15 capable of conditionally release functions 1, subject to the access requests by the first two different units, these functions can be provided for within the server 3 or on the outside, it should be noted that the server 3 usually co-operates with a large number of first units 2. the server 5 also comprises a memory 16 for storing a secret key Kna dynamic for each microcircuit card 4, a clock 17 to increment a counter 18 which provides dynamic variant T c representing the time, and a memory 19 for storing the Nna contents of an event counter for each microcircuit card 4.
La figure 2 représente un organigramme simplifié des diverses opérations qui se déroulent lorsqu'une demande d'accès à une fonction est formulée par l'utilisateur d'une première unité 2. La figure 2 est divisée en deux parties, la partie à gauche du trait en pointillés L représentant les opérations exécutées dans la première unité 2 et la partie à droite de ce trait montrant celles qui se déroulent dans le serveur 3. 2 shows a simplified flow chart of the various operations that take place when a request for access to a function is formulated by the user of a first unit 2. Figure 2 is divided into two parts, the left part of dashed line L representing the operations performed in the first unit 2 and the portion to the right of this line showing those taking place in the server 3.
La carte 4 est personnalisée de manière à être attribuée personnellement à un utilisateur donné. Map 4 is customized to be personally attributed to a given user. Elle porte un numéro d'identification public ("USER ID") et/ou ce nombre peut être enregistré dans celle-ci sous forme non chiffrée et attribué à cette carte au moment de son initialisation. It bears a public identification number ( "USER ID") and / or the number can be registered therein unencrypted and assigned to this card at the time of initialization. Il peut également être formé par le nom de l'utilisateur ou toute autre information qui lui est spécifique. It can also be formed by the user's name or any other information that is specific to it.
Pour initier la procédure dans le serveur 3, le numéro d'identification public (USER ID) doit être d'abord communiqué au serveur 15. Cette opération peut être assurée de différentes manières. To initiate the procedure in the server 3, the public identification number (USER ID) must first be communicated to the server 15. This can be achieved in different ways. Le numéro d'identification public (USER ID) peut être transmis au serveur 3 par le calculateur 6, par exemple directement aussitôt que la carte 4 est introduite dans le lecteur 5, ou après qu'il ait été introduit au clavier 10 du calculateur 6 par l'utilisateur lui-même. The public identification number (user ID) may be transmitted to the server 3 through the computer 6, for example directly as soon as the card 4 is inserted into the reader 5, or after it has been typed in 10 of the computer 6 by the user himself.
L'utilisateur doit également donner sa légitimation en tapant, en 20, son code d'identification personnel ou code PIN au clavier 10 du calculateur 6. Le code introduit au clavier est vérifié en 21 dans la carte 4 par comparaison avec le code PIN stocké dans la mémoire de la carte 4. En cas de discordance, la demande d'accès est immédiatement refusée en 22 par la carte 4, l'utilisateur pouvant se voir allouer éventuellement plusieurs tentatives consécutives avant qu'un refus définitif lui soit opposé, si elles restent toutes infructueuses. The user must also provide its legitimacy by typing in 20 his personal identification number or PIN on the keyboard 10 of the computer 6. The code keyed in is checked at 21 in the card 4 as compared with the PIN code stored in the memory card 4. in case of discrepancy, the access request is immediately denied by the card 22 4, the user can be possibly allocate consecutive attempts before a final refusal is opposed him if they all remain unsuccessful.
Si au contraire le code PIN introduit et le code PIN mémorisé concordent, le programme déclenche en 23 l'opération de calcul du mot de passe dans la carte 4. If instead the PIN code entered and the stored PIN match, the program triggers 23 in the password calculation operation in the card 4.
Le calcul consiste en un chiffrement à l'aide d'un algorithme de chiffrement qui peut être secret ou public (bloc 25). The calculation consists of an encryption using an encryption algorithm that can be secret or public (block 25). Dans ce dernier cas, il peut s'agir d'un algorithme appelé DES (Data Encryption Standard) par les spécialistes de cette technique. In the latter case, it may be an algorithm called DES (Data Encryption Standard) by the specialists of this technique.
L'algorithme en question utilise des paramètres d'entrée fonction de variables dynamiques qui, dans le cas représenté, sont au nombre trois. The algorithm in question uses function dynamic variable input parameters, which in the case shown, are the number three. Deux d'entre elles sont une variable Nn stockée dans le registre 8 de la carte 4 et qui représente le nombre de demandes d'accès effectué par la carte 4, et une variable T représentant le temps actuel et correspondant à la position du compteur 13 du calculateur 6. Lors de l'initialisation, ces variables peuvent être fixées à des valeurs initiales, NO et/ou TO respectivement, qui ne sont pas nécessairement égales à 0 et qui peuvent être secrètes ou non. Two of them are Nn a variable stored in the register 8 of the card 4 which is the number of access requests performed by the card 4, and a current variable T representing the time corresponding to the counter position 13 the computer 6. Upon initialization, these variables can be set to initial values, nO and / or tO respectively, which are not necessarily equal to 0 and that can be hidden or not. De même, Nn et T peuvent varier selon des fonctions faisant intervenir des paramètres tels qu'entre autres le nombre de demandes d'accès, une fonction du nombre de demandes d'accès et le temps actuel respectivement. Similarly, Nn and T may vary functions involving parameters such as between other the number of access requests, a function of the number of requests for access and the current time, respectively.
Plus particulièrement, à la figure 2, une fois que l'utilisateur a été identifié par la première unité 2 au moyen de l'introduction du numéro d'identification personnel ou PIN par le clavier 10, le PC 6 lit le contenu Nn du compteur d'événements 8 dans la carte 4. More particularly, in Figure 2, once the user has been identified by the first unit 2 by means of the introduction of the personal identification number or PIN through the keyboard 10, the PC 6 reads the contents of counter Nn Event 8 in the card 4.
Chacune des variables Nn et T peut comporter 32 bits et être soumise préalablement à une opération de concaténation dans le calculateur 6, en 24, offrant ainsi un paramètre d'entrée ou "challenge" de 64 bits au total. Each of Nn and T variables may comprise 32 bits and be subjected beforehand to a concatenation operation in the computer 6, 24, providing an input parameter or "challenge" of 64 bits in total. L'opération effectuée en 24 peut, en variante, être constituée par tout traitement ou combinaison comme l'entrelaçage, le hachage, une opération OU-EXCLUSIF ou ET, etc. The operation performed in 24 may alternatively be constituted by any treatment or combination as interleaving, hashing, an operation XOR or AND, etc. effectué sur Nn et T. En d'autres termes, l'opération en 24 n'est pas limitée à ces diverses variantes, mais elle peut consister en toute opération exécutée dans le but de produire une sortie (par exemple sur 64 bits) par combinaison ou traitement de Nn et T selon l'une de virtuellement un nombre infini de possibilités. performed on Nn and T. In other words, the operation 24 is not limited to these different variants, but it may consist of any operation carried out in order to produce an output (eg 64 bits) per or combination treatment of Nn and T according to a virtually infinite number of possibilities.
Ce challenge est appliqué par le calculateur 6 à la carte à microcircuit 4 et est chiffré par l'algorithme ALGO en 25 au moyen de la clé de chiffrement Kn stockée dans le registre 9 de la carte à microcircuit 4. Un autre moyen de définir l'algorithme mis en oeuvre en 25 consiste à dire que l'algorithme génère un mot de passe en fonction des valeurs actuelles de Nn, T et Kn ou que Kn est chiffré en fonction d'une clé comprenant une valeur engendrée par concaténation de Nn et T en 24. This challenge is applied by the computer 6 to the microcircuit card 4 and is encrypted by the ALGO algorithm 25 using the encryption key Kn stored in the register 9 of the microcircuit card 4. Another way to define the algorithm implemented in 25 is to say that the algorithm generates a password based on the current values ​​of Nn, T and Kn Kn or that is encrypted using a key comprising a value generated by concatenation of Nn and T-24.
Le chiffrement effectué en 25 dans la carte 4 génère un mot de passe A en 26 et provoque l'incrémentation d'une unité par le calculateur 6, en 27, de la position du registre 8 de demande d'accès de la carte 4 qui stocke Nn. The encryption performed in the card 25 4 generates a password at 26 and causes the incrementation of one unit by the computer 6, at 27, the position of the register 8 to the access request of the card 4 which Nn stores. Le nombre incrémenté Nn+1 est stocké dans le registre 8 et soumis à une opération de calcul en 28 dans la carte 4 pour calculer la nouvelle valeur Kn+1 de la troisième variable dynamique ou clé de chiffrement secrète. The incremented number Nn + 1 is stored in the register 8 and subjected to a calculation operation 28 in the card 4 to calculate the new value Kn + 1 of the third dynamic variable or secret encryption key. En variante, la sortie du bloc 27 pourrait commander l'incrémentation du registre 8 d'un autre nombre que le nombre 1, c'est-à-dire que l'incrémentation pourrait être de deux unités (ou tout autre nombre) à chaque fois. Alternatively, the output of block 27 may control the incrementing of the register 8 of an other number as the number 1, that is to say that the increment could be two units (or other number) to each time. De même, le nombre d'unités l'incrémentation peut varier d'une demande d'accès à la suivante. Similarly, the number of units may vary the increment of a request for access to the next. Bien entendu, l'incrémentation doit alors être synchronisée avec celle mise en oeuvre dans le serveur 3. Of course, the increment must be synchronized with that used in the server 3.
Un exemple des opérations pouvant être effectuées en 28 pour le calcul de cette nouvelle valeur est représenté à la figure 3. Ces opérations sont effectuées de concert aussi bien dans la carte à microcircuit 4 que dans le serveur 3. Tout d'abord, les valeurs Nn+1 et Kn sont soumises en 29 à une opération de combinaison logique, par exemple une combinaison OU-EXCLUSIF. An example of the operations that can be performed in 28 to calculate the new value is shown in Figure 3. These operations are performed in concert both in the smart card 4 in the server 3. First, values Nn + 1 and Kn are subjected at 29 to a logical operation, for example a XOR. La variable intermédiaire résultante Z est soumise à un chiffrement en 30 à l'aide d'un algorithme connu ou public qui peut être le même que celui utilisé en 25. Le chiffrement peut être effectué à l'aide d'une clé de chiffrement qui est de préférence la valeur de la variable dynamique actuelle Kn, bien qu'une autre clé secrète Q (bloc 31) puisse également être utilisée. The resulting intermediate variable Z is subjected to encryption 30 using a known or public algorithm which may be the same one used in 25. The encryption can be performed using an encryption key that is preferably the value of the current dynamic variable Kn, although another secret key Q (block 31) may also be used.
Le résultat de l'opération de chiffrement en 30 est la nouvelle valeur Kn+1 de la clé de chiffrement qui va être utilisée lors de la prochaine demande d'accès. The result of the encryption operation 30 is the new value Kn + 1 of the encryption key that will be used at the next access request. Cette valeur est mémorisée dans le registre 9. This value is stored in the register 9.
Après obtention du mot de passe A qui est affiché sur l'écran 11 du calculateur 6 en 32, l'utilisateur est invité à le communiquer au serveur 3. Il est à noter que ce mot de passe peut être le résultat complet de l'opération de chiffrement en 25 (d'une longueur de 64 bits) ou bien seulement une partie de ce résultat, par exemple un mot de 32 bits. After obtaining the password that is displayed on the screen 11 of the computer 6 to 32, the user is encouraged to contact the server 3. Note that this password can be the complete result of the encryption operation 25 (a 64-bit length) or only a part of this result, e.g., a 32 bit word. Cette communication (symbolisée par le trait en pointillés 33) peut se faire par exemple en tapant le mot sur le clavier 10 du calculateur 6. Cette communication peut également être réalisée automatiquement, par exemple par modem, et dans ce cas il n'est pas nécessaire que le mot de passe A soit présenté à l'utilisateur en 32. This communication (indicated by the dotted line 33) may be effected for example by typing the word on the keyboard 10 of the computer 6. This communication can also be performed automatically, for example by modem, and in this case it is not necessary that the password is presented to the user 32.
Lors de l'introduction dans le serveur 3 du numéro d'identification public (USER ID), le programme du microprocesseur 15 exécute, de concert avec la première unité 2 et à l'aide de variables dynamiques engendrées indépendamment par rapport à la première unité 2, des opérations de calcul identiques à celles exécutées dans celle-ci. Upon introduction into the server 3 of the public identification number (user ID), the microprocessor 15 executes the program, together with the first unit 2 and by using dynamic variables generated independently with respect to the first unit 2, calculation operations identical to those performed therein. Ces opérations ont donc été indiquées sur la figure 2 par les mêmes références numériques suivies de la lettre "a". These operations have therefore been indicated in Figure 2 by the same numerals followed by the letter "a". En réponse à la demande d'accès, par exemple à la transmission du numéro d'identification au serveur 3, les variables Kna et Nna sont extraites des mémoires 16 et 19 du serveur 3. Les mémoires 16 et 19 stockent les variables Kna et Nna de chaque carte 4 à microcircuit avec lesquelles le serveur est appelé à coopérer. In response to the request for access, for example the transmission identification number the server 3, and the Kna Nna variables are extracted from the memories 16 and 19 of the server 3. The memories 16 and 19 store Kna and variables Nna each card 4 microcircuit with which the server is called to cooperate.
En réponse à la demande d'accès, la variable T c est également extraite du compteur 18. Si les calculateurs 6 qui sont utilisés avec les cartes à microcircuit 4 n'ont pas été tous initialisés à la même valeur T0, le calculateur 6 doit être identifié par le serveur 3, par exemple au moment où le numéro USER ID est transmis au serveur 3. En réponse à cette identification, le microprocesseur 15 lit dans une mémoire la valeur initiale T0 de la variable T pour ce calculateur et calcule à partir de T0 et de T c une variable de temps Ta qui doit être égale à la variable de temps T dans le calculateur 6. In response to the access request, the variable T c is also extracted from the counter 18. If the ECUs 6 that are used with the microcircuit cards 4 have not been all initialized to the same value T0, the computer 6 is be identified by the server 3, for example when the USER ID number is transmitted to the server 3. in response to this identification, the microprocessor 15 reads a memory T0 initial value of the variable T for this calculator and calculates T0 and T c a Ta time variable to be equal to the time variable t in the computer 6.
Par conséquent, le serveur 3 produit de son côté, et sans que les variables dynamiques produites dans la première unité 2 lui soient communiquées, un mot de passe Aa qui est comparé avec le mot de passe A transmis au serveur 3 par l'utilisateur. Therefore, the server 3 product of his own, and without that dynamic variables produced in the first unit 2 are communicated to him, Aa a password which is compared with the password transmitted to the server 3 by the user. Si la carte à microcircuit 4 est authentique, les mots de passe A et Aa doivent être identiques ou du moins concorder selon des règles prédéterminées. If the smart card is authentic 4, A and Aa passwords must be identical or at least match according to predetermined rules. Si le test en 34 aboutit à une réponse affirmative, la fonction 1 est libérée. If the test at 34 results in an affirmative answer, the function 1 is released. Dans le cas contraire, l'accès sera refusé en 35. Otherwise, access will be denied 35.
Il est à noter qu'avec un système selon l'invention, des problèmes peuvent surgir lorsque l'une des variables dynamiques est le temps ou une fonction de celui-ci comme décrit ci-dessus, étant donné qu'une dérive des horloges utilisées à la fois dans les calculateurs 6 et dans le serveur 3 peut se produire. Note that with a system of the invention, problems can arise when a dynamic variable is the time or a function thereof as described above, since a drift of the clocks used in both the calculators 6 and the server 3 may occur. Une solution avantageuse à ce problème est décrite dans WO97/36263. An advantageous solution to this problem is disclosed in WO97 / 36263.
On constate donc que, selon le mode de réalisation décrit, le processus d'authentification de la première unité 2 conduisant à la libération de la fonction en 1 est réalisé à l'aide de trois variables dynamiques, dont l'une est la clé de chiffrement Kn (Kna) et dont les autres sont le nombre Nn (Nna) de demandes d'accès déjà effectuées et le temps T (Ta) (ou des nombres calculés suivant une fonction prédéterminée de ces variables). So we see that, according to the described embodiment, the authentication process of the first unit 2 in 1 leading to the release function is performed using three dynamic variables, one of which is key cipher Kn (Kna) and the others are the Nn number (Nna) of already made access requests and the time T (Ta) (or numbers calculated according to a predetermined function of these variables).
La clé de chiffrement Kn (Kna) elle-même dérive d'une demande d'accès à l'autre et elle est dynamiquement variable en fonction de la valeur Nn (Nna) avec laquelle elle peut être combinée logiquement, puis chiffrée pour donner lieu à la clé de chiffrement Kn+1 (Kna+1 ) utilisée lors de la prochaine demande d'accès. The encryption key Kn (Kna) itself is derived from a request for access to the other and is dynamically varied according to the value Nn (Nna) with which it can be combined logically and then encrypted to give the encryption key Kn + 1 (Kna + 1) used in the next access request.
Suivant une variante de l'invention, on peut envisager un transfert de données de la première unité 2 au serveur 3 afin que les données puissent être traitées lors de l'accomplissement de la fonction 1, dans la mesure naturellement où l'autorisation a été donnée pour cela à la suite du test en 34. According to a variant of the invention, may be considered a data transfer of the first unit 2 to the server 3 so that the data can be processed during the performance of the function 1 in the naturally since the authorization was given to it as a result of test 34.
L'utilisateur, en formulant sa demande d'accès, introduit en 36 les données dans la première unité 2 à l'aide de son clavier 10. Ces données sont combinées logiquement en 37 avec la valeur concaténée des deux variables Nn et T, le résultat étant utilisé comme paramètre d'entrée de la procédure de chiffrement effectuée en 25. En variante, les données peuvent également être combinées directement avec le résultat de l'opération de chiffrement en 25 ou bien les données peuvent constituer une autre clé pour l'algorithme en 25. L'aspect essentiel est que la sortie du bloc 25 soit une fonction des données à transférer. The user, making its access request, introduced in the data 36 in the first unit 2 by means of the keyboard 10. This data is logically combined in 37 with the concatenated value of the two variables Nn and T, the result is used as input parameter of the encryption process performed by 25. Alternatively, the data may also be combined directly with the result of the encryption operation 25 or the data may be another key for algorithm 25. the essential aspect is that the output of block 25 is a function of data to be transferred.
Les données sont également transférées au serveur 3, par exemple au moyen du clavier 10 du calculateur 6 ou automatiquement par l'intermédiaire de la liaison 14. The data are also transferred to the server 3, for example via the keyboard 10 of the computer 6 or automatically via the link 14.
Les données ainsi reçues en 36a dans le serveur 3 y sont traitées de la même façon que dans la première unité 2. Plus particulièrement, les données peuvent être combinées par une opération logique en 37a avec la valeur concaténée de Nna et Ta, le résultat étant utilisé comme paramètre d'entrée pour le processus de chiffrement en 25a. The data 36a received in the server 3 are treated on the same way as in the first unit 2. More particularly, the data can be combined by a logical operation 37a with the concatenated value Nna and Ta, with the result used as an input parameter to the ciphering process 25a. En variante, les données peuvent directement être combinées avec le résultat de l'opération de chiffrement en 25a ou bien les données peuvent constituer une autre, clé pour l'algorithme en 25a. Alternatively, the data can directly be combined with the result of the encryption operation in 25a or the data may be another key for the algorithm 25a. Les données sont aussi communiquées en clair au dispositif chargé d'exécuter la fonction 1. The data are also communicated in clear to the device responsible for implementing the function 1.
Ainsi, l'authenticité des données peut être vérifiée par comparaison des mots de passe A et Aa qui sont tous deux des fonctions de la valeur représentant les données. Thus, data authenticity can be verified by comparing the A and Aa passwords that are both functions of the value representing the data. La mise en oeuvre de la fonction 1 recevra donc un refus s'il y a non concordance entre les données présentées des deux côtés. The implementation of the function 1 will therefore receive a refusal if mismatch between the data presented on both sides.
Plusieurs autres modes de réalisation seront maintenant décrits, certains d'entre eux l'étant en faisant référence à des changements se produisant dans la première unité 2, mais on comprendra que ces mêmes changements s'appliquent également au serveur 3 car la première unité 2 et le serveur 3 doivent pouvoir engendrer des mots de passe identiques ou concordant A, Aa. Several other embodiments are described below, some of them are referring to changes occurring in the first unit 2, it is understood that these same changes also apply to the server 3 as the first unit 2 3 and the server must be able to generate the same passwords or concordant A, Aa.
En variante, la fonction 28 (représentée aux figures 2 et 3) peut varier en fonction de T. De même l'algorithme 30 peut être changé à chaque nouvelle dérivation de Kn. Alternatively, the function 28 (shown in Figures 2 and 3) may vary depending on T. Similarly, the algorithm 30 may be rotated with each Kn bypass. De façon similaire, l'algorithme utilisé en 25 peut être changé à chaque fois qu'un mot de passe est engendré. Similarly, the algorithm 25 can be changed each time a password is generated. Par exemple, les modules 25, 25a et 30, 30a peuvent stocker plusieurs algorithmes utilisés distinctement au cours des différentes opérations de calcul des mots de passe. For example, the modules 25, 25a and 30, 30a can store multiple algorithms used in distinctly different calculation operations passwords. Des changements synchronisés doivent alors être réalisés dans le serveur 3 en ce qui concerne la fonction 28a, l'algorithme 30a et l'algorithme 25a. Synchronized changes must then be made in the server 3 regarding the function 28a, the algorithm 30a and 25a algorithm.
De plus, la fonction 29 (figure 3) peut être différente d'une fonction OU-EXCLUSIF, telle qu'une opération ET ou toute autre opération logique. In addition, function 29 (figure 3) may be different from an EXCLUSIVE-OR, such as AND operation or any other logical operation. De plus, la fonction 29 n'est pas indispensable, Nn+1 pouvant directement être utilisé par l'algorithme 30 de façon à être chiffré par Kn et Q. De même, en variante, Q peut être soumis avec Nn+1 à une opération OU-EXCLUSIF en 29, Kn et Q étant utilisés comme clé de chiffrement pour le chiffrement de la sortie produite par l'opération logique en 29. Moreover, the function 29 is not essential, Nn + 1 can be used directly by the algorithm 30 so as to be encrypted by Kn and Q. Similarly, alternatively Q can be submitted with a 1 + Nn XOR operation at 29, Kn and Q are used as the encryption key for encryption of the output produced by the logical operation 29.
Une autre modification consiste à prévoir une porte ET entre les modules 26 et 27 de la figure 2, la sortie du module 26 constituant l'une des entrées de cette porte ET, l'autre entrée en étant formée par un signal provenant du serveur 3 et qui n'est engendré que si le module 26a engendre une sortie. Another modification is to provide a gate between the modules 26 and 27 of Figure 2, the output of the module 26 forming one of the inputs of this AND gate, the other input being formed by a signal from the server 3 and which is generated if the module 26a generates an output. De cette manière, le registre 8 dans la carte 4 et le registre 19 dans le serveur 3 seront incrémentés de façon synchrone. In this manner, the register 8 in the card 4 and the register 19 in the server 3 will be incremented synchronously. Il n'y aura alors aucune perte de synchronisation des valeurs Nn et Nna. Then there will be no loss of synchronization of Nn and Nna values. Cependant, dans certaines applications de la présente invention, une telle communication en retour du serveur vers la carte peut ne pas être souhaitable. However, in some applications of the present invention, such a server in communication back to the card may not be desirable.
Une autre variante consiste à stocker les données en 36 dans la mémoire de la carte à microcircuit 4. Par exemple, si la carte 4 est une carte bancaire, les données en 36 pourraient être la situation d'un compte bancaire, un numéro de compte, etc. Another alternative is to store the data 36 in the memory of the smart card 4. For example, if the card 4 is a credit card, the data 36 may be the situation of a bank account, an account number etc.
La dérivation de Kn selon les fonctions 28 et 28a peut également être exécutée comme suit. The bypass Kn according to the functions 28 and 28a may also be performed as follows. Kn peut être dérivé deux fois pour chaque calcul du mot de passe. Kn can be derived for each calculation twice password. On peut le faire par exemple avant et après le calcul du mot de passe. This can be done for example before and after calculating the password. Kn peut également être redérivé en parallèle avec le calcul du mot de passe. Kn can also be rederived in parallel with the calculation of the password. En d'autres termes, Kn peut être redérivé pendant le calcul d'un mot de passe, les sorties du module 25 et du module 25a étant alors directement utilisées comme entrées des modules 27 et 27a respectivement. In other words, Kn can be rederived for calculating a password, the module outputs 25 and 25a of the module being directly used as input modules 27 and 27a respectively.
En variante, Nn et T peuvent être introduits directement dans le module de chiffrement 25. Les données peuvent également être combinées logiquement directement avec Nn et T, ou encore les données peuvent être scindées en deux parties combinées respectivement avec Nn ou T. Alternatively, Nn and T may be introduced directly into the encryption module 25. The data can also be logically combined directly with Nn and T, or the data may be split into two parts respectively combined with Nn or T.
La figure 4 montre une variante du premier mode de réalisation qui simplifie le logiciel implanté dans l'ordinateur personnel PC et limite les échanges d'informations entre l'ordinateur personnel PC et la carte à microcircuit. Figure 4 shows a variant of the first embodiment simplifies the software installed in the personal computer PC and limit the exchange of information between the personal computer PC and the smart card. Sur la figure 4, les mêmes références que sur la figure 2, mais augmentées du nombre 100, ont été utilisées pour désigner des éléments correspondants. In Figure 4, the same references as in Figure 2, but increased by the number 100, have been used to designate corresponding elements. Ce qui manque dans la carte à microcircuit 104 est le compteur d'horloge 113 stockant la variable de temps T. Toutes les autres fonctions mises en oeuvre pour la génération du mot de passe sont implantées dans la carte à microcircuit 104. What is missing in the microcircuit card 104 is the clock counter 113 stores the time variable T. All other functions implemented for password generation are located in the smart card 104.
Une fois que l'utitisateur a été identifié en 121 par la première unité 102 grâce à l'introduction du numéro d'identification personnel ou PIN dans le clavier, l'ordinateur personnel ou PC 106 envoie la variable T stockée dans le compteur 113 à la carte à microcircuit 104. En 124, Nn et la variable T sont concaténés ou traités d'une autre manière, comme décrit ci-dessus à propos de la figure 2, pour générer dans la carte 104 un paramètre d'entrée ou challenge de, par exemple, 64 bits. Once the utitisateur was identified 121 by the first unit 102 through the introduction of the personal identification number or PIN in the keyboard, the personal computer or PC 106 sends the variable T stored in the counter 113 to the microcircuit card 104. in 124, Nn and the variable T are concatenated or otherwise treated as described above in connection with Figure 2, for generating in the card 104 an input parameter or challenge for example, 64 bits. Ce challenge est chiffré par l'algorithme ALGO en 125 en utilisant la clé de chiffrement Kn stockée dans le registre 109. This challenge is encrypted by the algorithm ALGO 125 using the encryption key Kn stored in the register 109.
Le chiffrement effectué en 125 génère en 126 le mot de passe A qui est formaté et affiché sur l'écran du PC 106 en 132. Ce mot de passe A est communiqué au serveur ou seconde unité 103 comme décrit en regard de la figure 2. Bien entendu, si l'ordinateur personnel 106 communique directement le mot de passe A à la seconde unité 103, par exemple par modem, il n'est pas nécessaire, d'afficher le mot de passe A pour l'utilisateur. The encryption performed 125 generates 126 the password which is formatted and displayed on the PC 106 in screen 132. This password is communicated to the server or second unit 103 as described with reference to Figure 2. of course, if the personal computer 106 directly communicates the password to the second unit 103, for example via modem, it is not necessary to view the password for the user.
Le chiffrement effectué en 125 provoque également l'incrémentation en 127 de la valeur Nn, et la nouvelle valeur Nn+1 est stockée dans le registre 108 de la carte à microcircuit 104. L'incrémentation peut être une incrémentation d'une unité ou un autre type d'incrémentation comme décrit ci-dessus. The encryption performed 125 also causes incrementation of the value Nn 127, and the new value Nn + 1 is stored in the register 108 of the smart card 104. The increment may be an incrementation by one or a another type increment as described above. Le nombre incrémenté Nn+1 est également soumis en 128 à une opération de calcul pour calculer une nouvelle valeur Kn+1 de la troisième variable dynamique ou clé de chiffrement secrète. The incremented number Nn + 1 is also subject 128 to a computing operation to compute a new value Kn + 1 of the third dynamic variable or secret encryption key. Cette opération de calcul a également été décrite ci-dessus. This calculation has also been described above.
Une version simplifiée du premier mode de réalisation, représentée à la figure 5, peut consister à éliminer le compteur d'événements et la dérivation de clé, c'est-à-dire les variables dynamiques autres que T, la clé Kn étant statique. A simplified version of the first embodiment, shown in Figure 5, may include removing the event counter and the key derivation, that is to say the dynamic variable other than T, the key Kn is static. Sur la figure 5, les mêmes références que sur la figure 2, mais augmentées du nombre 200, ont été utilisées pour désigner les éléments correspondants. In Figure 5, the same references as in Figure 2, but increased by the number 200, have been used to designate the corresponding elements. En dehors de la suppression du compteur d'événements et de la dérivation de clé, les différentes opérations représentées à la figure 5 sont semblables à celles des figures 2 et 4 et ne seront pas décrites en détail. Apart from the removal of the meter event and the key derivation, the various operations shown in Figure 5 are similar to those of Figures 2 and 4 and will not be described in detail.
Le lecteur 5 de carte à microcircuit représenté dans le premier mode de réalisation des figures 1 à 5 est un lecteur passif de carte à microcircuit, c'est-à-dire qu'il transmet simplement les données entre la carte 4 à microcircuit et l'ordinateur personnel 6. En variante, le lecteur 5 de carte à microcircuit peut être un lecteur "intelligent" ou actif de carte à microcircuit et peut être portable. The microcircuit card reader 5 shown in the first embodiment of Figures 1 to 5 is a map of passive reader chip, that is to say it simply transmits the data between the card 4 and the microcircuit personal computer 6. Alternatively, the 5 smart card reader can be a "smart" reader or chip card active and can be portable. Le second mode de réalisation de l'invention, visant l'utilisation d'un tel lecteur "intelligent" de carte à microcircuit, est représenté à la figure 6. The second embodiment of the invention, for the use of such an "intelligent" drive microcircuit card, is shown in Figure 6.
Comme représenté à la figure 6, dans la première unité 302, le lecteur "intelligent" 305 de carte à microcircuit lit la carte à microcircuit 304 du premier mode de réalisation et est adapté pour être utilisé avec une seconde unité 303 qui peut être la même que la seconde unité 3, 103 ou 203. Le lecteur 305 de carte à microcircuit comprend un davier 310, un écran d'affichage 311, un registre 313 et une horloge 312 correspondant au clavier 10, à l'écran d'affichage 11, au registre 13 et à l'horloge 12 et peut également comporter sa propre source d'énergie électrique, telle qu'une batterie 350. Un tel lecteur de carte à microcircuit peut mettre en oeuvre les fonctions décrites à la figure 2 pour le PC 306, ou aux figures 4 et 5 pour les PC 106 et 206 respectivement. As shown in FIG 6, the first unit 302, the "intelligent" drive 305 of a microcircuit card reads the smart card 304 of the first embodiment and is adapted for use with a second unit 303 which may be the same the second unit 3, 103 or 305 203. the microcircuit card reader comprises a forceps 310, a display 311, a register 313 and a clock 312 corresponding to the keyboard 10, display screen 11, the register 13 and the clock 12 and may also include its own source of electrical energy such as a battery 350. such a microcircuit card reader may implement the functions described in Figure 2 to the PC 306 or to figures 4 and 5 for the PC 106 and 206 respectively.
Comme indiqué ci-dessus, le lecteur 305 de carte à microcircuit peut être configuré pour fournir T, et la carte à microcircuit 304 peut être configurée pour mettre en oeuvre les autres opérations de la première unité 302 comme décrit à propos des figures 4 et 5. As stated above, the reader 305 of smart card may be configured to provide T, and the microcircuit card 304 may be configured to implement other operations of the first unit 302 as described with reference to Figures 4 and 5 .
En variante, le lecteur 305 de carte à microcircuit peut être configuré pour mettre en oeuvre les mêmes opérations que l'ordinateur personnel 6 de la figure 2 et la carte à microcircuit 304 peut être configurée pour mettre en oeuvre les autres opérations de la première unité 302. En variante, comme décrit ci-dessus, la variable de temps T peut être fournie par un ordinateur personnel PC 306 au lecteur 305 de carte à microcircuit, supprimant ainsi la nécessité de l'horloge 312 dans le lecteur 305. Alternatively, the reader 305 of smart card may be configured to implement the same operations as the personal computer 6 of Figure 2 and the smart card 304 may be configured to implement other operations of the first unit 302. Alternatively, as described above, the variable time T can be provided by a personal computer PC 306 to the reader 305 of smart card, eliminating the need to clock 312 in the drive 305.
Une première unité telle que 2, 102, 202 ou 302 peut être implantée dans n'importe quel dispositif possédé par l'utilisateur tel qu'un assistant numérique personnel (PDA), un téléphone cellulaire ou autre type de récepteur téléphonique, pour autant qu'un tel dispositif est configuré du point de vue matériel et/ou logiciel pour lire une carte à microcircuit et mettre en oeuvre les fonctions décrites à propos des figures 2, 4 ou 5. A first unit such as 2, 102, 202 or 302 can be implemented in any device owned by the user such as a personal digital assistant (PDA), a cellular telephone or other type of telephone receiver in so far as such a device is configured of the material point of view and / or software for reading a microcircuit card and implement the functions described in connection with figures 2, 4 or 5.
La présente invention se distingue de la technique antérieure du fait que la variable dynamique T représentant le temps actuel n'est pas engendrée là où l'algorithme et les clés sont stockés et mis en oeuvre. The present invention differs from the prior art that the current time represents dynamic variable T is not generated where the algorithm and keys are stored and used. La technique antérieure décrit des modes de réalisation dans lesquels la génération d'un signal d'horloge est réalisée là où l'algorithme et les clés sont stockés. The prior art discloses embodiments in which the generation of a clock signal is performed where the algorithm and key are stored. La présente invention est basée sur le fait qu'une variable fonction du temps est engendrée en dehors de la carte à microcircuit par un ordinateur personnel ou un lecteur "intelligent" de carte et transmise à la carte à microcircuit pour générer un mot de passe utilisant une clé stockée dans la carte à microcircuit. The present invention is based on the fact that a variable function of time is generated outside the chip card by a personal computer or a "smart" card reader and transmitted to the smart card to generate a password using a key stored in the microcircuit card. Cet agencement est avantageux car, sans qu'aucune source d'énergie permanente soit requise dans la carte, il combine les avantages des mécanismes de sécurité matériels et logiciels disponibles dans une carte à microcircuit avec ceux offerts par des mots de passe dynamiques fonction du temps qui sont plus sûrs que des mots de passe statiques. This arrangement is advantageous because, without any permanent source of energy is required in the card, it combines the advantages of hardware and software security mechanisms available in a smart card with those offered by dynamic passwords function of time which are more secure than static passwords. Cet agencement est également avantageux car il permet d'utiliser des dispositifs électroniques répandus très largement tels que des ordinateurs personnels, des assistants numériques personnels, des téléphones cellulaires, etc..., qui ne sont généralement pas sécurisés, pour fournir, en combinaison avec une carte à microcircuit, un système d'authentification hautement sécurisé délivrant des mots de passe dynamiques fonction du temps. This arrangement is advantageous because it allows the use of common electronic devices widely such as personal computers, PDAs, cell phones, etc ..., which are generally not secure, to provide, in combination with a smart card, a highly secure authentication system delivering dynamic over time passwords.
Il va de soi pour les spécialistes de la technique que des variantes décrites séparément peuvent être combinées. Obviously for the skilled in the art that variants described separately can be combined.
An authentication system for control of access of at least one user to a function, said system including at least one first unit (2 ; 102 ; 202 ; 302) personalized for said user and at least one second verification unit (3 ; 103 ; 203 ; 303) controlling access to said function,
said first unit (2 ; 102 ; 202 ; 302) comprising:
first generator means (13 ; 113 ; 213 ; 313) for producing at least one dynamic variable (T);
first calculation means (24, 25 ; 124, 125 ; 225) for producing a first password (A) as a function of said at least one dynamic variable (T); and
means (10 ; 33) for transmitting said first password to said second unit;
said second unit (3 ; 103; 203 ; 303) comprising:
second generator means (18 ; 118 ; 218) for, in response to an access or authentication request made by way of said at least one first unit, producing at least one dynamic variable (Ta) assigned to said at least one first unit;
second calculation means (24a, 25a ; 124a, 125a ; 225a) for producing a second password (Aa) as a function of said at least one dynamic variable (Ta) produced in said second unit;
comparator means (34 ; 134 ; 234) for comparing said first and second passwords (A, Aa) respectively; and
means (34 ; 134 ; 234) for delivering an authorization of access to said function (1) if there is a predetermined consistency between said passwords (A, Aa);
said first and second generator means provided respectively in said first and second units produce said at least one dynamic variable (T) of said first unit and said at least one dynamic variable (Ta) of said second unit in concert, but independently;
said first unit further comprises a chip card (4 ; 104 ; 204 ; 304) and a card reader (5 ; 105 ; 205 ; 305), and
said means (12, 13 ; 113 ; 213 ; 312, 313) for producing said at least one dynamic variable (T) of said first unit (2 ; 102 ; 202 ; 302) is disposed outside the card and said at least one dynamic variable (T) for said first unit is communicated by said card reader to said card, and
said first calculation means comprises processing means (25 ; 225) in said card (4 ; 104 ; 204 ; 304) for processing of dynamic variable (T).
The system as claimed in claim 1, characterized in that said at least one dynamic variable for each of the first unit and the second unit comprises a first dynamic variable (T, Ta) varying as a function of time.
The system as claimed in claim 2, characterized in that:
said first calculation means (24, 25; 124, 125; 225) produces said first password (A) in accordance with at least one first encryption algorithm using input parameters dependent on said first dynamic variable (T) produced in said first unit,
said second calculation means (24a, 25a ; 124a, 125a ; 225a) produces said second password (Aa) by way of at least one second encryption algorithm using input parameters dependent on said first dynamic variable (Ta) produced in said second unit, and
one of said input parameters used for producing said first (A) and second (Aa) passwords is an encryption key (Kn, Kna ; K, Ka) used in said first and second algorithms.
The system as claimed in claim 3, characterized in that said first (2 ; 102 ; 302) and second (3 ; 103 ; 203) units respectively comprise third (8 ; 108) and fourth (19 ; 119) generating means for producing at least a second dynamic variable (Nn, Nna) according to a function involving a number of access requests made by the first unit prior to an access request in progress, said first (24, 25 ; 124, 125) and second (24a, 25a ; 124a, 125a) calculation means producing respectively said first (A) and second (Aa) passwords as a function of said first (T, Ta) and second (Nn, Nna) dynamic variables.
The system as claimed in claim 4, characterized in that said first (2 ; 102 ; 302) and second (3 ; 103 ; 303) units comprise fifth (28 ; 128) and sixth (28a ; 128a) generating means for producing at least a third dynamic variable (Kn, Kna) according to a function involving at least one of said first and second dynamic variables (T, Ta, Nn, Nna), said first (24, 25 ; 124, 125) and second (24a, 25a ; 124a, 125a) calculation means producing respectively said first (A) and second (Aa) passwords as a function of said first (T, Ta), second (Nn, Nna) and third (Kn, Kna) dynamic variables.
The system as claimed in claim 5, characterized in that said first (2; 102 ; 302) and second (3 ; 103 ; 303) units comprise third (24 ; 124) and fourth (24a ; 124a) calculation means respectively for producing an intermediate dynamic variable by logical combination of said first (T, Ta) and second (Nn, Nna) dynamic variables, said first (25 ; 125) and second (25a ; 125a) calculation means producing said first (A) and second (Aa) passwords as a function of said intermediate dynamic variable and of said third dynamic variable (Kn, Kna) respectively.
The system as claimed in claim 6, characterized in that said third calculation means (124) are disposed in said card (104).
The system as claimed in claim 6, characterized in that said third calculation means (24) are disposed outside said card (4).
The system as claimed in any of claims 5 to 8, characterized in that said second dynamic variable (Nn, Nna) is said number of access requests made by the first unit (2 ; 102 ; 302) prior to an access request in progress and said third dynamic variable (Kn, Kna) is a function of said second dynamic variable (Nn, Nna) and of the preceding value of said third dynamic variable.
The system as claimed in any of claims 5 to 9, characterized in that said third dynamic variable (Kn, Kna) is said encryption key.
The system as claimed in claim 2, characterized in that
said first (2; 102; 302) and second (3; 103; 303) units comprise third (28; 128) and fourth (28a; 128a) generating means respectively for producing at least a second dynamic variable in concert, but independently,
said first calculation means (24, 25; 124, 125; 225) produces said first password (A) as a function of said first (T) and second (Kn) dynamic variables produced in said first unit, and
said second calculation means (24a, 25a ; 124a, 125a ; 225a) produces said second password (Aa) as a function of said first (Ta) and second (Ta) dynamic variables produced in said second unit.
The system as claimed in claim 11, characterized in that
said first calculation means (24, 25 ; 124, 125) produces said first password (A) in accordance with at least one first encryption algorithm (ALGO) using an encryption key (Kn) for encrypting an input parameter dependent on said first dynamic variable (T) produced in said first unit,
said second calculation means (24a, 25a ; 124a, 125a) produces said second password (Aa) in accordance with at least one second encryption algorithm using an encryption key (Kna) for encrypting an input parameter dependent on said first dynamic variable (Ta) produced in said second unit, and
said encryption key (Kn, Kna) used in said first and second encryption algorithms respectively is said second dynamic variable produced in said first and second units respectively.
The system as claimed in any of claims 2 to 12, characterized in that said means (312, 313) for producing said at least one dynamic variable (T) is disposed in said car reader (305).
The system as claimed in any of claims 2 to 12, characterized in that said first unit (2 ; 102 ; 202) comprises a personal computer (6 ; 106 ; 206) including said means (12, 13 ; 113 ; 213) for producing said at least one dynamic variable (T) and means for connecting to said card reader (5 ; 105 ; 205).
The system as claimed in claim 13 or 14, characterized in that said means (12, 13 ; 113 ; 213 ; 312, 313) for producing said at least one dynamic variable (T) includes a clock (12 ; 312) and a counter (13, 113 ; 213; 313).
EP19980946544 1996-03-22 1998-10-01 Authenticating system with microcircuit card Expired - Lifetime EP0941525B1 (en)
US08/942,904 US5937068A (en) 1996-03-22 1997-10-02 System and method for user authentication employing dynamic encryption variables
US942904 1997-10-02
PCT/FR1998/002104 WO1999018546A1 (en) 1997-10-02 1998-10-01 Authenticating system with microcircuit card
DK98946544T DK0941525T3 (en) 1997-10-02 1998-10-01 Authentication with mikrokredslöbskort
EP0941525A1 EP0941525A1 (en) 1999-09-15
EP0941525B1 true EP0941525B1 (en) 2005-04-06
ID=25478799
EP19980946544 Expired - Lifetime EP0941525B1 (en) 1996-03-22 1998-10-01 Authenticating system with microcircuit card
US (1) US5937068A (en)
EP (1) EP0941525B1 (en)
JP (1) JP4221680B2 (en)
AT (1) AT292832T (en)
CA (1) CA2273859A1 (en)
DE (1) DE69829642T2 (en)
ES (1) ES2241166T3 (en)
HK (1) HK1023202A1 (en)
WO (1) WO1999018546A1 (en)
AU762665B2 (en) * 1999-09-10 2003-07-03 Canon Kabushiki Kaisha User customisable secure access token and multiple level portable interface
AU7280701A (en) * 2000-07-19 2002-03-04 Hyun-Jong Lee Card checking device, electronic payment method using this device and real-time electronic commerce method using this device
US20030046593A1 (en) 2001-08-28 2003-03-06 Xie Wen Xiang Data storage device security method and apparatus
DE102010014882A1 (en) 2009-07-16 2011-01-20 Giesecke & Devrient Gmbh A method for activating a runtime environment of a microprocessor unit
FR2970134B1 (en) * 2010-12-29 2013-01-11 Viaccess Sa Method for transmission and reception of multimedia content
CN104079405B (en) * 2013-03-27 2017-08-22 阿里巴巴集团控股有限公司 Based on the user identity verification method, apparatus and system matrix values
CN104125064B (en) * 2013-04-28 2018-04-03 阿里巴巴集团控股有限公司 A dynamic password authentication method, the client and the authentication system
PT891610E (en) 1996-03-22 2002-10-31 Activcard Access control system comprises a function that a device for clock synchronization
AU2297597A (en) * 1996-03-22 1997-10-17 Activcard Function access control system with encryption using a plurality of dynamic variables
1997-10-02 US US08/942,904 patent/US5937068A/en not_active Expired - Lifetime
1998-10-01 ES ES98946544T patent/ES2241166T3/en not_active Expired - Lifetime
1998-10-01 AT AT98946544T patent/AT292832T/en unknown
1998-10-01 JP JP52112999A patent/JP4221680B2/en not_active Expired - Fee Related
1998-10-01 CA CA 2273859 patent/CA2273859A1/en not_active Abandoned
1998-10-01 WO PCT/FR1998/002104 patent/WO1999018546A1/en active IP Right Grant
1998-10-01 DE DE1998629642 patent/DE69829642T2/en not_active Expired - Lifetime
1998-10-01 EP EP19980946544 patent/EP0941525B1/en not_active Expired - Lifetime
2000-03-02 HK HK00101338A patent/HK1023202A1/en not_active IP Right Cessation
DE69829642D1 (en) 2005-05-12
JP4221680B2 (en) 2009-02-12
DE69829642T2 (en) 2006-02-09
HK1023202A1 (en) 2005-10-28
EP0941525A1 (en) 1999-09-15
AT292832T (en) 2005-04-15
ES2241166T3 (en) 2005-10-16
WO1999018546A1 (en) 1999-04-15
CA2273859A1 (en) 1999-04-15
US5937068A (en) 1999-08-10
JP2001509295A (en) 2001-07-10
EP0814441B1 (en) 2002-05-02 Method for taking into account a request for the use of a prepaid virtual card, allowing the reuse of its serial number
AU2007202243B2 (en) 2010-11-25 System portable device and method for digital authenticating, crypting and signing by generating short-lived cryptokeys
Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI NL PT
2004-09-29 RBV Designated contracting states (correction):
Inventor name: AUDEBERT, YVES
Ref document number: 69829642
2005-07-20 GBT Gb: translation of ep patent filed (gb section 77(6)(a)/1977)
Ref document number: 2241166
Ref document number: 1023202
Owner name: ACTIVIDENTITY EUROPE S.A., FR
Free format text: FORMER OWNER: ACTIVCARD, SURESNES, FR
Owner name: ACTIVIDENTITY EUROPE SA, FR
Free format text: FORMER OWNER: ACTIVCARD, FR
Owner name: ACTIVIDENTITY EUROPE SA
Free format text: FORMER OWNER: ACTIVIDENTITY EUROPE S.A., SURESNES, FR
Ref document number: 292832
Free format text: FORMER OWNER: ACTIVIDENTITY EUROPE SA, FR