Chiffrement par attributs
Le chiffrement par attributs (en anglais : attribute-based encryption ou ABE) est une primitive de chiffrement asymĂ©trique dans lequel la clĂ© de chiffrement dâun utilisateur dĂ©pend dâattributs qui lui sont propres, par exemple: sa position dans une entreprise ou sa nationalitĂ©. Dans ce type de chiffrement, le dĂ©chiffrement du message secret nâest possible que si les attributs de la clĂ© du destinataire correspondent aux attributs du message chiffrĂ©[1]. Le chiffrement par attributs permet la mise en place de contrĂŽle d'accĂšs Ă base de rĂŽles.
Le concept de chiffrement par attributs a été proposé la premiÚre fois par Amit Sahai et Brent Waters[2] et plus tard repris par Vipul Goyal, Omkant Pandey, Amit Sahai et Brent Waters[3]. Depuis 2007, plusieurs chercheurs ont proposé des schémas de chiffrement par attributs utilisant plusieurs autorités pour générer les clés privées des utilisateurs[4] - [5] - [6] - [7] - [8] - [9].
Principes
Le chiffrement par attributs est une généralisation des schémas de chiffrement asymétriques. Dans un schéma chiffrement asymétrique, un message est chiffré pour un destinataire particulier par le biais de sa clé publique.
Dans le cas du chiffrement par attributs, lâidentitĂ© du destinataire est vue comme un ensemble dâattributs. On peut envisager le chiffrement par attributs de deux maniĂšres : par politique dâaccĂšs sur le message chiffrĂ© ou politique dâaccĂšs sur la clĂ©. Dans tous les cas, une nouvelle autoritĂ© est nĂ©cessaire pour gĂ©nĂ©rer les clĂ©s de dĂ©chiffrement, Ă l'aide d'une clĂ© maĂźtresse, qui appartient soit Ă un tiers de confiance, soit Ă l'Ă©metteur des messages chiffrĂ©s.
Description
La formalisation de Boneh, Sahai et Waters[10] sera utilisĂ©e ici. Un chiffrement par attributs est la donnĂ©e de quatre algorithmes efficacesâŻ: (Initialiser, DĂ©river, Chiffrer, DĂ©chiffrer), se comportant comme suit.
- Initialiser, va prendre en entrée un paramÚtre de sécurité écrit en unaire et va délivrer une clé publique pk et une clé maßtresse msk.
- Dériver, qui étant donné un ensemble d'attributs et la clé maßtresse msk, va générer une clé secrÚte pour cet ensemble d'attributs
- Chiffrer, qui partant d'un message M et d'une politique Ï (par exemple une formule boolĂ©enne), va produire un chiffrĂ© CÏ.
- DĂ©chiffrer, qui Ă partir d'une clĂ© secrĂšte , et d'un message chiffrĂ© CÏ sort ou bien un message, ou bien une erreur « ℠».
Associés à ces algorithmes, nous avons différentes notions de sécurité, la premiÚre étant celle d'un schéma de chiffrement classique, construite sur une notion d'indistinguabilité, qui traduit le fait qu'il est difficile de dériver un bit d'information sur le message initial, en faisant varier la puissance de l'attaquant.
Le modÚle décrit ci-dessus est à politique d'accÚs sur les messages chiffrés, puisque l'algorithme qui prend en compte la politique est Chiffrer et non Dériver, pour passer à un modÚle pour une politique d'accÚs sur clés, Chiffrer prend désormais un ensemble d'attributs, et Dériver une politique d'accÚs. Finalement, Déchiffrer n'est censé renvoyer le message initial que si est vérifiée, cela reste inchangé.
Politique dâaccĂšs sur le message chiffrĂ©
La politique dâaccĂšs sur le message chiffrĂ© (en anglais : Ciphertext-policy attribute based encryption (CP-ABE)) consiste Ă dĂ©finir une politique dâaccĂšs dans le message lui-mĂȘme. Un utilisateur doit ĂȘtre capable de dĂ©chiffrer un message si les attributs associĂ©s Ă son identitĂ© correspondent Ă la politique dâaccĂšs dĂ©finie pour le message. Cette politique dâaccĂšs est par exemple un ensemble de conjonctions, disjonctions dâattributs ou la rĂšgle de seuil qui se dĂ©crit comme «âŻau moins attributs parmi âŻÂ» et est associĂ© au message[1].
Exemple
Si lâensemble des attributs est dĂ©fini par : , un message est envoyĂ© avec la politique , un utilisateur qui possĂšde lâattribut peut dĂ©chiffrer le message, alors quâun utilisateur qui possĂšde les attributs ne le peut pas.
Politique dâaccĂšs sur la clĂ©
La politique dâaccĂšs sur la clĂ© (en anglais : Key-policy attribute based encryption (KP-ABE)) est le pendant de la politique dâaccĂšs sur le message chiffrĂ©. Dans ce cas, la politique dâaccĂšs est directement liĂ© Ă la clĂ© secrĂšte.
Exemple
En reprenant les notations prĂ©cĂ©dentes, lâensemble des attributs est dĂ©fini par : , dans ce cas un utilisateur possĂšde une clĂ© avec la politique . Il est capable de dĂ©chiffrer un message chiffrĂ© avec les attributs , mais pas avec les attributs .
RĂ©sistance aux collusions
Un aspect essentiel de la sĂ©curitĂ© du chiffrement par attributs est la rĂ©sistance aux collusions, c'est-Ă -dire que des utilisateurs ne doivent pas ĂȘtre capable de mettre en commun leurs clĂ©s secrĂštes pour dĂ©chiffrer des messages quâaucun dâentre eux nâest capable de dĂ©chiffrer seul. Par exemple, pour le message envoyĂ© avec la politique , un utilisateur possĂ©dant lâattribut et un utilisateur possĂ©dant lâattribut ne peuvent pas mettre en commun leurs informations pour dĂ©chiffrer le message.
Usage
Le chiffrement par attributs est un mĂ©canisme rĂ©cent et nâest pas encore largement rĂ©pandu, mais de nombreuses applications sont possibles. Il peut ĂȘtre utilisĂ© pour le chiffrement des journaux systĂšmes[3] : au lieu de chiffrer un message pour chaque destinataire, le message est chiffrĂ© avec certains attributs ce qui rĂ©duit la quantitĂ© de clĂ©s Ă utiliser.
Le chiffrement par attributs est aussi utile dans un contexte pair-Ă -pair oĂč il nây a pas de serveur central pour gĂ©rer les politiques dâaccĂšs[11].
DĂ©fis
Les recherches actuelles autour du chiffrement par attribut s'axent autour de deux objectifs d'optimisation :
- AmĂ©liorer lâefficacitĂ©, c'est-Ă -dire le temps et la mĂ©moire nĂ©cessaires pour chiffrer/dĂ©chiffrer/dĂ©lĂ©guer. Les mĂ©thodes actuelles utilisant soit des couplages[2], soit des rĂ©seaux euclidiens[12], ne sont pas Ă l'heure actuelle aussi efficaces que les chiffrement sur les courbes elliptiques par exemple.
- AmĂ©liorer lâexpressivitĂ©, c'est-Ă -dire la classe de complexitĂ© des attributs. Informellement, il est plus difficile de rĂ©aliser (Ă efficacitĂ© Ă©quivalente) un chiffrement qui prend en compte une plus large diversitĂ© d'attributs possibles.
- La rĂ©vocation d'attributs, en effet, les privilĂšges des utilisateurs Ă©voluent dans le temps, un utilisateur peut gagner des attributs et en perdre d'autres. La difficultĂ© de mettre Ă jour les clĂ©s des utilisateurs est liĂ©e au fait qu'un mĂȘme attribut peut ĂȘtre partagĂ© par plusieurs utilisateurs en mĂȘme temps, c'est difficile de le rĂ©voquer pour un utilisateur en particulier sans affecter les autres utilisateurs partageant ce mĂȘme attribut. Plusieurs solutions sont proposĂ©es dans la littĂ©rature [13] - [14] - [15] - [16].
Notes et références
- What is Attribute-Based Encryption, Cryptography Stack Exchange Crypto SE (2014)
- Sahai et Waters 2005.
- Vipul Goyal, Omkant Pandey, Amit Sahai and Brent Waters, Attribute-Based Encryption for Fine-Grained Access Control of Encrypted Data ACM CCS (2006)
- Chase 2007.
- Chase et Chow 2009.
- Jung et al. 2013.
- Jung et al. 2015.
- Lewko et Waters 2011.
- MĂŒller, Katzenbeisser et Eckert 2009.
- Boneh, Sahai et Waters 2011.
- Koll, Li et Fu 2014.
- Gorbunov, Vaikuntanathan et Wee 2013.
- L. Touati et Y. Challal, « Mediator-Based Immediate Attribute Revocation Mechanism for CP-ABE in Multicast Group Communications », 2017 IEEE Trustcom/BigDataSE/ICESS,â , p. 309â314 (DOI 10.1109/Trustcom/BigDataSE/ICESS.2017.252, lire en ligne, consultĂ© le )
- L. Touati et Y. Challal, « Instantaneous Proxy-Based Key Update for CP-ABE », 2016 IEEE 41st Conference on Local Computer Networks (LCN),â , p. 591â594 (DOI 10.1109/LCN.2016.100, lire en ligne, consultĂ© le )
- L. Touati et Y. Challal, « Efficient CP-ABE Attribute/Key Management for IoT Applications », 2015 IEEE International Conference on Computer and Information Technology; Ubiquitous Computing and Communications; Dependable, Autonomic and Secure Computing; Pervasive Intelligence and Computing,â , p. 343â350 (DOI 10.1109/CIT/IUCC/DASC/PICOM.2015.49, lire en ligne, consultĂ© le )
- L. Touati et Y. Challal, « Batch-based CP-ABE with attribute revocation mechanism for the Internet of Things », 2015 International Conference on Computing, Networking and Communications (ICNC),â , p. 1044â1049 (DOI 10.1109/ICCNC.2015.7069492, lire en ligne, consultĂ© le )
Annexes
Bibliographie
- [Sahai et Waters 2005] (en) Amit Sahai et Brent Waters, « Fuzzy Identity-Based Encryption », Advances in Cryptology â EUROCRYPT 2005, Springer Berlin Heidelberg, lecture Notes in Computer Science, vol. 3494,â , p. 457â473 (ISBN 978-3-540-25910-7 et 978-3-540-32055-5, ISSN 0302-9743, DOI 10.1007/11426639_27, lire en ligne, consultĂ© le )
- [Chase 2007] (en) Melissa Chase, « Multi-authority Attribute Based Encryption », Theory of Cryptography, Springer Berlin Heidelberg, lecture Notes in Computer Science, vol. 4392,â , p. 515â534 (ISBN 978-3-540-70935-0 et 978-3-540-70936-7, ISSN 0302-9743, DOI 10.1007/978-3-540-70936-7_28, lire en ligne, consultĂ© le )
- [Chase et Chow 2009] Melissa Chase et Sherman S.M. Chow, « Improving Privacy and Security in Multi-authority Attribute-based Encryption », Proceedings of the 16th ACM Conference on Computer and Communications Security, ACM, cCS '09,â , p. 121â130 (ISBN 9781605588940, DOI 10.1145/1653662.1653678, lire en ligne, consultĂ© le )
- [Jung et al. 2013] Taeho Jung, Xiang-Yang Li, Zhiguo Wan et Meng Wan, « Privacy preserving cloud data access with multi-authorities », 2013 Proceedings IEEE INFOCOM,â , p. 2625â2633 (DOI 10.1109/INFCOM.2013.6567070, lire en ligne, consultĂ© le )
- [Jung et al. 2015] Taeho Jung, Xiang-Yang Li, Zhiguo Wan et Meng Wan, « Control Cloud Data Access Privilege and Anonymity With Fully Anonymous Attribute-Based Encryption », IEEE Transactions on Information Forensics and Security, vol. 10,â , p. 190â199 (ISSN 1556-6013, DOI 10.1109/TIFS.2014.2368352, lire en ligne, consultĂ© le )
- [Lewko et Waters 2011] (en) Allison Lewko et Brent Waters, « Decentralizing Attribute-Based Encryption », Advances in Cryptology â EUROCRYPT 2011, Springer Berlin Heidelberg, lecture Notes in Computer Science, vol. 6632,â , p. 568â588 (ISBN 978-3-642-20464-7 et 978-3-642-20465-4, ISSN 0302-9743, DOI 10.1007/978-3-642-20465-4_31, lire en ligne, consultĂ© le )
- [Boneh, Sahai et Waters 2011] (en) Dan Boneh, Amit Sahai et Brent Waters, « Functional Encryption: Definitions and Challenges », Dans les actes de Theory of Computer Science,â
- [Koll, Li et Fu 2014] (en) David Koll, Jun Li et Xiaoming Fu, « SOUP: An Online Social Network by the People, for the People », Proceedings of the 15th International Middleware Conference, ACM, middleware '14,â , p. 193â204 (ISBN 9781450327855, DOI 10.1145/2663165.2663324, lire en ligne, consultĂ© le )
- [Gorbunov, Vaikuntanathan et Wee 2013] (en) Sergey Gorbunov, Vinod Vaikuntanathan et Hoeteck Wee, « Attribute-Based Encryption for Circuits », Dans les actes de Symposium on Theory of Computing,â (lire en ligne)
- [MĂŒller, Katzenbeisser et Eckert 2009] (en) Sascha MĂŒller, Stefan Katzenbeisser et Claudia Eckert, « On Multi-Authority Ciphertext-Policy : attribute-Based Encryption », Bulletin of the Korean Mathematical Society, The Korean Mathematical Society, vol. 46, no 4,â , p. 803â819 (DOI 10.4134/BKMS.2009.46.4.803, rĂ©sumĂ©, lire en ligne [PDF])