Brevet FR3075423A1 — publié le 20190621

Technique de protection d'une cle cryptogrp--Thique au moyen d'un mot c't! pas,e t '7isateur La presente invention concerne le domaine de la securite des services et plus precisement le domaine de la protection des donnees d'un utilisateur, dites donnees sensibles. Il est habitue] d'assurer la protection des donnees d'un utilisateur au moyen d'un systeme cryptographique de chiffrement. Un tel systeme fournit une ou plusieurs cles cryptographiques avec lesquelles it est possible de chiffrer une donnee pour la proteger, puis de dechiffrer la donnee chiffree pour la recuperer en clair. Dans un systeme de cryptographie a cle secrete, la cle utilisee pour chiffrer la dorm& est la meme que la cle utilisee pour la dechiffrer. On comprend que cette unique cle est extremement sensible et doit etre protegee. Dans un systeme de cryptographie a cle publique, la cle utilisee pour chiffrer la dorm& est publique et connue de tous, alors que la cle utilisee pour dechiffrer, appelee cle privee, est sensible et doit etre protegee egalement. Une cle de dechiffrement, que ce soil une cle secrete d'un systeme de chiffrement symetrique ou une cle privee d'un systeme de chiffrement asymetrique, fait habituellement plusieurs centaines de bits. II est done complique pour un utilisateur de la memoriser. Cependant, du fait de sa sensibilite, il est habituel de securiser l'acces a cette cle de dechiffrement. Un exemple connu de securisation de l'acces a une cle de dechiffrement repose sur l'utilisation d'un identifiant, ou login, et d'un mot de passe propres a un utilisateur et facilement memorisables par celui-ci. Il est ainsi connu de generer et regenerer de facon deterministe une cle cryptographique, telle que la cle de dechiffrement mentionnee ci-dessus, en appliquant un algorithme de derivation de cle, par exemple PBKDF2 (de l'anglais « Password-Based Key Derivation Function 2 ») au login et au mot de passe de l'utilisateur. L'utilisateur n'a ainsi qu'a memoriser son login et son mot de passe afin de regenerer a la demande sa cle de dechiffrement et acceder a ses donnees en clair. Dans un deuxieme exemple connu, la cle de dechiffrement de l'utilisateur est chiffree au moyen d'un algorithme cryptographique et d'une deuxieme cle cryptographique. Dans un mode de realisation particulier, la cle de dechiffrement chiffree ainsi obtenue est memorisee sur un serveur distant. Securiser l'acces a la cle de dechiffrement de l'utilisateur revient alors a proteger l'acces cette deuxieme cle cryptographique, ce qui peut etre fait par exemple selon la methode decrite precedemment, c'est-A-dire au moyen d'un login ct d'un mot de passe connus de l'utilisateur. Si la protection d'une dorm& sensible telle qu'une cle de dechiffrement est assuree au moyen de la connaissance d'un login et d'un mot de passe, alors il faut pouvoir gerer des cas oC l'utilisateur souhaite modifier son mot de passe, ou tout simplement gerer la perte du mot de passe par l'utilisateur tout en garantissant la perennite de la cle de dechiffrement destinee a acceder de maniere securisee aux donnees sensibles de l'utilisateur et prealablement stockees chiffrees. 2 Dans un cas oil le login et le mot de passe sont utilises pour generer une cle de dechiffrement initiale, utilisee pour dechiffrer des donnees sensibles de l'utilisateur chiffrees au moyen d'une cle de chiffrement initiale associee, alors le changement du mot de passe provoque la generation d'une nouvelle cle de dechiffrement, differente de la cle de dechiffrement initiale. Cette 5 nouvelle cle de dechiffrement n'est done pas adapt& pour dechiffrer les donnees prealablement chiffrees et prevues pour etre dechiffrees au moyen de la cle de dechiffrement initiale. d'eviter cette situation, il est habituel de confier la cle de clechiffrement initiale une entite tierce, aupres de laquelle elle peut etre recuperee pour acceder aux donnees sensibles chiffrees au moyen de la cle de chiffrement initiale. De la meme maniere, la perte du mot de passe necessite qu'une entite tierce 10 fournisse le mot de passe perdu ou la cle de dechiffrement initiate. Ce mecanisme, mis en ceuvre en impliquant une entite tierce, est plus connu sous le nom de sequestre de cles. Cependant, cette entite tierce possede toutes les informations lui permettant d'acceder aux donnees sensibles de l'utilisateur. La confidentialite totale des donnees de l'utilisateur n'est done pas garantie. Dans le cas od 1,fle deuxieme cle cryptographique est utilisee pour proteger la cle de 15 dechiffrement et que cate autre cle est protegee au moyen d'un login et d'un mot de passe, l'oubli ou la perte du mot de passe ne perrnet pas de recouvrer l'autre cle, A moths que celle-ci ne soit chiffree l'aide d'une dorm& connue egalement d'une entite tierce. Cependant, dans ce cas egalement la confidentialite totale des donnees sensibles de l'utilisateur n'est pas garantie. Ainsi, la modification ou la perte d'un mot de passe, utilise pour proteger l'acces A une cle 20 cryptographique necessite finalement qu'une entite tierce nit connaissance de la cle cryptographique et/ou du mot de passe et donc ait potentiellement acces aux donnees sensibles de l'utilisateur. Do des buts de l'invention est de remedier A des insuffisances/inconvenients de Petat de la 25 technique et/ou d'y apporter des ameliorations. Selon un premier aspect, il est propose un procede de protection d'une premiere cle cryptographique, un utilisateur possedant un identifiant et un mot de passe associe. Cette premiere cle cryptographique est destinee dechiffrer au moths une donnee chiffree. Ce procede, mis en ceuvre par un dispositif utilisateur, comprend : 30 - generation d'une deuxieme cle ciyptographique en appliquant un algorithme de derivation de des au moths au mot de passe ; - chiffrement de la premiere cle cryptographique en appliquant un algorith.me de chiffrement parametre par la deuxieme cle cryptographique ; - calcul du resultat de l'application d'une fonction A au moths une reponse associee A une 35 question, la reponse etant obtenue aupres de l'utilisateur ; 3 - fourniture au dispositif de gestion pour memorisation du chiffre de ladite premiere cle cryptographique et d'au moins une valeur dependante dudit resultat, ladite valeur permettant au dispositif utilisateur de determiner le mot de passe lorsqu'il dispose de la reponse a ladite question. Ainsi, a ce stade l'utilisateur est enregistre aupres du dispositif de gestion. Le parcours 5 client est tres simple et securise pour l'utilisateur puisque rien n'est stocke au niveau du dispositif utilisateur l'utilisateur doit uniquement se souvenir de son identifiant et de son mot de passe et etre capable de repondre a une ou plusieurs questions personnelles. De plus, le dispositif de gestion ne memorise aucune dorm& lui permettant d'obtenir la cle de cryptographique pour acceder aux donnees sensibles de 1 'utilisateur. 10 Le dispositif de gestion peut etre un serveur ou bien encore un element de securite, par exemple une carte a puce. Dans un premier mode de realisation particulier, le resultat correspond a une troisieme cle cryptographique generee en appliquant un algorithme de derivation de cies a ladite reponse et la valeur dependante dudit resultat correspond au chiffrement du mot de passe au moyen de la 15 troisieme cle cryptographique generee. Ainsi, la valeur qui est memorisee par le dispositif de gestion est protegee et n'est pas accessible par le dispositif de gestion. Dans une variante de realisation, le resultat correspond a une troisieme cle cryptographique generee en appliquant un algorithme de derivation de des A cette reponse et a la question 20 correspondante et la valeur dependante dudit resultat correspond au chiffrement du mot de passe au moyen de la cle cryptographique generee. Selon une caracteristique particuliere, le procede de protection comprend pour determiner le mot de passe a partir d'une reponse obtenue par le dispositif utilisateur pour ladite question : - obtention par le dispositif utilisateur dudit chiffre du mot de passe et de la question 25 correspondante ; - calcul d'une quatrieme cle cryptographique en appliquant l'algorithme de derivation de des a la question et A la reponse obtenue aupres de l'utilisateur ; - calcul d'un mot de passe courant en appliquant l'algorithme de dechiffrement correspondant a l'algorithme de chiffrement parametre par la quatrieme cle cryptographique 30 calculee au chiffre 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 deuxieme mode de realisation particulier, la fonction est un polynome de degre (n1), n etant superieur ou egal a deux, n correspondant a un nombre de questions a poser a 35 l'utilisateur pour determiner le mot de passe, 'edit polynome prenant la valeur du mot de passe en zero et la valeur dependante dudit resultat correspond audit resultat. 4 Ainsi, l'utilisateur doit connaitre un ensemble de reponses a des questions pour que le dispositif utilisateur puisse determiner le mot de passe courant. Une seule reponse ne suffit pas. Cette reponse pourrait etre trouvee par un tiers malveillant en analysant les donnees disponibles sur les reseaux sociaux divulguees par l'utilisateur. Ce deuxieme mode de realisation est plus securise 5 puisque l'utilisateur doit repondre correctement a n questions, le polynome etant choisi de degre (n-1). Dans ce deuxieme mode de realisation, pour determiner le mot de passe, le dispositif utilisateur determine le polynome a partir de n valeurs memorisees par le dispositif de gestion et de n reponses aux questions obtenues aupres de l'utilisateur. Le mot de passe correspond alors a la valeur prise par le polynome en zero. 10 Dans un troisieme mode de realisation particulier, la fonction est un polynome bijectif de degre (n-1), n etant superieur ou egal a deux, n correspondant a un nombre de questions a poser a l'utilisateur pour determiner le mot de passe, la valeur dependante dudit resultat correspond audit resultat et le dispositif utilisateur fournit en outre au dispositif de gestion pour memorisation le resultat de l'application de la fonction au mot de passe. 15 Ce troisieme mode de realisation presente les memes avantages que le deuxieme mode de realisation, tout en simplifiant la gestion du changement de mot de passe. En effet, les valeurs memorisees par le dispositif de gestion ne sont pas modifiees lors d'un changement de mot de passe. Seule la valeur prise par le polynome en zero est modifiee. Dans ce troisieme mode de realisation, pour determiner le mot de passe, le dispositif 20 utilisateur determine le polynome a partir de n valeurs memorisees par le dispositif de gestion et de n reponses aux questions obtenues aupres de l'utilisateur. Le mot de passe est alors determine en appliquant le polynome inverse a la valeur prise par le polynome en zero fournie lors de l'enregistrement. Dans ces differents modes de realisation particulier, le procede de protection comprend en 25 outre : - obtention par le dispositif utilisateur du chiffre de la premiere cle cryptographique aupres du dispositif de gestion ; - regeneration par le dispositif utilisateur de la deuxieme cle cryptographique en appliquant l'algorithme de derivation de des a au moins le mot de passe fourni par l'utilisateur ; 30 - regeneration de la premiere cle cryptographique en appliquant l'algorithme de dechiffrement correspondant a l'algorithme de chiffrement parametre par la deuxieme cle cryptographique au chiffre de la premiere cle cryptographique. Le dispositif utilisateur regenere ainsi aisement la premiere cle cryptographique sans que le dispositif de gestion n'ait pu y acceder. 35 Scion une caracteristique particuliere, le procede de protection comprend une verification de l'integrite de la premiere cle cryptographique regeneree au moyen d'une cle publique associee a 5 la premiere de cryptographique memorisee en association avec le chiffre de ladite premiere cle cryptographique. Selon une caracteristique particuliere alternative, le procede de protection comprend une verification de l'integrite de la premiere cle cryptographique regeneree au moyen d'un chiffre de 5 Pidentifiant de l'utilisateur par ladite premiere cle cryptographique memorise en association avec le chiffre de ladite premiere cle cryptographique. Dans ces differents modes de realisation particulier, le procede comprend pour modifier le mot de passe : - generation par le dispositif utilisateur d'une cinquieme cle cryptographique en appliquant 10 l'algorithme de derivation de des A au moins un nouveau mot de passe ; - caleul par le dispositif utilisateur d'un nouveau chiffre de la premiere cle cryptographique en appliquant l'algoritlune de chiffrement parametre par la cinquieme cle cryptographique A la premiere cle cryptographique ; - memorisation dudit nouveau chiffre de la premiere cle cryptographique. 15 Il est ainsi simple de modifier le mot de passe. Selon une caracteristique particuliere, une preuve de connaissance out memorisee en association avec le chiffre de la premiere ele cryptographique et ladite preuve de connaissance est verifiee avant la memorisation dudit nouveau chiffre de la premiere cle cryptographique. Ceci renforce la securisation du procede lors d'une modification du mot de passe. 20 Selon un deuxieme aspect, il est propose un dispositif utilisateur, prevu pour etre utilise par un utilisateur possedant un identifiant et un mot de passe associe, une premiere cle cryptographique etant destinee A dechiffrer au moms une dorm& chiffree. Ce dispositif utilisateur comprend : - un module de generation d'une deuxieme cle cryptographique en appliquant un algorithme de derivation de des au moins au mot de passe ; 25 - un module de chiffrement de la premiere cle cryptographique en appliquant un algorithme de chiffrement parametre par la deuxieme cle cryptographique ; - un module de calcul, agence pour calculer un resultat de l'application d'une fonction A au moms une reponse associee A une question, la reponse etant obtenue aupres de l'utilisateur ; - un module de fourniture, agence pour foumir au dispositif de gestion pour memorisation 30 le chiffre de ladite premiere cle cryptographique et au moms une valeur dependante dudit resultat, ladite valeur permettant au dispositif utilisateur de determiner le mot de passe lorsqu'il dispose de la reponse A ladite question. Les avantages enonces pour le procede de protection selon le premier aspect sont transposables directement au dispositif utilisateur. 35 Co dispositif utilisateur peut bien entendu comporter en termes structurels les differentes caracteristiques relatives au procede dc protection tel que decrit precedemment, qui peuvent etre combinees ou prises isolement. 6 Selon un troisieme aspect, il est propose un programme pour un dispositif utilisateur, sur un support de donnees et chargeable dans la memoire d'un dispositif utilisateur, comprenant des instructions de code de programme destinees a commander l'execution des &apes du precede de protection preeedemment decrit mises en ceuvre par le dispositif utilisateur, lorsque ce programme 5 est execute par ce dispositif ct un support d'enregistrement lisible par un dispositif sur lequel est enregistre un programme pour un dispositif. Les avantages enonces pour le procede de protection selon le premier aspect sont transposables directement au programme pour un dispositif utilisateur et au support d'enregistrement. 10 Selon un quatrieme aspect, il est propose un dispositif de gestion comprenant : - un module d'obtention, agence pour obtenir en provenance d'un dispositif utilisateur pour memorisation en association avec un identifiant d'un utilisateur un chiffre d'une premiere cle cryptographique et une valeur dependante d'un resultat calcule par le dispositif utilisateur, cette valeur permettant au dispositif utilisateur de determiner le mot de passe lorsqu'il dispose de la 15 reponse une question ; - une memoire de stockage, agencee pour memoriser des donnecs obtenues en provenance d'un dispositif utilisateur. Les avantages enonces pour le procede de protection selon le premier aspect sont transposables directement au dispositif de gestion. 20 Co dispositif de gestion peut bien entendu comporter en termes structurels les differentes caracteristiques relatives au procede de protection tel que decrit precedemment, qui peuvent etre combinees ou prises isolement. Selon un cinquiemc aspect, il est propose un programme pour un dispositif de gestion, sur un support de donnees et chargeable dans la memoire d'un dispositif de gestion, comprenant des 25 instructions de code de programme destinees a commander l'execution de celles des &apes du procede de protection precedemment decrit mises en oeuvre par le dispositif de gestion, lorsque co programme est execute par ce dispositif et un support d'enregistrement lisible par on dispositif sur lequel est enregistre un programme pour un dispositif Les avantages enonces pour le precede de protection selon le premier aspect sont 30 transposables directement au programme pour on dispositif de gestion et au support d' enregistrement. Selon un sixieme aspect, il est propose un systeme de protection d'une premiere cle cryptographique comprenant un dispositif de gestion selon le quatrieme aspect et un dispositif utilisateur selon le deuxieme aspect. 35 Les avantages enonces your le procede de protection selon le premier aspect sont transposables directement au systeme de protection. 7 La technique de protection d'une cle cryptographique au moyen d'un mot de passe utilisateur sera mieux comprise a Paide de la description suivante de modes de realisation particuliers, en reference aux dessins annexes sur lesquels : - les figures la, lb, lc et 1 d representent des &apes de differentes phases d'un procede de 5 protection d'une cle cryptographique au moyen d'un mot de passe utilisateur, selon un exemple de realisation ; - la figure 2 est une representation schematique d'un dispositif utilisateur apte a mettre en oeuvre des &apes du procede de protection d'une cle cryptographique au moyen d'un mot de passe utilisateur, selon un exemple de realisation; 10 - la figure 3 est une representation schematique d'un dispositif de gestion apte a mettre en oeuvre des &apes du procede de protection d'une cle cryptographique au moyen d'un mot de passe utilisateur, selon un exemple de realisation. Les &apes d'un procede de protection d'une cle cryptographique au moyen d'un mot de 15 passe utilisateur vont maintenant etre decrites en relation avec les figures 1 a, lb, lc et 1 d. On suppose qu'un utilisateur possede une cle cryptographique, dite sensible, notee sk, destine a etre utilisee pour dechiffrer des donnees qui sont propres a l'utilisateur, dites donnees sensibles. Cette cle cryptographique est une cle sensible dans le sens oü sa divulgation permet a une personne l'ayant obtenue d'acceder a l'ensemble des donnees sensibles de l'utilisateur qui ont 20 ete prealablement chiffrees. L'utilisateur est equipe 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 associes et on appelle « dispositif utilisateur » ce dispositif commande par l'utilisateur. Dans l'exemple de realisation decrit ici, on suppose que la cle cryptographique sensible sk 25 est utilisee dans un systeme de cryptographie a cle publique, par exemple RSA (pour « Rivest Shamir et Adleman »). Dans ce cas, la cle cryptographique sensible sk est une cle privee, ou cle de dechiffrement, d'un couple cle publique/cle privee, destinee a etre utilisee pour dechiffrer un contenu sensible. Le chiffrement du contenu sensible est mis en oeuvre au moyen de la cle publique associee, notee pk. Ces des ont ete generees au moyen d'un algorithme de generation de des et 30 respectent une relation notee PKGen. Ainsi, pk = PKGen(sk). A noter qu'un systeme de chiffrement a cle publique est habituellement utilise pour gerer des des dites long-terme. Ce systeme est done bien adapte au cas d'usage decrit ici. Cependant le procede decrit ici s'applique egalement a un cas øü la cle cryptographique sensible est utilisee dans un systeme cryptographique a cle secrete. 35 On suppose qu'a l'utilisateur est associe un couple comprenant un identifiant login et un mot de passe pwd qu'il est seul a connaitre. On suppose par ailleurs qu'a l'utilisateur est associe un ensemble de 1 questions personnelles (it et de 1 reponses at associees, ie[1, 1], 1 dant superieur ou 8 egal A un, qu'il est seul connaitre. s'agit par exemple du nom de jeune fille de sa mere, du nom de l'animal de compagnie de son enfance, etc. Le procede de protection mis en ceuvre par le dispositif utilisateur et par un dispositif de gestion est decrit dans un premier mode de realisation. 5 Dans une phase initiale P0 d'enregistrement, illustree par la figure la, l'utilisateur s'enregistre aupres d'un serveur S, dit dispositif de gestion, afin que ce dernier protege sa cle cryptographique sensible sk, tout en gerant des modifications voire des pertes du mot de passe de l'utilisateur. L'utilisateur et par consequent le dispositif utilisateur est identifie aupres du serveur S par son identifiant login ; le serveur S n'a par contre pas connaissance du mot de passe pwd de 10 l'utilisateur. Dans un premier temps, la cle cryptographique sensible sk de l'utilisateur est chiffree par le dispositif utilisateur au moyen d'une deuxieme cle cryptographique not& k, derivee du mot de passe et du login de l'utilisateur au moyen d'une fonction de derivation de des, par exemple PB F2 (pour « Password-Based Key Derivation Function 2 »). 15 Dans une etape initiale E00 de generation de cle, la deuxieme cle cryptographique k est &tier& par le dispositif utilisateur en appliquant un algorithme de derivation de cle l'identifiant login et au mot de passe pwd de l'utilisateur. Par exemple, k = PBKDF2(loginlipwd), od l'operateur represente la concatenation. Dans une &tape suivante E01 de chiffrement et d'envoi, la cle cryptographique sensible sk 20 de l'utilisateur est chiffree par le dispositif utilisateur au moyen de la deuxieme cle cryptographique k generee au cours de l'etape precedente E00. Par exemple, l'a)gorithme de cryptographie A cle secrete AES (de l'ang)ais « Advanced Encryption Standard »), parametre par la deuxieme cle cryptographique k est appliqué A la cle cryptographique sensible sk de l'utilisateur afin d'obtenir le chiffre de la cle cryptographique sensible, note c. Ainsi, c = AESEnc(k, sk). A l'issue de 25 l'etape E01, le dispositif utilisateur envoie le chiffre de la cle cryptographique sensible c au scrvcur S pour memorisation en association avec l'identifiant login de l'utilisateur. Dans une etape E01' optionnelle, represent& en pointilles sur la figure 1 a, le dispositif utilisateur envoie egalement la cle publique pk au serveur S, qui la memorise en association avec l'identifiant login. L'envoi de la cle publique pk out destine A permettre au dispositif utilisateur de 30 verifier l'integrite de la cle cryptographique sensible sk lors de sa regeneration. Ceci evite ainsi au dispositif utilisateur de memoriser la cle publique pk. Dans une &tape E02, le dispositif utilisateur calcule on resultat de l'application d'une fonction A au moms une reponse ai associee A une question qi. Dans ce premier mode de realisation, le resultat correspond A une cle cryptographique generee en appliquant un algorithme de 35 derivation de des la reponse aiet A la question correspondante qi. Plus precisement, pour chacun des couples de questions personnelles et de reponses associees (qi,ai), une cle cryptographique 9 associee a la question qi et A la reponse at est &Tier& en utilisant un algorithme de generation de des tel que celui utilise au cours de l'etape E00. La cle associee au couple i est not& ki. Ainsi, pour chaque i E [1, 1], ki = PBKDF2(loginliqill ai). Aucune limitation n'est attach& a l'algorithme de generation de cies utilise a cette etape, un algorithme different de celui de l'etape 5 E00 pouvant etre utilise. Dans une etape suivante E03, le dispositif utilisateur fournit au serveur S pour memorisation au moins une valeur dependante du resultat. Plus precisement, dans ce premier mode de realisation, le dispositif utilisateur chiffre le mot de passe pwd de l'utilisateur pour chaque cle ki générée associee au couple i forme de la question qi et a la reponse associee ai. On peut par 10 exemple, comme it l'etape E01, utiliser l'algorithme AES. Les chiffres du mot de passe pwd obtenus sont notes ci. Ainsi, ci = AESEnc(ki, pwd). Puis, les chiffres ci du mot de passe pwd sont envoyes au serveur S, qui les memorise en association avec l'identifiant login. Aucune limitation n'est attach& a l'algorithme de chiffrement utilise it cette etape, un algorithme different de celui de l'etape E01 pouvant etre utilise. 15 Ainsi, au terme des &apes E00 A E03, dans ce premier mode de realisation, le serveur S memorise en association avec l'identifiant login de l'utilisateur, le chiffre c de la cle cryptographique sensible sk de l'utilisateur, les chiffres ci obtenus en chiffrant le mot de passe pwd de l'utilisateur au moyen de chaque cle ki associee au couple (qi, ai) et optionnellement la cle publique pk. Les chiffres ci permettent, comme cela est decrit ulterieurement, au dispositif 20 utilisateur de determiner le mot de passe en fonction d'une reponse a une question posee it l'utilisateur. Dans une variante de realisation du premier mode de realisation, A l'etape E02, le dispositif utilisateur calcule un resultat de l'application d'une fonction A au moms une reponse ai associee a une question qt. Dans cette variante, le resultat correspond a une cle cryptographique generee en 25 appliquant un algorithme de derivation de des A la reponse ai. Plus precisement, pour chacune des reponses ai, une cle cryptographique associee A la reponse ai est Oiler& en utilisant un algorithme de generation de des, par exemple celui utilise au cours de l'etape E00. La cle associee au couple i est not& ki. Ainsi, pour chaque i e [1,1], k1 = i:DF2(loginli ai). Aucune limitation n'est attach& A l'algorithme de generation de cies utilise a cette etape, un algorithme different de celui 30 de l'etape E00 pouvant etre utilise. A l'etape E03, le dispositif utilisateur chiffre le mot de passe pwd de l'utilisateur pour chaque cle ki generee associee a la reponse ai. Puis, les chiffres ci du mot de passe pwd sont envoy& au serveur S, qui les memorisent en association avec l'identifiant login. Ainsi, au terme des etapes E00 a E03, dans cette variante du premier mode de realisation, 35 le serveur S memorise en association avec l'identifiant login de l'utilisateur, le chiffre c de la cle cryptographique sensible sk de l'utilisateur, les chiffres ci obtenus en chiffrant le mot de passe pwd 10 de l'utilisateur au moyen de chaque cle ki associee une reponse at et optionnellement la cle publique pk. Les chiffres ct permettent, comme cela est decrit ulterieurement, au dispositif utilisateur de determiner le mot de passe en fonction d'une reponse b une question posee A l'utilisateur. 5 Dans un mode de realisation particulier, lorsque la cle cryptographique sensible de l'utilisateur est utilisee dans un systeme de chiffrement cle secrete, A l'etape E01', le dispositif utilisateur determine un chiffre e deterministe de l'identifiant login par la cle cryptographique sensible sk, note = DetEnc(sk,login), puis envoie le chiffre e au serveur S, qui le memorise en association avec l'identifiant login. L'envoi chiffre J est destine A permettre au dispositif utilisateur 10 de verifier l'integrite de la cle cryptographique sensible sk lors de sa regeneration. Ainsi, au terme des &apes E00 a E03, le serveur S memorise en association avec l'identifiant login de l'utilisateur, le chiffre c de la cle cryptographique sensible sk de l'utilisateur, les chiffres ci obtenus en chiffrant le mot de passe pwd de l'utilisateur au moyen de chaque cle ki associees aux reponses ai et le cas echeant, aux questions qi correspondantes et optionnellement le chiffre e 15 Il est souligne que l'utilisateur memorise uniquement son identifiant login et son mot de passe pwd. connait par ailleurs les reponses aux questions personnelles. n'a pas a memoriser une cle sensible telle que sa cle cryptographique sensible sk, la deuxieme cle cryptographique k ou l'ensemble des cies ki associees aux reponses ai et, le cas echeant, aux questions qi correspondantes. Le dispositif utilisateur ne les memorise egalement pas. 20 Il est egalement souligne que le serveur S memorise des donnees protegees ou chiffrees. Ne &tenant pas la cle k utilisee pour chiffrer la cle cryptographique sensible sk de l'utilisateur, cette cle k ayant ete Oiler& et utilisee sur le dispositif utilisateur, le serveur S est donc incapable de recouvrer la cle cryptographique sensible sk de l'utilisateur et d'acceder aux donnees sensibles de l'utilisateur protegees par cette cle sk. De plus, le serveur S est incapable de recouvrer des oleo ki 25 associees aux reponses o/ et' le cas echeant, aux questions qi correspondantes et ne peut donc obtenir le mot de passe pwd. Tel que decrit precedemment, le chiffre de la cle cryptographique sensible c et les chiffres ct du mot de passe pwd sont envoyes au serveur S au cours de deux &apes differentes (E01 et E03) pour memorisation en association avec l'identifiant login de l'utilisateur. Il est bien entendu qu'il 30 ne s'agit que d'un exemple de realisation et que le dispositif utilisateur peut egalement envoyer au serveur S le chiffre de la cle cryptographique sensible c et les chiffres ct du mot de passe pwd en une seule fois au cours de l'etape E03 pour memorisation en association avec l'identifiant login de l'utilisateur. 11 Dans une phase suivante P1 de recouvrement de la cle cryptographique sensible de l'utilisateur, illustree par la figure lb, le dispositif utilisateur recouvre la cle cryptographique sensible sk afin d'utiliser cette cle pour acceder en clair a des donnees de l'utilisateur. Plus precisement dans une etape El() d'envoi d'une requete, le dispositif utilisateur envoie 5 au serveur S une requete d'obtention du chiffre de la cle cryptographique sensible c, cette requete comprenant son identifiant login. Dans une etape suivante Ell de reponse, le serveur S envoie au dispositif utilisateur le chiffre de la cle cryptographique sensible c et optionnellement la cle publique pk associee a la cle cryptographique sensible sk. 10 Dans une etape suivante E12 d'obtention de la deuxieme cle cryptographique, le dispositif utilisateur regenere la deuxieme cle cryptographique k en appliquant l'algorithme de derivation de cle utilise au cours de l'etape E00, en l'espece P:N(D72, a son identifiant login et a son mot de passe pwd. Ainsi, k = PBKDF2(loginlipwd). Dans une &tape suivante El 3 d'obtention de la cle cryptographique sensible, le dispositif 15 utilisateur regenere sa cle cryptographique sensible sk en appliquant l'algorithme de dechiffrement correspondant a l'algorithme de chiffrement utilise au cours de l'etape E01, en l'espece AES, au chiffre de la cle cryptographique c et a la deuxieme cle cryptographique k qu'il a regeneree au cours de l'etape precedente E12. En d'autres termes, ii calcule : sk = AESDec(k, c). Dans une &tape optionnelle E14 de controle, le dispositif utilisateur verifie l'integrite de la 20 cle cryptographique sensible sk regeneree au moyen de la cle publique pk associee en verifiant que la cle publique pk est bien associee a la cle cryptographique sensible sk au moyen de l'algorithme de generation de des PKGen. A cette fin le dispositif utilisateur verifie l'egalite suivante : pk = PKGen(sk). Dans un mode de realisation particulier, lorsque la cle cryptographique sensible de 25 l'utilisateur est utilisee dans un systerne de chiffrement a cle secrete, a l'pe Ell, le serveur S envoie au dispositif utilisateur le chiffre de la cle cryptographique sensible c et optionnellement le chiffre J. A l'etape E14, le dispositif utilisateur verifie l'integrite de la cle cryptographique sensible sk regeneree. Plus precisement, le dispositif utilisateur determine un chiffre e' deterministe de l'identifiant login par la cle cryptographique sensible sk, note e = DetEnc(sk, login) et verifie 30 que ce chiffre 5' est bien egal au chiffre e recu du serveur S. Au terme de cette phase P1, le dispositif utilisateur peut utiliser sa cle cryptographique sensible sk pour dechiffrer des donnees sensibles qu'il a memorisees chiffrees. Dans une phase P2 de modification du mot de passe, illustree par la figure lc et 35 independante de la phase P1 de recouvrement de la cle cryptographique sensible de l'utilisateur, l'utilisateur souhaite modifier son mot de passe pwd. Par exemple, ce mot de passe a ete 12 compromis, ou l'utilisateur a ete sollicite pour modifier ce mot de passe apres une periode predeterminee. A noter que la phase de modification du mot de passe ne peut bien stir etre mise en ceuvre qu'apres la phase PO d'enregistrement. L'utilisateur souhaite modifier son mot de passe pwd en un nouveau mot de passe, note pwd'. 5 A cette fin, l'utilisateur recouvre prealablement sa cle cryptographique sensible sk. Il met en ceuvre les &tapes El° A El 4 de la phase P1 de recouvrement de la cle cryptographique sensible telles que decrites precedemment. Dans une etape E20 de generation d'une troisieme cle cryptographique, similaire A l'etape E00 decrite precedemment, le dispositif utilisateur genere une troisieme cle cryptographique k' au 10 moyen de son nouveau mot de passe pwd'. A cette fin il applique le meme algorithme de derivation de des, que celui utilise au cours de l'etape E00, en l'espece PB A son identifiant login et A son nouveau mot de passe pwd'. Ainsi, calcule : k' = PEKDF2(loginlipwcr). Dans une etape suivante E21 de chiffrement de la cle cryptographique sensible, similaire A l'etape E01 decrite precedemment, le dispositif utilisateur chiffre sa cle cryptographique sensible 15 sk au moyen de la troisieme cle cryptographique k' generee au cours de Petape precedente E20 en utilisant le meme algorithme de chiffrement que celui utilise au cours de l'etape E01. Ainsi, le dispositif utilisateur calcule un nouveau chiffre de la cle cryptographique sensible sk note c' de la facon suivante : c' = AESEnc(k',sk). Le dispositif utilisateur met egalement en oeuvre Petape E03 de la phase PO d'enregistrement, decrite precedemment, afin de mettre A jour les chiffres ci' en 20 fonction du nouveau mot de passe pwd'. On rappelle que ci' = AESEnc(ki,pwc11). Dans une etape suivante E22 de preuve de connaissance de la cle cryptographique sensible sk, le dispositif utilisateur calcule une preuve de connaissance non interactive A divulgation nulle de connaissance de la cle cryptographique sensible sk avec controle d'integrite du nouveau chiffre c' de la cle cryptographique sensible sk. La preuve de connaissance TT est destinee garantir au 25 serveur S que le dispositif utilisateur connait la cle cryptographique sensible sk. Cette verification est un prealable au remplacement du chiffre c de la cle cryptographique sensible sk par le nouveau chiffre c' de cette meme cle cryptographique sensible dans la memoire de stockage du serveur S. Dans un exemple de realisation, la preuve de connaissance it- de type NIZK (de l'anglais « Non-Interactive Zero-know)edge proof of Knowledge ») repose sur le schema de chiffrement A 30 cle publique EL Gamal. Avec un tel schema, la cle privee sk est de la forme sk = x,x E Zp*, p etant un nombre premier, et la cle publique associee est de la forme pk = y = gx,g e6, G etant un groupe d'ordre premier p. La preuve de connaissance N1ZK n- peut etre faite en utilisant la signature de Schnorr, r E Z*, t = gr, d = H est une fonction de hachage, et s = r - cx (mod p), et la preuve de connaissance NIZK (d,$). Elle peut etre verifiee en 35 testant si d = H(yilydgsll Cr). 13 Dans une etape suivante E23 d'envoi, le dispositif utilisateur envoie au serveur S son identifiant login, le nouveau chiffre c' de la cle cryptographique sensible sk , les nouveaux chiffres ci' du mot de passe pwd' et la preuve de connaissance 7r calculee au cours de Petape E22. Dans une etape suivante E24 de verification et de remplacement, le serveur S verifie la 5 preuve de connaissance 7r et si celle-ci est correcte, le serveur S remplace dans sa memoire de stockage le chiffre c de la cle cryptographique sensible sk par le nouveau chiffre c' de cette meme cle et les nouveaux chiffres ci' en association avec l'identifiant login. Dans un mode de realisation particulier, lorsque la cle cryptographique sensible de l'utilisateur est utilisee dans un systerne de chiffrement cle secrete, A Petape E22, le dispositif 10 utilisateur calcule une preuve de connaissance 7r non interactive A divulgation nulle de connaissance de la cle cryptographique sensible sk avec controle d'integrite du nouveau chiffre c' de la cle cryptographique sensible sk. Dans un exemple de realisation, la preuve de connaissance rr de type NIZK s'appuie sur le chiffre = DetEnc(sk,login). D faut alors utiliser un chiffrement deterministe avec une structure algebrique pour 'etre efficace. Des exemples de ce type de 15 chiffrement sont decrits dans Particle « On notions of Security for Deterministic Encryption, and Efficient Constructions with Random Oracles » de A. Boldyreva, S. Fehr et A. O'Neill publie dans les actes de la conference CRYPTO 2008. Ainsi, le mot de passe pwd out modifie en un nouveau mot de passe pwd', le nouveau chiffre c' de la cle cryptographique sensible sk calcule au moyen de la troisieme cle 20 cryptographique k' derivee du nouveau mot de passe pwd', les nouveaux chiffres ci' sont memorises par le serveur S sans que ce demier n'accede aucun moment A la cle cryptographique sensible sk de l'utilisateur. Le serveur ne peut ainsi aucun moment acceder aux donnees en clair de l'utilisateur. Le dispositif utilisateur peut ensuite mettre en ceuvre la phase PI de recouvrement decrite 25 precedemment afin de recouvrer la cle cryptographique sensible sk & partir du nouveau mot de passe pwd ' et l'utiliser pour acceder ses donnees en clair. Dans une phase P3 de gestion d'une perte de mot de passe, illustree par la f.ig.e ld et independante de la phase 131 de recouvrement de la cle cryptographique sensible de l'utilisateur et 30 de la phase P2 de modification du mot de passe decrites precedemment, l'utilisateur qui a oublie ou perdu son mot de passe souhaite recouvrer sa cle cryptographique sensible sk afin d'acceder A ses donnees memorisees chiffrees. A noter que la phase P3 de gestion d'une perte de mot de passe ne peut bien sur etre mise en ceuvre qu'apres la phase PO d'enregistrement. Dans une etape E30 d'envoi d'un identifiant, le dispositif utilisateur envoie au serveur S 35 son identifiant login. 14 Dans une &tape suivante E31 de selection et d'envoi, le serveur S extrait de l'ensemble des 1 questions personnelles qt associe a l'utilisateur n questions, n 1, de facon aleatoire. On note I l'ensemble des indices associes aux n questions. Le serveur S envoie alors au dispositif utilisateur un sous-ensemble comprenant les n questions qt extraites et les n chiffres ci du mot de passe pwd 5 (on rappelle que ces chiffres ont ete obtenus a l'etape E03 au moyen des des kt associees aux questions qt et aux reponses ai calculees au cours de l'etape E02). Ainsi, le serveur S envoie l'utilisateur le sous-ensemble note f(ch, ci)}iej. On souligne ici que dans ce premier mode de realisation, ce sous-ensemble peut comprendre uniquement une question et le chiffre du mot de passe associe. 10 Dans une etape E32 de questions-reponses, chacune des questions qt du sous-ensemble {(qi, ci))ei est posee a l'utilisateur, et l'utilisateur saisit pour chaque question qt une reponse a; associee au moyen d'une interface-homme machine du dispositif utilisateur. Dans une ≊ suivante E33 de calcul, it est calcule a partir de chaque question qt et de chaque reponse a; fournie par l'utilisateur au cours de l'etape precedente, un sous-ensemble de cles 15 cryptographiques k,, ic I, chaque cle k; de ce sous-ensemble etant associee a la question qt en utilisant le mane algorithme de generation de cies que celui utilise au cours de l'etape E02. La cle associee a la ieme question qt et a la reponse a; associee est not& k;. Ainsi, pour chaque i E I k; = PBKDF2(logini I qt I a; ) . Dans la variante decrite precedemment, pour chaque tEl k; = PBKDF2(loginll a;). 20 Dans une &tape suivante E34 de recouvrement du mot de passe, it est calcule pour chaque i ci, un mot de passe courant, note pwd,, en dechiffrant les n chiffres ci du mot de passe pwd au moyen des des k; calculees precedemment. On rappelle que lors de la phase d'enregistrement P0, plus precisement au cours l'etape E03 de chiffrement et d'envoi, le mot de passe pwd de l'utilisateur a ete chiffre par le dispositif utilisateur au moyen de chacune des des kt associees aux 25 reponses at et, le cas echeant, aux questions qt correspondantes et que les chiffres ci ainsi obtenus ont ensuite ete envoyes au serveur S. L'algorithme de dechiffrement correspondant a l'algorithme de chiffrement utilise au cours de l'etape E03 est utilise. Ainsi, il est calcule pour i E I, pwdt = AESDec(k;,ct). On comprend que si l'utilisateur ne s'est trompe dans aucune des reponses a; , c'est-A-dire lorsque a = ai, alors tous les mots de passe pwdt sont identiques, et correspondent au 30 mot de passe pwd de l'utilisateur. Le dispositif utilisateur memorise temporairement le mot de passe recouvre pwd et l'utilise pour mettre en oeuvre les &apes de la phase P2 de modification du mot de passe. En effet, it est conseille de modifier ce mot de passe, precedemment oublie. Dans un exemple de realisation, l'ensemble des mots de passe pwdi calcules precedemment sont identiques au mot de passe pwd 35 que l'utilisateur a oublie. Cela signifie que l'utilisateur ne s'est trompe dans aucune des reponses a; qu'il a fournies au cours de l'etape E32. 15 Dans un deuxieme exemple de realisation, correspondant un cas l'utilisateur a fourni quelques reponses a; erronees, alors l'utilisateur memorise comme mot de passe recouvre pwd celui qui apparait le plus grand nombre de fois au cours de l'etape E34 de recouvrement. Ainsi, le ou les cbiffrea qui ont ete fournis au dispositif de gestion lors de l'etape E03 5 permettent au dispositif utilisateur de determiner le mot de passe lorsqu'il dispose de n reponse(s) n question(s). Dans un exemple de realisation, un tiers peut connaitre, soit par chance soit par connaissance de details de la vie de l'utilisateur via un reseau social par exemple, une ou plusieurs des reponses ai aux questions gi. Dans cocas, le tiers peut mettre en ceuvre les &apes de la phase 10 P3 de gestion d'une perte de mot de passe et essayer tous les mots de passe pwcii recouvres au cours de l'etape E34 jusqu'a trouver un mot de passe pwdi qui correspond au mot de passe pwd de l'utilisateur. Le tiers pourrait alors obtenir la cle cryptographique sensible sk de l'utilisateur et acceder A ses donnees en clair. Afin de pallier une telle attaque, il est possible de contraindre l'utilisateur A repondre h l'ensemble des questions posees dans le cas d'une perte de mot de passe. 15 Dans un deuxieme mode de realisation particulier, lors de la phase initiale PO d'enregistrement, les &apes E00 de generation de cle deuxieme cle cryptographique k, E01 de chiffrement de la cle cryptographique sensible sk de Putilisateur par le dispositif utilisateur au moyen de la deuxieme cle cryptographique k generee au cours de l'etape precedente E00 sont 20 executees. Dans une variante, l'etape E01' est egalement mise en oeuvre. On suppose que le serveur S a envoye un entier n, n etant superieur ou egal A deux, au dispositif utilisateur, par exemple avec les questions personnelles qi. A l'etape E02, le dispositif utilisateur choisit un polynome P de degre n-1 tel que P(0)=pwd et calcule pour chaque reponse ai la valeur pi = P(oi). Ainsi, dans ce deuxieme mode 25 de rea)isation, le resultat correspond A l'application du polynome P A au moms une reponse associee une question. A Petape E03, le dispositif utilisateur envoie au serveur S les valeurs pi calculees pour chaque i E [1, l] pour memorisation en association avec l'identifiant de l'utilisateur login. Dans cc deuxieme mode de realisation, le resultat est directement envoye au serveur S. 30 Ainsi, au terme des &apes E00 E03, dans ce deuxieme mode de realisation, le serveur S memorise en association avec l'identifiant login de l'utilisateur, le chiffre c de la cle cryptographique sensible sk de l'utilisateur, les valeurs pi obtenues en appliquant le polynome P aux reponses ai et optionnellement la cle publique Pk ou le chiffre selon les exemples de realisation. Les valeurs pi permettent, comme cela est decrit ulterieurement, au dispositif utilisateur 35 de determiner le mot de passe en fonction d'une reponse une question posee l'utilisateur. 16 To que decrit precedemment, le chiffre de la cle cryptographique sensible c et les valeurs pi obtenues en appliquant le polynome P aux reponses a, sont envoyees au serveur S au cours de deux &apes differentes (E01 et E03) pour memorisation en association avec l'identifiant login de l'utilisateur. II est bien entendu qu'il ne s'agit que d'un exemple de realisation et que le dispositif 5 utilisateur peut egalement envoyer au serveur S le chiffre de la cle cryptographique sensible c et les valeurs pi en une seule fois au cours de Petape E03 pour memorisation en association avec l'identifiant login de l'utilisateur. La phase PI de recouvrement de la cle cryptographique est inchangee dans ce deuxieme mode de realisation. 10 La phase P2 de modification du mot de passe va maintenant etre decrite dans ce deuxieme mode de realisation. L'utilisateur souhaite modifier son mot de passe pwd en un nouveau mot de passe, note pwd A cette fin, l'utilisateur recouvre prealablement sa cle cryptographique sensible sk. 11 met en ceuvre les &apes El 0 A El4 de la phase P1 de recouvrement de la cle cryptographique telles que 15 decrites precedemment. L'etape E20 de generation d'une troisieme cle cryptographique, decrite precedemment en relation avec le premier mode de realisation, est executee pour generer une troisieme cle cryptographique k' au moyen du nouveau mot de passe pwd'. L'etape E21, decrite precedemment en relation avec le premier mode de realisation, out egalement e ecutee pour chiffrer la cle 20 cryptographique sensible sk au moyen de la troisieme cle cryptographique k', soft le nouveau chiffre c'. L'etape E22, deerite precedemment en relation avec le premier mode de realisation, est executee pour calculer une preuve de connaissance rt- non interactive A divulgation nulle de connaissance de la cle cryptographique sensible sk avec controle d'integrite du nouveau chiffre c' de la cle cryptographique sensible sk. 25 L'etape E23 d'envoi, decrite precedemment en relation avec le premier mode de realisation, est executee pour envoyer au serveur S l'identifiant login, le nouveau chiffre c' de la cle cryptographique sensible sk et la preuve de connaissance Tr calculee au cours de l'etape E22. Le serveur S execute Petape E24 pour verifier la preuve de connaissance Si la preuve de connaissance est correcte, le serveur S envoie au dispositif utilisateur un 30 ensemble de I questions q, pour chaque i c [1, I]. Comme decrit precedemment your l'etape E02 de ce deuxieme mode de realisation, le dispositif utilisateur choisit un polynome P' de degre n-I tel que P'(0)=pwd' et calcule pour chaque reponse ai la valeur pi' = P'(a). Comme decrit precedemment pour Petape E03 de ce deuxieme mode de realisation, le 35 dispositif utilisateur envoie au serveur S les va)eurs pi ' calculees pour chaque i [1,1] pour remplacer dans sa memoire de stockage les valeurs precedentes pi. Le serveur S memorise ainsi en 17 association avec l'identifiant de l'utilisateur login le nouveau chiffre c' de la cle cryptographique sensible sk et les nouvelles valeurs pi' . Les variantes decrites precedemment en relation avec le premier mode de realisation pour cette phase P2 de modification du mot de passe sont egalement applicables. 5 Ainsi, le mot de passe pwd est modifie en un nouveau mot de passe pwd' ; le nouveau chiffre c' de la cle cryptographique sensible sk calcule au moyen de la troisieme cle cryptographique k' derivee du nouveau mot de passe pwd' et les nouveaux chiffres ci sont memorises par le serveur S sans que ce dernier n'accede a aucun moment a la cle cryptographique sensible sk de l'utilisateur. Le serveur ne peut ainsi it aucun moment acceder aux donnees en clair 10 de l'utilisateur. La phase P3 de gestion de perte du mot de passe va maintenant etre &erne dans ce deuxieme mode de realisation. L'utilisateur a oublie ou perdu son mot de passe et souhaite recouvrer sa cle cryptographique sensible sk afin d'acceder it ses donnees memorisees chiffrees. L'etape E30 est executee par le dispositif utilisateur pour envoyer au serveur S son 15 identifiant login. L'etape E31 est executee par le serveur S pour extraire de l'ensemble des 1 questions personnelles qi associe a l'utilisateur n questions, n 5_ 1, de facon aleatoire et pour envoyer au dispositif utilisateur un sous-ensemble comprenant les n questions qi extraites et les n valeurs pi (on rappelle que ces valeurs ont ete obtenues it Petape E03 du deuxieme mode de realisation au 20 moyen d'un polynome P et sont chacune associees a une reponse ai). Ainsi, le serveur S envoie it l'utilisateur l'ensemble note [(qi, pi)) pour i El. A Petape E32 de questions-reponses, chacune des questions qi du sous-ensemble est posee it l'utilisateur, et l'utilisateur saisit pour chaque question qi une reponse c4 associee au moyen d'une interface-homme machine du dispositif utilisateur. 25 A Petape E33 de calcul, le dispositif utilisateur determine le polynome P a partir des n reponses obtenues a; et des n valeurs pi associees par exemple en executant une interpolation de Lagrange. A l'etape E34, le dispositif utilisateur calcule P(0) pour obtenir le mot de passe pwd. Le dispositif utilisateur memorise temporairement le mot de passe recouvre pwd et l'utilise 30 pour mettre en cr uvre le. et,.-pes de la phase P2 de modification du mot de passe. Ainsi, la ou les valeurs qui ont ete fournies au serveur S tors de Petape E03 permettent au dispositif utilisateur de determiner le mot de passe lorsqu'il dispose des n reponses aux n questions. Dans un troisierne mode de realisation particulier, lors de la phase initiate PO 35 d'enregistrement, les &apes E00 de generation de cle d'une deuxieme cle cryptographique k, E01 de chiffrement de la cle cryptographique sensible sk de l'utilisateur par le dispositif utilisateur au 18 moyen de la deuxieme cle cryptographique k Oiler& au cours de l'etape precedente E00 sont executees. Dans une variante, l'etape E01' est egalement mise en oeuvre. On suppose que le serveur S a envoye un entier n au dispositif utilisateur, par exemple avec les questions personnelles qi. 5 A l'etape E02, le dispositif utilisateur choisit un polynome bijectif P de degre n-1. A titre d'exemple illustratif, lorsque n vaut deux, le polynome est de degre un et est toujours bijectif. Pour des degres de polynome plus eleves, des restrictions sur le domaine en entrée et/ou sur le domaine en sortie peuvent permettre d'atteindre le meme but. Toujours a l'etape E02, le dispositif utilisateur calcule pour chaque reponse a, la valeur 10 pi = P(a1) ainsi que Po= P(pwd). Ainsi, dans ce troisieme mode de realisation, le resultat correspond a l'application du polynome P a au moins une reponse associee a une question. A l'etape E03, le dispositif utilisateur envoie au serveur S les valeurs pi calculees pour chaque i E [1, et la valeur po pour memorisation en association avec l'identifiant de l'utilisateur login. Dans ce troisieme mode de realisation, le resultat est directement envoye au serveur S. 15 Ainsi, au terme des &apes E00 a E03, dans ce troisieme mode de realisation, le serveur S memorise en association avec l'identifiant login de l'utilisateur, le chiffre c de la cle cryptographique sensible sk de l'utilisateur, les valeurs pi obtenues en appliquant le polynome P aux reponses a1, la valeur po et optionnellement la cle publique pk ou le chiffre ë selon les exemples de realisation. Les valeurs pi permettent, comme cela est decrit ulterieurement, au 20 dispositif utilisateur de determiner le mot de passe en fonction de n reponses a n questions posees a l'utilisateur. Tel que decrit precedemment, le chiffre de la cle cryptographique sensible c, la valeur po et les valeurs pi obtenues en appliquant le polynome P aux reponses ai sont envoyees au serveur S au cours de deux &apes differentes (E01 et E03) pour memorisation en association avec l'identifiant 25 login de l'utilisateur. II est Bien entendu qu'il ne s'agit que d'un exemple de realisation et que le dispositif utilisateur peut egalement envoyer au serveur S le chiffre de la cle cryptographique sensible c, la valeur Po et les valeurs pi en une seule fois au cours de l'etape E03 pour memorisation en association avec l'identifiant login de l'utilisateur. La phase P1 de recouvrement de la cle cryptographique est inchangee dans ce troisieme 30 mode de realisation. La phase P2 de modification du mot de passe va maintenant etre decrite dans ce troisieme mode de realisation. L'utilisateur souhaite modifier son mot de passe pwd en un nouveau mot de passe, note pwd'. A cette fin, l'utilisateur recouvre prealablement sa cle cryptographique sensible sk. Ii met 35 en muvre les &apes El0 a E14 de la phase P1 de recouvrement de la cle cryptographique sensible telles que &elites precedemment. 19 L'etape E20 de generation d'une troisieme cle cryptographique, decrite precedemment en relation avec le premier mode de realisation, est executee pour generer une troisieme cle cryptographique k' au moyen du nouveau mot de passe pwd'. L'etape E21, decrite precedemment en relation avec le premier mode de realisation, est egalement executee pour chiffrer la cle 5 cryptographique sensible sk au moyen de la troisieme cle cryptographique k', soit le nouveau chiffre c'. L'etape E22, &mite precedemment en relation avec le premier mode de realisation, est executee pour calculer une preuve de connaissance II non interactive A divulgation nulle de connaissance de la cle cryptographique sensible sk avec controle d'integrite du nouveau chiffre c' de la cle cryptographique sensible sk. 10 Le serveur S envoie au dispositif utilisateur un ensemble de / questions qi pour chaque E [1, 11 Chacune des questions 9/est posee h l'utilisateur, et l'utilisateur saisit pour chaque question qi une reponse a; associee au moyen d'une interface-homme machine du dispositif utilisateur. Le dispositif utilisateur determine alors en fonction des valeurs po, pi et des reponses a; 15 le polynome P par interpolation. Le dispositif utilisateur determine alors en fonction du polynome P la valeur prise pour le mot de passe pwd noteepo r. L'etape E23 d'envoi, decrite precedemment en relation avec le premier mode de realisation, est executee pour envoyer au serveur S l'identifiant login, le nouveau chiffre c' de la cle 20 cryptographique sensible k , la preuve de connaissance calculee au cours de {`(tape E22 et la valeurpo'. Le seiveur S execute l'etape E24 pour verifier la preuve de connaissance 7r. Si la preuve de connaissance est correcte, le serveur S memorise ainsi en association avec l'identifiant de l'utilisateur login le nouveau chiffre c' de la cle cryptographique sensible sk et la 25 nouvelle valeur po Les variantes decrites precedemment en relation avec le premier mode de realisation pour cette phase P2 de modification du mot de passe sont egalement applicables. Ainsi, le mot de passe pwd est modifie en un nouveau mot de passe pwd' ; le nouveau chiffre c' de la cle cryptographique sensible sk calcule au moyen de la troisieme cle 30 cryptographique k' derivee du nouveau mot de passe pwd' et la nouvelle veur po ' sont memorises par le serveur S sans que ce dernier n'accede aucun moment A la cle cryptographique sensible sk de l'utilisateur. Le serveur ne peut ainsi & aucun moment acceder aux donnees en clair de l'utilisateur. Il est ici souligne que lors de cette modification de mot de passe, les valeurs pi ne sont pas modifiees. 35 La phase P3 de gestion de perte du mot de passe vu maintenant 'etre decrite dans ce troisieme mode de realisation. L'utilisateur a oublie nu perdu son mot de passe et souhaite 20 recouvrer sa cle cryptographique sensible sk afin d'acceder a ses donnees en clair memorisees chiffrees. L'etape E30 est executee par le dispositif utilisateur pour envoyer au serveur S son identifiant login. 5 L'etape E31 est executee par le serveur S pour extraire de l'ensemble des I questions personnelles qi associe a l'utilisateur n questions, n 1, de fawn aleatoire et pour envoyer au dispositif utilisateur un sous-ensemble comprenant les n questions qi extraites et les n valeurs pi (on rappelle que ces valeurs ont ete obtenues a l'etape E03 du troisieme mode de realisation au moyen d'un polynome P et sont chacune associees a une reponse ai) ainsi que la valeur po. Ainsi, 10 le serveur S envoie a l'utilisateur l'ensemble note f(qi,pi)} pour i E/ et po. A l'etape E32 de questions-reponses, chacune des questions qi du sous-ensemble est posee a l'utilisateur, et l'utilisateur saisit pour chaque question qi une reponse di associee au moyen d'une interface-homme machine du dispositif utilisateur. A l'etape E33 de calcul, le dispositif utilisateur determine le polynome P a partir des n 15 reponses obtenues a1' et des n valeurs pi associees par exemple en executant une interpolation polynomiale. A l'etape E34, le dispositif utilisateur calcule P-I (po) pour obtenir le mot de passe pwd, oü 13-1 correspond a la fonction inverse du polynome P. Le dispositif utilisateur memorise temporairement le mot de passe recouvre pwd et l'utilise 20 pour mettre en oeuvre les etapes de la phase i2 modification du mot de passe. Ainsi, la ou les valeurs qui ont ete fournies au serveur S lors de l'etape E03 permettent au dispositif utilisateur de determiner le mot de passe lorsqu'il dispose de n reponses a n questions. Dans les modes de realisation qui ont ete decrits, le dispositif de gestion est un serveur S. Tout dispositif de stockage, tel qu'un element de securite, peut egalement mettre en oeuvre des 25 &apes du procede de protection tel que decrit precedemment. Un dispositif utilisateur 20 apte a mettre en oeuvre certaines des &apes du procede de protection d'une cle cryptographique au moyen d'un mot de passe utilisateur, selon un exemple de realisation, va maintenant etre clecrit en relation avec la figure 2. Ce dispositif utilisateur 20 est 30 prevu pour etre utilise par un utilisateur possedant un identifiant et un mot de passe associe. Une cle cryptographique est destinee a dechiffrer au moins une donnee chiffree. Le dispositif utilisateur comprend : - une unite de traitement 21, ou CPU (de l'anglais « Central Processing Unit »), agencee pour executer des instructions de code ; 35 - un ensemble de memoires, dont une memoire volatile 22 de type de l'anglais « Random Access Memory »), utilisee pour executer des instructions de code, stocker des variables, etc., et une memoire de stockage 23 de type memoire flash ou EEPROM (de l'anglais 21 « Eletronically Erasable Programmable Read Only Memory »). La memoire de stockage 23 est agencee pour memoriser des donnees et des applications. En particulier, la memoire de stockage 23 memorise un module logiciel de protection d'une cle cryptographique sensible au moyen d'un mot de passe utilisateur agence pour mettre en ceuvre les &apes du procede de protection d'une cle 5 cryptographique decrit precedemment qui sont mises en oeuvre par le dispositif utilisateur. Le dispositif utilisateur 20 comprend egalement - un module de generation 24 d'une deuxieme cle cryptographique en appliquant un algorithme de derivation de des au moms au mot de passe ; - un module de chiffrement 25 de la cle cryptographique sensible en appliquant un 10 algorithme de chiffrement parametre par la deuxierne cle cryptographique ; - un module de calcul 26, agence pour calculer un resultat de l'application d'une fonction au moms une reponse associee A une question, la reponse etant obtenue aupres de l'utilisateur ; - un module de fourniture 27, notamment agence pour fournir au dispositif de gestion pour memorisation des donnees en association avec un identifiant. Ces donnees correspondent au chiffre 15 de la cle cryptographique et au moins une valeur dependante du resultat, cette valeur permettant au dispositif utilisateur de determiner le mot de passe lorsqu'il dispose de la reponse A ladite question ; - un module 28 d'interface honune-machine, agence pour communiquer avec un utilisateur ; - un module 29 d'obtention, agence pour obtenir des donnees du dispositif de gestion. Ces 20 donnees peuvent correspondre A un ensemble de questions qi, une question possedant une reponse associee ai destinee A etre fournie par l'utilisateur, ces questions aunt obtenues lors d'une phase d'enregistrement de l'utilisateur aupres du dispositif de gestion ou lors d'une phase de gestion de perte de mot de passe par le dispositif utilisateur. Ces donnees peuvent egalement correspondre aux donnees qui ont ete fournies precedemment par le dispositif utilisateur au dispositif de gestion pour 25 memorisation en association avec l'identifiant de l'utilisateur. Dans un mode de realisation particulier, le module de fourniture 27 est un module d'envoi et le module d'obtention 29 est un module de reception. Dans le premier mode de realisation, la valeur fournie correspond A un chiffre ci du mot de passe pwd de l'utilisateur, le mot de passe de l'utilisateur ayant ete chiffre au moyen d'une cle 30 cryptographique associee une reponse A une question, et le cas echeant, la question correspondante. Dans le deuxieme et le troisieme modes de realisation, la valeur fournie correspond A une application d'un polynome P A au moMs une reponse associee A une question. La technique de protection est mise en ceuvre au moyen de composants logiciels et/ou 35 materiels. Dans cette optique, le terme "module" peut correspondre dans ce document aussi bien A un composant logiciel, qua un composant materiel ou un ensemble de composants materiels et/ou 22 logiciels, apte mettre en oeuvre une fonction ou un ensemble de fonctions, selon ce qui est decrit precedernment pour le module concern& Un composant logiciel correspond A un ou plusieurs programmes d'ordinateur, un ou plusieurs sous-programmes d'un programme, ou de maniere plus generale A tout element dun 5 programme ou d'un logiciel. Un tel composant logiciel est stocke en memoire puis charge et execute par un processeur de donnees d'une entite physique et est susceptible d'acceder aux ressources materielles de cette entite physique (memoires, supports d'enregistrement, bus de communication, cartes (lectroniques d'entrees/sorties, interfaces utilisateur, etc). De la meme maniere, un composant materiel correspond A tout element d'un ensemble 10 materiel (ou hardware). Il peut s'agir d'un composant materiel programmable ou non, avec ou sans processeur integre pour [execution de logiciel. U s'agit par exemple d'un circuit integre, d'une carte A puce, d'une carte electronique pour l'execution d'un micrologiciel (firmware), etc. Dans un mode de realisation particulier, les module de generation 24, de chiffrement 25, de calcu) 26, d'obtention 29 et de fourniture 27 sont des modules logiciels comprenant des instructions 15 logicielles pour mettre en oeuvre celles des &apes du procede de protection d'une cle cryptographique au moyen d'un mot de passe, tel que decrit precedemment, qui sont executees par le dispositif utilisateur. L'invention concerne clone aussi : - un programme d'ordinateur comportant des instructions de programme destinees 20 commander l'execution de celles des etapes du procede de protection d'une cle cryptographique au moyen d'un mot de passe tel que decrit precedemment mises en ceuvre par un dispositif utilisateur, lorsque ce programme est execute par un processeur du dispositif utilisateur, et - un support d'enregistrement lisible sur lequel est enregistre le programme d'ordinateur decrit precedemment. 25 Les modules logiciels peuvent etre stockes dans ou transmis par un support de donnees. Celui-ci peut 'etre un support materiel de stockage, par exemple un CD-ROM, une disquette magnetique ou un disque dur, ou bien un support de transmission tel qu'un signal electrique, optique ou radio, ou un reseau de telecommunication. Un dispositif de gestion 30, agence pour mettre en oeuvre certaines des (tapes du procede 30 de protection d'une cle cryptographique au moyen d'un mot de passe utilisateur, selon un exemple de realisation, va maintenant etre decrit en relation avec la fizun 3. Le dispositif de gestion 30 est no equipement informatique qui de maniere classique comprend : - une unite de traitement 31, ou CPU, agencee pour executer des instructions de code : 35 - un ensemble de memoires, dont une memoire volatile 32 de type , utilisee pour executer des instructions de code, stocker des variables, etc., et une memoire de stockage 33 de type memoire flash ou EEPROM. La memoire de stockage 33 est agencee pour memoriser des 23 donnees et des applications. En particulier, la memoire de stockage 33 memorise un module logiciel de protection d'une cle cryptographique au moyen d'un mot de passe utilisateur agence pour mettre en oeuvre les &apes du procede de protection d'une cle cryptographique decrit precedemment qui sont mises en ceuvre par le dispositif de gestion. 5 Le dispositif de gestion comprend egalement : - un module d'obtention 35, notamment agence pour obtenir en provenance d'un dispositif utilisateur des donnees memoriser en association avec un identifiant d'un utilisateur. Ces donnees correspondent notamment au chiffre d'une cle cryptographique c, envoy& par le dispositif utilisateur A l'etape E01 du procede de protection decrit precedemment, et A une valeur dependante 10 d'un resultat calcule par le dispositif utilisateur, cette valeur permettant au dispositif utilisateur de determiner le mot de passe lorsqu'il dispose de la reponse A une question ; - un module de foumiture 36, agence pour foumir un dispositif utilisateur des donnees. Ces donnees peuvent correspondre un ensemble de questions qi, une question possedant une reponse associee ai destinee A etre fournie par l'utilisateur, ces questions etant fournies lors d'une 15 phase d'enregistrement de l'utilisateur aupres du dispositif de gestion ou lors d'une phase de gestion de perte de mot de passe par le dispositif utilisateur. Ces donnees peuvent egalement correspondre aux donnees qui ont ete obtenues precedemment du dispositif utilisateur par le dispositif de gestion pour memorisation en association avec l'identifiant de 1 'utilisateur. - une memoire de stockage 34, agencee pour memoriser les donnees recues en provenance 20 d'un dispositif utilisateur enregistre. Dans un mode de realisation particulier, le module d'obtention 35 est un module de reception et le module de fourniture 36 est un module d'envoi. Dans le premier mode de realisation, la valeur recite correspond A un chiffre ci du mot de passe pwd de l'utilisateur, le mot de passe de l'utilisateur ayant ete chiffre au moyen d'une cle 25 cryptographique associee A une reponse A une question et, le can echeant la question correspondante. Dans le deuxieme et le troisieme modes de realisation, la velour recite correspond A une application d'un polynome P A au moins une reponse associee une question. Dans un mode de realisation particulier, le module 35 d'obtention et le module de 30 fourniture 36 sont des modules logiciels comprenant des instructions logicielles pour mettre en oeuvre celles des &apes du procede de protection d'une cle cryptographique au moyen d'un mot de passe, tel que (Merit precedemment, qui sont executees par le dispositif de gestion. L'invention concerne donc aussi : - un programme d'ordinateur comportant des instructions de programme destinees 35 commander l'execution de celles des &apes du procede de protection d'une cle cryptographique au moyen d'un mot de passe tel que decrit precedemment, mises en truvre par un dispositif de gestion, lorsque ce programme est execute par un processeur du dispositif de gestion, et 24 - un support d'enregistrement lisible sur lequel est enregistre le a e d'ordinateur e demment. L'invention conceme un protection cle cryptograph:cl, 5 moyen d'un mot de passe Un tel sys: : un !if d.;; tel que decrit p.! REVENDICATIONS1. Procede de protection d'une premiere cle cryptographique, un utilisateur possedant un identifiant et un mot de passe associe, ladite premiere cle cryptographique etant destinee dechiffrer au moins une dorm& chiffree, ledit procede, mis en oeuvre par un dispositif utilisateur, comprenant : - generation (E00) d'une deuxieme cle cryptographique en appliquant un algorithme de derivation de cies au moins au mot de passe ; - chiffrement (E01) de la premiere cle cryptographique en appliquant un algorithme de 10 chiffrement parametre par la deuxieme cle cryptographique ; - calcul (E02) du resultat de l'application d'une fonction a au moins une reponse associee une question, la reponse etant obtenue aupres de l'utilisateur ; - fourniture (E03) au dispo ,:itif de gestion pour memorisation du chiffre de ladite premiere cle cryptographique et d'au moins une valeur dependante dudit resultat, ladite valeur permettant au 15 dispositif utilisateur de determiner le mot de passe lorsqu'il dispose de la reponse a ladite question. 2. Procede de protection selon la revendication 1, dans lequel le resultat correspond a une troisieme cle cryptographique generee en appliquant un algorithme de derivation de des a ladite reponse et la valeur dependante dudit resultat correspond au chiffrement du mot de passe au moyen 20 de la troisieme cle cryptographique generee. 3. Procede de protection selon la revendication 2, comprenant pour determiner le mot de passe a partir d'une reponse obtenue par le dispositif utilisateur pour ladite question : - obtention par le dispositif utilisateur dudit chiffre du mot de passe et de la question 25 correspondante ; - calcul d'une quatrieme cle cryptographique en appliquant l'algorithme de derivation de des a la question et a la reponse obtenue aupres de l'utilisateur ; - calcul d'un mot de passe courant en appliquant l'algorithme de dechiffrement correspondant a l'algorithme de chiffrement parametre par la quatrieme cle cryptographique 30 calculee au chiffre du mot de passe obtenu. 4. Precede de protection selon la revendication 1, dans lequel la fonction est un polynome de degre (n-1), n etant superieur ou egal a deux, n correspondant a un nombre de questions a poser a l'utilisateur pour determiner le mot de passe, ledit polynome prenant la valeur du mot de passe en 35 zero et la valeur dependante dudit resultat correspond audit resultat. 26 5. Procede de protection selon la revendication 1, dans lequel la fonction est un polynome bijectif de degre (n-1), n etant superieur ou egal a deux, n correspondant a un nombre de questions A poser a l'utilisateur pour determiner le mot de passe, la valeur dependante dudit resultat correspond audit resultat et le dispositif utilisateur fournit en outre au dispositif de gestion pour memorisation le resultat de l'application de la fonction au mot de passe. 6. Procede de protection selon 1 'une des revendications precedentes, comprenant en outre : - obtention (Eli) par le dispositif utilisateur du chiffre de la premiere cle cryptographique aupres du dispositif de gestion ; - regeneration (El 2) par le dispositif utilisateur de la deuxieme cle cryptographique en appliquant l'algorithme de derivation de des a au moins le mot de passe fourni par l'utilisateur ; - regeneration (E13) de la premiere cle cryptographique en appliquant l'algorithme de dechiffrement correspondant a 1 'algorithme de chiffrement parametre par la deuxieme cié cryptographique au chiffre de la premiere cle cryptographique. 7. Precede de protection selon la revendication precedente, comprenant une verification (E14) de l'integrite de la premiere cle cryptographique regeneree au moyen d'une cle publique associee a la premiere cle cryptographique memorisee en association avec le chiffre de ladite premiere cle cryptographique. 8. Procede de protection selon la revendication 6, comprenant une verification (E14) de l'integrite de la premiere cle cryptographique regeneree au moyen d'un chiffre de l'identifiant de l'utilisateur par ladite pr aniere cle cryptographique ir._:raorise en association avec le chiffre de ladite premiere cle cryptographique. 9. Procede de protection selon dune des revendications precedentes, comprenant pour modifier le mot de passe : - generation (E20) par le dispositif utilisateur d'une cinquieme cle cr.ptographique en appliquant l'algorithme de derivation de des a au moins un nouveau mot de passe ; - calcul (E21) par le dispositif utilisateur d'un nouveau chiffre de la premiere cle cryptographique en appliquant l'algorithme de chiffrement parametre par la cinquieme cle cryptographique a la premiere cle cryptographique ; - memorisation (E24) dudit nouveau chiffre de la premiere cle cryptographique. 10. Procede de protection selon la revendication 9, dans lequel une preuve de connaissance est memorisee en association avec le chiffre de la premiere cle cryptographique et ladite preuve de 27 connaissance est verifiee avant la memorisation dudit nouveau chiffre de la premiere cle cryptographique. 11. Dispositif utilisateur (20), prevu your etre utilise par un utilisateur possedant un 5 identifiant et un mot de passe associe, une premiere cle cryptographique etant deu bn6ch dechiffrer au moins une donnee chiffree, ledit dispositif comprenant : - un module de generation (24) d'une deuxieme cle cryptographique en appliquant un algorithme de derivation de des au moMs au mot de passe ; - un module de chiffrement (25) de la premiere cle cryptographique en appliquant un 10 algorithme de chiffrement parametre par la deuxieme cle cryptographique ; - un module de calcul (26), agence pour calculer un resultat de l'application d'une fonction A au moins une reponse associee une question, la reponse etant obtenue aupres de l'utilisateur ; - un module de fourniture (27), agence pour foumir au dispositif de gestion pour memorisation le chiffre de ladite premiere cle cryptographique et au moins une valeur dependante 15 dudit resultat, ladite valeur permettant au dispositif utilisateur de determiner le mot de passe lorsqu'il dispose de la reponse A ladite question. 12. Programme d'ordinateur sur un support de donnees et chargeable dans la memoire d'un dispositif utilisateur, comprenant des instructions de code de programme destinees A commander 20 l'execution des &apes du procede de protection d'une premiere cle cryptographique selon l'une des revendications 1 A 10, lorsque le programme est execute sur ledit dispositif. 13. Dispositif de gestion (30) comprenant : - un module d'obtention (35), agence pour obtenir en provenance d'un dispositif utilisateur 25 pour memorisation en association avec un identifiant d'un utilisateur un chiffre d'une premiere de cryptographique et une valeur dependante d'un resultat calcule par le dispositif utilisateur, cette valeur permettant au dispositif utilisateur de determiner le mot de passe lorsqu'il dispose de la reponse A une question; - une memoire de stockage (34), agencee pour memoriser des donnees obtenues en 30 provenance d'un dispositif utilisateur. 14. Programme d'ordinateur sur un support de donnees et chargeable dans la memoire d'un dispositif de gestion, comprenant des instructions de code de programme destinees A commander l'execution de celles des &apes du precede de protection d'une premiere cle cryptographique mises 35 en ceuvre par un dispositif de gestion selon l'une des revendications 1 A 10, lorsque le programme est execute sur ledit dispositif 28 15. Systeme de protection d'une premiere cle cryptographique comprenant un dispositif de gestion selon la revendication 13 et un dispositif utilisateur selon la revendication 11.