Brevet FR3037687A1 — publié le 20161223

Procédé de conversion d'un premier chiffré en un deuxième chiffré La présente invention porte sur le domaine de la protection des données personnelles et/ou sensibles au moyen de cryptographie à clé publique. Plus précisément l'invention concerne un procédé adapté pour re-chiffrer, ou transchiffrer, ou convertir, un premier contenu chiffré propre à un premier utilisateur en un deuxième contenu chiffré propre à un deuxième utilisateur, et un système associé dans lequel le deuxième utilisateur n'est initialement pas inscrit au système de cryptographie à clé publique. L'invention trouve une application particulièrement intéressante dans le cadre de l'informatique dématérialisée, ou « informatique dans le nuage » (« cloud computing » en anglais), dans lequel un fournisseur de services propose à des utilisateurs des solutions de stockage ou de transfert de données sécurisées sans que le fournisseur de services n'ait la possibilité d'accéder à ces données en clair. On connaît des solutions de re-chiffrement ou de conversion de contenus chiffrés à base de cryptographie à clé publique qui permettent à plusieurs utilisateurs, par exemple Bob et Alice, d'échanger de façon sécurisée des documents sans qu'un fournisseur de services, intermédiaire dans l'échange, ne prenne connaissance des documents. Dans un tel système, Bob et Alice détiennent respectivement une paire de clés cryptographiques asymétriques : une clé privée et une clé publique associée. Ces paires de clés sont associées à un algorithme de chiffrement, à un algorithme de déchiffrement et à un algorithme de calcul d'une clé de re- chiffrement. L'algorithme de re-chiffrement permet de convertir un contenu chiffré propre à Alice en un contenu chiffré propre à Bob sans que l'entité qui procède au re-chiffrement n'accède au contenu en clair. Un tel exemple est décrit dans le document « Unidirectional Chosen-Ciphertext Secure Proxy Re-encryption », de Benoît Libert et Damien Vergnaud, PKC 2008, LNCS 4939, pp.360-379, 2008. La clé de re-chiffrement associe ainsi la clé privée du déléguant, par exemple Alice, et la clé publique du délégué, Bob et permet ensuite à un équipement mandataire (le terme habituellement utilisé est le terme anglais « proxy ») de transformer un chiffré propre à Alice, obtenu au moyen de la clé publique d'Alice, en un chiffré propre à Bob, sans que la confidentialité des données manipulées ne soit à un instant donné compromise. Habituellement, il est nécessaire que les utilisateurs impliqués soient connus du système qui met en oeuvre le re-chiffrement. En ce sens, il faut que les utilisateurs soient préalablement inscrits de manière à avoir obtenus des données d'accréditation (le terme habituellement utilisés est le terme anglais « credentials »), typiquement des clés cryptographiques et plus précisément en cryptographie à clé publique, un couple clé privée/clé publique. Ainsi, pour qu'Alice puisse 3037687 2 partager un document avec Bob, elle doit nécessairement utiliser la clé publique de Bob. Or, si Bob n'est pas connu du système, cette clé publique n'existe pas et Alice ne peut pas procéder de manière classique au re-chiffrement d'un document pour le partager de manière sécurisée avec Bob. 5 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. A cette fin, l'invention propose un procédé de conversion d'un premier chiffré en un deuxième chiffré, le procédé comprenant les étapes suivantes, mises en oeuvre par un serveur de 10 stockage sécurisé : - réception du premier chiffré, ledit premier chiffré étant obtenu par chiffrement d'une donnée au moyen d'une clé publique de l'utilisateur d'un premier dispositif, - réception en provenance du premier dispositif d'une clé de re-chiffrement, ladite clé de re-chiffrement étant calculée en appliquant un algorithme de génération de clés de re- 15 chiffrement à la clé privée associée à la clé publique de l'utilisateur et à une deuxième clé publique associée à une deuxième clé privée, ladite deuxième clé privée étant dérivée d'un mot de passe choisi par l'utilisateur du premier dispositif, - conversion du premier chiffré en un deuxième chiffré par application d'un algorithme de re-chiffrement au premier chiffré et à la clé de re-chiffrement, ledit deuxième chiffré étant 20 agencé pour être déchiffré par un deuxième dispositif utilisateur au moyen de la deuxième clé publique, ledit deuxième dispositif recevant le mot de passe du premier dispositif sur un canal de communication indépendant du serveur sécurisé, dérivant la deuxième clé privée dudit mot de passe et obtenant du serveur la deuxième clé publique associée. Le procédé de conversion permet ainsi à l'utilisateur du premier dispositif et à 25 l'utilisateur du deuxième dispositif de partager des données de manière sécurisée par l'intermédiaire du serveur de stockage sécurisé. Ce partage se fait sans que le serveur n'accède à la donnée en clair et surtout sans qu'il soit nécessaire que l'utilisateur du deuxième dispositif s'inscrire au service de stockage sécurisé délivré par le serveur. Le service de stockage sécurisé ainsi offert est très souple d'utilisation pour les deux utilisateurs. Le premier utilisateur n'est pas 30 contraint de vérifier préalablement au partage d'une donnée avec le deuxième utilisateur que celui-ci est abonné au même service de stockage sécurisé que lui. Le deuxième utilisateur n'est quant à lui pas obliger de s'inscrire au service pour accéder de manière sécurisée à des données du premier utilisateur. Ce service est ainsi très avantageux dans le cadre d'un partage ponctuel, et sécurisé, de données entre les deux utilisateurs. 3037687 3 L'invention concerne aussi un procédé de stockage sécurisé d'une donnée sur un serveur sécurisé, ledit procédé étant mis en oeuvre par un premier dispositif utilisateur à l'attention d'un deuxième dispositif utilisateur, l'utilisateur du premier dispositif détenant une clé privée et une clé publique associée, ledit procédé comprenant : 5 - génération d'une deuxième clé privée, ladite deuxième clé privée étant dérivée d'un mot de passe choisi par l'utilisateur du premier dispositif, et obtention de la deuxième clé publique associée, - envoi dudit mot de passe à un utilisateur du deuxième dispositif sur un canal de communication indépendant du serveur sécurisé, 10 - calcul d'une clé de re-chiffrement en appliquant un algorithme de génération de clés de re-chiffrement à la clé privée associée à la clé publique de l'utilisateur et à la deuxième clé publique associée, - envoi de ladite clé de re-chiffrement au serveur sécurisé. Le procédé est mis en oeuvre ici le premier dispositif utilisateur. 15 Le mot de passe est envoyé par l'utilisateur du premier dispositif au deuxième utilisateur sur un canal de communication indépendant du canal utilisé entre les dispositifs et le serveur sécurisé. Cela garantit un niveau de sécurité élevé pour les deuxièmes clés qui sont générées et utilisées pour le calcul de la clé de re-chiffrement et pour le déchiffrement par le deuxième utilisateur. 20 L'invention concerne aussi un procédé d'obtention d'un premier chiffré généré par un premier dispositif et converti en un deuxième chiffré pour un deuxième dispositif utilisateur, ledit premier chiffré étant stocké sur un serveur, le procédé comprenant les étapes suivantes, mises en oeuvre par le deuxième dispositif : - réception en provenance du premier dispositif d'un mot de passe, ledit mot de passe 25 étant reçu sur un canal de communication indépendant du serveur sécurisé, - génération d'une clé privée, ladite clé privée étant dérivée du mot de passe, et obtention de la deuxième clé publique associée, - envoi au serveur d'une requête d'obtention de la donnée chiffrée, - réception en provenance du serveur de la donnée chiffrée, 30 - déchiffrement de la donnée chiffrée au moyen de la deuxième clé publique associée. Le procédé est mis en oeuvre ici par le deuxième dispositif utilisateur. Le deuxième utilisateur déchiffre ainsi la donnée chiffrée stockée sur le serveur par le premier utilisateur à son attention sans prérequis par rapport au serveur en termes d'inscription éventuelle au service. 3037687 4 Avantageusement, le procédé d'obtention d'un premier chiffré comprend, dans une phase d'inscription définitive, les étapes suivantes mise en oeuvre par le deuxième dispositif : - génération d'une troisième clé privée et d'une troisième clé publique associée, - envoi au serveur sécurisé d'une requête d'obtention de la clé de re-chiffrement, 5 - obtention de ladite clé de re-chiffrement, - calcul d'une deuxième clé de re-chiffrement destinée à convertir un chiffré obtenu par application de l'algorithme de chiffrement à la clé publique en un deuxième chiffré destiné à être déchiffré au moyen de la troisième clé privée, ladite deuxième clé de re-chiffrement étant calculée à partir de la clé de re-chiffrement, de la deuxième clé privée et de la troisième clé 10 privée. Le procédé permet à l'utilisateur du deuxième dispositif, qui a échangé une ou plusieurs données chiffrées obtenues au moyen de la clé publique de l'utilisateur du premier dispositif, conformément aux étapes du procédé de conversion, de s'inscrire définitivement au service. L'utilisateur du deuxième dispositif génère ainsi un matériel cryptographique, en l'espèce la 15 troisième clé privée et la troisième clé publique et calcule la deuxième clé de re-chiffrement qui lui permet d'échanger de façon pérenne, sécurisée et unidirectionnelle des données avec l'utilisateur du premier dispositif. Les étapes de ce procédé s'effectuent sans que l'utilisateur du deuxième dispositif ne fasse intervenir l'utilisateur du premier dispositif. Ce procédé est donc très souple. Par ailleurs, l'utilisateur du deuxième dispositif ne perd pas l'accès aux données 20 qu'il a préalablement partagées avec l'utilisateur du premier dispositif. Dans un exemple de réalisation, au moins un droit d'accès est associé au premier chiffré par le premier dispositif, un desdits droits définissant une période de validité du premier chiffré au terme de laquelle le serveur efface la clé de re-chiffrement. Un droit d'accès associé au chiffré de la donnée que l'utilisateur du premier dispositif 25 souhaite partager avec l'utilisateur du deuxième dispositif permet de définir de manière fine la façon dont l'utilisateur du deuxième dispositif accède à la donnée. Dans cet exemple, le partage entre les deux utilisateurs est limité dans le temps. L'invention concerne aussi un serveur de stockage sécurisé, destiné à convertir un premier chiffré en un deuxième chiffré, le serveur comprenant : 30 - des premiers moyens de réception, agencés pour recevoir le premier chiffré, ledit premier chiffré étant obtenu par chiffrement d'une donnée au moyen d'une clé publique de l'utilisateur du premier dispositif, - des deuxièmes moyens de réception, agencés pour recevoir en provenance du premier dispositif une clé de re-chiffrement, ladite clé de re-chiffrement étant calculée en appliquant un 35 algorithme de génération de clés de re-chiffrement à la clé privée associée à la clé publique de 3037687 5 l'utilisateur et à une deuxième clé publique associée à une deuxième clé privée, ladite deuxième clé privée étant dérivée d'un mot de passe choisi par l'utilisateur du premier dispositif, - des moyens de conversion, agencés pour convertir le premier chiffré en un deuxième chiffré par application d'un algorithme de re-chiffrement au premier chiffré et à la clé de re- 5 chiffrement, ledit deuxième chiffré étant agencé pour être déchiffré par un deuxième dispositif utilisateur au moyen de la deuxième clé publique, ledit deuxième dispositif recevant le mot de passe du premier dispositif sur un canal de communication indépendant du serveur sécurisé, dérivant la deuxième clé privée dudit mot de passe et obtenant du serveur la deuxième clé publique associée. 10 L'invention porte également sur un terminal de stockage sécurisé d'une donnée sur un serveur sécurisé, un utilisateur du premier dispositif détenant une clé privée et une clé publique associée, ledit terminal de stockage comprenant : - des moyens de génération et d'obtention, agencés pour générer une deuxième clé privée, ladite deuxième clé privée étant dérivée d'un mot de passe choisi par l'utilisateur du 15 terminal de stockage, et pour obtenir la deuxième clé publique associée, - des premiers moyens d'envoi, agencés pour envoyer ledit mot de passe à un utilisateur d'un deuxième dispositif sur un canal de communication indépendant du serveur sécurisé, - des moyens de calcul, agencés pour calculer une clé de re-chiffrement en appliquant un algorithme de génération de clés de re-chiffrement à la clé privée associée à la clé publique 20 de l'utilisateur et à la deuxième clé publique associée, et - des deuxièmes moyens d'envoi, agencés pour envoyer ladite clé de re-chiffrement au serveur sécurisé. L'invention porte également sur un terminal d'obtention d'un contenu, destiné à obtenir un premier chiffré généré par un premier dispositif et converti en un deuxième chiffré pour le 25 terminal d'obtention, ledit premier chiffré étant stocké sur un serveur sécurisé, le terminal d'obtention comprenant : - des premiers moyens de réception, agencés pour recevoir en provenance du premier dispositif un mot de passe, ledit mot de passe étant reçu sur un canal de communication indépendant du serveur sécurisé, 30 - des moyens de génération et d'obtention, agencés pour générer une clé privée, ladite clé privée étant dérivée du mot de passe, et pour obtenir la deuxième clé publique associée, - des moyens d'envoi, agencés pour envoyer au serveur sécurisé une requête d'obtention de la donnée chiffrée, - des deuxièmes moyens de réception, agencés pour recevoir en provenance du serveur 35 la donnée chiffrée, 3037687 6 - des moyens de déchiffrement, agencés pour déchiffrer la donnée chiffrée au moyen de la deuxième clé publique associée. L'invention concerne aussi un système de stockage sécurisé comprenant : - un serveur de stockage sécurisé tel que décrit précédemment, 5 - au moins un terminal d'envoi d'une donnée tel que décrit précédemment, et - au moins un terminal d'accès à une donnée stockée de manière sécurisée tel que décrit précédemment. L'invention concerne aussi un programme d'ordinateur sur un support de données et chargeable dans la mémoire d'un serveur, le programme comprenant des instructions de code 10 pour l'exécution des étapes du procédé de conversion d'un premier chiffré en un deuxième chiffré mises en oeuvre par le serveur, lorsque le programme est exécuté sur ledit serveur. L'invention concerne aussi un programme d'ordinateur sur un support de données et chargeable dans la mémoire d'un terminal de stockage, le programme comprenant des instructions de code pour l'exécution des étapes du procédé de stockage sécurisé d'une donnée 15 sur un serveur sécurisé, mises en oeuvre par le terminal de stockage, lorsque le programme est exécuté sur ledit terminal. L'invention concerne aussi un programme d'ordinateur sur un support de données et chargeable dans la mémoire d'un deuxième terminal d'obtention d'un contenu, le programme comprenant des instructions de code pour l'exécution des étapes du procédé d'obtention d'un 20 premier chiffré mises en oeuvre par le terminal d'obtention d'un contenu, lorsque le programme est exécuté sur ledit terminal D'autres caractéristiques et avantages de la présente invention seront mieux compris de la description et des dessins annexés parmi lesquels : 25 - la figure 1 présente les étapes d'un procédé de conversion d'un premier chiffré en un deuxième chiffré, selon un premier exemple de réalisation ; - la figure 2 présente les étapes d'un procédé d'inscription définitive à un service de stockage sécurisé pour une personne initialement non abonnée, selon un exemple de réalisation ; - la figure 3 est une représentation schématique d'un serveur de stockage sécurisé, selon 30 un exemple de réalisation ; - la figure 4 est une représentation schématique d'un terminal de stockage sécurisé, selon un exemple de réalisation ; - la figure 5 est une représentation schématique d'un terminal d'obtention d'un contenu, selon un exemple de réalisation. 35 3037687 7 Les étapes d'un procédé de conversion d'un premier chiffré en un deuxième chiffré, selon un premier exemple de réalisation, vont maintenant être décrites en relation avec la figure 1. On considère que des utilisateurs, Alice et Bob, détenteurs respectivement des 5 terminaux TA, TB, souhaitent partager des données de manière sécurisée en passant par l'intermédiaire d'un serveur de stockage sécurisé S. Le serveur de stockage S est agencé pour stocker des données ; il définit également des primitives cryptographiques qui permettent la mise en oeuvre d'un stockage sécurisé. Les données sont par exemple des fichiers tels que des photos, des films, etc. Les primitives cryptographiques définissent de manière classique un 10 algorithme de génération de clés, un algorithme de génération d'une clé de re-chiffrement, des algorithmes de chiffrement, de re-chiffrement, de déchiffrement, etc. Partager des données de façon sécurisée via un serveur de stockage est particulièrement avantageux dans le cas de fichiers volumineux. Les terminaux TA et TB sont des équipements informatiques, tels que des PC, des terminaux mobiles intelligents (on parle de « smartphone » en anglais), etc. agencés 15 pour mettre en oeuvre celles des étapes du procédé propres à chacun des terminaux d'utilisateur. On suppose qu'Alice est connue du serveur de stockage sécurisé S. En ce sens elle s'est préalablement enregistrée auprès du serveur S afin d'accéder à un service de stockage sécurisé et a généré une première paire de clés asymétriques : une première clé privée KprivA et une première clé publique associée KpubA générées au moyen de l'algorithme de génération de clés 20 défini pour le serveur S. Alice a transmis la première clé publique KpubA au serveur S. Par exemple, les primitives cryptographiques associées au serveur S sont conformes aux primitives décrites dans le document « Unidirectional Chosen-Ciphertext Secure Proxy Re-encryption », de Benoît Libert and Damien Vergnaud, PKC 2008, LNCS 4939, pp.360-379, 2008 qui définit un schéma cryptographique appelé par la suite « schéma de Libert-Vergnaud ». Dans cet 25 exemple, la clé secrète d'Alice, KprivA = xA, où xA est un aléa dans l'ensemble des entiers relatifs inférieurs à p et supérieurs à 0, et la clé publique associée est définie par : KpubA = gxA, où g est un élément d'un groupe bilinéaire G. On suppose également que dans une phase initiale E0, Alice a transmis au serveur de stockage S une ou plusieurs données chiffrées pour stockage sécurisé. Par exemple, Alice a 30 transmis sous forme chiffrée le fichier F, noté dans sa forme chiffrée EncA(F). Alice a chiffré le fichier F au moyen de sa propre clé publique KpubA. A ce stade, seule Alice, qui détient la clé privée KprivA associée, est capable de déchiffrer le fichier chiffré EncA(F). Le fichier chiffré est reçu et stocké par le serveur S dans une étape El de réception. On suppose qu'Alice souhaite partager cette donnée chiffrée avec Bob alors que Bob n'est pas connu du serveur S de stockage 35 sécurisé. En particulier Bob n'a pas suivi la procédure standard de génération de clés telle que 3037687 8 décrite précédemment. Il a cependant reçu au moins une description des algorithmes de déchiffrement utilisés dans le cadre du stockage sécurisé sur le serveur S. Dans un autre exemple de réalisation, c'est un autre utilisateur qui envoie les données chiffrées qu'il générées au moyen de la clé publique d'Alice. 5 Dans une étape suivante E2 de choix d'un mot de passe, Alice choisit un mot de passe pwdA. Le mot de passe pwdA comprend par exemple quelques caractères, ou correspond à une phrase complète (dans ce cas, on parle de « passphrase » en anglais). Ce mot de passe est destiné à être transmis à Bob afin qu'Alice et Bob partagent la connaissance d'un même mot de passe, et à générer un deuxième couple de clés privée/publique destiné à être utilisé pour 10 calculer une clé de re-chiffrement. Dans une étape suivante E3 de génération de clés, Alice commande la dérivation d'une deuxième clé privée Kprivp à partir du mot de passe pwdA, puis la génération d'une deuxième clé publique associée Kpubp. La deuxième clé privée Kprivp est ainsi générée au moyen d'un algorithme éprouvé de dérivation de clés à partir d'un mot de passe. Dans un exemple de 15 réalisation, l'algorithme de dérivation de clés utilisé est conforme aux spécifications décrites dans le NIST Special Publication 800-132: http://csrc.nist.gov/publications/nistpubs/800- 132/nist-sp800-132.pdf. La deuxième clé privée Kprivp a la même structure qu'une clé secrète générée dans le cadre du système de stockage S ; elle est de la forme xp. La deuxième clé publique Kpubp associée est calculée au moyen de l'algorithme de génération de clés utilisé par 20 le serveur de stockage S, en l'espèce l'algorithme de génération de clés du schéma de Libert- Vergnaud. Ainsi, la deuxième clé publique associée Kpubp est de la forme gxP. Au terme de l'étape E3 de génération de clés, Alice dispose du couple de clés KprivA = xA, KpubA = gxA et du deuxième couple de clés Kprivp = xp , Kpubp = gxP, obtenu à partir du mot de passe pwdA choisi par Alice. 25 Dans une étape suivante E4 de calcul d'une clé de re-chiffrement, Alice commande la génération d'une clé de re-chiffrement rkAir. A cette fin Alice applique au moyen de son terminal TA l'algorithme de génération d'une clé de re-chiffrement du serveur de stockage S à la clé privée KprivA d'Alice et à la clé deuxième publique Kpubp nouvellement générée. Cette clé de re-chiffrement rkm, est destinée à permettre le re-chiffrement de données chiffrées pour Alice 30 en données chiffrées pour le détenteur de la deuxième clé privée Kprivp. Dans l'exemple de réalisation décrit ici, et conformément au schéma de Libert-Vergnaud, la clé de re-chiffrement rkm, est calculée comme suit : 11_ XP / rkA4, = (g-P) /A'a = g xa 3037687 9 La clé de re-chiffrement d'une clé initiale, ici la clé publique d'Alice, vers une clé finale, ainsi calculée, ici la deuxième clé publique Kpubp, a la forme d'un élément dont l'exposant est un quotient dans lequel le numérateur correspond à la clé privée finale et le dénominateur à la clé privée initiale. 5 Dans une étape E5 d'envoi d'un message, Alice envoie au serveur de stockage S un message M qui comprend la clé de re-chiffrement rkm, nouvellement calculée, ainsi que des droits associés Dtp destinés à préciser le cadre d'utilisation de cette clé de re-chiffrement. Plus précisément, les droits associés Dtp comprennent un identifiant de la donnée chiffrée destinée à être partagée avec Bob et un identifiant de Bob. Dans cet exemple, les droits associés DtB 10 comprennent le nom du fichier chiffré EncA(F) qu'Alice a préalablement stocké sur le serveur de stockage S et la deuxième clé publique Kpubp associée à la deuxième clé privée Kprivr, dérivée du mot de passe pwdA dans le cadre du partage de données avec Bob. Dans un exemple de réalisation, les droits associés Dtp comprennent également une durée maximale d'utilisation de la clé ou/et un nombre maximal d'utilisation de la clé. La clé de re-chiffrement rkm, et les 15 droits associés Dtp sont reçus et stockés par le serveur S dans une étape E6 de réception. Dans une étape E7 d'envoi du mot de passe, Alice envoie à Bob le mot de passe pwdA qu'elle a choisi au cours de l'étape initiale E2 de choix d'un mot de passe par un canal de communication indépendant du serveur de stockage S. Par exemple Alice envoie le mot de passe à Bob par e-mail, ou par SMS (de l'anglais « Short Message Service »). L'utilisation d'un 20 canal indépendant est destinée à garantir un niveau de sécurité élevé. En effet, un attaquant qui intercepterait des données destinées au serveur S n'accèderait pas pour autant au mot de passe pwdA. Le mot de passe pwdA est reçu par Bob, plus précisément part le terminal TB de Bob dans une étape E8 de réception. On remarque que l'étape E7 d'envoi du mot de passe est indépendante des étapes 25 précédentes E3 de génération de clés, E4 de calcul d'une clé de re-chiffrement et 53 d'envoi d'un message. Elle peut ainsi être mise en oeuvre à n'importe quel moment après l'étape E2 de génération d'un mot de passe. Les étapes EO à E7 sont mises en oeuvre par Alice au moyen de son terminal TA et par le serveur S, et concernent la configuration du partage de données avec Bob. 30 Dans une deuxième phase, consécutive aux étapes décrites précédemment, Bob qui a été informé par Alice qu'elle avait mis à sa disposition sur le serveur de stockage S une donnée sensible chiffrée EncA(F) met en oeuvre les étapes suivantes afin d'accéder à la donnée sensible F. Typiquement, Bob est informé par Alice en même temps que celle-ci lui envoie le mot de passe au cours de l'étape E7 d'envoi du mot de passe. 3037687 10 Dans une étape El0 de génération de clés, Bob commande la génération de la deuxième clé privée Kprivp = xp à partir du mot de passe pwdA reçu d'Alice au cours de l'étape E8, puis le calcul de la deuxième clé publique associée Kpubp = gxP en appliquant l'algorithme de génération de clés du serveur S. La génération de la deuxième clé privée Kprivp à partir du mot 5 de passe pwdA et de la deuxième clé publique associée Kpubp utilise les mêmes algorithmes de génération que ceux utilisés par Alice, ici l'algorithme de dérivation de clés spécifié dans le NIST Special Publication 800-132 pour la deuxième clé privée et l'algorithme de génération de clés du schéma de Libert-Vergnaud pour la deuxième clé publique. Au terme de l'étape El0 de génération de clés, Bob dispose du deuxième couple de clés Kprivp = xp et Kpubp = gxP, détenu 10 également par Alice. Dans une étape suivante Ell d'envoi d'une requête, Bob envoie au serveur de stockage S une requête d'obtention d'une donnée sensible qu'Alice ou un autre utilisateur a stockée chiffrée à son attention sur le serveur de stockage S. La requête comprend un identifiant de Bob, dans cet exemple la deuxième clé publique Kpubp = pkp. La requête est reçue par le serveur S 15 dans une étape El2 de réception. Dans une étape E13 d'obtention de données, le serveur de stockage S récupère, à partir de l'identifiant de Bob, la clé de re-chiffrement rkm, associée par Alice à Bob et les droits Dtp associés à la donnée sensible qu'Alice souhaite partager avec Bob. Dans une étape E14 de conversion, le serveur de stockage S procède au re-chiffrement 20 de la donnée chiffrée EncA(F) associée à Bob par Alice, au moyen de la clé de re-chiffrement rkAir. A cette fin, le serveur S applique l'algorithme de re-chiffrement du schéma de LibertVergnaud à la clé de re-chiffrement rkm, et à la donnée chiffrée EncA(F). Au terme de cette étape de conversion, la donnée chiffrée initialement chiffrée avec la clé publique d'Alice KpubA = gxA est chiffrée au moyen de la deuxième clé publique Kpubp = gxP associée à la 25 deuxième clé privée Kprivp =xp générée à partir du mot de passe pwdA qu'Alice a transmis à Bob. Bob est ainsi capable d'accéder à la donnée F en clair en déchiffrant la donnée chiffrée au moyen de la deuxième clé privée Kprivp qu'il a dérivée du mot de passe. Le donnée re-chiffrée est notée EncA(F). Dans une étape E15 d'envoi, le système de stockage envoie la donnée re-chiffrée 30 EncA(F) à Bob. Elle est reçue par Bob, plus précisément par le terminal TB de Bob dans une étape E16 de réception. Dans une étape E17 de déchiffrement, Bob déchiffre la donnée EncA(F) re-chiffrée à son attention au cours de l'étape 14 de conversion. Il applique à cette fin l'algorithme de déchiffrement du serveur S à la donnée re-chiffrée EncA(F) et à la deuxième clé privée 3037687 11 Kprivp = xp qu'il a générée à partir du mot de passe pwdA. Il peut ainsi accéder à la donnée sensible F en clair. Dans un exemple de réalisation où les droits DtB associés à la donnée sensible définissent une période de validité de la donnée sensible, le serveur de stockage S efface la clé 5 de re-chiffrement rkm, au terme de la période de validité. Il n'est alors plus possible pour Bob d'obtenir la donnée re-chiffrée à son attention. Dans un autre exemple de réalisation, le serveur de stockage S ne procède pas au re-chiffrement lors de la réception de la requête de Bob dès lors que la période de validité a expiré. Dans un exemple de réalisation où les droits associés définissent un nombre d'utilisation de la clé de re-chiffrement, le serveur comptabilise le 10 nombre d'accès par Bob à la donnée re-chiffrée qui n'est plus accessible par Bob dès lors que le nombre d'utilisation de la clé a été atteint. Dans un exemple de réalisation où le mot de passe choisi par Alice au cours de l'étape E2 est très court, de l'ordre de quelques caractères, il est possible, avant le calcul de la deuxième clé privée Kprivp de diversifier ce mot de passe en appliquant un algorithme de 15 diversification au mot de passe et à, par exemple, l'identité de Bob ou d'Alice, ou une date, etc. Cela permet à Alice de garder un même mot de passe pour un partage sécurisé avec différentes personnes, ou à différents moments. La clé de re-chiffrement rkm, calculée par le serveur S est une clé que l'on peut qualifier d'éphémère dans le sens où elle n'est destinée qu'à une utilisation ponctuelle. En effet, hormis 20 la période de validité qui peut lui être associée, elle est également explicitement associée par Alice à une donnée F et à Bob, et n'est valable que pour le mot de passe qu'Alice a transmis à Bob. Il n'est par ailleurs pas souhaitable que Bob utilise à son tour cette clé pour stocker des données de manière sécurisée. En effet, de telles données seraient alors accessibles par Alice, indépendamment de droits que Bob associerait à ces données, puisqu'Alice connaît également le 25 mot de passe pwdA. Dans un exemple de réalisation, décrit en relation avec la figure 2, on suppose que Bob, après avoir obtenu d'Alice l'accès à quelques données sensibles, conformément aux étapes du procédé de conversion d'un chiffré décrit en relation avec la figure 1, souhaite s'inscrire au service offert par le serveur de stockage S de façon définitive. En d'autres termes, Bob souhaite 30 suivre la procédure standard de génération de clés afin de détenir des données cryptographiques qui lui permettent de partager avec Alice des données sensibles de façon classique, c'est-à-dire au moyen d'une clé de re-chiffrement pérenne qui permet de re-chiffrer directement des données chiffrées pour Alice à l'attention de Bob, indépendamment de l'utilisation d'un mot de passe associé à un contenu. On suppose qu'Alice et Bob ont mis en oeuvre au moins une fois les 35 étapes du procédé de conversion décrit précédemment et que Bob connaît au moins un mot de 3037687 12 passe qu'il a utilisé pour dériver la deuxième clé privée Kprivp et la deuxième clé publique associée Kpubp. Dans une étape initiale E20 d'inscription au service, Bob génère son propre couple de clés privée/publique, conformément au schéma cryptographique utilisé par le serveur S. Bob 5 génère ainsi aléatoirement sa propre clé privée KprivB = xB et calcule au moyen de l'algorithme de génération de clés du schéma de Libert-Vergnaud la clé publique associée KpubB = gx8. Il conserve sa clé privée KprivB et envoie au serveur de stockage S, dans une étape E21 d'envoi, sa clé publique KprivB ainsi que son identifiant, dans le cas où celui-ci est différent de la clé publique. La clé publique de Bob et le cas échéant son identifiant sont reçus par le serveur S 10 dans une étape E22 de réception. Dans une étape suivante E23 de demande d'une clé de re-chiffrement existante E22, Bob envoie au serveur de stockage S une requête d'obtention de la clé de re-chiffrement rkm, préalablement générée pour des échanges sécurisés entre Bob et Alice. Le serveur S envoie la clé de re-chiffrement rkAir au cours d'une étape suivante d'envoi E24. A noter que la clé de re- 15 chiffrement rkm, est une clé publique dont la transmission ne nécessite pas de précaution particulière. La clé de re-chiffrement rkm, est reçue par Bob, plus précisément par le terminal TB de Bob, dans une étape E24 de réception Dans une étape suivante E26 de génération d'une nouvelle clé de re-chiffrement, Bob calcule une nouvelle clé de re-chiffrement rkA/B permettant de transformer un chiffré d'Alice, 20 calculé par Alice au moyen de sa clé publique KpubA, en un chiffré pour Bob qu'il pourra déchiffrer au moyen de sa nouvelle clé secrète KprivB. Conformément au schéma de Libert-Vergnaud, la clé de re-chiffrement d'un contenu ,X8 1 , chiffré d'Alice en un contenu chiffré pour Bob est de la forme : g' IxA). Or, Bob ne connaît pas la clé secrète xA d'Alice. Il connaît par contre la clé de re-chiffrement rkm, précédemment 25 reçue du serveur rkAIP = g XP ' / xa. Il calcule donc : / X8 lx Xp i Xi3 1 Xi3 1 rkAl = rkA 731 P = (g IxA) /xp = g /xA B / Bob obtient ainsi la nouvelle clé de re-chiffrement rkA/B d'Alice vers Bob. On remarque que Bob n'a pas eu à solliciter Alice pour calculer cette nouvelle clé de re-chiffrement. Bien sûr, il est laissé la possibilité de procéder de manière classique en demandant à 30 Alice de calculer la nouvelle clé de re-chiffrement au moyen de sa clé privée xA et de la nouvelle clé publique de Bob, KpubB = gx8. Dans une étape E27 d'envoi, Bob envoie la nouvelle clé de re-chiffrement rkA/B au serveur S pour enregistrement. La nouvelle clé est reçue et enregistrée par le serveur S dans une 3037687 13 étape E28 de réception. Le serveur S peut alors procéder au re-chiffrement de données d'Alice pour Bob, dès lors qu'Alice souhaite partager de manière sécurisée ces données avec Bob. Avec cette inscription définitive au service, Bob ne perd pour autant pas l'accès aux données préalablement partagées avec Alice qu'il peut déchiffrer au moyen de la nouvelle clé de 5 re-chiffrement. Les étapes relatives à l'inscription définitive de Bob au service de stockage sécurisé sont décrites ici dans le cadre du schéma de Libert-Vergnaud. L'invention n'est cependant pas limitée à ce schéma. Tout schéma compatible avec un algorithme de transformation de clé qui prend en entrée une première clé de re-chiffrement rkAdc d'une entité A vers une entité C, la clé 10 privée de l'entité C et la clé privée d'une entité B et qui, à partir de ces données propose de calculer une deuxième clé de re-chiffrement rkA/B de l'entité A vers l'entité B peut être utilisé. En effet, la clé de re-chiffrement rkA/B ainsi obtenue est une clé de re-chiffrement valide. Ainsi par exemple, le schéma proposé par Ateniese, FU, Green et Hohenberger dans l'article « Improved Proxy Re-Encryption Schemes with Applications to Secure Distributed Storage », 15 NDSS 2005 peut également être utilisé pour la mise en oeuvre du procédé de conversion d'un premier chiffré en un deuxième chiffré tel que décrit précédemment. Un serveur de stockage sécurisé S, selon un exemple de réalisation, va maintenant être décrit en relation avec la figure 3. Un tel serveur est un équipement informatique qui comprend 20 de manière classique : - un microprocesseur 30, ou « CPU » (de l'anglais « Central Processing Unit »), destiné à charger des instructions en mémoire, à les exécuter, à effectuer des opérations, - une ensemble de mémoires, dont une mémoire volatile 31, ou « RAM » (pour « Random Access Memory ») utilisée pour exécuter des instructions de code, stocker des 25 variables, etc., - une mémoire de stockage 32 de type mémoire flash ou « EEPROM » (de l'anglais « Read-Only Memory » et « Electronically-Erasable Programmable Read-Only Memory). La mémoire de stockage 32 est agencée pour mémoriser des instructions de code destinées à mettre en oeuvre les étapes du procédé de conversion tel que décrit précédemment. La mémoire de 30 stockage 32 est également agencée pour mémoriser les primitives du schéma cryptographique à clé publique utilisé. Dans un exemple de réalisation, elle mémorise les primitives du schéma de Libert-Vergnaud ; - des interfaces de communication 33, agencées pour communiquer avec les terminaux TA et TB d'Alice et de Bob. 3037687 14 Dans un cas où le serveur S est un environnement en cloud computing, c'est-à-dire une machine virtuelle hébergée par un serveur hôte (non représenté sur la figure 3), on comprend que le microprocesseur 30, les mémoires 31, 32, les interfaces de communication 33 sont des ressources virtualisées mises à disposition de la machine virtuelle par un hyperviseur à partir de 5 ressources matérielles d'une couche d'exécution matérielle du serveur hôte. Le serveur S comprend également : - des premiers moyens de réception 34, agencés pour recevoir d'un premier dispositif utilisateur un premier chiffré EncA(F), ledit premier chiffré étant obtenu par chiffrement d'une donnée au moyen d'une clé publique KpubA de l'utilisateur du premier dispositif. Les premiers 10 moyens de réception 34 sont agencés pour mettre en oeuvre l'étape El du procédé de conversion décrit précédemment ; - des deuxièmes moyens de réception 35, agencés pour recevoir en provenance du premier dispositif une clé de re-chiffrement rkA,F, ladite clé de re-chiffrement étant calculée en appliquant un algorithme de génération de clés de re-chiffrement à la clé privée KprivA associée 15 à la clé publique de l'utilisateur et à une deuxième clé publique Kpubp associée à une deuxième clé privée Kprivr, ladite deuxième clé privée étant dérivée d'un mot de passe pwdA choisi par l'utilisateur du premier dispositif. Les deuxièmes moyens de réception 35 sont agencés pour mettre en oeuvre l'étape E6 du procédé de conversion décrit précédemment ; - des moyens de conversion 36, agencés pour convertir le premier chiffré EncA(F) en un 20 deuxième chiffré EncA(F) par application d'un algorithme de re-chiffrement au premier chiffré et à la clé de re-chiffrement, ledit deuxième chiffré étant agencé pour être déchiffré par un deuxième dispositif utilisateur au moyen de la deuxième clé publique, ledit deuxième dispositif recevant le mot de passe du premier dispositif sur un canal de communication indépendant du serveur sécurisé, dérivant la deuxième clé privée dudit mot de passe et obtenant du serveur la 25 deuxième clé publique associée. Les moyens de conversion 36 sont agencés pour mettre en oeuvre l'étape E14 de conversion du procédé de conversion décrit précédemment ; Les interfaces de communication 33, les premiers moyens de réception 34, les deuxièmes moyens de réception 35, les moyens de conversion 36 sont de préférence des modules logiciels comprenant des instructions logicielles pour faire exécuter les étapes du 30 procédé de conversion d'un premier chiffré en un deuxième chiffré tel que décrit précédemment. L'invention concerne donc aussi : - un programme d'ordinateur comportant des instructions pour la mise en oeuvre du procédé de conversion d'un premier chiffré en un deuxième chiffré tel que décrit précédemment 35 lorsque ce programme est exécuté par un processeur du serveur sécurisé S, 3037687 15 - un support d'enregistrement lisible sur lequel est enregistré le programme d'ordinateur décrit ci-dessus. 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 5 magnétique ou un disque dur, ou bien un support de transmission tel qu'un signal ou un réseau de télécommunication. Un terminal de stockage sécurisé TA, selon un exemple de réalisation de l'invention, va maintenant être décrit en relation avec la figure 4. 10 Le terminal de stockage sécurisé TA est destiné à commander le stockage sécurisé d'une donnée sur un serveur à l'attention d'un autre terminal. Le terminal de stockage TA est un équipement informatique tel qu'un PC ou un terminal mobile intelligent qui comprend : - une unité de traitement 40, ou CPU, - un ensemble de mémoires, dont une mémoire volatile 41, ou RAM et une mémoire de 15 stockage 42 de type mémoire flash ou EEPROM. La mémoire volatile 41 est agencée pour exécuter des instructions de code, stocker des variables, etc. La mémoire de stockage 42 est agencée pour mémoriser des données. En particulier, la mémoire de stockage 42 mémorise une application de stockage sécurisé qui comprend des instructions de code pour mettre en oeuvre celles des étapes du procédé de stockage sécurisé sur un serveur tel que décrit précédemment. 20 La mémoire de stockage 42 est également agencée pour stocker un couple de clés privée/publique KprivA/KpubA obtenu du serveur sécurisé lors d'une phase d'inscription à un service de stockage sécurisé sur le serveur S ; - des interfaces de communication 43, agencées pour communiquer avec le serveur de stockage S et l'autre terminal TB. 25 Le terminal de stockage sécurisé TA comprend également : - des moyens de génération 44, agencés pour générer une deuxième clé privée Kprivr, ladite deuxième clé privée étant dérivée d'un mot de passe pwdA choisi par l'utilisateur du terminal de stockage TA, et pour obtenir la deuxième clé publique associée Kpubp. Les moyens de génération 44 sont agencés pour mettre en oeuvre l'étape E3 du procédé de conversion de 30 chiffré tel que décrit précédemment ; - des premiers moyens d'envoi 45, agencés pour envoyer ledit mot de passe à un utilisateur de l'autre terminal sur un canal de communication indépendant du serveur sécurisé. Les premiers moyens d'envoi 45 sont agencés pour mettre en oeuvre l'étape E7 du procédé de conversion de chiffré tel que décrit précédemment ; 3037687 16 - des moyens de calcul 46, agencés pour calculer une clé de re-chiffrement rkm, en appliquant un algorithme de génération de clés de re-chiffrement à la clé privée KprivA associée à la clé publique de l'utilisateur et à la deuxième clé publique associée Kpubp. Les moyens de calcule 46 sont agencés pour mettre en oeuvre l'étape E4 du procédé de conversion de chiffré tel 5 que décrit précédemment ; - des deuxièmes moyens d'envoi 47, agencés pour envoyer de ladite clé de rechiffrement au serveur sécurisé. Les deuxièmes moyens d'envoi 47 sont agencés pour mettre en oeuvre l'étape E5 du procédé de conversion de chiffré tel que décrit précédemment. Dans un exemple de réalisation dans lequel le premier chiffré EncA(F) est envoyé par 10 Alice, le terminal TA comprend également : - des troisièmes moyens d'envoi (non représentés sur la figure), agencés pour envoyer au serveur sécurisé un premier chiffré EncA(F), ledit premier chiffré étant obtenu par chiffrement de la donnée au moyen de la clé publique KpubA de l'utilisateur du terminal de stockage TA. Les deuxièmes moyens d'envoi sont agencés pour mettre en oeuvre l'étape EO du 15 procédé de conversion de chiffré tel que décrit précédemment. Les interfaces de communication 43, les premiers moyens d'envoi 45, les moyens de génération 44, les deuxièmes moyens d'envoi 47 et les moyens de calcul 46 sont de préférence des modules logiciels comprenant des instructions logicielles pour faire exécuter les étapes du procédé de conversion d'un premier chiffré en un deuxième chiffré tel que décrit 20 précédemment. L'invention concerne donc aussi : - un programme d'ordinateur comportant des instructions pour la mise en oeuvre du procédé de conversion d'un premier chiffré en un deuxième chiffré tel que décrit précédemment lorsque ce programme est exécuté par un processeur du terminal TA de stockage sécurisé, 25 - un support d'enregistrement lisible sur lequel est enregistré le programme d'ordinateur décrit ci-dessus. 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 ou un réseau 30 de télécommunication. Un terminal TB d'obtention d'un contenu, selon un exemple de réalisation, va maintenant être décrit en relation avec la figure 5. Le terminal TB d'obtention d'un contenu est destiné à obtenir d'un serveur de stockage 35 sécurisé S une première donnée chiffrée préalablement générée par un premier terminal TA et 3037687 17 convertie en un deuxième chiffré pour le terminal d'obtention, ladite première donnée chiffrée étant stockée sur le serveur sécurisé à l'attention du terminal TB d'obtention d'un contenu. Le terminal TB d'obtention d'un contenu est un équipement informatique tel qu'un PC ou un terminal mobile intelligent qui comprend : 5 - une unité de traitement 50, ou CPU ; - un ensemble de mémoires, dont une mémoire volatile 51, ou RAM et une mémoire de stockage 52 de type mémoire flash ou EEPROM. La mémoire volatile 51 est agencée pour exécuter des instructions de code, stocker des variables, etc. La mémoire de stockage 52 est agencée pour mémoriser des données. En particulier, la mémoire de stockage 52 mémorise une 10 application d'obtention d'un premier chiffré généré par le premier terminal et converti en un deuxième chiffré à l'attention du terminal d'obtention, qui comprend des instructions de code pour mettre en oeuvre celles des étapes du procédé de conversion d'un premier chiffré en un deuxième chiffré tel que décrit précédemment ; - des interfaces de communication 53, agencées pour communiquer avec le serveur 15 sécurisé S et le premier terminal TA. Le terminal TB d'obtention d'un contenu comprend également : - des premiers moyens de réception 54, agencés pour recevoir en provenance du premier terminal un mot de passe pwdA, ledit mot de passe étant reçu sur un canal de communication indépendant du serveur sécurisé. Les premiers moyens de réception 54 sont agencés pour mettre 20 en oeuvre l'étape E8 du procédé de conversion décrit précédemment ; - des moyens 55 de génération et d'obtention, agencés pour générer une clé privée Kprivr, ladite clé privée étant dérivée du mot de passe pwdA, et pour obtenir la deuxième clé publique associée Kpubp. Les moyens 55 de génération et d'obtention sont agencés pour mettre en oeuvre l'étape El0 du procédé de conversion décrit précédemment ; 25 - des moyens d'envoi 56, agencés pour envoyer au serveur sécurisé S une requête d'obtention de la donnée chiffrée. Les moyens d'envoi 56 sont agencés pour mettre en oeuvre l'étape E11 du procédé de conversion décrit précédemment ; - des deuxièmes moyens de réception 57, agencés pour recevoir en provenance du serveur S la donnée chiffrée. Les deuxièmes moyens de réception 57 sont agencés pour mettre 30 en oeuvre l'étape E16 du procédé de conversion décrit précédemment ; - des moyens de déchiffrement 58, agencés pour déchiffrer la donnée chiffrée au moyen de la deuxième clé publique associée. Les moyens de déchiffrement 58 sont agencés pour mettre en oeuvre l'étape E17 du procédé de conversion tel que décrit précédemment. Les interfaces de communication 53, les premiers moyens de réception 54, les moyens 35 55 de génération et d'obtention, les moyens d'envoi 56, les deuxièmes moyens de réception 57, 3037687 18 les moyens de déchiffrement 58 sont de préférence des modules logiciels comprenant des instructions logicielles pour faire exécuter celles des étapes du procédé de conversion d'un premier chiffré en un deuxième chiffré précédemment décrit et qui sont mises en oeuvre par le terminal TB d'obtention d'un contenu. 5 Dans un exemple de réalisation, comprenant une phase d'inscription définitive au service de stockage sécurisé, le terminal TB d'obtention d'un contenu comprend également les moyens suivants (non représentés sur la figure 5) : - des deuxièmes moyens de génération et d'obtention, agencés pour générer une troisième clé privée KprivB et pour obtenir une troisième clé publique associée KpubB ; 10 - des deuxièmes moyens d'envoi, agencés pour envoyer au serveur sécurisé une requête d'obtention de la clé de re-chiffrement rkm, ; - des moyens d'obtention, agencés pour obtenir ladite clé de re-chiffrement ; - des moyens de calcul, agencés pour calculer une deuxième clé de re-chiffrement rkA/B destinée à convertir un chiffré obtenu par application de l'algorithme de chiffrement à la clé 15 publique KpubA en un deuxième chiffré destiné à être déchiffré au moyen de la troisième clé privée, ladite deuxième clé de re-chiffrement étant calculée à partir de la clé de re-chiffrement, de la deuxième clé privée Kprivp et de la troisième clé privée KprivB. Ces moyens sont de préférence des moyens logiciels comprenant des instructions logicielles pour faire exécuter celles des étapes du procédé de conversion d'un premier chiffré 20 en un deuxième chiffré précédemment décrit et qui sont mises en oeuvre par le terminal TB d'obtention d'un contenu lors de la phase d'inscription définitive au service de stockage sécurisé. L'invention concerne aussi : - un programme d'ordinateur comportant des instructions pour la mise en oeuvre du 25 procédé de conversion d'un premier chiffré en un deuxième chiffré tel que décrit précédemment lorsque ce programme est exécuté par un processeur du terminal TB d'obtention d'un contenu, - un support d'enregistrement lisible sur lequel est enregistré le programme d'ordinateur décrit ci-dessus. Les modules logiciels peuvent être stockés dans, ou transmis par un support de données. 30 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 ou un réseau de télécommunication. 35 REVENDICATIONS1. Procédé de conversion d'un premier chiffré (F) en un deuxième chiffré, le procédé comprenant les étapes suivantes, mises en oeuvre par un serveur de stockage sécurisé (S) : - réception (El) du premier chiffré (EncA(F)), ledit premier chiffré étant obtenu par chiffrement d'une donnée au moyen d'une clé publique (KpubA) de l'utilisateur d'un premier dispositif, - réception (E6) en provenance du premier dispositif d'une clé de re-chiffrement (rkA,F), ladite clé de re-chiffrement étant calculée en appliquant un algorithme de génération de clés de re-chiffrement à la clé privée (KprivA) associée à la clé publique de l'utilisateur et à une deuxième clé publique (Kpubp) associée à une deuxième clé privée (Kprivr), ladite deuxième clé privée étant dérivée d'un mot de passe (pwdA) choisi par l'utilisateur du premier dispositif, - conversion (E14) du premier chiffré (EncA(F)) en un deuxième chiffré (EncA(F)) par application d'un algorithme de re-chiffrement au premier chiffré et à la clé de re-chiffrement, ledit deuxième chiffré étant agencé pour être déchiffré par un deuxième dispositif utilisateur au moyen de la deuxième clé publique, ledit deuxième dispositif recevant le mot de passe du premier dispositif sur un canal de communication indépendant du serveur sécurisé, dérivant la deuxième clé privée dudit mot de passe et obtenant du serveur la deuxième clé publique associée. 2. Procédé de stockage sécurisé d'une donnée sur un serveur sécurisé, ledit procédé étant mis en oeuvre par un premier dispositif utilisateur à l'attention d'un deuxième dispositif utilisateur, l'utilisateur du premier dispositif détenant une clé privée (KprivA) et une clé publique associée (KpubA), ledit procédé comprenant : - génération (E3) d'une deuxième clé privée (Kprivr), ladite deuxième clé privée étant dérivée d'un mot de passe (pwdA) choisi par l'utilisateur du premier dispositif, et obtention de la deuxième clé publique associée (Kpubp), - envoi (E7) dudit mot de passe à un utilisateur du deuxième dispositif sur un canal de communication indépendant du serveur sécurisé, - calcul (E4) d'une clé de re-chiffrement (rkA,F) en appliquant un algorithme de génération de clés de re-chiffrement à la clé privée (KprivA) associée à la clé publique de l'utilisateur et à la deuxième clé publique associée (Kpubp), - envoi (E5) de ladite clé de re-chiffrement au serveur sécurisé. 3037687 20 3. Procédé d'obtention d'un premier chiffré généré par un premier dispositif (TA) et converti en un deuxième chiffré (EncB(F)) pour un deuxième dispositif utilisateur (TB), ledit premier chiffré étant stocké sur un serveur S, le procédé comprenant les étapes suivantes, mises en oeuvre par le deuxième dispositif : 5 - réception (E8) en provenance du premier dispositif d'un mot de passe (pwdA), ledit mot de passe étant reçu sur un canal de communication indépendant du serveur sécurisé, - génération (E10) d'une clé privée (Kprivr), ladite clé privée étant dérivée du mot de passe (pwdA), et obtention de la deuxième clé publique associée (Kpubp), - envoi (E11) au serveur d'une requête d'obtention de la donnée chiffrée, 10 - réception (E16) en provenance du serveur de la donnée chiffrée, - déchiffrement (E17) de la donnée chiffrée au moyen de la deuxième clé publique associée. 4. Procédé d'obtention d'un premier chiffré selon la revendication 3 comprenant, dans 15 une phase d'inscription définitive, les étapes suivantes mise en oeuvre par le deuxième dispositif : - génération (E20) d'une troisième clé privée (KprivB) et d'une troisième clé publique associée (KprivB), - envoi (E23) au serveur sécurisé d'une requête d'obtention de la clé de re-chiffrement 20 (rkm,), - obtention (E25) de ladite clé de re-chiffrement, - calcul (E26) d'une deuxième clé de re-chiffrement (rkA,B) destinée à convertir un chiffré obtenu par application de l'algorithme de chiffrement à la clé publique (KpubA) en un deuxième chiffré destiné à être déchiffré au moyen de la troisième clé privée, ladite deuxième 25 clé de re-chiffrement étant calculée à partir de la clé de re-chiffrement, de la deuxième clé privée (Kprivr) et de la troisième clé privée (KprivB). 5. Procédé de conversion selon la revendication 1, dans lequel au moins un droit d'accès est associé au premier chiffré par le premier dispositif, un desdits droits définissant une période 30 de validité du premier chiffré au terme de laquelle le serveur efface la clé de re-chiffrement. 6. Serveur de stockage sécurisé (S), destiné à convertir un premier chiffré (EncA(F)) en un deuxième chiffré, le serveur comprenant : 3037687 21 - des premiers moyens de réception (34), agencés pour recevoir le premier chiffré (EncA(F)), ledit premier chiffré étant obtenu par chiffrement d'une donnée au moyen d'une clé publique (KpubA) de l'utilisateur du premier dispositif, - des deuxièmes moyens de réception (35), agencés pour recevoir en provenance du 5 premier dispositif une clé de re-chiffrement (rkm,), ladite clé de re-chiffrement étant calculée en appliquant un algorithme de génération de clés de re-chiffrement à la clé privée (KprivA) associée à la clé publique de l'utilisateur et à une deuxième clé publique (Kpubp) associée à une deuxième clé privée (Kprivr), ladite deuxième clé privée étant dérivée d'un mot de passe (pwdA) choisi par l'utilisateur du premier dispositif, 10 - des moyens de conversion (36), agencés pour convertir le premier chiffré (EncA(F)) en un deuxième chiffré (EncA(F)) par application d'un algorithme de re-chiffrement au premier chiffré et à la clé de re-chiffrement, ledit deuxième chiffré étant agencé pour être déchiffré par un deuxième dispositif utilisateur au moyen de la deuxième clé publique, ledit deuxième dispositif recevant le mot de passe du premier dispositif sur un canal de communication 15 indépendant du serveur sécurisé, dérivant la deuxième clé privée dudit mot de passe et obtenant du serveur la deuxième clé publique associée. 7. Terminal (TA) de stockage sécurisé d'une donnée sur un serveur sécurisé (S), un utilisateur du premier dispositif détenant une clé privée (KprivA) et une clé publique associée 20 (KpubA), ledit terminal de stockage comprenant : - des moyens (44) de génération et d'obtention, agencés pour générer une deuxième clé privée (Kprivr), ladite deuxième clé privée étant dérivée d'un mot de passe (pwdA) choisi par l'utilisateur du terminal de stockage, et pour obtenir la deuxième clé publique associée (Kpubp), - des premiers moyens d'envoi (45), agencés pour envoyer ledit mot de passe à un 25 utilisateur d'un deuxième dispositif (TB) sur un canal de communication indépendant du serveur sécurisé, - des moyens de calcul (46), agencés pour calculer une clé de re-chiffrement (rkA,F) en appliquant un algorithme de génération de clés de re-chiffrement à la clé privée (KprivA) associée à la clé publique de l'utilisateur et à la deuxième clé publique associée (Kpubp), et 30 - des deuxièmes moyens d'envoi (47), agencés pour envoyer ladite clé de re-chiffrement au serveur sécurisé. 8. Terminal (TB) d'obtention d'un contenu, destiné à obtenir un premier chiffré généré par un premier dispositif (TA) et converti en un deuxième chiffré (EncB(F)) pour le terminal 3037687 22 d'obtention, ledit premier chiffré étant stocké sur un serveur sécurisé (S), le terminal d'obtention comprenant : - des premiers moyens de réception (54), agencés pour recevoir en provenance du premier dispositif un mot de passe (pwdA), ledit mot de passe étant reçu sur un canal de 5 communication indépendant du serveur sécurisé, - des moyens de génération et d'obtention (55), agencés pour générer une clé privée (Kprivr), ladite clé privée étant dérivée du mot de passe (pwdA), et pour obtenir la deuxième clé publique associée (Kpubp), - des moyens d'envoi (56), agencés pour envoyer au serveur sécurisé une requête 10 d'obtention de la donnée chiffrée, - des deuxièmes moyens de réception (57), agencés pour recevoir en provenance du serveur la donnée chiffrée, - des moyens de déchiffrement (58), agencés pour déchiffrer la donnée chiffrée au moyen de la deuxième clé publique associée. 15 9. Système de stockage sécurisé comprenant : - un serveur de stockage sécurisé selon la revendication 6, - au moins un terminal d'envoi d'une donnée selon la revendication 7, et - au moins un terminal d'accès à une donnée stockée de manière sécurisée selon la 20 revendication 8. 10. Programme d'ordinateur sur un support de données et chargeable dans la mémoire d'un ordinateur, le programme comprenant des instructions de code pour l'exécution des étapes du procédé de conversion d'un premier chiffré en un deuxième chiffré selon la revendication 1, 25 lorsque le programme est exécuté sur ledit ordinateur. 11. Programme d'ordinateur sur un support de données et chargeable dans la mémoire d'un terminal utilisateur, le programme comprenant des instructions de code pour l'exécution des étapes du procédé de stockage sécurisé d'une donnée sur un serveur sécurisé, selon la 30 revendication 2, lorsque le programme est exécuté sur ledit terminal. 12. Programme d'ordinateur sur un support de données et chargeable dans la mémoire d'un terminal utilisateur, le programme comprenant des instructions de code pour l'exécution des étapes du procédé d'obtention d'un premier chiffré selon l'une des revendications 3 à 4, lorsque le programme est exécuté sur ledit terminal.