Brevet FR3014224A1 — publié le 20150605

Arhèe-nlardeyhVentkon L'invention se rapporte au deonee-egénéral des télécommunications. Elle concerne plus particurere.ment le domaine de la protection des données et notamment de la gestion des droits d'accès à des données personnelles et/ou coerioentieUes d'un utilisatcu: stockées sur un de stockage neoiiani se.1 oeuvre une prielitive chiffn:-rnent. L'invention a ainsi une applicatbn pOviiéeiée mais non limitative dans le contexte de l'informa:joue dématérialisée, aussi epeeié informatique en nuage ou encore « cloud computing » en anglais, en vue de fournir un distant de stockage de données (ex. personnelles et/ou 10 confidentielles) sécurisé, accessible par plusieurs utilisateurs offrent une gestion dynamique des droits d'accès pouvant. varier selon les données stockées. Il existe aujourd'hui des solutions (je rechiffrement (ou « proxy re-encryption » en anglais) permettant à un serveur de stockas, stocker 3 cestinotion d'un unique utiiisateur des données personnelles et/ou confidentielles cet utilisateur 7,01,1S forme chiffrée. Ces données 15 sont par exemple chiffrées à l'aide d'un algorithme de chiffrement à clé publique utilisant la clé pu que de l'utilisateur. Le serveur n'a aucune connaissance en clair des données ainsi stockées, préservant leur sécurité et leur confidentialité. Le serveur de stockage peut toutefois donner l'accès à ces slonnées à des tiers autorisés par l'utilisateur sans que ce dernier n'ait à divulguer sa clé privée be chiffrement, et bien que ces données n'étaient pas initialement destinées à ces tiers. 20 Une Lelie solution est décrite pær exemple dans le document de G. Ateniese et al. intitulé « Improvecl proxy re-encryption schemes with applications to secure eistribuLeci storage » ACM Transactions cn information and Sys_em Security., vol. 9, n°1, février 2006. Selon cette solution, un ulilisateuF Ul souhaitant stocker des doro-iC.N2r sur le serveur de stockage, chiffre ces données en utilisant sa clé publique de chiffrement Pm., et fournit les 25 données ainsi chiffrées au serveur de stockage. L'ut ,r U1 génère et transmet par ailleurs au serveur de stockage une clé dite de rechiffrement ou es snsition à l'attention de l'utilisateur U2 donnant un droit d'accès à un uUlis::iteur U2 à ces données. Le serveur de stockage utilise cette clé de rechiffrement pour rechiffrer !es données chiffrées fournies par l'utilisateur Ul de sorte à les rendre accessibles à l'utilisateur U2 en utilisant sa clé privée SK2. 30 Ce faisant, le serveur de stockage n'a jamais accès aux données en clair de l'utilisateur Ul : le rechiffrement effectué par le serveur de stockage ne nécessite en effet aucun déchiffrement préalable des données chiffrées par l'utilisateur U1. Cette solution est donc sécurisée. Toutefois, elle présente l'inconvénient que l'utilisateur U1 qui a confiance en l'utilisateur U2 peut effectivement lui donner des droits d'accès sur ses données stockées au niveau 35 du serveur cie stockage, mais ne peut pas ces droits d'accès à I., ee.tion seulement de ses donnees (par t-Lxern.pc., un fichier de donpeus spécifique dans un dossier ou un répertoire). Cette solution offre un partage en mode « tout ou rien » et ne permet donc pas une gestion fine des droits d'accès aux données de l'utHsabeur U1 stockées sur le serveur de stockage. Pour pallier cet inconvênient, Q. Tang déc7it u e solution de .rechiffrement conditionnel (ou « conditional proxy re-encrypt anglais) clans quelle les données de l'utilisateur U1 ne sont plus seuIeir,ent chiffrées pour lrujiSet Ust ornent pour une ceoeition d'accès Cl. L'utilisateur Us" peut toujours accéder à ses données stockées sur le serve à l'aide de sa clé privée SKI. En revanche, la condition d'accès Cl -rfetermine, en qui l'utilisateur Ul a confiance, ceux qui vont être capables d'accéder ces données. Ainsi si l'utilisateur O1 souhaite offrir des droits d'accès à des données portant sur la °audition Cl, i| crée une dé de rectiiiirement de lui-même vers l'utilisateur U2 pour la condition d'accès Cl. Cette dé :le recl-&-frernent permet au serveur de stockage de transformer les données chiffrées .poi ;. 'eut- Ul et la condition Cl en des données chiffrées pour l'utilisateur U2. L'utilisateur U2 p Let ainsi accéder aux données associées à la condition d'accès Cl sur le serveur de stockage à l'aide de sa clé privée SK2. Si des données portent sur une condition d'accès différente de Cl ou appartiennent à un utilSateur ,:ifférent de Ul, cette clé de rechiffrement portant sur l'utlisateur Ul et la condition d'accès C1 ne permettra oas au serveur de stockage de transformer ies données en des données chiffrées pour 'LitiHsateur U2 et déchiffrables par celui-ci à l'aide de sa dé privée SK2. Cette solution est toutefois assez peu flexible en pratique. En effet, si !'on considère l'exemple d'un fichier de données, une fois que celui-ci est chiffré pour une conJtion d'accès Cl, il n'est pas possible de mocii:zir cette dernii. même à la demande de ":,,eiHseteur U1. Il faut alors que l'utiiisnour Ul intervienne, r fichier de données en cbir recommence le processus de clin-ement et de stockage po ir la condition d'accès modifiée. Par ailleurs, un fichier de données est rarement isolé et est souvent inclus dans une arborescence de fichiers et/ou de répertoires. Cette arborescence peut être plus ou mon-, importante comprendre plus ou moins de niveaux) et réunir plusieurs ensembles de fichiers dans criferents répertoires, sous-répertoires, etc. Ii peut être souhaitable pour l'utilisateur U1 de pouvoir appliquer différentes conditions d\ accès à différentes parties de cette arborescence. Or, si un répertoire d'une telle arborescence porte sur une condition d'accès Cl (et donc tous les fichiers qu'il contient), il n'est pas possible, avec la solution proposée par Tang, de faire qu'un fichier contenu dans ce répertoire porte également sur une condition d'accès C2. En outre, certe solution ne permet pas de gérer facilement une mise à jour de l'arborescence de fichiers, par exemple en insérant de nouveaux fichiers et/ou répertoires dans l'arborescence, ou en effectuant des déplacements et/ou des copies d'un fichier et/ou répertoire vers un autre répertoire. Objet et résumé de l'invention L'invention permet de pa.lier notarnne..t ces ineonvénients proposant un procédé de mise à jour, par élE>.ctronicr utilisateur, d'une fichiers données ou be dossiers dupremier utilisate mémorisée dans un serveur de stca!--:eo à meure en oeuvre un mécanisme de rechifrrenPnt, ceue .,ii-bc.,-escence camp- --_ au moine un dossier cibie auquel le premier utilisateur 7 autorisé un second utilSateur à accé en fournissant au serveur de stockage une clé de fechhTrement pour ce dossier cble du premier utilisateur vers le second utilisateur. Le procédé selon l'invention comprend, pour chaque inclusion ou déplacement d'un élément dans ce dossier cible, cet élément pouvant être un fichier de 10 données ou un dossier : - une étape de génération :'une clé de rechiffrement pour le premier utHisateur de l'élément vers un dossier appartenant à un niveau hiérarchique directement supérieur dans l'arbor...rehée dans - cstrrldt: e clé de recrffrernent portird'_n identifiant secret de l'élémer 'en identifiant secret attribué D- ,--iossier 15 hiérarchique directement et des prvée et publique du premier uti.isateur ; - si l'élément est un tical-- de données, une étape de chiffrement de VelEn-ent en utilisant une clé publique du premier utilisateur et l'identifiant secret attribué à l'élément; - une étape de mise à jour de l'arborescence comprenant la fourniture au serveur de stockage de la clé de rechiffrement générée pour le premier utrisateur et, si l'élément est un fichier de 20 données, du chiffré de cet élément. Corrélativement, l'invention vise aussi un dispositif électronique d'un premier utilisateur apte a mettreà jour une arborescence de fichiers de données et/ou de dossiers du premier utilisateur FIU':i11C:1":;(_:(2 dar:.J un serveur de stockage apte à mettre en oeuvre un mécanisme de rechiffrement, cede arborescenca comprenant au moins un dossier cible auquel le premier 25 utilisateur a autorisé un secorr! accéder en fournissant au serveur de stockage une clé de reehiffrement pour ce dossier cible du premier utilisateur vers le second utilisateur. Ce dispositif électronique du premier utilisateur comporte des modules activés pour chaque inclusion ou déplacement d'un élément dans ce dossier cible, cet élément pouvant être un fichier de données ou un dossier, ces modules comprenant : 30 - un module de génération d'une clé de rechiffrement pour le premier utilisateur de l'élément vers un dossier appartenant à un niveau hiérarchique directement supérieur dans l'arborescence dans lequel est inclus l'élément, cette clé de rechiffrement étantgé.nérée à partir d'un identifiant secret de !'élément, d'un identifiant secret attribué au dossier du niveau hiérarchique directement supérieur._ et des clés privée et publique du premier utilisateur ; 35 un module de chiffrement de. -Î l'élément est un fichicr de donnas/ apte à utiliser une dé publique du premier utilisa .. et l'identifiant secret attribué à 1."21érnc-it; un module de mise à jour de l'arborescence apte à fournir au serveur de stockage la clé de rechiffrement générée pour le premier utilisateur et, si l'élément est un fichier de données, le chiffré de cet élément. Par « dossier e , on entend ici un dossier d'un premier Lilisateur auquel celui-ci a autorisé un second :tikoteur i accéder. Aucune limitation l'est â la position du dossier cdc, dues l'arbc):,::(..nce d(.2 flcHers et de dossiers du ore Hi:_ utilisateur, En particulier, le dossier cible n'est pas nécessairement localisé à la racine de l'arborescence, mais peut lui-même être inclus dans un autre dossier de cette arborescence.. De mênie, |c rienier et/ou dossier elcl,-Js ce déplacé dure: |e eessîer cible considéré dans l'invention 7'estpas nécessæ|nenlent inclus directement dans le cicisser c. mais ilpeut être inclus ou déplacé dans un dossier se trouvant «sous» le dossier cible. Plus:etes dossiers parents peuvent séparer le fichier et/ou dossier inclus ou déplacé du dossier cible à proprement parler. Par ailleurs, U convient nàte- le serveur de stockage dësigne ici au sens large une ou plusieurs entités distinctes paticipant a l'opération ee stockage sécurisé des données du premier utilisateur. Les fonctions c;e stockage à proprement parler et de rechiffrement mises en oeuvre par le serveur de stockage ne sont pas nécessairement mises en ceuvre par un unique dispositif matériel mais peuvent être réalisées par plusieurs entités !,,Diciaiies ou matérielles distinctes (ex. par plusieurs serveurs) regroupées dans la description sous l'appellation générale de serveur de stockage par souci de simplification. L'invention repose ainsi sur l'implémentation au niveau serveur d-, stockage d'une primitive de serveur de rechiffrement conditionnel. Toutefois., TÉ-(-...i-nérric l'ueLriu:Di, pour permettre une gestion fine des droits d'accès donnés par |c premier etrisateur à un second utilisateur sur des fichiers et/ou dossiers d'une arborescence de fichiers et dossiers, une condition d'accès unique est attribuée par le premier utilisateur à chaque fichier et/ou dossier de l'arborescence. Chaque condition d'accès identifie donc de manière iiHque l'élément (fichier ou dossier) auquel elle se rapporte. Conformément à l'invention, cette condition d'accès est un identifiant secret de l'élément. Cet identifiant secret pe:_ être déterminé par exemple à partir d'un identifiant public de cet élément et d'une clé privée du premier utilisateur. Plus spécifiquement, l'identifiant secret de l'élément peut être déterminé par application d'une fonction de hachage paramétrée par la clé privée du premier utilisateur à l'identifiant public de l'élément. Il en est de même de l'identifiant secret de chaque dossier de l'arborescence contenant VULH-i.mt. Etant donné que chaque fichier et chaque dossier de l'arborescence possèdent une condition d'accès différente de celle du dossier dans lequel ils sont inclus, l'invention propose un mécanisme de recr'fi.ement (ou reconditionnement) de chenue fichier et dossier au fur et à mesure de leur inee -! dans l'arborescence p.::rrncr.tant garantir que le second utilisateur puisse bien accéder .:outes les .cionnées de l'arborescence ae)eluelles il est autorisé à accéder par le premier utilisateur, Ce mécanisme (Je rechiffrement se décompose en deux phases : - une première phase de reconditionnement ou rechiffrement dit « verMcal » au cours de laque'lc des clés de rechiffrement sont créées par le dSpositif électronique premier utilisate.ir afin de changer la ened'jo.n d'accès portantsu'un dei-rient d'un ri-veau hiérarchique de l'arborescence en une ccndition d'accès portant sur du niveau hiérarchique tirecteriii2p sieur contenant cet élément Ces clés ds ruj,i1-77unent sont ci , pour tous les niveaux de l'arborescence séparant l'élément consdere; du ;fess:er dble ; et - une semnde phase de rechiffrement dit « hnrizontal » aussi communément annelée phase de £ ' au cours de a..euelle te di-7 électronique :_rcrrileF crée une clé de rE e' ment portant sur le dossier u premier utilisateur vers le snund utilisateue 10 Cette clé de rechiffrement est destinée à permettre au second utilisateur d'accéder à l'ensemble du contenu du --Jossier Ce mécanisme de -econdiionnee-lent en deux phases permet de construire une arborescence de clés de rechiffrement qui est t l'image de l'arborescence de fichiers et/ou de dossiers stockée au niveau du serveur de stockage. Autrement dit, à chaque inclusion d'un fichier 15 et/ou d'un nouveau dossier dans l'arborescence ou à chaque déplacement J'un fichier et/ou cuun doejer d'un dossier à un autre de l'arborescence, une dé de rechiffrement portant sur ce fichier ou ce dossier c,est créée de sorte à ramener cor,CiftiOn portant sur ce fichier _ni ce dossier vers une condition portant sur un dossier d'un niveau hiérarchique dinectement supereuie et ce jusqu'à arriver de proche en proche à une condition sur le dossier cible auquel le premier utilisateur a 20 autorisé le second utilisateur à accéder. En outre; un chiffré est généré pour chaque nouveau fichier inséré dans le dossier cible. On note que lorsque le premier utilisateur insère un dossier comprenant plusieurs fichiers dans le dossier cible, l'invention est appliquée dans un premier temps au dossier (avec la génération d'une clé de rechiffrement de ce dossier vers le dossier appartenant au niveau 25 hiérarchique directement supérieur), puis à chacun des .riclie_rs contenus dans ce dossier (avec la Ritbn d'un chli-0'é de chaque fichier et d'une clé de rechiffrement de chaque fichier vers le dossier dans legien.1 c.F.fichier est directement indus). L'invention garantit ainsi une -30:Uti011 de stockage sécurisée de l'arborescence des fichiers de données du premier utilisateur chiffré de chaque fichier fourni au serveur de 30 stockage est en effet destine au premier CilHateur uniquement et requiert, pour être Mcodé, la connaissance de sa clé secrele)' tout en la possibilité d'avoir une gestion Pi- des droits d'accès à cette arborescence. Dans un mode particulier de réalisation, l'é.tape de chiffrement de l'élément comprend l'application d'un algorithme de chiffrement à clé publique ou d'un algorithme de chiffrement 35 hybride s'appuyant sur un algorithme de chiffrement à clé publique et un algorithme de chiffrement à clé secrète. Notamment, lorsque l'étape de chiffrement comprend l'application d'un algorithme de chiffrement hybride l'algorithme de chiffrement à clé secrète peut être appliqué à l'élément en utilisant une dé générée pour cet élément ; et gr,cr algorii.nme de chiffrement à clé p ^"! peut être appliqué à la clé secrète générée pour l'élément en utilisant une clé dérivée de la clé publique du premier utilisateur et de I'llentitiant secret de l'élément. L'utilisation d'un algorithme cl-il-l'ffescien~ hybride permet avantageusement de gérer plus facilement les fichiers et/ou dossiers de dimensions importantes, en tirant profit d'une part des fonctionnalités du tl;irTreinent à clé p' chiffrement à clé secrète (ou symétrique). 10 Dans un mode pai.ticulier de réaiis.pti, rechiffreme.nt pour le aremier utilisateur élément vers ie dossier du niveau hierarchiqua c ,-edernent supérieur est appliquant . algorithme de chiffrement à clé publique un messagc obtenu à partir de l'identifiant privé de l'élément -:uno. clé temporaire dérivée de la clé prive.E., r'u premier utilisateur, en uthiF:ant la clé p. du p7-emier utilisateur et l'identifiant secre: dossier du 15 niveau hiérarchique di7ectement Ce mode de réalisation permet de simplifier le rechiffrement réalisé au niveau du serveur de stockage. Comme décrit plus en détail ultérieurement, ce rechiffrement s'appuie sur les multiples clés de rechrfrerne.nt générées lors de la phase de reconditionnement vertical et transmises au serveur de stockage. Il est ainsi composé d'une pluralité de rechiffrements mis en 20 oeuvre de manière itérative, chaque re_ehirrement utilisant une clé de reishiffremer, dlslincte. Dans r.--:oUe. de réalisation, un rechineernent mené à une itération donnée utilise le chiffré le a l'iteratior précédente uniquement. Il n'est - - chiffrés précédemment générés. Dans un autre mode particulier de réalisation, la clé de rechiffrement du premier 25 utilisateur vers le deuxième utilisateur est généré en appliquant un acorithrne de chrlien--ent à clé publique sur un message obtenu à partir d'un identifiant secret attribué au dossier cible et de la clé privée du premier utilisateur, en utili5.nrit la clé publique du second utilisateur. De cette sorte on s'assure que seul le second utilisateur peut accéder au dossier cible du premier utilisateur en uUlisant sa clé privée. 30 Le mécanisme de reconditionnement proposé par l'invention s'appuie non seulement sur la construction (ou mise à jour) d'une arborescence de clés de rechiffrement à l'in g,:2 dc l'arborescence de fichiers (et/ou dossiers) du premier utilisateur stockée au niveau du serveur de stockage, mais également sur le rechiffrement par le serveur de stockage des chiffrés transmis par le dispositif du premier utilisateur et sur le déchiffrement par le .dispositif électronique du second 35 utilisateur des éléments rechiffrés par le serveur de stockage. Ainsi, selon un autre aspect, l'invention vise également un procédé de rechiffrement, par un serveur de stockage d'une arborescence de fichiers de données et/ou de dossiers d'un premier utilisateur, cette arborescence comprenant au moins un dossier cible auquel le premier u et d'autre part de l'efricdc::: du cssaire de prendre en compte l'ensemble des utilisateur a autorisé un second utilisateur à accéder, le procédé de rechiffrement eornure.-.1-3i- pour chaque fichier do données inclus ou déplacé dans le dossier cible pour lequei chiFrn':.,' a été fourni audit serveur de stockage : une première rechiïrement résultant en un premier ch= et comprenant : o un rechirrrement du chiffré du fichier fourni au serveur de stockage en ut.Hsard une clé de rechiffrewient pour le premier utilisateur de ce fichier vers un dossier o'un niveau hiérarchique directement SUIDE::..el- rarborescence dans lequel est inclus le fichier ; et o pour cha=iue niveau hiérarchique k Lie l'a:borescence dc:v; niveau hiérarchique .::-.;irectement suiDérieur jusqu'à un Hveau hiérarchique direct .--. t inférieur au niveau 1-ik--2.raTchiq e du dossier cible, un rechiffre.ment résultant ee un chiffré pour le niveau hiérarchique k, d'un chiffré obtenu pour le niveau hiérarchique k-1, ce nechiffrement étant mis en oeuvre on utilisant une clé de rechiffrement pour le premier utilisateur d'en dossier du niveau hiérarchique k vers un dossier du niveau hiérarchique: k+1 :jans leseuels est inclus le fichier ; le premier chiffré du fichier correspondant au chiffré obtenu pour le niveau hiérarchique directement inférieur au riveau hiérarchique du dossier cible ; et une seconde étape de rechiffrement résultant en un second chiffré du fichier comprenant un rechiffrement du premier chiffré avec une clé de .rechiffrement pour le dossier cible du premier utilisateur. vers le second utilisateur. Corrélativement l'invention concerne également un serveur de stockage d'une arborescence de fichiers de donn- eliou de dossiers d'un premier uJUsateeie comprenant au moins un dossier cible auquel le prcmicr utilisateur a autorisé un second utilisateur à accéder, le serveur de stockage comprenant un premier et un second modules de re7-iitTrement activés pour chaque :-ichier de données inclus ou -lacé dans le dossier cible pour lequel un chiffré a été fourni audit serveur de stol et dans leqiee - le premier module i= rechiffrement est apte à générer un premier chiffré du fichier en mettant cn ceuvre o un rechiffrement du chiffré du fichier fourni au serveur de stockage en utilisant une clé de rechiffrement pour le premier utilisateur de ce fichier vers un dossier d'un niveau hiérarchique directement supérieur de l'arborescence dans lequel est inclus le fichier; et o pour chaque niveau hiérarchique k de l'arborescence depuis ce niveau hiérarchique directement supérieur jusqu'à un niveau hft'lrarchique directement inférieur au niveau hiérerchiquo du dossier cible, un re.chifftement résultant en un chiffré pour le niveau hiérarchique k, d'un chiffré obtenu pou7 ha niveau hiérarchique k-1, ce rechiffrement étant mis en oeuvre en utilisant une clé de rechiffrement pour le premier utilisateur d'un dossier du niveau hiérarchique k vers un dossier du niveau hiérarchique k+1 dans lesque!s est inclus le fichier ; le premier e!-Iiffé du fichier coresn nt au chiErt1 obtenu pour le niveau hiérarchique directement -1-férieur au rieeau hi: -ni-chique du dossier cible - - le second module de reetirfenenent est ap' re- .second en;q-r: du fchicren mettant en oeuvre un rechiMrementdu premier chifrné avec une clé de reehL'frement pour le dossier cible du premier utilisateur vers ie second iitilSateur. En d'entres mots, le serveee de (.ede rechiffre chaque fichier de l'arborescence de fichiers du brefflier utilisateur en remontant Vnrborescence à l'aide des clés de rechiffrement transmises par |e dispositif du premier isaiteur, puis réalise un dernier rechiffrerrent pour permettre au second utilisateur d'accès au fie le: ainsi rec'--lirrré. Selon un autre aspect encore, l'invention vise uni procédé de déchiffrement d'un chiffré d'un fichier de données d'une arborescence de.: fichiers de données et/ou de dossiers d'un premier utilisateur, cette arborescence con-te-enant au moins un dossier cible contenant le fichier et auquel le premier utilisateur a autorisé un second utilisateur à acceier, ce procédé de décnirliernenL é.ant destiné à être mis en oeuvre par un dispositif électronique de second utilisateur, lecift ehiUré du fichier ayant été fourni audit dispositif électronique suite à l'exe.etutici par un serveur de steel\ d'un procédé de rechiff7einerit l'invention, ce procédé de déchiffrement comprenant une étape déchifrrement de ce chiffré en une clé privée du second utilisateur. Corrélativement, In 1-1 concerne aussi un dispositif électronique comprenant un module de d:'2chiffrement d'ue un richier de données d'une arborescence fichiers de dciancien jou de dossiers d'un premier utrisetcur, cette arborescence comprenar4t au moins un dossier cible contenant le fichier et auquel le premier utilisateur a autorisé le second utilisateur à accéder, ce chiffré ayant été fourni au dispositif électronique par un serveur de stockage selon l'invention, le module de déchiffrement étant a: à déchiffrer ce chiffré en utilisant une clé privée du second util:sateur. Selon un autre aspect encore, l'invention vise un système comprenant : un dispositif électroniei d'un premier utilisateur selon l'invention ; un serveur de stockage selon l'invention d'une arborescence de fichiers de données et/ou de dossiers du premier utilisateur comprenant au moins un dossier cible auquel le premier utilisateur a autorisé un second utirsateur à accéder ; ei un disnosti électronique du second utilisateur selon l'invention. La procédé de rechiffrement, le serveur de stockage, le procédé de déchiffrement, le dispositif électronique du second utilisateur et le système selon l'invention bénéficient des mêmes avantages cités précédemment que le procédé de mise à jour et le dispositif électronique du premier utilisateur. Dans un rrocie particulier de réalisation, les différentes é du procédé de mise à jour, etlou du procédé de .rechiffrement et/ou du procédé de déchiffrement sont déterminées par des instructions c; CrOrdinaf_c.irS. En conségue, invention vise aussi un procyumme d'ordinateur- sur un support d'informations, ce proir,Timme étant susceptible ''être -ois cn oeuvre un dispositif électr,- rique ou éralement dans un oniinFiteur, p.ogran-wrie comportant des instructions adaptées à la mise en ci.f.t,,,re des étapes d'unprocecl'é. de mise à jour tel qws décrit d-dessus. ennent un programme c_°'ordinateur sur un support d'informations,. ce progr6urme étant suce 'être mis eh ,._e'...rvre dans un -,,,rveur - stockage ou plus e programme comportant des instructions a- ap-,.ées à la mise 10 généro|cmentdans un ortf en oeuvre des étapes d'un procédé rechffrernent tel gué décrit ci-dessus. L'invention concerne aussi un programme d'ordinateur sur un support d'informations, ce programme étant susceptible d'être mis en oeuvre dans un dispositif électronique ou plus génére!ernen',_ dan; uc ordinateL,r, ce programme comportant des instructions adaptées à la mise 15 en oeuvre des étapes d'un procec:(-2 (ie débifirement tel que. décrit ci-dessus. Chacun do ces prcgrammes peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre coe _ .-ource et code objet, tel que dans une forme partiellement compi|ee, ou dans n'importe autre forme souhaitable. 20 L'invention vise aussi un support d'informations Psibie. par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus. Le support d'informations peut être n'importe quelle entité ou disp capable de stocker le programme. Par exemple, le support peut comporter un moyen de tel qu'une ROM, par exemple un CD ROM ou !_!ne ROM de circuit microélectronique, ou eF.eore un moyen 25 d'enresti magr±:ique, une disquette (floppy .disc) ou un disque dur.. D'aure part, le support 7. ,nformations peut :âtre un support transmissble tel qu'un signal électrique ou optique, peut être acheminé via un câble -.-_-ectrique ou optique, par radio ou pOrd'aut/es moyens. Le programme scion l'invention peut etre en p'arliculier téléchargé sur un réseau de type Internet. 30 Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pou,- exécuter ou pour être utilisé dans l'exécution du procédé en question. On peu également envisager, dans d'autres modes de réalisation, que le procédé de mise à jour, le procédé de rechiffrement, le procédé de déchiffrement, les dispositifs électroniques 35 et le serveur de stockage selon l'invention présentent en comn-laison tout ou partie des caractéristiques précitées. Brève dei, ec,siris D'autres osraetedsbqccs et avantages de 4. présente invention ressortiront de la description faite ci-dcssous, ...eference aux dessins on.-.1e;. Dans le mode de réalisation décrit ici, cette fonction est composée de trois algorithmes distincts, pouvant être aisément développés par l'homme du métier à partir des exemples de fonctions donné:, dans le documen',. P.FC 20=14 : ahol mc rcto-urnp des p.-. s publics prihrnac ; F-IMACKG(P1)-,,ac) :.xithnie prend en entrée les paramètres publics pph,'ac et retourne une clé K ;cÉ HMAC.Hash m,K) : cet algorithme prend en entrée parui-Ï'ièLres publics niin rr-hmacr un message m et une clé K et retourne une empreinte numérique Pour rappel, la fonction HMAC.KG a été utilisée prérédemmentpourgénérer|es clés secrètes des 10 utilisateurs Ul et U2. Schéma de chiffremen -7;- clé s. - AES (Advan, EhriliPick7/7 Star7da Ce schéma de chiffrement à dé secrète repose ici sur les quatre FJ1gorlt.hrne:s spivants pouvant être aisément développes par l'homme du métier à partir des spécifications du schéma de chiffrement AES et non détaiLes. 15 AES.friit:() : cet a gorithme retourne les paramètres pubrcs pp', ; AES.KG(pp') ; cet algorithme prend en entrée les pa:Iir-nèrrE.s publics ppse, et retourne une clé secrète K de taille I bits ; A.ES.Enc(pp,',rn,K) : cet algorithme prend en entrée les paramètres publics pp'' un message m et une secrète K et retourne un chiffré C ; et 20 AES.Dec(pp,',C,K) : cet algorithme prend en entrée les paramètres publics pps,' un chiffré C et une clé secrète K et retourne un message déchiffré m. - Schéma Cie Chiffref77Chf c75y/77C.fr41.1e ou è publia:je El Gama/ : L'invention s'appuie, dans he mode de réalisation décrit ici, sur une version modifiée du schéma de chiffrement asymétrique El Gamal, connu de l'homme du métier. Cette version modifiée repose ici 25 sur les quatre algorithmes suivants pouvant être aisément développés par l'homme du métier partir des specTication5, du schéma El Gainai, et non détaillés ici : ELG.Init() : cet algorithme choisit un nombre premier p, un groupe G d'ordre p premier (dont la loi de groupe est ici notée multiplicativement; G est par exemple l'ensemble des points d'une courbe elliptique), un générateur g du groupe G ainsi qu'une fonction de hachage H : 30 G->{0,111 et retourne les paramètres publics .pppub=(p,G,g,H), I désignant la taille en bits de l'espace des messages à chiffrer. ; - ELG.KG(pppub) : cet algorithme prend en entrée les paramètres publics pppub et retourne une clé privée sk appartenant au groupe multiplicatif Zp* et une clé publique pk=gsk ; - ELG.Enc(pp,,,,m,K) : cet algorithme prend en entrée les paramètres puo'lcs PPpub, un message 35 m et une clé publique pk et retourne un chiffré C=(CO,C1) où CO=pkr et Cl=meH(gr) avec rE Ep* ; et - ELG.Dec(pp',T,C,s.k) cet algorithme prend en entrée les paramètres publics et une clé viyée `Sr C21: 1-r,:t:'Durne rio.,.;-scicc dckhiffré m= ciew\covsk). PPpubt un chiffré C Bien entendu, en variante,d'outres schémas de chiffrement à clé secrète et/ou à clé publique peuvent considérés dans le cadre de l'invention. uure 4 représee sous forme -- les principales étapes d'un v-tyaiàié rtà à jour ou de façon equivaonee oc construction drebo.rcscence ARB stockée par le serveur de stockage 3, tel qu'il est mis en oeuvre par le dispositif électronique 2 de l'utilisateur Ul. Pour mieux illustrer les é.ape.,s an oeuvre, on considè_re l'arborescence ARB frir,pUic fichierYcIossiers représentée à la figure 5. 10 1,2 e-borescence comprend 3 dossiers ou répertoires D3, D2 et Dl inclus les uns dans les autres, et u7-i fichier f inclus dans le dossier Dl. Ces dossiers et fichier appartiennent à quatre niveaux hiérarchiques distincts H3, H2, Hl et HO de l'arborescence ARB, et sont identifies par un identifier': p: iT .1jistinct, noté idD3 pour D3, idD2 pour D2, idD1 pour Dl et idf pour f. Bien enteldu, aucune limitation n'est attachée au nombre de niveaux hiérarchiques 15 considéré dans l'arborescence (ici 4), ni au nombre et au type d'éléments présents à choque niveau hiérarchique (fichiers et/ou dossiers). L'invention s'applique à d'autres configurations d'arborescence. Notamment, le dossier D3 peut être lui-même inclus dans un dossier racine D4 de l'arborescence ou dans un autre -.sier inclus dans le dossier racine. Dans l'exemple envisagé ici, par souci de simplification, on que le dossier D3 est situé à la racine de l'arborescence 20 ARB. La construction de l'arborescence ARB se Lait classiquement de proche en proche, en créant le dossier D3, puis le dossier D2 inclus dans D3, puis le dossier Dl inclus dans D2 et enfin le fichier f inclus dans le dossier Dl. De façon conventionnelle,. D3 appartient à un niveau hiérarchique H3 directement supérieur à D2, qui appartient à un niveau hiérarchique H2 25 directement supérieur à Dl, qui lui-même appartient à un niveau hiérarchique Hl directement supérieur au fichier f (HO). On suppose ici que ;'utii:-,:atc-nir U1 a accordé un droit d'accès au dossier cible DF=D3 l'utilisateur U2. Toutefois, comme mentionné précédemment, le dossier cible D3 n'est pas nécessairement situé à la racine de l'arborescence de l'ensemble des fichiers et dossiers de 30 l'utilisateur .1..J1 stocké par la .sanieur de stockage 3. L'utilisateur Ul peut accorder un droit d'accès à n'importe quel dossier de l'arborescence ARB (i.e. situé à n'importe quel niveau hiérarchique de cette arborescence). A cet effet, le dispositif électronique 2 a fourni au serveur de stockage 3 une clé de rechiffrement notée rk(D3,U1->U2) pour ce dossier D3 de l'utilisateur U1 vers l'utilisateur U2 35 -e E10). Cette étape contribue à la phase de reconditionnement « horizontal» PHH mentionnée précédemment. La cié de rechiffrement rk(D3,U1->U2) e é-rée par le dispositif ,-Ael..cenique 2 en mettant en oeuvre la succession suivante d'étapes: Calcul d'un dentifr:.:7-It secret sidD3 du dossier D7=D3 cle l'identifiant public icID3' de la cië privée Si v) à partir de l'aea v et de la clé privée SK1 de l'utilisateur Ul (eu plus précisément ici de la partie sk12 de SK:1) selon : rk(U1->v)=v/sk12 ; Calcul, à partir de l'identifiant secret sidD3, de l'aléa v et de la clé publique PK2 de l'utilisateur U2 (ou plus précisément ici de la partie pk21 de PK2), du couple : (H30,H31)= ELG.Encf,pppub,siciD3s, pk2.1) ; et Construction de la clé de rechiffrement rk(D3,U1- z selon : rk(D3,U1->U2)=(rk(U1-,V',H30,H31). Il convient de noter qu'une telle clé de rechirrement peut être générée de façon identique pour -el dossier et/ou fichier de l'arborescence si l'utilisateur Ul souhaite autoriser un accès à ce ossier et/ou ficTiier l'utilisateur U2. Nous allo-T]s maintenant décrlre comment sont construits par le dispositif électronique 2 les autres éléments ce l'arborescence ARB à partir du dossier cible DF=D3. Par souci de simplification, on désigne par E l'éiément de l'arborescence considéré. Ainsi, dans l'exemple envisagé à la figure 5, E = D2, D1 ou f. Pour chaque élément E indus dans l'arborescence ARB dans le dossier cible DF=D3 (réponse oui à l'étape E20), à un niveau hiérarchique Fin (n=0,1,2 ici) t2 bpositif électronique 2 génère une clé de rechiffrement 'W.) pour l'utilisateur U1, de Ve,ement E vers le dossier noté E+1 qui appartient au niveau hiérarchique_ directement supà-ieu- hh+1 dans l'arborescence ARF.- et dans lequel est inclus l'élément L. L'inclusion de l'élément E dans l'arborescence peut résulter indifféremment d'une création d'un nouvel élément dans l'arborescence ou d'un déplacement d'un élément existant. Autrement dit : si E-D2, le dispositif électronique 2 génère une clé de rechirfrement pour l'utilisateur U1 de l'élément D2 appartenant au niveau hiérarchique 1-12 vers le dossier D3 appartenant au niveau hiérarchique H3 ; si E=D1, le dispositif électronique 2 génère une clé de rechiffrement pour l'utilisateur U1 de l'élément Dl appartenant au niveau hiérarchique H1 dossier D2 appartenant au niveau hiérarchique rri2 ; enfin le dispositif électronique 2 gé.nre une clé de reci-irzfrement pour l'utilisateur Ul de l'élément f ai):7.,-:,ptenant au niveau hiérarchique HO vers le dossier D1 appartenant au niveau hiérarchique Hl. La clé de rechiffrement rk(E-F-E-1,U1) pour l'utilisateur Ln, de l'élément E appartenant au niveau hiérarchique Hn vers le cicier E+1 appartenant au niveau hVirarchique Hn+1 est générée id par le dispositif électronique 2 selon l'enchaînement d'étapes suivant (etape E30) Calcul des :dentifiants secrets s:dE de l'élément E sidE+1 de l'élément E+1 à partir respectivement de l'ide-itir;ani iUic idE, de l'identirr public idE+1, de la clé privée SK1 de l'utilisateur U1 (ou plus precisé..-iient de la clé secrète k1 contenue dans la clé privée SK1) et de la fonction HMAC. Dans le mode de réalisation dkrit : sidE = HMAC.Hashu h,' d) sidE + HMAC. Has idE + 1, kl) Sélection d'un aléa vE dans le groupe multiplicatif Calcul d'une clé de rechiffrement intermédiaire rk(U1 - vE) à partir de l'aléa vE et de la clé privée SK1 de l'utilisateur Ul (ou plus précisément ici de la partie sk12 de Sn) selon : rk(U1->vE)=vE/sk12 ; Calcul, à partir de l'identifiant secret sidE de l'élément E, de l'identifiant secret sidE.i 1 de l'élément E+1, de l'aléa vE et de la clé publique PK1 de l'utilisateur .U1 (ou plus précisément ici de la partie pk12 de PK1), du couple : ELG.Enc(pp,,,,sidE.vE, pk12 SidE+ \; et Construction de la clé de rechrrement rk(E->E+1,U1) selon rk(E >E+1,U1)=(rk(U1--avE),Hn0,14n1). L'arborescence ARB stockée par le serveur de stockage 3 est alors mise à jour par le dispositif électronique 2 (étape E40). Cette mise à jour est effectuée par le dispositif électronique 2 en fournissant au serveur de stockage 3 la clé de rechiffrement rk(E->E+1,U1) ainsi a, .2ree En outre, lorsque l'élément E considéré est un fichier f de données (réponse oui à l'étape E50), un chiffre C(f) de ce fichier de données est généré par le dispositif électronique 2 pour lui-même (i.e. il peut accéder au fichier f en clair en utilisant sa clé privée) et fournit au serveur de stockage 3 (étape EGO). Ce chiffré C(f) est généré ici en utilisant un schéma de chiffrerne,nt hybride b,:r,; l'algorithme de chiffrement à clé secrète AES et l'aioorithme de chiffrement asymétrique El Gamal. Le fichier f pouvrit être de dimension importante, l'utilisation d'un tel schéma hybride est avantageux afin de bénéficier d'une part des fonctionnalités du chiffrement à clé publique (ou asymétrique) et d'autre part de l'efficacité du chiffrement à clé secrète. Plus spécifiquement, le chiffrement de l'élémen Jpurtenant au niveau hiérarchique Hn en un chiffré C(f) est réalisé selon les étapes suivantes : Génération d'une clé secrète Kf en utilisant Valdol.-.:1-'-irne AES.KG(pp,'), po_ des paramètes publics obtenus à l'aide de l'algoritnpe Arsc. i nit , ChifIrem,-2riL Oc f« en un chiffré Cf sebn : Cf-AE-S.Enc.opse'fikf) ; identifiant secret sidf du fichier f de l'identifiant public privée SK1 de l'utilisateur Di (ou plus isem.ent ici de la. clé secrète kl U'.eluse clé privée SKI.) et de la [onction HMAC. Dans le mode de réalisation décrit ici, l'identifiant secret sidf est déterminé selon : sidf = fv1AC. Hash(pphm', k1) 10 les paramètres pub:ic- hm' ayant été générés à l'aide de l'algorithm AC.Tre 7;troduit -édemment ; Chiffrement avec l'algorithme ELG.Enc de la clé secrète Kf en utilisant la clé publique PK1 de l'utilisateur U1 (ou plus précisément ici de ia partie *12 de PK1), selon : (FOO,F01)= ELG.Enc(opp ub,Kf, pkire) ; 15 les paramètres publics ppr,'!, ayant été générés à l'aide de l'algorithme ELG.Init introduit précédemment ; et Construction du chiffré C(f) selon : C.(f)=(Cf,F00,FC1). En variante, ei:.-cironique 2 peut LLHsei- un algorame de chiffrement à clé 20 publique uniquement pour 'nérer le chiffré C(f), plutôt qu'un schéma hybride. Les étapes E20 à E40, et àu cas échéant E50 et EGO, sont r-âLérc: pour chaque élément (dossier ou fichier) que le dispositif électronique 2 souhaite inclure dans l'aJ.Ddieseence ARB stockée par le serveur de stockage 3, autrement dit, dans l'exemple de la figure S pour les dossiers DO, Dl et ie fichier f [20). Ces étapes contribuent à la phase de reconditionnement 25 « vertical » mentionnée preceb:_: mer-L L'arborescence ARB allant du dossier cible D3 au fichier f est donc construite de manière récursive. A l'issue de la mise à jour de l'arborescence ARB (étape E70), le serveur de stockage 3 dispose, dans l'exemple illustré à la figure 5 : 30 - du chiffré C(f)=(Cf,F00,F01) du fichier f ; - des clés de .rechiffrement rk(D3,U1->U2), rk(D2-403,U1), rk.CD1->D3,U1), rk(f-->D1,U1). Ces chiffrés et ces clés de rechiffremient sont par exernpie stockés dans sa n'2n,-Loire non volatile. Il convient de noter que dans le mode de réalisation décrit ici, le trsposif électronique 35 2 transmet le chifl-é. du fichier f, ainsi que les clés de rechiffrernent rk(D3,U1->1.12), rk(D2 ,D3,U1), rk(D1->D3,U1), >D1,U1), après chaque inclusion d'un élément dans l'arborescence. eefces, en './ar-7.cette transmission peut se faire en une unique fois, à l'issue de la construction de :.arborescente complète. Le chiffré du fichier f transmis par le dispositif 2 de l'utlHateur U1 est destiné à proprement parler à l'utilisateur U1. En d'autres 7.ermes,seul l'utilisateur U1 a accès au contenu en ciair de ce die utilisant s e Drivée er. I. Aucun rereniree-len n'est nécessaire pour l'utilisateur U1 puisque ce ciliffré lui est bien destiné. Ainsi, la récupération de ce fichier f par l'utilisateur U1 à partir du chiffré C(f)=-(Cf,F00,F01) stocké sur le serveur de stockage 3 est mise en oeuvre par le dispositif renrivi d'étapes suivant : 10 - Obtention de l'identifiant p; idf du fichie - Obtention ou calcui de l'identifiant secret du fichier f à partir de l'identifiant public idf à partir de sid = HMAC.Hash(nn \rrhmac, idf, ; - D_--1 Ti _nt du couple (FOO,F01) en une cié secrète KE à l'aide de l'algoeithree ELG.Dec' en utilisant privée Sn de l'utilisateur U1 (ou plus précisément ici de la part.e s12 de SK1) et 15 l'identifiant secret sidE selon : Kf=ELG.Dec(pp, .,(F30,F01),s12.sidf) - Déchiffrement de Cf à partir de la clé secrète 1,:E pour obtenir l'élément E selon : f=AE5.Dec(pp ,Cf,Kf) En revanche, le chiffré du fichier f transmis par le dispostii.: électronique 2 de 20 l'utilisateur U1 au serveur de stockage 3 ne peut pas être déchiffré en l'état par un autre ultisateur que l'utilisateur U1, et donc notamment par l'utilisateur U2, sans connaissance de la clé pr.,,fée SK1 de l'utilisateur U1. Pour permettre à l'utilisateur U2 d'accéder à ces éléments sur autorisation de l'utilisateur U1, le serveur de stockage 3 doit rechiffrer le chiffré du fite à l'aide des dés de rechiffrement reçues du disposd é!ectronique 2. 25 Nous allons donc maintenant décrire en référence à la figure 6, les principa|esétapes mises en oeuvre par le serveur de stockage 3 pour rechiffrer pour l'utilisateur U2 le chiffré du fichier f de l'arborescence ARB transmis par le dispositif électronique 2 de l'utilisateur U1, et donner ainsi 'accès au dispositif électronique 4 de l'utilisateur U2 au dossier cible D3 incluant tous les dossiers et fichiers inclus dans ce dossier cible, à savoir dans l'exemple illustré à la figure 5, les 30 dossiers D2, D1 et le fichier f. Ce rechffrernent mis en oeuvre par le serveur de stockage 3 est composé de plusieurs rechiffrements' dont le nombre dépend de la hauteur de l'arborescence ARB envisagée entre le dossier cible DF et le fichier f. Ces différents rechiffrements se divisent selon deux catégories : une première catégorie de rechiffrements (formant une première étape dmrechiffrementau 35 sens l'invention), qui permet de reconclitionner un chiffré pour la clé publique PK1 de l'utilisateur L.I1 portant sur la condition secrète sidE d'un l'élément E d'un niveau hiérarchique Hn de l'arborescence en un chiffré pour la clé publique PK1 de l'utilisateur Ul portant sur la condition secrète sidE+1 T . E+1 cbns lequel est inclus directement l'élément E et qui appartient au niveau hiérarcl-i:que Hn+1 directement supérieur. Cette première catégorie de sechiffroment est. app|i7oée itérativement à partir du chiffré C(f) du fichier f transmis par le dispositif électronique au serveur de stockage ; sec,rylciu caiëgorie de rechiffrement u7-.1e seconde étape de chiffrement au sens l'hventio ermet reconditionner un chiffré pour ga publique PK1 ortant sur dossier cible DF en un chiffré pour la dé publique PK2 sans condition. Cette seconde catégc.. de chirfrement est applicr. le chiffré obtenu à l'issu ication de la premieie o-lrie do rechiffrome its. Elhp contient ici un seul rechiffrement à proprement parier. 10 Par souci de siirplific7ition rechiffrement du chiffré C.(f) du fichier f figure 5. TOEJtefois, un r ëcanSrne de 'mite dans la suite de la esc-_-.r-ptiori au seul au niveau HO de l'arborescence ARB identique peut être mis en oeuvre pour tout à la autre fich l'arborescence, en rempla - dans ;a suite de la description le fichier f par ce fichier. 15 La première catégorie de rechiffrement s'appuie sur la primitive (algorithme) de rechiffrement ReENCV(Cfrk(E->E+1,U1)) pour un élément E du niveau hiérarchique Hn de l'arborescence ARB, définie par l'enchaînement suivant d'étapes, où C désigne un chiffré associé au niveau hiérarchique Hn et E+1 est un élément du niveau hiérarchique Hn+1 directement supérieur incluant l'élément E : 20 Décomposition du chiffré C sous la forme : C=(Cf,F00,F01,F10,F11,...,FnO,Fnl) avec C=VS:f,r00,`-'01) si n=0, et chaque couple. (Fl.(0':7k1)' k=0,...,n n!: obtenu à partir de l'algorithme de chiffrement Fl...G.Enc (cf. procédé de mise à jour décrit précédemment en référence à la figure 4) ; 25 Décomposition de la clé de rechiffement rk(E-rE+1,U1) en : rk(E->E+1,U1)=(rk(vE->U1),1-1n0,1-1n1). Calcul de FriO'=(FriO)rk(vE--"1.) et de F(n+1)0=lin0 et F(n+1)1=1-In1 Rechiffrement du chiffré Cen un chiffré C' pour le niveau hiérarchique Hn selon : C1=(Cf,F00,F01,F10,F11,...,Fn0',Fn1,F(n+1)0,F(n+1)1) 30 avec C'=(Cf,F00',F01,F10,F11) pour n=0. En d'autres mots, cette primitive ReEN,._.V permet de reconditionner un chiffré C pour la clé publique PK1 de l'utilisateur U1 et la condition secrète sidE de l'élément E (identifiant secret de l'élément E) en un chiffré C' pour la clé publique 'PK1 de l'utilisateur U1 et la condition secrète sidE+1 de l'élément E+1 (identifiant secret de l'élément 1) contenant directement l'élément E. 35 La seconde catégorie de rechiffrement s'appuie sur la primitive (algorithme) de rechifrrement ReENCH(C,rk(E,U1->U2)) pour un élement E du niveau hiérarchique 1-1r, l'arborescence ARB (ex. E=DF), définie par l'enchaînement suivantd'étap ' C désigne un chiffré associé au niveau hiérarchique Hn : Décomposition du chiffré C sous la forme : C=(Cf,F00,FO1eF710,i- avec ,,F00,e(.., si n , et chaque coup Fk1), étant obLenu à partir de -e-ne du chit-fec-eeelt ELG.Enc procédé Jr- décri récédemment en référence à le.gure 4; ; Décomposition de la clé de reCiffrement rk(E,U1->U2) en : ->U2)=(rk(vE-W1 ee!.,),111-11). 10 Calcul de F.n0'=(Fn0)11«;SvE-÷1J1) et Je GO---1-1n0 e1Ci1=Hn1 ; .Rechiffrement du chiffré C en un chiffré C' pour l'utilisateur U2 selon : C'=(Cf,F00,F01'FlO,F11,...,Fn0',Fnl,GO,G1) avec C1=(Cf,F00',F01,GO,G1) pour n=0. En d'autres mots, cette primitive ReENCH permet de reecrunionner un chiffré C pour 15 la clé re PK1 de l'utilisateur U1 et la condition secrète sidE de l'élément E (identifiant secret de l'élément E) en un chiffré C' pour la pJF.DL4ue PK2 de l'utilisateur U2 sans condition. L'enchaînement des deux catégories de rechiffrement est illustré à la figure 6. A partir du chiffré C(f)e(Cf,F00,F01) du fichier f fourni par le dispositif électronique 2 F10), le serveur de ',:i.ockage 3 génère cil chiffré CO' en appliquant la primitive de 20 rechiffrement P,eENCV et en la clé de chiffrement rk(f->D1,U1), autrement dit : CO'=°. ReENCV(C(f),rk(f->D1,U1)) CO' constitue un chir7ré pour l'élément hic'rarchique HO. Puis, de façon itérative, pour chaque niveau hiérarchique Hn de l'arborescence, n=1,...,N-1 (dans l'exemple illustré à la figure 5, N=3) (étapes r30 et F50), le serveur de stonage 25 3 génère un chiffré Cn' pour ce niveau hiérarchique Hn en appliquant la primitive de rechiffrement ReENVC à un chiffré Cn+1' généré pour le niveau hiérarchique Hn-1 et en utilisant la clé de chiffrement rk(E--->E+1,U1) F désigne un élément de Hn con'e-iant le fichier f et E+1 un élément de Hn+1 contenant directement l'élément E (et donc r, le fichier f). Autrement dit : 30 Cnl= ReENCV(Cn-1',rk(E->E+1,U1)) A l'issue des N-1 itérations (réponse oui à l'étape F50), on obtient un chiffré CN-1' qui constitue un premier chiffré du fichier f au sens de l'invention. Ce premier chiffré est de la forme : CN-1'=(Cf,F00',F01,F10',F11,...,F(N-1)0',F-(N-1)1,FNO,FN1) Le serveur de stockage 3 applique alors au premier chiffré obtenu la seconde primitive 35 de rechiffrement ReENCH en utilisant la clé de rechiffrement rk(DF=DN,U1->U2) pour générer un second chiffré C(f)' du fichier f (étape F60), soit : C(f)1=ReENCH(CN-1'irk(DF,U1->U2)) Ce second chiffré est de la forme : C(f)'=(Cf,F00',F01,F10',F11,...,FN0',FN1,GO,G1) Ce second chiffré est fourni au dispositif électronique 4 de l'utilisateur U2 lorsque celui- ci souhaite accéder au C.0!15.77!U du fichier f de l'utilisateur Ul (étz F70). Nous arons maintenant décrire, en réfé:--enre à :7 , les principales étapes du u.:édé d- déchir rei.int. mis en oeuvre par le clisposftif électronique 4 pour accéde-r au fichier f de Itui-:isateur 1.11 c'di- du chiffré C(f)' fourni par L scmcuc dc stccE., Ce Cécniffremcnt. réalisé cle manière itérative. Plus spécifiquement,. C(f)' reçu du serveur de stockage 3 (étape G10) est de 10 la forme : C(fr-=(Cf,F8CY,F01,F Le d:sposiLif électronique 4 déchirfte dans un premier .Lemps, à raide de l'algorithme oe déchiffrement ELG.Dec en ut:lisant la dé privée SK2 de l'utilisateur U2 (ou plus spécifiquement ici la partie sk21 de la clé pr'véc- SK2), le chifiri- fumé par le couple (GO,G1) (étape G20). Il génère 15 ainsi un message sktempN selon : sktemoN =ELG.Dec(pprie,(GO,G1),sk21) Puis, pour chaque niveau hiérarchique Hn de l'arborescence ARB, n=N jusqu'à 1 (autrement dit l'arboresencence ARB est parcourue cette fois-ci dans le sens descendant, de HN jus7,u'à HO) pes G40 et G50), le dispositif électronique 4 déchiffre les autres éléments du 20 chliTré C(fy selon (étape G30) : sktemo',"n-1)=ELG.Dec((Fn0",Fn1),sktempn) A l'issue de ces N itérations, le dispositif électronique 4 déchiffre à l'aide de |'a|gnrithse de déchiffrement ELG.Dec, en teisant comme clé de déchiffrement le message skternp0, le couple (F00',F01) (étape G60) et génère ainsi une clé Kf selon : 25 Kf= ELG.Dec(ppw,,707,71.),skternp0) Enfin, il recupère le fichier f en applic,uant l'algoritime de déchiffrement. AE.S.Dec au chiffré Cf en utilisant la clé .Kf (étape G70), soit : f=AES.Dec(pp 'Cf,Kf) L'utilisateur U2 a ainsi accès au fichier f de l'utilisateur 30 En reprenant les procédés de rechiffrement et de déchiffrement illustrés aux figures 6 et 7 pour chaque fichier des dossiers de l'arborescence ARB inclus dans le dossier cible DF, l'udlisdLeur U2 a accès à l'ensemb,,e des fichiers et dossiers contenus dans celui-ci. Dans les exemples décrits ici, on a envisagé un fichier f inclus ou déplacé dans le dossier cible DF. 35 L'inclusion du fichier f dans le dossier cible DF peut être due notamment à une création d'un nouveau fichier ou à une copie d'un fichier existant, extrait d'un autre dossier de l'arborescence des fichiers et dossiers du premier utilisateur. Il convient de noter qu'en cas de copie d'un fichier extrait d'un autre dossier également inclus dans le dossier cible, ce fichier est associé à deux clé.s de rechiffrement distinctes. En revanche, ciepiacen-,ent d'un fichier d'un dossier de l'arborescence des fichiers et dossiers du prenier utilisateur vers le dossier cible impc..,7e de supprimer l'ancienne dé de rechiffrement liée à l'ancien dossier dans lequel se trouvait le fichier. REVENDICATIONS1. Procédé de mise à jour, par un dispositif éle-clr-onique (2) d'un premier utlisateur (til)' d'une arborescence (ARB) de fichiers: de donnL dossiers du premicr utilisateur memorisee dans serveur de stockaac mettre en oeuvre un mecdniE,nu: rechiffrement, ceti:e arborescence comprenant ail moins un dossier cible - mier uljliateur autorisé un second utilisateur à accéder en fournissant (E10) au serieur de stockage une dé de rechiffrement pour c^ dossier cible du premier utilisateur vers le second utilisateur, ledit procédé comprenant, pour chaque inclusion ou dép|acementjbn élément dans ce dcss'er cible 10 (E20), osté|ément pdLivant être fichier de données ou un dossier : une étape M) de gén-ation d'une clé de rechiffrement pour le premier utiH.-77reur de l'élément vers un dossier appn--LeriE,nt à un niveau hiérarchique directement supérieur dans l'arborescence dans lequel es;.. ;nclus l'élément, cette clé de rechiffrement étant générée à partir d'un identifiant secret de l'élément, d'un identifiant secret attribué au dossier du niveau 15 directement supérld.ir, et des clés privée et publique premier utHsatdur ; si ledit élément est un fichier de données (E50), une étape (E60) de chiffrement dé l'élément en uUlisant une c|é publique du premier utilisateur et l'identifiant secret attribué à l'élément; et une étape (E40,E60) de mise à jour de l'arborescence comprenant la fourniture au serveur de 20 stockage de la clé de rechiffrement générée pour le premier utilisateur et, si l'élément est un fichier de données, du chiffré de cet élément. 2. Procédé selon la revendication 1 dans !equel ntifiant secret attribué à l'élément est déterminé par le dispositif électronique à partir d'un ide .i.t pub.ic de l'élément et d'une clé 25 privée du premier utilisateur. 3. Procédé selon la revendication 1 du 2 clans lequel : l'identifiant secret de l'élément est déterminé par application d'une fonction de hachage paramétrée par la clé privée du premier utilisateur à l'identifiant public de l'élément ; et/ou 30 l'identifiant secret du dossier du niveau hiérarchique supérieur est déterminé par application d'une fonction de hachage paramétrée par la c|é privée du premier utilisateur sur un identifiant public attribué à ce dossier. 4. Procédé selon l'une quelconque des revendications 1 à 3 dans lequel l'étape de 35 chfirement de l'élément comprend l'application d'un algorithme de chiffrement à clé publique ou d'un algorithme de chiffrement hybride s'appuyant sur un &il:i-lb-de de chiffrement à clé publique et un algorithme de chiVrement à clé secrète. 5. Procédé selon l'une quelconque des revendications 1 à 4 dans lequel la clé de rechiffrement pour le 7_7:remier utilisateur de l'élément vers Ic dossier du ni,,Tenu hiérarchique dl.etLement Jr est gén cr ap n algorithme ,dc chiffrement publique à un message obUn, partir de l'identifiant privé de l'élément et d'une clé te: e de la clé vée du prerfter utilisateur, en utilisant ;a c|é pvo|ique du premier utilisateur et l'identifiant secret du dossier du ni,,,--au.l-Liéra..-chique .uperieur. 6. Procédé selon l'ur'a que:cenque des revendications 1 dans |eque| la clé de rechiffrement du premier utilisateur vers |c cleqxlerric utillsatcur est généré en appliquant un algorithme de chiffrement à clé pubUque sur un message obtenu partir d'un iciendf(ant secret attribué au dossier cible et de la clé privée du premier utilisateur, en utilisant la clé publique du second utilisateur. 7. Procédé de rechiffrement, par un serveur de stockage d'une arborescence (ARB) de fichiers Ce données etlou de dossiers d'un premier utilisateu:, cette r17!:-bwescence comprenant au moins un dossier Lieue; le premier utilisateur a autorisé un second utilisateur à accéder, le procédé dc rcchiffrernent comprenant, pour chaque fichier de données inclus ou déplacé dans le dossier cible pour lequel un chiffré a été fourni audit serveur de stockage une première étape de rechiffrement (F20-F50) résultant en un premier chiffré du fichier et comprenant : un rechiffrement (F20) du chiffré du fichier fourni au serveur de stockage en utilisant une clé de rechiffrement pour le premier utilisateur de ce fichier vers un dossier d'un niveau hiérarchique directement supérieur de l'arbo..-scev.ce dans lequel est inclus le fichier ; et 0 pour chaque niveau hiérarchique k oe l'arborescence depuis ce niveau hié.rarchique di.ecternent supérieur jusqu'à un niveau hiérarchique directement inférieur au niveau hiérarchique (lu dossier cible, un rechi'Trement (F210) résultant en un chiffré pour le niveau hiérarchique k, d'un chiffré obtenu pour le niveau hiérarchique k-1, ce rechiffrement étant mis en oeuvre en utilisant une clé de rechiffrement pour le premier utilisateur d'un dossier du niveau hiérarchique k vers un dossier du niveau hiérarchique U-1. clans lesquels est inclus le fichier ; le premier chiffré du fichier correspondant au chiffré obtenu pour le niveau hiérarchique directement inférieur au niveau hiérarchique du dossier cible ; et une seconde étape (F70) de rechiffrernent résultant en un second chiffré du fichier comprenant un rechiffrement du premier chiffré avec une clé de rechiffrement pour le dossier cible du premier utHsateur vers le second utilisateur. 8. Procédé de déchiffrement d'un chiffré d'un fichier de données d'une arborescence de fichiers de données et/ou de dossiers d'un premier utilisateur (U1), cette arborescence omprenant au moins un dossier cible contenant le fichierpremier utilisateur a auL)Hs(:- ul second utilisateur à accéder, le procédé de de:hiffrenunt destine i3tre mis en oeuvre par un clisposidfélectroHque (1) du second ut L'.,-I-JtCL.Ir, le chiffré du fichier ayant été i'eurni au dispositf élec.tronique su a Vexécui-ion par un ,7-,erveur stocka,- Lin procédé de rechiffrement selon :a revendication 7;, ledit procédé de déchiffrement comprenant une étape de déchiffrement (G20-G70) de ce chiffré en utilisant une clé privée du second utilisateur. 9. Programme d'ordinateur comportant des instructions pour l'exécution des étapes du procédé de mise à jour selon l'une quelconque des revendications 1 à 6, ou d'un procédé de rechiff,ement selon la revendication 7 ou d'un procédé de déchiffrement selon la revendication 8 lorsque l ogramme est exécuté par un ordinate.u7. 10. SL,ppw-',- d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinai:eur comprenant des instructions pour l'exécution des étapes du procédé de mise à jour selon l'une quelconque des revendications 1 à 6, ou d'un procédé de rechiffrement selon la revendication 7 ou d'un procédé de déchiffrement selon la revendication 11. Dispositif électron!cpe (2) d'un premier utilisateur (U1) apte à mettre à jour une arborescence (ARB) de fichiers de données et/ou de dossiers du premier utilisateur mémorisée dans un serveur de stockage (3) apte à mettre en oeuvre un mécanisme de rechiffrement, cette arborescence comprenant au moins un dossier cible auquel le premier utilisateur a aulrisé un second utilisateur à accéder en fournissant au serveur de stockage une clé de rE3ch:ffrement pour ce dossier cible du premier utilisatc-ur vers le second utilisateur, |c dispositif électronique (2) du premier utilisateur comportant des modules activés pour chaque inclusion ou - p|acement d'un élément dans ce dossier cible, cet élément pouvant être un fichier de données ou un dossier, ces modules comprenant un module de génération d'une clé de rechiffrement pour le premier utilisateur cit. i'élément vers un dossier appartenant à un niveau hiérarchique directement supérieur dans l'arborescence dans lequel est inclus l'élément, cette clé de rechiffrement étant générée à partir d'un identifiant secret de l'élément, d'un identifiant secret attribué au dossier du niveau hiérarchique directement supérieur, et des clés privée et publique du premier utilisateur ; un module de chiffrement de l'élément, activé si l'élément est un fichier de données et apte à utiliser une clé publique du premier utilisateur et l'identifiant secret attribué à l'élément ; etun module u, jour de l'arborescence apte à fournir au serveur de :,-,i:ockege la clé de rechiffrement générée pour le premier utilisateur et si l'élément est un fichier de données, le chiffré de cet élé-ment. 12. 5erveur dc d'une arborescence de fichiers de données et/ou de dossiers d'un premier .)-riprenanit au moins un dossier cible auquel H emieï- ulilisateur a autorisé un second utilL-",:éur à accéder, |e serveur de stocka urnpi-encine uh premier et un second modules de rechiffrement activés pour chaque fichier de données inclus ou -7,éé dans le dossier cible pour lequel un chiffré a été fourni au serveur de stockage, et dans 10 lequel : le premier module de rechiffrement nérerun premier chiffré du fichier en mettant en oeuvre : o un rechiffrement du chiffré du fichier fourni au serveur de stockage en utilisant une clé de rechiffrement pour le premier utilisateur de ce fichier vers un dossier d'un niveau 15 hiérarchique directement supérieur de l'arborescence dans lequel est inclus le fichier ; et o pour chaque niveau hiérarchique k de l'arborescence depuis ce niveau hiérar-chique directement superiéur jusqu'à un niveau hiérarchique directement inférieur au niveau hiérarchique du dossier cible, un rechift7ernent résultant en un chiffré pour le niveau 20 hiérarchique k, d'un chirïré obtenu pmur le niveau hiérarchidu k-1, ce rechiffrement étant mis en oeuvre en utilisant une clé - rechiffrement pour le premier utliSateur d'un dossier du niveau hiérarchique k vers un dossier du niveau hiérarchique k+1 dans lesquels est inclus le fichier ; le premier chiffré du fichier correspondant au chiffré obtenu pour le niveau hiérarchique 25 directement inférieur au niveau hiérarchique du dossier cible ; le second module de n:chift'rement est apte à généré - un second chiffré du fichier en mettant en oeuvre un rechiffrement du premier chiffré avec une clé de rechiffrement pour le dossier cible du premier utilisateur vers le second 30 13. Dispositif électronique (4) comprenant un module de déchiffrement d'un chiffré d'un fichier de données d'une arborescence de fichiers de données et/ou de dossiers d'un premier utilisateur, cette arborescence comprenant au moins un dossier cible contenant le fichier et auquel le premier utiiisateur a autorisé le second utilisateur à accéder, le chiffré du fichier ayant été fourni au dispositif -électronique par un serveur de stockage selon la revendication 12, ledit module de 35 déchiffrement étant apte à déchiffrer ce chiffré en utilisant une clé privée du second utilisateur. 14. Système (1) comprenant : - un dispositif électronique (2) d'un premier utilisateur selon la revendication 11 ;- un serveur de stockage (3) selon la niv:mdication 12 d'une arborescence de fichiers de données et/ou de dossiers du pi-errier :;.;:it_eUi comprenant au moins un dossier cible auquel le premier utilisateur a autorisé un uilisatéur à accéder ; et un dispositif électronique (4) du second . isoteur selon la revendication 13.