FR2956272A1 - PASSWORD AUTHENTICATION FOR SINGLE USE - Google Patents

PASSWORD AUTHENTICATION FOR SINGLE USE Download PDF

Info

Publication number
FR2956272A1
FR2956272A1 FR1050980A FR1050980A FR2956272A1 FR 2956272 A1 FR2956272 A1 FR 2956272A1 FR 1050980 A FR1050980 A FR 1050980A FR 1050980 A FR1050980 A FR 1050980A FR 2956272 A1 FR2956272 A1 FR 2956272A1
Authority
FR
France
Prior art keywords
parameters
equipment
password
new
request
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
FR1050980A
Other languages
French (fr)
Inventor
Regis Corbel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
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 France Telecom SA filed Critical France Telecom SA
Priority to FR1050980A priority Critical patent/FR2956272A1/en
Priority to PCT/FR2011/050163 priority patent/WO2011098702A1/en
Publication of FR2956272A1 publication Critical patent/FR2956272A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Abstract

On propose un procédé de renouvellement de paramètres de génération de mots de passe dans une authentification par mot de passe à usage unique, d'un premier équipement auprès d'un deuxième équipement, dans laquelle des mots de passe sont générés par application itérative d'un algorithme de génération de mot de passe sur un ensemble de paramètres, le deuxième équipement mettant en œuvre les étapes suivantes de: - réception d'une requête du premier équipement pour un renouvellement de l'ensemble de paramètres ; - génération d'un nouvel ensemble de paramètres pour générer des mots de passe, - transmission cryptée du nouvel ensemble de paramètres vers le premier équipement, et - réinitialisation du deuxième équipement avec le nouvel ensemble de paramètres généré.There is provided a method of renewing password generation parameters in a one-time password authentication, of a first device with a second device, wherein passwords are generated by iterative application of a password generation algorithm on a set of parameters, the second equipment implementing the following steps of: - receiving a request from the first device for a renewal of the set of parameters; - generation of a new set of parameters to generate passwords, - encrypted transmission of the new set of parameters to the first equipment, and - reinitialization of the second equipment with the new set of parameters generated.

Description

Authentification par mot de passe à usage unique La présente invention concerne les techniques d'authentification par mot de passe à usage unique. Plus particulièrement, la présente invention concerne le renouvellement de paramètres utilisés pour la génération de tels mots de passe. Les systèmes à mot de passe à usage unique sont décrits dans le document RFC2289 « A One-Time Password System ». Dans les systèmes à mot de passe à usage unique (ou systèmes « OTP »), deux équipements ont chacun connaissance d'un ensemble de paramètres pour générer des mots de passe qui sont utilisés et transmis en clair pour l'authentification du premier équipement auprès du deuxième équipement. Le premier équipement est appelé « client », au sens où ce premier équipement requiert l'authentification, et le deuxième équipement est appelé « serveur » au sens où ce deuxième équipement est sollicité par le client pour répondre à la demande d' authentification. Les paramètres pour générer les mots de passe, comportent une « graine » (« seed » dans le document RFC2289) qui est une chaîne de caractères ISO-646, un numéro de séquence par exemple compris entre 100 et 200, un mot de passe initial (ou «passphrase »), et un algorithme de génération de mots de passe (par exemple MD-5, SHA-1, ou autre). En référence à la figure 1, on décrit une authentification par mot de passe à usage unique selon le document RFC2289. One-time password authentication The present invention relates to single-use password authentication techniques. More particularly, the present invention relates to the renewal of parameters used for the generation of such passwords. Single-use password systems are described in RFC2289 "A One-Time Password System". In one-time password systems (or "OTP" systems), two devices each have knowledge of a set of parameters to generate passwords that are used and transmitted in clear for authentication of the first device to the second equipment. The first device is called "client", in the sense that the first device requires authentication, and the second device is called "server" in the sense that the second device is requested by the client to respond to the authentication request. The parameters for generating the passwords comprise a "seed" (in the document RFC2289) which is an ISO-646 character string, a sequence number for example between 100 and 200, an initial password (or "passphrase"), and a password generation algorithm (eg MD-5, SHA-1, or other). Referring to Figure 1, a one-time password authentication according to RFC2289 is described.

Un équipement client 10 souhaitant s'authentifier auprès d'un équipement serveur 11 de type OTP commence par s'identifier au moyen d'une commande de type « login » 12. S'il reconnaît le login fourni, le serveur répond avec un message 13 comportant la « graine » précitée, et le numéro de séquence N communs aux équipements. Le message peut par ailleurs comporter une indication de l'algorithme à utiliser pour générer un mot de passe (ou « OTP »). A client device 10 wishing to authenticate itself with an OTP type server equipment 11 firstly identifies itself by means of a "login" type command. If it recognizes the supplied login, the server responds with a message 13 having the aforementioned "seed", and the sequence number N common to the equipment. The message may further include an indication of the algorithm to be used to generate a password (or "OTP").

Le client génère ensuite lors de l'étape 14 un OTP de rang N (le nombre N étant le numéro de séquence fourni par le serveur). A cet effet, le client concatène la graine et le mot de passe initial (« passphrase ») préalablement enregistré auprès du client. Le client calcule ensuite un condensé de la chaîne ainsi produite selon un algorithme tel que MD-5 ou SHA-1 par exemple. Cette opération, appelée « fonction de hachage sécurisée », est appliquée N fois. Le résultat final est l'OTP de rang N. Le client transmet l'OTP ainsi calculé au serveur dans un message 15. Le serveur qui connait le dernier OTP calculé et utilisé par le client dans une authentification précédente (c'est-à-dire le mot de passe obtenu en appliquant N+l fois la fonction de hachage sur la concaténation de la passphrase et de la graine), applique lors de l'étape 16 la fonction de hachage sécurisée une seule fois à l'OTP transmis par le client. On obtient ainsi le mot de passe de rang N+l (obtenu par application N+1 fois de la fonction de hachage). Si la valeur ainsi obtenue est égale au dernier bon OTP mémorisé, alors le client est authentifié car l'OTP qu'il a fourni montre qu'il possède le bon mot de passe initial. Le serveur mémorise le nouveau dernier bon OTP utilisé (c'est-à-dire celui obtenu par application N fois de la fonction de hachage) puis décrémente la valeur du numéro de séquence, ce qui produira, lors de l'authentification suivante, un OTP différent. De la sorte, le mot de passe initial n'est jamais transmis sur le réseau, et un même mot de passe OTP n'est jamais utilisé deux fois. Le serveur renvoie alors un message 17 de confirmation de l'authentification. Lorsque le numéro de séquence arrive à zéro suite aux décrémentations successives par le serveur, à la fois le client et le serveur ont besoin d'être réinitialisés. Le document RFC2289 prévoit que cette opération soit réalisée par un utilisateur (typiquement un administrateur du système). En effet, cette étape est très sensible puisqu'elle implique que le client et le serveur prennent connaissance des paramètres secrets pour la génération des mots de passe, en particulier le mot de passe initial. Le besoin de cette étape de réinitialisation limite donc l'utilisation des systèmes OTP à des applications où l'intervention humaine est possible. The client then generates in step 14 an OTP of rank N (the number N being the sequence number provided by the server). For this purpose, the client concatenates the seed and the initial password ("passphrase") previously registered with the customer. The client then calculates a digest of the chain thus produced according to an algorithm such as MD-5 or SHA-1 for example. This operation, called "secure hash function", is applied N times. The final result is the N-rank OTP. The client transmits the thus-calculated OTP to the server in a message 15. The server that knows the last OTP calculated and used by the client in a previous authentication (i.e. say the password obtained by applying N + l times the hash function on the concatenation of the passphrase and the seed), applies in step 16 the secure hash function once to the OTP transmitted by the customer. This gives the password of rank N + 1 (obtained by N + 1 application of the hash function). If the value thus obtained is equal to the last good OTP memorized, then the client is authenticated because the OTP it has provided shows that it has the correct initial password. The server stores the new last good OTP used (that is, the one obtained by applying N times of the hash function) and then decrements the value of the sequence number, which will produce, during the next authentication, a OTP different. In this way, the initial password is never transmitted over the network, and the same OTP password is never used twice. The server then returns a message 17 confirming the authentication. When the sequence number reaches zero due to successive decrements by the server, both the client and the server need to be reset. The document RFC2289 provides that this operation is performed by a user (typically a system administrator). Indeed, this step is very sensitive since it implies that the client and the server are aware of the secret parameters for the generation of passwords, in particular the initial password. The need for this reset step therefore limits the use of OTP systems to applications where human intervention is possible.

