EP2213038A1 - Information system and method of identifying a user by an application server - Google Patents

Information system and method of identifying a user by an application server

Info

Publication number
EP2213038A1
EP2213038A1 EP08786974A EP08786974A EP2213038A1 EP 2213038 A1 EP2213038 A1 EP 2213038A1 EP 08786974 A EP08786974 A EP 08786974A EP 08786974 A EP08786974 A EP 08786974A EP 2213038 A1 EP2213038 A1 EP 2213038A1
Authority
EP
European Patent Office
Prior art keywords
num
server
terminal
hardware element
sess
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
EP08786974A
Other languages
German (de)
French (fr)
Inventor
Dominique Bourret
Jérémie NOWAK
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.)
FIDALIS
Original Assignee
FIDALIS
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 FIDALIS filed Critical FIDALIS
Publication of EP2213038A1 publication Critical patent/EP2213038A1/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/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0414Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden during transmission, i.e. party's identity is protected against eavesdropping, e.g. by using temporary identifiers, but is known to the other party or parties involved in the communication
    • 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/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • 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
    • 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/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption

Definitions

  • the present invention relates to an information system and a method of identifying a user accessing an information system.
  • a user uses a computer to access a service on a communication network, for example the Internet, hosted by a computer server
  • a service on a communication network for example the Internet
  • a computer server it is desirable that the server can identify that user.
  • the server it is desirable for the server to know if it is not an automatic program that attempts to impersonate a user.
  • access to the password may be possible by a third party on the user's computer.
  • the passwords that must be retained by the user are often stored on his computer, for example in an internet browser.
  • some passwords are transmitted in clear. It should be noted that it is possible to dispense with the storage of passwords on the server. Indeed, the server does not need to memorize the passwords: it must just be able to distinguish a correct password.
  • the server uses a one-way function that is applied to the password. The result of the function on a particular password is stored. At each identification:
  • the server applies the one-way function of the password
  • the server compares the result of this calculation to that it has in memory to identify the user.
  • the list of results of the application of the one-way function on the passwords is unusable because this function has the property of being very difficult to reverse.
  • This protocol is known to have significant security vulnerabilities. Indeed, when the password is presented to the system that transmits it to the server, anyone who has access to data on the link between the point of entry and the server can read it.
  • the server sends a randomly generated session number or pseudo randomly
  • the user encrypts this number with his private key and sends the result with his identification number to the server.
  • the server uses the public key of the user who is in the database and decrypts the message. 4. If the result obtained is the same as the one the server sent, the server knows that it is the user identified by the identification number.
  • the present invention aims to solve all or part of the disadvantages mentioned above by providing a system for enhancing security in the identification of a user without requiring securing the user's terminal.
  • the present invention relates to an information system comprising:
  • a computer server comprising network communication means
  • the terminal comprising network communication means, the terminal being intended to be used by a user to make a connection to the server, characterized in that the system further comprises a hardware element arranged to be connected to the terminal, the hardware element comprising data storage means arranged to store an encryption key and an identification number, in that the server is arranged to generate a unique session number during a connection session between the terminal and the server, and for communicating the session number to the terminal, the terminal being arranged to communicate the session number to the hardware element and in that the hardware element comprises processing means arranged to perform encryption with the aid of the encryption key of a set of data combining:
  • the terminal being arranged to transmit the encrypted password and the identification number to the server in order to to proceed to the identification of the user.
  • a hardware element external to the terminal is used to present the password of the user in a different form to each communication session, using the uniqueness of the session numbers.
  • the hardware element assigned to the user identifies it with the information system.
  • the information circulating on the information network is difficult to interpret because their content is different with each communication. Moreover, no secret information is stored on the user's terminal. As a result, the security of the entire system is improved.
  • the password is stored on the data storage means of the hardware element.
  • the hardware element is used to store a password outside the terminal, which increases the security of the system.
  • the terminal comprises means for entering the password by the user and is arranged to communicate the password to the hardware element.
  • the server is arranged to communicate a unique session number in response to the provision of an identification number by the hardware element.
  • the server is arranged to perform encryption by a session number encryption key into an encrypted session number and to communicate the encrypted session number to the terminal, the terminal being arranged to communicate the session number.
  • the processing means of the hardware element being arranged to perform a decryption of the session number encrypted into a session number by the encryption key stored in the storage means.
  • the server is arranged to perform a decryption of the encrypted password by means of a decryption key corresponding to the encryption key stored in the storage means of the hardware element, to obtain the values of the password and the number session.
  • the server is arranged to compare the session number from the encrypted password with the one it has generated, and then to compare the result of the application of a hash function on a combination of data. including the password with a predetermined value.
  • the password and the identification number form a unique pair of information in the system.
  • the hardware element comprises means for generating a random sequence, the processing means being arranged to perform a first encryption of a set of data combining:
  • the identification number of the user and arranged to transmit a first data frame comprising the result of the first encryption to the terminal, the terminal being arranged to transmit this first data frame to the server, the server being arranged to perform the decrypting the first data frame and then a second encryption of a data set combining:
  • the hardware element has the ability to determine to which recipient server the password is sent. For this, it launches a "challenge" to the server, to determine if it is connected to a specific server. Preferentially, two pairs of private keys and public keys are used respectively for the encryption and the decryption of a first and a second data exchange between the server and the hardware element
  • the means for generating a random sequence of the hardware element are arranged to take into account the occurrence of a random event.
  • the random events taken into account by the random sequence generation means include interruptions signaling the arrival of new information to the hardware element from the terminal.
  • the present invention also relates to a method of identification by a computer server of a user in possession of a terminal having communication means for making a connection between the server and the terminal and a hardware element, connected to the terminal, comprising data storage means on which is stored an encryption key and an identification number, in which
  • the server generates a unique session number during a connection session between the terminal and the server
  • the terminal communicates the session number to the hardware element; the hardware element performs an encryption using an encryption key of a data set combining: the password and the session number; and communicates the result of the encryption to the terminal,
  • the hardware element also transmits the identification number to the terminal, the terminal transmits the result of the encryption and the identification number to the server in order to proceed to the identification of the user.
  • the password is stored on the data storage means of the hardware element.
  • the password is entered by the user on the terminal and communicated to the hardware element by the terminal.
  • the server communicates a unique session number in response to the provision of an identification number by the hardware element.
  • the server encrypts the session number with an encrypted session number and communicates the encrypted session number to the terminal, the terminal communicating the encrypted session number to the encrypted session number.
  • the hardware element the means for processing the hardware element performing a decryption of the session number encrypted into a session number by the encryption key stored in the storage means.
  • the server performs a decryption of the encrypted password by means of a decryption key corresponding to the encryption key stored in the storage means of the hardware element, to obtain the values of the password and the session number.
  • the server compares the session number from the encrypted password with the one it generated, and compares the result of applying a hash function to a combination of data including the password with a predetermined value.
  • the password and the identification number form a unique pair of information.
  • the hardware element generates a random sequence, performs a first encryption of a set of data combining: the random sequence, and
  • the identification number of the user transmits a first data frame corresponding to the result of the encryption to the terminal which transmits this first data frame to the server, the server realizing a decryption of the first data frame and then a second encryption a dataset combining:
  • two pairs of private keys and public keys are used respectively for the encryption and decryption of a first and a second data exchange between the server and the hardware element.
  • the generation of a random sequence takes into account the occurrence of a random event.
  • the random events taken into account during the generation of random sequences include interrupts signaling the arrival of new information to the hardware element from the terminal.
  • At least one data frame exchanged between the hardware element and the terminal comprises both a random sequence generated by the hardware element and a session number generated by the server.
  • Figure 1 is a schematic representation of a system according to the invention.
  • Figure 2 is a schematic representation of a first embodiment of a method according to the invention.
  • Figure 3 is a schematic representation of a second embodiment of a method according to the invention.
  • Figure 4 is a schematic representation of a third embodiment of a method according to the invention.
  • Figure 5 is a schematic representation of a fourth embodiment of a method according to the invention.
  • FIG. 6 is an explanatory diagram of the operation of the means for generating a random sequence by a hardware element included according to a variant of the system according to the invention.
  • an information system according to the invention comprises:
  • an application server 2 comprising network communication means 3 enabling it to connect to a network 4, and data storage means, for example constituted by a database 5,
  • At least one terminal 6 comprising network communication means 7 enabling it to be connected to the network 4 intended to be used by a user.
  • the system further comprises a hardware element 8 arranged to be connected to the terminal, this element 8 being in the possession of the user.
  • the hardware element 8 may take the form of a USB key, a smart card or a processor that can be used in the production of a barcode reader or electronic tags, for example.
  • This hardware element 8 comprises data storage means 9, and processing means 10 arranged in particular for performing data encryption operations from a secret private key K1.
  • the terminal 6 may for example be constituted by a personal computer of the user who has an Internet connection allowing him to connect to the application server.
  • a client software 12 is installed on this computer which controls the exchanges between the hardware element, the computer and the server.
  • a private key K1 Before supplying the hardware element 8 to the user, or during an initialization operation of the hardware element 8, a private key K1, a password num_MDP and an identification number numJD are generated and registered. in the storage means of the hardware element.
  • the identification number numJD is a number that will be visible in clear during different operations.
  • the password num_MDP is intended to remain secret. The equipment performing this operation ensures that the public key K2 corresponding to the private key K1 of the user is stored by the server 2.
  • the hash function is used to check the validity of the password without having to memorize it.
  • the server 2 stores the pair num_HID and numJD in the database 5.
  • the hardware element 8 is provided to the user who can then connect it to a terminal 6 of his choice, equipped with the client software 12, to connect to the server 2.
  • the information system When connected to the server, the information system uses a password presentation protocol that follows the following steps:
  • a first step E1 the hardware element 8 transmits its identification number numJD to the client software 12 installed on the computer 6 of the user.
  • the identification number numJD is transmitted to the server 2 in a request for a session number.
  • a session number num_Sess is generated by the server 2.
  • the server 2 transmits this session number num_Sess to the computer 6 of the user.
  • the server can also store the identification number numJD of the user for whom the session number num_Sess was generated.
  • a fourth step E4 the user's computer transmits the session number num_Sess to the hardware element 8.
  • a fifth step E5 the processing means 10 of the hardware element 8 concatenate the password num_MDP and the session number num_Sess, then perform an encryption E using the private key K1, to obtain a result C :
  • E K i (num_MDP; num_Sess) C and sends the result C which we will call a password C signed to the client software 12.
  • the client software 12 will transmit the signed password C in turn to the server 2.
  • the server 2 realizes a decryption D of the signed password C by means of the public key K2 corresponding to the user's private key K1, which enables him to obtain the Password values num_MDP and session number num_Sess:
  • the server 2 compares the session number num_Sess with that which it has transmitted, then it calculates and compares the imprint H (num_ID, num_MDP) of the concatenation of the user identifier numJD and the password num_MDP with the imprint num_HID stored in the database 5 corresponding to the identifier numJD to accept or refuse the identification of the user.
  • the method according to the invention therefore uses the session number num_Sess to hide the password num_MDP.
  • the hardware element 8 uses a private key cryptography algorithm K1 to authenticate with the application server the password num_MDP which corresponds with the identification number numJD assigned to a user.
  • the server authenticates itself with the hardware element in order to obtain the word of past.
  • the server encrypts the session number that the hardware element will use to hide the password.
  • a connection request is initiated by the user on the terminal which transmits this request to the server.
  • the server transmits this encrypted session number num_Sess_Sign to the user's computer.
  • a third step E3 the user's computer transmits the encrypted session number num_Sess_Sign to the hardware element.
  • E K i (num_MDP; num_Sess) C and sends the result C which corresponds to a signed password to the client software, accompanied by the identification number numJD.
  • a fifth step E5 the client software 12 transmits the signed password C and the identification number numJD to the server 2.
  • the server then performs the decryption and comparison operations with the stored fingerprint as in the first embodiment. These latter operations are not shown in FIG.
  • the public key K2 remains secret.
  • the private key K1 is used to transmit the response to the server.
  • the hardware element 8 comprises means for generating a random sequence or a random number Num_Alea.
  • the hardware element also stores two separate private keys Ks1 and Ks2.
  • the operation of the generating means 13 is illustrated in FIG. 6.
  • the random sequence Num_Alea is generated taking into account the occurrence of a random event.
  • random events may consist of interrupts Int signaling the arrival of new information to the hardware element 8 from the terminal 6.
  • such an interruption is an interruption in the USB protocol used between the terminal and the key.
  • the sequence of these events over time depends on the exchanges between two hardware entities, namely the hardware element 8 and the terminal 6 via a communication medium governed by a software protocol subject to physical constraints directly related to the components that make up these entities. .
  • the hardware element 8 is programmed to increment a counter Ctr at the rate of the frequency of its microprocessor from the moment this element is powered up.
  • This counter Ctr is stored on a finite number of bits, for example 16 bits, which implies that it is cyclic and that it will return to its initial state.
  • the processing means 9 of the hardware element 8 are arranged to consult the current value of the counter Ctr.
  • An operation for example of the type Xor, is then performed between the value of the counter Ctr and a value extracted from a table of value Tab containing a data set of size greater than that of the counter.
  • An Int event is used to change the value of the pointer indicating where the value is extracted from the Tab array.
  • the data initially recorded in the Tab Table are kept secret. From the result of the operation between the value of the counter and the value extracted from the table is deduced a value on a bit, for example by an extraction or the application of a specific function.
  • rS constitutes a random sequence of which is conserved a definite number of elements in a sliding way and to constitute a random number or random sequence Num_Alea.
  • the occurrence of a random event is combined with a measured value of a complex physical phenomenon to enhance the security of the system.
  • a third embodiment of the method according to the invention represented in FIG. 4, which corresponds to an improvement of the first mode of implementation, the variant embodiment of the system including means for generating a random sequence Num_Alea is used.
  • the identification number of the user Numjdllser and no longer numJD to differentiate it from an identifier of the server 2 also used in this mode of implementation of the method is used.
  • an initialization of a data exchange is requested by the user via the terminal 6, by sending a frame of data Trame_0.
  • a first generation phase of a random sequence Gen_1 is performed by the hardware element 8 which allows the determination of a random sequence Num_Alea.
  • the processing means of the hardware element 8 sign the identifier of the user Numjdllser from the random sequence Num_Alea, concatenate the result of this signature with the random sequence Num_Alea then perform a C encryption with the help of its first private key Ks1, to obtain a frame of data Trame_1, which can be represented by the formula below, in which the sign + represents a concatenation and the sign ⁇ an operation of type Xor:
  • Trame_1 C ⁇ s i (Num_Alea + Num_Alea ⁇ Num_ldllser)
  • the frame Trame_1 is sent to the client software.
  • the frame Trame_1 is transmitted to the server 2 in a request for a session number.
  • a third step E3 the server 2 realizes a decryption D of the frame Trame_1 thanks to a first public key Ks2 corresponding to the private key Ks1 of the user, which enables him to obtain the values of the identifier of the user.
  • a test can then be performed on the user's identifier.
  • the server 2 also generates a Gen_2 generation of a Num_Sess session number.
  • the server 2 then realizes a signature of the random sequence Num_Alea and an identifier of the NumJdServer server by the Session Number Num_Sess, then an encryption of these two signature results concatenated by a second public key Ku2, to obtain a data frame.
  • Trame_2: Trame_2 C ⁇ u2 (Num_Alea ⁇ Num_Sess + Num_Sess ⁇ Num_ldServer)
  • the frame Trame_2 is then sent to the client software 12.
  • the user's computer transmits the frame Trame_2 to the hardware element 8.
  • a fifth step E5 the processing means 10 of the hardware element 8 perform a decryption D of the frame Trame_2 by means of a second private key Ku1 corresponding to the public key Ku2 of the server, which enables it to obtain the values the NumJdServer server identifier and the Num_Sess session number and a value returned by the server of the Num_Alea random sequence.
  • a test can then be performed on the identifier of the server 2 while also verifying that the random sequence Num_Alea returned by the server corresponds to that sent.
  • the processing means of the hardware element 8 then perform a signature of the identifier of the user Numjdllser and the password Num_MDP by the Session Number Num_Sess, then an encryption of these two signature results concatenated by the second key.
  • private Ku1 to obtain a frame of data Trame_3:
  • Trame_3 C Ku i (Num_Sess ⁇ Num_ldUser + Num_Sess ⁇ Num_MdP)
  • the frame Trame_3 is then sent to the client software 12.
  • the client software 12 transmits the frame Trame_3 in turn to the server 2.
  • the server 2 realizes a decryption D of the frame Trame_3 thanks to the public key Ku2 corresponding to the private key Ku1 of the user, which enables him to obtain the values of the password Num_MDP and session number num_Sess, as well as the user ID NumJdUser.
  • the server 2 compares the session number num_Sess with that which it has transmitted, then it carries out tests on the identifier NumJdUser and the password Num_MDP to accept or refuse the identification of the user. If the identification is accepted, the requested service can then be provided by the server in a seventh step E7.
  • the system thus performs mutual authentication of the server and the user before transmitting the critical data.
  • This system has been designed to address the current problems facing Internet users.
  • the hardware element 8 has the ability to determine to which recipient the password is sent. For this, the hardware element 8 challenges the server to determine if it is connected to a specific server. The hardware element 8 can subsequently warn the user, for example by means of a diode, if it is connected to a server that has impersonated the site. These arrangements are improved by the use of means for generating numbers or random sequences in the hardware element 8.
  • a "hacker" element attempting to replay a frame_1, will have to be able to answer the challenge of the server without being able to use the material element 8.
  • the frame Trame_2 includes the use of the random number generated by the hardware element 8 which makes it possible to verify the identity of the server and thus to accept to answer it.
  • the method can be implemented so as to take place entirely before informing the user of his authentication or not.
  • the system will respond with a false frame which will be the subject of the same treatment until the protocol is finished. This in order to give the minimum elements to a "hacker" element to compromise the security of the system.
  • the link between the number that identifies the NumJdUser user and its identity is made at the server level. Thus it is not necessary to transmit a critical element such as the blue card number of the user to use the system.
  • a fourth mode of implementation of the method according to the invention represented in FIG. 5, which corresponds to an improvement of the second mode of implementation, the variant embodiment of the system comprising the means of generating a random sequence Num_Alea is used.
  • a preliminary step EO an initialization of a data exchange is requested by the user via the terminal 6, by sending a frame of data Trame_0 to the server 2.
  • the server 2 realizes a Gen_2 generation of a first session number Num_Sess1.
  • the server 2 then realizes a signature of the identifier of the NumJdServer server by the first Session Number Num_Sess1, then a concatenation of the identifier of the server with the result of the signature, and an encryption of these data concatenated by a first public key Ks2, to obtain a frame of data Trame_1:
  • Trame_1 CK S2 (Num_Sess1 + Num_Sess1 ⁇ Num_ldServer)
  • the frame Trame_1 is then sent to the client software 12.
  • a second step E2 the user's computer transmits the frame Trame_1 to the hardware element 8.
  • the processing means 10 of the hardware element 8 perform a decryption D of the frame Trame_1 through to a first private key Ks1 corresponding to the public key Ks2 of the server, which allows it to obtain the values of the identifier of the NumJdServer server and the first session number Num_Sess1. A test can then be performed on the identifier of the server 2.
  • the processing means 10 of the hardware element 8 perform a generation phase of a random sequence Gen_1 which allows the determination of a random sequence Num_Alea.
  • the frame Trame_2 is sent to the client software.
  • a fourth step E4 the frame Trame_2 is transmitted to the server 2.
  • a fifth step E5 the server 2 realizes a decryption D of the frame Trame_2 thanks to the first public key Ks2 corresponding to the private key Ks1 of the user, which enables him to obtain the values of the identifier of the user.
  • NumJdUser user and random sequence the server 2 realizes a decryption D of the frame Trame_2 thanks to the first public key Ks2 corresponding to the private key Ks1 of the user, which enables him to obtain the values of the identifier of the user.
  • the server 2 also carries out a Gen_2 generation of a second Num Sess2 session number.
  • the server 2 then realizes a signature of the random sequence Num_Alea and an identifier of the NumJdServer server by the second Session Number Num_Sess2, then an encryption of these two signature results concatenated by a second public key Ku2, to obtain a frame of data Trame_3:
  • Trame_3 C ⁇ u2 (Num_Alea ⁇ Num_Sess2 + Num_Sess2 ⁇ Num_ldServe)
  • the frame Trame_3 is then sent to the client software 12.
  • a sixth step E6 the user's computer transmits the frame Trame_3 to the hardware element 8.
  • a seventh step E7 the processing means 10 of the hardware element 8 perform a decryption D of the frame Trame_3 by virtue of a second private key Ku1 corresponding to the public key Ku2 of the server, which enables it to obtain the values the identifier of the NumJdServer server and the second session number Num_Sess2 and a value returned by the server of the random sequence Num_Alea.
  • a test can then be performed on the identifier of the server 2 while also verifying that the random sequence Num_Alea returned by the server corresponds to that sent.
  • the processing means of the hardware element 8 then perform a signature of the identifier of the user Num_ldUser by the first Session Number Num_Sess1 and the password Num_MDP by the second Session Number Num_Sess2, then an encryption of these two. concatenated signature results by the second private key Ku1, to obtain a frame of data Trame_4:
  • Trame_4 C ⁇ ui (Num_Sess1 ⁇ Num_ldUser + Num_Sess2 ⁇ Num_MdP)
  • the frame Trame_4 is then sent to the client software 12.
  • the client software 12 transmits the frame Trame_4 in turn to the server 2.
  • the server 2 realizes a decryption D of the frame Trame_4 by means of the public key Ku2 corresponding to the user's private key Ku1, which enables him to obtain the values of the password Num_MDP and session numbers Num_Sess1 and Num_Sess2, as well as the identifier of the user Num IdUser.
  • the server 2 compares the session numbers Num_Sess1 and Num_Sess2 with those it has transmitted, then it performs tests on the identifier Numjdllser and the password Num_MDP to accept or refuse the identification of the user. If the identification is accepted, the requested service can then be provided by the server in a ninth step not shown.
  • Trame_1 C ⁇ s i [Num_Alea_1 + Num_Alea_1 ⁇ Num_ldllser]
  • Trame_2 C Ku2 [Num_Alea_1 ⁇ Num_Sess_1 + Num_Sess_1 ⁇ Num_ldServer]
  • Trame_3 C Ku i [Num_Sess_1 ⁇ Num_Alea_2 + Num_Alea_2 ⁇ Num_ldUser]
  • Trame_2f C KU2 - [Num_Alea_f ⁇ Num_Sess_f + Num_Sess_f ⁇ Num_IDServer]
  • Scale_1 C Ks2 [Scs_Sess_1 + Scs_Sess_1 ⁇ Sc_ldServer]
  • Scale_2 C Ks i [Scs_Sess_1 ⁇ Num_Alea_1 + Sc_Alea_1 ⁇ NumJdUser]
  • Scale_3 C Ku2 '[Num_Alea_1 ⁇ Num_Sess_2 + Num_Sess_2 ⁇ NumJdServer]
  • Scale_4 C Ku i [Num_Sess_2 ⁇ Num_Alea_2 + Num_alea_2 ⁇ Num_ldUser] ...
  • Trame_2f-1 C KU2 - [Num_Alea_f-1 ⁇ Num_Sess_f + Num_Sess_f ⁇ Num_IDServer]
  • Final_frame (2f) C K ur "[Num_Sess_f ⁇ NumDdUser * + Num_Sess_f ⁇ Num_MdP]
  • the session number num_Sess can be the result of a function, a date or a combination of both. This combination can be verified by the hardware element before the presentation of a password. The hardware element can ask the application server to prove its identity in the same way.
  • the password num_MDP can be requested by the client software 12 to the user to be signed and transmitted to the server 2.
  • a random number can be added in the calculation of the signed password in order to counter the exhaustive attacks (by salting).
  • This random number can be calculated by operating a one-way function on a number. The result of this operation being subsequently used for calculating the next random number, the one-way function is thus used recursively.
  • the combination of the password and the session number in the hardware element can be achieved not by concatenation, but for example by bitwise addition.
  • the server which also knows the session number, can subtract the one from the combination to deduce the password.
  • the password of the user is not stored in the hardware element, but entered by the user via input means of the terminal.
  • the system and the method according to the invention may in particular be applied to avoid impersonation of a website or a service, the purpose of this usurpation is to obtain confidential identification data of a user.
  • These usurpations correspond in particular to practices known as phishing or pharming.
  • Another application is the fight against validations of fraudulent purchases by credit card identification numbers without entering the PIN, by a person other than the card holder.

