WO2019115943A1 - Technique de protection d'une clé cryptographique au moyen d'un mot de passe utilisateur - Google Patents
Technique de protection d'une clé cryptographique au moyen d'un mot de passe utilisateur Download PDFInfo
- Publication number
- WO2019115943A1 WO2019115943A1 PCT/FR2018/053233 FR2018053233W WO2019115943A1 WO 2019115943 A1 WO2019115943 A1 WO 2019115943A1 FR 2018053233 W FR2018053233 W FR 2018053233W WO 2019115943 A1 WO2019115943 A1 WO 2019115943A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- cryptographic key
- user
- password
- key
- user device
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3218—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2103—Challenge-response
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2131—Lost password, e.g. recovery of lost or forgotten passwords
Definitions
- the present invention relates to the field of service security and more specifically the field of data protection of a user, said sensitive data.
- a cryptographic encryption system It is usual to protect a user's data by means of a cryptographic encryption system.
- a cryptographic encryption system provides one or more cryptographic keys with which it is possible to encrypt data to protect it, then decrypt the encrypted data to recover it in the clear.
- the key used to encrypt the data is the same as the key used to decrypt it. We understand that this unique key is extremely sensitive and must be protected.
- the key used to encrypt the data is public and known to everyone, whereas the key used to decrypt, called the private key, is sensitive and must be protected as well.
- the decryption key line whether it is a secret key of a symmetric encryption system or a private key of an asymmetric encryption system, usually makes hundreds of bits. It is therefore complicated for a user to memorize it. However, because of its sensitivity, it is usual to secure access to this decryption key.
- the known example of securing access to a decryption key relies on the use of a login, or login, and a password specific to a user and easily stored by it. It is thus known to deterministically generate and regenerate a cryptographic key, such as the decryption key mentioned above, by applying a key derivation algorithm, for example PBKDF2 (from the English "Password-Based Key Derivation Function"). 2 ") to the login and password of the user. The user only has to memorize his login and password in order to regenerate on demand his decryption key and access his data in clear.
- PBKDF2 from the English "Password-Based Key Derivation Function"
- the decryption key of the user is encrypted by means of a cryptographic algorithm and a second cryptographic key.
- the encrypted decryption key thus obtained is stored on a remote server. Securing access to the decryption key of the user then amounts to protecting access to this second cryptographic key, which can be done for example according to the method described above, that is to say by means of a login and a password known to the user.
- This new decryption key is therefore not suitable for decrypting the previously encrypted and predicted data to be decrypted by means of the initial decryption key.
- password loss requires a third-party entity to provide the lost password or initial decryption key.
- This mechanism implemented by involving a third party entity, is better known as a key receiver.
- this third party entity has all the information enabling it to access the sensitive data of the user. The total confidentiality of the data of the user is not guaranteed.
- One of the aims of the invention is to remedy the shortcomings / disadvantages of the state of the art and / or to make improvements thereto.
- This first cryptographic key is intended to decrypt at least one encrypted data.
- This method implemented by a user device, comprises:
- the management device does not store any data enabling it to obtain the cryptographic key to access the sensitive data of the user.
- the management device may be a server or a security element, for example a smart card.
- the result corresponds to a third cryptographic key generated by applying a key derivation algorithm to said response and the value dependent on said result corresponds to the encryption of the password by means of the third generated cryptographic key.
- the value that is stored by the management device is protected and is not accessible by the management device.
- the result corresponds to a third cryptographic key generated by applying a key derivation algorithm to this response and to the corresponding question and the value dependent on said result corresponds to the encryption of the password by means of the cryptographic key generated.
- the protection method comprises for determining the password from a response obtained by the user device for said question:
- the user device can thus find the password in case of loss or forgetfulness of it by the user.
- the function is a polynomial of degree (n-1), n being greater than or equal to two, n corresponding to a number of questions to be asked to the user to determine the password, said polynomial taking the value of the password in zero and the value dependent on said result corresponds to said result.
- n degree
- the user device determines the polynomial from n values stored by the management device and n answers to questions obtained from the user. The password then corresponds to the value taken by the polynomial in zero.
- the function is a bijective polynomial of degree (n1), n being greater than or equal to two, n corresponding to a number of questions to be asked to the user to determine the password, the value dependent on said result corresponds to said result and the user device further provides the storage management device with the result of applying the function to the password.
- This third embodiment has the same advantages as the second embodiment, while simplifying the management of the password change. Indeed, the values stored by the management device are not changed during a change of password. Only the value taken by the polynomial in zero is modified.
- the user device determines the polynomial from n values stored by the management device and n answers to questions obtained from the user.
- the password is then determined by applying the inverse polynomial to the value taken by the zero polynomial provided during the recording.
- the protection method further comprises:
- the user device easily regenerates the first cryptographic key without the management device being able to access it.
- the protection method comprises a verification of the integrity of the first regenerated cryptographic key by means of a public key associated with the first cryptographic key stored in association with the encryption of said first cryptographic key.
- the protection method comprises a verification of the integrity of the first regenerated cryptographic key by means of an encryption of the identifier of the user by said first cryptographic key stored in association with the encryption of said first cryptographic key.
- the method comprises for modifying the password:
- a proof of knowledge is memorized in association with the encryption of the first cryptographic key and said proof of knowledge is verified before storing said new encryption of the first cryptographic key.
- a user device intended to be used by a user having an identifier and an associated password, a first cryptographic key being for decrypting at least one encrypted data.
- This user device comprises:
- a calculation module arranged to calculate a result of the application of a function to at least one answer associated with a question, the answer being obtained from the user;
- a supply module arranged to supply the management device for storing the encryption of said first cryptographic key and at least one value dependent on said result, said value enabling the user device to determine the password when it has the answer to that question.
- This user device can of course include in structural terms the various characteristics relating to the protection method as described above, which can be combined or taken in isolation.
- a program for a user device on a data carrier and loadable in the memory of a user device, comprising program code instructions for controlling the execution of the steps of the protection method previously described implemented by the user device, when this program is executed by this device and a recording medium readable by a device on which is recorded a program for a device.
- the advantages stated for the protection method according to the first aspect can be transposed directly to the program for a user device and to the recording medium.
- a management device comprising:
- a obtaining module arranged to obtain from a user device for storage in association with an identifier of a user an encryption of a first cryptographic key and a value dependent on a result calculated by the user device, this value allows the user device to determine the password when it has the answer to a question;
- a storage memory arranged to store data obtained from a user device.
- This management device can of course include in structural terms the various characteristics relating to the protection method as described above, which can be combined or taken separately.
- a program for a management device on a data medium and loadable in the memory of a management device, comprising program code instructions intended to control the execution of those of the steps of the protection method previously described implemented by the management device, when this program is executed by this device and a recording medium readable by a device on which is recorded a program for a device.
- a system for protecting a first cryptographic key comprising a management device according to the fourth aspect and a user device according to the second aspect.
- FIGS. 1a, 1b, 1c and 1d represent steps of different phases of a method of protecting a cryptographic key by means of a user password, according to an exemplary embodiment
- FIG. 2 is a schematic representation of a user device able to implement steps of the method of protecting a cryptographic key by means of a user password, according to an exemplary embodiment
- FIG. 3 is a schematic representation of a management device adapted to implement steps of the method of protecting a cryptographic key by means of a user password, according to an exemplary embodiment.
- a user has a so-called sensitive cryptographic key, denoted sk, intended to be used for decrypting data that is specific to the user, said sensitive data.
- This cryptographic key is a sensitive key in the sense that its disclosure allows a person who has obtained it to access all the sensitive data of the user that have been previously encrypted.
- the user is equipped with a device such as a personal computer, a mobile terminal, etc.
- the device and the user are associated and called “user device” this device controlled by the user.
- the sensitive cryptographic key sk is used in a public key cryptography system, for example RSA (for "Rivest Shamir and Adleman").
- the sensitive cryptographic key sk is a private key, or decryption key, of a public key / private key pair, intended to be used for decrypting sensitive content.
- the encryption of the sensitive content is implemented by means of the associated public key, denoted pk.
- pk PKGen (sk).
- a public key encryption system is usually used to manage so-called long-term keys. This system is therefore well suited to the use case described here.
- the method described here also applies to a case where the sensitive cryptographic key is used in a secret key cryptosystem.
- the user is associated with a pair comprising a login identifier and a password pwd that he is alone to know. It is further assumed that the user is associated with a set of personal questions and associated responses, ie [l, l], where l is greater than or equal to equal to one, that he alone knows. For example, her mother's maiden name, the pet name of her childhood, and so on.
- the protection method implemented by the user device and by a management device is described in a first embodiment.
- an S server said management device, so that the latter protects its sensitive cryptographic key sk, while managing changes or even loss of the user's password.
- the user and therefore the user device is identified with the server S by its login identifier; however, the server S does not know the password pwd of the user.
- the user's sensitive cryptographic key sk is encrypted by the user device by means of a second cryptographic key denoted by k, derived from the user's password and login by means of a function of key derivation, eg PBKDF2 (for "Password-Based Key Derivation Function 2").
- a function of key derivation eg PBKDF2 (for "Password-Based Key Derivation Function 2"
- the second cryptographic key k is generated by the user device by applying a key derivation algorithm to the login identifier and the password pwd of the user.
- k PBKDF2 (login ⁇ ⁇ pwd), where the operator ⁇ G represents concatenation.
- the user's sensitive cryptographic key sk is encrypted by the user device by means of the second cryptographic key k generated in the previous step E00.
- the AES (Advanced Encryption Standard) secret key cryptography algorithm parameterized by the second cryptographic key k, is applied to the user's sensitive cryptographic key sk to obtain the encryption key.
- the sensitive cryptographic key noted c.
- c AESEnc (k, sk).
- the user device sends the encryption of the sensitive cryptographic key c to the server S for storage in association with the login identifier of the user.
- the user device also sends the public key pk to the server S, which stores it in association with the login identifier.
- the sending of the public key pk is intended to allow the user device to check the integrity of the sensitive cryptographic key sk during its regeneration. This thus prevents the user device from memorizing the public key pk.
- a step E02 the user device calculates a result of the application of a function to at least one response t associated with a question q t .
- the result corresponds to a cryptographic key generated by applying a key derivation algorithm to the response cqet to the corresponding question q t .
- a cryptographic key associated with the question cq and the response a j is generated using a key generation algorithm such as that used in step E00.
- the user device supplies the server S with storage with at least one value dependent on the result. More precisely, in this first embodiment, the user device encrypts the password pwd of the user for each key / q generated associated with the pair i formed by the question q t and the response associated with the message. as in step E01, use the AES algorithm.
- the encrypted password pwd obtained are noted C j .
- C j AESEnc ki, pwd).
- the encrypts C j of the password pwd are sent to the server S, which stores them in association with the login identifier. No limitation is attached to the encryption algorithm used at this step, an algorithm different from that of step E01 can be used.
- the server S stores in association with the user's login identifier, the encryption c of the user's sensitive cryptographic key sk, the encrypted data obtained. by encrypting the password pwd of the user by means of each key / q associated with the pair (cq, cq) and optionally the public key pk. Encrypted C j allow, as described later, the user device to determine the password based on an answer to a question asked the user.
- step E02 the user device calculates a result of the application of a function to at least one response cq associated with a question cq.
- the result corresponds to a cryptographic key generated by applying a key derivation algorithm to the response cq.
- a cryptographic key associated with the response cq is generated using a key generation algorithm, for example that used during the step E00.
- step E03 the user device encrypts the password pwd of the user for each key / q generated associated with the response cq. Then, the encrypted password pwd are sent to the server S, which memorize them in association with the login identifier.
- the server S stores in association with the user's login identifier, the encryption c of the user's sensitive cryptographic key sk, the encrypted obtained by encrypting the password pwd of the user by means of each key / q associated with a response a j and optionally the public key pk.
- Encrypted C j allow, as described later, the user device to determine the password based on an answer to a question asked the user.
- the encrypted sending c is intended to allow the user device to check the integrity of the sensitive cryptographic key sk during its regeneration.
- the server S stores in association with the user's login identifier, the encryption c of the user's sensitive cryptographic key sk, the encrypts q obtained by encrypting the password. pwd of the user by means of each key / q associated with the answers a, - and if appropriate, with the corresponding questions q t and optionally the c c.
- the user only memorizes his username and his password pwd. He also knows the answers to personal questions. It does not have to memorize a sensitive key such as its sensitive cryptographic key sk, the second cryptographic key k or the set of keys / q associated with the answers a, - and, if appropriate, with the questions corresponding. The user device also does not memorize them.
- a sensitive key such as its sensitive cryptographic key sk, the second cryptographic key k or the set of keys / q associated with the answers a, - and, if appropriate, with the questions corresponding.
- the user device also does not memorize them.
- the server S stores protected or encrypted data. Not holding the key k used to encrypt the user's sensitive cryptographic key sk, this key k having been generated and used on the user device, the server S is therefore unable to recover the user's sensitive cryptographic key sk and to access the sensitive data of the user protected by this key sk. In addition, the server S is unable to recover keys / q associated with the responses and, if so, to the corresponding questions q t and therefore can not obtain the password pwd.
- the encryption of the sensitive cryptographic key c and the encrypted values C j of the password pwd are sent to the server S during two different steps (E01 and E03) for storage in association with the login identifier of the server. 'user. It is understood that this is only an example embodiment and that the user device can also send to the server S the encryption of the sensitive cryptographic key c and the encrypted values C j of the password pwd in one times during step E03 for storage in association with the user's login ID.
- the user device covers the sensitive cryptographic key sk in order to use this key to access in clear data of the user.
- the user device sends the server S a request to obtain the encryption of the sensitive cryptographic key c, this request including its login identifier.
- the server S sends to the user device the encryption of the sensitive cryptographic key c and optionally the public key pk associated with the sensitive cryptographic key sk.
- step E12 of obtaining the second cryptographic key the user device regenerates the second cryptographic key k by applying the key derivation algorithm used in step E00, in this case PBKDF2, to its identifier. login and password pwd.
- PBKDF2 the key derivation algorithm used in step E00, in this case PBKDF2 (login ⁇ ⁇ pwd).
- step El 1 when the user-sensitive cryptographic key of G is used in a secret key encryption system, in step El 1, the server S sends the user device the encryption of the sensitive cryptographic key c and optionally the number c.
- the user device can use its sensitive cryptographic key sk to decrypt sensitive data that it has stored encrypted.
- a phase P2 of changing the password illustrated by Figure 1c and independent of the phase of recovery of the sensitive cryptographic key of the user, the user wishes to change his password pwd.
- this password has been compromise, or the user has been requested to change this password after a predetermined period.
- the password modification phase can of course only be implemented after the recording PO phase. The user wants to change his password pwd to a new password, noted pwd '.
- the user first recovers his sensitive cryptographic key sk. It implements the steps El0 to El4 of the phase P1 of recovering the sensitive cryptographic key as described above.
- step E20 of generating a third cryptographic key similar to step E00 described above, the user device generates a third cryptographic key k 'by means of its new password pwd'.
- a third cryptographic key k ' For this purpose, it applies the same key derivation algorithm that was used during step E00, in this case PBKDF2, to its login identifier and to its new password pwd '.
- PBKDF2 key derivation algorithm that was used during step E00
- PBKDF2 login ⁇ ⁇ wd'
- step E21 of encryption of the sensitive cryptographic key similar to the step E01 described above, the user device encrypts its sensitive cryptographic key sk by means of the third cryptographic key k 'generated during the previous step E20 in using the same encryption algorithm as used in step E01.
- the user device calculates a non-interactive knowledge proof p with zero disclosure of knowledge of the sensitive cryptographic key sk with integrity control of the new encrypted c 'of the sensitive cryptographic key sk.
- the proof of knowledge p is intended to guarantee the server S that the user device knows the sensitive cryptographic key sk. This verification is a prerequisite for replacing the encryption c of the sensitive cryptographic key sk by the new encryption c 'of this same sensitive cryptographic key in the storage memory of the server S.
- the proof of knowledge p type NIZK (English “Non-Interactive Zero-knowledge proof of Knowledge") based on the public key encryption scheme EL Gamal.
- the user device sends to the server S its login identifier, the new encryption c 'of the sensitive cryptographic key sk, the new encryptions c ⁇ of the password pwd' and the proof of knowledge p calculated during step E22.
- the server S checks the proof of knowledge p and if this is correct, the server S replaces in its storage memory the encryption c of the sensitive cryptographic key sk by the new encrypted it's the same key and the new encrypted c ⁇ in association with the login ID.
- the user device computes a non-interactive knowledge proof with zero disclosure of knowledge.
- the sensitive cryptographic key sk with integrity control of the new encryption c 'of the sensitive cryptographic key sk.
- the password pwd is changed to a new password pwd ', the new encryption c' of the sensitive cryptographic key sk calculated by means of the third cryptographic key k 'derived from the new password pwd'.
- the new encrypted c ⁇ are stored by the server S without the latter does not access at any time to the sensitive cryptographic key sk of the user.
- the server can thus not at any time access the data in clear of the user.
- the user device can then implement the recovery phase P1 described above in order to recover the sensitive cryptographic key sk from the new password pwd 'and use it to access its data in the clear.
- a password loss management phase P3 illustrated by FIG. 1d and independent of the recovery phase P1 of the user's sensitive cryptographic key and the password modification phase P2 previously described.
- the user who has forgotten or lost his password wishes to recover his sensitive cryptographic key sk in order to access his encrypted stored data.
- the phase P3 for managing a loss of password can of course only be implemented after the recording PO phase.
- a step E30 of sending an identifier the user device sends the server S its login identifier.
- the server S extracts from all the l personal questions q t associated with the user n questions, n l, randomly. We note / all the indices associated with the n questions.
- the server S then sends the user device a subset comprising the n questions q t extracted and the encrypted n C j of the password pwd (remember that these cipher were obtained in step E03 by means of the keys k L associated with the questions q t and the answers c q calculated during the step E 02).
- the server S sends to the user the subset noted ⁇ (3 ⁇ 4; C j )) ie / ⁇ It is emphasized here that in this first embodiment, this subset may comprise only one question and the cipher the associated password.
- each of the questions iq of the subset ⁇ (3 ⁇ 4; Cj)) ie / is put to the user, and the user enters for each question q t a response associated with the means of an interface -man machine of the user device.
- a next step E33 of calculation it is calculated from each question q t and from each answer a [provided by the user during the previous step, a subset of cryptographic keys k [, iel, each key k [of this subset being associated with the question q t using the same key generation algorithm as that used in step E02.
- a next step E34 of recovery of the password it is calculated for each iel, a current password, noted pwdi, by decrypting the encrypted n q password pwd using the keys k [calculated above.
- the password pwd of the user has been encrypted by the user device by means of each of the keys / q associated with the answers and, if appropriate, relevant questions q t and the encrypted C j thus obtained were then sent to the server S.
- the decryption algorithm corresponding to the encryption algorithm used in the step E03 is used.
- the user device temporarily stores the recovered password pwd and uses it to implement the steps of the password change phase P2. Indeed, it is advisable to change this password, previously forgotten.
- all previously calculated pwdi passwords are identical to the password pwd that the user has forgotten. This means that the user was not mistaken in any of the answers that he provided in step E32.
- the user corresponding to a case where the user has provided some answers to [erroneous, then the user remembers as recovered password pwd that which appears the greatest number of times during step E34 recovery.
- the encryption (es) that were provided to the management device during step E03 allow the user device to determine the password when it has n answer (s) to n question (s).
- a third party may know, either by chance or by knowing details of the life of the user via a social network, for example, one or more of the answers to L questions q t .
- the third party can implement the steps of the phase P3 of managing a password loss and try all the password pwd, recovered during the step E34 to find a word of pass pwd, which is the user's password pwd.
- the third party could then obtain the user's sensitive cryptographic key sk and access his data in the clear. In order to overcome such an attack, it is possible to compel the user to answer all the questions asked in the case of a loss of password.
- step E00 cryptographic key cryptographic key k, E01 of the sensitive cryptographic key sk of the user by the user device by means of the second cryptographic key k generated during the previous step E00 are executed.
- step E01 is also implemented.
- n being greater than or equal to two, to the user device, for example with the personal questions /,.
- the result corresponds to the application of the polynomial P to at least one response associated with a question.
- the user device sends the server S the values p ⁇ calculated for each ie [1, l] for storage in association with the identifier of the login user.
- the result is sent directly to the server S.
- the server S stores in association with the user's login identifier, the encryption c of the sensitive cryptographic key sk of the user, the p-values. L obtained by applying the polynomial P to the responses a, and optionally the public key pk or the c number according to the exemplary embodiments.
- the values p L allow, as described later, the user device to determine the password based on an answer to a question asked to the user.
- the encryption of the sensitive cryptographic key c and the values Pi obtained by applying the polynomial P to the responses a * are sent to the server S during two different steps (E01 and E03) for storage in association with the user login ID. It is understood that this is only an exemplary embodiment and that the user device can also send to the server S the encryption of the sensitive cryptographic key c and the values p L at one time during the process. step E03 for storage in association with the user's login ID.
- the recovery phase P1 of the cryptographic key is unchanged in this second embodiment.
- the phase P2 of changing the password will now be described in this second embodiment.
- the user wants to change his password pwd to a new password, noted pwd '.
- the user first recovers his sensitive cryptographic key sk. It implements the steps El0 to El4 of the phase P1 of recovering the cryptographic key as described above.
- the step E20 of generating a third cryptographic key is executed to generate a third cryptographic key k 'by means of the new password pwd'.
- Step E21 previously described in relation to the first embodiment, is also executed to encrypt the sensitive cryptographic key sk by means of the third cryptographic key k ', ie the new cipher c'.
- Step E22 previously described in relation to the first embodiment, is executed to compute a non-interactive proof of knowledge with zero disclosure of knowledge of the sensitive cryptographic key sk with integrity control of the new encryption c 'of the sensitive cryptographic key sk.
- the sending step E23 is executed to send to the server S the login identifier, the new encryption c 'of the sensitive cryptographic key sk and the proof of knowledge p computed at during step E22.
- the server S executes the step E24 to check the proof of knowledge p.
- the server S sends to the user device a set of questions q t for each ie [1, Z].
- the user device sends the server S pi 'values calculated for each ie [IJ] to replace in its storage memory the previous values p ,.
- the server S thus memorizes association with the identifier of the user login the new encryption c 'of the sensitive cryptographic key sk and the new values p,'.
- the password pwd is changed to a new password pwd '; the new encryption c 'of the sensitive cryptographic key sk calculated using the third cryptographic key k' derived from the new password pwd 'and the new encrypted C j are stored by the server S without the latter having access to any moment at the sensitive cryptographic key sk of the user.
- the server can thus not at any time access the data in clear of the user.
- the phase P3 of loss management of the password will now be described in this second embodiment.
- the user has forgotten or lost his password and wants to recover his sensitive cryptographic key sk to access his encrypted data encrypted.
- the step E30 is executed by the user device to send to the server S its login identifier.
- the step E31 is executed by the server S to extract from all the personal questions associated with the user n questions, randomly, and to send to the user device a subset comprising the n questions q are extracted and the n values p, (it is recalled that these values were obtained in step E03 of the second embodiment by means of a polynomial P and are each associated with a response ai).
- the server S sends the user the set noted ⁇ (q t , t )) for iel.
- step E32 of questions and answers each of the questions q t of the subset is posed to the user, and the user enters for each question q t an associated answer by means of an interface -man machine of the user device.
- the user device determines the polynomial P from the n responses obtained a ⁇ and n values p, - associated for example by performing a Lagrange interpolation.
- step E34 the user device calculates P (0) to obtain the password pwd.
- the user device temporarily stores the recovered password pwd and uses it to implement the steps of the password change phase P2.
- the value or values that were provided to the server S during the step E03 allow the user device to determine the password when it has n answers to the n questions.
- step E00 of a second cryptographic key k, E01 of the encryption of the sensitive cryptographic key sk of the user by the user device the means of the second cryptographic key k generated during the previous step E00 are executed.
- step E0G is also implemented.
- the server S sent an integer n to the user device, for example with the personal questions ⁇ 7, ⁇ .
- the user device chooses a bijective polynomial P of degree n-1.
- n is two
- the polynomial is of degree one and is always bijective.
- restrictions on the input domain and / or output domain may achieve the same goal.
- the result corresponds to the application of the polynomial P to at least one response associated with a question.
- the user device sends to the server S the values p ⁇ calculated for each ie [1, 1] and the value p 0 for storage in association with the identifier of the user login.
- the result is sent directly to the server S.
- the server S stores, in association with the user's login identifier, the encryption c of the user's sensitive cryptographic key sk, the values p L obtained by applying the polynomial P responses h p 0 value and optionally the public key pk and the encrypted c according to the embodiments.
- the values p L allow, as described later, the user device to determine the password based on n answers to n questions asked to the user.
- the encryption of the sensitive cryptographic key c, the value p 0 and the values p L obtained by applying the polynomial P to the responses a, - are sent to the server S during two different steps (E01 and E03). for storage in association with the user's login ID. It is understood that this is only an exemplary embodiment and that the user device can also send to the server S the encryption of the sensitive cryptographic key c, the value p 0 and the values p L in a single times during step E03 for storage in association with the user's login ID.
- the recovery phase P1 of the cryptographic key is unchanged in this third embodiment.
- the phase P2 of changing the password will now be described in this third embodiment.
- the user wants to change his password pwd to a new password, noted pwd '.
- the user first recovers his sensitive cryptographic key sk. It implements the steps El0 to El4 of the phase P1 of recovering the sensitive cryptographic key as described above.
- the step E20 of generating a third cryptographic key is executed to generate a third cryptographic key k 'by means of the new password pwd'.
- Step E21 previously described in relation to the first embodiment, is also executed to encrypt the sensitive cryptographic key sk by means of the third cryptographic key k ', ie the new cipher c'.
- Step E22 previously described in relation to the first embodiment, is executed to compute a non-interactive proof of knowledge with zero disclosure of knowledge of the sensitive cryptographic key sk with integrity control of the new encryption c 'of the sensitive cryptographic key sk.
- the server S sends to the user device a set of / questions q t for each ie [l, l].
- Each question q t is asked to the user, and the user enters for each question q t a reply [associated with an interface man-machine user device.
- the user device determines as a function of the values p 0 , Pi and the responses el the polynomial P by interpolation.
- the user device determines, according to the polynomial P, the value taken for the password pwd ', denoted p 0 '.
- the sending step E23 is executed to send to the server S the login identifier, the new encryption c 'of the sensitive cryptographic key k, the proof of knowledge p computed at course of step E22 and the value p 0 '.
- the server S executes the step E24 to check the proof of knowledge p.
- the server S thus memorizes in association with the login user's login the new encryption c 'of the sensitive cryptographic key sk and the new value p 0 '.
- the password pwd is changed to a new password pwd '; the new encryption c 'of the sensitive cryptographic key sk calculated by means of the third cryptographic key k' derived from the new password pwd 'and the new value p 0 ' are stored by the server S without the latter being able to access no time at the sensitive cryptographic key sk of the user.
- the server can thus not at any time access the data in clear of the user. It is emphasized here that during this change of password, the values p t are not modified.
- the phase P3 of loss management of the password will now be described in this third embodiment.
- the user has forgotten or lost their password and wishes recover its sensitive cryptographic key sk in order to access its stored encrypted plaintext data.
- the step E30 is executed by the user device to send to the server S its login identifier.
- the step E31 is executed by the server S to extract from all the personal questions associated with the user n questions, randomly, and to send to the user device a subset comprising the n questions q t extracted and the n values p, - (remember that these values were obtained in step E03 of the third embodiment by means of a polynomial P and are each associated with a response cq) and the value p 0 .
- the server S sends the user the set noted ⁇ (q ⁇ Pi) ⁇ for iel and p ".
- step E32 of questions and answers each of the questions q t of the subset is put to the user, and the user enters for each question q t a response to [associated by means of an interface -man machine of the user device.
- the user device determines the polynomial P from the n responses obtained ad and n values p, - associated for example by executing a polynomial interpolation.
- step E34 the user device calculates P ⁇ po) to obtain the password pwd, where P 1 corresponds to the inverse function of the polynomial P.
- the user device temporarily stores the recovered password pwd and uses it to implement the steps of the password change phase P2.
- the value or values that were provided to the server S during the step E03 allow the user device to determine the password when it has n answers to n questions.
- the management device is a server S.
- Any storage device such as a security element, can also implement steps of the protection method as described above.
- the user device 20 adapted to implement some of the steps of the method of protecting a cryptographic key by means of a user password, according to an exemplary embodiment, will now be described in relation to FIG.
- User 20 is intended to be used by a user having an identifier and an associated password.
- Cryptographic key line is intended to decrypt at least one encrypted data.
- the user device comprises:
- CPU Central Processing Unit
- the storage memory 23 is arranged to store data and applications.
- the storage memory 23 stores a software module for protecting a sensitive cryptographic key by means of a user password arranged to implement the steps of the method of protection of a cryptographic key described above which are implemented. implemented by the user device.
- the user device 20 also comprises:
- a generation module 24 of a second cryptographic key by applying a key derivation algorithm at least to the password
- a calculation module 26 arranged to calculate a result of the application of a function to at least one answer associated with a question, the response being obtained from the user;
- a supply module 27 in particular arranged to provide the management device for storing data in association with an identifier. These data correspond to the encryption of the cryptographic key and at least one value dependent on the result, this value enabling the user device to determine the password when it has the answer to said question;
- a human-machine interface module 28 arranged to communicate with a user
- a module 29 for obtaining arranged to obtain data from the management device.
- These data may correspond to a set of questions q t, an issue having an associated response has been to be supplied by the user, these questions are obtained from a user registration phase with the management device or during a password loss management phase by the user device.
- This data may also correspond to the data that has been previously provided by the user device to the management device for storage in association with the user's identifier.
- the supply module 27 is a sending module and the obtaining module 29 is a receiving module.
- the value supplied corresponds to an encryption c t of the password pwd of the user, the user's password having been encrypted by means of a cryptographic key associated with a response to a question, and if so, the corresponding question.
- the value provided corresponds to an application of a polynomial P to at least one response associated with a question.
- module may correspond in this document to both a software component, a hardware component or a set of hardware components and / or software, able to implement a function or a set of functions, as described above for the module concerned.
- a software component corresponds to one or more computer programs, one or more subroutines of a program, or more generally to any element of a program or software.
- Such a software component is stored in memory and then loaded and executed by a data processor of a physical entity and is able to access the hardware resources of this physical entity (memories, recording media, communication buses, electronic cards of a physical entity). input / output, user interfaces, etc.).
- a material component corresponds to any element of a material set (or hardware). It may be a programmable hardware component or not, with or without an integrated processor for running software. This is for example an integrated circuit, a smart card, an electronic card for executing a firmware, etc.
- the generation 24, encryption 25, calculation 26, obtaining 29 and delivery 27 modules are software modules comprising software instructions for implementing those of the steps of the protection method of a cryptographic key by means of a password, as previously described, which are executed by the user device.
- the invention therefore also relates to:
- a computer program comprising program instructions intended to control the execution of those steps of the method of protecting a cryptographic key by means of a password as described previously implemented by a user device, when this program is executed by a processor of the user device, and
- the software modules can be stored in or transmitted by a data carrier.
- a data carrier This may be a hardware storage medium, for example a CD-ROM, a magnetic diskette or a hard disk, or a transmission medium such as an electrical signal, optical or radio, or a telecommunications network.
- a management device 30, arranged to implement some of the steps of the method of protecting a cryptographic key by means of a user password, according to an exemplary embodiment, will now be described in relation to FIG.
- the management device 30 is a computer equipment which conventionally comprises:
- the storage memory 33 is arranged to memorize data and applications.
- the storage memory 33 stores a software module for protecting a cryptographic key by means of a user password arranged to implement the steps of the method of protection of a cryptographic key described above that are implemented. implemented by the management system.
- the management device also includes:
- a obtaining module 35 in particular arranged to obtain from a user device data to be stored in association with an identifier of a user.
- This data corresponds in particular to the encryption of a cryptographic key c, sent by the user device to step E01 of the protection method described above, and to a value dependent on a result calculated by the user device, this value enabling the device user to determine the password when he has the answer to a question;
- a supply module 36 arranged to provide a user device with data. These data may correspond to a set of questions q t, an issue having an associated response has been to be supplied by the user, these questions are provided in a user registration phase with the management device or during a password loss management phase by the user device. This data may also correspond to the data previously obtained from the user device by the management device for storage in association with the user's identifier.
- a storage memory 34 arranged to store the data received from a registered user device.
- the obtaining module 35 is a receiving module and the supply module 36 is a sending module.
- the received value corresponds to an encryption C j of the password pwd of the user, the password of the user having been encrypted by means of a cryptographic key associated with a response to a question and, where appropriate, the corresponding question.
- the value received corresponds to an application of a polynomial P to at least one response associated with a question.
- the obtaining module 35 and the supply module 36 are software modules comprising software instructions for implementing those of the steps of the method for protecting a cryptographic key by means of a password. pass, as described above, which are executed by the management device.
- the invention therefore also relates to:
- a computer program comprising program instructions intended to control the execution of those steps of the method of protection of a cryptographic key by means of a password as described above, implemented by a device of management, when this program is executed by a processor of the management device, and - a readable recording medium on which is recorded the computer program described above.
- the invention also relates to a system for protecting a cryptographic key by means of a user password.
- Lin such system includes:
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
L'invention concerne une technique de protection d'une clé cryptographique. Un utilisateur possède un identifiant et un mot de passe associé. Cette première clé cryptographique est destinée à déchiffrer au moins une donnée chiffrée. Le dispositif utilisateur génère (E00) une deuxième clé cryptographique en appliquant un algorithme de dérivation de clés au moins au mot de passe, puis chiffre (E01) la première clé cryptographique en appliquant un algorithme de chiffrement paramétré par la deuxième clé cryptographique. Le dispositif utilisateur fournit ensuite ce chiffré de la première clé cryptographique à un dispositif de gestion pour mémorisation. Une réponse associée à une question est obtenue de l'utilisateur. Le dispositif utilisateur calcule (E02) alors le résultat de l'application d'une fonction à au moins une réponse associée à une question, puis fournit (E03) au dispositif de gestion pour mémorisation au moins une valeur dépendante de ce résultat. Cette valeur permet ensuite au dispositif utilisateur de déterminer le mot de passe lorsqu'il dispose de la réponse à la question correspondante.
Description
Technique de protection d’une clé cryptographique au moyen d’un mot de passe utilisateur
La présente invention concerne le domaine de la sécurité des services et plus précisément le domaine de la protection des données d’un utilisateur, dites données sensibles.
Il est habituel d’assurer la protection des données d’un utilisateur au moyen d’un système cryptographique de chiffrement. Lin tel système fournit une ou plusieurs clés cryptographiques avec lesquelles il est possible de chiffrer une donnée pour la protéger, puis de déchiffrer la donnée chiffrée pour la récupérer en clair. Dans un système de cryptographie à clé secrète, la clé utilisée pour chiffrer la donnée est la même que la clé utilisée pour la déchiffrer. On comprend que cette unique clé est extrêmement sensible et doit être protégée. Dans un système de cryptographie à clé publique, la clé utilisée pour chiffrer la donnée est publique et connue de tous, alors que la clé utilisée pour déchiffrer, appelée clé privée, est sensible et doit être protégée également.
Line clé de déchiffrement, que ce soit une clé secrète d’un système de chiffrement symétrique ou une clé privée d’un système de chiffrement asymétrique, fait habituellement plusieurs centaines de bits. Il est donc compliqué pour un utilisateur de la mémoriser. Cependant, du fait de sa sensibilité, il est habituel de sécuriser l’accès à cette clé de déchiffrement.
Lin exemple connu de sécurisation de l’accès à une clé de déchiffrement repose sur l’utilisation d’un identifiant, ou login, et d’un mot de passe propres à un utilisateur et facilement mémorisables par celui-ci. Il est ainsi connu de générer et régénérer de façon déterministe une clé cryptographique, telle que la clé de déchiffrement mentionnée ci-dessus, en appliquant un algorithme de dérivation de clé, par exemple PBKDF2 (de l’anglais « Password-Based Key Dérivation Function 2 ») au login et au mot de passe de l’utilisateur. L’utilisateur n’a ainsi qu’à mémoriser son login et son mot de passe afin de régénérer à la demande sa clé de déchiffrement et accéder à ses données en clair.
Dans un deuxième exemple connu, la clé de déchiffrement de l’utilisateur est chiffrée au moyen d’un algorithme cryptographique et d’une deuxième clé cryptographique. Dans un mode de réalisation particulier, la clé de déchiffrement chiffrée ainsi obtenue est mémorisée sur un serveur distant. Sécuriser Paccès à la clé de déchiffrement de l’utilisateur revient alors à protéger l’accès à cette deuxième clé cryptographique, ce qui peut être fait par exemple selon la méthode décrite précédemment, c’est-à-dire au moyen d’un login et d’un mot de passe connus de l’utilisateur.
Si la protection d’une donnée sensible telle qu’une clé de déchiffrement est assurée au moyen de la connaissance d’un login et d’un mot de passe, alors il faut pouvoir gérer des cas où l’utilisateur souhaite modifier son mot de passe, ou tout simplement gérer la perte du mot de passe par l’utilisateur tout en garantissant la pérennité de la clé de déchiffrement destinée à accéder de manière sécurisée aux données sensibles de l’utilisateur et préalablement stockées chiffrées.
Dans un cas où le login et le mot de passe sont utilisés pour générer une clé de déchiffrement initiale, utilisée pour déchiffrer des données sensibles de G utilisateur chiffrées au moyen d’une clé de chiffrement initiale associée, alors le changement du mot de passe provoque la génération d’une nouvelle clé de déchiffrement, différente de la clé de déchiffrement initiale. Cette nouvelle clé de déchiffrement n’est donc pas adaptée pour déchiffrer les données préalablement chiffrées et prévues pour être déchiffrées au moyen de la clé de déchiffrement initiale. Afin d’éviter cette situation, il est habituel de confier la clé de déchiffrement initiale à une entité tierce, auprès de laquelle elle peut être récupérée pour accéder aux données sensibles chiffrées au moyen de la clé de chiffrement initiale. De la même manière, la perte du mot de passe nécessite qu’une entité tierce fournisse le mot de passe perdu ou la clé de déchiffrement initiale. Ce mécanisme, mis en œuvre en impliquant une entité tierce, est plus connu sous le nom de séquestre de clés. Cependant, cette entité tierce possède toutes les informations lui permettant d’accéder aux données sensibles de l’utilisateur. La confidentialité totale des données de l’utilisateur n’est donc pas garantie.
Dans le cas où une deuxième clé cryptographique est utilisée pour protéger la clé de déchiffrement et que cette autre clé est protégée au moyen d’un login et d’un mot de passe, l’oubli ou la perte du mot de passe ne permet pas de recouvrer l’autre clé, à moins que celle-ci ne soit chiffrée à l’aide d’une donnée connue également d’une entité tierce. Cependant, dans ce cas également la confidentialité totale des données sensibles de l’utilisateur n’est pas garantie.
Ainsi, la modification ou la perte d’un mot de passe, utilisé pour protéger l’accès à une clé cryptographique nécessite finalement qu’une entité tierce ait connaissance de la clé cryptographique et/ou du mot de passe et donc ait potentiellement accès aux données sensibles de l’utilisateur.
Un des buts de l’invention est de remédier à des insuffisances/inconvénients de l’état de la technique et/ou d’y apporter des améliorations.
Selon un premier aspect, il est proposé un procédé de protection d’une première clé cryptographique, un utilisateur possédant un identifiant et un mot de passe associé. Cette première clé cryptographique est destinée à déchiffrer au moins une donnée chiffrée. Ce procédé, mis en œuvre par un dispositif utilisateur, comprend :
- génération d’une deuxième clé cryptographique en appliquant un algorithme de dérivation de clés au moins au mot de passe ;
- chiffrement de la première clé cryptographique en appliquant un algorithme de chiffrement paramétré par la deuxième clé cryptographique ;
- calcul du résultat de l’application d’une fonction à au moins une réponse associée à une question, la réponse étant obtenue auprès de l’utilisateur ;
- fourniture au dispositif de gestion pour mémorisation du chiffré de ladite première clé cryptographique et d’au moins une valeur dépendante dudit résultat, ladite valeur permettant au dispositif utilisateur de déterminer le mot de passe lorsqu’il dispose de la réponse à ladite question.
Ainsi, à ce stade l’utilisateur est enregistré auprès du dispositif de gestion. Le parcours client est très simple et sécurisé pour l’utilisateur puisque rien n’est stocké au niveau du dispositif utilisateur : l’utilisateur doit uniquement se souvenir de son identifiant et de son mot de passe et être capable de répondre à une ou plusieurs questions personnelles. De plus, le dispositif de gestion ne mémorise aucune donnée lui permettant d’obtenir la clé de cryptographique pour accéder aux données sensibles de l’utilisateur.
Le dispositif de gestion peut être un serveur ou bien encore un élément de sécurité, par exemple une carte à puce.
Dans un premier mode de réalisation particulier, le résultat correspond à une troisième clé cryptographique générée en appliquant un algorithme de dérivation de clés à ladite réponse et la valeur dépendante dudit résultat correspond au chiffrement du mot de passe au moyen de la troisième clé cryptographique générée.
Ainsi, la valeur qui est mémorisée par le dispositif de gestion est protégée et n’est pas accessible par le dispositif de gestion.
Dans une variante de réalisation, le résultat correspond à une troisième clé cryptographique générée en appliquant un algorithme de dérivation de clés à cette réponse et à la question correspondante et la valeur dépendante dudit résultat correspond au chiffrement du mot de passe au moyen de la clé cryptographique générée.
Selon une caractéristique particulière, le procédé de protection comprend pour déterminer le mot de passe à partir d’une réponse obtenue par le dispositif utilisateur pour ladite question :
- obtention par le dispositif utilisateur dudit chiffré du mot de passe et de la question correspondante ;
- calcul d’une quatrième clé cryptographique en appliquant l’algorithme de dérivation de clés à la question et à la réponse obtenue auprès de l’utilisateur ;
- calcul d’un mot de passe courant en appliquant l’algorithme de déchiffrement correspondant à l’algorithme de chiffrement paramétré par la quatrième clé cryptographique calculée au chiffré du mot de passe obtenu.
Le dispositif utilisateur peut ainsi retrouver le mot de passe en cas de perte ou d’oubli de celui-ci par l’utilisateur.
Dans un deuxième mode de réalisation particulier, la fonction est un polynôme de degré (n- 1), n étant supérieur ou égal à deux, n correspondant à un nombre de questions à poser à l’utilisateur pour déterminer le mot de passe, ledit polynôme prenant la valeur du mot de passe en zéro et la valeur dépendante dudit résultat correspond audit résultat.
Ainsi, l’utilisateur doit connaître un ensemble de réponses à des questions pour que le dispositif utilisateur puisse déterminer le mot de passe courant. Une seule réponse ne suffit pas. Cette réponse pourrait être trouvée par un tiers malveillant en analysant les données disponibles sur les réseaux sociaux divulguées par G utilisateur. Ce deuxième mode de réalisation est plus sécurisé puisque l’utilisateur doit répondre correctement à n questions, le polynôme étant choisi de degré (n-l). Dans ce deuxième mode de réalisation, pour déterminer le mot de passe, le dispositif utilisateur détermine le polynôme à partir de n valeurs mémorisées par le dispositif de gestion et de n réponses aux questions obtenues auprès de l’utilisateur. Le mot de passe correspond alors à la valeur prise par le polynôme en zéro.
Dans un troisième mode de réalisation particulier, la fonction est un polynôme bijectif de degré (n-l), n étant supérieur ou égal à deux, n correspondant à un nombre de questions à poser à l’utilisateur pour déterminer le mot de passe, la valeur dépendante dudit résultat correspond audit résultat et le dispositif utilisateur fournit en outre au dispositif de gestion pour mémorisation le résultat de l’application de la fonction au mot de passe.
Ce troisième mode de réalisation présente les mêmes avantages que le deuxième mode de réalisation, tout en simplifiant la gestion du changement de mot de passe. En effet, les valeurs mémorisées par le dispositif de gestion ne sont pas modifiées lors d’un changement de mot de passe. Seule la valeur prise par le polynôme en zéro est modifiée.
Dans ce troisième mode de réalisation, pour déterminer le mot de passe, le dispositif utilisateur détermine le polynôme à partir de n valeurs mémorisées par le dispositif de gestion et de n réponses aux questions obtenues auprès de l’utilisateur. Le mot de passe est alors déterminé en appliquant le polynôme inverse à la valeur prise par le polynôme en zéro fournie lors de l’enregistrement.
Dans ces différents modes de réalisation particulier, le procédé de protection comprend en outre :
- obtention par le dispositif utilisateur du chiffré de la première clé cryptographique auprès du dispositif de gestion ;
- régénération par le dispositif utilisateur de la deuxième clé cryptographique en appliquant l’algorithme de dérivation de clés à au moins le mot de passe fourni par l’utilisateur ;
- régénération de la première clé cryptographique en appliquant l’algorithme de déchiffrement correspondant à l’algorithme de chiffrement paramétré par la deuxième clé cryptographique au chiffré de la première clé cryptographique.
Le dispositif utilisateur régénère ainsi aisément la première clé cryptographique sans que le dispositif de gestion n’ait pu y accéder.
Selon une caractéristique particulière, le procédé de protection comprend une vérification de l’intégrité de la première clé cryptographique régénérée au moyen d’une clé publique associée à
la première clé cryptographique mémorisée en association avec le chiffré de ladite première clé cryptographique.
Selon une caractéristique particulière alternative, le procédé de protection comprend une vérification de l’intégrité de la première clé cryptographique régénérée au moyen d’un chiffré de l’identifiant de l’utilisateur par ladite première clé cryptographique mémorisé en association avec le chiffré de ladite première clé cryptographique.
Dans ces différents modes de réalisation particulier, le procédé comprend pour modifier le mot de passe :
- génération par le dispositif utilisateur d’une cinquième clé cryptographique en appliquant l’algorithme de dérivation de clés à au moins un nouveau mot de passe ;
- calcul par le dispositif utilisateur d’un nouveau chiffré de la première clé cryptographique en appliquant l’algorithme de chiffrement paramétré par la cinquième clé cryptographique à la première clé cryptographique ;
- mémorisation dudit nouveau chiffré de la première clé cryptographique.
Il est ainsi simple de modifier le mot de passe.
Selon une caractéristique particulière, une preuve de connaissance est mémorisée en association avec le chiffré de la première clé cryptographique et ladite preuve de connaissance est vérifiée avant la mémorisation dudit nouveau chiffré de la première clé cryptographique.
Ceci renforce la sécurisation du procédé lors d’une modification du mot de passe.
Selon un deuxième aspect, il est proposé un dispositif utilisateur, prévu pour être utilisé par un utilisateur possédant un identifiant et un mot de passe associé, une première clé cryptographique étant destinée à déchiffrer au moins une donnée chiffrée. Ce dispositif utilisateur comprend :
- un module de génération d’une deuxième clé cryptographique en appliquant un algorithme de dérivation de clés au moins au mot de passe ;
- un module de chiffrement de la première clé cryptographique en appliquant un algorithme de chiffrement paramétré par la deuxième clé cryptographique ;
- un module de calcul, agencé pour calculer un résultat de l’application d’une fonction à au moins une réponse associée à une question, la réponse étant obtenue auprès de l’utilisateur ;
- un module de fourniture, agencé pour fournir au dispositif de gestion pour mémorisation le chiffré de ladite première clé cryptographique et au moins une valeur dépendante dudit résultat, ladite valeur permettant au dispositif utilisateur de déterminer le mot de passe lorsqu’il dispose de la réponse à ladite question.
Les avantages énoncés pour le procédé de protection selon le premier aspect sont transposables directement au dispositif utilisateur.
Ce dispositif utilisateur peut bien entendu comporter en termes structurels les différentes caractéristiques relatives au procédé de protection tel que décrit précédemment, qui peuvent être combinées ou prises isolément.
Selon un troisième aspect, il est proposé un programme pour un dispositif utilisateur, sur un support de données et chargeable dans la mémoire d’un dispositif utilisateur, comprenant des instructions de code de programme destinées à commander l’exécution des étapes du procédé de protection précédemment décrit mises en œuvre par le dispositif utilisateur, lorsque ce programme est exécuté par ce dispositif et un support d’enregistrement lisible par un dispositif sur lequel est enregistré un programme pour un dispositif.
Les avantages énoncés pour le procédé de protection selon le premier aspect sont transposables directement au programme pour un dispositif utilisateur et au support d’enregistrement.
Selon un quatrième aspect, il est proposé un dispositif de gestion comprenant :
- un module d’obtention, agencé pour obtenir en provenance d’un dispositif utilisateur pour mémorisation en association avec un identifiant d’un utilisateur un chiffré d’une première clé cryptographique et une valeur dépendante d’un résultat calculé par le dispositif utilisateur, cette valeur permettant au dispositif utilisateur de déterminer le mot de passe lorsqu’il dispose de la réponse à une question ;
- une mémoire de stockage, agencée pour mémoriser des données obtenues en provenance d’un dispositif utilisateur.
Les avantages énoncés pour le procédé de protection selon le premier aspect sont transposables directement au dispositif de gestion.
Ce dispositif de gestion peut bien entendu comporter en termes structurels les différentes caractéristiques relatives au procédé de protection tel que décrit précédemment, qui peuvent être combinées ou prises isolément.
Selon un cinquième aspect, il est proposé un programme pour un dispositif de gestion, sur un support de données et chargeable dans la mémoire d’un dispositif de gestion, comprenant des instructions de code de programme destinées à commander l’exécution de celles des étapes du procédé de protection précédemment décrit mises en œuvre par le dispositif de gestion, lorsque ce programme est exécuté par ce dispositif et un support d’enregistrement lisible par un dispositif sur lequel est enregistré un programme pour un dispositif.
Les avantages énoncés pour le procédé de protection selon le premier aspect sont transposables directement au programme pour un dispositif de gestion et au support d’ enregistrement.
Selon un sixième aspect, il est proposé un système de protection d’une première clé cryptographique comprenant un dispositif de gestion selon le quatrième aspect et un dispositif utilisateur selon le deuxième aspect.
Les avantages énoncés pour le procédé de protection selon le premier aspect sont transposables directement au système de protection.
La technique de protection d’une clé cryptographique au moyen d’un mot de passe utilisateur sera mieux comprise à l'aide de la description suivante de modes de réalisation particuliers, en référence aux dessins annexés sur lesquels :
- les figures la, lb, le et ld représentent des étapes de différentes phases d’un procédé de protection d’une clé cryptographique au moyen d’un mot de passe utilisateur, selon un exemple de réalisation ;
- la figure 2 est une représentation schématique d’un dispositif utilisateur apte à mettre en œuvre des étapes du procédé de protection d’une clé cryptographique au moyen d’un mot de passe utilisateur, selon un exemple de réalisation ;
- la figure 3 est une représentation schématique d’un dispositif de gestion apte à mettre en œuvre des étapes du procédé de protection d’une clé cryptographique au moyen d’un mot de passe utilisateur, selon un exemple de réalisation.
Les étapes d’un procédé de protection d’une clé cryptographique au moyen d’un mot de passe utilisateur vont maintenant être décrites en relation avec les figures la, lb, le et ld.
On suppose qu’un utilisateur possède une clé cryptographique, dite sensible, notée sk, destinée à être utilisée pour déchiffrer des données qui sont propres à l’utilisateur, dites données sensibles. Cette clé cryptographique est une clé sensible dans le sens où sa divulgation permet à une personne l’ayant obtenue d’accéder à l’ensemble des données sensibles de l’utilisateur qui ont été préalablement chiffrées. L’utilisateur est équipé d’un dispositif tel qu’un ordinateur personnel, un terminal mobile, etc. Pour des raisons de simplification, dans la suite de la description le dispositif et l’utilisateur sont associés et on appelle « dispositif utilisateur » ce dispositif commandé par l’utilisateur.
Dans l’exemple de réalisation décrit ici, on suppose que la clé cryptographique sensible sk est utilisée dans un système de cryptographie à clé publique, par exemple RSA (pour « Rivest Shamir et Adleman »). Dans ce cas, la clé cryptographique sensible sk est une clé privée, ou clé de déchiffrement, d’un couple clé publique/clé privée, destinée à être utilisée pour déchiffrer un contenu sensible. Le chiffrement du contenu sensible est mis en œuvre au moyen de la clé publique associée, notée pk. Ces clés ont été générées au moyen d’un algorithme de génération de clés et respectent une relation notée PKGen. Ainsi, pk = PKGen(sk). A noter qu’un système de chiffrement à clé publique est habituellement utilisé pour gérer des clés dites long-terme. Ce système est donc bien adapté au cas d’usage décrit ici.
Cependant le procédé décrit ici s’applique également à un cas où la clé cryptographique sensible est utilisée dans un système cryptographique à clé secrète.
On suppose qu’à l’utilisateur est associé un couple comprenant un identifiant login et un mot de passe pwd qu’il est seul à connaître. On suppose par ailleurs qu’à l’utilisateur est associé un ensemble de l questions personnelles et de l réponses cq associées, ie[l, l ], l étant supérieur ou
égal à un, qu’il est seul à connaître. Il s’agit par exemple du nom de jeune fille de sa mère, du nom de l’animal de compagnie de son enfance, etc.
Le procédé de protection mis en œuvre par le dispositif utilisateur et par un dispositif de gestion est décrit dans un premier mode de réalisation.
Dans une phase initiale PO d’enregistrement, illustrée par la figure la, l’utilisateur s’enregistre auprès d’un serveur S, dit dispositif de gestion, afin que ce dernier protège sa clé cryptographique sensible sk, tout en gérant des modifications voire des pertes du mot de passe de l’utilisateur. L’utilisateur et par conséquent le dispositif utilisateur est identifié auprès du serveur S par son identifiant login ; le serveur S n’a par contre pas connaissance du mot de passe pwd de l’utilisateur.
Dans un premier temps, la clé cryptographique sensible sk de l’utilisateur est chiffrée par le dispositif utilisateur au moyen d’une deuxième clé cryptographique notée k, dérivée du mot de passe et du login de l’utilisateur au moyen d’une fonction de dérivation de clés, par exemple PBKDF2 (pour « Password-Based Key Dérivation Function 2 »).
Dans une étape initiale E00 de génération de clé, la deuxième clé cryptographique k est générée par le dispositif utilisateur en appliquant un algorithme de dérivation de clé à l’identifiant login et au mot de passe pwd de l’utilisateur. Par exemple, k = PBKDF2(login\ \pwd), où l’opérateur ΊG représente la concaténation.
Dans une étape suivante E01 de chiffrement et d’envoi, la clé cryptographique sensible sk de l’utilisateur est chiffrée par le dispositif utilisateur au moyen de la deuxième clé cryptographique k générée au cours de l’étape précédente E00. Par exemple, l’algorithme de cryptographie à clé secrète AES (de l’anglais « Advanced Encryption Standard »), paramétré par la deuxième clé cryptographique k est appliqué à la clé cryptographique sensible sk de l’utilisateur afin d’obtenir le chiffré de la clé cryptographique sensible, noté c. Ainsi, c = AESEnc(k, sk). A l’issue de l’étape E01, le dispositif utilisateur envoie le chiffré de la clé cryptographique sensible c au serveur S pour mémorisation en association avec l’identifiant login de l’utilisateur.
Dans une étape E01’ optionnelle, représentée en pointillés sur la figure la, le dispositif utilisateur envoie également la clé publique pk au serveur S, qui la mémorise en association avec l’identifiant login. L’envoi de la clé publique pk est destiné à permettre au dispositif utilisateur de vérifier l’intégrité de la clé cryptographique sensible sk lors de sa régénération. Ceci évite ainsi au dispositif utilisateur de mémoriser la clé publique pk.
Dans une étape E02, le dispositif utilisateur calcule un résultat de l’application d’une fonction à au moins une réponse at associée à une question qt. Dans ce premier mode de réalisation, le résultat correspond à une clé cryptographique générée en appliquant un algorithme de dérivation de clés à la réponse cqet à la question correspondante qt. Plus précisément, pour chacun des couples de questions personnelles et de réponses associées ( L, cq ), une clé cryptographique
associée à la question cq et à la réponse a j est générée en utilisant un algorithme de génération de clés tel que celui utilisé au cours de l’étape E00. La clé associée au couple i est notée /q. Ainsi, pour chaque i e [ 1, Z],
= PBKDF2 login\ \qi \ \ at). Aucune limitation n’est attachée à l’algorithme de génération de clés utilisé à cette étape, un algorithme différent de celui de l’étape E00 pouvant être utilisé.
Dans une étape suivante E03, le dispositif utilisateur fournit au serveur S pour mémorisation au moins une valeur dépendante du résultat. Plus précisément, dans ce premier mode de réalisation, le dispositif utilisateur chiffre le mot de passe pwd de l’utilisateur pour chaque clé /q générée associée au couple i formé de la question qt et à la réponse associée a On peut par exemple, comme à l’étape E01, utiliser l’algorithme AES. Les chiffrés du mot de passe pwd obtenus sont notés Cj . Ainsi, Cj = AESEnc ki, pwd). Puis, les chiffrés Cj du mot de passe pwd sont envoyés au serveur S, qui les mémorise en association avec l’identifiant login. Aucune limitation n’est attachée à l’algorithme de chiffrement utilisé à cette étape, un algorithme différent de celui de l’étape E01 pouvant être utilisé.
Ainsi, au terme des étapes E00 à E03, dans ce premier mode de réalisation, le serveur S mémorise en association avec l’identifiant login de l’utilisateur, le chiffré c de la clé cryptographique sensible sk de l’utilisateur, les chiffrés obtenus en chiffrant le mot de passe pwd de l’utilisateur au moyen de chaque clé /q associée au couple (cq, cq) et optionnellement la clé publique pk. Les chiffrés Cj permettent, comme cela est décrit ultérieurement, au dispositif utilisateur de déterminer le mot de passe en fonction d’une réponse à une question posée à l’utilisateur.
Dans une variante de réalisation du premier mode de réalisation, à l’étape E02, le dispositif utilisateur calcule un résultat de l’application d’une fonction à au moins une réponse cq associée à une question cq. Dans cette variante, le résultat correspond à une clé cryptographique générée en appliquant un algorithme de dérivation de clés à la réponse cq . Plus précisément, pour chacune des réponses cq , une clé cryptographique associée à la réponse cq est générée en utilisant un algorithme de génération de clés, par exemple celui utilisé au cours de l’étape E00. La clé associée au couple i est notée /q. Ainsi, pour chaque i e \ 1, Z], /q = PBKDF2(login\ \ cq). Aucune limitation n’est attachée à l’algorithme de génération de clés utilisé à cette étape, un algorithme différent de celui de l’étape E00 pouvant être utilisé.
A l’étape E03, le dispositif utilisateur chiffre le mot de passe pwd de l’utilisateur pour chaque clé /q générée associée à la réponse cq. Puis, les chiffrés du mot de passe pwd sont envoyés au serveur S, qui les mémorisent en association avec l’identifiant login.
Ainsi, au terme des étapes E00 à E03, dans cette variante du premier mode de réalisation, le serveur S mémorise en association avec l’identifiant login de l’utilisateur, le chiffré c de la clé cryptographique sensible sk de l’utilisateur, les chiffrés obtenus en chiffrant le mot de passe pwd
de l’utilisateur au moyen de chaque clé /q associée à une réponse a j et optionnellement la clé publique pk. Les chiffrés Cj permettent, comme cela est décrit ultérieurement, au dispositif utilisateur de déterminer le mot de passe en fonction d’une réponse à une question posée à l’utilisateur.
Dans un mode de réalisation particulier, lorsque la clé cryptographique sensible de l’utilisateur est utilisée dans un système de chiffrement à clé sécrète, à l’étape E01’, le dispositif utilisateur détermine un chiffré c déterministe de l’identifiant login par la clé cryptographique sensible sk, noté c = DetEnc sk, login), puis envoie le chiffré c au serveur S, qui le mémorise en association avec l’identifiant login. L’envoi chiffré c est destiné à permettre au dispositif utilisateur de vérifier l’intégrité de la clé cryptographique sensible sk lors de sa régénération. Ainsi, au terme des étapes E00 à E03, le serveur S mémorise en association avec l’identifiant login de l’utilisateur, le chiffré c de la clé cryptographique sensible sk de l’utilisateur, les chiffrés q obtenus en chiffrant le mot de passe pwd de l’utilisateur au moyen de chaque clé /q associées aux réponses a,- et le cas échéant, aux questions qt correspondantes et optionnellement le chiffré c.
Il est souligné que l’utilisateur mémorise uniquement son identifiant login et son mot de passe pwd. Il connaît par ailleurs les réponses aux questions personnelles. Il n’a pas à mémoriser une clé sensible telle que sa clé cryptographique sensible sk, la deuxième clé cryptographique k ou l’ensemble des clés /q associées aux réponses a,- et, le cas échéant, aux questions
correspondantes. Le dispositif utilisateur ne les mémorise également pas.
Il est également souligné que le serveur S mémorise des données protégées ou chiffrées. Ne détenant pas la clé k utilisée pour chiffrer la clé cryptographique sensible sk de l’utilisateur, cette clé k ayant été générée et utilisée sur le dispositif utilisateur, le serveur S est donc incapable de recouvrer la clé cryptographique sensible sk de l’utilisateur et d’accéder aux données sensibles de l’utilisateur protégées par cette clé sk. De plus, le serveur S est incapable de recouvrer des clés /q associées aux réponses
et, le cas échéant, aux questions qt correspondantes et ne peut donc obtenir le mot de passe pwd.
Tel que décrit précédemment, le chiffré de la clé cryptographique sensible c et les chiffrés Cj du mot de passe pwd sont envoyés au serveur S au cours de deux étapes différentes (E01 et E03) pour mémorisation en association avec l’identifiant login de l’utilisateur. Il est bien entendu qu’il ne s’agit que d’un exemple de réalisation et que le dispositif utilisateur peut également envoyer au serveur S le chiffré de la clé cryptographique sensible c et les chiffrés Cj du mot de passe pwd en une seule fois au cours de l’étape E03 pour mémorisation en association avec l’identifiant login de l’utilisateur.
Dans une phase suivante Pl de recouvrement de la clé cryptographique sensible de l’utilisateur, illustrée par la figure lb, le dispositif utilisateur recouvre la clé cryptographique sensible sk afin d’utiliser cette clé pour accéder en clair à des données de l’utilisateur.
Plus précisément dans une étape E10 d’envoi d’une requête, le dispositif utilisateur envoie au serveur S une requête d’obtention du chiffré de la clé cryptographique sensible c, cette requête comprenant son identifiant login.
Dans une étape suivante El l de réponse, le serveur S envoie au dispositif utilisateur le chiffré de la clé cryptographique sensible c et optionnellement la clé publique pk associée à la clé cryptographique sensible sk.
Dans une étape suivante E12 d’obtention de la deuxième clé cryptographique, le dispositif utilisateur régénère la deuxième clé cryptographique k en appliquant l’algorithme de dérivation de clé utilisé au cours de l’étape E00, en l’espèce PBKDF2, à son identifiant login et à son mot de passe pwd. Ainsi, k = PBKDF2(login\ \pwd).
Dans une étape suivante E13 d’obtention de la clé cryptographique sensible, le dispositif utilisateur régénère sa clé cryptographique sensible sk en appliquant G algorithme de déchiffrement correspondant à l’algorithme de chiffrement utilisé au cours de l’étape E01, en l’espèce AES, au chiffré de la clé cryptographique c et à la deuxième clé cryptographique k qu’il a régénérée au cours de l’étape précédente E12. En d’autres termes, il calcule : sk = AESDec(k, c).
Dans une étape optionnelle E14 de contrôle, le dispositif utilisateur vérifie l’intégrité de la clé cryptographique sensible sk régénérée au moyen de la clé publique pk associée en vérifiant que la clé publique pk est bien associée à la clé cryptographique sensible sk au moyen de l’algorithme de génération de clés PKGen. A cette fin le dispositif utilisateur vérifie l’égalité suivante : pk = PKGen sk ).
Dans un mode de réalisation particulier, lorsque la clé cryptographique sensible de G utilisateur est utilisée dans un système de chiffrement à clé sécrète, à l’étape El l, le serveur S envoie au dispositif utilisateur le chiffré de la clé cryptographique sensible c et optionnellement le chiffré c. A l’étape E14, le dispositif utilisateur vérifie l’intégrité de la clé cryptographique sensible sk régénérée. Plus précisément, le dispositif utilisateur détermine un chiffré £' déterministe de l’identifiant login par la clé cryptographique sensible sk, noté c = DetEnc sk, login ) et vérifie que ce chiffré £' est bien égal au chiffré c reçu du serveur S.
Au terme de cette phase Pl, le dispositif utilisateur peut utiliser sa clé cryptographique sensible sk pour déchiffrer des données sensibles qu’il a mémorisées chiffrées.
Dans une phase P2 de modification du mot de passe, illustrée par la figure le et indépendante de la phase Pl de recouvrement de la clé cryptographique sensible de l’utilisateur, l’utilisateur souhaite modifier son mot de passe pwd. Par exemple, ce mot de passe a été
compromis, ou l’utilisateur a été sollicité pour modifier ce mot de passe après une période prédéterminée. A noter que la phase de modification du mot de passe ne peut bien sûr être mise en œuvre qu’ après la phase PO d’enregistrement. L’utilisateur souhaite modifier son mot de passe pwd en un nouveau mot de passe, noté pwd’.
A cette fin, l’utilisateur recouvre préalablement sa clé cryptographique sensible sk. Il met en œuvre les étapes El0 à El4 de la phase Pl de recouvrement de la clé cryptographique sensible telles que décrites précédemment.
Dans une étape E20 de génération d’une troisième clé cryptographique, similaire à l’étape E00 décrite précédemment, le dispositif utilisateur génère une troisième clé cryptographique k’ au moyen de son nouveau mot de passe pwd’. A cette fin il applique le même algorithme de dérivation de clés, que celui utilisé au cours de l’étape E00, en l’espèce PBKDF2, à son identifiant login et à son nouveau mot de passe pwd’. Ainsi, il calcule : k' = PBKDF2(login\ \ wd').
Dans une étape suivante E21 de chiffrement de la clé cryptographique sensible, similaire à l’étape E01 décrite précédemment, le dispositif utilisateur chiffre sa clé cryptographique sensible sk au moyen de la troisième clé cryptographique k’ générée au cours de l’étape précédente E20 en utilisant le même algorithme de chiffrement que celui utilisé au cours de l’étape E01. Ainsi, le dispositif utilisateur calcule un nouveau chiffré de la clé cryptographique sensible sk noté c’ de la façon suivante : c' = AESEncÇk' , sk). Le dispositif utilisateur met également en œuvre l’étape E03 de la phase PO d’enregistrement, décrite précédemment, afin de mettre à jour les chiffrés c{ en fonction du nouveau mot de passe pwd’. On rappelle que
= AESEnc(ki, pwd' ).
Dans une étape suivante E22 de preuve de connaissance de la clé cryptographique sensible sk, le dispositif utilisateur calcule une preuve de connaissance p non interactive à divulgation nulle de connaissance de la clé cryptographique sensible sk avec contrôle d’intégrité du nouveau chiffré c’ de la clé cryptographique sensible sk. La preuve de connaissance p est destinée à garantir au serveur S que le dispositif utilisateur connaît la clé cryptographique sensible sk. Cette vérification est un préalable au remplacement du chiffré c de la clé cryptographique sensible sk par le nouveau chiffré c’ de cette même clé cryptographique sensible dans la mémoire de stockage du serveur S.
Dans un exemple de réalisation, la preuve de connaissance p de type NIZK (de l’anglais « Non-Interactive Zero-knowledge proof of Knowledge ») repose sur le schéma de chiffrement à clé publique EL Gamal. Avec un tel schéma, la clé privée sk est de la forme sk = x, x e Zv *, p étant un nombre premier, et la clé publique associée est de la forme pk = y = gx,g e G, G étant un groupe d’ordre premier p. La preuve de connaissance NIZK p peut être faite en utilisant la signature de Schnorr, r e Zp, t = gr , d = H \ |t| |c'), où H est une fonction de hachage, et s = r— ex (mod p), et la preuve de connaissance NIZK p = (d, s). Elle peut être vérifiée en testant si d = H(y\ \ydgs \ \ c').
Dans une étape suivante E23 d’envoi, le dispositif utilisateur envoie au serveur S son identifiant login, le nouveau chiffré c’ de la clé cryptographique sensible sk , les nouveaux chiffrés c{ du mot de passe pwd’ et la preuve de connaissance p calculée au cours de l’étape E22.
Dans une étape suivante E24 de vérification et de remplacement, le serveur S vérifie la preuve de connaissance p et si celle-ci est correcte, le serveur S remplace dans sa mémoire de stockage le chiffré c de la clé cryptographique sensible sk par le nouveau chiffré c’ de cette même clé et les nouveaux chiffrés c{ en association avec l’identifiant login.
Dans un mode de réalisation particulier, lorsque la clé cryptographique sensible de l’utilisateur est utilisée dans un système de chiffrement à clé sécrète, à l’étape E22, le dispositif utilisateur calcule une preuve de connaissance p non interactive à divulgation nulle de connaissance de la clé cryptographique sensible sk avec contrôle d’intégrité du nouveau chiffré c’ de la clé cryptographique sensible sk. Dans un exemple de réalisation, la preuve de connaissance p de type NIZK s’appuie sur le chiffré c = DetEnc sk, login). Il faut alors utiliser un chiffrement déterministe avec une structure algébrique pour être efficace. Des exemples de ce type de chiffrement sont décrits dans G article « On notions of Security for Deterministic Encryption, and Efficient Constructions with Random Oracles » de A. Boldyreva, S. Fehr et A. O’Neill publié dans les actes de la conférence CRYPTO 2008.
Ainsi, le mot de passe pwd est modifié en un nouveau mot de passe pwd’ , le nouveau chiffré c’ de la clé cryptographique sensible sk calculé au moyen de la troisième clé cryptographique k’ dérivée du nouveau mot de passe pwd’ . les nouveaux chiffrés c{ sont mémorisés par le serveur S sans que ce dernier n’accède à aucun moment à la clé cryptographique sensible sk de l’utilisateur. Le serveur ne peut ainsi à aucun moment accéder aux données en clair de l’utilisateur.
Le dispositif utilisateur peut ensuite mettre en œuvre la phase Pl de recouvrement décrite précédemment afin de recouvrer la clé cryptographique sensible sk à partir du nouveau mot de passe pwd’ et l’utiliser pour accéder à ses données en clair.
Dans une phase P3 de gestion d’une perte de mot de passe, illustrée par la figure ld et indépendante de la phase Pl de recouvrement de la clé cryptographique sensible de l’utilisateur et de la phase P2 de modification du mot de passe décrites précédemment, l’utilisateur qui a oublié ou perdu son mot de passe souhaite recouvrer sa clé cryptographique sensible sk afin d’accéder à ses données mémorisées chiffrées. A noter que la phase P3 de gestion d’une perte de mot de passe ne peut bien sûr être mise en œuvre qu’ après la phase PO d’enregistrement.
Dans une étape E30 d’envoi d’un identifiant, le dispositif utilisateur envoie au serveur S son identifiant login.
Dans une étape suivante E31 de sélection et d’envoi, le serveur S extrait de l’ensemble des l questions personnelles qt associé à l’utilisateur n questions, n £ l, de façon aléatoire. On note / l’ensemble des indices associés aux n questions. Le serveur S envoie alors au dispositif utilisateur un sous-ensemble comprenant les n questions qt extraites et les n chiffrés Cj du mot de passe pwd (on rappelle que ces chiffrés ont été obtenus à l’étape E03 au moyen des clés kL associées aux questions qt et aux réponses cq calculées au cours de l’étape E02). Ainsi, le serveur S envoie à l’utilisateur le sous-ensemble noté {(¾;, Cj))ie/· On souligne ici que dans ce premier mode de réalisation, ce sous-ensemble peut comprendre uniquement une question et le chiffré du mot de passe associé.
Dans une étape E32 de questions-réponses, chacune des questions iq du sous-ensemble {(¾;, Cj))ie/ est posée à l’utilisateur, et l’utilisateur saisit pour chaque question qt une réponse ci- associée au moyen d’une interface -homme machine du dispositif utilisateur.
Dans une étape suivante E33 de calcul, il est calculé à partir de chaque question qt et de chaque réponse a[ fournie par l’utilisateur au cours de l’étape précédente, un sous-ensemble de clés cryptographiques k[, i e l, chaque clé k[ de ce sous-ensemble étant associée à la question qt en utilisant le même algorithme de génération de clés que celui utilisé au cours de l’étape E02. La clé associée à la ième question qt et à la réponse a- associée est notée k[. Ainsi, pour chaque i e I k[ = PBKDF2 login\ \qi \ \ a ). Dans la variante décrite précédemment, pour chaque i e l k[ = PBKDF2(login\ \ a ).
Dans une étape suivante E34 de recouvrement du mot de passe, il est calculé pour chaque i e l, un mot de passe courant, noté pwdi, en déchiffrant les n chiffrés q du mot de passe pwd au moyen des clés k[ calculées précédemment. On rappelle que lors de la phase d’enregistrement PO, plus précisément au cours de l’étape E03 de chiffrement et d’envoi, le mot de passe pwd de l’utilisateur a été chiffré par le dispositif utilisateur au moyen de chacune des clés /q associées aux réponses et, le cas échéant, aux questions qt correspondantes et que les chiffrés Cj ainsi obtenus ont ensuite été envoyés au serveur S. L’algorithme de déchiffrement correspondant à l’algorithme de chiffrement utilisé au cours de l’étape E03 est utilisé. Ainsi, il est calculé pour i e l, pwdt = AESDec k^' Cj). On comprend que si l’utilisateur ne s’est trompé dans aucune des réponses a[, c’est-à-dire lorsque cq- = cq, alors tous les mots de passe pwdt sont identiques, et correspondent au mot de passe pwd de l’utilisateur.
Le dispositif utilisateur mémorise temporairement le mot de passe recouvré pwd et l’utilise pour mettre en œuvre les étapes de la phase P2 de modification du mot de passe. En effet, il est conseillé de modifier ce mot de passe, précédemment oublié. Dans un exemple de réalisation, l’ensemble des mots de passe pwdi calculés précédemment sont identiques au mot de passe pwd que l’utilisateur a oublié. Cela signifie que l’utilisateur ne s’est trompé dans aucune des réponses cq· qu’il a fournies au cours de l’étape E32.
Dans un deuxième exemple de réalisation, correspondant à un cas où l’utilisateur a fourni quelques réponses a[ erronées, alors l’utilisateur mémorise comme mot de passe recouvré pwd celui qui apparaît le plus grand nombre de fois au cours de l’étape E34 de recouvrement.
Ainsi, le ou les chiffrés qui ont été fournis au dispositif de gestion lors de l’étape E03 permettent au dispositif utilisateur de déterminer le mot de passe lorsqu’il dispose de n réponse(s) à n question(s).
Dans un exemple de réalisation, un tiers peut connaître, soit par chance soit par connaissance de détails de la vie de l’utilisateur via un réseau social par exemple, une ou plusieurs des réponses aL aux questions qt. Dans ce cas, le tiers peut mettre en œuvre les étapes de la phase P3 de gestion d’une perte de mot de passe et essayer tous les mots de passe pwd, recouvrés au cours de l’étape E34 jusqu’à trouver un mot de passe pwd, qui correspond au mot de passe pwd de l’utilisateur. Le tiers pourrait alors obtenir la clé cryptographique sensible sk de l’utilisateur et accéder à ses données en clair. Afin de pallier une telle attaque, il est possible de contraindre l’utilisateur à répondre à l’ensemble des questions posées dans le cas d’une perte de mot de passe.
Dans un deuxième mode de réalisation particulier, lors de la phase initiale PO d’enregistrement, les étapes E00 de génération de clé deuxième clé cryptographique k, E01 de chiffrement de la clé cryptographique sensible sk de l’utilisateur par le dispositif utilisateur au moyen de la deuxième clé cryptographique k générée au cours de l’étape précédente E00 sont exécutées. Dans une variante, l’étape E01’ est également mise en œuvre.
On suppose que le serveur S a envoyé un entier n, n étant supérieur ou égal à deux, au dispositif utilisateur, par exemple avec les questions personnelles /,.
A l’étape E02, le dispositif utilisateur choisit un polynôme P de degré n-1 tel que P(0)=pwd et calcule pour chaque réponse a, la valeur pL = P(cLi). Ainsi, dans ce deuxième mode de réalisation, le résultat correspond à l’application du polynôme P à au moins une réponse associée à une question.
A l’étape E03, le dispositif utilisateur envoie au serveur S les valeurs p{ calculées pour chaque i e [1, l ] pour mémorisation en association avec l’identifiant de l’utilisateur login. Dans ce deuxième mode de réalisation, le résultat est directement envoyé au serveur S.
Ainsi, au terme des étapes E00 à E03, dans ce deuxième mode de réalisation, le serveur S mémorise en association avec l’identifiant login de l’utilisateur, le chiffré c de la clé cryptographique sensible sk de l’utilisateur, les valeurs pL obtenues en appliquant le polynôme P aux réponses a, et optionnellement la clé publique pk ou le chiffré c selon les exemples de réalisation. Les valeurs pL permettent, comme cela est décrit ultérieurement, au dispositif utilisateur de déterminer le mot de passe en fonction d’une réponse à une question posée à l’utilisateur.
Tel que décrit précédemment, le chiffré de la clé cryptographique sensible c et les valeurs Pi obtenues en appliquant le polynôme P aux réponses a* sont envoyées au serveur S au cours de deux étapes différentes (E01 et E03) pour mémorisation en association avec l’identifiant login de l’utilisateur. Il est bien entendu qu’il ne s’agit que d’un exemple de réalisation et que le dispositif utilisateur peut également envoyer au serveur S le chiffré de la clé cryptographique sensible c et les valeurs pL en une seule fois au cours de l’étape E03 pour mémorisation en association avec l’identifiant login de l’utilisateur.
La phase Pl de recouvrement de la clé cryptographique est inchangée dans ce deuxième mode de réalisation.
La phase P2 de modification du mot de passe va maintenant être décrite dans ce deuxième mode de réalisation. L’utilisateur souhaite modifier son mot de passe pwd en un nouveau mot de passe, noté pwd’.
A cette fin, l’utilisateur recouvre préalablement sa clé cryptographique sensible sk. Il met en œuvre les étapes El0 à El4 de la phase Pl de recouvrement de la clé cryptographique telles que décrites précédemment.
L’étape E20 de génération d’une troisième clé cryptographique, décrite précédemment en relation avec le premier mode de réalisation, est exécutée pour générer une troisième clé cryptographique k’ au moyen du nouveau mot de passe pwd’. L’étape E21, décrite précédemment en relation avec le premier mode de réalisation, est également exécutée pour chiffrer la clé cryptographique sensible sk au moyen de la troisième clé cryptographique k’, soit le nouveau chiffré c’. L’étape E22, décrite précédemment en relation avec le premier mode de réalisation, est exécutée pour calculer une preuve de connaissance p non interactive à divulgation nulle de connaissance de la clé cryptographique sensible sk avec contrôle d’intégrité du nouveau chiffré c’ de la clé cryptographique sensible sk.
L’étape E23 d’envoi, décrite précédemment en relation avec le premier mode de réalisation, est exécutée pour envoyer au serveur S l’identifiant login, le nouveau chiffré c’ de la clé cryptographique sensible sk et la preuve de connaissance p calculée au cours de l’étape E22.
Le serveur S exécute l’étape E24 pour vérifier la preuve de connaissance p.
Si la preuve de connaissance est correcte, le serveur S envoie au dispositif utilisateur un ensemble de l questions qt pour chaque i e [1, Z].
Comme décrit précédemment pour l’étape E02 de ce deuxième mode de réalisation, le dispositif utilisateur choisit un polynôme P’ de degré n-1 tel que P’(0)=pwd’ et calcule pour chaque réponse a* la valeur r,’ = P’ (ai).
Comme décrit précédemment pour l’étape E03 de ce deuxième mode de réalisation, le dispositif utilisateur envoie au serveur S les valeurs pi’ calculées pour chaque i e [IJ] pour remplacer dans sa mémoire de stockage les valeurs précédentes p,. Le serveur S mémorise ainsi en
association avec l’identifiant de l’utilisateur login le nouveau chiffré c’ de la clé cryptographique sensible sk et les nouvelles valeurs p, '.
Les variantes décrites précédemment en relation avec le premier mode de réalisation pour cette phase P2 de modification du mot de passe sont également applicables.
Ainsi, le mot de passe pwd est modifié en un nouveau mot de passe pwd’ ; le nouveau chiffré c’ de la clé cryptographique sensible sk calculé au moyen de la troisième clé cryptographique k’ dérivée du nouveau mot de passe pwd’ et les nouveaux chiffrés Cj sont mémorisés par le serveur S sans que ce dernier n’accède à aucun moment à la clé cryptographique sensible sk de l’utilisateur. Le serveur ne peut ainsi à aucun moment accéder aux données en clair de l’utilisateur.
La phase P3 de gestion de perte du mot de passe va maintenant être décrite dans ce deuxième mode de réalisation. L’utilisateur a oublié ou perdu son mot de passe et souhaite recouvrer sa clé cryptographique sensible sk afin d’accéder à ses données mémorisées chiffrées.
L’étape E30 est exécutée par le dispositif utilisateur pour envoyer au serveur S son identifiant login.
L’étape E31 est exécutée par le serveur S pour extraire de l’ensemble des l questions personnelles associé à l’utilisateur n questions, n £ l, de façon aléatoire et pour envoyer au dispositif utilisateur un sous-ensemble comprenant les n questions qt extraites et les n valeurs p, (on rappelle que ces valeurs ont été obtenues à l’étape E03 du deuxième mode de réalisation au moyen d’un polynôme P et sont chacune associées à une réponse ai). Ainsi, le serveur S envoie à l’utilisateur l’ensemble noté {( qt , t )) pour iel.
A l’étape E32 de questions-réponses, chacune des questions qt du sous-ensemble est posée à l’utilisateur, et l’utilisateur saisit pour chaque question qt une réponse a\ associée au moyen d’une interface -homme machine du dispositif utilisateur.
A l’étape E33 de calcul, le dispositif utilisateur détermine le polynôme P à partir des n réponses obtenues a\ et des n valeurs p,- associées par exemple en exécutant une interpolation de Lagrange.
A l’étape E34, le dispositif utilisateur calcule P(0) pour obtenir le mot de passe pwd.
Le dispositif utilisateur mémorise temporairement le mot de passe recouvré pwd et l’utilise pour mettre en œuvre les étapes de la phase P2 de modification du mot de passe.
Ainsi, la ou les valeurs qui ont été fournies au serveur S lors de l’étape E03 permettent au dispositif utilisateur de déterminer le mot de passe lorsqu’il dispose des n réponses aux n questions.
Dans un troisième mode de réalisation particulier, lors de la phase initiale PO d’enregistrement, les étapes E00 de génération de clé d’une deuxième clé cryptographique k, E01 de chiffrement de la clé cryptographique sensible sk de l’utilisateur par le dispositif utilisateur au
moyen de la deuxième clé cryptographique k générée au cours de l’étape précédente E00 sont exécutées. Dans une variante, l’étape E0G est également mise en œuvre.
On suppose que le serveur S a envoyé un entier n au dispositif utilisateur, par exemple avec les questions personnelles <7,·.
A l’étape E02, le dispositif utilisateur choisit un polynôme bijectif P de degré n-1. A titre d’exemple illustratif, lorsque n vaut deux, le polynôme est de degré un et est toujours bijectif. Pour des degrés de polynôme plus élevés, des restrictions sur le domaine en entrée et/ou sur le domaine en sortie peuvent permettre d’atteindre le même but.
Toujours à l’étape E02, le dispositif utilisateur calcule pour chaque réponse
la valeur Pi = P ai) ainsi que p0= P(pwd). Ainsi, dans ce troisième mode de réalisation, le résultat correspond à l’application du polynôme P à au moins une réponse associée à une question.
A l’étape E03, le dispositif utilisateur envoie au serveur S les valeurs p{ calculées pour chaque i e [1, l ] et la valeur p0 pour mémorisation en association avec l’identifiant de l’utilisateur login. Dans ce troisième mode de réalisation, le résultat est directement envoyé au serveur S.
Ainsi, au terme des étapes E00 à E03, dans ce troisième mode de réalisation, le serveur S mémorise en association avec l’identifiant login de l’utilisateur, le chiffré c de la clé cryptographique sensible sk de l’utilisateur, les valeurs pL obtenues en appliquant le polynôme P aux réponses ah la valeur p0 et optionnellement la clé publique pk ou le chiffré c selon les exemples de réalisation. Les valeurs pL permettent, comme cela est décrit ultérieurement, au dispositif utilisateur de déterminer le mot de passe en fonction de n réponses à n questions posées à l’utilisateur.
Tel que décrit précédemment, le chiffré de la clé cryptographique sensible c, la valeur p0 et les valeurs pL obtenues en appliquant le polynôme P aux réponses a,- sont envoyées au serveur S au cours de deux étapes différentes (E01 et E03) pour mémorisation en association avec l’identifiant login de l’utilisateur. Il est bien entendu qu’il ne s’agit que d’un exemple de réalisation et que le dispositif utilisateur peut également envoyer au serveur S le chiffré de la clé cryptographique sensible c, la valeur p0 et les valeurs pL en une seule fois au cours de l’étape E03 pour mémorisation en association avec l’identifiant login de l’utilisateur.
La phase Pl de recouvrement de la clé cryptographique est inchangée dans ce troisième mode de réalisation.
La phase P2 de modification du mot de passe va maintenant être décrite dans ce troisième mode de réalisation. L’utilisateur souhaite modifier son mot de passe pwd en un nouveau mot de passe, noté pwd’.
A cette fin, l’utilisateur recouvre préalablement sa clé cryptographique sensible sk. Il met en œuvre les étapes El0 à El4 de la phase Pl de recouvrement de la clé cryptographique sensible telles que décrites précédemment.
L’étape E20 de génération d’une troisième clé cryptographique, décrite précédemment en relation avec le premier mode de réalisation, est exécutée pour générer une troisième clé cryptographique k’ au moyen du nouveau mot de passe pwd’. L’étape E21, décrite précédemment en relation avec le premier mode de réalisation, est également exécutée pour chiffrer la clé cryptographique sensible sk au moyen de la troisième clé cryptographique k’, soit le nouveau chiffré c’. L’étape E22, décrite précédemment en relation avec le premier mode de réalisation, est exécutée pour calculer une preuve de connaissance p non interactive à divulgation nulle de connaissance de la clé cryptographique sensible sk avec contrôle d’intégrité du nouveau chiffré c’ de la clé cryptographique sensible sk.
Le serveur S envoie au dispositif utilisateur un ensemble de / questions qt pour chaque i e [l, l].
Chacune des questions qt est posée à l’utilisateur, et l’utilisateur saisit pour chaque question qt une réponse a[ associée au moyen d’une interface-homme machine du dispositif utilisateur. Le dispositif utilisateur détermine alors en fonction des valeurs p0, Pi et des réponses el le polynôme P par interpolation.
Le dispositif utilisateur détermine alors en fonction du polynôme P la valeur prise pour le mot de passe pwd’, notée p0’.
L’étape E23 d’envoi, décrite précédemment en relation avec le premier mode de réalisation, est exécutée pour envoyer au serveur S l’identifiant login, le nouveau chiffré c' de la clé cryptographique sensible k , la preuve de connaissance p calculée au cours de l’étape E22 et la valeur p0’.
Le serveur S exécute l’étape E24 pour vérifier la preuve de connaissance p.
Si la preuve de connaissance est correcte, le serveur S mémorise ainsi en association avec l’identifiant de l’utilisateur login le nouveau chiffré c’ de la clé cryptographique sensible sk et la nouvelle valeur p0’.
Les variantes décrites précédemment en relation avec le premier mode de réalisation pour cette phase P2 de modification du mot de passe sont également applicables.
Ainsi, le mot de passe pwd est modifié en un nouveau mot de passe pwd’ ; le nouveau chiffré c’ de la clé cryptographique sensible sk calculé au moyen de la troisième clé cryptographique k’ dérivée du nouveau mot de passe pwd’ et la nouvelle valeur p0’ sont mémorisés par le serveur S sans que ce dernier n’accède à aucun moment à la clé cryptographique sensible sk de l’utilisateur. Le serveur ne peut ainsi à aucun moment accéder aux données en clair de l’utilisateur. Il est ici souligné que lors de cette modification de mot de passe, les valeurs pt ne sont pas modifiées.
La phase P3 de gestion de perte du mot de passe va maintenant être décrite dans ce troisième mode de réalisation. L’utilisateur a oublié ou perdu son mot de passe et souhaite
recouvrer sa clé cryptographique sensible sk afin d’accéder à ses données en clair mémorisées chiffrées.
L’étape E30 est exécutée par le dispositif utilisateur pour envoyer au serveur S son identifiant login.
L’étape E31 est exécutée par le serveur S pour extraire de l’ensemble des l questions personnelles associé à l’utilisateur n questions, n £ l, de façon aléatoire et pour envoyer au dispositif utilisateur un sous-ensemble comprenant les n questions qt extraites et les n valeurs p,- (on rappelle que ces valeurs ont été obtenues à l’étape E03 du troisième mode de réalisation au moyen d’un polynôme P et sont chacune associées à une réponse cq) ainsi que la valeur p0. Ainsi, le serveur S envoie à l’utilisateur l’ensemble noté {(q^ Pi)} pour iel et p„.
A l’étape E32 de questions-réponses, chacune des questions qt du sous-ensemble est posée à l’utilisateur, et l’utilisateur saisit pour chaque question qt une réponse a[ associée au moyen d’une interface -homme machine du dispositif utilisateur.
A l’étape E33 de calcul, le dispositif utilisateur détermine le polynôme P à partir des n réponses obtenues ad et des n valeurs p,- associées par exemple en exécutant une interpolation polynomiale.
A l’étape E34, le dispositif utilisateur calcule P ^po) pour obtenir le mot de passe pwd, où P 1 correspond à la fonction inverse du polynôme P.
Le dispositif utilisateur mémorise temporairement le mot de passe recouvré pwd et l’utilise pour mettre en œuvre les étapes de la phase P2 de modification du mot de passe.
Ainsi, la ou les valeurs qui ont été fournies au serveur S lors de l’étape E03 permettent au dispositif utilisateur de déterminer le mot de passe lorsqu’il dispose de n réponses à n questions.
Dans les modes de réalisation qui ont été décrits, le dispositif de gestion est un serveur S. Tout dispositif de stockage, tel qu’un élément de sécurité, peut également mettre en œuvre des étapes du procédé de protection tel que décrit précédemment.
Lin dispositif utilisateur 20 apte à mettre en œuvre certaines des étapes du procédé de protection d’une clé cryptographique au moyen d’un mot de passe utilisateur, selon un exemple de réalisation, va maintenant être décrit en relation avec la figure 2. Ce dispositif utilisateur 20 est prévu pour être utilisé par un utilisateur possédant un identifiant et un mot de passe associé. Line clé cryptographique est destinée à déchiffrer au moins une donnée chiffrée. Le dispositif utilisateur comprend :
- une unité de traitement 21, ou CPU (de l’anglais « Central Processing Unit »), agencée pour exécuter des instructions de code ;
- un ensemble de mémoires, dont une mémoire volatile 22 de type RAM (de l’anglais « Random Access Memory »), utilisée pour exécuter des instructions de code, stocker des variables, etc., et une mémoire de stockage 23 de type mémoire flash ou EEPROM (de l’anglais
« Eletronically Erasable Programmable Read Only Memory »). La mémoire de stockage 23 est agencée pour mémoriser des données et des applications. En particulier, la mémoire de stockage 23 mémorise un module logiciel de protection d’une clé cryptographique sensible au moyen d’un mot de passe utilisateur agencé pour mettre en œuvre les étapes du procédé de protection d’une clé cryptographique décrit précédemment qui sont mises en œuvre par le dispositif utilisateur.
Le dispositif utilisateur 20 comprend également :
- un module de génération 24 d’une deuxième clé cryptographique en appliquant un algorithme de dérivation de clés au moins au mot de passe ;
- un module de chiffrement 25 de la clé cryptographique sensible en appliquant un algorithme de chiffrement paramétré par la deuxième clé cryptographique ;
- un module de calcul 26, agencé pour calculer un résultat de l’application d’une fonction à au moins une réponse associée à une question, la réponse étant obtenue auprès de l’utilisateur ;
- un module de fourniture 27, notamment agencé pour fournir au dispositif de gestion pour mémorisation des données en association avec un identifiant. Ces données correspondent au chiffré de la clé cryptographique et au moins une valeur dépendante du résultat, cette valeur permettant au dispositif utilisateur de déterminer le mot de passe lorsqu’il dispose de la réponse à ladite question ;
- un module 28 d’interface homme-machine, agencé pour communiquer avec un utilisateur ;
- un module 29 d’obtention, agencé pour obtenir des données du dispositif de gestion. Ces données peuvent correspondre à un ensemble de questions qt , une question possédant une réponse associée at destinée à être fournie par l’utilisateur, ces questions étant obtenues lors d’une phase d’enregistrement de l’utilisateur auprès du dispositif de gestion ou lors d’une phase de gestion de perte de mot de passe par le dispositif utilisateur. Ces données peuvent également correspondre aux données qui ont été fournies précédemment par le dispositif utilisateur au dispositif de gestion pour mémorisation en association avec l’identifiant de l’utilisateur.
Dans un mode de réalisation particulier, le module de fourniture 27 est un module d’envoi et le module d’obtention 29 est un module de réception.
Dans le premier mode de réalisation, la valeur fournie correspond à un chiffré ct du mot de passe pwd de l’utilisateur, le mot de passe de l’utilisateur ayant été chiffré au moyen d’une clé cryptographique associée à une réponse à une question, et le cas échéant, la question correspondante.
Dans le deuxième et le troisième modes de réalisation, la valeur fournie correspond à une application d’un polynôme P à au moins une réponse associée à une question.
La technique de protection est mise en œuvre au moyen de composants logiciels et/ou matériels. Dans cette optique, le terme "module" peut correspondre dans ce document aussi bien à un composant logiciel, qu'à un composant matériel ou à un ensemble de composants matériels et/ou
logiciels, apte à mettre en œuvre une fonction ou un ensemble de fonctions, selon ce qui est décrit précédemment pour le module concerné.
Un composant logiciel correspond à un ou plusieurs programmes d'ordinateur, un ou plusieurs sous-programmes d'un programme, ou de manière plus générale à tout élément d'un programme ou d'un logiciel. Un tel composant logiciel est stocké en mémoire puis chargé et exécuté par un processeur de données d'une entité physique et est susceptible d'accéder aux ressources matérielles de cette entité physique (mémoires, supports d'enregistrement, bus de communication, cartes électroniques d'entrées/sorties, interfaces utilisateur, etc).
De la même manière, un composant matériel correspond à tout élément d'un ensemble matériel (ou hardware). Il peut s'agir d'un composant matériel programmable ou non, avec ou sans processeur intégré pour l'exécution de logiciel. Il s’agit par exemple d’un circuit intégré, d’une carte à puce, d’une carte électronique pour l'exécution d'un micrologiciel (firmware), etc.
Dans un mode de réalisation particulier, les module de génération 24, de chiffrement 25, de calcul 26, d’obtention 29 et de fourniture 27 sont des modules logiciels comprenant des instructions logicielles pour mettre en œuvre celles des étapes du procédé de protection d’une clé cryptographique au moyen d’un mot de passe, tel que décrit précédemment, qui sont exécutées par le dispositif utilisateur.
L'invention concerne donc aussi :
- un programme d'ordinateur comportant des instructions de programme destinées à commander l’exécution de celles des étapes du procédé de protection d’une clé cryptographique au moyen d’un mot de passe tel que décrit précédemment mises en œuvre par un dispositif utilisateur, lorsque ce programme est exécuté par un processeur du dispositif utilisateur, et
- un support d’enregistrement lisible sur lequel est enregistré le programme d'ordinateur décrit précédemment.
Les modules logiciels peuvent être stockés dans ou transmis par un support de données. Celui-ci peut être un support matériel de stockage, par exemple un CD-ROM, une disquette magnétique ou un disque dur, ou bien un support de transmission tel qu'un signal électrique, optique ou radio, ou un réseau de télécommunication.
Un dispositif de gestion 30, agencé pour mettre en œuvre certaines des étapes du procédé de protection d’une clé cryptographique au moyen d’un mot de passe utilisateur, selon un exemple de réalisation, va maintenant être décrit en relation avec la figure 3.
Le dispositif de gestion 30 est un équipement informatique qui de manière classique comprend :
- une unité de traitement 31, ou CPU, agencée pour exécuter des instructions de code :
- un ensemble de mémoires, dont une mémoire volatile 32 de type RAM, utilisée pour exécuter des instructions de code, stocker des variables, etc., et une mémoire de stockage 33 de type mémoire flash ou EEPROM. La mémoire de stockage 33 est agencée pour mémoriser des
données et des applications. En particulier, la mémoire de stockage 33 mémorise un module logiciel de protection d’une clé cryptographique au moyen d’un mot de passe utilisateur agencé pour mettre en œuvre les étapes du procédé de protection d’une clé cryptographique décrit précédemment qui sont mises en œuvre par le dispositif de gestion.
Le dispositif de gestion comprend également :
- un module d’obtention 35, notamment agencé pour obtenir en provenance d’un dispositif utilisateur des données à mémoriser en association avec un identifiant d’un utilisateur. Ces données correspondent notamment au chiffré d’une clé cryptographique c, envoyée par le dispositif utilisateur à l’étape E01 du procédé de protection décrit précédemment, et à une valeur dépendante d’un résultat calculé par le dispositif utilisateur, cette valeur permettant au dispositif utilisateur de déterminer le mot de passe lorsqu’il dispose de la réponse à une question ;
- un module de fourniture 36, agencé pour fournir à un dispositif utilisateur des données. Ces données peuvent correspondre à un ensemble de questions qt, une question possédant une réponse associée at destinée à être fournie par l’utilisateur, ces questions étant fournies lors d’une phase d’enregistrement de l’utilisateur auprès du dispositif de gestion ou lors d’une phase de gestion de perte de mot de passe par le dispositif utilisateur. Ces données peuvent également correspondre aux données qui ont été obtenues précédemment du dispositif utilisateur par le dispositif de gestion pour mémorisation en association avec l’identifiant de l’utilisateur.
- une mémoire de stockage 34, agencée pour mémoriser les données reçues en provenance d’un dispositif utilisateur enregistré.
Dans un mode de réalisation particulier, le module d’obtention 35 est un module de réception et le module de fourniture 36 est un module d’envoi.
Dans le premier mode de réalisation, la valeur reçue correspond à un chiffré Cj du mot de passe pwd de l’utilisateur, le mot de passe de l’utilisateur ayant été chiffré au moyen d’une clé cryptographique associée à une réponse à une question et, le cas échéant la question correspondante.
Dans le deuxième et le troisième modes de réalisation, la valeur reçue correspond à une application d’un polynôme P à au moins une réponse associée à une question.
Dans un mode de réalisation particulier, le module 35 d’obtention et le module de fourniture 36 sont des modules logiciels comprenant des instructions logicielles pour mettre en œuvre celles des étapes du procédé de protection d’une clé cryptographique au moyen d’un mot de passe, tel que décrit précédemment, qui sont exécutées par le dispositif de gestion.
L'invention concerne donc aussi :
- un programme d'ordinateur comportant des instructions de programme destinées à commander l’exécution de celles des étapes du procédé de protection d’une clé cryptographique au moyen d’un mot de passe tel que décrit précédemment, mises en œuvre par un dispositif de gestion, lorsque ce programme est exécuté par un processeur du dispositif de gestion, et
- un support d’enregistrement lisible sur lequel est enregistré le programme d'ordinateur décrit précédemment.
L’invention concerne également un système de protection d’une clé cryptographique au moyen d’un mot de passe utilisateur. Lin tel système comprend :
- un dispositif de gestion tel que décrit précédemment, et
- un dispositif utilisateur tel que décrit précédemment.
Claims
1. Procédé de protection d’une première clé cryptographique, un utilisateur possédant un identifiant et un mot de passe associé, ladite première clé cryptographique étant destinée à déchiffrer au moins une donnée chiffrée, ledit procédé, mis en œuvre par un dispositif utilisateur, comprenant :
- génération (E00) d’une deuxième clé cryptographique en appliquant un algorithme de dérivation de clés au moins au mot de passe ;
- chiffrement (E01) de la première clé cryptographique en appliquant un algorithme de chiffrement paramétré par la deuxième clé cryptographique ;
- calcul (E02) du résultat de l’application d’une fonction à au moins une réponse associée à une question, la réponse étant obtenue auprès de G utilisateur ;
- fourniture (E03) au dispositif de gestion pour mémorisation du chiffré de ladite première clé cryptographique et d’ au moins une valeur dépendante dudit résultat, ladite valeur permettant au dispositif utilisateur de déterminer le mot de passe lorsqu’il dispose de la réponse à ladite question.
2. Procédé de protection selon la revendication 1 , dans lequel le résultat correspond à une troisième clé cryptographique générée en appliquant un algorithme de dérivation de clés à ladite réponse et la valeur dépendante dudit résultat correspond au chiffrement du mot de passe au moyen de la troisième clé cryptographique générée.
3. Procédé de protection selon la revendication 2, comprenant pour déterminer le mot de passe à partir d’une réponse obtenue par le dispositif utilisateur pour ladite question :
- obtention par le dispositif utilisateur dudit chiffré du mot de passe et de la question correspondante ;
- calcul d’une quatrième clé cryptographique en appliquant l’algorithme de dérivation de clés à la question et à la réponse obtenue auprès de l’utilisateur ;
- calcul d’un mot de passe courant en appliquant l’algorithme de déchiffrement correspondant à l’algorithme de chiffrement paramétré par la quatrième clé cryptographique calculée au chiffré du mot de passe obtenu.
4. Procédé de protection selon la revendication 1 , dans lequel la fonction est un polynôme de degré (n-l), n étant supérieur ou égal à deux, n correspondant à un nombre de questions à poser à l’utilisateur pour déterminer le mot de passe, ledit polynôme prenant la valeur du mot de passe en zéro et la valeur dépendante dudit résultat correspond audit résultat.
5. Procédé de protection selon la revendication 1, dans lequel la fonction est un polynôme bijectif de degré (n-l), n étant supérieur ou égal à deux, n correspondant à un nombre de questions à poser à l’utilisateur pour déterminer le mot de passe, la valeur dépendante dudit résultat correspond audit résultat et le dispositif utilisateur fournit en outre au dispositif de gestion pour mémorisation le résultat de l’application de la fonction au mot de passe.
6. Procédé de protection selon l’une des revendications précédentes, comprenant en outre :
- obtention (El l) par le dispositif utilisateur du chiffré de la première clé cryptographique auprès du dispositif de gestion ;
- régénération (El 2) par le dispositif utilisateur de la deuxième clé cryptographique en appliquant l’algorithme de dérivation de clés à au moins le mot de passe fourni par l’utilisateur ;
- régénération (E13) de la première clé cryptographique en appliquant l’algorithme de déchiffrement correspondant à l’algorithme de chiffrement paramétré par la deuxième clé cryptographique au chiffré de la première clé cryptographique.
7. Procédé de protection selon la revendication précédente, comprenant une vérification (El 4) de l’intégrité de la première clé cryptographique régénérée au moyen d’une clé publique associée à la première clé cryptographique mémorisée en association avec le chiffré de ladite première clé cryptographique.
8. Procédé de protection selon la revendication 6, comprenant une vérification (El 4) de l’intégrité de la première clé cryptographique régénérée au moyen d’un chiffré de l’identifiant de l’utilisateur par ladite première clé cryptographique mémorisé en association avec le chiffré de ladite première clé cryptographique.
9. Procédé de protection selon l’une des revendications précédentes, comprenant pour modifier le mot de passe :
- génération (E20) par le dispositif utilisateur d’une cinquième clé cryptographique en appliquant l’algorithme de dérivation de clés à au moins un nouveau mot de passe ;
- calcul (E21) par le dispositif utilisateur d’un nouveau chiffré de la première clé cryptographique en appliquant l’algorithme de chiffrement paramétré par la cinquième clé cryptographique à la première clé cryptographique ;
- mémorisation (E24) dudit nouveau chiffré de la première clé cryptographique.
10. Procédé de protection selon la revendication 9, dans lequel une preuve de connaissance est mémorisée en association avec le chiffré de la première clé cryptographique et ladite preuve de
connaissance est vérifiée avant la mémorisation dudit nouveau chiffré de la première clé cryptographique.
11. Dispositif utilisateur (20), prévu pour être utilisé par un utilisateur possédant un identifiant et un mot de passe associé, une première clé cryptographique étant destinée à déchiffrer au moins une donnée chiffrée, ledit dispositif utilisateur comprenant :
- un module de génération (24) d’une deuxième clé cryptographique en appliquant un algorithme de dérivation de clés au moins au mot de passe ;
- un module de chiffrement (25) de la première clé cryptographique en appliquant un algorithme de chiffrement paramétré par la deuxième clé cryptographique ;
- un module de calcul (26), agencé pour calculer un résultat de l’application d’une fonction à au moins une réponse associée à une question, la réponse étant obtenue auprès de l’utilisateur ;
- un module de fourniture (27), agencé pour fournir au dispositif de gestion pour mémorisation le chiffré de ladite première clé cryptographique et au moins une valeur dépendante dudit résultat, ladite valeur permettant au dispositif utilisateur de déterminer le mot de passe lorsqu’il dispose de la réponse à ladite question.
12. Programme d’ordinateur sur un support de données et chargeable dans la mémoire d’un dispositif utilisateur, comprenant des instructions de code de programme destinées à commander l’exécution des étapes du procédé de protection d’une première clé cryptographique selon l’une des revendications 1 à 10, lorsque le programme est exécuté sur ledit dispositif.
13. Dispositif de gestion (30) comprenant :
- un module d’obtention (35), agencé pour obtenir en provenance d’un dispositif utilisateur pour mémorisation en association avec un identifiant d’un utilisateur un chiffré d’une première clé cryptographique et une valeur dépendante d’un résultat calculé par le dispositif utilisateur, cette valeur permettant au dispositif utilisateur de déterminer le mot de passe lorsqu’il dispose de la réponse à une question ;
- une mémoire de stockage (34), agencée pour mémoriser des données obtenues en provenance d’un dispositif utilisateur.
14. Programme d’ordinateur sur un support de données et chargeable dans la mémoire d’un dispositif de gestion, comprenant des instructions de code de programme destinées à commander l’exécution de celles des étapes du procédé de protection d’une première clé cryptographique mises en œuvre par un dispositif de gestion selon l’une des revendications 1 à 10, lorsque le programme est exécuté sur ledit dispositif.
15. Système de protection d’une première clé cryptographique comprenant un dispositif de gestion selon la revendication 13 et un dispositif utilisateur selon la revendication 11.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/772,478 US11483146B2 (en) | 2017-12-15 | 2018-12-12 | Technique for protecting a cryptographic key by means of a user password |
EP18833097.1A EP3724799A1 (fr) | 2017-12-15 | 2018-12-12 | Technique de protection d'une clé cryptographique au moyen d'un mot de passe utilisateur |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1762283 | 2017-12-15 | ||
FR1762283A FR3075423A1 (fr) | 2017-12-15 | 2017-12-15 | Technique de protection d'une cle cryptographique au moyen d'un mot de passe utilisateur |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019115943A1 true WO2019115943A1 (fr) | 2019-06-20 |
Family
ID=62143269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/FR2018/053233 WO2019115943A1 (fr) | 2017-12-15 | 2018-12-12 | Technique de protection d'une clé cryptographique au moyen d'un mot de passe utilisateur |
Country Status (4)
Country | Link |
---|---|
US (1) | US11483146B2 (fr) |
EP (1) | EP3724799A1 (fr) |
FR (1) | FR3075423A1 (fr) |
WO (1) | WO2019115943A1 (fr) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022549671A (ja) * | 2019-09-25 | 2022-11-28 | コモンウェルス サイエンティフィック アンド インダストリアル リサーチ オーガナイゼーション | ブラウザアプリケーション用の暗号化サービス |
CN112052469A (zh) * | 2020-09-10 | 2020-12-08 | 鹏元征信有限公司 | 一种加密方法、解密方法、存储介质及终端设备 |
CN114189388A (zh) * | 2021-12-17 | 2022-03-15 | 中国电子科技网络信息安全有限公司 | 一种联盟链密钥管理系统及方法 |
US20240080189A1 (en) * | 2022-09-01 | 2024-03-07 | Blue Space Information Technology Co., Ltd. | System and method for decrypting encrypted secret data items without master password |
CN116633544B (zh) * | 2023-07-21 | 2023-10-10 | 杭州海康威视数字技术股份有限公司 | 硬件密码模组内多核密钥分级存储与同步方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060233484A1 (en) | 2005-03-24 | 2006-10-19 | Richard Van Neste | Adhesive-assembled fiber-optic interferometer |
FR2929701A1 (fr) | 2008-04-07 | 2009-10-09 | Commissariat Energie Atomique | Capteur d'allongement a fibre optique. |
US20140140508A1 (en) * | 2012-11-16 | 2014-05-22 | Deepak Kamath | Method, System and Program Product for Secure Storage of Content |
WO2015070160A1 (fr) * | 2013-11-08 | 2015-05-14 | MustBin Inc. | Cryptage d'objet de données à activation corbeille et appareils, procédés et systèmes de stockage |
US9634999B1 (en) * | 2013-11-04 | 2017-04-25 | Mobile Iron, Inc. | Mobile device key management |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8108683B2 (en) * | 2006-08-10 | 2012-01-31 | International Business Machines Corporation | Mitigating dictionary attacks on password-protected local storage |
US20080313473A1 (en) * | 2007-06-12 | 2008-12-18 | Les Technologies Deltacrypt | Method and surveillance tool for managing security of mass storage devices |
JP4764447B2 (ja) * | 2008-03-19 | 2011-09-07 | 株式会社東芝 | グループ署名システム、装置及びプログラム |
US20100037050A1 (en) * | 2008-08-06 | 2010-02-11 | Cuneyt Karul | Method and apparatus for an encrypted message exchange |
US8731203B2 (en) * | 2012-02-13 | 2014-05-20 | Alephcloud Systems, Inc. | Securing a secret of a user |
CA2949847A1 (fr) * | 2014-03-10 | 2015-09-17 | Sengi Corporation | Systeme et procede permettant un depot securise et une recuperation de donnees secretes |
US9589143B2 (en) * | 2014-04-17 | 2017-03-07 | Xerox Corporation | Semi-trusted Data-as-a-Service platform |
US10530576B2 (en) * | 2015-02-13 | 2020-01-07 | Insyde Software Corp. | System and method for computing device with improved firmware service security using credential-derived encryption key |
US10334062B2 (en) * | 2016-02-25 | 2019-06-25 | InAuth, Inc. | Systems and methods for recognizing a device |
WO2018009612A1 (fr) * | 2016-07-06 | 2018-01-11 | Patient Doctor Technologies, Inc. | Partage de données sécurisé et à connaissance nulle pour applications en nuage |
US10476862B2 (en) * | 2017-03-31 | 2019-11-12 | Mastercard International Incorporated | Systems and methods for providing digital identity records to verify identities of users |
-
2017
- 2017-12-15 FR FR1762283A patent/FR3075423A1/fr not_active Withdrawn
-
2018
- 2018-12-12 EP EP18833097.1A patent/EP3724799A1/fr active Pending
- 2018-12-12 US US16/772,478 patent/US11483146B2/en active Active
- 2018-12-12 WO PCT/FR2018/053233 patent/WO2019115943A1/fr unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060233484A1 (en) | 2005-03-24 | 2006-10-19 | Richard Van Neste | Adhesive-assembled fiber-optic interferometer |
FR2929701A1 (fr) | 2008-04-07 | 2009-10-09 | Commissariat Energie Atomique | Capteur d'allongement a fibre optique. |
US20140140508A1 (en) * | 2012-11-16 | 2014-05-22 | Deepak Kamath | Method, System and Program Product for Secure Storage of Content |
US9634999B1 (en) * | 2013-11-04 | 2017-04-25 | Mobile Iron, Inc. | Mobile device key management |
WO2015070160A1 (fr) * | 2013-11-08 | 2015-05-14 | MustBin Inc. | Cryptage d'objet de données à activation corbeille et appareils, procédés et systèmes de stockage |
Also Published As
Publication number | Publication date |
---|---|
US20200389302A1 (en) | 2020-12-10 |
EP3724799A1 (fr) | 2020-10-21 |
US11483146B2 (en) | 2022-10-25 |
FR3075423A1 (fr) | 2019-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019115943A1 (fr) | Technique de protection d'une clé cryptographique au moyen d'un mot de passe utilisateur | |
EP2767111B1 (fr) | Procédé de transfert du contrôle d'un module de sécurité d'une première entité à une deuxième entité | |
FR2922702A1 (fr) | Securisation de fichiers informatiques telechargeables sur un aeronef basee sur l'identite d'entites, procede d'authenfication, systeme et aeronef associes | |
FR2930390A1 (fr) | Procede de diffusion securisee de donnees numeriques vers un tiers autorise. | |
EP2345202A2 (fr) | Procédé de signature numérique en deux étapes | |
EP1774699A1 (fr) | Procede d'authentification anonyme base sur un algorithme cryptographique de type asymetrique | |
WO2016207527A1 (fr) | Procédé de conversion d'un premier chiffré en un deuxième chiffré | |
FR2930391A1 (fr) | Terminal d'authentification d'un utilisateur. | |
EP1958371A2 (fr) | Recouvrement de cles de dechiffrement perimees | |
EP3965361B1 (fr) | Echange de données entre un client et un dispositif distant, par exemple un module sécurisé | |
EP1949590A1 (fr) | Procede de depot securise de donnees numeriques, procede associe de recuperation de donnees numeriques, dispositifs associes pour la mise en uvre des procedes, et systeme comprenant les dits dispositifs | |
EP3456025B1 (fr) | Technique d'authentification d'un dispositif utilisateur | |
EP1794926A1 (fr) | Systeme et procede cryptographique a cle publique et serveur de certification, memoires adaptees pour ce systeme | |
EP2919412A1 (fr) | Procédé et système de chiffrement/déchiffrement de données à clé distante et vérification préalable de jeton | |
WO2011030069A1 (fr) | Procede de generation d'un certificat numerique | |
EP3266148B1 (fr) | Dispositif et procédé d'administration d'un serveur de séquestres numériques | |
FR3086417A1 (fr) | Procede cryptographique de comparaison securisee de deux donnees secretes x et y | |
EP1642413B1 (fr) | Procede de chiffrement/dechiffrement d un message et disposi tif associe | |
WO2023062095A1 (fr) | Procédé et dispositif de transfert d'une communication d'une station de base à une autre | |
EP3899765B1 (fr) | Réinitialisation d'un secret applicatif au moyen du terminal | |
WO2021198606A1 (fr) | Procede et dispositif d'authentification d'un utilisateur aupres d'une application | |
FR2990818A1 (fr) | Procede de transfert et de stockage securise de documents et appareils associes au procede. | |
WO2021165625A1 (fr) | Procede de calcul d'une cle de session, procede de recuperation d'une telle cle de session | |
WO2016156737A1 (fr) | Procede d'obtention d'une liste d'au moins une donnee sensible | |
EP1989819B1 (fr) | Procéde de certification de clé publique par un prestataire non accrédité |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18833097 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2018833097 Country of ref document: EP Effective date: 20200715 |