La présente invention vise notamment à offrir un système OTP permettant d'envisager une réinitialisation de machine à machine, sans intervention humaine. A cet effet, selon un premier aspect de l'invention, on propose un procédé de renouvellement de paramètres dans une authentification par mot de passe à usage unique, d'un premier équipement auprès d'un deuxième équipement, dans laquelle des mots de passe sont générés par application itérative d'un algorithme de génération de mot de passe sur un ensemble de paramètres, le deuxième équipement mettant en oeuvre les étapes suivantes de: - réception d'une requête du premier équipement pour un renouvellement de l'ensemble de paramètres ; - génération d'un nouvel ensemble de paramètres pour générer des mots de passe ; - transmission cryptée du nouvel ensemble de paramètres vers le premier équipement ; - réinitialisation du deuxième équipement avec le nouvel ensemble de paramètres générés. Ainsi, la réinitialisation des équipements est entièrement automatisée et ne nécessite pas d'intervention humaine. Contrairement à l'art antérieur où les équipements passent dans un état bloqué (numéro de séquence à zéro), l'équipement client (le premier équipement en l'occurrence) requiert une réinitialisation. Cette dernière est opérée par le serveur (le deuxième équipement en l'occurrence) qui peut générer des nouveaux paramètres de manière aléatoire et les communiquer de manière cryptée vers le client, en utilisant une clé de chiffrement commune. Par exemple, la graine utilisée pour la génération des mots de passe est utilisée comme clé de chiffrement. Dans ce cas, on veille à ce que le deuxième équipement garde la graine secrète et ne la transmette pas durant les différentes authentifications (contrairement à ce qui est proposé par le document RFC2289). Afin de générer un nouveau mot de passe initial (ou passphrase), le deuxième équipement peut utiliser l'un au moins des éléments suivants : - un ensemble de caractères aléatoires, - une adresse MAC du deuxième équipement, - un dernier mot de passe utilisé avant la réception de la requête, et - un horodatage courant auprès du deuxième équipement. Cela permet de rendre plus complexe le mot de passe initial selon des éléments particuliers et/ou en liaison avec le premier équipement. Ainsi, le mot de passe initial est rendu plus robuste à des attaques de piratage. Dans des modes de réalisation, pour la transmission du nouvel ensemble, le deuxième équipement émet vers le premier équipement une trame de données comportant : - un champ identifiant une réponse à la requête, - un champ comportant une adresse MAC du premier équipement, - un champ comportant un mot de passe à usage unique, et - un champ comportant le nouvel ensemble de paramètres crypté. Dans des modes de réalisation, après la transmission du nouvel ensemble, le deuxième équipement se met en attente d'un message de confirmation de réception de l'ensemble de paramètres par le premier équipement, et dans le cas où la réception n'est pas confirmée, le deuxième équipement bloque toute authentification du premier équipement jusqu'à être réinitialisé. Ainsi, on s'assure que l'équipement ayant reçu les nouveaux paramètres est bien le premier équipement puisqu'il a pu décrypter correctement les paramètres. Par exemple, les authentifications sont bloquées jusqu'à réinitialisation par un serveur d'authentification, ou par un administrateur. Ainsi, on peut éviter de continuer les authentifications alors qu'un piratage éventuel ou une erreur ont pu survenir. Selon un deuxième aspect de l'invention, on propose un procédé de renouvellement de paramètres dans une authentification par mot de passe à usage unique, d'un premier équipement auprès d'un deuxième équipement, dans laquelle des mots de passe sont générés par application itérative d'un algorithme de génération de mot de passe sur un ensemble de paramètres, le premier équipement mettant en oeuvre les étapes suivantes de: - transmission d'une requête vers le deuxième équipement pour un renouvellement de l'ensemble de paramètres ; - réception et décryptage du nouvel ensemble de paramètres crypté provenant du deuxième équipement ; et - réinitialisation du premier équipement avec le nouvel ensemble de paramètres décrypté. Par exemple, l'ensemble de paramètres comporte une graine gardée secrète par le premier équipement, et le premier équipement décrypte le nouvel ensemble en utilisant cette graine comme clé de chiffrement. Dans des modes de réalisation, après la réception du nouvel ensemble, le premier équipement transmet un message de confirmation de réception de l'ensemble de paramètres. Par exemple, l'ensemble de paramètres comporte un paramètre de comptage représentant un nombre d'itérations de l'algorithme de génération de mot de passe à mettre en oeuvre pour générer un mot de passe, ledit paramètre étant mis à jour à chaque génération de mot de passe, et dans lequel la requête est transmise lorsque le paramètre de comptage indique que le nombre d'itérations à mettre en oeuvre est en dessous d'un seuil. Selon d'autres aspects de l'invention, il est prévu : - des programmes d'ordinateur comportant des instructions pour la mise en oeuvre d'un procédé selon le premier aspect et/ou le deuxième aspect de l'invention lorsque le programme est exécuté par un processeur; - des supports lisibles par un ordinateur sur lequel sont enregistrés de tels programmes d'ordinateur ; - des equipements configurés pour la mise en oeuvre de procédés selon le premier aspect et/ou le deuxième aspect de l'invention ; et - un système comportant des équipements pour la mise en oeuvre d'un procédé selon le premier aspect et le deuxième aspect de l'invention. Un tel système met en oeuvre une authentification par mot de passe à usage unique, d'un premier équipement auprès d'un deuxième équipement, dans laquelle des mots de passe sont générés par application itérative d'un algorithme de génération de mot de passe sur un ensemble de paramètres, et dans lequel l'ensemble de paramètres est renouvelé auprès du deuxième équipement, le premier équipement étant configuré pour transmettre une requête vers le deuxième équipement pour un renouvellement de l'ensemble de paramètres, et pour recevoir le nouvel ensemble de paramètres crypté provenant du deuxième équipement, et le deuxième équipement étant configuré pour recevoir la requête du premier équipement pour un renouvellement de l'ensemble de paramètres, pour générer le nouvel ensemble de paramètres pour générer des mots de passe, et pour transmettre de manière cryptée le nouvel ensemble de paramètres vers le premier équipement. The present invention aims in particular to provide an OTP system for considering a machine reset machine without human intervention. For this purpose, according to a first aspect of the invention, there is provided a method of renewing parameters in a single-use password authentication, of a first equipment with a second equipment, in which passwords are generated by iterative application of a password generation algorithm on a set of parameters, the second equipment implementing the following steps of: - receiving a request from the first device for a renewal of the set of parameters ; - generating a new set of parameters to generate passwords; - encrypted transmission of the new set of parameters to the first device; - reset the second device with the new set of generated parameters. Thus, the reset of the equipment is fully automated and does not require human intervention. Unlike the prior art where the equipment goes into an off state (sequence number zero), the client equipment (the first device in this case) requires a reset. The latter is operated by the server (the second device in this case) which can generate new parameters randomly and communicate them encrypted to the client, using a common encryption key. For example, the seed used for generating passwords is used as the encryption key. In this case, it is ensured that the second equipment keeps the seed secret and does not transmit it during the different authentications (contrary to what is proposed by the document RFC2289). In order to generate a new initial password (or passphrase), the second equipment can use at least one of the following elements: a set of random characters, a MAC address of the second equipment, a last password used. before the receipt of the request, and - a current time stamp with the second equipment. This makes it possible to make the initial password more complex according to particular elements and / or in connection with the first equipment. Thus, the initial password is made more robust to hacking attacks. In embodiments, for the transmission of the new set, the second equipment transmits to the first equipment a data frame comprising: a field identifying a response to the request, a field comprising a MAC address of the first equipment, a field with one-time password, and - a field with the new encrypted parameter set. In embodiments, after the transmission of the new set, the second equipment waits for a confirmation message reception of the set of parameters by the first equipment, and in the case where the reception is not confirmed, the second device blocks any authentication of the first device until it is reset. Thus, it is ensured that the equipment having received the new parameters is the first equipment since it was able to decrypt the parameters correctly. For example, authentication is blocked until reset by an authentication server, or by an administrator. Thus, one can avoid to continue the authentications whereas a possible hacking or an error could have occurred. According to a second aspect of the invention, there is provided a method of renewing parameters in a one-time password authentication, of a first device with a second device, in which passwords are generated per application. iterative of a password generation algorithm on a set of parameters, the first equipment implementing the following steps of: - transmitting a request to the second device for a renewal of the set of parameters; receiving and decrypting the new set of encrypted parameters from the second equipment; and - reset the first device with the new decrypted parameter set. For example, the set of parameters includes a seed kept secret by the first device, and the first device decrypts the new set using this seed as an encryption key. In embodiments, after receiving the new set, the first equipment transmits a confirmation message of receipt of the set of parameters. For example, the set of parameters comprises a count parameter representing a number of iterations of the password generation algorithm to be implemented to generate a password, said parameter being updated at each generation of password, and in which the request is transmitted when the count parameter indicates that the number of iterations to be implemented is below a threshold. According to other aspects of the invention, there are provided: computer programs comprising instructions for the implementation of a method according to the first aspect and / or the second aspect of the invention when the program is executed by a processor; - computer-readable media on which such computer programs are recorded; - Equipment configured for the implementation of methods according to the first aspect and / or the second aspect of the invention; and a system comprising equipment for implementing a method according to the first aspect and the second aspect of the invention. Such a system implements a one-time password authentication of a first device with a second device, in which passwords are generated by iterative application of a password generation algorithm on a second device. a set of parameters, and in which the set of parameters is renewed with the second device, the first device being configured to transmit a request to the second device for a renewal of the set of parameters, and to receive the new set of parameters. encrypted parameters from the second device, and the second device being configured to receive the request from the first device for a renewal of the set of parameters, to generate the new set of parameters to generate passwords, and to transmit in an encrypted manner the new set of parameters to the first device.

Par exemple, le premier équipement comporte: - une unité de communication pour envoyer et recevoir des messages pour mettre en oeuvre une authentification par mot de passe à usage unique, et - une unité de traitement pour solliciter une authentification par mot de passe à usage unique auprès d'un autre équipement, ladite unité étant configurée pour générer des mots de passe par application itérative d'un algorithme de génération de mot de passe sur un ensemble de paramètres, pour transmettre via l'unité de communication une requête vers l'autre équipement pour un renouvellement de l'ensemble de paramètres, et pour recevoir de manière cryptée via l'unité de communication le nouvel ensemble de paramètres transmis par l'autre équipement. For example, the first device comprises: - a communication unit for sending and receiving messages for implementing one-time password authentication, and - a processing unit for requesting one-time password authentication. with another equipment, said unit being configured to generate passwords by iterative application of a password generation algorithm on a set of parameters, to transmit via the communication unit a request to the other equipment for a renewal of the set of parameters, and to receive in encrypted manner via the communication unit the new set of parameters transmitted by the other equipment.

Par exemple, le deuxième équipement comporte : - une unité de communication pour envoyer et recevoir des messages pour mettre en oeuvre une authentification par mot de passe à usage unique, et - une unité de traitement pour authentifier un autre équipement sollicitant une authentification par mot de passe à usage unique, ladite unité étant configurée pour générer des mots de passe par application itérative d'un algorithme de génération de mot de passe sur un ensemble de paramètres, pour renouveler ledit ensemble de paramètres sur réception par l'unité de communication d'une requête de l'autre équipement pour un renouvellement de l'ensemble de paramètres, et pour transmettre de manière cryptée via l'unité de communication le nouvel ensemble de paramètres vers l'autre équipement. Les avantages procurés par le procédé selon le deuxième aspect, les programmes d'ordinateur, les supports lisibles par ordinateur, les équipements, et le système, tels que succinctement exposés ci-dessus, sont au moins identiques à ceux mentionnés plus haut en liaison avec le procédés selon le premier aspect. D'autres caractéristiques et avantages de l'invention apparaîtront encore à la lecture de la description qui va suivre. Celle-ci est purement illustrative et doit être lue en regard des dessins annexés sur lesquels, en outre la figure 1 : - la figure 2 illustre l'initialisation de deux équipements selon un mode de réalisation de l'invention ; - les figures 3a et 3b illustrent des messages échangés lors de l'initialisation; - la figure 4 illustre l'authentification selon un mode de réalisation de l'invention ; - les figures 5a et 5b illustrent des messages échangés lors de l'authentification ; - la figure 6 illustre la réinitialisation des équipements selon un mode de réalisation de l'invention ; - les figures 7a, 7b, et 7c illustrent des messages échangés lors de la réinitialisation ; et - la figure 8 illustre schématiquement un système et des équipements selon un mode de réalisation de l'invention. En référence à la figure 2, on décrit l'initialisation de deux équipements 20 et 21 pour la mise en oeuvre d'un procédé d'authentification selon un mode de réalisation de l'invention. Lors de la toute première initialisation (ou lors d'une réinitialisation suite au blocage des authentifications suite à une erreur ou une tentative de piratage), l'équipement 20 et l'équipement 21 se connectent à un serveur d'authentification 22. Le serveur d' authentification génère alors lors de l'étape 23 un ensemble initial de paramètres comportant une «passphrase », ou mot de passe initial (10 à 63 caractères tirés aléatoirement), une « graine » (1 à 16 caractères alphanumériques ISO-646), un numéro de séquence (un nombre entier tiré aléatoirement entre 100 et 200), et un algorithme de génération de mots de passe (MD-5 ou SHA-1 par exemple). Dans la suite on considère que l'équipement 20 agira en tant que client dans sa relation avec l'équipement 21 qui agira donc en tant que serveur. Le premier équipement est appelé client, au sens où c'est l'équipement requérant l'authentification, et le deuxième équipement est appelé serveur dans le sens où il est sollicité par le client pour répondre à la demande d'authentification. Le serveur d'authentification transmet ensuite un message 24 vers l'équipement 20, selon un paquet de données tel que représenté sur la figure 3a. Le paquet comporte : - un champ 30 d'un octet identifiant le type de paquet transmis. Dans le présent cas, il s'agit d'un message d' initialisation qui peut être identifié par la chaîne « AUTH_INIT », - un champ 31 de 6 octets identifiant l'adresse MAC de l'équipement 20 qui par la suite communiquera avec l'équipement 21, ce champ vise à éviter toute ambigüité en cas de présence de plusieurs équipements clients, - un champ 32 de 64 octets comportant la passphrase générée, - un champ 33 d'un octet comportant une identification de l'algorithme de génération de mots de passe à utiliser, - un champ 34 de 16 octets comportant la graine générée, et - un champ 35 de 2 octets comportant le numéro de séquence généré. For example, the second equipment comprises: - a communication unit for sending and receiving messages for implementing one-time password authentication, and - a processing unit for authenticating another device requesting a password authentication. one-time password, said unit being configured to generate passwords by iteratively applying a password generation algorithm on a set of parameters, to renew said set of parameters upon reception by the communication unit of a request from the other equipment for a renewal of the set of parameters, and to transmit in encrypted manner via the communication unit the new set of parameters to the other equipment. The advantages provided by the method according to the second aspect, the computer programs, the computer readable media, the equipment, and the system, as succinctly set forth above, are at least the same as those mentioned above in connection with the methods according to the first aspect. Other features and advantages of the invention will become apparent on reading the description which follows. This is purely illustrative and should be read with reference to the accompanying drawings in which, in addition to Figure 1: - Figure 2 illustrates the initialization of two equipment according to one embodiment of the invention; FIGS. 3a and 3b illustrate messages exchanged during the initialization; FIG. 4 illustrates the authentication according to one embodiment of the invention; FIGS. 5a and 5b illustrate messages exchanged during the authentication; FIG. 6 illustrates the reinitialization of the equipment according to one embodiment of the invention; FIGS. 7a, 7b and 7c illustrate messages exchanged during the reset; and - Figure 8 schematically illustrates a system and equipment according to one embodiment of the invention. With reference to FIG. 2, the initialization of two devices 20 and 21 for the implementation of an authentication method according to one embodiment of the invention is described. During the very first initialization (or during a reset following the blocking of authentications following an error or an attempted hacking), the equipment 20 and the equipment 21 connect to an authentication server 22. The server authentication then generates in step 23 an initial set of parameters including a "passphrase", or initial password (10 to 63 characters randomly drawn), a "seed" (1 to 16 alphanumeric characters ISO-646) , a sequence number (an integer randomly drawn between 100 and 200), and a password generation algorithm (MD-5 or SHA-1, for example). In the following it is considered that the equipment 20 will act as a customer in its relationship with the equipment 21 which will therefore act as a server. The first device is called a client, in the sense that it is the equipment requiring authentication, and the second device is called a server in the sense that it is requested by the client to respond to the authentication request. The authentication server then transmits a message 24 to the equipment 20, according to a data packet as shown in Figure 3a. The packet comprises: a field 30 of one byte identifying the type of packet transmitted. In the present case, it is an initialization message which can be identified by the string "AUTH_INIT", a field 31 of 6 bytes identifying the MAC address of the equipment 20 which will subsequently communicate with the equipment 21, this field aims to avoid any ambiguity in case of presence of several client equipment, - a 32-byte field 32 with the generated passphrase, - a field 33 of a byte comprising an identification of the generation algorithm passwords to be used; a 16 byte field 34 with the generated seed; and a 2 byte field with the generated sequence number.

Le serveur d'authentification envoie également un message 25 identique au message 24 à l'équipement 21. Alternativement, le serveur d'authentification calcule un premier mot de passe à usage unique (OTP) en appliquant un nombre de fois égal au numéro de séquence l'algorithme de génération de mot de passe sur la concaténation de la passphrase et de la graine, selon la technique décrite dans le document RFC2289, puis il transmet un message 25 vers l'équipement 21. Ce message est similaire au message 24 mais à la place de comporter un champ pour la passphrase, il comporte un champ de 8 octets pour le premier OTP calculé. Ainsi, on garde la passphrase secrète même pour le serveur. Sur réception des messages 24 et 25, les équipements stockent dans des étapes 26 et 27 les paramètres reçus et passent dans l'état initialisé. Ils renvoient alors des messages 28 et 29 vers le serveur d'authentification pour confirmer l'initialisation, selon un paquet de données représenté sur la figure 3b comportant : - un champ 36 d'un octet identifiant le type de paquet transmis. Dans le présent cas, il s'agit d'un message de confirmation qui peut être identifié par la chaîne « AUTH_INIT_ACK », - un champ 37 de 6 octets identifiant l'adresse MAC de l'équipement 20, - un champ 38 d'un octet comportant la réponse à la réception des paramètres, ce champ peut être « ACK » ou « 1 » pour confirmer que l'initialisation s'est déroulée correctement, ou « NACK » ou « 0 » pour informer que l'initialisation n'a pas pu avoir lieu, et - un champ 39 d'un octet pour fournir des informations complémentaires, par exemple en cas de non- confirmation. Une fois les messages 28 et 29 envoyés, et l'initialisation confirmée, les équipements 20 et 21 se déconnectent du serveur 22. Ce processus de première initialisation est sensible, dans la mesure où des paramètres permettant de générer les OTP sont transmis vers le client et le serveur. Afin de garantir la confidentialité des échanges lors de ce processus, on peut envisager de réaliser les communications dans un flux Https. On peut prévoir d'autres modes de communication confidentielle alternatifs connus de la personne du métier. En référence à la figure 4, on décrit une authentification par mot de passe à usage unique selon un mode de réalisation de l'invention. On suppose que l'équipement client 40 et l'équipement serveur 41 ont été initialisés selon un processus tel que décrit ci-avant. Les deux équipements sont donc dans l'état initialisé, et chacun possède les paramètres nécessaires pour générer les mots de passe à partir du mot de passe initial, et le serveur connait le mot de passe généré par application N fois de l'algorithme de génération de mots de passe sur la concaténation passphrase/graine (N étant le numéro de séquence fourni lors de l'initialisation). Lors de l'étape 42, le client applique N fois l'algorithme sur la concaténation de la passphrase et de la graine. Il obtient ainsi le premier OTP. Il envoie alors un message de connexion 43 vers le serveur avec comme arguments l'adresse MAC du client et le premier OTP généré. Le message peut être envoyé selon le paquet de données représenté par la figure 5a comportant : - un champ 51 d'un octet identifiant le type de paquet transmis. Dans le présent cas, il s'agit d'un message d'authentification qui peut être identifié par la chaîne « AUTH_DATA », - un champ 52 de 6 octets identifiant l'adresse MAC de l'équipement 40, et - un champ 53 de 8 octets comportant l'OTP. The authentication server also sends a message identical to the message 24 to the equipment 21. Alternatively, the authentication server calculates a first one-time password (OTP) by applying a number of times equal to the sequence number. the password generation algorithm on the concatenation of the passphrase and the seed, according to the technique described in the document RFC2289, then it transmits a message 25 to the equipment 21. This message is similar to the message 24 but to instead of having a field for the passphrase, it has a field of 8 bytes for the first calculated OTP. Thus, we keep the secret passphrase even for the server. On receiving messages 24 and 25, the equipment stores in steps 26 and 27 the received parameters and go into the initialized state. They then send messages 28 and 29 to the authentication server to confirm the initialization, according to a data packet represented in FIG. 3b comprising: a field 36 of one byte identifying the type of packet transmitted. In the present case, it is a confirmation message which can be identified by the string "AUTH_INIT_ACK", - a field 37 of 6 bytes identifying the MAC address of the equipment 20, - a field 38 of a byte containing the response to the reception of the parameters, this field can be "ACK" or "1" to confirm that the initialization has proceeded correctly, or "NACK" or "0" to inform that the initialization n ' could not take place, and - a field 39 of a byte to provide additional information, for example in case of non-confirmation. Once the messages 28 and 29 have been sent, and the initialization confirmed, the equipment 20 and 21 disconnect from the server 22. This initial initialization process is sensitive, insofar as parameters for generating the OTPs are transmitted to the client. and the server. In order to guarantee the confidentiality of the exchanges during this process, it is possible to envisage carrying out the communications in an Https stream. Alternative alternative methods of confidential communication known to those skilled in the art may be provided. With reference to FIG. 4, a one-time password authentication according to one embodiment of the invention is described. It is assumed that the client equipment 40 and the server equipment 41 have been initialized according to a process as described above. Both devices are therefore in the initialized state, and each has the necessary parameters to generate the passwords from the initial password, and the server knows the password generated by application N times of the generation algorithm passphrase / seed concatenation passwords (where N is the sequence number provided during initialization). In step 42, the client applies N times the algorithm on the concatenation of the passphrase and the seed. He thus obtains the first OTP. It then sends a connection message 43 to the server with as arguments the MAC address of the client and the first OTP generated. The message may be sent according to the data packet represented by FIG. 5a comprising: a field 51 of a byte identifying the type of packet transmitted. In the present case, it is an authentication message which can be identified by the string "AUTH_DATA", - a field 52 of 6 bytes identifying the MAC address of the equipment 40, and - a field 53 of 8 bytes including the OTP.

L' OTP va permettre au serveur d'authentifier le client en vérifiant que l'OTP fourni correspond à l'OTP qui lui a été transmis lors de l'initialisation. Lors de l'étape 44, le serveur compare l'OTP reçu du client avec soit l'OTP reçu lors de l'initialisation s'il s'agit de la première fois que le client transmet un OTP ou soit avec le résultat de l'application (une seule fois) de l'algorithme sur le dernier OTP reçu sinon. Si l'OTP est reconnu, le serveur décrémente le numéro de séquence et stocke l'OTP reçu. Le serveur renvoie alors un message 45 de réponse pour confirmer ou non l'authentification. Ce message peut être transmis selon le paquet de données représenté par la figure 5b comportant : - un champ 54 d'un octet identifiant le type de paquet transmis. Dans le présent cas, il s'agit d'un message de confirmation qui peut être identifié par la chaîne « AUTH_DATA_ACK », - un champ 55 de 6 octets identifiant l'adresse MAC de l'équipement 40, - un champ 56 de 8 octets comportant l'OTP précédemment transmis par l'équipement 40, - un champ 57 d'un octet comportant la réponse à la réception de la requête 43, ce champ peut être « ACK » ou « 1 » pour confirmer l'authentification, ou «NACK » ou « 0 » pour informer que l'équipement 40 n'a pas été authentifié, et - un champ 58 d'un octet pour transmettre d'autres informations précisant les raisons de l'échec d'authentification par exemple. Si l'équipement 40 est authentifié, après réception du message 45, le client décrémente le numéro de séquence reçu lors de l'initialisation, et les communications entre l'équipement 40 et l'équipement 41 peuvent continuer, par exemple conformément au document RFC2289, jusqu'à ce que le numéro de séquence tombe en-dessous d'un certain seuil suite aux décrémentations successives. L'équipement 40 garde trace des messages 43 envoyés de façon à les apparier avec les messages 45 reçus en comparant les champs 53 et 56 contenant l'OTP. Si, au contraire, l'authentification a échoué, le champ 57 vaut « NACK » ou « 0 » et le champ 58 indique la raison éventuellement identifiée. L' authentification peut échouer pour différents raisons, 30 notamment : - si l'équipement 41 n'est pas initialisé, - si l'adresse MAC est inconnue, ou - si l'OTP est incorrect. The OTP will allow the server to authenticate the client by verifying that the provided OTP matches the OTP that was passed to it during initialization. In step 44, the server compares the OTP received from the client with either the OTP received during the initialization if it is the first time that the client transmits an OTP or is the result of the OTP. application (once) of the algorithm on the last OTP received otherwise. If the OTP is recognized, the server decrements the sequence number and stores the received OTP. The server then returns a response message 45 to confirm or not the authentication. This message may be transmitted according to the data packet represented by FIG. 5b comprising: a field 54 of one byte identifying the type of packet transmitted. In the present case, it is a confirmation message which can be identified by the string "AUTH_DATA_ACK", - a field 55 of 6 bytes identifying the MAC address of the equipment 40, - a field 56 of 8 bytes including the OTP previously transmitted by the equipment 40, - a field 57 of a byte including the response to the receipt of the request 43, this field can be "ACK" or "1" to confirm the authentication, or "NACK" or "0" to inform that the equipment 40 has not been authenticated, and - a field 58 of a byte to transmit other information specifying the reasons for the authentication failure for example. If the equipment 40 is authenticated, after receiving the message 45, the client decrements the sequence number received during the initialization, and the communications between the equipment 40 and the equipment 41 can continue, for example according to the document RFC2289 , until the sequence number falls below a certain threshold following successive decrementations. The equipment 40 keeps track of the messages 43 sent so as to match them with the received messages 45 by comparing the fields 53 and 56 containing the OTP. If, on the contrary, the authentication has failed, the field 57 is "NACK" or "0" and the field 58 indicates the reason possibly identified. The authentication may fail for various reasons, including: - if the equipment 41 is not initialized, - if the MAC address is unknown, or - if the OTP is incorrect.

Selon ces différents cas, les équipements pourront notifier l'échec à une entité de gestion distante ou passer dans un état non-initialisé qui bloque les authentifications du client auprès du serveur. A chaque nouvelle authentification, les équipements calculent l'OTP suivant et décrémentent le numéro de séquence, comme décrit dans le document RFC2289. According to these different cases, the equipment will be able to notify the failure to a remote management entity or to go into an uninitialized state that blocks the authentications of the client to the server. At each new authentication, the devices calculate the next OTP and decrement the sequence number, as described in the document RFC2289.

On peut toutefois noter ici, que contrairement au document RFC2289, la graine n' est jamais échangée entre les équipements. Elle reste donc secrète. Comme on le verra par la suite, cette graine pourra être utilisée pour la réinitialisation des équipements. En référence à la figure 6, on décrit la réinitialisation de deux équipements 600 et 601 lorsque le numéro de séquence tombe en dessous d'un seuil prédéterminé suite aux différentes décrémentations opérées par les équipements. Par exemple, le seuil correspond à un nombre d'OTP encore nécessaires pour les échanges de messages lors de la phase de réinitialisation. On peut aussi prévoir un seuil légèrement supérieur pour s'assurer qu'il reste assez d'OTP à générer pour l'échange de messages lors de la réinitialisation. It can however be noted here that, contrary to document RFC2289, the seed is never exchanged between the equipment. It remains secret. As we will see later, this seed can be used to reset the equipment. With reference to FIG. 6, the reinitialization of two devices 600 and 601 is described when the sequence number falls below a predetermined threshold following the various decrementations made by the equipment. For example, the threshold corresponds to a number of OTPs still necessary for message exchanges during the reset phase. We can also provide a slightly higher threshold to ensure that there is enough OTP to generate for the exchange of messages during the reset.

Lors de l'étape 602, l'équipement client compare le numéro de séquence courant à un seuil. Par exemple 2. Lorsque le numéro de séquence atteint le nombre 2 suite aux différentes décrémentations, cela signifie que seuls deux OTP peuvent encore être générés. Si le seuil est atteint, le client envoie une requête de renouvellement 603 au serveur. Cette requête peut par exemple être transmise selon le paquet représenté sur la figure 7a comportant : - un champ 701 d'un octet identifiant le type de paquet transmis. Dans le présent cas, il s'agit d'un message de demande de nouveaux paramètres qui peut être identifié par la chaîne « AUTH_RENEW_REQ », - un champ 702 de 6 octets identifiant l'adresse MAC de l'équipement 600, et - un champ 703 de 8 octets comportant un OTP. In step 602, the client equipment compares the current sequence number to a threshold. For example 2. When the sequence number reaches the number 2 following the different decrementations, it means that only two OTPs can still be generated. If the threshold is reached, the client sends a renewal request 603 to the server. This request may for example be transmitted according to the packet shown in FIG. 7a comprising: a field 701 of one byte identifying the type of packet transmitted. In this case, it is a request message of new parameters which can be identified by the string "AUTH_RENEW_REQ", - a field 702 of 6 bytes identifying the MAC address of the equipment 600, and - a 703 field of 8 octets including an OTP.

Sur réception du message 603, le serveur vérifie l'OTP lors de l'étape 604 conformément au document RFC2289 puis génère lors de l'étape 605 un ensemble de nouveaux paramètres pour la génération de mots de passe à usage unique. Le serveur génère notamment: - une nouvelle passphrase, - une nouvelle graine, et - un nouveau numéro de séquence. Par exemple, pour générer la passphrase, le serveur utilise le dernier OTP enregistré, l'horodatage courant ou d'autres informations. Upon receiving the message 603, the server checks the OTP in step 604 according to the document RFC2289 and then generates in step 605 a set of new parameters for the generation of one-time passwords. The server generates in particular: - a new passphrase, - a new seed, and - a new sequence number. For example, to generate the passphrase, the server uses the last registered OTP, the current timestamp, or other information.

Le serveur crypte ensuite les paramètres lors de l'étape 606 selon des techniques connues par exemple en utilisant les algorithmes AES256 ou 3DES. Par exemple, le serveur utilise la graine précédemment utilisée pour générer les OTP comme clé de chiffrement. En effet, comme déjà indiqué ci-avant, la graine peut rester secrète au cours des authentifications. La graine n'a été transmise que lors de la phase d'initialisation vers le client et le serveur. Ainsi, les deux équipements partagent cette information. Cette information est donc secrète et évolue au cours des différentes réinitialisations des équipements. Elle offre donc des avantages à être utilisée comme clé de chiffrement. Le serveur transmet ensuite au client les paramètres cryptés dans un message 607 selon le paquet illustré par la figure 7b comportant : - un champ 704 d'un octet identifiant le type de paquet transmis. Dans le présent cas, il s'agit d'un message de transmission de paramètres qui peut être identifié par la chaîne « AUTH_RENEW_RESP », - un champ 705 de 6 octets identifiant l'adresse MAC de l'équipement 600, - un champ 706 de 8 octets comportant l' OTP précédemment transmis par l'équipement 600, et - un champ 707 d'autant d'octets que nécessaire pour comporter les paramètres cryptés. The server then encrypts the parameters in step 606 according to known techniques, for example using the algorithms AES256 or 3DES. For example, the server uses the seed previously used to generate the OTPs as the encryption key. Indeed, as already indicated above, the seed can remain secret during authentications. The seed was only transmitted during the initialization phase to the client and the server. Thus, both equipment share this information. This information is therefore secret and evolves during the various resets of the equipment. It therefore offers advantages to be used as an encryption key. The server then transmits to the client the encrypted parameters in a message 607 according to the packet illustrated by FIG. 7b comprising: a field 704 of one byte identifying the type of packet transmitted. In this case, it is a parameter transmission message that can be identified by the string "AUTH_RENEW_RESP", - a field 705 of 6 bytes identifying the MAC address of the equipment 600, - a field 706 8 bytes including the OTP previously transmitted by the equipment 600, and a field 707 by as many bytes as necessary to include the encrypted parameters.

Sur réception du message 607, le client décrypte les paramètres lors de l'étape 608. On peut prévoir que le client n'accepte de traiter le message 607 que s'il a précédemment envoyé une requête de demande de nouveaux paramètres. Afin de décrypter les nouveaux paramètres le client utilise la clé commune, par exemple la dernière graine utilisée pour générer les OTP. Le client enregistre ensuite les nouveaux paramètres et répond un message 609 pour confirmer la réception des paramètres. Le message 609 comporte par exemple les champs suivant du paquet représenté sur la figure 7c : - un champ 708 d'un octet identifiant le type de paquet transmis. Dans le présent cas, il s'agit d'un message de confirmation qui peut être identifié par la chaîne « AUTH_RENEW_ACK », - un champ 709 de 6 octets identifiant l'adresse MAC de l'équipement 600, -un champ 710 de 8 octets comportant le dernier OTP généré à partir des anciens paramètres, - un champ 711 d'un octet comportant la réponse à la réception des nouveaux paramètres, ce champ peut être « ACK » ou « 1 » pour confirmer la réception, ou « NACK » ou « 0 » pour informer que les paramètres n'ont pas été reçus ou décryptés, et - un champ 712 d'un octet pour transmettre d'autres informations précisant les raisons de l'échec de réception ou de décryptage par exemple. Des programmes d'ordinateur comportant des instructions pour la mise en oeuvre des procédés selon l'invention peuvent être réalisés selon un algorithme général déduit de l'organigramme général de la figure 6, et de la présente description détaillée. Upon receipt of the message 607, the client decrypts the parameters in step 608. It can be expected that the client agrees to process the message 607 only if he has previously sent a request to request new parameters. In order to decrypt the new parameters the client uses the common key, for example the last seed used to generate the OTPs. The client then saves the new parameters and responds with a message 609 to confirm receipt of the parameters. The message 609 comprises, for example, the following fields of the packet represented in FIG. 7c: a field 708 of one byte identifying the type of packet transmitted. In this case, it is a confirmation message which can be identified by the string "AUTH_RENEW_ACK", - a field 709 of 6 bytes identifying the MAC address of the equipment 600, - a field 710 of 8 octets including the last OTP generated from the old parameters, - a one byte field 711 with the response to the reception of the new parameters, this field can be "ACK" or "1" to confirm the reception, or "NACK" or "0" to inform that the parameters have not been received or decrypted, and - a field 712 of one byte to transmit other information specifying the reasons for the failure of reception or decryption for example. Computer programs comprising instructions for carrying out the methods according to the invention can be made according to a general algorithm deduced from the general flowchart of FIG. 6, and from the present detailed description.

Par exemple, un programme d'authentification par mot de passe à usage unique côté client peut-être réalisé selon le pseudo-code suivant : RENEW_AUTHQ SI (SEQ = 2) ALORS RENEW_PARAM ; FIN; SI (RECEP_NEW_PARAM = VRAI) ALORS DECRYPT(PARAM, GRAINE) -* NEW_PARAM; STOCK(NEW_PARAM); SI (ERREUR) ALORS NACK_RECEP; FAUX -* RECEP_NEW_PARAM ; FAUX -* ERREUR ; SINON ACK_RECEP; NEW_PARAM -*PARAM_COURANT ; FAUX -* RECEP_NEW_PARAM ; 20 FIN La fonction RENEW_AUTH() consiste à veiller au renouvellement des paramètres nécessaire à la génération des mots de passe. A cet effet, lorsque le paramètre SEQ correspondant au numéro de séquence devient égal à 2, la fonction RENEW_PARAM est appelée. Cette fonction assure l'envoi d'un message de requête de renouvellement de paramètres comme décrit ci-avant. Lorsque les nouveaux 25 paramètres PARAM sont reçus, une variable booléenne RECEP_NEW_PARAM passe à VRAI, et lorsque cette variable a la valeur VRAI, la fonction DECRYPTA est appelée pour décrypter les paramètres reçus. La fonction DECRYPTA prend en arguments les paramètres cryptés, et la clé de chiffrement, par exemple la graine GRAINE des paramètres courant. Les paramètres décryptés sont alors stockés dans la variable NEW_PARAM. Cette variable est ensuite enregistrée en mémoire par la fonction 30 STOCKA. En effet, les nouveaux paramètres ne seront utilisés qu'à partir du moment où la réception aura été confirmée. Dans le processus de décryptage, si une erreur survient, la variable booléenne ERREUR passe à VRAI et la fonction NACK_ERREUR est appelée pour transmettre un message d'échec comme 10 15 FIN ; FIN ; décrit ci-avant, et la variable ERREUR est alors remise à FAUX. Sinon la variable ERREUR reste à FAUX, et la fonction ACK_RECEP est appelée pour transmettre un message de confirmation comme décrit ci-avant. En outre, les paramètres reçus et décryptés remplacent alors les paramètres courants et sont dorénavant utilisés pour s'authentifier auprès du serveur. La variable RECEP_NEW_PARAM est repassée à FAUX. Par exemple encore, un programme d'authentification par mot de passe à usage unique côté serveur peut-être réalisé selon le pseudo-code suivant : GEN_AUTHQ SI(RENEW_PARAM) ALORS GEN_PARAM (OTP_COURANT, HORDATA ; MAC_CLNT) -*PARAM ; CRYPTO(PARAM, GRAINE)-*NEW_PARAM ; TRANS(NEW_PARAM, MAC_CLNT) ; FIN; FIN; La fonction GEN_AUTHQ génère et transmet des nouveaux paramètres de génération de mots de passe sur requête du client. Lorsqu'une requête est reçue, la variable booléenne RENEW_PARAM passe à VRAI et la fonction GEN_PARAMQ est alors appelée. Cette fonction prend en arguments, l'OTP courant, les informations d'horodatage courantes, et l'adresse MAC du client pour générer les nouveaux paramètres comme déjà décrit ci-avant. Ces nouveaux paramètres sont stockés dans la variable PARAM. For example, a client-side one-time password authentication program may be implemented according to the following pseudo-code: RENEW_AUTHQ IF (SEQ = 2) THEN RENEW_PARAM; END; IF (RECEP_NEW_PARAM = TRUE) THEN DECRYPT (PARAM, SEED) - * NEW_PARAM; STOCK (NEW_PARAM); IF (ERROR) THEN NACK_RECEP; FALSE - * RECEP_NEW_PARAM; FALSE - * ERROR; ELSE ACK_RECEP; NEW_PARAM - * PARAM_COURANT; FALSE - * RECEP_NEW_PARAM; 20 END The function RENEW_AUTH () consists in ensuring the renewal of the parameters necessary for the generation of the passwords. For this purpose, when the parameter SEQ corresponding to the sequence number becomes equal to 2, the function RENEW_PARAM is called. This function sends a parameter renewal request message as described above. When the new PARAM parameters are received, a Boolean variable RECEP_NEW_PARAM changes to TRUE, and when this variable is set to TRUE, the DECRYPTA function is called to decrypt the received parameters. The DECRYPTA function takes as arguments the encrypted parameters, and the encryption key, for example the SEED seed of the current parameters. The decrypted parameters are then stored in the NEW_PARAM variable. This variable is then stored in memory by the STOCKA function. In fact, the new parameters will only be used once the reception has been confirmed. In the decryption process, if an error occurs, the Boolean ERROR variable goes to TRUE and the NACK_ERREUR function is called to pass a failure message as 10 FIN; END; described above, and the ERROR variable is then reset to FALSE. Otherwise the ERROR variable remains FALSE, and the ACK_RECEP function is called to transmit a confirmation message as described above. In addition, the parameters received and decrypted then replace the current parameters and are now used to authenticate with the server. The RECEP_NEW_PARAM variable is returned to FALSE. For example, a server-side one-time password authentication program may be implemented according to the following pseudo-code: GEN_AUTHQ IF (RENEW_PARAM) THEN GEN_PARAM (OTP_COURANT, HORDATA; MAC_CLNT) - * PARAM; CRYPTO (PARAM, SEED) - * NEW_PARAM; TRANS (NEW_PARAM, MAC_CLNT); END; END; The GEN_AUTHQ function generates and transmits new parameters for generation of passwords upon request from the client. When a request is received, the Boolean variable RENEW_PARAM goes to TRUE and the function GEN_PARAMQ is then called. This function takes as arguments, the current OTP, the current timestamp information, and the MAC address of the client to generate the new parameters as already described above. These new parameters are stored in the PARAM variable.

La fonction CRYPTOQ est ensuite appelée pour crypter les paramètres générés en utilisant par exemple la graine des paramètres courant comme clé de chiffrement. Les paramètres cryptés sont ensuite transmis vers le client en utilisant la fonction TRANS() qui prend en argument les paramètres cryptés et l'adresse MAC du client. Lorsque le client enverra la confirmation de la réception des paramètres, le serveur stockera les paramètres générés à la place des paramètres courants. The CRYPTOQ function is then called to encrypt the generated parameters using, for example, the seed of the current parameters as an encryption key. Encrypted settings are then passed to the client using the TRANS () function that takes the client's encrypted parameters and MAC address as arguments. When the client sends the confirmation of receipt of the parameters, the server will store the generated parameters instead of the current parameters.

La figure 8 illustre schématiquement un système d'authentification selon un mode de réalisation de l'invention. Le système comporte un équipement 80 appelé client et un équipement 84 appelé serveur. L'équipement 80 comporte une unité de traitement 81 pour s'authentifier auprès de l'équipement 84 selon un procédé selon la présente invention. A cet effet il dispose d'une unité de mémoire 82. Cette unité de mémoire peut comporter différents types de mémoire. Par exemple l'unité de mémoire comporte une mémoire pour stocker des données de calcul. L'unité de mémoire peut également comporter une mémoire pour le stockage d'un programme d'ordinateur selon la présente invention pour son exécution par un processeur de l'unité de traitement. L'équipement comporte en outre une unité de communication 83 pour communiquer notamment avec l'équipement 84 ou un serveur d'authentification par exemple via un réseau de communication (non représenté). L'équipement 84 comporte une unité de traitement 85 pour authentifier l'équipement 80 selon un procédé selon la présente invention. A cet effet il dispose d'une unité de mémoire 86. Cette unité de mémoire peut comporter différents types de mémoire. Par exemple l'unité de mémoire comporte une mémoire pour stocker des données de calcul. L'unité de mémoire peut également comporter une mémoire pour le stockage d'un programme d'ordinateur selon la présente invention pour son exécution par un processeur de l'unité de traitement. L'équipement comporte en outre une unité de communication 87 pour communiquer notamment avec l'équipement 80 ou un serveur d'authentification par exemple via un réseau de communication (non représenté). La présente invention a été décrite et illustrée dans la présente description détaillée et dans les figures. La présente invention ne se limite pas aux formes de réalisation présentées. D'autres variantes et modes de réalisation peuvent être déduits et mis en oeuvre par la personne du métier à la lecture de la présente description et des figures annexées. Figure 8 schematically illustrates an authentication system according to one embodiment of the invention. The system comprises a device 80 called client and a device 84 called server. The equipment 80 includes a processing unit 81 to authenticate itself to the equipment 84 according to a method according to the present invention. For this purpose it has a memory unit 82. This memory unit can comprise different types of memory. For example, the memory unit has a memory for storing calculation data. The memory unit may also include a memory for storing a computer program according to the present invention for its execution by a processor of the processing unit. The equipment further comprises a communication unit 83 for communicating in particular with the equipment 84 or an authentication server for example via a communication network (not shown). The equipment 84 includes a processing unit 85 for authenticating the equipment 80 according to a method according to the present invention. For this purpose it has a memory unit 86. This memory unit may comprise different types of memory. For example, the memory unit has a memory for storing calculation data. The memory unit may also include a memory for storing a computer program according to the present invention for its execution by a processor of the processing unit. The equipment further comprises a communication unit 87 for communicating in particular with the equipment 80 or an authentication server for example via a communication network (not shown). The present invention has been described and illustrated in the present detailed description and in the figures. The present invention is not limited to the embodiments presented. Other variants and embodiments may be deduced and implemented by the person skilled in the art upon reading the present description and the appended figures.

Dans les revendications, le terme "comporter" n'exclut pas d'autres éléments ou d'autres étapes. L' article indéfini « un » n' exclut pas le pluriel. Un seul processeur ou plusieurs autres unités peuvent être utilisées pour mettre en oeuvre l'invention. Les différentes caractéristiques présentées et/ou revendiquées peuvent être avantageusement combinées. Leur présence dans la description ou dans des revendications dépendantes différentes, n'excluent pas cette possibilité. Les signes de référence ne sauraient être compris comme limitant la portée de l'invention. In the claims, the term "include" does not exclude other elements or other steps. The indefinite article "a" does not exclude the plural. A single processor or several other units may be used to implement the invention. The various features presented and / or claimed can be advantageously combined. Their presence in the description or in different dependent claims does not exclude this possibility. The reference signs can not be understood as limiting the scope of the invention.

Claims (11)

REVENDICATIONS1. Procédé de renouvellement de paramètres de génération de mots de passe dans une authentification par mot de passe à usage unique, d'un premier équipement auprès d'un deuxième équipement, dans laquelle des mots de passe sont générés par application itérative d'un algorithme de génération de mot de passe sur un ensemble de paramètres, le deuxième équipement mettant en oeuvre les étapes suivantes de: - réception d'une requête (603) du premier équipement pour un renouvellement de l'ensemble de paramètres ; - génération d'un nouvel ensemble de paramètres (604) pour générer des mots de passe ; - transmission cryptée (606, 607) du nouvel ensemble de paramètres vers le premier équipement ; et - réinitialisation du deuxième équipement (611) avec le nouvel ensemble de paramètres générés. REVENDICATIONS1. A method for renewing password generation parameters in a one-time password authentication of a first device with a second device, wherein passwords are generated by iteratively applying an authentication algorithm. generating a password on a set of parameters, the second device implementing the following steps of: - receiving a request (603) of the first device for a renewal of the set of parameters; generating a new set of parameters (604) for generating passwords; - encrypted transmission (606, 607) of the new set of parameters to the first equipment; and - resetting the second device (611) with the new set of generated parameters. 2. Procédé selon la revendication 1, dans lequel l'ensemble de paramètres comporte une graine gardée secrète par le deuxième équipement, et dans lequel le nouvel ensemble est transmis selon un cryptage utilisant ladite graine comme clé de chiffrement. 15 2. The method of claim 1, wherein the set of parameters comprises a seed kept secret by the second equipment, and wherein the new set is transmitted according to an encryption using said seed as an encryption key. 15 3. Procédé selon la revendication 1, dans lequel l'ensemble de paramètres comporte un mot de passe initial, et dans lequel la génération du nouvel ensemble comporte la génération d'un nouveau mot de passe initial à partir de l'un au moins des éléments suivants : - un ensemble de caractères aléatoires, - une adresse MAC du deuxième équipement, 20 - un dernier mot de passe utilisé avant la réception de la requête, et - un horodatage courant auprès du deuxième équipement. The method of claim 1, wherein the set of parameters comprises an initial password, and wherein the generation of the new set comprises generating a new initial password from at least one of the following elements: - a set of random characters, - a MAC address of the second equipment, 20 - a last password used before receiving the request, and - a current time stamp with the second equipment. 4. Procédé selon la revendication 1, dans lequel, pour la transmission du nouvel ensemble, le deuxième équipement émet vers le premier équipement une trame de données comportant : 25 - un champ (704) identifiant une réponse à la requête, - un champ (705) comportant une adresse MAC du premier équipement, - un champ (706) comportant un mot de passe à usage unique, et - un champ (707) comportant le nouvel ensemble de paramètres crypté.10 4. The method of claim 1, wherein, for the transmission of the new set, the second equipment transmits to the first equipment a data frame comprising: a field (704) identifying a response to the request, a field ( 705) having a MAC address of the first equipment, - a field (706) having a one-time password, and - a field (707) having the new encrypted parameter set. 5. Procédé selon la revendication 1, dans lequel, après la transmission du nouvel ensemble, le deuxième équipement se met en attente d'un message (609) de confirmation de réception de l'ensemble de paramètres par le premier équipement, et dans le cas où la réception n'est pas confirmée, le deuxième équipement bloque toute authentification du premier équipement jusqu'à être réinitialisé. 5. Method according to claim 1, wherein, after transmission of the new set, the second equipment waits for a message (609) confirmation of receipt of the set of parameters by the first equipment, and in the If the reception is not confirmed, the second equipment blocks any authentication of the first equipment until it is reset. 6. Procédé de renouvellement de paramètres de génération de mots de passe dans une authentification par mot de passe à usage unique, d'un premier équipement auprès d'un deuxième équipement, dans laquelle des mots de passe sont générés par application itérative d'un algorithme de génération de mot de passe sur un ensemble de paramètres, le premier équipement mettant en oeuvre les étapes suivantes de: 10 - transmission d'une requête (603) vers le deuxième équipement pour un renouvellement de l'ensemble de paramètres ; - réception et décryptage du nouvel ensemble de paramètres crypté provenant du deuxième équipement ; et - réinitialisation du premier équipement (611) avec le nouvel ensemble de paramètres décrypté. A method of renewing password generation parameters in one-time password authentication, of a first device with a second device, wherein passwords are generated by iteratively applying a algorithm for generating a password on a set of parameters, the first device implementing the following steps: sending a request (603) to the second device for a renewal of the set of parameters; receiving and decrypting the new set of encrypted parameters from the second equipment; and - reset the first device (611) with the new decrypted parameter set. 7. Procédé selon la revendication 6, dans lequel l'ensemble de paramètres comporte une graine gardée secrète par le premier équipement, et dans lequel le premier équipement décrypte le nouvel ensemble en utilisant ladite graine comme clé de chiffrement. 20 7. The method of claim 6, wherein the set of parameters comprises a seed kept secret by the first device, and wherein the first device decrypts the new set using said seed as an encryption key. 20 8. Procédé selon la revendication 6, dans lequel, après la réception du nouvel ensemble, le premier équipement transmet un message de confirmation de réception de l'ensemble de paramètres. 8. The method of claim 6, wherein after receiving the new set, the first equipment transmits a confirmation message reception of the set of parameters. 9. Procédé selon la revendication 6, dans lequel l'ensemble de paramètres comporte un paramètre de comptage représentant un nombre d'itérations de l'algorithme de génération de mot de passe à mettre en 25 oeuvre pour générer un mot de passe, ledit paramètre étant mis à jour à chaque génération de mot de passe, et dans lequel la requête est transmise lorsque le paramètre de comptage indique que le nombre d'itérations à mettre en oeuvre est en dessous d'un seuil. 9. The method according to claim 6, wherein the set of parameters comprises a counting parameter representing a number of iterations of the password generation algorithm to be used to generate a password, said parameter. being updated each generation of password, and wherein the request is transmitted when the count parameter indicates that the number of iterations to be implemented is below a threshold. 10. Programme d'ordinateur comportant des instructions pour la mise en oeuvre d'un procédé selon l'une 30 quelconque des revendications 1 à 5, lorsqu'il est exécuté par un processeur. A computer program comprising instructions for carrying out a method as claimed in any one of claims 1 to 5 when executed by a processor. 11. Programme d'ordinateur comportant des instructions pour la mise en oeuvre d'un procédé selon l'une quelconque des revendications 6 à 9, lorsqu'il est exécuté par un processeur. 15. Equipement comportant : - une unité de communication pour envoyer et recevoir des messages pour mettre en oeuvre une authentification par mot de passe à usage unique, et - une unité de traitement pour authentifier un autre équipement sollicitant une authentification par mot de passe à usage unique, ladite unité étant configurée pour générer des mots de passe par application itérative d'un algorithme de génération de mot de passe sur un ensemble de paramètres, pour renouveler ledit ensemble de paramètres sur réception par l'unité de communication d'une requête de l'autre équipement pour un renouvellement de l'ensemble de paramètres, et pour transmettre de manière cryptée via l'unité de communication le nouvel ensemble de paramètres vers l'autre équipement. 13. Equipement comportant : - une unité de communication pour envoyer et recevoir des messages pour mettre en oeuvre une authentification par mot de passe à usage unique, et - une unité de traitement pour solliciter une authentification par mot de passe à usage unique auprès d'un autre équipement, ladite unité étant configurée pour générer des mots de passe par application itérative d'un algorithme de génération de mot de passe sur un ensemble de paramètres, pour transmettre via l'unité de communication une requête vers l'autre équipement pour un renouvellement de l'ensemble de paramètres, et pour recevoir de manière cryptée via l'unité de communication le nouvel ensemble de paramètres transmis par l'autre équipement. 14. Système d'authentification par mot de passe à usage unique, d'un premier équipement auprès d'un deuxième équipement, dans lequel des mots de passe sont générés par application itérative d'un algorithme de génération de mot de passe sur un ensemble de paramètres, et dans lequel l'ensemble de paramètres est renouvelé auprès du deuxième équipement, le premier équipement étant configuré pour transmettre une requête vers le deuxième équipement pour un renouvellement de l'ensemble de paramètres, et pour recevoir le nouvel ensemble de paramètres crypté provenant du deuxième équipement, et le deuxième équipement étant configuré pour recevoir la requête du premier équipement pour un renouvellement de l'ensemble de paramètres, pour générer le nouvel ensemble de paramètres pour générer des mots de passe, et pour transmettre de manière cryptée le nouvel ensemble de paramètres vers le premier équipement. 16 A computer program comprising instructions for carrying out a method according to any of claims 6 to 9, when executed by a processor. 15. Equipment comprising: - a communication unit for sending and receiving messages for implementing one-time password authentication, and - a processing unit for authenticating another equipment requesting password authentication for use single, said unit being configured to generate passwords by iterative application of a password generation algorithm on a set of parameters, to renew said set of parameters upon reception by the communication unit of a request for the other equipment for a renewal of the set of parameters, and to transmit in encrypted manner via the communication unit the new set of parameters to the other equipment. 13. Equipment comprising: - a communication unit for sending and receiving messages for implementing one-time password authentication, and - a processing unit for requesting one-time password authentication from another device, said unit being configured to generate passwords by iterative application of a password generation algorithm on a set of parameters, to transmit via the communication unit a request to the other equipment for a renewal of the set of parameters, and to receive in encrypted manner via the communication unit the new set of parameters transmitted by the other equipment. 14. A one-time password authentication system, from a first device to a second device, wherein passwords are generated by iteratively applying a password generation algorithm to a set of parameters, and wherein the set of parameters is renewed with the second device, the first device being configured to transmit a request to the second device for a renewal of the set of parameters, and to receive the new set of parameters encrypted from the second device, and the second device being configured to receive the request of the first device for a renewal of the set of parameters, to generate the new set of parameters to generate passwords, and to transmit in encrypted manner the new set of parameters to the first device. 16
FR1050980A 2010-02-11 2010-02-11 PASSWORD AUTHENTICATION FOR SINGLE USE Withdrawn FR2956272A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1050980A FR2956272A1 (en) 2010-02-11 2010-02-11 PASSWORD AUTHENTICATION FOR SINGLE USE
PCT/FR2011/050163 WO2011098702A1 (en) 2010-02-11 2011-01-27 Single-use password authentication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1050980A FR2956272A1 (en) 2010-02-11 2010-02-11 PASSWORD AUTHENTICATION FOR SINGLE USE

Publications (1)

Publication Number Publication Date
FR2956272A1 true FR2956272A1 (en) 2011-08-12

Family

ID=42288651

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1050980A Withdrawn FR2956272A1 (en) 2010-02-11 2010-02-11 PASSWORD AUTHENTICATION FOR SINGLE USE

Country Status (2)

Country Link
FR (1) FR2956272A1 (en)
WO (1) WO2011098702A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210176232A1 (en) * 2019-12-05 2021-06-10 Microsoft Technology Licensing, Llc Autopilot Re-Enrollment of Managed Devices

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0774707A1 (en) * 1995-11-20 1997-05-21 Bull S.A. Method of authenticating a user working in a distributed environment in client-server mode

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0774707A1 (en) * 1995-11-20 1997-05-21 Bull S.A. Method of authenticating a user working in a distributed environment in client-server mode

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HALLER BELLCORE C METZ KAMAN SCIENCES CORPORATION P NESSER NESSER & NESSER CONSULTING M STRAW BELLCORE N: "A One-Time Password System; rfc2289.txt", IETF STANDARD, INTERNET ENGINEERING TASK FORCE, IETF, CH, 1 February 1998 (1998-02-01), XP015008073, ISSN: 0000-0003 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210176232A1 (en) * 2019-12-05 2021-06-10 Microsoft Technology Licensing, Llc Autopilot Re-Enrollment of Managed Devices
US11792184B2 (en) * 2019-12-05 2023-10-17 Microsoft Technology Licensing, Llc Autopilot re-enrollment of managed devices

Also Published As

Publication number Publication date
WO2011098702A1 (en) 2011-08-18

Similar Documents

Publication Publication Date Title
EP2884716B1 (en) Token-based authentication mechanism
EP1427231B1 (en) Method of establishing and managing a confidence model between a SIM-card and a mobile terminal
WO2017045552A1 (en) Method and device for loading digital certificate in ssl or tls communication
EP3205048B1 (en) Generating a symmetric encryption key
FR2916592A1 (en) INFORMATION EXCHANGE SECURING METHOD, DEVICE, AND CORRESPONDING COMPUTER PROGRAM PRODUCT
EP3375133B1 (en) Method for securing and authenticating a telecommunication
FR3002400A1 (en) GENERATING A SESSION KEY FOR AUTHENTICATION AND TRANSMISSION OF SECURE DATA
WO2016056986A1 (en) Improved installation of a terminal in a secure system
WO2018211026A1 (en) Method for securing communication without management of states
EP3238200A1 (en) Secure electronic entity, electronic apparatus and method for verifying the integrity of data stored in such a secure electronic entity
CN114142995A (en) Key secure distribution method and device for block chain relay communication network
EP3419246A1 (en) Challenge-response authentication method of a secure element (se) from a microcontroller
EP3732849B1 (en) Method and system for identifying a user terminal in order to receive streaming protected multimedia content
FR2956272A1 (en) PASSWORD AUTHENTICATION FOR SINGLE USE
FR3018371A1 (en) REMOTE KEY DATA ENCRYPTION / ENCRYPTION METHOD AND SYSTEM AND PRIOR CHECK CHECK
WO2019197780A1 (en) Methods, devices and computer programs for the encipherment and decipherment of data for the transmission or storage of data
EP3266148B1 (en) Device and method for administering a digital escrow server
CN111431846A (en) Data transmission method, device and system
WO2012156365A1 (en) Method for securing an authentication platform, and corresponding hardware and software
EP3503500B1 (en) Method for creating a remote electronic signature using the fido protocole
EP1741226A1 (en) Method of securing operations over a network and associated devices
CN116055141A (en) Data security transmission method, system, device and storage medium
CN117997630A (en) File encryption transmission method and device, storage medium and electronic equipment
EP3917073A1 (en) Efficient secure session establishment for anonymity in 5g networks
CN114006697A (en) Encrypted communication method and device

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20111102