Brevet FR3081652A1 — publié le 20191129

METHODE D'ETABLISSEMENT DE CLES POUR LE CONTROLE D'ACCES A UN SERVICE OU UNE RESSOURCE L'invention se situe dans le domaine de la protection des données, et en particulier le domaine de la sécurité dans les réseaux informatiques ou les réseaux de télécommunications à connectivité intermittente, indisponible, ou coûteuse. Des exemples de ces réseaux sont les réseaux à faibles ressources émergents avec des communications machine-à-machine, l'Internet des objets, les réseaux de capteurs sans-fil, et les réseaux véhiculaires, où les dispositifs contraints qui fournissent des ressources ou des services protégés sont déployés et laissés sans surveillance dans des emplacements difficiles d'accès. L'invention s'applique aussi à des réseaux d'urgence pour les systèmes de protection du public et de secours en cas de catastrophe (en anglais, Public Protection and Disaster Relief ou PPDR) quand l'infrastructure des réseaux et des communications n'est plus fiable à cause d'un désastre. Plus précisément, l'invention porte sur une méthode d'établissement de clés permettant le contrôle d'accès à un service ou une ressource en utilisant les mécanismes de chiffrement basés sur les attributs ou ABE 20 ("attribute-based encryption", en anglais). Un des points clés pour garantir la sécurité des applications informatiques est la protection des données sensibles. Les données peuvent être protégées au moyen d'algorithmes cryptographiques de chiffrement de 25 données, nécessitant des clés cryptographiques pour déchiffrer les données. Les clés doivent être distribuées aux utilisateurs autorisés à déchiffrer les données. Pour gérer d'une manière sélective différents types d'utilisateurs qui réalisent différentes tâches sur les données, un contrôle d'accès aux données fin et flexible est nécessaire. Les mécanismes de chiffrement basés 30 sur les attributs permettent de fournir à la fois la confidentialité des données et le contrôle d'accès aux données, en combinant de manière 2 cryptographique les clés de déchiffrement aux permissions d'accès aux données. Les données ainsi chiffrées ne nécessitent pas d'être transmises sur un canal sûr ou d'être stockées dans un serveur de confiance. Pour déchiffrer les données chiffrées, les utilisateurs doivent désormais satisfaire 5 une politique d'accès qui est définie sur des attributs qui peuvent être associés aux utilisateurs des données, aux éléments de données, et à l'environnement. A titre d'exemple, un attribut peut concerner le rôle d'un utilisateur, par exemple sa profession, ou des caractéristiques personnelles de l'utilisateur, par exemple sa fonction ou un niveau de priorité qui lui est 10 assigné pour l'accès aux données sensibles. La publication de Bethencourt et autres [1] décrit une méthode de chiffrement basée sur les attributs particulière, appelée méthode de chiffrement CP-ABE « Ciphertext-Policy Attribute-Based Encryption ». 15 Cette méthode est une construction d'une méthode de chiffrement basée sur les attributs ayant la politique d'accès incorporée dans les données chiffrées et les attributs détenus par les utilisateurs de données. De cette façon, si la politique d'accès change régulièrement, le contrôle d'accès est plus flexible que le schéma de base ABE, puisqu'il est nécessaire seulement de changer la politique d'accès qui sera incorporée dans les données chiffrées, plutôt que de distribuer de nouvelles clés aux utilisateurs. Le document [2] décrit une autre méthode de chiffrement basée sur les attributs, appelée méthode de chiffrement KP-ABE «Key-Policy Attribute- Based Encryption ». Cette méthode utilise un ensemble d'attributs pour décrire la donnée chiffrée et construit la politique de sécurité dans la clé privée de l'utilisateur. Si les attributs de la donnée chiffrée satisfont la structure d'accès définie dans la clé privée de l'utilisateur, l'utilisateur peut déchiffrer la donnée chiffrée. L'algorithme considère principalement trois acteurs : l'expéditeur (p. ex., le propriétaire des données), le récepteur (p. ex. l'utilisateur des données), et l'autorité (également, appelée service de gestion 3 des clés) dont le rôle est de générer les clés publiques et privées du récepteur. Ainsi, seules les personnes qui ont les attributs qui satisfont à la politique d'accès peuvent accéder aux données chiffrées. L'invention est compatible à la fois des méthodes de chiffrement CP5 ABE et KP-ABE. Assurer l'authentification et l'autorisation est primordial pour sécuriser l'accès à des ressources et services protégés. Généralement, les deux fonctions de sécurité sont réalisées en s'appuyant sur une ou plusieurs 10 autorités de confiance en ligne. Les autorités de confiance contrôlent l'accès aux ressources et services conformément à une politique de sécurité, en particulier en participant directement à la procédure d'authentification pour établir un canal sécurisé, ou en distribuant des jetons d'accès temporaires aux utilisateurs autorisés permettant l'accès aux ressources et services. 15 Cependant, l'indisponibilité de ces autorités de confiance ou leurs coûts importants associés rend difficile l'authentification et la mise en application des politiques d'autorisation sur des ressources et services protégés. Tout comme les schémas à clés publiques (p. ex., les signatures 20 numériques) qui peuvent être utilisés comme primitives pour élaborer des protocoles d'authentification sans avoir à recourir à une autorité de confiance en ligne, les schémas de chiffrement à base d'attributs de type ABE peuvent aussi être utilisés pour construire des protocoles d'autorisation, puisque ces schémas permettent à la fois de garantir la confidentialité, mais aussi un 25 contrôle d'accès de granularité fine sur les données chiffrées. Les protocoles d'autorisation basés sur ABE permettent donc de se passer d'une autorité de confiance en ligne. Cependant, ces mécanismes ne permettent pas de sécuriser les échanges confidentiels des utilisateurs d'un même groupe qui partagent les 30 mêmes attributs. Ainsi, plusieurs utilisateurs qui sont autorisés à accéder à 4 une même ressource ou un même service, selon ce mécanisme ABE, ne seront pas protégés en confidentialité les uns vis-à-vis des autres. Il existe des protocoles d'échange de clés de chiffrement conçus en 5 utilisant le mécanisme ABE. Le protocole de Gorantla et autres décrit dans le document [3] permet à un groupe de pairs associés à des ensembles d'attributs satisfaisants à la même politique d'accès, de partager une clé de session. Dans la même optique, le protocole de Steinwandt et autres décrit dans le document [4] permet à un groupe de pairs ayant tous des attributs 10 qui satisfont la même politique de sécurité de partager une clé commune. Un inconvénient commun à ces deux protocoles est que n'importe quel pair qui n'appartient pas au groupe mais qui détient le bon ensemble d'attributs peut récupérer la clé de groupe établie. 15 Le protocole de Kolesnikov et autres décrit dans le document [5] est basé sur des interactions client / serveur qui permettent à un serveur d'établir une clé partagée avec un client uniquement lorsque les attributs de ce dernier satisfont une politique d'accès. Pour ce faire, le protocole combine des notions de chiffrement ABE avec des éléments des circuits brouillés (en 20 anglais, garbled circuits). Le protocole n'utilise pas le chiffrement ABE en soi, mais un nouveau concept, appelé chiffrement sélectif d'attributs, qui permet au client de déchiffrer uniquement les valeurs brouillées des fils d'entrée du circuit brouillé, qui sont associées à ses attributs. Le protocole de Kolesnikov et autres offre des garanties de confidentialité fortes à la fois pour le client et 25 le serveur, y compris la confidentialité des attributs du client et la non associativité (en anglais, unlinkability) de ses sessions. Le protocole vise à cacher l'identité des utilisateurs des données, et nécessite au minimum deux échanges de messages (i.e., 4 messages), sans tenir compte de la phase d'établissement de clés qui est basée sur un protocole de tirage au sort bit- 30 par-bit (en anglais, coin tossing). 5 L'invention propose de résoudre les inconvénients précités en proposant un mécanisme cryptographique basé sur les attributs mais qui comprend en outre un protocole d'échanges de clés permettant de garantir la confidentialité des échanges entre un utilisateur et un fournisseur de 5 services. L'invention apporte plusieurs avantages, notamment en termes de sécurité et de performance. L'invention permet d'établir une clé de session tout en contrôlant l'accès aux ressources et services. L'invention permet de 10 réaliser l'établissement de clés et de contrôler l'accès selon une politique d'accès en un seul échange de messages. Ceci permet de réaliser un contrôle d'accès rapide et avec un coût d'implémentation limité. L'invention permet de dispenser l'utilisateur de s'authentifier et ainsi d'accéder aux ressources ou services d'une manière anonyme (protégeant 15 ainsi la vie privée de l'utilisateur vis-à-vis du fournisseur) mais autorisée. Une variante de l'invention permet à l'utilisateur de vérifier si les ressources ou services accédés sont légitimes en rapport à un ensemble d'attributs ou à une politique d'accès. 20 L'invention a pour objet une méthode, mise en oeuvre par ordinateur, d'établissement d'au moins une clé commune pour le contrôle d'accès à un service ou une ressource proposé par un fournisseur pour des utilisateurs ayant au moins un attribut appartenant à un premier ensemble prédéterminé d'attributs utilisateurs, la méthode étant exécutée par le fournisseur et 25 comprenant les étapes de : - Générer une première clé partielle de fournisseur K1F, - Chiffrer la première clé partielle de fournisseur K1F, à partir d'une clé dérivée dudit premier ensemble d'attributs utilisateurs, - Transmettre, à l'utilisateur, la première clé partielle de fournisseur 30 chiffrée ctF, 6 - Recevoir, de l'utilisateur, une première clé partielle d'utilisateur K1u, - Déterminer, à partir de la première clé partielle d'utilisateur Ki u, une première clé K1DH commune au fournisseur et à l'utilisateur, 5 - Etablir un canal de communication sécurisé entre le fournisseur et l'utilisateur à partir de la première clé K1DH commune. Selon un aspect particulier de l'invention, la première clé partielle d'utilisateur est une clé chiffrée ctu et la méthode comprend en outre une étape de déchiffrer la première clé partielle d'utilisateur chiffrée ctu à partir 10 d'une clé dérivée d'un attribut fournisseur skF que possède le fournisseur. Selon un aspect particulier de l'invention : - la première clé partielle de fournisseur KIF est obtenue (201) à partir d'une opération entre un générateur g d'un groupe et une première variable aléatoire secrète sF du fournisseur et, 15 - la première clé K1DH commune est obtenue (204) à partir d'une opération entre la première clé partielle d'utilisateur Klu et la première variable aléatoire secrète sF du fournisseur. Dans une variante particulière de réalisation, la méthode selon l'invention comprend en outre les étapes de : 20 - Générer une seconde clé partielle de fournisseur K2F et la transmettre à l'utilisateur, - Recevoir, de l'utilisateur, une seconde clé partielle d'utilisateur K2u, - Déterminer, à partir de la seconde clé partielle d'utilisateur K2u, une seconde clé K2DH commune au fournisseur et à l'utilisateur, 25 - Etablir un canal de communication sécurisé entre le fournisseur et l'utilisateur à partir de la première clé K1DH commune et de la seconde clé K2DH commune. Selon un aspect particulier de l'invention : - la première clé partielle de fournisseur KIF est obtenue à partir 30 d'une opération entre un générateur gF d'un premier groupe et une première variable aléatoire secrète sF du fournisseur, 7 _ la première clé K1 DH commune est obtenue à partir d'une opération entre la première clé partielle d'utilisateur Klu et une seconde variable aléatoire secrète x du fournisseur, _ la seconde clé partielle de fournisseur K2F est obtenue à partir 5 d'une opération entre un générateur gu d'un second groupe et la seconde variable aléatoire x secrète du fournisseur et, _ la seconde clé K2DH commune est obtenue à partir d'une opération entre la seconde clé partielle d'utilisateur K2u et la première variable aléatoire secrète sF du fournisseur. 10 L'invention a aussi pour objet une méthode, mise en oeuvre par ordinateur, d'établissement d'au moins une clé commune pour le contrôle d'accès à un service ou une ressource proposé par un fournisseur pour des utilisateurs ayant au moins un attribut appartenant à un premier ensemble 15 prédéterminé d'attributs utilisateurs, la méthode étant exécutée par un utilisateur possédant au moins un attribut utilisateur et comprenant les étapes de : - Générer une première clé partielle d'utilisateur Klu et la transmettre au fournisseur, 20 - Recevoir, du fournisseur, une première clé partielle de fournisseur chiffrée ctF, - Déchiffrer la première clé partielle de fournisseur chiffrée ctF à partir d'une clé dérivée de l'attribut que possède l'utilisateur, pour obtenir une première clé partielle de fournisseur KIF, 25 - Déterminer, à partir de la première clé partielle de fournisseur K1F, une première clé K1DH, K2DH commune au fournisseur et à l'utilisateur, - Etablir un canal de communication sécurisé entre le fournisseur et l'utilisateur à partir de la première clé K1 DH, K2DH commune. 30 8 Dans une variante particulière de réalisation, la méthode selon l'invention comprend en outre une étape de chiffrer la première clé partielle d'utilisateur Klu à partir d'une clé dérivée d'un second ensemble d'attributs fournisseur, avant de la transmettre au fournisseur. 5 Selon un aspect particulier de l'invention : - la première clé partielle d'utilisateur Klu est obtenue à partir d'une opération entre un générateur d'un groupe gF et une première variable aléatoire secrète su,y de l'utilisateur et, - la première clé K1 DH commune est obtenue à partir d'une opération 10 entre la première clé partielle de fournisseur KIF et la première variable aléatoire secrète su,y de l'utilisateur. Dans une variante particulière de réalisation, la méthode selon l'invention comprend en outre les étapes de : - Générer une seconde clé partielle d'utilisateur K2u et la transmettre 15 au fournisseur, - Recevoir, du fournisseur, une seconde clé partielle de fournisseur r\ F, - Déterminer, à partir de la seconde clé partielle de fournisseur K2F, une seconde clé K1 DH commune au fournisseur et à l'utilisateur, 20 - Etablir un canal de communication sécurisé entre le fournisseur et l'utilisateur à partir de la première clé K1DH commune et de la seconde clé K2DH commune. Selon un aspect particulier de l'invention : - la première clé partielle d'utilisateur Klu est obtenue à partir d'une 25 opération entre un générateur gu d'un premier groupe et une première variable aléatoire secrète su de l'utilisateur, - la première clé K2DH commune est obtenue à partir d'une opération entre la première clé partielle de fournisseur KIF et une seconde variable aléatoire secrète y de l'utilisateur, 9 - la seconde clé partielle d'utilisateur K2u est obtenue à partir d'une opération entre un générateur gF d'un second groupe et la seconde variable aléatoire secrète y du fournisseur et, - la seconde clé K1 DH commune est obtenue à partir d'une opération 5 entre la seconde clé partielle de fournisseur K2F et la première variable aléatoire secrète su du fournisseur. Selon un aspect particulier de l'invention, l'opération est un calcul d'exponentiation modulaire et le groupe est un groupe multiplicatif fini. L'invention a aussi pour objet un programme d'ordinateur comportant 10 des instructions pour l'exécution de l'une des méthodes d'établissement d'au moins une clé commune selon l'invention, lorsque le programme est exécuté par un processeur. L'invention a aussi pour objet un support d'enregistrement lisible par un processeur sur lequel est enregistré un programme comportant des 15 instructions pour l'exécution de l'une des méthodes d'établissement d'au moins une clé commune selon l'invention, lorsque le programme est exécuté par un processeur. L'invention a aussi pour objet un dispositif de chiffrement comprenant un calculateur configuré pour exécuter les étapes de l'une quelconque des 20 méthodes d'établissement d'au moins une clé commune selon l'invention. D'autres caractéristiques et avantages de la présente invention apparaîtront mieux à la lecture de la description qui suit en relation aux dessins annexés qui représentent : 25 - La figure 1, un schéma illustrant un protocole de contrôle d'accès par un utilisateur à un service proposé par un fournisseur, selon un premier mode de réalisation de l'invention, - La figure 2, un organigramme des étapes d'une méthode d'établissement de clés de chiffrement, exécutée par le fournisseur, 30 au cours d'un protocole de contrôle d'accès selon le premier mode de réalisation de l'invention, 10 - La figure 3, un organigramme des étapes d'une méthode d'établissement de clés de chiffrement, exécutée par l'utilisateur, au cours d'un protocole de contrôle d'accès selon le premier mode de réalisation de l'invention, 5 - La figure 4, un schéma illustrant un protocole de contrôle d'accès par un utilisateur à un service proposé par un fournisseur et de contrôle de la légitimité du fournisseur, selon un deuxième mode de réalisation de l'invention, - La figure 5, un organigramme des étapes d'une méthode 10 d'établissement de clés de chiffrement, exécutée par le fournisseur, au cours d'un protocole de contrôle d'accès et de contrôle de légitimité selon le deuxième mode de réalisation de l'invention, - La figure 6, un organigramme des étapes d'une méthode d'établissement de clés de chiffrement, exécutée par l'utilisateur, au 15 cours d'un protocole de contrôle d'accès et de contrôle de légitimité selon le deuxième mode de réalisation de l'invention, - La figure 7, un schéma illustrant un protocole de contrôle d'accès par un utilisateur à un service proposé par un fournisseur et de contrôle de la légitimité du fournisseur, selon un troisième mode de réalisation 20 de l'invention, - La figure 8, un organigramme des étapes d'une méthode d'établissement de clés de chiffrement, exécutée par le fournisseur, au cours d'un protocole de contrôle d'accès et de contrôle de légitimité selon le troisième mode de réalisation de l'invention, 25 - La figure 9, un organigramme des étapes d'une méthode d'établissement de clés de chiffrement, exécutée par l'utilisateur, au cours d'un protocole de contrôle d'accès et de contrôle de légitimité selon le troisième mode de réalisation de l'invention. 30 Les figures 1,2 et 3 schématisent un mécanisme de contrôle d'accès selon un premier mode de réalisation de l'invention. 11 L'invention permet à un fournisseur de services ou de ressources de contrôler l'accès à ces services ou ressources par un utilisateur non authentifié. Le contrôle d'accès est réalisé en fonction d'une politique d'accès. Un utilisateur est autorisé s'il possède des attributs qui satisfont la 5 politique d'accès. On rappelle qu'un attribut peut concerner l'utilisateur, les ressources ou services protégés, ou le contexte (p. ex., date, lieu, etc.). La notion d'attribut permet de définir des groupes d'utilisateurs qui possèdent un attribut commun. Chaque utilisateur peut appartenir à un ou plusieurs groupes. Une politique d'accès est définie comme une combinaison de 10 portes logiques de seuil sur des attributs. Un attribut peut être affecté à un utilisateur temporairement ou de façon permanente. A son niveau le plus simple, une politique d'accès peut consister à autoriser l'accès aux individus possédant un attribut prédéterminé. Par exemple, dans le contexte d'un incendie dans un bâtiment intelligent, les primo-intervenants (p. ex. 15 pompiers, police, ...) possède des attributs i.e., des matériels cryptographiques : les attributs « A » leur permettant d'accéder à tout le bâtiment, les attributs « B » permettant de contrôler les actionneurs du système CVC (i.e., chauffage, ventilation et climatisation), et les attributs « C» permettant de réinitialiser le système d'alarme incendie après 20 l'extinction de l'incendie. En revanche, les compagnies d'électricité et d'approvisionnement auront juste les attributs « B » leur permettant de contrôler les actionneurs du système CVC qu'ils gèrent, mais aussi des attributs « D » permettant de lire les compteurs du système CVC à distance. Ce dernier service fournit par système CVC demande des attributs qui 25 vérifient la politique (« B » ET « D »). L'invention se base sur un mécanisme de chiffrement basé sur les attributs. Elle est compatible à la fois d'un mécanisme de chiffrement de type CP-ABE pour lequel un fournisseur contrôle l'accès aux ressources/services 30 qu'il propose selon une politique d'accès, mais aussi d'un mécanisme de chiffrement de type KP-ABE pour lequel un fournisseur contrôle l'accès aux 12 ressources/services qu'il propose directement en fonction d'une liste d'attributs autorisés. Dans ce premier mode de réalisation de l'invention, le fournisseur et 5 l'utilisateur connaissent les paramètres publics du mécanisme de chiffrement ABE utilisé. Par ailleurs, l'utilisateur possède un ensemble de clés secrètes associées à une liste d'attributs qu'il possède (pour un mécanisme de type CP-ABE) ou à une politique de sécurité (pour un mécanisme de type KPABE). 10 Dans la suite de la description, le terme « utilisateur » est utilisé pour désigner un terminal utilisé par un utilisateur pour accéder au service ou à la ressource proposé(e) par le fournisseur. Le terme « fournisseur » est utilisé pour désigner l'équipement qui met en oeuvre le service ou héberge la 15 ressource. Un service peut être un service hébergé sur un serveur distant et proposé par un fournisseur sur Internet. Il peut s'agir d'une application logicielle. Une ressource peut être un calculateur ou un processeur ou une mémoire dans un serveur distant ou sur le terminal de l'utilisateur lui-même. Par exemple, l'invention peut être utilisée pour permettre à un utilisateur de 20 déverrouiller son ordinateur ou pour lui permettre d'accéder à une ressource particulière de la machine qu'il utilise. On décrit à présent, en préalable à la description de l'invention, deux exemples de protocoles d'échanges de clés de chiffrement sur lesquels 25 l'invention peut se baser. Le document [3] introduit un mécanisme d'encapsulation de clés basé sur les attributs avec une politique d'encapsulation (en anglais, encapsulation-policy attribute-based key encapsulation mechanism, ou EPAB-KEM). Un protocole de type EP-AB-KEM est une technique de 30 chiffrement conçue pour générer et sécuriser la transmission d'une clé symétrique par le biais d'algorithmes de chiffrement basés sur les attributs et 13 avec une politique associée au texte chiffré. Un protocole de type EP-ABKEM est composé d'au moins les quatre algorithmes suivants. Un algorithme de configuration, Configuration (12-) (pk,msk) génère une clé publique pk et une clé secrète maître msk, qui sont 5 retournées en sortie. Un algorithme de génération de clés, Génération des clés (msk,S) sk: à partir de la clé secrète maître msk et d'un ensemble d'attributs S associés à un utilisateur, cet algorithme retourne l'ensemble sk des clés correspondant aux attributs dans l'ensemble S. Ces clés sont 10 fournies aux utilisateurs qui possèdent les attributs correspondants. Un algorithme d'encapsulation de clés, Encapsulation (pk, 0 (ct,K) qui génère à la fois une clé aléatoire K comme élément de GT et la même clé chiffrée ct, l'opération de chiffrement étant associée à une politique d'accès F. Les deux sont retournés en sortie. L'opération 15 d'encapsulation comprend donc la génération d'une clé aléatoire et son chiffrement pour produire une clé chiffrée. Un algorithme de décapsulation de clés, Décapsulation (pk, ct, sk) {K',1}. Cet algorithme est exécuté par un utilisateur possédant certains attributs S et les clés secrètes sk associées. Si l'ensemble S des 20 attributs associés à la clé secrète sk ne satisfait pas la politique d'accès utilisée pour chiffrer la clé ct, alors l'algorithme retourne une constante I associée à l'évènement "faux". Autrement dit, cette constante I est retournée par l'algorithme pour signifier que l'utilisateur n'est pas autorisé à accéder aux ressources ou services définis par la politique d'accès. Sinon, il 25 déchiffre ct pour retrouver la clé symétrique K' et la retourner en sortie. Le protocole d'échange de clés proposé dans le document [3] permet à un groupe d'utilisateurs ayant des attributs qui satisfont une politique d'accès donnée, de partager une clé de groupe commune. Le protocole se 30 déroule de la manière suivante. Tout d'abord, chaque utilisateur i exécute 14 l'algorithme d'encapsulation Encapsulation(pk, F) (cti, Ki) pour générer une clé symétrique et son chiffré selon la politique d'accès F, et ensuite diffuse le texte chiffré cti. A la réception d'un texte chiffré cti, chaque utilisateur i exécute l'algorithme de décapsulation Décapsulation(pk, cti, ski) Ki pour 5 retrouver la clé associée en utilisant sa clé secrète ski qui vérifie la politique d'accès. Finalement, chaque utilisateur calcule l'identifiant de la session sid = (cti I ... I ctn) et la clé du groupe composé de n utilisateurs : K = fki(sid) e...e fi(n (sid) où f est une fonction pseudo-aléatoire à clé. 10 Le protocole proposé dans le document [3] est destiné à sécuriser les communications de groupe et n'offre pas une solution permettant un contrôle d'accès individuel et protégé en confidentialité vis-à-vis d'autres utilisateurs ayant des attributs satisfaisant la politique d'accès associée aux communications protégées, ainsi que vis-à-vis de l'autorité de séquestre qui 15 génère les clés secrètes ABE. Un autre exemple de protocole de type EP-AB-KEM est dérivé du schéma de Waters décrit dans le document [6]. Dans cet exemple, le protocole est composé des algorithmes suivants par défaut avec une 20 variation apportée aux paramètres de sortie de l'algorithme d'encapsulation. Un algorithme de configuration Configuration (12-) (pk,rnsk): cet algorithme définit trois groupes G1, G2, et GT d'ordre premier p = 0(4 avec G1 et G2 ayant respectivement deux générateurs P et Q, et supportant une application bilinéaire non dégénérée, efficace et calculable e : G1 X G2 -> 25 GT. L'algorithme choisit deux valeurs aléatoires a,a E Ep, ainsi qu'un ensemble d'éléments aléatoires Hl, H2,.., Hu E G1 qui seront associés à l'ensemble de U attributs. Par la suite, l'algorithme calcule une clé publique pk = (P, Q, a. P, e(P, Q)", Hi, .., Hu) et une clé secrète maître msk = (a. P), qui sont retournées en sortie. 15 Un algorithme de génération de clés Génération des clés (msk,S) sk: cet algorithme choisit une valeur aléatoire t E Ep. Ensuite, à partir de la clé secrète maître msk et d'un ensemble d'attributs S associés à un utilisateur, l'algorithme calcule K = a. P + t. (a. P), L = t. Q, et vy E S 5 U: Ky = t. Hy comme étant la clé secrète sk qui est retournée en sortie. Un algorithme d'encapsulation de clés, Encapsulation (pk, 0 (ct, s): cet algorithme convertit la politique d'accès en une matrice MSP (en anglais, Monotone Span Program), (M, p), où p est une fonction qui fait correspondre chaque ligne de la matrice M à un attribut de U. Un exemple de techniques 10 de conversion est décrit dans l'annexe G du document [7]. Pour une matrice M de m lignes et d colonnes, l'algorithme choisit les valeurs aléatoires 'Y2' ..., yd, ri, .., rn, E Ep . Considérant le vecteur v = (s, y2, ..., yn,), l'algorithme calcule vl i m: Ili = où (M)i est la iième ligne de M et dénote un produit scalaire. Ensuite, l'algorithme calcule C' = s. Q et vl REVENDICATIONS1. Méthode, mise en oeuvre par ordinateur, d'établissement d'au moins une clé commune pour le contrôle d'accès à un service ou une ressource proposé par un fournisseur pour des utilisateurs ayant au moins un attribut appartenant à un premier ensemble prédéterminé d'attributs utilisateurs, la méthode étant exécutée par le fournisseur et comprenant les étapes de : - Générer (201) une première clé partielle de fournisseur KIF, - Chiffrer (201) la première clé partielle de fournisseur K1F, à partir d'une clé dérivée dudit premier ensemble d'attributs utilisateurs, - Transmettre (202), à l'utilisateur, la première clé partielle de fournisseur chiffrée ctF, - Recevoir (203), de l'utilisateur, une première clé partielle d'utilisateur Klu, - Déterminer (204), à partir de la première clé partielle d'utilisateur Klu, une première clé K -1DH commune au fournisseur et à l'utilisateur, - Etablir (205) un canal de communication sécurisé entre le fournisseur et l'utilisateur à partir de la première clé K1 pH commune. 2. Méthode d'établissement d'au moins une clé commune selon la revendication 1 dans laquelle la première clé partielle d'utilisateur est une clé chiffrée ctu et la méthode comprend en outre une étape de déchiffrer (501) la première clé partielle d'utilisateur chiffrée ctu à partir d'une clé dérivée d'un attribut fournisseur skF que possède le fournisseur. 3. Méthode d'établissement d'au moins une clé de commune selon l'une des revendications 1 ou 2 dans laquelle : 31 _ la première clé partielle de fournisseur KIF est obtenue (201) à partir d'une opération entre un générateur g d'un groupe et une première variable aléatoire secrète sF du fournisseur et, _ la première clé K1DH commune est obtenue (204) à partir d'une 5 opération entre la première clé partielle d'utilisateur Klu et la première variable aléatoire secrète sF du fournisseur. 4. Méthode d'établissement d'au moins une clé commune selon l'une des revendications 1 ou 2 comprenant en outre les étapes de : 10 - Générer (801) une seconde clé partielle de fournisseur K2F et la transmettre (202) à l'utilisateur, - Recevoir (203), de l'utilisateur, une seconde clé partielle d'utilisateur K2u, - Déterminer (802), à partir de la seconde clé partielle d'utilisateur 15 K2u, une seconde clé K2DH commune au fournisseur et à l'utilisateur, - Etablir (804) un canal de communication sécurisé entre le fournisseur et l'utilisateur à partir de la première clé K1DH commune et de la seconde clé K2DH commune. 20 5. Méthode d'établissement d'au moins une clé commune selon la revendication 4 dans laquelle : - la première clé partielle de fournisseur KIF est obtenue (201) à partir d'une opération entre un générateur gF d'un premier groupe 25 et une première variable aléatoire secrète sF du fournisseur, - la première clé K1DH commune (803) est obtenue à partir d'une opération entre la première clé partielle d'utilisateur Klu et une seconde variable aléatoire secrète x du fournisseur, - la seconde clé partielle de fournisseur K2F est obtenue (801) à 30 partir d'une opération entre un générateur gu d'un second groupe et la seconde variable aléatoire x secrète du fournisseur et, 32 - la seconde clé K2DH commune est obtenue (802) à partir d'une opération entre la seconde clé partielle d'utilisateur K2u et la première variable aléatoire secrète sF du fournisseur. 5 6. Méthode, mise en oeuvre par ordinateur, d'établissement d'au moins une clé commune pour le contrôle d'accès à un service ou une ressource proposé par un fournisseur pour des utilisateurs ayant au moins un attribut appartenant à un premier ensemble prédéterminé d'attributs utilisateurs, la méthode étant exécutée par un utilisateur possédant au 10 moins un attribut utilisateur et comprenant les étapes de : - Générer (301) une première clé partielle d'utilisateur Klu et la transmettre (302) au fournisseur, - Recevoir (303), du fournisseur, une première clé partielle de fournisseur chiffrée ctF, 15 - Déchiffrer (304) la première clé partielle de fournisseur chiffrée ctF à partir d'une clé dérivée de l'attribut que possède l'utilisateur, pour obtenir une première clé partielle de fournisseur K1F, - Déterminer (305), à partir de la première clé partielle de fournisseur K1F, une première clé K . .1DH, K2DH commune au 20 fournisseur et à l'utilisateur, - Etablir (306) un canal de communication sécurisé entre le fournisseur et l'utilisateur à partir de la première clé K1DH, K2DH commune. 25 7. Méthode d'établissement d'au moins une clé commune selon la revendication 4 comprenant en outre une étape de chiffrer (601) la première clé partielle d'utilisateur Klu à partir d'une clé dérivée d'un second ensemble d'attributs fournisseur, avant de la transmettre au fournisseur. 30 33 8. Méthode d'établissement d'au moins une clé commune selon l'une des revendications 6 ou 7 dans laquelle : - la première clé partielle d'utilisateur Klu est obtenue (301) à partir d'une opération entre un générateur d'un groupe gF et une 5 première variable aléatoire secrète su,y de l'utilisateur et, - la première clé K1DH commune est obtenue (305) à partir d'une opération entre la première clé partielle de fournisseur KIF et la première variable aléatoire secrète su,y de l'utilisateur. 10 9. Méthode d'établissement d'au moins une clé commune selon l'une des revendications 6 ou 7 comprenant en outre les étapes de : - Générer (901) une seconde clé partielle d'utilisateur K2u et la transmettre au fournisseur, - Recevoir (303), du fournisseur, une seconde clé partielle de 15 fournisseur K2F, - Déterminer (902), à partir de la seconde clé partielle de fournisseur K2F, une seconde clé K1DH commune au fournisseur et à l'utilisateur, - Etablir (903) un canal de communication sécurisé entre le 20 fournisseur et l'utilisateur à partir de la première clé K1DH commune et de la seconde clé K2DH commune. 10. Méthode d'établissement d'au moins une clé commune selon la revendication 9 dans laquelle : 25 - la première clé partielle d'utilisateur Klu est obtenue (301) à partir d'une opération entre un générateur gu d'un premier groupe et une première variable aléatoire secrète su de l'utilisateur, - la première clé K2DH commune est obtenue (305) à partir d'une opération entre la première clé partielle de fournisseur KIF et une 30 seconde variable aléatoire secrète y de l'utilisateur, 34 - la seconde clé partielle d'utilisateur K2u est obtenue (901) à partir d'une opération entre un générateur gF d'un second groupe et la seconde variable aléatoire secrète y du fournisseur et, - la seconde clé K1DH commune est obtenue (902) à partir d'une 5 opération entre la seconde clé partielle de fournisseur K2F et la première variable aléatoire secrète su du fournisseur. 11. Méthode d'établissement d'au moins une clé commune selon l'une des revendications 3,5,8 ou 10 dans laquelle l'opération est un calcul 10 d'exponentiation modulaire et le groupe est un groupe multiplicatif fini. 12. Programme d'ordinateur comportant des instructions de code de programme pour l'exécution des étapes de l'une quelconque des méthodes d'établissement d'au moins une clé commune selon l'une des 15 revendications 1 à 11, lorsque ledit programme est exécuté par un processeur. 13.Support d'enregistrement lisible par un processeur sur lequel est enregistré un programme comportant des instructions pour l'exécution 20 des étapes de l'une quelconque des méthodes d'établissement d'au moins une clé commune selon l'une des revendications 1 à 11, lorsque le programme est exécuté par un processeur. 14. Dispositif de chiffrement comprenant un calculateur configuré pour 25 exécuter les étapes de l'une quelconque des méthodes d'établissement d'au moins une clé commune selon l'une quelconque des revendications 1 à11. 30