EP0774707A1 - Method of authenticating a user working in a distributed environment in client-server mode - Google Patents

Method of authenticating a user working in a distributed environment in client-server mode Download PDF

Info

Publication number
EP0774707A1
EP0774707A1 EP96402473A EP96402473A EP0774707A1 EP 0774707 A1 EP0774707 A1 EP 0774707A1 EP 96402473 A EP96402473 A EP 96402473A EP 96402473 A EP96402473 A EP 96402473A EP 0774707 A1 EP0774707 A1 EP 0774707A1
Authority
EP
European Patent Office
Prior art keywords
otp
server
value
kerberos
password
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
EP96402473A
Other languages
German (de)
French (fr)
Inventor
Denis Pinkas
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.)
Bull SA
Original Assignee
Bull 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 Bull SA filed Critical Bull SA
Priority to EP06291321A priority Critical patent/EP1758010B1/en
Publication of EP0774707A1 publication Critical patent/EP0774707A1/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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key

Definitions

  • the present invention relates to a method of authenticating a user working in a distributed environment in client / server mode, each authentication being carried out using a single authentication information item to be stored, the "pass phrase", of length and duration of use (function of a count value) determined.
  • the condition necessary to authorize communications by reducing the inherent insecurity in the use of such systems is that the users or the various systems wishing to establish a connection are authenticated, which implies the launching of a "call" during the initial connection request.
  • traditional authentication techniques using the direct transfer (i.e. as communicated by the user to the computer terminal) of a password on a communication line have been found to be too vulnerable to a number of attacks to constitute an effective and unique response to this security requirement.
  • the current trend is rather to favor authentication based on cryptographic techniques which provide an otherwise more effective solution. Simple encrypted passwords are not enough, however, and it has been necessary to develop more powerful technologies.
  • OTP single-use password systems
  • An OTP system actually uses a secret "pass phrase”, known only to the user, to generate a sequence of OTP type passwords.
  • the secret “passphrase” of the user is therefore never present on the network with this system, which makes the system invulnerable to passive attacks.
  • this system has a certain number of drawbacks, because if it is particularly effective against passive attacks, it proves to be ineffective during so-called active attacks, that is to say that it does not provide any protection against an attack in which an intruder intercepts, blocks and then "replays" or modifies information in being transmitted.
  • S / Key system which is the OTP mechanism from which the various OTP systems were derived, the password which is seen by the network is never, as its name suggests, never the same twice.
  • This password is calculated from a secret "pass phrase" known only to the user, which means that the server never knows this "pass phrase”.
  • the server first stores either an initial value intended to verify the first OTP to receive or the last OTP received following a successful authentication. It also stores the number of values remaining to be received.
  • the initial value to verify the first OTP to receive is calculated according to the following steps.
  • a preliminary step consists in concatenating the "pass phrase” with a “seed” (also called “seed” by a person skilled in the art) specific to the server. This allows the same "passphrase” to be used for multiple servers.
  • a non-invertible compression function (called “hash” by those skilled in the art) is applied “n + 1" times and the result is then communicated and then stored in the server associated with this account "n +1 ".
  • the server communicates the value of the "seed" and the current account m.
  • This m account specifies to the user the number of iterations to practice for the application of the non-invertible compression function.
  • the server performs one and only one additional iteration of non-invertible compression function on the value received, then if it obtains the same value as the value which is stored, considers the authentication as successful, then substitutes the value received and decrements his account by one.
  • the user communicates the "pass phrase" to the terminal which performs the preceding calculations.
  • the user calculates in advance on a trusted terminal a number of OTPs and copies this information on paper. He can then enter these values as and when required for authentication without forgetting to delete, after each successful authentication, the corresponding value.
  • Kerberos was the first system dedicated to the security of a distributed environment. Kerberos relies solely on the use of secret keys and is particularly well suited for use by small organizations. With the current technique used by Kerberos, it is necessary to be able to decrypt information contained in the response from the authentication server by means of a shared secret key. In addition, the information used to decrypt is directly derived from the Kerberos password. Kerberos allows you to authenticate a client, for example from their identity or a name, but does not support any other privilege (access identifier, role, group membership, capacities, etc.). Kerberos also supports mutual authentication as well as data integrity and confidentiality, but has no authorization function. The Kerberos authentication technique is based on the use of a password called the Kerberos password.
  • the Kerberos version 5 protocol specifies a standard means by which pre-authentication data and error indication fields in messages under Kerberos can be used to transport OTP type data
  • this method also, of course, , the same serious disadvantages, the user having to memorize two pieces of information of considerable size: the "pass phrase” which must be long enough to ensure satisfactory security by making knowledge of said "pass phrase” impracticable and the word Kerberos password.
  • the user cannot safely use this method from any terminal on which he would enter the Kerberos password. With such a terminal, this password could be stolen and thus the user could no longer use it in isolation which would oblige him to systematically use the combination of the Kerberos password and the "passphrase ", rather heavy and painful combination for repeated or even daily use.
  • the object of the present invention is to remedy the various drawbacks of the various known prior art methods and proposes a method in which a single authentication information must be memorized by the user and which has two variants depending on whether said user accesses its information system by means of a trusted terminal or any terminal and this, while making it possible to easily and efficiently maintain a high level of security.
  • the "passphrase” only one authentication information must be memorized: the "passphrase", and this, whether an OTP system is used alone or in combination with a Kerberos system and that the user to be authenticated has access to a trusted terminal or to any terminal.
  • the "pass phrase” must be of sufficient length, that is to say at least ten characters to dissuade from undertaking an exhaustive search for the "pass phrase "from a one-time password except spending an inordinately long time.
  • the communication protocol used between the server and the terminal of the user to be authenticated is unique, that is to say that one and the same protocol is used independently of the fact that the terminal which the user uses is a trusted terminal or else any terminal. Consequently, the authentication server remains unaware of the fact that a trusted terminal or any terminal has been used.
  • Kerberos password non-invertible function
  • Decryption key non-invertible function (Kerberos password, last OTP one-time password sent).
  • the decryption key which is used on the client side to decrypt the server response message is therefore calculated with the same formula as that corresponding to the encryption key.
  • the client can thus decrypt the response message from the server using this key and in no case has any information to encrypt.
  • the authentication method according to the present invention can also be used with any terminal, in this case it is used two pieces of information: the OTP one-time password and the decryption key conforming to those of said method, which are both precomputed and recorded (for example printed on a sheet of paper), these two pieces of information (one-time use) being then entered on any terminal while the Kerberos password is used with a trusted terminal.
  • the user when any terminal is used, the user must precompute in advance using a trusted terminal the decryption keys and he can then save them, for example by copying them onto a paper. His paper will therefore include the following information: the value of the OTP as well as the associated decryption key and this for each count value m.
  • the present invention therefore also offers a second advantageous aspect of the fact that this technique can be used without risk from any terminal. With such terminals, it suffices to plan to use information (single use) recorded on any medium (for example pre-printed) and to use the Kerberos password with a trusted terminal.
  • the "pass phrase” can only be used a predetermined number of times m and when the count m becomes zero it is then necessary to change the "pass phrase", but in the present context, if this change must be carried out in an easy manner, it must moreover be carried out with the assurance of great security.
  • This method can, of course according to the idea of the invention, also be effectively applied to the change of the "passphrase" for an OTP system alone not combined with a Kerberos system.
  • the new verification value intended to control the first OTP one-time password to be received is calculated by applying to it (n + 1) times the non-invertible function after concatenating the new "passphrase” with a value of "seed "server-specific, allowing the same" passphrase "to be used for different servers, while the server checks first if the first field sent is correct using the OTP method, then checks the integrity of the set of three fields using the current modification key that it has, if the verification is successful, it then re-initializes the OTP mechanism using the new verification value, the maximum number d 'uses and the "seed", then it decrypts using the current modification key the encrypted field and extracts the new value of the modification key and finally it locally updates the new value of the key modification.
  • the two basic elements to consider, the client and the server work as follows in such systems.
  • the server must send information called by the man of the trade "challenge”, “challenge” composed of the number of iterations to be performed and the value of the "seed" specific to the server.
  • the client must issue the appropriate OTP password produced from the secret "passphrase” entered by the user and from the so-called “challenge” information provided by the server.
  • the server must then verify the OTP password received, store the last correct password received with the corresponding count value.
  • the server must also authorize, and this easily and safely, the change of the secret "passphrase" of the user.
  • the client for its part sends the secret "passphrase" with the value of "seed", part of the "challenge", received from the server, the non-invertible compression function being applied iteratively a number of times corresponding to the current count value in order to obtain the OTP password, at each use, the number of iterations of the non-invertible function therefore being decremented by one.
  • the server checks the OTP password received from the client by applying the non-invertible function once and comparing the result obtained with the previous OTP password correctly received.
  • the security of an OTP system in fact rests on the efficiency of the non-invertible compression function which must be provided to allow a simple calculation to be carried out in one direction, the direct direction, but prohibit or at least make calculation in the reverse direction almost impossible.
  • this method can be effectively used in an OTP one-time password type system integrated into a Kerberos system or in an OTP one-time password type system used alone.
  • the present invention consists in using and therefore in memorizing only one piece of information, the "pass phrase", the Kerberos password, when using an OTP one-time password type system built into a Kerberos system, being actually derived from this "passphrase”.
  • the technique described above can also be effectively used from any terminal.

Abstract