Abstract

The present invention relates to an information system and a method for the identification, by an application server (2), of a user in possession of a terminal (6) having the use of communication means for effecting a connection between the server (2) and the terminal (6) and of a hardware element (8), connected to the terminal (6), comprising data storage means on which is stored an encrypton key (K1) and an identification number (num_ID), in which the server (2) generates a unique session number (num_Sess) in the course of a connection session between the terminal (6) and the server (2), the terminal communicates the session number (num_Sess) to the hardware element (6), the hardware element (6) effects an encryption (E) with the aid of an encryption key (K1) of a data set combining: the password (num_MDP) and the session number (num_Sess), and communicates the result (C) of the encryption to the terminal (6), the hardware element (8) also transmits the identification number (num_ID) to the terminal (6), the terminal (6) transmits the result of the encryption (C) and the identification number (num_ID) to the server (2) with a view to carrying out the identification of the user.

Description

Système d'information et procédé d'identification par un serveur d'application d'un utilisateur Information system and method of identification by an application server of a user
La présente invention porte sur un système d'information et un procédé d'identification d'un utilisateur accédant à un système d'information.The present invention relates to an information system and a method of identifying a user accessing an information system.
Lorsqu'un utilisateur utilise un ordinateur pour accéder à un service sur un réseau de communication, par exemple Internet, hébergé par un serveur informatique, il est souhaitable que le serveur puisse identifier cet utilisateur. Il est en particulier souhaitable que le serveur puisse savoir s'il ne s'agit pas d'un programme automatique qui tente de se faire passer pour un utilisateur.When a user uses a computer to access a service on a communication network, for example the Internet, hosted by a computer server, it is desirable that the server can identify that user. In particular, it is desirable for the server to know if it is not an automatic program that attempts to impersonate a user.
Ce problème se pose par exemple dans le cas de consultation de messagerie sur Internet et dans l'enregistrement d'une commande sur un site commerçant.This problem arises, for example, in the case of e-mail consultation on the Internet and in the registration of an order on a commercial site.
Il est connu pour cette identification d'utiliser des mots de passe. Ainsi, l'utilisateur doit saisir un mot de passe et le serveur confirme en réponse si ce mot de passe est correct. L'utilisateur et le serveur connaissent tous deux cette information secrète et le serveur la demande chaque fois qu'un utilisateur souhaite accéder à un service.It is known for this identification to use passwords. Thus, the user must enter a password and the server confirms in response if this password is correct. The user and the server both know this secret information and the server requests it each time a user wishes to access a service.
Cependant, si un tiers a accès aux informations du serveur et obtient la liste des mots de passe, la sécurité du système est remise en cause.However, if a third party has access to the server information and gets the list of passwords, the security of the system is called into question.
De plus, l'accès au mot de passe peut être possible par un tiers sur l'ordinateur de l'utilisateur. En effet, les mots de passes qui doivent être retenus par l'utilisateur sont souvent mémorisés sur son ordinateur, par exemple dans un navigateur internet. En outre certains mots de passe sont transmis en clair. II est à noter qu'il est possible de s'affranchir de la mémorisation des mots de passe sur le serveur. En effet, le serveur n'a pas besoin de mémoriser les mots de passe: il doit juste être capable de distinguer un mot de passe correct. Le serveur utilise par exemple une fonction à sens unique qui est appliquée au mot de passe. Le résultat de la fonction sur un mot de passe particulier est stocké. A chaque identification :In addition, access to the password may be possible by a third party on the user's computer. Indeed, the passwords that must be retained by the user are often stored on his computer, for example in an internet browser. In addition some passwords are transmitted in clear. It should be noted that it is possible to dispense with the storage of passwords on the server. Indeed, the server does not need to memorize the passwords: it must just be able to distinguish a correct password. For example, the server uses a one-way function that is applied to the password. The result of the function on a particular password is stored. At each identification:
- le mot de passe est présenté au serveur,- the password is presented to the server,
- le serveur applique la fonction à sens unique du mot de passe, etthe server applies the one-way function of the password, and
- le serveur compare le résultat de ce calcul à celui qu'il a en mémoire pour identifier l'utilisateur. La liste des résultats de l'application de la fonction à sens unique sur les mots de passe est inutilisable car cette fonction a pour propriété d'être très difficilement inversable.- The server compares the result of this calculation to that it has in memory to identify the user. The list of results of the application of the one-way function on the passwords is unusable because this function has the property of being very difficult to reverse.
Ce protocole est connu pour présenter des failles de sécurité importantes. En effet, lorsque le mot de passe est présenté au système qui le transmet au serveur, toute personne qui a accès aux données sur la liaison entre le point de saisie et le serveur peut le lire.This protocol is known to have significant security vulnerabilities. Indeed, when the password is presented to the system that transmits it to the server, anyone who has access to data on the link between the point of entry and the server can read it.
Des moyens logiciels connus, notamment tels que HTTPS et SLL/SSH ou les réseaux privés virtuels, permettent de sécuriser le transfert des données allant de l'ordinateur de l'utilisateur au serveur. Néanmoins ces moyens ne permettent pas d'authentifier l'utilisateur.Known software means, such as HTTPS and SLL / SSH or virtual private networks, make it possible to secure the transfer of data from the user's computer to the server. However, these means do not allow authentication of the user.
Il est également connu d'utiliser des mécanismes de cryptographie à clef publique/privée ou à clef secrète.It is also known to use public / private or secret key cryptography mechanisms.
Dans le mécanisme à clefs secrètes, un échange de clefs secrètes est réalisé en utilisant des couples de clefs publiques et privées. La clef secrète à une durée d'utilisation limitée à la session et sert à chiffrer des données. Le principal désavantage des mécanismes à clef secrète est que la même clef est manipulée par les deux parties. Si l'une d'entre elle est diffusée, la sécurité du système est remise en cause. La cryptographie à clef publique/clef privée résout ce problème. Le serveur gère un fichier contenant les clefs publiques de chaque utilisateur. Chaque utilisateur possède une clef privée. Le protocole d'ouverture de session se déroule de la façon suivante:In the secret key mechanism, an exchange of secret keys is performed using public and private key pairs. The secret key has a limited duration of use for the session and is used to encrypt data. The main disadvantage of secret key mechanisms is that the same key is manipulated by both parties. If one of them is broadcast, the security of the system is questioned. Public key / private key cryptography solves this problem. The server manages a file containing the public keys of each user. Each user has a private key. The logon protocol proceeds as follows:
1. Le serveur envoie un numéro de session généré aléatoirement ou pseudo aléatoirement1. The server sends a randomly generated session number or pseudo randomly
2. L'utilisateur chiffre ce numéro avec sa clef privée et envoie le résultat avec son numéro d'identification au serveur.2. The user encrypts this number with his private key and sends the result with his identification number to the server.
3. Le serveur utilise la clef publique de l'utilisateur qui est dans la base de données et déchiffre le message. 4. Si le résultat obtenu est le même que celui que le serveur a envoyé, le serveur sait que c'est bien l'utilisateur identifié par le numéro d'identification.3. The server uses the public key of the user who is in the database and decrypts the message. 4. If the result obtained is the same as the one the server sent, the server knows that it is the user identified by the identification number.
Si la clef privée de l'utilisateur reste confidentielle, personne ne peut se faire passer pour lui. L'utilisateur ne transmet jamais sa clef privée lors de la connexion au serveur. Personne ne peut obtenir d'information qui lui permette de déterminer la clef privée de l'utilisateur. Cette technique utilise une clef privée qui peut être longue et difficilement mémorisable par l'utilisateur. Celle-ci sera manipulée par le logiciel et le matériel de l'utilisateur.If the private key of the user remains confidential, no one can impersonate him. The user never transmits his private key when connecting to the server. Nobody can obtain information that allows them to determine the private key of the user. This technique uses a private key that can be long and difficult to memorize by the user. This will be manipulated by the user's software and hardware.
Dans ces conditions, ni le serveur, ni le canal de communication entre l'ordinateur de l'utilisateur n'ont besoin d'être sûrs. II apparaît toutefois que l'ordinateur personnel ou le terminal qui permet à l'utilisateur de se connecter sur le réseau de communication doit être sécurisé, car cet ordinateur manipule la clé privée.Under these conditions, neither the server nor the communication channel between the user's computer need to be secure. However, it appears that the personal computer or the terminal that allows the user to connect to the communication network must be secure because this computer manipulates the private key.
En outre, il existe des possibilités de découverte de la clef privée par un en tiers mettant en oeuvre un algorithme basé sur l'utilisation de nombres aléatoires.In addition, there are opportunities for discovery of the private key by a third party implementing an algorithm based on the use of random numbers.
La présente invention a pour but de résoudre tout ou partie des inconvénients mentionnés ci-dessus en fournissant un système permettant de renforcer la sécurité dans l'identification d'un utilisateur sans nécessiter une sécurisation du terminal de l'utilisateur. A cet effet, la présente invention a pour objet un système d'information comprenant :The present invention aims to solve all or part of the disadvantages mentioned above by providing a system for enhancing security in the identification of a user without requiring securing the user's terminal. For this purpose, the present invention relates to an information system comprising:
- un serveur informatique comprenant des moyens de communication en réseau,a computer server comprising network communication means,
- au moins un terminal comprenant des moyens de communication en réseau, le terminal étant destiné à être utilisé par un utilisateur pour réaliser une connexion au serveur caractérisé en ce que le système comporte de plus un élément matériel agencé pour être connecté au terminal, l'élément matériel comprenant des moyens de stockage de donnée agencés pour mémoriser une clef de chiffrement et un numéro d'identification, en ce que le serveur est agencé pour générer un numéro de session unique au cours d'une session de connexion entre le terminal et le serveur, et pour communiquer le numéro de session au terminal, le terminal étant agencé pour communiquer le numéro de session à l'élément matériel et en ce que l'élément matériel comprend des moyens de traitement agencés pour réaliser un chiffrement à l'aide de la clef de chiffrement d'un ensemble de donnée combinant :at least one terminal comprising network communication means, the terminal being intended to be used by a user to make a connection to the server, characterized in that the system further comprises a hardware element arranged to be connected to the terminal, the hardware element comprising data storage means arranged to store an encryption key and an identification number, in that the server is arranged to generate a unique session number during a connection session between the terminal and the server, and for communicating the session number to the terminal, the terminal being arranged to communicate the session number to the hardware element and in that the hardware element comprises processing means arranged to perform encryption with the aid of the encryption key of a set of data combining:
- un mot de passe de l'utilisateur, et - le numéro de session, et agencés pour transmettre le résultat du chiffrement constituant un mot de passe chiffré et le numéro d'identification au terminal, le terminal étant agencé pour transmettre le mot de passe chiffré et le numéro d'identification au serveur en vue de procéder à l'identification de l'utilisateur.- a password of the user, and the session number, and arranged to transmit the result of the encryption constituting an encrypted password and the identification number to the terminal, the terminal being arranged to transmit the encrypted password and the identification number to the server in order to to proceed to the identification of the user.
Grâce aux dispositions selon l'invention, un élément matériel externe au terminal est utilisé pour présenter le mot de passe de l'utilisateur sous une forme différente à chaque session de communication, en utilisant l'unicité des numéros de session. L'élément matériel attribué à l'utilisateur l'identifie auprès du système d'information.Thanks to the arrangements according to the invention, a hardware element external to the terminal is used to present the password of the user in a different form to each communication session, using the uniqueness of the session numbers. The hardware element assigned to the user identifies it with the information system.
Les messages contenant les mots de passe transmis ne seront jamais deux fois les même si les numéros de session sont différents à chaque fois.Messages containing transmitted passwords will never be twice the same if the session numbers are different each time.
Ainsi, les informations circulant sur le réseau d'information sont difficilement interprétables car leur contenu est différent à chaque communication. De plus, aucune information secrète n'est stockée sur le terminal de l'utilisateur. En conséquence, la sécurité de l'ensemble du système est améliorée.Thus, the information circulating on the information network is difficult to interpret because their content is different with each communication. Moreover, no secret information is stored on the user's terminal. As a result, the security of the entire system is improved.
Selon un mode de réalisation, le mot de passe est mémorisé sur les moyens de stockage de donnée de l'élément matériel.According to one embodiment, the password is stored on the data storage means of the hardware element.
L'élément matériel permet de mémoriser un mot de passe en dehors du terminal, ce qui renforce la sécurité du système.The hardware element is used to store a password outside the terminal, which increases the security of the system.
Selon un autre mode de réalisation, le terminal comprend des moyens de saisie du mot de passe par l'utilisateur et est agencé pour communiquer le mot de passe à l'élément matériel.According to another embodiment, the terminal comprises means for entering the password by the user and is arranged to communicate the password to the hardware element.
Avantageusement, le serveur est agencé pour communiquer un numéro de session unique en réponse à la fourniture d'un numéro d'identification par l'élément matériel.Advantageously, the server is arranged to communicate a unique session number in response to the provision of an identification number by the hardware element.
Selon un mode de réalisation, le serveur est agencé pour réaliser un chiffrement par une clef de chiffrement du numéro de session en un numéro de session chiffré et pour communiquer le numéro de session chiffré au terminal, le terminal étant agencé pour communiquer le numéro de session chiffré à l'élément matériel, les moyens de traitement de l'élément matériel étant agencés pour réaliser un déchiffrement du numéro de session chiffré en un numéro de session par la clef de chiffrement mémorisée dans les moyens de stockage. Avantageusement, le serveur est agencé pour réaliser un déchiffrement du mot de passe chiffré grâce à une clé de déchiffrement correspondant à la clé de chiffrement stockée dans les moyens de stockage de l'élément matériel, pour obtenir les valeurs du mot de passe et du numéro de session.According to one embodiment, the server is arranged to perform encryption by a session number encryption key into an encrypted session number and to communicate the encrypted session number to the terminal, the terminal being arranged to communicate the session number. encrypted to the hardware element, the processing means of the hardware element being arranged to perform a decryption of the session number encrypted into a session number by the encryption key stored in the storage means. Advantageously, the server is arranged to perform a decryption of the encrypted password by means of a decryption key corresponding to the encryption key stored in the storage means of the hardware element, to obtain the values of the password and the number session.
Selon un mode de réalisation, le serveur est agencé pour comparer le numéro de session provenant du mot de passe chiffré avec celui qu'il a généré, puis pour comparer le résultat de l'application d'une fonction de hachage sur une combinaison de donnée comprenant le mot de passe avec une valeur prédéterminée.According to one embodiment, the server is arranged to compare the session number from the encrypted password with the one it has generated, and then to compare the result of the application of a hash function on a combination of data. including the password with a predetermined value.
Avantageusement, le mot de passe et le numéro d'identification forment un couple unique d'information dans le système.Advantageously, the password and the identification number form a unique pair of information in the system.
Avantageusement, l'élément matériel comprend des moyens de génération d'une séquence aléatoire, les moyens de traitement étant agencés pour réaliser un premier chiffrement d'un ensemble de données combinant :Advantageously, the hardware element comprises means for generating a random sequence, the processing means being arranged to perform a first encryption of a set of data combining:
- la séquence aléatoire, et- the random sequence, and
- le numéro d'identification de l'utilisateur, et agencés pour transmettre une première trame de donnée comprenant le résultat du premier chiffrement au terminal, le terminal étant agencé pour transmettre cette première trame de donnée au serveur, le serveur étant agencé pour réaliser le déchiffrement de la première trame de donnée puis un second chiffrement d'un ensemble de données combinant :the identification number of the user, and arranged to transmit a first data frame comprising the result of the first encryption to the terminal, the terminal being arranged to transmit this first data frame to the server, the server being arranged to perform the decrypting the first data frame and then a second encryption of a data set combining:
- la séquence aléatoire, et - un numéro de session, et- the random sequence, and - a session number, and
- un numéro d'identification du serveur et pour transmettre une seconde trame de données comprenant le résultat de ce second chiffrement au terminal, le terminal étant agencé pour transmettre cette seconde trame de donnée à l'élément matériel. Ces dispositions permettent de réaliser une authentification mutuelle du serveur et de l'utilisateur avant de transmettre des données critiques. Ainsi l'élément matériel a la capacité de déterminer à quel serveur destinataire le mot de passe est envoyé. Pour cela, il lance un « défi » au serveur, afin de déterminer si il est connecté à un serveur déterminé. Préférentiellement, deux paires de clefs privées et clefs publiques sont utilisées respectivement pour le chiffrement et le déchiffrement d'un premier et d'un second échange de données entre le serveur et l'élément matériela server identification number and for transmitting a second data frame comprising the result of this second encryption to the terminal, the terminal being arranged to transmit this second data frame to the hardware element. These provisions make it possible to perform mutual authentication of the server and the user before transmitting critical data. Thus the hardware element has the ability to determine to which recipient server the password is sent. For this, it launches a "challenge" to the server, to determine if it is connected to a specific server. Preferentially, two pairs of private keys and public keys are used respectively for the encryption and the decryption of a first and a second data exchange between the server and the hardware element
Avantageusement, plusieurs séquences aléatoires et/ou plusieurs numéros de session sont générés par l'élément matériel ou le serveur pour des échanges de données successifs pour l'identification d'un utilisateur.Advantageously, several random sequences and / or several session numbers are generated by the hardware element or the server for successive data exchanges for the identification of a user.
Préférentiellement, les moyens de génération d'une séquence aléatoire de l'élément matériel sont agencés pour prendre en compte la survenue d'un événement aléatoire. Les événements aléatoires pris en compte par les moyens de génération de séquence aléatoire comprennent notamment des interruptions signalant l'arrivée d'une nouvelle information à l'élément matériel en provenance du terminal.Preferably, the means for generating a random sequence of the hardware element are arranged to take into account the occurrence of a random event. The random events taken into account by the random sequence generation means include interruptions signaling the arrival of new information to the hardware element from the terminal.
Ces dispositions permettent de générer des séquences aléatoires à partir d'un élément matériel simple, notamment de type clef USB, dont le comportement, et notamment celui de son microprocesseur, est déterministe. La présente invention concerne également un procédé d'identification par un serveur informatique d'un utilisateur en possession d'un terminal disposant de moyens de communication pour réaliser une connexion entre le serveur et le terminal et d'un élément matériel, connecté au terminal, comprenant des moyens de stockage de donnée sur lesquels est mémorisée une clef de chiffrement et un numéro d'identification, dans lequelThese provisions make it possible to generate random sequences from a simple hardware element, in particular of the USB key type, whose behavior, and in particular that of its microprocessor, is deterministic. The present invention also relates to a method of identification by a computer server of a user in possession of a terminal having communication means for making a connection between the server and the terminal and a hardware element, connected to the terminal, comprising data storage means on which is stored an encryption key and an identification number, in which
- le serveur génère un numéro de session unique au cours d'une session de connexion entre le terminal et le serveur,the server generates a unique session number during a connection session between the terminal and the server,
- le terminal communique le numéro de session à l'élément matériel, - l'élément matériel réalise un chiffrement à l'aide d'une clef de chiffrement d'un ensemble de donnée combinant : le mot de passe et le numéro de session, et communique le résultat du chiffrement au terminal,the terminal communicates the session number to the hardware element; the hardware element performs an encryption using an encryption key of a data set combining: the password and the session number; and communicates the result of the encryption to the terminal,
- l'élément matériel transmet également le numéro d'identification au terminal, - le terminal transmet le résultat du chiffrement et le numéro d'identification au serveur en vue de procéder à l'identification de l'utilisateur.the hardware element also transmits the identification number to the terminal, the terminal transmits the result of the encryption and the identification number to the server in order to proceed to the identification of the user.
Selon un mode de mise en œuvre du procédé, le mot de passe est mémorisé sur les moyens de stockage de donnée de l'élément matériel.According to one embodiment of the method, the password is stored on the data storage means of the hardware element.
Selon un autre mode de mise en œuvre du procédé, le mot de passe est saisi par l'utilisateur sur le terminal et communiqué à l'élément matériel par le terminal. Avantageusement, le serveur communique un numéro de session unique en réponse à la fourniture d'un numéro d'identification par l'élément matériel.According to another mode of implementation of the method, the password is entered by the user on the terminal and communicated to the hardware element by the terminal. Advantageously, the server communicates a unique session number in response to the provision of an identification number by the hardware element.
Selon un mode de mise en œuvre du procédé, le serveur réalise un chiffrement par une clef de chiffrement du numéro de session en un numéro de session chiffré et communique le numéro de session chiffré au terminal, le terminal communiquant le numéro de session chiffré à l'élément matériel, les moyens de traitement de l'élément matériel réalisant un déchiffrement du numéro de session chiffré en un numéro de session par la clef de chiffrement mémorisée dans les moyens de stockage.According to one embodiment of the method, the server encrypts the session number with an encrypted session number and communicates the encrypted session number to the terminal, the terminal communicating the encrypted session number to the encrypted session number. the hardware element, the means for processing the hardware element performing a decryption of the session number encrypted into a session number by the encryption key stored in the storage means.
Avantageusement, le serveur réalise un déchiffrement du mot de passe chiffré grâce à une clé de déchiffrement correspondant à la clé de chiffrement stockée dans les moyens de stockage de l'élément matériel, pour obtenir les valeurs du mot de passe et du numéro de session. Selon un mode de mise en œuvre, le serveur compare le numéro de session provenant du mot de passe chiffré avec celui qu'il a généré, puis compare le résultat de l'application d'une fonction de hachage sur une combinaison de donnée comprenant le mot de passe avec une valeur prédéterminée. Avantageusement, le mot de passe et le numéro d'identification forment un couple unique d'informations.Advantageously, the server performs a decryption of the encrypted password by means of a decryption key corresponding to the encryption key stored in the storage means of the hardware element, to obtain the values of the password and the session number. In one embodiment, the server compares the session number from the encrypted password with the one it generated, and compares the result of applying a hash function to a combination of data including the password with a predetermined value. Advantageously, the password and the identification number form a unique pair of information.
Avantageusement, l'élément matériel génère une séquence aléatoire, réalise un premier chiffrement d'un ensemble de données combinant : - la séquence aléatoire, etAdvantageously, the hardware element generates a random sequence, performs a first encryption of a set of data combining: the random sequence, and
- le numéro d'identification de l'utilisateur, et transmet une première trame de donnée correspondant au résultat du chiffrement au terminal qui transmet cette première trame de donnée au serveur, le serveur réalisant un déchiffrement de la première trame de donnée puis un second chiffrement d'un ensemble de données combinant :the identification number of the user, and transmits a first data frame corresponding to the result of the encryption to the terminal which transmits this first data frame to the server, the server realizing a decryption of the first data frame and then a second encryption a dataset combining:
- la séquence aléatoire, et- the random sequence, and
- un numéro de session, et- a session number, and
- un numéro d'identification du serveur et transmettant une seconde trame de données correspondant au résultat de ce second chiffrement au terminal, le terminal transmettant cette seconde trame de donnée à l'élément matériel.- a server identification number and transmitting a second data frame corresponding to the result of this second encryption to the terminal, the terminal transmitting this second data frame to the hardware element.
Préférentiellement, deux paires de clefs privées et clefs publiques sont utilisées respectivement pour le chiffrement et le déchiffrement d'un premier et d'un second échange de données entre le serveur et l'élément matérielPreferably, two pairs of private keys and public keys are used respectively for the encryption and decryption of a first and a second data exchange between the server and the hardware element.
Avantageusement, plusieurs séquences aléatoires et/ou plusieurs numéros de session sont générés pour des échanges de données successifs pour l'identification d'un utilisateur.Advantageously, several random sequences and / or several session numbers are generated for successive data exchanges for the identification of a user.
Préférentiellement, la génération d'une séquence aléatoire prend en compte la survenue d'un événement aléatoire.Preferentially, the generation of a random sequence takes into account the occurrence of a random event.
Avantageusement, les événements aléatoires pris en compte lors de la génération de séquences aléatoires comprennent des interruptions signalant l'arrivée d'une nouvelle information à l'élément matériel en provenance du terminal.Advantageously, the random events taken into account during the generation of random sequences include interrupts signaling the arrival of new information to the hardware element from the terminal.
Préférentiellement, au moins une trame de donnée échangée entre l'élément matériel et le terminal comporte à la fois une séquence aléatoire générée par l'élément matériel et un numéro de session généré par le serveur. De toute façon, l'invention sera bien comprise à l'aide de la description qui suit, en référence au dessin schématique annexé représentant, à titre d'exemple non limitatif, une forme d'exécution du système selon l'invention.Preferably, at least one data frame exchanged between the hardware element and the terminal comprises both a random sequence generated by the hardware element and a session number generated by the server. In any case, the invention will be better understood with the aid of the description which follows, with reference to the appended schematic drawing showing, by way of non-limiting example, an embodiment of the system according to the invention.
La figure 1 est une représentation schématique d'un système selon l'invention.Figure 1 is a schematic representation of a system according to the invention.
La figure 2 est une représentation schématique d'un premier mode de mise en œuvre d'un procédé selon l'invention.Figure 2 is a schematic representation of a first embodiment of a method according to the invention.
La figure 3 est une représentation schématique d'un second mode de mise en œuvre d'un procédé selon l'invention. La figure 4 est une représentation schématique d'un troisième mode de mise en œuvre d'un procédé selon l'invention.Figure 3 is a schematic representation of a second embodiment of a method according to the invention. Figure 4 is a schematic representation of a third embodiment of a method according to the invention.
La figure 5 est une représentation schématique d'un quatrième mode de mise en œuvre d'un procédé selon l'invention.Figure 5 is a schematic representation of a fourth embodiment of a method according to the invention.
La figure 6 est un schéma explicatif du fonctionnement des moyens de génération d'une séquence aléatoire par un élément matériel compris selon une variante du système selon l'invention. Ainsi que représenté sur la figure 1 , un système d'information selon l'invention comprend:FIG. 6 is an explanatory diagram of the operation of the means for generating a random sequence by a hardware element included according to a variant of the system according to the invention. As represented in FIG. 1, an information system according to the invention comprises:
- un serveur d'application 2 comprenant des moyens de communication en réseau 3 permettant sa connexion à un réseau 4, et des moyens de stockage de données, par exemple constitués par une base de donnée 5,an application server 2 comprising network communication means 3 enabling it to connect to a network 4, and data storage means, for example constituted by a database 5,
- au moins un terminal 6 comprenant des moyens de communication en réseau 7 permettant sa connexion au réseau 4 destiné à être utilisé par un utilisateur. Le système comporte de plus un élément matériel 8 agencé pour être connecté au terminal, cet élément 8 étant en possession de l'utilisateur.at least one terminal 6 comprising network communication means 7 enabling it to be connected to the network 4 intended to be used by a user. The system further comprises a hardware element 8 arranged to be connected to the terminal, this element 8 being in the possession of the user.
L'élément matériel 8 peut prendre la forme d'une clef USB, d'une carte à puce ou d'un processeur pouvant être utilisé dans la réalisation d'un lecteur de codes à barres ou d'étiquettes électroniques par exemple. Cet élément matériel 8 comprend des moyens de stockage de donnée 9, et des moyens de traitement 10 agencé notamment pour réaliser des opérations de chiffrement de donnée à partir d'une clef privée secrète K1. Le terminal 6 peut par exemple être constitué par un ordinateur personnel de l'utilisateur qui dispose d'une connexion Internet lui permettant de se connecter au serveur d'application. Un logiciel client 12 est installé sur cet ordinateur qui contrôle les échanges entre l'élément matériel, l'ordinateur et le serveur.The hardware element 8 may take the form of a USB key, a smart card or a processor that can be used in the production of a barcode reader or electronic tags, for example. This hardware element 8 comprises data storage means 9, and processing means 10 arranged in particular for performing data encryption operations from a secret private key K1. The terminal 6 may for example be constituted by a personal computer of the user who has an Internet connection allowing him to connect to the application server. A client software 12 is installed on this computer which controls the exchanges between the hardware element, the computer and the server.
Avant de fournir l'élément matériel 8 à l'utilisateur, ou lors d'une opération d'initialisation de l'élément matériel 8, une clé privée K1 , un mot de passe num_MDP et un numéro d'identification numJD sont générés et enregistrés dans les moyens de stockage de l'élément matériel.Before supplying the hardware element 8 to the user, or during an initialization operation of the hardware element 8, a private key K1, a password num_MDP and an identification number numJD are generated and registered. in the storage means of the hardware element.
Le numéro d'identification numJD est un numéro qui sera apparent en clair lors de différentes opérations. Le mot de passe num_MDP est destiné à rester secret. L'équipement réalisant cette opération assure que la clef publique K2 correspondant à la clef privée K1 de l'utilisateur est mémorisée par le serveur 2.The identification number numJD is a number that will be visible in clear during different operations. The password num_MDP is intended to remain secret. The equipment performing this operation ensures that the public key K2 corresponding to the private key K1 of the user is stored by the server 2.
Le mot de passe num_MDP et le numéro d'identification doivent pouvoir être reconnus par le serveur 2. Pour cela, en utilisant une fonction de hachage à sens unique H, une empreinte numJHID, ou valeur de hachage de longueur fixe est calculée à partir du numéro d'identification concaténé avec le mot de passe : numJHID = H(num_ID ; num_MDP).The password MOP_num and the identification number must be able to be recognized by the server 2. For this, by using a one-way hash function H, a fingerprint numJHID, or hash value of fixed length is calculated from the concatenated identification number with the password: numJHID = H (num_ID; num_MDP).
La fonction de hachage H a pour propriété de rendre difficile le calcul de numJD et num_MDP à partir de l'empreinte. De plus, il est difficile de trouver un autre ensemble de donnée M' tel que num_HID=H(M'). La fonction de hachage est utilisée pour vérifier la validité du mot de passe sans avoir à le mémoriser.The hash function H has the property of making it difficult to calculate numJD and num_MDP from the fingerprint. Moreover, it is difficult to find another set of data M 'such that num_HID = H (M'). The hash function is used to check the validity of the password without having to memorize it.
Le serveur 2 mémorise le couple num_HID et numJD dans la base de données 5.The server 2 stores the pair num_HID and numJD in the database 5.
L'élément matériel 8 est fourni à l'utilisateur qui peut ensuite le connecter à un terminal 6 de son choix, équipé du logiciel client 12, pour se connecter au serveur 2.The hardware element 8 is provided to the user who can then connect it to a terminal 6 of his choice, equipped with the client software 12, to connect to the server 2.
Lors d'une connexion au serveur, le système d'information utilise un protocole de présentation de mots de passe qui respecte les étapes suivantes:When connected to the server, the information system uses a password presentation protocol that follows the following steps:
Dans une première étape E1 , L'élément matériel 8 transmet son numéro d'identification numJD au logiciel client 12 installé sur l'ordinateur 6 de l'utilisateur. Dans une seconde étape E2, le numéro d'identification numJD est transmis au serveur 2 dans une demande de numéro de session.In a first step E1, the hardware element 8 transmits its identification number numJD to the client software 12 installed on the computer 6 of the user. In a second step E2, the identification number numJD is transmitted to the server 2 in a request for a session number.
Dans une troisième étape E3, un numéro de session num_Sess est généré par le serveur 2. Le serveur 2 transmet ce numéro de session num_Sess à l'ordinateur 6 de l'utilisateur. Le serveur peut aussi mémoriser le numéro d'identification numJD de l'utilisateur pour lequel le numéro de session num_Sess a été généré.In a third step E3, a session number num_Sess is generated by the server 2. The server 2 transmits this session number num_Sess to the computer 6 of the user. The server can also store the identification number numJD of the user for whom the session number num_Sess was generated.
Dans une quatrième étape E4, l'ordinateur de l'utilisateur transmet le numéro de session num_Sess à l'élément matériel 8.In a fourth step E4, the user's computer transmits the session number num_Sess to the hardware element 8.
Dans une cinquième étape E5, les moyens de traitement 10 de l'élément matériel 8 concatènent le mot de passe num_MDP et le numéro de session num_Sess, puis réalisent un chiffrement E à l'aide de la clé privée K1 , pour obtenir un résultat C :In a fifth step E5, the processing means 10 of the hardware element 8 concatenate the password num_MDP and the session number num_Sess, then perform an encryption E using the private key K1, to obtain a result C :
EKi(num_MDP; num_Sess) = C et envoie le résultat C que nous appellerons un mot de passe C signé au logiciel client 12. Dans une sixième étape E6, le logiciel client 12 transmettra le mot de passe signé C à son tour au serveur 2.E K i (num_MDP; num_Sess) = C and sends the result C which we will call a password C signed to the client software 12. In a sixth step E6, the client software 12 will transmit the signed password C in turn to the server 2.
Une fois le protocole de présentation du mot de passe réalisé, le serveur 2 réalise un déchiffrement D du mot de passe signé C grâce à la clé publique K2 correspondant à la clé privée K1 de l'utilisateur, ce qui lui permet d'obtenir les valeurs du mot de passe num_MDP et du numéro de session num_Sess :Once the password presentation protocol has been realized, the server 2 realizes a decryption D of the signed password C by means of the public key K2 corresponding to the user's private key K1, which enables him to obtain the Password values num_MDP and session number num_Sess:
2(C)=num_MDP ; num_Sess2 (C) = num_MDP; num_Sess
Le serveur 2 compare ensuite le numéro de session num_Sess avec celui qu'il a transmis, puis il calcule et compare l'empreinte H(num_ID, num_MDP) de la concaténation de l'identifiant utilisateur numJD et du mot de passe num_MDP avec l'empreinte num_HID stockée dans la base de donnée 5 correspondant à l'identifiant numJD pour accepter ou refuser l'identification de l'utilisateur. Le procédé selon l'invention utilise donc le numéro de session num_Sess pour masquer le mot de passe num_MDP.The server 2 then compares the session number num_Sess with that which it has transmitted, then it calculates and compares the imprint H (num_ID, num_MDP) of the concatenation of the user identifier numJD and the password num_MDP with the imprint num_HID stored in the database 5 corresponding to the identifier numJD to accept or refuse the identification of the user. The method according to the invention therefore uses the session number num_Sess to hide the password num_MDP.
L'élément matériel 8 utilise un algorithme de cryptographie à clé privée K1 pour authentifier auprès du serveur d'application le mot de passe num_MDP qui correspond avec le numéro d'identification numJD attribué à un utilisateur.The hardware element 8 uses a private key cryptography algorithm K1 to authenticate with the application server the password num_MDP which corresponds with the identification number numJD assigned to a user.
Selon un second mode de mise en œuvre d'un procédé selon l'invention représenté sur la figure 3, II est également possible de réaliser un procédé dans lequel le serveur s'authentifie auprès de l'élément matériel afin d'obtenir le mot de passe. Le serveur chiffre le numéro de session que l'élément matériel utilisera pour masquer le mot de passe.According to a second embodiment of a method according to the invention shown in FIG. 3, it is also possible to carry out a method in which the server authenticates itself with the hardware element in order to obtain the word of past. The server encrypts the session number that the hardware element will use to hide the password.
Ainsi, dans une première étape E1 , une demande de connexion est initiée par l'utilisateur sur le terminal qui transmet cette demande au serveur.Thus, in a first step E1, a connection request is initiated by the user on the terminal which transmits this request to the server.
Dans une seconde étape E2, le serveur réalise un chiffrement de ce numéro de session num_Sess par la clef publique K2 de l'utilisateur en un numéro de session chiffré num_Sess_Sign : num_Sess_Sign=EK2(num_Sess).In a second step E2, the server encrypts this session number num_Sess by the public key K2 of the user in an encrypted session number num_Sess_Sign: num_Sess_Sign = E K 2 (num_Sess).
Le serveur transmet ce numéro de session chiffré num_Sess_Sign à l'ordinateur de l'utilisateur.The server transmits this encrypted session number num_Sess_Sign to the user's computer.
Dans une troisième étape E3, l'ordinateur de l'utilisateur transmet le numéro de session chiffré num_Sess_Sign à l'élément matériel. Dans une quatrième étape E4, L'élément matériel réalise un déchiffrement D du numéro de session chiffré num_Sess_Sign pour obtenir le numéro de session num_Sess grâce à sa clef privée K1 : num_Sess=DKi(num_Sess_Sign) Ensuite, les moyens de traitement de l'élément matériel signent le mot de passe à partir du numéro de session num_Sess, puis réalise un chiffrement E à l'aide de sa clé privée K1 , pour obtenir un résultat C :In a third step E3, the user's computer transmits the encrypted session number num_Sess_Sign to the hardware element. In a fourth step E4, the hardware element performs a decryption D of the encrypted session number num_Sess_Sign to obtain the session number num_Sess thanks to its private key K1: num_Sess = D K i (num_Sess_Sign) Then, the processing means of the the hardware element sign the password from the session number num_Sess, then perform an encryption E using its private key K1, to obtain a result C:
EKi(num_MDP; num_Sess) = C et envoie le résultat C qui correspond à un mot de passe signé au logiciel client, accompagné du numéro d'identification numJD.E K i (num_MDP; num_Sess) = C and sends the result C which corresponds to a signed password to the client software, accompanied by the identification number numJD.
Dans une cinquième étape E5, le logiciel client 12 transmet le mot de passe signé C ainsi que le numéro d'identification numJD au serveur 2.In a fifth step E5, the client software 12 transmits the signed password C and the identification number numJD to the server 2.
Le serveur réalise ensuite les opérations de déchiffrement et de comparaison avec l'empreinte stockée comme dans le premier mode de réalisation. Ces dernières opérations ne sont pas représentées sur la figure 3.The server then performs the decryption and comparison operations with the stored fingerprint as in the first embodiment. These latter operations are not shown in FIG.
Il est à noter que la clef publique K2 reste secrète. La clef privée K1 est utilisée pour transmettre la réponse au serveur.It should be noted that the public key K2 remains secret. The private key K1 is used to transmit the response to the server.
Par rapport au premier mode de mise en œuvre, il est à noter que l'ordre de transmission du numéro d'identification et du numéro de session est inversé.Compared to the first embodiment, it should be noted that the order of transmission of the identification number and the session number is reversed.
Selon une variante de réalisation du système représenté sur la figure 1 , l'élément matériel 8 comprend des moyens de génération d'une séquence aléatoire ou d'un nombre aléatoire Num_Alea.According to an alternative embodiment of the system shown in FIG. 1, the hardware element 8 comprises means for generating a random sequence or a random number Num_Alea.
L'élément matériel stocke de plus deux clefs privées distinctes Ks1 et Ks2.The hardware element also stores two separate private keys Ks1 and Ks2.
Le fonctionnement des moyens de génération 13 sont illustrés sur la figure 6.The operation of the generating means 13 is illustrated in FIG. 6.
La séquence aléatoire Num_Alea est générée en prenant en compte la survenue d'un événement aléatoire. En particulier, de tels événements aléatoires peuvent être constitués par des interruptions Int signalant l'arrivée d'une nouvelle information à l'élément matériel 8 en provenance du terminal 6.The random sequence Num_Alea is generated taking into account the occurrence of a random event. In particular, such random events may consist of interrupts Int signaling the arrival of new information to the hardware element 8 from the terminal 6.
A titre d'exemple, dans le cas de la réalisation de l'élément matériel sous forme d'une clef USB, une telle interruption est une interruption dans le protocole USB utilisé entre le terminal et la clef. La suite de ces événements dans le temps dépend des échanges entre deux entités matérielles, à savoir l'élément matériel 8 et le terminal 6 via un médium de communication régi par un protocole logiciel soumis à des contraintes physiques directement liés aux composants qui constituent ces entités.By way of example, in the case of producing the hardware element in the form of a USB key, such an interruption is an interruption in the USB protocol used between the terminal and the key. The sequence of these events over time depends on the exchanges between two hardware entities, namely the hardware element 8 and the terminal 6 via a communication medium governed by a software protocol subject to physical constraints directly related to the components that make up these entities. .
L'interaction entre ces éléments constitue un contexte qu'il est difficile de reproduire, ce qui rend impossible la déduction de la suite des événements Int.The interaction between these elements constitutes a context that is difficult to reproduce, which makes it impossible to deduce the sequence of events Int.
Un exemple de détermination de la séquence aléatoire Num_Alea à partir des événements Int est maintenant décrit. L'élément matériel 8 est programmé pour incrémenter un compteur Ctr au rythme de la fréquence de son microprocesseur à partir du moment où cet élément est mis sous tension.An example of determining the Num_Alea random sequence from the Int events is now described. The hardware element 8 is programmed to increment a counter Ctr at the rate of the frequency of its microprocessor from the moment this element is powered up.
Ce compteur Ctr est stocké sur un nombre fini de bits, par exemple 16 bits, ce qui implique qu'il est cyclique et qu'il reviendra à son état initial. A chaque réception d'une interruption Int, les moyens de traitement 9 de l'élément matériel 8 sont agencés pour consulter la valeur courant du compteur Ctr.This counter Ctr is stored on a finite number of bits, for example 16 bits, which implies that it is cyclic and that it will return to its initial state. At each reception of an interrupt Int, the processing means 9 of the hardware element 8 are arranged to consult the current value of the counter Ctr.
Une opération, par exemple du type Xor est ensuite réalisée entre la valeur du compteur Ctr et une valeur extraite d'un tableau de valeur Tab contenant un ensemble de données de taille supérieure à celle du compteur.An operation, for example of the type Xor, is then performed between the value of the counter Ctr and a value extracted from a table of value Tab containing a data set of size greater than that of the counter.
Un événement Int est utilisé pour modifier la valeur du pointeur indiquant où est extraite la valeur dans le tableau Tab.An Int event is used to change the value of the pointer indicating where the value is extracted from the Tab array.
Les données enregistrées initialement dans le Tableau Tab sont gardées secrètes. A partir du résultat de l'opération entre la valeur du compteur et la valeur extraite du tableau est déduite une valeur sur un bit, par exemple par une extraction ou l'application d'une fonction déterminée.The data initially recorded in the Tab Table are kept secret. From the result of the operation between the value of the counter and the value extracted from the table is deduced a value on a bit, for example by an extraction or the application of a specific function.
La suite des bits ainsi obtenue rS constitue une suite aléatoire dont est conservée un nombre défini d'éléments de façon glissante et pour constituer un nombre aléatoire ou séquence aléatoire Num_Alea.The sequence of bits thus obtained rS constitutes a random sequence of which is conserved a definite number of elements in a sliding way and to constitute a random number or random sequence Num_Alea.
Selon une variante, la survenue d'un événement aléatoire est combinée avec une valeur mesurée d'un phénomène physique complexe afin de renforcer la sécurité du système.Alternatively, the occurrence of a random event is combined with a measured value of a complex physical phenomenon to enhance the security of the system.
Selon un troisième mode de mise en œuvre du procédé selon l'invention, représenté sur la figure 4, qui correspond à un perfectionnement du premier mode de mise en œuvre, la variante de réalisation du système comprenant les moyens de génération d'une séquence aléatoire Num_Alea est utilisée. Il est à noter que nous noterons ici le numéro d'identification de l'utilisateur Numjdllser et non plus numJD pour le différencier d'un identifiant du serveur 2 utilisé également dans ce mode de mise en œuvre du procédé. Dans une étape préliminaire EO, une initialisation d'un échange de donnée est demandée par l'utilisateur par l'intermédiaire du terminal 6, par l'envoi d'une trame de donnée Trame_0.According to a third embodiment of the method according to the invention, represented in FIG. 4, which corresponds to an improvement of the first mode of implementation, the variant embodiment of the system including means for generating a random sequence Num_Alea is used. It should be noted that we will note here the identification number of the user Numjdllser and no longer numJD to differentiate it from an identifier of the server 2 also used in this mode of implementation of the method. In a preliminary step EO, an initialization of a data exchange is requested by the user via the terminal 6, by sending a frame of data Trame_0.
Dans une première étape E1 , une première phase de génération d'une séquence aléatoire Gen_1 est réalisée par l'élément matériel 8 qui permet la détermination d'une séquence aléatoire Num_Alea.In a first step E1, a first generation phase of a random sequence Gen_1 is performed by the hardware element 8 which allows the determination of a random sequence Num_Alea.
Ensuite, les moyens de traitement de l'élément matériel 8 signent l'identifiant de l'utilisateur Numjdllser à partir de la séquence aléatoire Num_Alea, concatènent le résultat de cette signature avec la séquence aléatoire Num_Alea puis réalisent un chiffrement C à l'aide de sa première clé privée Ks1 , pour obtenir une trame de donnée Trame_1 , ce qui peut être représenté par la formule ci-dessous, dans laquelle le signe + représente une concaténation et le signe Λ une opération de type Xor :Then, the processing means of the hardware element 8 sign the identifier of the user Numjdllser from the random sequence Num_Alea, concatenate the result of this signature with the random sequence Num_Alea then perform a C encryption with the help of its first private key Ks1, to obtain a frame of data Trame_1, which can be represented by the formula below, in which the sign + represents a concatenation and the sign Λ an operation of type Xor:
Trame_1 = Cκsi(Num_Alea + Num_AleaΛNum_ldllser)Trame_1 = Cκ s i (Num_Alea + Num_Alea Λ Num_ldllser)
La trame Trame_1 est envoyée au logiciel client. Dans une seconde étape E2, la trame Trame_1 est transmise au serveur 2 dans une demande de numéro de session.The frame Trame_1 is sent to the client software. In a second step E2, the frame Trame_1 is transmitted to the server 2 in a request for a session number.
Dans une troisième étape E3, le serveur 2 réalise un déchiffrement D de la trame Trame_1 grâce à une première clé publique Ks2 correspondant à la clé privée Ks1 de l'utilisateur, ce qui lui permet d'obtenir les valeurs de l'identifiant de l'utilisateur Numjdllser et de la séquence aléatoireIn a third step E3, the server 2 realizes a decryption D of the frame Trame_1 thanks to a first public key Ks2 corresponding to the private key Ks1 of the user, which enables him to obtain the values of the identifier of the user. Numjdllser user and random sequence
Num_Alea.Num_Alea.
Un test peut ensuite être effectué sur l'identifiant de l'utilisateur.A test can then be performed on the user's identifier.
Le serveur 2 réalise par ailleurs une génération Gen_2 d'un numéro de session Num_Sess. Le serveur 2 réalise ensuite une signature de la séquence aléatoire Num_Alea et d'un identifiant du serveur NumJdServer par le numéro de Session Num_Sess, puis un chiffrement de ces deux résultats de signatures concaténées par une seconde clef publique Ku2, pour obtenir une trame de donnée Trame_2 : Trame_2=Cκu2(Num_AleaΛNum_Sess+Num_SessΛNum_ldServer)The server 2 also generates a Gen_2 generation of a Num_Sess session number. The server 2 then realizes a signature of the random sequence Num_Alea and an identifier of the NumJdServer server by the Session Number Num_Sess, then an encryption of these two signature results concatenated by a second public key Ku2, to obtain a data frame. Trame_2: Trame_2 = Cκ u2 (Num_Alea Λ Num_Sess + Num_Sess Λ Num_ldServer)
La trame Trame_2 est ensuite envoyée au logiciel client 12. Dans une quatrième étape E4, l'ordinateur de l'utilisateur transmet la trame Trame_2 à l'élément matériel 8.The frame Trame_2 is then sent to the client software 12. In a fourth step E4, the user's computer transmits the frame Trame_2 to the hardware element 8.
Dans une cinquième étape E5, les moyens de traitement 10 de l'élément matériel 8 réalisent un déchiffrement D de la trame Trame_2 grâce à une seconde clé privée Ku1 correspondant à la clé publique Ku2 du serveur, ce qui lui permet d'obtenir les valeurs de l'identifiant du serveur NumJdServer et du numéro de session Num_Sess et une valeur retournée par le serveur de la séquence aléatoire Num_Alea.In a fifth step E5, the processing means 10 of the hardware element 8 perform a decryption D of the frame Trame_2 by means of a second private key Ku1 corresponding to the public key Ku2 of the server, which enables it to obtain the values the NumJdServer server identifier and the Num_Sess session number and a value returned by the server of the Num_Alea random sequence.
Un test peut ensuite être effectué sur l'identifiant du serveur 2 en vérifiant également que la séquence aléatoire Num_Alea retournée par le serveur correspond à celle envoyée.A test can then be performed on the identifier of the server 2 while also verifying that the random sequence Num_Alea returned by the server corresponds to that sent.
Les moyens de traitement de l'élément matériel 8 réalisent ensuite une signature de l'identifiant de l'utilisateur Numjdllser et du mot de passe Num_MDP par le numéro de Session Num_Sess, puis un chiffrement de ces deux résultats de signatures concaténées par la seconde clef privée Ku1 , pour obtenir une trame de donnée Trame_3 :The processing means of the hardware element 8 then perform a signature of the identifier of the user Numjdllser and the password Num_MDP by the Session Number Num_Sess, then an encryption of these two signature results concatenated by the second key. private Ku1, to obtain a frame of data Trame_3:
Trame_3=CKui(Num_SessΛNum_ldUser+Num_SessΛNum_MdP)Trame_3 = C Ku i (Num_Sess Λ Num_ldUser + Num_Sess Λ Num_MdP)
La trame Trame_3 est ensuite envoyée au logiciel client 12.The frame Trame_3 is then sent to the client software 12.
Dans une sixième étape E6, le logiciel client 12 transmet la trame Trame_3 à son tour au serveur 2.In a sixth step E6, the client software 12 transmits the frame Trame_3 in turn to the server 2.
Une fois le protocole de présentation du mot de passe réalisé, le serveur 2 réalise un déchiffrement D de la trame Trame_3 grâce à la clé publique Ku2 correspondant à la clé privée Ku1 de l'utilisateur, ce qui lui permet d'obtenir les valeurs du mot de passe Num_MDP et du numéro de session num_Sess, ainsi que de l'identifiant de l'utilisateur NumJdUser.Once the password presentation protocol has been realized, the server 2 realizes a decryption D of the frame Trame_3 thanks to the public key Ku2 corresponding to the private key Ku1 of the user, which enables him to obtain the values of the password Num_MDP and session number num_Sess, as well as the user ID NumJdUser.
Le serveur 2 compare ensuite le numéro de session num_Sess avec celui qu'il a transmis, puis il effectue des tests sur l'identifiant NumJdUser et le mot de passe Num_MDP pour accepter ou refuser l'identification de l'utilisateur. Si l'identification est acceptée, le service demandé peut ensuite être fourni par le serveur dans une septième étape E7.The server 2 then compares the session number num_Sess with that which it has transmitted, then it carries out tests on the identifier NumJdUser and the password Num_MDP to accept or refuse the identification of the user. If the identification is accepted, the requested service can then be provided by the server in a seventh step E7.
Le système réalise ainsi une authentification mutuelle du serveur et de l'utilisateur avant de transmettre les données critiques. Ce système a été conçu afin de répondre aux problèmes actuels auxquels sont confrontés les utilisateurs d'Internet. Ainsi l'élément matériel 8 a la capacité de déterminer à quel destinataire le mot de passe est envoyé. Pour cela, l'élément matériel 8 lance un défi au serveur, afin de déterminer si elle est connectée à un serveur déterminé. L'élément matériel 8 peut par la suite avertir l'utilisateur, par exemple par l'intermédiaire d'une diode, si celui-ci est connecté à un serveur qui a usurpé l'identité du site. Ces dispositions sont améliorées par l'utilisation de moyens de génération de nombres ou séquences aléatoires dans l'élément matériel 8.The system thus performs mutual authentication of the server and the user before transmitting the critical data. This system has been designed to address the current problems facing Internet users. Thus the hardware element 8 has the ability to determine to which recipient the password is sent. For this, the hardware element 8 challenges the server to determine if it is connected to a specific server. The hardware element 8 can subsequently warn the user, for example by means of a diode, if it is connected to a server that has impersonated the site. These arrangements are improved by the use of means for generating numbers or random sequences in the hardware element 8.
Sans génération aléatoire dans l'élément matériel 8, il est possible d'envoyer des messages à la clef dans le but d'obtenir des informations susceptibles de compromettre la sécurité des clefs secrètes ou privées enregistrées dans cet élément matériel 8.Without random generation in the hardware element 8, it is possible to send messages to the key in order to obtain information that could compromise the security of the secret or private keys recorded in this hardware element 8.
Un élément « pirate » tentant de rejouer une trame Trame_1 , devra être capable de répondre au défi du serveur sans pouvoir se servir de l'élément matériel 8.A "hacker" element attempting to replay a frame_1, will have to be able to answer the challenge of the server without being able to use the material element 8.
La trame Trame_2 inclut l'utilisation du numéro aléatoire généré par l'élément matériel 8 qui permet de vérifier l'identité du serveur et ainsi d'accepter de répondre à celui-ci.The frame Trame_2 includes the use of the random number generated by the hardware element 8 which makes it possible to verify the identity of the server and thus to accept to answer it.
Le procédé peut être mis en œuvre de façon à se dérouler entièrement avant de prévenir l'utilisateur de son authentification ou non. En cas de réception d'une trame erronée, le système répondra par une fausse trame qui fera l'objet du même traitement jusqu'à ce que le protocole soit fini. Ceci dans le but de donner le minimum d'éléments à un élément « pirate » pour compromettre la sécurité du système.The method can be implemented so as to take place entirely before informing the user of his authentication or not. In case of reception of an erroneous frame, the system will respond with a false frame which will be the subject of the same treatment until the protocol is finished. This in order to give the minimum elements to a "hacker" element to compromise the security of the system.
Le lien entre le numéro qui identifie l'utilisateur NumJdUser et son identité est réalisé au niveau du serveur. Ainsi il n'est pas nécessaire de transmettre un élément critique comme le numéro de carte bleue de l'utilisateur pour pouvoir utiliser le système.The link between the number that identifies the NumJdUser user and its identity is made at the server level. Thus it is not necessary to transmit a critical element such as the blue card number of the user to use the system.
Selon un quatrième mode de mise en œuvre du procédé selon l'invention, représenté sur la figure 5, qui correspond à un perfectionnement du second mode de mise en œuvre, la variante de réalisation du système comprenant les moyens de génération d'une séquence aléatoire Num_Alea est utilisée.According to a fourth mode of implementation of the method according to the invention, represented in FIG. 5, which corresponds to an improvement of the second mode of implementation, the variant embodiment of the system comprising the means of generating a random sequence Num_Alea is used.
Dans une étape préliminaire EO, une initialisation d'un échange de donnée est demandée par l'utilisateur par l'intermédiaire du terminal 6, par l'envoi d'une trame de donnée Trame_0 au serveur 2. Dans une première étape E1 , Le serveur 2 réalise une génération Gen_2 d'un premier numéro de session Num_Sess1 . Le serveur 2 réalise ensuite une signature de l'identifiant du serveur NumJdServer par le premier numéro de Session Num_Sess1 , puis une concaténation du l'identifiant du serveur avec le résultat de la signature, et un chiffrement de ces données concaténées par une première clef publique Ks2, pour obtenir une trame de donnée Trame_1 :In a preliminary step EO, an initialization of a data exchange is requested by the user via the terminal 6, by sending a frame of data Trame_0 to the server 2. In a first step E1, the server 2 realizes a Gen_2 generation of a first session number Num_Sess1. The server 2 then realizes a signature of the identifier of the NumJdServer server by the first Session Number Num_Sess1, then a concatenation of the identifier of the server with the result of the signature, and an encryption of these data concatenated by a first public key Ks2, to obtain a frame of data Trame_1:
Trame_1 =CκS2(Num_Sess1 +Num_Sess1 ΛNum_ldServer)Trame_1 = CK S2 (Num_Sess1 + Num_Sess1 Λ Num_ldServer)
La trame Trame_1 est ensuite envoyée au logiciel client 12.The frame Trame_1 is then sent to the client software 12.
Dans une seconde étape E2, l'ordinateur de l'utilisateur transmet la trame Trame_1 à l'élément matériel 8. Dans une troisième étape E3, les moyens de traitement 10 de l'élément matériel 8 réalisent un déchiffrement D de la trame Trame_1 grâce à une première clé privée Ks1 correspondant à la clé publique Ks2 du serveur, ce qui lui permet d'obtenir les valeurs de l'identifiant du serveur NumJdServer et du premier numéro de session Num_Sess1 . Un test peut ensuite être effectué sur l'identifiant du serveur 2.In a second step E2, the user's computer transmits the frame Trame_1 to the hardware element 8. In a third step E3, the processing means 10 of the hardware element 8 perform a decryption D of the frame Trame_1 through to a first private key Ks1 corresponding to the public key Ks2 of the server, which allows it to obtain the values of the identifier of the NumJdServer server and the first session number Num_Sess1. A test can then be performed on the identifier of the server 2.
Les moyens de traitement 10 de l'élément matériel 8 réalisent une phase de génération d'une séquence aléatoire Gen_1 qui permet la détermination d'une séquence aléatoire Num_Alea.The processing means 10 of the hardware element 8 perform a generation phase of a random sequence Gen_1 which allows the determination of a random sequence Num_Alea.
Ensuite, les moyens de traitement de l'élément matériel 8 signent le premier numéro de session Num_Sess1 par la séquence aléatoire Num_Alea et l'identifiant de l'utilisateur NumJdUser par la séquence aléatoire Num_Alea, puis concatènent le résultat de ces deux signatures, puis réalisent un chiffrement C à l'aide de sa première clé privée Ks1 , pour obtenir une trame de donnée Trame_2 : Trame_2=CKsi(Num_Sess1 ΛNum_Alea + Num_AleaΛNum_ldUser)Then, the processing means of the hardware element 8 sign the first session number Num_Sess1 by the random sequence Num_Alea and the identifier of the user NumJdUser by the random sequence Num_Alea, then concatenate the result of these two signatures, then realize an encryption C with the aid of its first private key Ks1, to obtain a frame of data Trame_2: Trame_2 = C K if (Num_Sess1 Λ Num_Alea + Num_Alea Λ Num_ldUser)
La trame Trame_2 est envoyée au logiciel client.The frame Trame_2 is sent to the client software.
Dans une quatrième étape E4, la trame Trame_2 est transmise au serveur 2.In a fourth step E4, the frame Trame_2 is transmitted to the server 2.
Dans une cinquième étape E5, le serveur 2 réalise un déchiffrement D de la trame Trame_2 grâce à la première clé publique Ks2 correspondant à la clé privée Ks1 de l'utilisateur, ce qui lui permet d'obtenir les valeurs de l'identifiant de l'utilisateur NumJdUser et de la séquence aléatoireIn a fifth step E5, the server 2 realizes a decryption D of the frame Trame_2 thanks to the first public key Ks2 corresponding to the private key Ks1 of the user, which enables him to obtain the values of the identifier of the user. NumJdUser user and random sequence
Num_Alea.Num_Alea.
Un test peut ensuite être effectué sur l'identifiant de l'utilisateur. Le serveur 2 réalise par ailleurs une génération Gen_2 d'un second numéro de session Num Sess2. Le serveur 2 réalise ensuite une signature de la séquence aléatoire Num_Alea et d'un identifiant du serveur NumJdServer par le second numéro de Session Num_Sess2, puis un chiffrement de ces deux résultats de signatures concaténées par une seconde clef publique Ku2, pour obtenir une trame de donnée Trame_3 :A test can then be performed on the user's identifier. The server 2 also carries out a Gen_2 generation of a second Num Sess2 session number. The server 2 then realizes a signature of the random sequence Num_Alea and an identifier of the NumJdServer server by the second Session Number Num_Sess2, then an encryption of these two signature results concatenated by a second public key Ku2, to obtain a frame of data Trame_3:
Trame_3=Cκu2(Num_AleaΛNum_Sess2+Num_Sess2ΛNum_ldServ er)Trame_3 = Cκ u2 (Num_Alea Λ Num_Sess2 + Num_Sess2 Λ Num_ldServe)
La trame Trame_3 est ensuite envoyée au logiciel client 12.The frame Trame_3 is then sent to the client software 12.
Dans une sixième étape E6, l'ordinateur de l'utilisateur transmet la trame Trame_3 à l'élément matériel 8.In a sixth step E6, the user's computer transmits the frame Trame_3 to the hardware element 8.
Dans une septième étape E7, les moyens de traitement 10 de l'élément matériel 8 réalisent un déchiffrement D de la trame Trame_3 grâce à une seconde clé privée Ku1 correspondant à la clé publique Ku2 du serveur, ce qui lui permet d'obtenir les valeurs de l'identifiant du serveur NumJdServer et du second numéro de session Num_Sess2 et une valeur retournée par le serveur de la séquence aléatoire Num_Alea.In a seventh step E7, the processing means 10 of the hardware element 8 perform a decryption D of the frame Trame_3 by virtue of a second private key Ku1 corresponding to the public key Ku2 of the server, which enables it to obtain the values the identifier of the NumJdServer server and the second session number Num_Sess2 and a value returned by the server of the random sequence Num_Alea.
Un test peut ensuite être effectué sur l'identifiant du serveur 2 en vérifiant également que la séquence aléatoire Num_Alea retournée par le serveur correspond à celle envoyée. Les moyens de traitement de l'élément matériel 8 réalisent ensuite une signature de l'identifiant de l'utilisateur Num_ldUser par le premier numéro de Session Num_Sess1 et du mot de passe Num_MDP par le second numéro de Session Num_Sess2, puis un chiffrement de ces deux résultats de signatures concaténées par la seconde clef privée Ku1 , pour obtenir une trame de donnée Trame_4 :A test can then be performed on the identifier of the server 2 while also verifying that the random sequence Num_Alea returned by the server corresponds to that sent. The processing means of the hardware element 8 then perform a signature of the identifier of the user Num_ldUser by the first Session Number Num_Sess1 and the password Num_MDP by the second Session Number Num_Sess2, then an encryption of these two. concatenated signature results by the second private key Ku1, to obtain a frame of data Trame_4:
Trame_4=Cκui(Num_Sess1 ΛNum_ldUser+Num_Sess2ΛNum_MdP)Trame_4 = Cκui (Num_Sess1 Λ Num_ldUser + Num_Sess2 Λ Num_MdP)
La trame Trame_4 est ensuite envoyée au logiciel client 12.The frame Trame_4 is then sent to the client software 12.
Dans une huitième étape E8, le logiciel client 12 transmet la trame Trame_4 à son tour au serveur 2. Une fois le protocole de présentation du mot de passe réalisé, le serveur 2 réalise un déchiffrement D de la trame Trame_4 grâce à la clé publique Ku2 correspondant à la clé privée Ku1 de l'utilisateur, ce qui lui permet d'obtenir les valeurs du mot de passe Num_MDP et des numéros de session Num_Sess1 et Num_Sess2, ainsi que de l'identifiant de l'utilisateur Num IdUser. Le serveur 2 compare ensuite les numéros de session Num_Sess1 et Num_Sess2 avec ceux qu'il a transmis, puis il effectue des tests sur l'identifiant Numjdllser et le mot de passe Num_MDP pour accepter ou refuser l'identification de l'utilisateur. Si l'identification est acceptée, le service demandé peut ensuite être fourni par le serveur dans une neuvième étape non représentée.In an eighth step E8, the client software 12 transmits the frame Trame_4 in turn to the server 2. Once the password presentation protocol has been realized, the server 2 realizes a decryption D of the frame Trame_4 by means of the public key Ku2 corresponding to the user's private key Ku1, which enables him to obtain the values of the password Num_MDP and session numbers Num_Sess1 and Num_Sess2, as well as the identifier of the user Num IdUser. The server 2 then compares the session numbers Num_Sess1 and Num_Sess2 with those it has transmitted, then it performs tests on the identifier Numjdllser and the password Num_MDP to accept or refuse the identification of the user. If the identification is accepted, the requested service can then be provided by the server in a ninth step not shown.
Il est à noter qu'il est possible de réaliser des échanges comprenant de multiples générations de séquences aléatoires ou de numéro de session afin de sécuriser encore le système. Dans ces conditions, la définition des trames pourrait être réalisée de la façon suivante :It should be noted that it is possible to carry out exchanges comprising multiple generations of random sequences or session number in order to further secure the system. Under these conditions, the definition of the frames could be carried out as follows:
Trame_1 = Cκsi[Num_Alea_1 +Num_Alea_1ΛNum_ldllser] Trame_2 = CKu2[Num_Alea_1ΛNum_Sess_1+Num_Sess_1ΛNum_ldServer] Trame_3 = CKui [Num_Sess_1ΛNum_Alea_2+Num_Alea_2ΛNum_ldUser]Trame_1 = Cκ s i [Num_Alea_1 + Num_Alea_1 Λ Num_ldllser] Trame_2 = C Ku2 [Num_Alea_1 Λ Num_Sess_1 + Num_Sess_1 Λ Num_ldServer] Trame_3 = C Ku i [Num_Sess_1 Λ Num_Alea_2 + Num_Alea_2 Λ Num_ldUser]
Trame_2n = Cκu2"[Num_Alea_nΛNum_Sess_n+Num_Sess_nΛNum_ldServer] Trame_2n+1 = Cκui"[Num_Sess_nΛNum_Alea_n+1 +Num_Alea_n+1ΛNum_ IdUser]Trame_2n = Cκ u2 "[Num_Alea_n Λ Num_Sess_n + Num_Sess_n Λ Num_ldServer] Trame_2n + 1 = Cκ u i" [Num_Sess_n Λ Num_Alea_n + 1 + Num_Alea_n + 1 Λ Num_ IdUser]
Trame_2f = CKU2-[Num_ Alea_fΛNum_Sess_f+Num_Sess_fΛNum_ IdServer]Trame_2f = C KU2 - [Num_Alea_f Λ Num_Sess_f + Num_Sess_f Λ Num_IDServer]
Trame_finale(2f+1 ) = CKur [Num_Sess_fΛNum_ldUser*+Num_Sess_fΛNum_MdP]Final_frame (2f + 1) = C Ku r [Num_Sess_f Λ Num_ldUser * + Num_Sess_f Λ Num_MdP]
La définition des trames pourrait également être réalisée de cette autre façon :The definition of the frames could also be done in this other way:
Trame_1 = CKs2[Num_Sess_1 +Num_Sess_1ΛNum_ldServer] Trame_2 = CKsi[Num_Sess_1ΛNum_Alea_1 +Num_Alea_1ΛNumJdUser] Trame_3 = CKu2'[Num_Alea_1ΛNum_Sess_2+Num_Sess_2ΛNumJdServer] Trame_4 = CKui [Num_Sess_2ΛNum_Alea_2+Num_alea_2ΛNum_ldUser] ...Scale_1 = C Ks2 [Scs_Sess_1 + Scs_Sess_1 Λ Sc_ldServer] Scale_2 = C Ks i [Scs_Sess_1 Λ Num_Alea_1 + Sc_Alea_1 Λ NumJdUser] Scale_3 = C Ku2 '[Num_Alea_1 Λ Num_Sess_2 + Num_Sess_2 Λ NumJdServer] Scale_4 = C Ku i [Num_Sess_2 Λ Num_Alea_2 + Num_alea_2 Λ Num_ldUser] ...
Trame_2n-1 = CκU2"[Num_ Alea_n-1ΛNum_Sess_n+Num_Sess_nΛNum_ldServer] Trame_2n = Cκui"[Num_Sess_nΛNum_Alea_n+1 +Num_alea_n+1ΛNum_ldUser]Trame_2n-1 = Cκ U2 "[Num_Alea_n-1 Λ Num_Sess_n + Num_Sess_n Λ Num_ldServer] Trame_2n = Cκ u i" [Num_Sess_n Λ Num_Alea_n + 1 + Num_alea_n + 1 Λ Num_ldUser]
Trame_2f-1 = CKU2-[Num_ Alea_f-1ΛNum_ Sess_f+Num_Sess_fΛNum_ IdServer] Trame_finale(2f) = CKur"[Num_Sess_fΛNumJdUser*+Num_Sess_fΛNum_MdP] Selon des variantes, le numéro de session num_Sess peut être le résultat d'une fonction, une date ou la combinaison des deux. Cette combinaison peut être vérifiée par l'élément matériel avant la présentation d'un mot de passe. L'élément matériel peut demander au serveur d'application de prouver son identité de la même manière.Trame_2f-1 = C KU2 - [Num_Alea_f-1 Λ Num_Sess_f + Num_Sess_f Λ Num_IDServer] Final_frame (2f) = C K ur "[Num_Sess_f Λ NumDdUser * + Num_Sess_f Λ Num_MdP] According to variants, the session number num_Sess can be the result of a function, a date or a combination of both. This combination can be verified by the hardware element before the presentation of a password. The hardware element can ask the application server to prove its identity in the same way.
Selon une autre variante, le mot de passe num_MDP peut être demandé par le logiciel client 12 à l'utilisateur pour être signé et transmis au serveur 2.According to another variant, the password num_MDP can be requested by the client software 12 to the user to be signed and transmitted to the server 2.
Selon une autre variante, un nombre aléatoire peut être ajouté dans le calcul du mot de passe signé afin de parer les attaques exhaustives (par salage). Ce nombre aléatoire peut être calculé en faisant opérer une fonction à sens unique sur un nombre. Le résultat de cette opération étant par la suite utilisé pour le calcul du nombre aléatoire suivant, la fonction à sens unique est ainsi utilisée de façon récursive. Selon une autre variante, la combinaison du mot de passe et du numéro de session dans l'élément matériel peut être réalisée non pas par concaténation, mais par exemple par ajout bit à bit. Le serveur, qui connaît par ailleurs le numéro de session, peut soustraire celui à la combinaison pour en déduire le mot de passe. Selon une autre variante, le mot de passe de l'utilisateur n'est pas stocké dans l'élément matériel, mais saisi par l'utilisateur par l'intermédiaire de moyens de saisie du terminal.According to another variant, a random number can be added in the calculation of the signed password in order to counter the exhaustive attacks (by salting). This random number can be calculated by operating a one-way function on a number. The result of this operation being subsequently used for calculating the next random number, the one-way function is thus used recursively. According to another variant, the combination of the password and the session number in the hardware element can be achieved not by concatenation, but for example by bitwise addition. The server, which also knows the session number, can subtract the one from the combination to deduce the password. According to another variant, the password of the user is not stored in the hardware element, but entered by the user via input means of the terminal.
Le système et le procédé selon l'invention peuvent notamment être appliqués pour éviter les usurpations d'identité d'un site Internet ou d'un service, cette usurpation ayant pour but d'obtenir des données d'identification confidentielle d'un utilisateur. Ces usurpations correspondent notamment aux pratiques connues sous le nom de phishing ou pharming.The system and the method according to the invention may in particular be applied to avoid impersonation of a website or a service, the purpose of this usurpation is to obtain confidential identification data of a user. These usurpations correspond in particular to practices known as phishing or pharming.
Une autre application est la lutte contre les validations d'achats frauduleuses par des numéros d'identification de carte bancaire sans saisie du code confidentiel, par une personne autre que le titulaire de la carte.Another application is the fight against validations of fraudulent purchases by credit card identification numbers without entering the PIN, by a person other than the card holder.
Comme il va de soi, l'invention ne se limite pas à la seule forme d'exécution du système, décrite ci-dessus à titre d'exemple, mais elle embrasse au contraire toutes les variantes. It goes without saying that the invention is not limited to the sole embodiment of the system, described above as an example, but embraces all variants.

Claims

REVENDICATIONS
1. Système d'information comprenant :1. Information system comprising:
- un serveur informatique (2) comprenant des moyens de communication en réseau (3),a computer server (2) comprising network communication means (3),
- au moins un terminal (6) comprenant des moyens de communication en réseau (7), le terminal (6) étant destiné à être utilisé par un utilisateur pour réaliser une connexion au serveur (2) caractérisé en ce que le système comporte de plus un élément matériel (8) agencé pour être connecté au terminal (6), l'élément matériel comprenant des moyens de stockage de donnée (9) agencés pour mémoriser une clef de chiffrement (K1 ) et un numéro d'identification (numJD), en ce que le serveur (2) est agencé pour générer un numéro de session unique (num_Sess) au cours d'une session de connexion entre le terminal (6) et le serveur (2), et pour communiquer le numéro de session (num_Sess) au terminal (6), le terminal (6) étant agencé pour communiquer le numéro de session (num_Sess) à l'élément matériel (8) et en ce que l'élément matériel (8) comprend des moyens de traitement (10) agencés pour réaliser un chiffrement (E) à l'aide de la clef de chiffrement (K1 ) d'un ensemble de donnée combinant :- At least one terminal (6) comprising network communication means (7), the terminal (6) being intended to be used by a user to make a connection to the server (2) characterized in that the system further comprises a hardware element (8) arranged to be connected to the terminal (6), the hardware element comprising data storage means (9) arranged to store an encryption key (K1) and an identification number (numJD), in that the server (2) is arranged to generate a unique session number (num_Sess) during a connection session between the terminal (6) and the server (2), and to communicate the session number (num_Sess ) at the terminal (6), the terminal (6) being arranged to communicate the session number (num_Sess) to the hardware element (8) and in that the hardware element (8) comprises processing means (10) arranged to perform an encryption (E) using the encryption key (K1) d 'a set of data combining:
- un mot de passe (num_MDP) de l'utilisateur, et - le numéro de session (num_Sess), et agencés pour transmettre le résultat du chiffrement constituant un mot de passe chiffré (C) et le numéro d'identification (numJD) au terminal (6), le terminal (6) étant agencé pour transmettre le mot de passe chiffré (C) et le numéro d'identification (numJD) au serveur (6) en vue de procéder à l'identification de l'utilisateur.- a password (num_MDP) of the user, and - the session number (num_Sess), and arranged to transmit the result of the encryption constituting an encrypted password (C) and the identification number (numJD) to terminal (6), the terminal (6) being arranged to transmit the encrypted password (C) and the identification number (numJD) to the server (6) to proceed to the identification of the user.
2. Système selon la revendication 1 , dans lequel le mot de passe (num_MDP) est mémorisé sur les moyens de stockage de donnée (9) de l'élément matériel (8).2. System according to claim 1, wherein the password (num_MDP) is stored on the data storage means (9) of the hardware element (8).
3. Système selon la revendication 1 , dans lequel le terminal (6) comprend des moyens de saisie du mot de passe (num_MDP) par l'utilisateur et est agencé pour communiquer le mot de passe à l'élément matériel (8). 3. System according to claim 1, wherein the terminal (6) comprises means for entering the password (num_MDP) by the user and is arranged to communicate the password to the hardware element (8).
4. Système selon l'une des revendications précédentes, dans lequel le serveur (2) est agencé pour communiquer un numéro de session (num_Sess) unique en réponse à la fourniture d'un numéro d'identification (numJD) par l'élément matériel (8). 4. System according to one of the preceding claims, wherein the server (2) is arranged to communicate a unique session number (num_Sess) in response to the provision of an identification number (numJD) by the hardware element (8).
5. Système selon l'une des revendications 1 à 3, dans lequel le serveur (2) est agencé pour réaliser un chiffrement (E) par une clef de chiffrement (K2) du numéro de session (num_Sess) en un numéro de session chiffré (num_Sess_Sign) et pour communiquer le numéro de session chiffré (num_Sess_Sign) au terminal, le terminal étant agencé pour communiquer le numéro de session chiffré à l'élément matériel (8), les moyens de traitement de l'élément matériel étant agencés pour réaliser un déchiffrement (D) du numéro de session chiffré (num_Sess_Sign) en un numéro de session (num_Sess) par la clef de chiffrement (K1 ) mémorisée dans les moyens de stockage (9). 5. System according to one of claims 1 to 3, wherein the server (2) is arranged to perform an encryption (E) by an encryption key (K2) of the session number (num_Sess) in an encrypted session number. (num_Sess_Sign) and to communicate the encrypted session number (num_Sess_Sign) to the terminal, the terminal being arranged to communicate the encrypted session number to the hardware element (8), the processing means of the hardware element being arranged to realize a decryption (D) of the encrypted session number (num_Sess_Sign) to a session number (num_Sess) by the encryption key (K1) stored in the storage means (9).
6. Système selon l'une des revendications précédentes, dans lequel le serveur (2) est agencé pour réaliser un déchiffrement (D) du mot de passe chiffré (C) grâce à une clé de déchiffrement (K2) correspondant à la clé de chiffrement (K1 ) stockée dans les moyens de stockage (9) de l'élément matériel (8), pour obtenir les valeurs du mot de passe (num_MDP) et du numéro de session (num_Sess).6. System according to one of the preceding claims, wherein the server (2) is arranged to perform a decryption (D) of the encrypted password (C) with a decryption key (K2) corresponding to the encryption key (K1) stored in the storage means (9) of the hardware element (8), to obtain the values of the password (num_MDP) and the session number (num_Sess).
7. Système selon la revendication 6, dans lequel le serveur (2) est agencé pour comparer le numéro de session (num_Sess) provenant du mot de passe chiffré avec celui qu'il a généré, puis pour comparer le résultat de l'application d'une fonction de hachage (H) sur une combinaison de donnée comprenant le mot de passe (num_MDP) avec une valeur prédéterminée (num_HID).7. System according to claim 6, wherein the server (2) is arranged to compare the session number (num_Sess) from the encrypted password with that it has generated, then to compare the result of the application of a hash function (H) on a combination of data including the password (num_MDP) with a predetermined value (num_HID).
8. Système selon l'une des revendications précédentes, dans lequel le mot de passe (num_MDP) et le numéro d'identification (numJD) forment un couple unique d'information dans le système. 8. System according to one of the preceding claims, wherein the password (num_MDP) and the identification number (numJD) form a unique pair of information in the system.
9. Système selon l'une des revendications précédentes, dans lequel l'élément matériel comprend des moyens de génération d'une séquence aléatoire (Num_Alea), les moyens de traitement (10) étant agencés pour réaliser un premier chiffrement d'un ensemble de données combinant : - la séquence aléatoire (Num_Alea), et - le numéro d'identification de l'utilisateur (Numjdllser), et agencés pour transmettre une première trame de donnée comprenant le résultat du premier chiffrement au terminal (6), le terminal (6) étant agencé pour transmettre cette première trame de donnée au serveur (6), le serveur (2) étant agencé pour réaliser le déchiffrement de la première trame de donnée puis un second chiffrement d'un ensemble de données combinant :9. System according to one of the preceding claims, wherein the hardware element comprises means for generating a random sequence (Num_Alea), the processing means (10) being arranged to perform a first encryption of a set of data combining: - the random sequence (Num_Alea), and - the identification number of the user (Numjdllser), and arranged to transmit a first data frame comprising the result of the first encryption to the terminal (6), the terminal (6) being arranged to transmit this first data frame to the server (6), the server (2) being arranged to realize decrypting the first data frame and then a second encryption of a data set combining:
- la séquence aléatoire (Num_Alea), et- the random sequence (Num_Alea), and
- un numéro de session (num_Sess, num_Sess2), eta session number (num_Sess, num_Sess2), and
- un numéro d'identification du serveur (NumJdServer) et pour transmettre une seconde trame de données comprenant le résultat de ce second chiffrement (Trame 2, Trame 3) au terminal (6), le terminal (6) étant agencé pour transmettre cette seconde trame de donnée (Trame 2, Trame 3) à l'élément matériel (8).a server identification number (NumJdServer) and for transmitting a second data frame comprising the result of this second encryption (Frame 2, Frame 3) to the terminal (6), the terminal (6) being arranged to transmit this second data frame (Frame 2, Frame 3) to the hardware element (8).
10. Système selon la revendication 9, dans lequel deux paires de clefs privées et clefs publiques (Ks1 , Ks2, Ku1 , Ku2) sont utilisées respectivement pour le chiffrement et le déchiffrement d'un premier et d'un second échange de données entre le serveur (2) et l'élément matériel (8)10. The system of claim 9, wherein two pairs of private keys and public keys (Ks1, Ks2, Ku1, Ku2) are used respectively for the encryption and decryption of a first and a second data exchange between the server (2) and the hardware element (8)
1 1 . Système selon l'une des revendications 9 et 10 dans lequel plusieurs séquences aléatoires (Num_Alea) et/ou plusieurs numéros de session sont générés (Num_Sess) par l'élément matériel (8) ou le serveur (2) pour des échanges de données successifs pour l'identification d'un utilisateur.1 1. System according to one of claims 9 and 10 wherein several random sequences (Num_Alea) and / or several session numbers are generated (Num_Sess) by the hardware element (8) or the server (2) for successive data exchanges for the identification of a user.
12. Système selon la revendication 8, dans lequel les moyens de génération d'une séquence aléatoire (Num_Alea) de l'élément matériel (8) sont agencés pour prendre en compte la survenue d'un événement aléatoire. 12. The system of claim 8, wherein the means for generating a random sequence (Num_Alea) of the hardware element (8) are arranged to take into account the occurrence of a random event.
13. Système selon la revendication 12 dans lequel les événements aléatoires pris en compte par les moyens de génération de séquence aléatoire comprennent des interruptions (Int) signalant l'arrivée d'une nouvelle information à l'élément matériel (8) en provenance du terminal (6).13. The system of claim 12 wherein the random events taken into account by the random sequence generating means comprise interrupts (Int) signaling the arrival of new information to the hardware element (8) from the terminal. (6).
14. Procédé d'identification par un serveur informatique (2) d'un utilisateur en possession d'un terminal (6) disposant de moyens de communication (7) pour réaliser une connexion entre le serveur (2) et le terminal (6) et d'un élément matériel (8), connecté au terminal (6), comprenant des moyens de stockage (9) de donnée sur lesquels est mémorisée une clef de chiffrement (K1 ) et un numéro d'identification (numJD), dans lequel - le serveur (2) génère un numéro de session unique (num_Sess) au cours d'une session de connexion entre le terminal (6) et le serveur (2), - le terminal communique le numéro de session (num_Sess) à l'élément matériel (8),14. Method of identification by a computer server (2) of a user in possession of a terminal (6) having communication means (7) for making a connection between the server (2) and the terminal (6) and a hardware element (8), connected to the terminal (6), comprising data storage means (9) on which is stored an encryption key (K1) and an identification number (numJD), in which the server (2) generates a unique session number (num_Sess) during a connection session between the terminal (6) and the server (2), the terminal communicates the session number (num_Sess) to the hardware element (8),
- l'élément matériel (8) réalise un chiffrement (E) à l'aide d'une clef de chiffrement (K1 ) d'un ensemble de donnée combinant : le mot de passe (num_MDP) et le numéro de session (num_Sess), et communique le résultat (C) du chiffrement au terminal (6), l'élément matériel (8) transmet également le numéro d'identification (numJD) au terminal (6),the hardware element (8) performs an encryption (E) using an encryption key (K1) of a set of data combining: the password (num_MDP) and the session number (num_Sess) , and communicates the result (C) of the encryption to the terminal (6), the material element (8) also transmits the identification number (numJD) to the terminal (6),
- le terminal (6) transmet le résultat du chiffrement (C) et le numéro d'identification (numJD) au serveur (2) en vue de procéder à l'identification de l'utilisateur.the terminal (6) transmits the result of the encryption (C) and the identification number (numJD) to the server (2) in order to proceed to the identification of the user.
15. Procédé selon la revendication 14, dans lequel le mot de passe (num_MDP) est mémorisé sur les moyens de stockage de donnée (9) de l'élément matériel (8). 15. The method of claim 14, wherein the password (num_MDP) is stored on the data storage means (9) of the hardware element (8).
16. Procédé selon la revendication 14, le mot de passe (num_MDP) est saisi par l'utilisateur sur le terminal (6) et communiqué à l'élément matériel (8) par le terminal (6).16. The method of claim 14, the password (num_MDP) is entered by the user on the terminal (6) and communicated to the hardware element (8) by the terminal (6).
17. Procédé selon l'une des revendications 14 à 16, dans lequel le serveur (2) communique un numéro de session (num_Sess) unique en réponse à la fourniture d'un numéro d'identification (numJD) par l'élément matériel (8).17. Method according to one of claims 14 to 16, wherein the server (2) communicates a unique session number (num_Sess) in response to the supply of an identification number (numJD) by the hardware element ( 8).
18. Procédé selon l'une des revendications 14 à 17, dans lequel le serveur (2) réalise un chiffrement (E) par une clef de chiffrement (K2) du numéro de session (num_Sess) en un numéro de session chiffré (num_Sess_Sign) et communique le numéro de session chiffré (num_Sess_Sign) au terminal, le terminal communiquant le numéro de session chiffré à l'élément matériel (8), les moyens de traitement de l'élément matériel réalisant un déchiffrement (D) du numéro de session chiffré (num_Sess_Sign) en un numéro de session (num_Sess) par la clef de chiffrement (K1 ) mémorisée dans les moyens de stockage (9). 18. Method according to one of claims 14 to 17, wherein the server (2) performs an encryption (E) by an encryption key (K2) of the session number (num_Sess) in an encrypted session number (num_Sess_Sign) and communicates the encrypted session number (num_Sess_Sign) to the terminal, the terminal communicating the encrypted session number to the hardware element (8), the means for processing the hardware element performing a decryption (D) of the encrypted session number (num_Sess_Sign) in a session number (num_Sess) by the encryption key (K1) stored in the storage means (9).
19. Procédé selon l'une des revendications 14 à 18, dans lequel le serveur (2) réalise un déchiffrement (D) du mot de passe chiffré (C) grâce à une clé de déchiffrement (K2) correspondant à la clé de chiffrement (K1 ) stockée dans les moyens de stockage (9) de l'élément matériel (8), pour obtenir les valeurs du mot de passe (num_MDP) et du numéro de session (num_Sess). 19. Method according to one of claims 14 to 18, wherein the server (2) performs a decryption (D) of the encrypted password (C) with a decryption key (K2) corresponding to the encryption key ( K1) stored in the storage means (9) of the hardware element (8), to obtain the values of the password (num_MDP) and the session number (num_Sess).
20. Procédé selon la revendication 19, dans lequel le serveur (2) compare le numéro de session (num_Sess) provenant du mot de passe chiffré avec celui qu'il a généré, puis compare le résultat de l'application d'une fonction de hachage (H) sur une combinaison de donnée comprenant le mot de passe (num_MDP) avec une valeur prédéterminée (numJHID).The method of claim 19, wherein the server (2) compares the session number (num_Sess) from the encrypted password with the one it has generated, and compares the result of the application of a function of hashing (H) on a combination of data including the password (num_MDP) with a predetermined value (numJHID).
21. Procédé selon l'une des revendications 14 à 20, dans lequel le mot de passe (num_MDP) et le numéro d'identification (numJD) forment un couple unique d'informations.21. Method according to one of claims 14 to 20, wherein the password (num_MDP) and the identification number (numJD) form a single pair of information.
22. Procédé selon l'une des revendications 14 à 21 , dans lequel l'élément matériel génère une séquence aléatoire (Num_Alea), réalise un premier chiffrement d'un ensemble de données combinant :22. Method according to one of claims 14 to 21, wherein the hardware element generates a random sequence (Num_Alea), performs a first encryption of a set of data combining:
- la séquence aléatoire (Num_Alea), et- the random sequence (Num_Alea), and
- le numéro d'identification de l'utilisateur (Numjdllser), et transmet une première trame de donnée correspondant au résultat du chiffrement au terminal (6) qui transmet cette première trame de donnée au serveur (6), le serveur (2) réalisant un déchiffrement de la première trame de donnée puis un second chiffrement d'un ensemble de données combinant :the user identification number (Numjdllser), and transmits a first data frame corresponding to the result of the encryption to the terminal (6) which transmits this first data frame to the server (6), the server (2) realizing a decryption of the first data frame and a second encryption of a data set combining:
- la séquence aléatoire (Num_Alea), et - un numéro de session (num_Sess, num_Sess2), et- the random sequence (Num_Alea), and - a number of session (num_Sess, num_Sess2), and
- un numéro d'identification du serveur (NumJdServer) et transmettant une seconde trame de données correspondant au résultat de ce second chiffrement (Trame 2, Trame 3) au terminal (6), le terminal (6) transmettant cette seconde trame de donnée (Trame 2, Trame 3) à l'élément matériel (8).a server identification number (NumJdServer) and transmitting a second data frame corresponding to the result of this second encryption (Frame 2, Frame 3) to the terminal (6), the terminal (6) transmitting this second data frame ( Frame 2, Frame 3) to the hardware element (8).
23. Procédé selon la revendication 22, dans lequel deux paires de clefs privées et clefs publiques (Ks1 , Ks2, Ku1 , Ku2) sont utilisées respectivement pour le chiffrement et le déchiffrement d'un premier et d'un second échange de données entre le serveur (2) et l'élément matériel (8)23. The method of claim 22, wherein two pairs of private keys and public keys (Ks1, Ks2, Ku1, Ku2) are respectively used for the encryption and decryption of a first and a second data exchange between the server (2) and the hardware element (8)
24. Procédé selon l'une des revendications 22 et 23 dans lequel plusieurs séquences aléatoires (Num_Alea) et/ou plusieurs numéros de session sont générés (Num_Sess) pour des échanges de données successifs pour l'identification d'un utilisateur.24. Method according to one of claims 22 and 23 wherein a plurality of random sequences (Num_Alea) and / or several session numbers are generated (Num_Sess) for successive data exchanges for the identification of a user.
25. Procédé selon l'une des revendications 22 à 24, dans lequel la génération d'une séquence aléatoire (Num_Alea) prend en compte la survenue d'un événement aléatoire. 25. The method according to one of claims 22 to 24, wherein the generation of a random sequence (Num_Alea) takes into account the occurrence of a random event.
26. Procédé selon la revendication 25 dans lequel les événements aléatoires pris en compte lors de la génération de séquences aléatoires comprennent des interruptions (Int) signalant l'arrivée d'une nouvelle information à l'élément matériel (8) en provenance du terminal (6).The method of claim 25 wherein the random events considered in the generation of random sequences include interrupts (Int) signaling the arrival of new information to the hardware element (8) from the terminal ( 6).
27. Procédé selon l'une des revendications 22 à 26 dans lequel au moins une trame de donnée échangée entre l'élément matériel (8) et le terminal (6) comporte à la fois une séquence aléatoire générée par l'élément matériel (8) et un numéro de session généré par le serveur (2). 27. Method according to one of claims 22 to 26 wherein at least one data frame exchanged between the hardware element (8) and the terminal (6) comprises both a random sequence generated by the hardware element (8). ) and a session number generated by the server (2).
EP08786974A 2007-08-08 2008-08-07 Information system and method of identifying a user by an application server Withdrawn EP2213038A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0705763A FR2919974B1 (en) 2007-08-08 2007-08-08 INFORMATION SYSTEM AND METHOD OF IDENTIFICATION BY A USER APPLICATION SERVER
PCT/EP2008/060371 WO2009019298A1 (en) 2007-08-08 2008-08-07 Information system and method of identifying a user by an application server

Publications (1)

Publication Number Publication Date
EP2213038A1 true EP2213038A1 (en) 2010-08-04

Family

ID=39183229

Family Applications (1)

Application Number Title Priority Date Filing Date
EP08786974A Withdrawn EP2213038A1 (en) 2007-08-08 2008-08-07 Information system and method of identifying a user by an application server

Country Status (4)

Country Link
US (1) US20120005474A1 (en)
EP (1) EP2213038A1 (en)
FR (1) FR2919974B1 (en)
WO (1) WO2009019298A1 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8166547B2 (en) 2005-09-06 2012-04-24 Fortinet, Inc. Method, apparatus, signals, and medium for managing a transfer of data in a data network
JP5220924B2 (en) * 2008-07-18 2013-06-26 アブソリュート ソフトウェア コーポレイション Privacy management of tracked devices
US8640212B2 (en) * 2010-05-27 2014-01-28 Red Hat, Inc. Securing passwords with CAPTCHA based hash when used over the web
CN102142961B (en) * 2010-06-30 2014-10-08 华为技术有限公司 Method, device and system for authenticating gateway, node and server
US9311119B2 (en) * 2012-05-30 2016-04-12 Red Hat, Inc. Reconfiguring virtual machines
US9544145B2 (en) * 2012-10-29 2017-01-10 Mitsubishi Electric Corporation Device, method, and medium for facility management verification
BR112015022767A2 (en) * 2013-03-13 2017-07-18 Jumpto Media Inc encrypted network storage space
CN104102858B (en) * 2013-04-07 2018-02-13 中兴通讯股份有限公司 Application program cipher processing method, device and terminal
US9148284B2 (en) * 2014-01-14 2015-09-29 Bjoern Pirrwitz Identification and/or authentication method
US10382430B2 (en) * 2014-07-28 2019-08-13 Encryptier Co., Ltd. User information management system; user information management method; program, and recording medium on which it is recorded, for management server; program, and recording medium on which it is recorded, for user terminal; and program, and recording medium on which it is recorded, for service server
EP3065366B1 (en) * 2015-03-02 2020-09-09 Bjoern Pirrwitz Identification and/or authentication system and method
US10333903B1 (en) 2015-06-16 2019-06-25 Amazon Technologies, Inc. Provisioning network keys to devices to allow them to provide their identity
US11005971B2 (en) * 2018-08-02 2021-05-11 Paul Swengler System and method for user device authentication or identity validation without passwords or matching tokens
CN111953582B (en) * 2020-08-10 2022-03-25 四川阵风科技有限公司 Encryption instant messaging method and system based on hardware device

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2730076B1 (en) * 1995-01-31 1997-03-28 Sorep Sa METHOD FOR AUTHENTICATING BY A SERVER THE CARRIER OF A PORTABLE OBJECT WITH MICROPROCESSOR, CORRESPONDING SERVER AND PORTABLE OBJECT
FR2765985B1 (en) * 1997-07-10 1999-09-17 Gemplus Card Int METHOD FOR MANAGING A SECURE TERMINAL
CA2276872A1 (en) * 1998-08-28 2000-02-28 Lucent Technologies Inc. Method for protecting mobile anonymity
IT1308078B1 (en) * 1999-06-08 2001-11-29 Eutron Infosecurity S R L IDENTIFICATION DEVICE AND SYSTEM FOR THE INSERTION OF A PERSONAL IDENTIFICATION NUMBER INSIDE THIS DEVICE
WO2002045441A1 (en) * 2000-11-28 2002-06-06 Rcd Technology, Inc. Replacing stored code with user inputting code on the rf id card
US7231526B2 (en) * 2001-10-26 2007-06-12 Authenex, Inc. System and method for validating a network session
FR2845222B1 (en) * 2002-09-26 2004-11-19 Gemplus Card Int IDENTIFICATION OF A TERMINAL WITH A SERVER
US7373509B2 (en) * 2003-12-31 2008-05-13 Intel Corporation Multi-authentication for a computing device connecting to a network
US20060291660A1 (en) * 2005-12-21 2006-12-28 Telefonaktiebolaget Lm Ericsson (Publ) SIM UICC based broadcast protection
US8418235B2 (en) * 2006-11-15 2013-04-09 Research In Motion Limited Client credential based secure session authentication method and apparatus
US8051297B2 (en) * 2006-11-28 2011-11-01 Diversinet Corp. Method for binding a security element to a mobile device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2009019298A1 *

Also Published As

Publication number Publication date
WO2009019298A1 (en) 2009-02-12
US20120005474A1 (en) 2012-01-05
FR2919974B1 (en) 2010-02-26
FR2919974A1 (en) 2009-02-13

Similar Documents

Publication Publication Date Title
EP2213038A1 (en) Information system and method of identifying a user by an application server
EP2673732B1 (en) Secure transaction method from a non-secure terminal
EP1549011A1 (en) Communication method and system between a terminal and at least a communication device
FR3041195A1 (en) METHOD OF ACCESSING ONLINE SERVICE USING SECURE MICROCIRCUIT AND SECURITY TOKENS RESTRICTING THE USE OF THESE TOKENS TO THEIR LEGITIMATE HOLDER
EP2345202A2 (en) Digital signature method in two steps
FR2822002A1 (en) CRYPTOGRAPHIC AUTHENTICATION BY EPHEMERIC MODULES
WO2013021107A9 (en) Method, server and system for authentication of a person
EP2193626B1 (en) Secure communication between an electronic label and a reader
EP2509025A1 (en) Method for access to a protected resource of a trusted personal device
EP3991381B1 (en) Method and system for generating encryption keys for transaction or connection data
EP2306668B1 (en) System and method for secure on-line transactions
FR3075423A1 (en) TECHNIQUE FOR PROTECTING A CRYPTOGRAPHIC KEY USING A USER PASSWORD
FR3033205A1 (en) METHOD OF TRANSACTING WITHOUT PHYSICAL SUPPORT OF A SECURITY IDENTIFIER AND WITHOUT TOKEN, SECURED BY STRUCTURAL DECOUPLING OF PERSONAL AND SERVICE IDENTIFIERS.
EP3673633B1 (en) Method for authenticating a user with an authentication server
EP3266148B1 (en) Device and method for administering a digital escrow server
EP2795830A1 (en) Method of encrypted data exchange between a terminal and a machine
FR2903544A1 (en) Prover i.e. user, authenticating method for e.g. secured cryptographic support, involves receiving challenge by prover, and calculating response depends on challenge and secret by selecting specific number of operations on encryption
WO2017005644A1 (en) Method and system for controlling access to a service via a mobile media without a trusted intermediary
FR2948839A1 (en) METHOD FOR SECURELY AUTHENTICATING ACCESS TO FIGURE DATA
FR3007929A1 (en) METHOD FOR AUTHENTICATING A USER OF A MOBILE TERMINAL
FR3118225A1 (en) Method and device for generating authentication information for a secure entity and associated identity verification method and device
WO2020128203A1 (en) Method and system for securing operations and associated user station
FR2902253A1 (en) User authenticating method for payment terminal, involves calculating value of hashing function by client device for user authentication by server, and calculating another value of function by device for verification of user authentication
WO2012022856A1 (en) Method of authenticating a user of the internet network
EP3394780A1 (en) Method and device for connecting to a remote server

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

17P Request for examination filed

Effective date: 20100520

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA MK RS

DAX Request for extension of the european patent (deleted)
RIC1 Information provided on ipc code assigned before grant

Ipc: G06F 21/20 20060101ALI20120106BHEP

Ipc: H04L 29/06 20060101ALI20120106BHEP

Ipc: H04L 9/32 20060101AFI20120106BHEP

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: 20120301