FR3075423A1 - Technique de protection d'une cle cryptographique au moyen d'un mot de passe utilisateur - Google Patents
Technique de protection d'une cle cryptographique au moyen d'un mot de passe utilisateur Download PDFInfo
- Publication number
- FR3075423A1 FR3075423A1 FR1762283A FR1762283A FR3075423A1 FR 3075423 A1 FR3075423 A1 FR 3075423A1 FR 1762283 A FR1762283 A FR 1762283A FR 1762283 A FR1762283 A FR 1762283A FR 3075423 A1 FR3075423 A1 FR 3075423A1
- Authority
- FR
- France
- Prior art keywords
- cryptographic key
- user
- password
- key
- user device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
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
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.i
Il est habituel d’assurer la protection des données d’un utilisateur au moyen d’un système/ cryptographique de chiffrement. Un tel système fournit une ou plusieurs clés cryptographiquesi 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.)
Une clé de déchiffrement, que ce soit une clé secrète d’un système de chiffrementi 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.)
Un exemple connu de sécurisation de l’accès à une clé de déchiffrement repose suri 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éi 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 Keyl
Dérivation Function 2 ») au login et au mot de passe de l’utilisateur. L’utilisateur n’a ainsi qu’àI 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.j
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 l‘accè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 l’utilisateur chiffrées aui moyen d’une clé de chiffrement initiale associée, alors le changement du mot de passe provoque laJ génération d’une nouvelle clé de déchiffrement, differente 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 dei 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.j
Dans le cas où une deuxième clé cryptographique est utilisée pour protéger la clé dei 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<
Γ utilisateur.i
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.1
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 Γ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 Γ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 15 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 20 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 25 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é (n1), 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, Futilisateur 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 l’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-1). 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-1), 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 1 l’enregistrement.1
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èsj du dispositif de gestion ;;
- régénération par le dispositif utilisateur de la deuxième clé cryptographique en appliquantj l’algorithme de dérivation de clés à au moins le mot de passe fourni par l’utilisateur ;j
- régénération de la première clé cryptographique en appliquant l’algorithme dej déchiffrement correspondant à l’algorithme de chiffrement paramétré par la deuxième cléj cryptographique au chiffré de la première clé cryptographique.j
Le dispositif utilisateur régénère ainsi aisément la première clé cryptographique sans que let dispositif de gestion n’ait pu y accéder.|
Selon une caractéristique particulière, le procédé de protection comprend une vérifications de l’intégrité de la première clé cryptographique régénérée au moyen d’une clé publique associée à|
L 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.
II 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 :f
- 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 ;I
- un module de chiffrement de la première clé cryptographique en appliquant un algorithmei 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 Γutilisateur ;:
- un module de fourniture, agencé pour fournir au dispositif de gestion pour mémorisationj 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.
ri y
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, 1b, le et Id 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 Id.u
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.t
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 « Rivestf
Shamir et Adleman »). Dans ce cas, la clé cryptographique sensible sk est une clé privée, ou clé del 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é publiquei 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 passepwd qu’il est seul à connaître. On suppose par ailleurs qu’à l’utilisateur est associé un ensemble de l questions personnelles qi et de l réponses cq associées, ie[l, Z], l étant supérieur ou égal à un, qu’il est seul à connaître. Il s’agit par exemple du nom dejeune 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 ‘||’ 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 ai associée à une question 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 c^et à la question correspondante Qj. Plus précisément, pour chacun des couples de questions personnelles et de réponses associées (cp, α,), une clé cryptographique associée à la question qt et à la réponse oq 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 kt. Ainsi, pour chaque i e [IJ], k( = PBKDF2(login\\qi\\α^). 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é ki générée associée au couple i formé de la question et à la réponse associée α^. On peut par exemple, comme à l’étape E01, utiliser l’algorithme AES. Les chiffrés du mot de passe pwd obtenus sont notés q. Ainsi, q = AESEnc(ki,pwd). Puis, les chiffrés cq du mot de passepwd 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 Ci obtenus en chiffrant le mot de passepwd de l’utilisateur au moyen de chaque clé k( associée au couple (qit cq) et optionnellement la clé publique pk. Les chiffrés cq 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 dispositift utilisateur calcule un résultat de l’application d’une fonction à au moins une réponse ai associée à1 une question qi. Dans cette variante, le résultat correspond à une clé cryptographique générée enj
A appliquant un algorithme de dérivation de clés à la réponse aq. Plus précisément, pour chacune desj réponses oq, une clé cryptographique associée à la réponse oq est générée en utilisant un algorithme1 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 k(. Ainsi, pour chaque i e [1, Z], kj = PBKDF2(login\\ ai). 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 EGO pouvant être utilisé.
A l’étape E03, le dispositif utilisateur chiffre le mot de passe pwd de l’utilisateur pour chaque clé k[ générée associée à la réponse Puis, les chiffrés C[ 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 C[ obtenus en chiffrant le mot de passe pwd de l’utilisateur au moyen de chaque clé fcj associée à une réponse (¾ et optionnellement la clé publique pk. Les chiffrés cz 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 tenue 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 C( obtenus en chiffrant le mot de passe pwd de l’utilisateur au moyen de chaque clé ki associées aux réponses a, et le cas échéant, aux questions qi correspondantes et optionnellement le chiffré c.
II 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 fcj associées aux réponses a, et, le cas échéant, aux questions qi correspondantes. Le dispositif utilisateur ne les mémorise également pas.
II 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 kii associées aux réponses a, et, le cas échéant, aux questions 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·
C( 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. II 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 du mot de passe pwd enj une seule fois au cours de l’étape E03 pour mémorisation en association avec l’identifiant login dej l’utilisateur.(
J k
d j Dans une phase suivante PI de recouvrement de la clé cryptographique sensible de l’utilisateur, illustrée par la figure 1b, le dispositif utilisateur recouvre la clé cryptographique l 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 ) 5 au serveur S une requête d’obtention du chiffré de la clé cryptographique sensible c, cette requête
J- comprenant son identifiant login.
f
Dans une étape suivante El 1 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é r cryptographique sensible sk.
Dans une étape suivante El2 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 passepwd. Ainsi, k = PBKDF2(login\\pwd).
Dans une étape suivante El 3 d’obtention de la clé cryptographique sensible, le dispositif utilisateur régénère sa clé cryptographique sensible sk en appliquant l’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 l’utilisateur est utilisée dans un système de chiffrement à clé sécrète, à l’étape El 1, 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é c' déterministe de l’identifiant login par la clé cryptographique sensible sk, noté c = DetEnc(sk, login) et vérifie que ce chiffré c' est bien égal au chiffré c reçu du serveur S.
Au terme de cette phase PI, 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 PI 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 passepwd 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 PI 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\|pwd').
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 : c1 = AESEnc(kr,sk). Le dispositif utilisateur met également en oeuvre 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 c/ — AESEnc(kit pwd').
Dans une étape suivante E22 de preuve de connaissance de la clé cryptographique sensible sk, le dispositif utilisateur calcule une preuve de connaissance π 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 π 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 π de type NIZK (de l’anglais « Non-Interactive Zero-knowledge proof of Knowledge ») repose sur ie 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 Zp, 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 π peut être faite en utilisant la signature de Schnorr, r e Zp, t — gr, d = H(y||t||c'), où H est une fonction de hachage, et s — r — ex (mod p), et la preuve de connaissance NIZK π = (d,s). Elle peut être vérifiée en testant si d — fl'(y||yd5s|| 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 Ci du mot de passepwd' et la preuve de connaissance π 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 π 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 π 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 π 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 l’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é cryptographiquej sensible sk de l’utilisateur. Le serveur ne peut ainsi à aucun moment accéder aux données en clairt de l’utilisateur.j
Le dispositif utilisateur peut ensuite mettre en œuvre la phase P1 de recouvrement décritei précédemment afin de recouvrer la clé cryptographique sensible sk à partir du nouveau mot def passepwd’ et l’utiliser pour accéder à ses données en clair.I
Dans une phase P3 de gestion d’une perte de mot de passe, illustrée par la figure ld etj indépendante de la phase PI de recouvrement de ia 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 associé à l’utilisateur n questions, η < 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 Qj extraites et les n chiffrés Ci du mot de passe pwd (on rappelle que ces chiffrés ont été obtenus à l’étape E03 au moyen des clés fcj associées aux questions et aux réponses cq calculées au cours de l’étape E02). Ainsi, le serveur S envoie à l’utilisateur le sous-ensemble noté {(ί?ρ θ))ίε/· θη 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 tq du sous-ensemble {(<?/> ci)}iei est posée à l’utilisateur, et l’utilisateur saisit pour chaque question qi une réponse a· 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 cq et de chaque réponse fournie par l’utilisateur au cours de l’étape précédente, un sous-ensemble de clés cryptographiques i e I, chaque clé k[ de ce sous-ensemble étant associée à la question qi 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 et à la réponse associée est notée Ainsi, pour chaque i e / k[ = PBKDF2(login\\qi\\ a·). Dans la variante décrite précédemment, pour chaque tel k'i = PBKDF2(login\\ aj).
Dans une étape suivante E34 de recouvrement du mot de passe, il est calculé pour chaque i e /, un mot de passe courant, noté pwd·,, en déchiffrant les n chiffrés cg 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 a,· et, le cas échéant, aux questions çt· correspondantes et que les chiffrés c£- 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 I, pwdi = AESDec(k'i,ci'). On comprend que si l’utilisateur ne s’est trompé dans aucune des réponses a'i, c’est-à-dire lorsque α[ = (p, alors tous les mots de passe pwdf sont identiques, et correspondent au mot de passepwd 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 pwd, 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 α\ 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 tq aux questions qp 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 pwJ/ recouvrés au cours de l’étape E34 jusqu’à trouver un mot de passe pwdj 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 étant supérieur ou égal à deux, au:
dispositif utilisateur, par exemple avec les questions personnelles q,.I
A l’étape E02, le dispositif utilisateur choisit un polynôme P de degré n-J tel que{
P(0)=pwd et calcule pour chaque réponse a, la valeur = P(cq). Ainsi, dans ce deuxième modej de réalisation, le résultat correspond à l’application du polynôme P à au moins une réponsef associée à une question.1
A l’étape E03, le dispositif utilisateur envoie au serveur S les valeurs p, calculées pour) chaque i e [1, /] 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 pi 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 pi 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.
n
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 pi en une seule fois au cours de l’étape E03 pour mémorisation en association avec l’identifiant login de l’utilisateur.
La phase PI 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é cryptograpliique sensible sk. Il met · en œuvre les étapes El0 à El4 de la phase PI 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é cryptograpliique 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 π non interactive à divulgation nulle deI connaissance de la clé cryptographique sensible sk avec contrôle d’intégrité du nouveau chiffré c’l de la clé cryptographique sensible sk.i
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éf cryptographique sensible sk et la preuve de connaissance π calculée au cours de l’étape E22.
Le serveur S exécute l’étape E24 pour vérifier la preuve de connaissance π.i
Si la preuve de connaissance est correcte, le serveur S envoie au dispositif utilisateur un| ensemble de / questions q, pour chaque i e [1, /].I
Comme décrit précédemment pour l’étape E02 de ce deuxième mode de réalisation, lej 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/?,· ’ = P '(a).I i
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 pd calculées pour chaque i e [1, Z] pour| remplacer dans sa mémoire de stockage les valeurs précédentes /?,·. Le serveur S mémorise ainsi en
J 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.
I; 5 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 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 10 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 15 identifiant login.
L’étape E31 est exécutée par le serveur S pour extraire de l’ensemble des l questions personnelles qi associé à l’utilisateur n questions, η < l, de façon aléatoire et pour envoyer au dispositif utilisateur un sous-ensemble comprenant les n questions qi 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 20 moyen d’un polynôme P et sont chacune associées à une réponse a;). Ainsi, le serveur S envoie à l’utilisateur l’ensemble noté pi)} pour iel.
A l’étape E32 de questions-réponses, chacune des questions qi du sous-ensemble est posée à l’utilisateur, et l’utilisateur saisit pour chaque question φ 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 30 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 35 d’enregistrement, les étapes E00 de génération de clé d’une deuxième clé cryptographique k, E01 de chiffrement de ia 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 au dispositif utilisateur, par exemple avec les questions personnelles q,.
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 a,· 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, Z] 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 p, obtenues en appliquant le polynôme P aux réponses ah la valeur po et optionnellement la clé publique pk ou le chiffré c selon les exemples de réalisation. Les valeurs p, 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 pu et les valeurs ρέ 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 pf en une seule fois au cours de l’étape E03 pour mémorisation en association avec l’identifiant login de l’utilisateur.
La phase PI 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 E10 à E14 de la phase PI 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é 5 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 π 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 l questions ¢,- pour chaque ie[l, l].
Chacune des questions est posée à l’utilisateur, et l’utilisateur saisit pour chaque question 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, p, et des réponses a\ 15 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é 20 cryptographique sensible k , la preuve de connaissance π 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 π.
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 25 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é 30 cryptographique k’ dérivée du nouveau mot de passepwd’ 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 pÉ 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, η < l, de façon aléatoire et pour envoyer au dispositif utilisateur un sous-ensemble comprenant les n questions qi 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 cp) ainsi que la valeur po- Ainsi, le serveur S envoie à l’utilisateur l’ensemble noté pour iel etpo.
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 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 associées par exemple en exécutant une interpolation polynomiale.
A l’étape E34, le dispositif utilisateur calcule P!(p0) pour obtenir le mot de passe pwd, où P1 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.
Un 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é. Une 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 cq, une question possédant une réponse associée a; 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 dei 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 pourj 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’envoiJ et le module d’obtention 29 est un module de réception.i
Dans le premier mode de réalisation, la valeur fournie correspond à un chiffré Q du mot de;
passe pwd de l’utilisateur, le mot de passe de l’utilisateur ayant été chiffré au moyen d’une cléj cryptographique associée à une réponse à une question, et le cas échéant, la questionï correspondante.i
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 j· 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
JI précédemment qui sont mises en œuvre par le dispositif de gestion.
t 5 Le dispositif de gestion comprend également :
t - un module d’obtention 35, notamment agencé pour obtenir en provenance d’un dispositif y utilisateur des données à mémoriser en association avec un identifiant d’un utilisateur. Ces données j correspondent notamment au chiffré d’une clé cryptographique c, envoyée par le dispositif i
|) utilisateur à l’étape E01 du procédé de protection décrit précédemment, et à une valeur dépendante r 10 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 Qj, une question possédant une réponse associée (¾ 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.j
Dans le premier mode de réalisation, la valeur reçue correspond à un chiffré q du mot dei passe pwd de l’utilisateur, le mot de passe de l’utilisateur ayant été chiffré au moyen d’une cléj cryptographique associée à une réponse à une question et, le cas échéant la questionf correspondante.I
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.i
Dans un mode de réalisation particulier, le module 35 d’obtention et le module de'j fourniture 36 sont des modules logiciels comprenant des instructions logicielles pour mettre ens œ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 :f
- 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
E 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. Un 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 (15)
- I REVENDICATIONSI ------________----r j:}' 1. Procédé de protection d’une première clé cryptographique, un utilisateur possédant un i identifiant et un mot de passe associé, ladite première clé cryptographique étant destinée à f 5 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 h 10 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 l’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 au15 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 moyen20 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 dej passe à partir d’une réponse obtenue par le dispositif utilisateur pour ladite question :I- obtention par le dispositif utilisateur dudit chiffré du mot de passe et de la questionj25 correspondante ;j-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 ;t- calcul d’un mot de passe courant en appliquant l’algorithme de déchiffrement5 correspondant à l’algorithme de chiffrement paramétré par la quatrième clé cryptographiques30 calculée au chiffré du mot de passe obtenu.I
- 4. Procédé de protection selon la revendication 1, dans lequel la fonction est un polynômes 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 en35 zéro et la valeur dépendante dudit résultat correspond audit résultat.qV A
- 5. Procédé de protection selon la revendication 1, dans lequel la fonction est un polynôme bijectif 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, 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 1) par le dispositif utilisateur du chiffré de la première clé cryptographique auprès du dispositif de gestion ;-régénération (El2) 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 (El3) 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 (E14) 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 (E14) 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.1
- 9. Procédé de protection selon l’une des revendications précédentes, comprenant pouri modifier le mot de passe :;- génération (E20) par le dispositif utilisateur d’une cinquième clé cryptographique eni 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él 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.J i
- 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 dej iΐ 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 un5 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 un10 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;15 dudit résultat, ladite valeur permettant au dispositif utilisateur de déterminer le mot de passet lorsqu’il dispose de la réponse à ladite question.i
- 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:20 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 :j- un module d’obtention (35), agencé pour obtenir en provenance d’un dispositif utilisateurI25 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, cettej valeur permettant au dispositif utilisateur de déterminer le mot de passe lorsqu’il dispose de la) réponse à une question ;1- une mémoire de stockage (34), agencée pour mémoriser des données obtenues en30 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 mises35 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 (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1762283A FR3075423A1 (fr) | 2017-12-15 | 2017-12-15 | Technique de protection d'une cle cryptographique au moyen d'un mot de passe utilisateur |
US16/772,478 US11483146B2 (en) | 2017-12-15 | 2018-12-12 | Technique for protecting a cryptographic key by means of a user password |
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 |
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 |
---|---|
FR3075423A1 true FR3075423A1 (fr) | 2019-06-21 |
Family
ID=62143269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1762283A Withdrawn FR3075423A1 (fr) | 2017-12-15 | 2017-12-15 | Technique de protection d'une cle 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 |
---|---|---|---|---|
AU2020353720A1 (en) * | 2019-09-25 | 2022-03-31 | Commonwealth Scientific And Industrial Research Organisation | Cryptographic services for browser applications |
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 (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2541028A1 (fr) | 2005-03-24 | 2006-09-24 | Opsens Inc. | Interferometre a fibres optiques lie par adhesif |
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 | 株式会社東芝 | グループ署名システム、装置及びプログラム |
FR2929701B1 (fr) | 2008-04-07 | 2011-01-07 | Commissariat Energie Atomique | Capteur d'allongement a fibre optique. |
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 |
WO2015135063A1 (fr) * | 2014-03-10 | 2015-09-17 | Xiaoyan Qian | Système et procédé permettant un dépôt sécurisé et une récupération de données secrètes |
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 |
US10608817B2 (en) * | 2016-07-06 | 2020-03-31 | Masimo Corporation | Secure and zero knowledge data sharing for cloud applications |
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 US US16/772,478 patent/US11483146B2/en active Active
- 2018-12-12 WO PCT/FR2018/053233 patent/WO2019115943A1/fr unknown
- 2018-12-12 EP EP18833097.1A patent/EP3724799A1/fr active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
---|---|
WO2019115943A1 (fr) | 2019-06-20 |
US11483146B2 (en) | 2022-10-25 |
US20200389302A1 (en) | 2020-12-10 |
EP3724799A1 (fr) | 2020-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR3075423A1 (fr) | Technique de protection d'une cle cryptographique au moyen d'un mot de passe utilisateur | |
EP2884716B1 (fr) | Mécanisme d'authentificaiton par jeton | |
EP2673732B1 (fr) | Procede de transaction securisee a partir d'un terminal non securise | |
FR2958101A1 (fr) | Infrastructure de gestion de bi-cles de securite de personnes physiques (igcp/pki) | |
CA2895189C (fr) | Signature de groupe utilisant un pseudonyme | |
CA3142763C (fr) | Procede de chiffrement et de stockage de fichiers informatiques et dispositif de chiffrement et de stockage associe. | |
EP1774699A1 (fr) | Procede d'authentification anonyme base sur un algorithme cryptographique de type asymetrique | |
CN105721903A (zh) | 在线播放视频的方法和系统 | |
WO2007066039A2 (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é | |
WO2007051769A1 (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 | |
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 | |
WO2003019899A2 (fr) | Reseau numerique local, procedes d'installation de nouveaux dispositifs et procedes de diffusion et de reception de donnees dans un tel reseau | |
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 | |
EP3899765B1 (fr) | Réinitialisation d'un secret applicatif au moyen du terminal | |
WO2021165625A1 (fr) | Procede de calcul d'une cle de session, procede de recuperation d'une telle cle de session | |
WO2017005644A1 (fr) | Procédé et système de contrôle d'accès à un service via un média mobile sans intermediaire de confiance | |
WO2021198606A1 (fr) | Procede et dispositif d'authentification d'un utilisateur aupres d'une application | |
WO2016156737A1 (fr) | Procede d'obtention d'une liste d'au moins une donnee sensible | |
EP4241416A1 (fr) | Procede de delegation d'acces a une chaine de blocs | |
FR2990818A1 (fr) | Procede de transfert et de stockage securise de documents et appareils associes au procede. | |
WO2006027430A1 (fr) | Procede d’authentification entre entites communiquant entre elles au travers d’un reseau de telecommunications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20190621 |
|
ST | Notification of lapse |
Effective date: 20200914 |