The procedure for authenticating a user working on a distributed mode client-server computer system operates by use of a single piece of information to be memorised, called a `password phrase'. This is of a given length and allows a given duration of working on the computer system. The system operates within an OTP type environment (One-Time Password) integrated with a Kerberos system. This process may be used with a trusted terminal, or any other terminal. A method is included whereby the password phrase is re-initialised at the end of the working period to ensure the ability to continue working.

Description

La présente invention concerne un procédé d'authentification d'un utilisateur travaillant dans un environnement distribué en mode client/serveur, chaque authentification étant effectuée à partir d'une seule information d'authentification à mémoriser, la "phrase de passe", de longueur et de durée d'utilisation (fonction d'une valeur de comptage) déterminées.The present invention relates to a method of authenticating a user working in a distributed environment in client / server mode, each authentication being carried out using a single authentication information item to be stored, the "pass phrase", of length and duration of use (function of a count value) determined.

De manière générale, en informatique et notamment avec les réseaux complexes de systèmes distribués, il apparaît indispensable de prévoir et organiser des services permettant d'assurer la sécurité de l'environnement réparti. En effet, utiliser une informatique ouverte et distribuée présente d'énormes avantages puisqu'il est alors permis à un utilisateur d'accéder aux différentes données de tels systèmes quelle que que soit la situation géographique dudit utilisateur et quelle que soit le système sur lequel résident les données. Cependant, si l'utilisateur désire profiter de ces avantages, il souhaite également que certaines données, considérées comme confidentielles ou critiques, soient protégées et que leur accès ne soit autorisé qu'à certains utilisateurs et ceci dans des conditions et selon des conventions préétablies. De manière connue, les services de sécurité, en particulier en informatique distribuée, sont composés de fonctions complétant celles fournies par les plates-formes ou applications individuelles telles le contrôle d'accès, l'audit, l'intégrité et l'authentification de l'origine des données concernant les demandes et les réponses des utilisateurs.In general, in IT and especially with complex networks of distributed systems, it seems essential to plan and organize services to ensure the security of the distributed environment. Indeed, using open and distributed computing has enormous advantages since it is then allowed a user to access the different data of such systems regardless of the geographic location of said user and regardless of the system on which resident the data. However, if the user wishes to take advantage of these advantages, he also wishes that certain data, considered as confidential or critical, be protected and that their access is only authorized to certain users and this under conditions and according to pre-established conventions. In known manner, the security services, in particular in distributed computing, are composed of functions supplementing those provided by the platforms or individual applications such as access control, audit, integrity and authentication of the origin of data concerning user requests and responses.

Ainsi, de manière courante, la condition nécessaire pour autoriser les communications en réduisant l'insécurité inhérente à l'utilisation de tels systèmes, est que les utilisateurs ou les divers systèmes désirant établir une connexion soient authentifiés, ce qui implique le lancement d'un "appel" lors de la demande initiale de connexion. Il est à noter cependant, que les techniques traditionnelles d'authentification utilisant le transfert direct (c'est-à-dire tel que communiqué par l'utilisateur au terminal informatique) d'un mot de passe sur une ligne de communication se sont avérées trop vulnérables à un certain nombre d'attaques pour constituer une riposte efficace et unique à cette exigence de sécurité. La tendance actuelle est plutôt de privilégier une authentification basée sur des techniques cryptographiques qui fournissent une solution autrement plus efficace. De simples mots de passe chiffrés ne sont pourtant pas suffisants et il a été en conséquence nécessaire de développer des technologies plus puissantes telles que celles des systèmes à mots de passe à utilisation unique, appelés "one-time passwords" (OTP) par l'homme du métier, utilisant une information secrète suffisamment longue appelée "phrase de passe" ("de l'anglais pass-phrase") tel celui décrit dans le document intitulé "A One-Time Password System" publié en tant que "INTERNET DRAFT" et édité par Neil Haller et Craig Metz en date du 23 octobre 1995, S/Key (S/Key est une marque de Bellcore) en étant un parfait exemple (les différents systèmes actuels de ce type étant, en fait, dérivés du système S/Key), une description de ce système ayant été faite par Neil Haller, dans le recueil des conférences du Symposium ISOC sur la sécurité des réseaux et des systèmes répartis de San Diégo sous le titre "The S/KEY One-Time Password System" publié en février 1994 ou bien encore les systèmes du type Kerberos (Kerberos a été développé par le Massachussetts Institute of Technology) dont le protocole est décrit dans le document RFC 1510, "The Kerberos Network Authentication Service [V5]", septembre 1993 publié par l'IETF (Internet Engineering Task Force).Thus, in common terms, the condition necessary to authorize communications by reducing the inherent insecurity in the use of such systems, is that the users or the various systems wishing to establish a connection are authenticated, which implies the launching of a "call" during the initial connection request. It should be noted, however, that traditional authentication techniques using the direct transfer (i.e. as communicated by the user to the computer terminal) of a password on a communication line have been found to be too vulnerable to a number of attacks to constitute an effective and unique response to this security requirement. The current trend is rather to favor authentication based on cryptographic techniques which provide an otherwise more effective solution. Simple encrypted passwords are not enough, however, and it has been necessary to develop more powerful technologies. such as those of one-time password systems, called "one-time passwords" (OTP) by those skilled in the art, using sufficiently long secret information called "passphrase"("from English pass- sentence ") such as that described in the document entitled" A One-Time Password System "published as" INTERNET DRAFT "and edited by Neil Haller and Craig Metz on October 23, 1995, S / Key (S / Key is a brand of Bellcore) by being a perfect example (the various current systems of this type being, in fact, derived from the S / Key system), a description of this system having been made by Neil Haller, in the collection of conferences of the ISOC Symposium on the security of networks and distributed systems of San Diégo under the title "The S / KEY One-Time Password System" published in February 1994 or even systems of the Kerberos type (Kerberos was developed by the Massachussetts Institute of Technology) whose protocol is dec laughs in RFC 1510, "The Kerberos Network Authentication Service [V5]", September 1993 published by the Internet Engineering Task Force (IETF).

La technologie d'authentification des systèmes à mots de passe à utilisation unique (appelés dans la suite OTP par souci de simplification et de concision), ces mots de passe qui comme le nom l'indique ne peuvent être utilisés qu'une seule fois comme moyen d'authentification, a été développée pour autoriser l'accès aux systèmes et aux diverses applications requérant une authentification conçue pour faire échec aux attaques dites passives, c'est-à-dire fondées sur l'utilisation frauduleuse, après capture sur le réseau lors d'une connexion, de mots de passe réutilisables. Une telle forme d'attaque contre des systèmes de traitement en réseau peut être effectuée subséquemment à une "écoute" de connexions sur le réseau, destinée à intercepter des informations relatives à une authentification, ces informations, une fois interceptées, étant ensuite utilisées pour accéder au système de traitement. Les systèmes OTP ont été conçus pour parer à ce type d'attaque que l'homme du métier appelle également couramment attaque par rejeu ("replay attack"). Un système OTP utilise en fait une "phrase de passe" secrète, connue seulement de l'utilisateur, pour générer une séquence de mots de passe de type OTP. La "phrase de passe" secrète de l'utilisateur n'est ainsi, avec ce système, jamais présente sur le réseau, ce qui rend le système invulnérable aux attaques passives. Ce système présente cependant un certain nombre d'inconvénients, car s'il est particulièrement performant face aux attaques passives, il s'avère inefficace lors d'attaques dites actives, c'est-à-dire qu'il ne fournit aucune protection contre une attaque dans laquelle un intrus intercepte, bloque puis "rejoue" ou modifie des informations en train d'être transmises. En ce qui concerne plus particulièrement le système S/Key, qui est le mécanisme OTP duquel les différents systèmes OTP ont été dérivés, le mot de passe qui est vu par le réseau n'est, comme son nom l'indique, jamais le même deux fois. Ce mot de passe est calculé à partir d'une "phrase de passe" secrète connue seulement de l'utilisateur, ce qui signifie que le serveur ne connaît jamais cette "phrase de passe". Le serveur stocke d'abord soit une valeur initiale destinée à vérifier le premier OTP à recevoir soit le dernier OTP reçu suite à une authentification réussie. Il stocke aussi le nombre de valeurs restant à recevoir.The authentication technology of single-use password systems (hereinafter called OTP for the sake of simplicity and conciseness), these passwords which, as the name suggests, can only be used once as means of authentication, was developed to allow access to systems and various applications requiring authentication designed to defeat so-called passive attacks, that is to say based on fraudulent use, after capture on the network when connecting, reusable passwords. Such a form of attack against network processing systems can be carried out after a "listening" of connections on the network, intended to intercept information relating to an authentication, this information, once intercepted, then being used to access to the processing system. OTP systems have been designed to counter this type of attack which a person skilled in the art also commonly calls replay attack. An OTP system actually uses a secret "pass phrase", known only to the user, to generate a sequence of OTP type passwords. The secret “passphrase” of the user is therefore never present on the network with this system, which makes the system invulnerable to passive attacks. However, this system has a certain number of drawbacks, because if it is particularly effective against passive attacks, it proves to be ineffective during so-called active attacks, that is to say that it does not provide any protection against an attack in which an intruder intercepts, blocks and then "replays" or modifies information in being transmitted. As regards more specifically the S / Key system, which is the OTP mechanism from which the various OTP systems were derived, the password which is seen by the network is never, as its name suggests, never the same twice. This password is calculated from a secret "pass phrase" known only to the user, which means that the server never knows this "pass phrase". The server first stores either an initial value intended to verify the first OTP to receive or the last OTP received following a successful authentication. It also stores the number of values remaining to be received.

La valeur initiale destinée à vérifier le premier OTP à recevoir est calculée selon les étapes suivantes. Une étape préalable consiste à concaténer la "phrase de passe" avec une "graine" (appelée également "seed" par l'homme du métier) spécifique au serveur. Ceci permet d'utiliser la même "phrase de passe" pour plusieurs serveurs. Puis à l'étape subséquente, une fonction de compression non inversible (appelée "hash" par l'homme du métier) est appliquée "n+1" fois et le résultat est alors communiqué puis stocké dans le serveur associé à ce compte "n+1".The initial value to verify the first OTP to receive is calculated according to the following steps. A preliminary step consists in concatenating the "pass phrase" with a "seed" (also called "seed" by a person skilled in the art) specific to the server. This allows the same "passphrase" to be used for multiple servers. Then in the subsequent step, a non-invertible compression function (called "hash" by those skilled in the art) is applied "n + 1" times and the result is then communicated and then stored in the server associated with this account "n +1 ".

Lors d'une authentification le serveur communique la valeur de la "graine" et le compte courant m.During an authentication, the server communicates the value of the "seed" and the current account m.

Ce compte m spécifie à l'utilisateur le nombre d'itérations à pratiquer pour l'application de la fonction de compression non inversible.This m account specifies to the user the number of iterations to practice for the application of the non-invertible compression function.

Lors de la vérification, le serveur pratique une et une seule itération supplémentaire de fonction de compression non inversible sur la valeur reçue puis s'il obtient la même valeur que la valeur qui est stockée, considère l'authentification comme réussie, lui substitue alors la valeur reçue et décrémente son compte d'une unité.During the verification, the server performs one and only one additional iteration of non-invertible compression function on the value received, then if it obtains the same value as the value which is stored, considers the authentication as successful, then substitutes the value received and decrements his account by one.

Cette technique peut être utilisée de deux manières différentes:

  • 1) soit à partir d'un terminal de confiance (appelé "trusted terminal" par l'homme du métier),
  • 2) soit à partir d'un terminal quelconque (appelé "untrusted terminal"par l'homme du métier).
This technique can be used in two different ways:
  • 1) either from a trusted terminal (called "trusted terminal" by those skilled in the art),
  • 2) or from any terminal (called "untrusted terminal" by those skilled in the art).

Dans le premier cas, l'utilisateur communique la "phrase de passe" au terminal qui effectue les calculs précédents.In the first case, the user communicates the "pass phrase" to the terminal which performs the preceding calculations.

Dans le second cas, l'utilisateur calcule à l'avance sur un terminal de confiance un certain nombre d'OTP et recopie cette information sur un papier. Il pourra ensuite entrer ces valeurs au fur et à mesure de ses besoins d'authentification sans oublier de rayer, après chaque authentification réussie, la valeur correspondante.In the second case, the user calculates in advance on a trusted terminal a number of OTPs and copies this information on paper. He can then enter these values as and when required for authentication without forgetting to delete, after each successful authentication, the corresponding value.

Kerberos a été, quant à lui, le premier système dédié à la sécurité d'un environnement distribué. Kerberos repose uniquement sur l'utilisation de clés secrètes et est particulièrement bien adapté à une utilisation par des organisations de taille modeste. Avec la technique actuelle utilisée par Kerberos il est nécessaire de pouvoir déchiffrer une information contenue dans la réponse du serveur d'authentification au moyen d'une clé secrète partagée. De plus l'information servant à déchiffrer est directement dérivée du mot de passe Kerberos. Kerberos permet d'authentifier un client par exemple à partir de son identité ou d'un nom mais ne supporte aucun autre privilège (identifiant d'accès, rôle, appartenance à un groupe, capacités, etc.). Kerberos supporte également l'authentification mutuelle de même que l'intégrité et la confidentialité des données mais ne comporte aucune fonction d'autorisation. La technique d'authentification de Kerberos est basée sur l'utilisation d'un mot de passe appelé mot de passe Kerberos. Ce mot de passe doit être communiqué par l'utilisateur à un terminal de confiance. En effet, s'il était "volé" par le terminal le bénéficiaire de ce vol pourrait alors s'authentifier en lieu et place de l'utilisateur légitime. Il est à noter en outre, que jusqu'à présent, il n'existe pas de technique publiée pour une utilisation de Kerberos sans risque sur un terminal quelconque.Kerberos was the first system dedicated to the security of a distributed environment. Kerberos relies solely on the use of secret keys and is particularly well suited for use by small organizations. With the current technique used by Kerberos, it is necessary to be able to decrypt information contained in the response from the authentication server by means of a shared secret key. In addition, the information used to decrypt is directly derived from the Kerberos password. Kerberos allows you to authenticate a client, for example from their identity or a name, but does not support any other privilege (access identifier, role, group membership, capacities, etc.). Kerberos also supports mutual authentication as well as data integrity and confidentiality, but has no authorization function. The Kerberos authentication technique is based on the use of a password called the Kerberos password. This password must be communicated by the user to a trusted terminal. Indeed, if it were "stolen" by the terminal, the beneficiary of this theft could then authenticate in place of the legitimate user. It should also be noted that, so far, there is no published technique for the safe use of Kerberos on any terminal.

Ainsi, du fait des avantages mais aussi des faiblesses de Kerberos, différentes intégrations de Kerberos à d'autres systèmes ont été envisagées ou proposées. Pour cela, des extensions à la spécification du protocole de Kerberos (RFC 1510, "The Kerberos Network Authentication Service [Version 5]", septembre 1993) ont été définies parmi lesquelles se trouve l'intégration à des systèmes OTP qui propose une méthode par l'intermédiaire de laquelle divers mécanismes OTP peuvent être supportés à l'intérieur dudit protocole. Mais, ces propositions qui suggèrent de combiner l'usage des OTP avec Kerberos, ont pour principale conséquence de contraindre l'utilisateur à utiliser deux informations: le mot de passe Kerberos et la "phrase de passe", ce qui va à l'encontre de la tendance générale qui est de n'utiliser qu'une information afin de ménager la mémoire de l'utilisateur. En particulier, le protocole Kerberos version 5 spécifie un moyen standard grâce auquel les données de préauthentification et les champs d'indication d'erreur dans les messages sous Kerberos peuvent être utilisés pour transporter des données de type OTP, cette méthode présentant aussi, bien entendu, les mêmes sérieux inconvénients, l'utilisateur devant obligatoirement mémoriser deux informations de taille non négligeable: la "phrase de passe" qui doit être suffisament longue pour assurer une sécurité satisfaisante en rendant impraticable la connaissance de ladite "phrase de passe" et le mot de passe Kerberos. De plus, l'utilisateur ne peut se servir sans risque de cette méthode à partir d'un terminal quelconque sur lequel il rentrerait le mot de passe Kerberos. Avec un tel terminal, ce mot de passe pourrait être dérobé et ainsi l'utilisateur ne pourrait plus l'employer de manière isolée ce qui l'obligerait à se servir systématiquement de la combinaison du mot de passe Kerberos et de la "phrase de passe", combinaison plutôt lourde et pénible pour une utilisation répétée ou même journalière.Thus, because of the advantages but also the weaknesses of Kerberos, various integrations of Kerberos with other systems have been envisaged or proposed. For this, extensions to the specification of the Kerberos protocol (RFC 1510, "The Kerberos Network Authentication Service [Version 5]", September 1993) have been defined among which is the integration with OTP systems which offers a method by through which various OTP mechanisms can be supported within said protocol. However, the main consequence of these proposals, which suggest combining the use of OTPs with Kerberos, is to force the user to use two pieces of information: the word Kerberos password and the "pass phrase", which goes against the general tendency which is to use only one information in order to save the memory of the user. In particular, the Kerberos version 5 protocol specifies a standard means by which pre-authentication data and error indication fields in messages under Kerberos can be used to transport OTP type data, this method also, of course, , the same serious disadvantages, the user having to memorize two pieces of information of considerable size: the "pass phrase" which must be long enough to ensure satisfactory security by making knowledge of said "pass phrase" impracticable and the word Kerberos password. In addition, the user cannot safely use this method from any terminal on which he would enter the Kerberos password. With such a terminal, this password could be stolen and thus the user could no longer use it in isolation which would oblige him to systematically use the combination of the Kerberos password and the "passphrase ", rather heavy and painful combination for repeated or even daily use.

La présente invention a pour but de remédier aux divers inconvénients des différentes méthodes de l'art antérieur connues et propose un procédé dans lequel une seule information d'authentification doit être mémorisée par l'utilisateur et qui possède deux variantes selon que ledit utilisateur accède à son système d'information au moyen d'un terminal de confiance ou d'un terminal quelconque et ceci, tout en permettant de conserver, de manière aisée et efficace, un haut niveau de sécurité.The object of the present invention is to remedy the various drawbacks of the various known prior art methods and proposes a method in which a single authentication information must be memorized by the user and which has two variants depending on whether said user accesses its information system by means of a trusted terminal or any terminal and this, while making it possible to easily and efficiently maintain a high level of security.

Pour cela, le procédé d'authentification d'un utilisateur travaillant dans un environnement distribué en mode client/serveur mentionné dans le préambule est remarquable en ce qu'il est applicable dans un système du type à mot de passe à utilisation unique OTP intégré à un système Kerberos ou bien dans un système du type à mot de passe à utilisation unique OTP utilisé seul alors que, lorsqu'un système du type à mot de passe à utilisation unique OTP est utilisé intégré à un système Kerberos, ledit procédé d'authentification requiert d'installer préalablement deux types d'informations spécifiques dans le serveur d'authentification, lesdites informations étant toutes dérivées d'une seule et unique "phrase de passe" de longueur suffisante, le premier type d'information étant calculé selon la méthode OTP qui fournit une valeur de vérification qui est la "graine" et un compte qui est le compte courant m, le second type d'information étant calculé de la manière suivante:
Mot de passe Kerberos=fonction non inversible ("phrase de passe", constante 1)
où la constante 1 est une valeur publique, c'est-à-dire accessible et non secrète permettant l'utilisation d'un seul type de fonction non inversible pour l'ensemble des procédés.
For this, the authentication method of a user working in a distributed environment in client / server mode mentioned in the preamble is remarkable in that it is applicable in a system of the OTP one-time password type integrated into a Kerberos system or else in an OTP one-time password type system used alone whereas, when an OTP one-time password type system is used integrated with a Kerberos system, said authentication method requires the prior installation of two specific types of information in the authentication server, said information all being derived from a single and unique "passphrase" of sufficient length, the first type of information being calculated according to the OTP method which provides a verification value which is the "seed" and an account which is the current account m, the second type of information being calculated as follows:
Kerberos password = non-invertible function ("passphrase", constant 1)
where the constant 1 is a public value, that is to say accessible and non-secret allowing the use of a single type of non-invertible function for all of the processes.

Ainsi, selon l'idée de l'invention et ceci contre toute attente une seule information d'authentification doit être mémorisée: la "phrase de passe", et ceci, qu'un système OTP soit utilisé seul ou en combinaison avec un système Kerberos et que l'utilisateur à authentifier ait accès à un terminal de confiance ou à un terminal quelconque.Thus, according to the idea of the invention and this against all expectations, only one authentication information must be memorized: the "passphrase", and this, whether an OTP system is used alone or in combination with a Kerberos system and that the user to be authenticated has access to a trusted terminal or to any terminal.

De manière remarquable, lorsqu'un système du type à mot de passe à utilisation unique OTP est utilisé intégré à un système Kerberos, un protocole de communication unique est utilisé entre le serveur et le terminal, qui peut être un terminal de confiance ou un terminal quelconque, le serveur d'authentification restant ignorant du fait qu'un terminal de confiance ou un terminal quelconque est utilisé. Ce protocole de communication unique est le suivant:

  • dans le sens d'échange d'information du terminal de l'utilisateur vers le serveur d'authentification, l'utilisateur envoie son identifiant et un mot de passe à utilisation unique OTP, si l'authentification est réussie, la phase suivante correspond à l'envoi d'une réponse du serveur d'authentification vers le terminal de l'utilisateur, cette réponse contenant une information chiffrée obtenue en utilisant une clé calculée de la manière suivante:
    • Clé de chiffrement = fonction non inversible (mot de passe Kerberos, mot de passe à utilisation unique OTP reçu)
    • alors que la clé de déchiffrement du message de réponse du serveur est calculée du côté client en utilisant la formule suivante:
    • Clé de déchiffrement = fonction non inversible (mot de passe Kerberos, dernier mot de passe à utilisation unique OTP reçu)
    • le terminal de l'utilisateur étant alors à même:
  • soit de calculer, à partir de la "phrase de passe" fournie par l'utilisateur, le mot de passe à utilisation unique ainsi que la clé de déchiffrement dans le cas d'utilisation d'un terminal de confiance,
  • soit de recevoir ces deux informations dans le cas d'utilisation d'un terminal quelconque.
Remarkably, when an OTP one-time password type system is used integrated with a Kerberos system, a single communication protocol is used between the server and the terminal, which can be a trusted terminal or a terminal. any, the authentication server remaining unaware of the fact that a trusted terminal or any terminal is used. This unique communication protocol is as follows:
  • in the sense of exchanging information from the user's terminal to the authentication server, the user sends his identifier and a one-time password OTP, if the authentication is successful, the next phase corresponds to sending a response from the authentication server to the user's terminal, this response containing encrypted information obtained using a key calculated as follows:
    • Encryption key = non-invertible function (Kerberos password, OTP one-time password received)
    • while the server response message decryption key is calculated on the client side using the following formula:
    • Decryption key = non-invertible function (Kerberos password, last OTP one-time password received)
    • the user's terminal then being able to:
  • either to calculate, from the "pass phrase" supplied by the user, the one-time password as well as the decryption key in the case of using a trusted terminal,
  • or to receive these two pieces of information when using any terminal.

Il est bon ici d'insister sur le fait que la "phrase de passe" doit être de longueur suffisante, c'est-à-dire d'au moins dix caractères pour dissuader d'entreprendre une recherche exhaustive de la "phrase de passe" à partir d'un mot de passe à utilisation unique sauf à y passer un temps démesurément long. De même il est à souligner que de manière avantageuse le protocole de communication utilisé entre le serveur et le terminal de l'utilisateur à authentifier est unique, c'est-à-dire qu'un seul et même protocole est utilisé indépendamment du fait que le terminal dont l'utilisateur se sert est un terminal de confiance ou bien un terminal quelconque. En conséquence, le serveur d'authentification reste ignorant du fait qu'un terminal de confiance ou un terminal quelconque a été utilisé.It is good here to emphasize that the "pass phrase" must be of sufficient length, that is to say at least ten characters to dissuade from undertaking an exhaustive search for the "pass phrase "from a one-time password except spending an inordinately long time. Similarly, it should be emphasized that advantageously the communication protocol used between the server and the terminal of the user to be authenticated is unique, that is to say that one and the same protocol is used independently of the fact that the terminal which the user uses is a trusted terminal or else any terminal. Consequently, the authentication server remains ignorant of the fact that a trusted terminal or any terminal has been used.

De manière caractéristique, lorsqu'un système du type à mot de passe à utilisation unique OTP est utilisé intégré à un système Kerberos, si un terminal de confiance est utilisé, l'utilisateur fournit la "phrase de passe", le mot de passe Kerberos étant alors déduit en utilisant la formule:
mot de passe Kerberos=fonction non inversible ("phrase de passe", constante 1)
Typically, when an OTP one-time password type system is used integrated with a Kerberos system, if a trusted terminal is used, the user provides the "passphrase", the Kerberos password then being deducted using the formula:
Kerberos password = non-invertible function ("passphrase", constant 1)

Puis il est possible d'en déduire la clé de déchiffrement en utilisant la formule:
   Clé de déchiffrement = fonction non inversible (mot de passe Kerberos, dernier mot de passe à utilisation unique OTP envoyé).
Then it is possible to deduce the decryption key from it using the formula:
Decryption key = non-invertible function (Kerberos password, last OTP one-time password sent).

La clé de déchiffrement qui sert du côté client pour déchiffrer le message de réponse du serveur est donc calculée avec la même formule que celle correspondant à la clé de chiffrement. Le client peut ainsi déchiffrer le message de réponse du serveur en utilisant cette clé et n'a en aucun cas la moindre information à chiffrer.The decryption key which is used on the client side to decrypt the server response message is therefore calculated with the same formula as that corresponding to the encryption key. The client can thus decrypt the response message from the server using this key and in no case has any information to encrypt.

Lorsqu'un terminal quelconque est utilisé, il est important qu'à aucun moment le mot de passe Kerberos ne soit communiqué par l'utilisateur audit terminal. La technique revendiquée permet de prendre aisément et efficacement en compte cette contrainte.When any terminal is used, it is important that at no time is the Kerberos password communicated by the user to said terminal. The claimed technique allows this constraint to be easily and effectively taken into account.

De manière remarquable, lorsqu'un système du type à mot de passe à utilisation unique OTP est utilisé intégré à un système Kerberos, le procédé d'authentification selon la présente invention peut être également utilisé avec un terminal quelconque, dans ce cas il est utilisé deux informations: le mot de passe à utilisation unique OTP et la clé de déchiffrement conformes à ceux dudit procédé, qui sont tous les deux précalculés et enregistrés (par exemple imprimés sur une feuille de papier), ces deux informations (à utilisation unique) étant alors rentrées sur ledit terminal quelconque tandis que le mot de passe Kerberos est utilisé avec un terminal de confiance.Remarkably, when an OTP one-time password type system is used integrated with a Kerberos system, the authentication method according to the present invention can also be used with any terminal, in this case it is used two pieces of information: the OTP one-time password and the decryption key conforming to those of said method, which are both precomputed and recorded (for example printed on a sheet of paper), these two pieces of information (one-time use) being then entered on any terminal while the Kerberos password is used with a trusted terminal.

Ainsi, lorsqu'un terminal quelconque est utilisé, l'utilisateur doit précalculer à l'avance à l'aide d'un terminal de confiance les clés de déchiffrement et il peut alors les enregistrer, par exemple en les recopiant sur un papier. Son papier comportera donc les informations suivantes: la valeur de l'OTP ainsi que la clé de déchiffrement associée et ce pour chaque valeur de comptage m.Thus, when any terminal is used, the user must precompute in advance using a trusted terminal the decryption keys and he can then save them, for example by copying them onto a paper. His paper will therefore include the following information: the value of the OTP as well as the associated decryption key and this for each count value m.

La présente invention offre donc également un second aspect avantageux du fait que cette technique est utilisable sans risque à partir d'un terminal quelconque. Avec de tels terminaux, il suffit pour cela de prévoir de se servir d'informations (à utilisation unique) enregistrées sur tout support (par exemple préimprimées) et d'utiliser le mot de passe Kerberos avec un terminal de confiance.The present invention therefore also offers a second advantageous aspect of the fact that this technique can be used without risk from any terminal. With such terminals, it suffices to plan to use information (single use) recorded on any medium (for example pre-printed) and to use the Kerberos password with a trusted terminal.

De manière avantageuse, conformément à l'une des caractéristiques de l'invention, il est en outre proposé une technique selon laquelle il est possible de ré-initialiser la "phrase de passe" de manière sûre à partir de la même information à mémoriser et ceci même en cas d'interception active, gardant en mémoire qu'à ce jour les techniques utilisées ne sont résistantes qu'aux écoutes passives. En effet, comme cela a été précédemment noté, la "phrase de passe" n'est utilisable qu'un nombre de fois prédéterminé m et lorsque le compte m devient égal à zéro il est alors nécessaire de changer de "phrase de passe", mais dans le présent contexte, si ce changement doit être opéré de manière aisée il doit de plus être effectué avec l'assurance d'une grande sécurité.Advantageously, in accordance with one of the characteristics of the invention, there is also proposed a technique according to which it is possible to reinitialize the "passphrase" in a secure manner from the same information to be memorized and this even in case of active interception, keeping in mind that to date the techniques used are only resistant to passive eavesdropping. Indeed, as previously noted, the "pass phrase" can only be used a predetermined number of times m and when the count m becomes zero it is then necessary to change the "pass phrase", but in the present context, if this change must be carried out in an easy manner, it must moreover be carried out with the assurance of great security.

Pour cela, de manière remarquable, lorsqu'un système du type à mot de passe à utilisation unique OTP est utilisé intégré à un système Kerberos, pour ré-initialiser la "phrase de passe" en fin de durée d'utilisation, la technique requiert préalablement d'installer au niveau du serveur une information supplémentaire dérivée d'une seule et unique "phrase de passe" de longueur suffisante (d'au moins dix caractères), cette information supplémentaire étant appelée "clé de modification" dont le calcul courant est le suivant, la "graine" étant spécifique au serveur:

  • Clé de modification = fonction non inversible ("phrase de passe", "graine", constante 2)
  • où constante 2 est une valeur publique, et lorsqu'il est désiré changer la "phrase de passe", une nouvelle "phrase de passe" étant choisie, l'utilisateur envoie impérativement à partir d'un terminal de confiance, une information sous la forme d'un message obtenu par concaténation des trois champs suivants, l'ensemble de ces champs étant scellés à l'aide de la clé de modification pour permettre de détecter toute modification non autorisée du contenu desdits champs:
    • la valeur courante du mot de passe à utilisation unique OTP,
    • la nouvelle valeur de vérification des mots de passe à utilisation unique OTP à stocker dans le serveur en cas de ré-initialisation réussie, cette nouvelle valeur étant associée à la valeur de comptage relative à la durée d'utilisation de la "phrase de passe" et à une "graine" spécifique au serveur permettant de partager la même "phrase de passe" avec plusieurs serveurs ne se faisant pas mutuellement confiance,
    • à la fois la nouvelle valeur du mot de passe Kerberos et la nouvelle valeur de la clé de modification chiffrées par la valeur courante de la clé de modification,
  • la nouvelle valeur de vérification destinée à contrôler le premier mot de passe à utilisation unique OTP à recevoir étant calculée par le terminal de l'utilisateur en lui appliquant (n+1) fois la fonction non inversible après concaténation de la nouvelle "phrase de passe" avec une valeur de "graine" spécifique au serveur, permettant ainsi d'utiliser la même "phrase de passe" pour différents serveurs, tandis que, de son côté, le serveur vérifie d'abord si le premier champ envoyé est correct selon la méthode OTP, puis vérifie l'intégrité de l'ensemble des trois champs à l'aide de la clé courante de modification qu'il possède, si la vérification est réussie, il ré-initialise alors le mécanisme OTP à l'aide de la nouvelle valeur de vérification, du nombre maximum d'utilisations et de la "graine", puis déchiffre à l'aide de la clé de modification le champ chiffré et extrait la nouvelle valeur de la clé de modification et le mot de passe Kerberos et enfin met localement à jour la nouvelle valeur de la clé de modification et la nouvelle valeur du mot de passe Kerberos.
For this, remarkably, when a system of the OTP one-time password type is used integrated with a Kerberos system, to re-initialize the "pass phrase" at the end of the period of use, the technique requires before installing at the server level additional information derived from a single and unique "passphrase" of sufficient length (at least ten characters), this additional information being called "modification key" whose current calculation is the following, the "seed" being specific to the server:
  • Modification key = non-invertible function ("pass phrase", "seed", constant 2)
  • where constant 2 is a public value, and when it is desired to change the "pass phrase", a new "pass phrase" being chosen, the user must send from a trusted terminal, information under the form of a message obtained by concatenating the following three fields, all of these fields being sealed using the modification key in order to detect any unauthorized modification of the content of said fields:
    • the current value of the OTP one-time password,
    • the new value for verifying OTP one-time passwords to be stored in the server in the event of a successful reinitialization, this new value being associated with the count value relating to the duration of use of the "pass phrase" and a server-specific "seed" that allows you to share the same "passphrase" with multiple servers that do not trust each other,
    • both the new value of the Kerberos password and the new value of the modification key encrypted by the current value of the modification key,
  • the new verification value intended to control the first OTP one-time password to be received being calculated by the user's terminal by applying to it (n + 1) times the non-invertible function after concatenating the new "pass phrase""with a server-specific" seed "value, allowing the same" passphrase "to be used for different servers, while the server checks first if the first field sent is correct according to the OTP method, then verifies the integrity of all three fields using the current modification key it has, if the verification is successful, it then re-initializes the OTP mechanism at l using the new verification value, the maximum number of uses and the "seed", then decrypts using the modification key the encrypted field and extracts the new value from the modification key and the word passes Kerberos and finally locally updates the new value of the modification key and the new value of the Kerberos password.

Il est important de constater ici encore qu'à aucun moment la "phrase de passe" n'est connue ou ne peut être connue du serveur.It is important to note here again that at no time is the "passphrase" known or cannot be known to the server.

Cette méthode peut, bien entendu selon l'idée de l'invention, être également efficacement appliquée au changement de la "phrase de passe" pour un système OTP seul non combiné avec un système Kerberos.This method can, of course according to the idea of the invention, also be effectively applied to the change of the "passphrase" for an OTP system alone not combined with a Kerberos system.

Dans ce cas, pour ré-initialiser la "phrase de passe" en fin de durée d'utilisation, la même technique est utilisée en installant préalablement au niveau du serveur une information supplémentaire dérivée d'une seule et unique "phrase de passe" de longueur suffisante (d'au moins dix caractères). Cette information supplémentaire est la clé de modification dont le calcul courant est le suivant, la "graine" étant spécifique au serveur:

  • Clé de modification = fonction non inversible ("phrase de passe", "graine", constante 2)
  • où constante 2 est une valeur publique.
In this case, to re-initialize the "pass phrase" at the end of the period of use, the same technique is used by installing beforehand at the server level additional information derived from a single and unique "pass phrase" from sufficient length (at least ten characters). This additional information is the modification key, the current calculation of which is as follows, the "seed" being specific to the server:
  • Modification key = non-invertible function ("pass phrase", "seed", constant 2)
  • where constant 2 is a public value.

Cette clé de modification est confidentielle. Toutefois le seul fait de connaître sa valeur ne permet pas directement de commettre une fraude. Ainsi, de manière similaire au précédent cas, lorsqu'il devient nécessaire de changer la "phrase de passe", une nouvelle "phrase de passe" étant choisie, l'utilisateur va envoyer, impérativement à partir d'un terminal de confiance, une information sous la forme d'un message obtenu par concaténation des trois champs suivants, l'ensemble de ces champs étant scellés à l'aide de la clé de modification pour permettre de détecter toute modification non autorisée du contenu desdits champs:

  • valeur courante du mot de passe à utilisation unique OTP,
  • la nouvelle valeur de vérification des mots de passe à utilisation unique OTP à stocker dans le serveur en cas de ré-initialisation réussie, cette nouvelle valeur étant associée à la valeur de comptage relative à la durée d'utilisation de la "phrase de passe" et à une "graine" spécifique au serveur permettant de partager la même "phrase de passe" avec plusieurs serveurs ne se faisant pas mutuellement confiance,
  • la nouvelle valeur de la clé de modification chiffrée par la valeur courante de la clé de modification.
This modification key is confidential. However, the mere fact of knowing its value does not directly make it possible to commit fraud. Thus, similar to the previous case, when it becomes necessary to change the "pass phrase", a new "pass phrase" being chosen, the user will send, imperatively from a trusted terminal, a information in the form of a message obtained by concatenating the following three fields, all of these fields being sealed using the modification key in order to detect any unauthorized modification of the content of said fields:
  • current value of the OTP one-time password,
  • the new value for verifying OTP one-time passwords to be stored in the server in the event of a successful reinitialization, this new value being associated with the count value relating to the duration of use of the "pass phrase" and a server-specific "seed" that allows you to share the same "passphrase" with multiple servers that do not trust each other,
  • the new value of the modification key encrypted by the current value of the modification key.

La nouvelle valeur de vérification destinée à contrôler le premier mot de passe à utilisation unique OTP à recevoir est calculée en lui appliquant (n+1) fois la fonction non inversible après concaténation de la nouvelle "phrase de passe" avec une valeur de "graine" spécifique au serveur permettant ainsi d'utiliser la même "phrase de passe" pour différents serveurs, tandis que de son côté, le serveur vérifie d'abord si le premier champ envoyé est correct selon la méthode OTP, puis vérifie l'intégrité de l'ensemble des trois champs à l'aide de la clé courante de modification qu'il possède, si la vérification est réussie, il ré-initialise alors le mécanisme OTP à l'aide de la nouvelle valeur de vérification, du nombre maximum d'utilisations et de la "graine", puis il déchiffre à l'aide de la clé courante de modification le champ chiffré et extrait la nouvelle valeur de la clé de modification et enfin il met localement à jour la nouvelle valeur de la clé de modification.The new verification value intended to control the first OTP one-time password to be received is calculated by applying to it (n + 1) times the non-invertible function after concatenating the new "passphrase" with a value of "seed "server-specific, allowing the same" passphrase "to be used for different servers, while the server checks first if the first field sent is correct using the OTP method, then checks the integrity of the set of three fields using the current modification key that it has, if the verification is successful, it then re-initializes the OTP mechanism using the new verification value, the maximum number d 'uses and the "seed", then it decrypts using the current modification key the encrypted field and extracts the new value of the modification key and finally it locally updates the new value of the key modification.

Il est important d'insister à cet endroit sur le fait que ces deux méthodes de changement de la "phrase de passe" requièrent toutes les deux l'usage d'un terminal de confiance et ne doivent en aucun cas être exécutées sur un terminal quelconque.It is important to emphasize here that these two methods of changing the "passphrase" both require the use of a trusted terminal and must in no case be executed on any terminal .

Pour une meilleure appréhension de l'idée de l'invention, la description suivante, qui n'est bien entendu pas limitative, fera bien comprendre dans quel environnement l'invention s'insère et comment elle peut être réalisée.For a better understanding of the idea of the invention, the following description, which is of course not limiting, will make it clear what environment the invention fits into and how it can be implemented.

Tout d'abord, quelques rappels et précisions relativement à l'art antérieur constitué par les systèmes de type OTP. Les deux éléments fondamentaux à considérer, le client et le serveur, fonctionnent de la manière suivante dans de tels systèmes. Le serveur doit envoyer une information appelée par l'homme du métier "challenge", "challenge"composé du nombre d'itérations à effectuer et de la valeur de la "graine" spécifique au serveur. Le client doit émettre le mot de passe OTP adéquat produit à partir de la "phrase de passe" secrète entrée par l'utilisateur et à partir de l'information dite "challenge" fournie par le serveur. Le serveur doit alors vérifier le mot de passe OTP reçu, stocker le dernier mot de passe correct reçu avec la valeur de comptage correspondante. Le serveur doit aussi autoriser, et ceci de manière aisée et en toute sécurité, le changement de la "phrase de passe" secrète de l'utilisateur.First, a few reminders and clarifications relative to the prior art constituted by OTP type systems. The two basic elements to consider, the client and the server, work as follows in such systems. The server must send information called by the man of the trade "challenge", "challenge" composed of the number of iterations to be performed and the value of the "seed" specific to the server. The client must issue the appropriate OTP password produced from the secret "passphrase" entered by the user and from the so-called "challenge" information provided by the server. The server must then verify the OTP password received, store the last correct password received with the corresponding count value. The server must also authorize, and this easily and safely, the change of the secret "passphrase" of the user.

Dans le système OTP, le client de son côté envoie la "phrase de passe" secrète avec la valeur de "graine", partie du "challenge", reçue du serveur, la fonction de compression non inversible étant appliquée de manière itérative un nombre de fois correspondant à la valeur de comptage courante afin d'obtenir le mot de passe OTP, à chaque utilisation, le nombre d'itérations de la fonction non inversible étant donc décrémenté d'une unité. Ainsi, une séquence unique de mots de passe est engendrée. Le serveur vérifie le mot de passe OTP reçu du client en appliquant une seule fois la fonction non inversible et en comparant le résultat obtenu avec le précédent mot de passe OTP correctement reçu. De manière connue, la sécurité d'un système OTP en fait, repose sur l'efficacité de la fonction de compression non inversible qui doit être prévue pour permettre un calcul simple à effectuer dans un sens, le sens direct, mais interdire ou au moins rendre quasi-impossible le calcul dans le sens inverse.In the OTP system, the client for its part sends the secret "passphrase" with the value of "seed", part of the "challenge", received from the server, the non-invertible compression function being applied iteratively a number of times corresponding to the current count value in order to obtain the OTP password, at each use, the number of iterations of the non-invertible function therefore being decremented by one. Thus, a unique sequence of passwords is generated. The server checks the OTP password received from the client by applying the non-invertible function once and comparing the result obtained with the previous OTP password correctly received. In known manner, the security of an OTP system in fact rests on the efficiency of the non-invertible compression function which must be provided to allow a simple calculation to be carried out in one direction, the direct direction, but prohibit or at least make calculation in the reverse direction almost impossible.

Jusqu'à présent, il était unanimement reconnu et admis comme inéluctable qu'il n'était pas possible de changer la "phrase de passe" et de sélectionner une nouvelle valeur de comptage stockée dans le serveur lorsque la valeur de comptage m courante devenait égale à zéro sans perdre les avantages du principe même des systèmes OTP, le principe étant que le système doit demeurer sûr même en cas de connaissance de l'information contenue dans le serveur.Until now, it was unanimously recognized and accepted as inevitable that it was not possible to change the "passphrase" and to select a new count value stored in the server when the current count value m became equal to zero without losing the advantages of the very principle of OTP systems, the principle being that the system must remain secure even in the event of knowledge of the information contained in the server.

Dans ce qui suit il est expliqué pourquoi, une quelconque personne connaissant la valeur de la clé de modification et les paramètres de vérification n'a aucune possibilité d'action directe. Ainsi qu'il a été dit auparavant, le seul fait de connaître la valeur de la clé de modification ne permet pas directement de commettre une fraude. Cependant, une attaque plus sophistiquée est possible, attaque qui implique une complicité avec une personne qui peut lire à l'avance la valeur de la clé de modification puis procéder à une attaque active. Ainsi, si dans une première étape, une personne obtient la valeur de la clé de modification, dans une seconde étape cette personne ou une autre personne doit attendre le lancement de la part d'un utilisateur d'une commande de changement de "phrase de passe" puis bloquer l'information et remplacer à la volée certains champs par ses propres valeurs et ensuite recalculer à la volée la valeur de contrôle de l'intégrité sur les données. Une telle attaque doit cependant être préparée à l'avance et il est de plus à noter qu'elle nécessite l'utilisation en temps réel d'algorithmes d'intégrité et de chiffrement. Aucun précalcul complet n'étant réalisable, il est par conséquent impossible de commettre une fraude en effectuant simplement une substitution de champs.In the following it is explained why, any person knowing the value of the modification key and the verification parameters has no possibility of direct action. As has been said before, the mere fact of knowing the value of the modification key does not directly make it possible to commit fraud. However, a more sophisticated attack is possible, an attack which involves an accomplice with a person who can read the value of the modification key in advance and then carry out an active attack. So if in a first step, a person obtains the value of the modification key, in a second step this person or another person must wait for the launching on the part of a user of a command to change the "pass phrase" then block the information and replace certain fields on the fly with its own values and then recalculate on the fly the integrity check value on the data. However, such an attack must be prepared in advance and it should also be noted that it requires the use in real time of integrity and encryption algorithms. As no complete precalculation is possible, it is therefore impossible to commit fraud by simply substituting fields.

Pour résumer et conclure, ce procédé peut être efficacement utilisé dans un système du type à mot de passe à utilisation unique OTP intégré à un système Kerberos ou bien dans un système du type à mot de passe à utilisation unique OTP utilisé seul. Selon une caractéristique essentielle, lorsqu'un utilisateur se sert d'un terminal de confiance, la présente invention consiste à n'utiliser et donc à ne mémoriser qu'une unique information, la "phrase de passe", le mot de passe Kerberos, dans le cas d'utilisation d'un système du type à mot de passe à utilisation unique OTP intégré à un système Kerberos, étant en fait dérivé de cette "phrase de passe". Selon une autre caractéristique importante, la technique décrite ci-avant peut également être efficacement utilisée à partir d'un terminal quelconque. Pour cela, il suffit que l'utilisateur ait précalculé et préenregistré (par exemple en imprimant sur une feuille de papier) deux informations, un mot de passe à utilisation unique et une clé de déchiffrement, ces deux informations (à utilisation unique) enregistrées étant alors rentrées sur ledit terminal quelconque tandis que le mot de passe Kerberos est utilisé avec un terminal de confiance. Enfin, il est également proposé selon l'invention une technique grâce à laquelle il est permis de ré-initialiser la "phrase de passe" en fin de durée d'utilisation de manière sûre et ceci même en cas d'interception active et ceci que ce soit dans un système du type à mot de passe à utilisation unique OTP intégré à un système Kerberos ou bien dans un système du type à mot de passe à utilisation unique OTP utilisé seul.In summary and conclusion, this method can be effectively used in an OTP one-time password type system integrated into a Kerberos system or in an OTP one-time password type system used alone. According to an essential characteristic, when a user uses a trusted terminal, the present invention consists in using and therefore in memorizing only one piece of information, the "pass phrase", the Kerberos password, when using an OTP one-time password type system built into a Kerberos system, being actually derived from this "passphrase". According to another important characteristic, the technique described above can also be effectively used from any terminal. For this, it suffices that the user has precalculated and prerecorded (for example by printing on a sheet of paper) two pieces of information, a one-time password and a decryption key, these two pieces of information (one-time use) being recorded. then entered on any terminal while the Kerberos password is used with a trusted terminal. Finally, there is also proposed according to the invention a technique by which it is allowed to reinitialize the "pass phrase" at the end of the period of use in a safe manner and this even in the event of active interception and this that either in an OTP one-time password type system integrated into a Kerberos system or in an OTP one-time password type system used alone.

Claims (6)

Procédé d'authentification d'un utilisateur travaillant dans un environnement distribué en mode client/serveur, chaque authentification étant effectuée à partir d'une seule information d'authentification à mémoriser, la "phrase de passe", de longueur et de durée d'utilisation déterminées caractérisé en ce que ledit procédé d'authentification est applicable dans un système du type à mot de passe à utilisation unique OTP intégré à un système Kerberos ou bien dans un système du type à mot de passe à utilisation unique OTP utilisé seul alors que, lorsqu'un système du type à mot de passe à utilisation unique OTP est utilisé intégré à un système Kerberos, ledit procédé d'authentification requiert d'installer préalablement deux types d'informations spécifiques dans le serveur d'authentification, lesdites informations étant toutes dérivées d'une seule et unique "phrase de passe" de longueur suffisante, le premier type d'information étant calculé selon la méthode OTP qui fournit une valeur de vérification qui est la "graine" et un compte qui est le compte courant m, le second type d'information étant calculé de la manière suivante: Mot de passe Kerberos=fonction non inversible ("phrase de passe", constante 1) où la constante 1 est une valeur publique. Method for authenticating a user working in a distributed environment in client / server mode, each authentication being carried out using a single authentication information item to be stored, the "passphrase", length and duration of specific use characterized in that said authentication method is applicable in a system of the OTP single use password type integrated into a Kerberos system or else in a system of the OTP single use password type used alone whereas , when an OTP one-time password type system is used integrated with a Kerberos system, said authentication method requires two specific types of information to be installed in the authentication server beforehand, said information all being derived from a single pass phrase of sufficient length, the first type of information being calculated according to the OTP method which provides a verification value which is the "seed" and an account which is the current account m, the second type of information being calculated as follows: Kerberos password = non-invertible function ("passphrase", constant 1) where the constant 1 is a public value. Procédé d'authentification d'un utilisateur travaillant dans un environnement distribué en mode client/serveur selon la revendication 1, caractérisé en ce que, lorsqu'un système du type à mot de passe à utilisation unique OTP est utilisé intégré à un système Kerberos, un protocole de communication unique est utilisé entre le serveur et le terminal, de confiance ou quelconque, protocole de communication unique qui est le suivant: - dans le sens d'échange d'information du terminal de l'utilisateur vers le serveur d'authentification, l'utilisateur envoie son identifiant et un mot de passe à utilisation unique OTP, si l'authentification est réussie, la phase suivante correspond à l'envoi d'une réponse du serveur d'authentification vers le terminal de l'utilisateur, cette réponse contenant une information chiffrée obtenue en utilisant une clé calculée de la manière suivante: Clé de chiffrement = fonction non inversible (mot de passe Kerberos, mot de passe à utilisation unique OTP reçu) alors que la clé de déchiffrement du message de réponse du serveur est calculée du côté client en utilisant la formule suivante: Clé de déchiffrement = fonction non inversible (mot de passe Kerberos, dernier mot de passe à utilisation unique OTP reçu) le terminal de l'utilisateur étant alors à même: - soit de calculer, à partir de la "phrase de passe" fournie par l'utilisateur, le mot de passe à utilisation unique ainsi que la clé de déchiffrement dans le cas d'utilisation d'un terminal de confiance, - soit de recevoir ces deux informations dans le cas d'utilisation d'un terminal quelconque. Method for authenticating a user working in a distributed environment in client / server mode according to claim 1, characterized in that, when a system of the OTP one-time password type is used integrated with a Kerberos system, a single communication protocol is used between the server and the terminal, trusted or arbitrary, a single communication protocol which is as follows: - in the direction of information exchange from the user's terminal to the authentication server, the user sends his identifier and a one-time password OTP, if the authentication is successful, the next phase corresponds when a response is sent from the authentication server to the user's terminal, this response containing encrypted information obtained using a key calculated as follows: Encryption key = non-invertible function (Kerberos password, OTP one-time password received) while the server response message decryption key is calculated on the client side using the following formula: Decryption key = non-invertible function (Kerberos password, last OTP one-time password received) the user's terminal then being able to: - either to calculate, from the "pass phrase" provided by the user, the one-time password as well as the decryption key in the case of using a trusted terminal, - or to receive these two pieces of information when using any terminal. Procédé d'authentification d'un utilisateur travaillant dans un environnement distribué en mode client/serveur selon l'une des revendications 1 ou 2, caractérisé en ce que, lorsqu'un système du type à mot de passe à utilisation unique OTP est utilisé intégré à un système Kerberos, si un terminal de confiance est utilisé, l'utilisateur fournit la "phrase de passe", le mot de passe Kerberos étant alors déduit en utilisant la formule: mot de passe Kerberos=fonction non inversible ("phrase de passe", constante 1) alors que la clé de déchiffrement est ensuite déduite en utilisant la formule: Clé de déchiffrement = fonction non inversible (mot de passe Kerberos, dernier mot de passe à utilisation unique OTP envoyé). Method for authenticating a user working in a distributed environment in client / server mode according to one of claims 1 or 2, characterized in that, when an OTP one-time password type system is used integrated to a Kerberos system, if a trusted terminal is used, the user supplies the "passphrase", the Kerberos password being deduced using the formula: Kerberos password = non-invertible function ("passphrase", constant 1) while the decryption key is then deduced using the formula: Decryption key = non-invertible function (Kerberos password, last OTP one-time password sent). Procédé d'authentification d'un utilisateur travaillant dans un environnement distribué en mode client/serveur selon l'une des revendications 1 ou 2, caractérisé en ce que, lorsqu'un système du type à mot de passe à utilisation unique OTP est utilisé intégré à un système Kerberos, lorsqu'il est mis en oeuvre à partir d'un terminal quelconque, deux informations sont utilisées: le mot de passe à utilisation unique OTP et la clé de déchiffrement, qui sont tous les deux précalculés et enregistrés, ces deux informations (à utilisation unique) étant alors rentrées sur ledit terminal quelconque.Method for authenticating a user working in a distributed environment in client / server mode according to one of claims 1 or 2, characterized in that, when an OTP one-time password type system is used integrated to a Kerberos system, when used from any terminal, two pieces of information are used: the OTP one-time password and the decryption key, both of which are pre-calculated and saved, both information (for single use) then being entered on said arbitrary terminal. Procédé d'authentification d'un utilisateur travaillant dans un environnement distribué en mode client/serveur selon l'une des revendications 1 à 3, caractérisé en ce que, lorsqu'un système du type à mot de passe à utilisation unique OTP est utilisé intégré à un système Kerberos, pour ré-initialiser la "phrase de passe" en fin de durée d'utilisation, il est préalablement installé au niveau du serveur une information supplémentaire dérivée d'une seule et unique "phrase de passe" de longueur suffisante, cette information supplémentaire étant appelée "clé de modification" dont le calcul courant est le suivant, la "graine" étant spécifique au serveur: Clé de modification = fonction non inversible ("phrase de passe", "graine", constante 2) où constante 2 est une valeur publique, et lorsqu'il est désiré changer la "phrase de passe", une nouvelle "phrase de passe" étant choisie, l'utilisateur envoie impérativement à partir d'un terminal de confiance, une information sous la forme d'un message obtenu par concaténation des trois champs suivants, l'ensemble de ces champs étant scellés à l'aide de la clé de modification pour permettre de détecter toute modification non autorisée du contenu desdits champs: - la valeur courante du mot de passe à utilisation unique OTP, - la nouvelle valeur de vérification des mots de passe à utilisation unique OTP à stocker dans le serveur en cas de ré-initialisation réussie, cette nouvelle valeur étant associée à la valeur de comptage relative à la durée d'utilisation de la "phrase de passe" et à une "graine" spécifique au serveur permettant de partager la même "phrase de passe" avec plusieurs serveurs ne se faisant pas mutuellement confiance, - à la fois la nouvelle valeur du mot de passe Kerberos et la nouvelle valeur de la clé de modification chiffrées par la valeur courante de la clé de modification, la nouvelle valeur de vérification destinée à contrôler le premier mot de passe à utilisation unique OTP à recevoir étant calculée par le terminal de l'utilisateur en lui appliquant (n+1) fois la fonction non inversible après concaténation de la nouvelle "phrase de passe" avec une valeur de "graine" spécifique au serveur, permettant ainsi d'utiliser la même "phrase de passe" pour différents serveurs, tandis que, de son côté, le serveur vérifie d'abord si le premier champ envoyé est correct selon la méthode OTP, puis vérifie l'intégrité de l'ensemble des trois champs à l'aide de la clé courante de modification qu'il possède, si la vérification est réussie, il ré-initialise alors le mécanisme OTP à l'aide de la nouvelle valeur de vérification, du nombre maximum d'utilisations et de la "graine", puis déchiffre à l'aide de la clé de modification le champ chiffré et extrait la nouvelle valeur de la clé de modification et le mot de passe Kerberos et enfin met localement à jour la nouvelle valeur de la clé de modification et la nouvelle valeur du mot de passe Kerberos. Method for authenticating a user working in a distributed environment in client / server mode according to one of claims 1 to 3, characterized in that, when an OTP one-time password type system is used integrated to a Kerberos system, to re-initialize the "passphrase" at the end of the period of use, it is previously installed at the server level additional information derived from a single and unique "passphrase" of sufficient length, this additional information being called "modification key", the current calculation of which is as follows, the "seed" being specific to the server: Modification key = non-invertible function ("pass phrase", "seed", constant 2) where constant 2 is a public value, and when it is desired to change the "pass phrase", a new "pass phrase" being chosen, the user must send from a trusted terminal, information under the form of a message obtained by concatenating the following three fields, all of these fields being sealed using the modification key in order to detect any unauthorized modification of the content of said fields: - the current value of the OTP one-time password, - the new value for verifying OTP one-time passwords to be stored in the server in the event of successful reinitialization, this new value being associated with the count value relating to the duration of use of the "pass phrase "and a server-specific" seed "that allows you to share the same" passphrase "with multiple servers that do not trust each other, - both the new value of the Kerberos password and the new value of the modification key encrypted by the current value of the modification key, the new verification value intended to control the first OTP one-time password to be received being calculated by the user's terminal by applying to it (n + 1) times the non-invertible function after concatenating the new "pass phrase "with a server-specific" seed "value, allowing the same" passphrase "to be used for different servers, while, for its part, the server first checks whether the first field sent is correct using the OTP method, then checks the integrity of all three fields using the current modification key it has, if the verification is successful, it then reinitializes the OTP mechanism using the new verification value, the maximum number of uses and the "seed", then decrypts using the key modify the encrypted field and extract the new value of the modification key and the Kerberos password and finally update the new value of the modification key and the new value of the Kerberos password locally. Procédé d'authentification d'un utilisateur travaillant dans un environnement distribué en mode client/serveur selon la revendication 1, caractérisé en ce que, lorsqu'un système du type à mot de passe à utilisation unique OTP est utilisé seul, pour ré-initialiser la "phrase de passe" en fin de durée d'utilisation, il est préalablement installé au niveau du serveur une information supplémentaire dérivée d'une seule et unique "phrase de passe" de longueur suffisante, cette information supplémentaire étant appelée "clé de modification" dont le calcul courant est le suivant, la "graine" étant spécifique au serveur: Clé de modification = fonction non inversible ("phrase de passe", "graine", constante 2) où constante 2 est une valeur publique, et lorsqu'il désire changer la "phrase de passe", une nouvelle "phrase de passe" étant choisie, l'utilisateur envoie, impérativement à partir d'un terminal de confiance, une information sous la forme d'un message obtenu par concaténation des trois champs suivants, l'ensemble de ces champs étant scellés à l'aide de la clé de modification pour permettre de détecter toute modification non autorisée du contenu desdits champs: - la valeur courante du mot de passe à utilisation unique OTP, - la nouvelle valeur de vérification des mots de passe à utilisation unique OTP à stocker dans le serveur en cas de ré-initialisation réussie, cette nouvelle valeur étant associée à la valeur de comptage relative à la durée d'utilisation de la "phrase de passe" et à une "graine" spécifique au serveur permettant de partager la même "phrase de passe" avec plusieurs serveurs ne se faisant pas mutuellement confiance, - la nouvelle valeur de la clé de modification chiffrée par la valeur courante de la clé de modification, la nouvelle valeur de vérification destinée à contrôler le premier mot de passe à utilisation unique OTP à recevoir étant calculée par le terminal de l'utilisateur en lui appliquant (n+1) fois la fonction non inversible après concaténation de la nouvelle "phrase de passe" avec une valeur de "graine" spécifique au serveur, permettant ainsi d'utiliser la même "phrase de passe" pour différents serveurs, tandis que, de son côté, le serveur vérifie d'abord si le premier champ envoyé est correct selon la méthode OTP, puis vérifie l'intégrité de l'ensemble des trois champs à l'aide de la clé courante de modification qu'il possède, si la vérification est réussie, il ré-initialise alors le mécanisme OTP à l'aide de la nouvelle valeur de vérification, du nombre maximum d'utilisations et de la "graine", puis déchiffre à l'aide de la clé de modification le champ chiffré et extrait la nouvelle valeur de la clé de modification et enfin met localement à jour la nouvelle valeur de la clé de modification. Method for authenticating a user working in a distributed environment in client / server mode according to claim 1, characterized in that, when a system of the OTP one-time password type is used alone, to reinitialize the "passphrase" at the end of the period of use, it is previously installed at the server level additional information derived from a single and unique "passphrase" of sufficient length, this additional information being called "modification key "whose current calculation is as follows, the" seed "being specific to the server: Modification key = non-invertible function ("pass phrase", "seed", constant 2) where constant 2 is a public value, and when he wishes to change the "pass phrase", a new "pass phrase" being chosen, the user must, imperatively from a trusted terminal, information under the form of a message obtained by concatenating the following three fields, all of these fields being sealed using the modification key in order to detect any unauthorized modification of the content of said fields: - the current value of the OTP one-time password, - the new value for verifying OTP one-time passwords to be stored in the server in the event of successful reinitialization, this new value being associated with the count value relating to the duration of use of the "pass phrase "and a server-specific" seed "that allows you to share the same" passphrase "with multiple servers that do not trust each other, - the new value of the modification key encrypted by the current value of the modification key, the new verification value intended to control the first OTP one-time password to be received being calculated by the user's terminal by applying to it (n + 1) times the non-invertible function after concatenating the new "pass phrase""with a server-specific" seed "value, allowing the same" passphrase "to be used for different servers, while the server checks first if the first field sent is correct according to the OTP method, then verifies the integrity of all three fields using the current modification key it has, if the verification is successful, it then re-initializes the OTP mechanism using the new verification value, the maximum number of uses and the "seed", then decrypts using the modification key the encrypted field and extracts the new value of the modification key and finally updates the new locally new value of the modification key.
EP96402473A 1995-11-20 1996-11-18 Method of authenticating a user working in a distributed environment in client-server mode Withdrawn EP0774707A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP06291321A EP1758010B1 (en) 1995-11-20 1996-11-18 Method for authentication of a user in a distributed client/server network environment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9513741 1995-11-20
FR9513741A FR2741465B1 (en) 1995-11-20 1995-11-20 METHOD FOR AUTHENTICATION OF A USER WORKING IN A DISTRIBUTED ENVIRONMENT IN CLIENT/SERVER MODE

Related Child Applications (1)

Application Number Title Priority Date Filing Date
EP06291321A Division EP1758010B1 (en) 1995-11-20 1996-11-18 Method for authentication of a user in a distributed client/server network environment

Publications (1)

Publication Number Publication Date
EP0774707A1 true EP0774707A1 (en) 1997-05-21

Family

ID=9484734

Family Applications (2)

Application Number Title Priority Date Filing Date
EP06291321A Expired - Lifetime EP1758010B1 (en) 1995-11-20 1996-11-18 Method for authentication of a user in a distributed client/server network environment
EP96402473A Withdrawn EP0774707A1 (en) 1995-11-20 1996-11-18 Method of authenticating a user working in a distributed environment in client-server mode

Family Applications Before (1)

Application Number Title Priority Date Filing Date
EP06291321A Expired - Lifetime EP1758010B1 (en) 1995-11-20 1996-11-18 Method for authentication of a user in a distributed client/server network environment

Country Status (5)

Country Link
US (1) US5841871A (en)
EP (2) EP1758010B1 (en)
CA (1) CA2190690C (en)
DE (1) DE69637505T2 (en)
FR (1) FR2741465B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0912013A1 (en) * 1997-10-20 1999-04-28 Siemens Aktiengesellschaft Method for providing secure access to an application of a networked system
CN1653743B (en) * 2002-05-17 2010-08-11 诺基亚有限公司 Method and system in a digital wireless data communication network for arranging data encryption and corresponding server
FR2956272A1 (en) * 2010-02-11 2011-08-12 France Telecom PASSWORD AUTHENTICATION FOR SINGLE USE

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2744818B1 (en) * 1996-02-12 1998-03-27 Bull Sa PROCESS FOR VERIFYING THE CONSERVATION OF THE INTEGRITY OF A QUERY ISSUED WITHOUT PROTECTION BY A CUSTOMER TO A SERVER BY MEANS OF INTEGRITY OF THE RESPONSE
US6122631A (en) * 1997-03-28 2000-09-19 International Business Machines Corporation Dynamic server-managed access control for a distributed file system
WO1999000958A1 (en) * 1997-06-26 1999-01-07 British Telecommunications Plc Data communications
US6032260A (en) * 1997-11-13 2000-02-29 Ncr Corporation Method for issuing a new authenticated electronic ticket based on an expired authenticated ticket and distributed server architecture for using same
US6263437B1 (en) * 1998-02-19 2001-07-17 Openware Systems Inc Method and apparatus for conducting crypto-ignition processes between thin client devices and server devices over data networks
US6445794B1 (en) * 1998-06-24 2002-09-03 Benyamin Ron System and method for synchronizing one time pad encryption keys for secure communication and access control
KR100351264B1 (en) * 1999-01-12 2002-09-10 주식회사 인터넷시큐리티 Communication terminal apparatus embedded the function generating One Time Password based on the challenge/response
FR2789536B1 (en) * 1999-02-08 2001-03-09 Bull Sa DEVICE AND METHOD FOR AUTHENTICATING A REMOTE USER
US6510523B1 (en) * 1999-02-22 2003-01-21 Sun Microsystems Inc. Method and system for providing limited access privileges with an untrusted terminal
IL128720A (en) 1999-02-25 2009-06-15 Cidway Technologies Ltd Method for certification of over the phone transactions
GB2349960A (en) * 1999-05-08 2000-11-15 Ibm Secure password provision
US20020191786A1 (en) * 1999-11-30 2002-12-19 Nestor Marroquin Polymorphous encryption system
US6453301B1 (en) 2000-02-23 2002-09-17 Sony Corporation Method of using personal device with internal biometric in conducting transactions over a network
US6931549B1 (en) 2000-05-25 2005-08-16 Stamps.Com Method and apparatus for secure data storage and retrieval
US7010689B1 (en) 2000-08-21 2006-03-07 International Business Machines Corporation Secure data storage and retrieval in a client-server environment
US6947556B1 (en) 2000-08-21 2005-09-20 International Business Machines Corporation Secure data storage and retrieval with key management and user authentication
US6883098B1 (en) 2000-09-20 2005-04-19 International Business Machines Corporation Method and computer system for controlling access by applications to this and other computer systems
AU2002239500A1 (en) * 2000-10-20 2002-06-03 Wave Systems Corporation Cryptographic data security system and method
US20020095580A1 (en) * 2000-12-08 2002-07-18 Brant Candelore Secure transactions using cryptographic processes
US7251633B2 (en) 2000-12-11 2007-07-31 Sony Corporation Method or system for executing deferred transactions
US7765163B2 (en) 2000-12-12 2010-07-27 Sony Corporation System and method for conducting secure transactions over a network
US20020124064A1 (en) * 2001-01-12 2002-09-05 Epstein Mark E. Method and apparatus for managing a network
US20020124190A1 (en) 2001-03-01 2002-09-05 Brian Siegel Method and system for restricted biometric access to content of packaged media
GB0126426D0 (en) * 2001-11-03 2002-01-02 Royal Holloway University Of L Authentication of a remote user to a host in a data communication system
US7325065B1 (en) * 2001-12-21 2008-01-29 Aol Llc, A Delaware Limited Liability Company Identifying unauthorized communication systems using a system-specific identifier
US20030163694A1 (en) * 2002-02-25 2003-08-28 Chaing Chen Method and system to deliver authentication authority web services using non-reusable and non-reversible one-time identity codes
US7228417B2 (en) * 2002-02-26 2007-06-05 America Online, Inc. Simple secure login with multiple-authentication providers
US20030204731A1 (en) * 2002-04-29 2003-10-30 Pochuev Denis A. Method and apparatus to enhance the security of data
US7085933B2 (en) * 2002-06-11 2006-08-01 Lenvo (Singapore) Pte, Ltd. Computer system apparatus and method for improved assurance of authentication
US7421576B1 (en) * 2003-01-16 2008-09-02 The United States Of America As Represented By The United States Department Of Energy Interception and modification of network authentication packets with the purpose of allowing alternative authentication modes
US7596703B2 (en) * 2003-03-21 2009-09-29 Hitachi, Ltd. Hidden data backup and retrieval for a secure device
US7519989B2 (en) * 2003-07-17 2009-04-14 Av Thenex Inc. Token device that generates and displays one-time passwords and that couples to a computer for inputting or receiving data for generating and outputting one-time passwords and other functions
US7506161B2 (en) * 2003-09-02 2009-03-17 Authernative, Inc. Communication session encryption and authentication system
US7581100B2 (en) * 2003-09-02 2009-08-25 Authernative, Inc. Key generation method for communication session encryption and authentication system
US7299356B2 (en) * 2003-09-02 2007-11-20 Authernative, Inc. Key conversion method for communication session encryption and authentication system
US7937759B2 (en) * 2003-10-02 2011-05-03 Auburn University System and method for protecting communication devices from denial of service attacks
US7774841B2 (en) 2003-10-02 2010-08-10 Aubum University System and method for protecting network resources from denial of service attacks
US7290278B2 (en) 2003-10-02 2007-10-30 Aol Llc, A Delaware Limited Liability Company Identity based service system
US7725926B1 (en) 2004-08-23 2010-05-25 Hewlett-Packard Development Company, L.P. Authentication
US8099598B1 (en) * 2005-01-03 2012-01-17 Gary Gang Liu Secure messaging system with automatic recipient enrollment
US7631198B2 (en) * 2005-05-10 2009-12-08 Seagate Technology Protocol scripting language for safe execution in embedded system
US7540022B2 (en) * 2005-06-30 2009-05-26 Nokia Corporation Using one-time passwords with single sign-on authentication
US7748031B2 (en) * 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
US8607045B2 (en) * 2005-09-09 2013-12-10 Emc Corporation Tokencode exchanges for peripheral authentication
US9258124B2 (en) 2006-04-21 2016-02-09 Symantec Corporation Time and event based one time password
US9762576B2 (en) 2006-11-16 2017-09-12 Phonefactor, Inc. Enhanced multi factor authentication
US8533821B2 (en) 2007-05-25 2013-09-10 International Business Machines Corporation Detecting and defending against man-in-the-middle attacks
US20090106826A1 (en) * 2007-10-19 2009-04-23 Daniel Palestrant Method and system for user authentication using event triggered authorization events
US8516566B2 (en) * 2007-10-25 2013-08-20 Apple Inc. Systems and methods for using external authentication service for Kerberos pre-authentication
US8321929B2 (en) * 2008-03-24 2012-11-27 Dell Products L.P. System and method for implementing a one time password at an information handling system
US8862731B2 (en) * 2008-04-25 2014-10-14 Smart Technologies Ulc Method and system for coordinating data sharing in a network with at least one physical display device
US20100269162A1 (en) 2009-04-15 2010-10-21 Jose Bravo Website authentication
US8370920B2 (en) 2009-10-28 2013-02-05 Aunigma Network Security Corp. System and method for providing unified transport and security protocols
US8683609B2 (en) * 2009-12-04 2014-03-25 International Business Machines Corporation Mobile phone and IP address correlation service
US8621227B2 (en) 2010-12-28 2013-12-31 Authernative, Inc. System and method for cryptographic key exchange using matrices
US8656484B2 (en) 2010-12-28 2014-02-18 Authernative, Inc. System and method for mutually authenticated cryptographic key exchange using matrices
US8838988B2 (en) 2011-04-12 2014-09-16 International Business Machines Corporation Verification of transactional integrity
TW201310959A (en) 2011-08-31 2013-03-01 Ibm Method and computer system for dynamically providing algorithm-based password/challenge authentication
US8792637B2 (en) * 2011-11-22 2014-07-29 Combined Conditional Access Development & Support, LLC Downloading of data to secure devices
US8917826B2 (en) 2012-07-31 2014-12-23 International Business Machines Corporation Detecting man-in-the-middle attacks in electronic transactions using prompts
SG11201505362WA (en) 2013-01-09 2015-08-28 Evernym Inc Systems and methods for access-controlled interactions
US9380057B2 (en) * 2014-07-29 2016-06-28 Lexisnexis Risk Solutions Inc. Systems and methods for combined OTP and KBA identity authentication
US10375063B2 (en) 2014-07-29 2019-08-06 Lexisnexis Risk Solutions Inc. Systems and methods for combined OTP and KBA identity authentication utilizing academic publication data
US10021069B1 (en) 2015-04-02 2018-07-10 Aunigma Network Security Corp. Real time dynamic client access control

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5418854A (en) * 1992-04-28 1995-05-23 Digital Equipment Corporation Method and apparatus for protecting the confidentiality of passwords in a distributed data processing system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3053527B2 (en) * 1993-07-30 2000-06-19 インターナショナル・ビジネス・マシーンズ・コーポレイション Method and apparatus for validating a password, method and apparatus for generating and preliminary validating a password, method and apparatus for controlling access to resources using an authentication code
US5590199A (en) * 1993-10-12 1996-12-31 The Mitre Corporation Electronic information network user authentication and authorization system
EP0656708A1 (en) * 1993-12-03 1995-06-07 International Business Machines Corporation System and method for the transmission and validation of an updated encryption key between two users
DE4411449C1 (en) * 1994-04-01 1995-03-16 Daimler Benz Ag Vehicle security device with electronic use-authorisation coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5418854A (en) * 1992-04-28 1995-05-23 Digital Equipment Corporation Method and apparatus for protecting the confidentiality of passwords in a distributed data processing system

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
"METHOD OF AUTHENTICATED PASSWORD OR PASSPHRASE CHANGING", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 36, no. 11, 1 November 1993 (1993-11-01), pages 285 - 289, XP000424864 *
"RFC 1510", September 1993, L'IETF (INTERNET ENGINEERING TASK FORCE), article "The Kerberos Network Authentication Service (V5)"
"Symposium ISOC, San Diego", February 1994, article N. HALLER: "The S/Key One-Time Password System"
B.C.NEUMAN ET AL: "Kerberos: An Authentication Service for Computer Networks", IEEE COMMUNICATIONS MAGAZINE, September 1994 (1994-09-01), US, pages 33 - 38, XP002010524 *
HALLER N M: "THE S/KEY(TM) ONE-TIME PASSWORD SYSTEM", ISOC SYMPOSIUM ON NETWORK AND SYSTEMS SECURITY, 1 January 1994 (1994-01-01), pages 151 - 157, XP000565853 *
JOHNSON J T: "SIGN ON AND BE SAFE IBM'S NETWORK SECURITY PROGRAM (NETSP)", DATA COMMUNICATIONS, vol. 24, no. 1, 1 January 1995 (1995-01-01), pages 122, 124, XP000480828 *
N. HALLER, C. METZ: "Internet Draft", 23 October 1995, article "A one-Time password system"

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0912013A1 (en) * 1997-10-20 1999-04-28 Siemens Aktiengesellschaft Method for providing secure access to an application of a networked system
WO1999021324A1 (en) * 1997-10-20 1999-04-29 Siemens Aktiengesellschaft Method for securing access to an application of a networked system
CN1653743B (en) * 2002-05-17 2010-08-11 诺基亚有限公司 Method and system in a digital wireless data communication network for arranging data encryption and corresponding server
FR2956272A1 (en) * 2010-02-11 2011-08-12 France Telecom PASSWORD AUTHENTICATION FOR SINGLE USE
WO2011098702A1 (en) * 2010-02-11 2011-08-18 France Telecom Single-use password authentication

Also Published As

Publication number Publication date
FR2741465B1 (en) 1997-12-19
CA2190690C (en) 1999-12-28
DE69637505T2 (en) 2009-07-02
EP1758010A1 (en) 2007-02-28
FR2741465A1 (en) 1997-05-23
DE69637505D1 (en) 2008-05-29
EP1758010B1 (en) 2008-04-16
CA2190690A1 (en) 1997-05-21
US5841871A (en) 1998-11-24

Similar Documents

Publication Publication Date Title
EP1758010B1 (en) Method for authentication of a user in a distributed client/server network environment
EP1022922B1 (en) Authentication method establishing a secured channel between a subscriber and a service provider accessed through a telecommunication operator
TW523682B (en) Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data
EP0936530A1 (en) Virtual smart card
EP2811708B1 (en) System and method for authenticating a user
US20080028229A1 (en) Authenticated remote pin unblock
JP2001511982A (en) Method for executing confidential remote instructions
US20030210791A1 (en) Key management
US11252161B2 (en) Peer identity verification
FR2793367A1 (en) AUTHENTICATION AND SECURITY DEVICE FOR A COMPUTER NETWORK
US10911237B2 (en) Virally connected network of people as a means to recover encrypted data should the encryption key become lost
US20060021036A1 (en) Method and system for network security management
WO2007051769A1 (en) Method for the secure deposition of digital data, associated method for recovering digital data, associated devices for implementing methods, and system comprising said devices
WO2022038096A1 (en) Method for connecting to a videoconference made secure by strong authentication
FR2866168A1 (en) Public key certifying process for mobile communication network, involves acquiring key using network entity from mobile terminal via network communication, and authenticating terminal by utilizing speaker authentication process
WO2021197871A1 (en) Protection of a secret software and confidential data in a secure enclave
EP0566492B1 (en) Method for authenticating a data processing system from a computer diskette
US20230421370A1 (en) Secure cloud storage and retrieval of client-side encrypted files
Chang et al. An Owner-managed Indirect-Permission Social Authentication Method for Private Key Recovery
WO2006082296A2 (en) Method and device for detecting address spoofing in a computer network
EP1262860B1 (en) System and method for user authentication
WO2021099199A1 (en) Method and system for provision or secure replacement of a secret in at least one portable communication device
EP4278282A1 (en) Method and system for access control
FR3137769A1 (en) Process for saving sensitive personal data on a blockchain
JP2001268067A (en) Key recovery method and key management system

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): DE FR GB IT

17P Request for examination filed

Effective date: 19971121

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: BULL SAS

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20160601