Sergey Nivens - Fotolia
Bien comprendre le chiffrement homomorphe
Le chiffrement homomorphe est une technique permettant d’effectuer des traitements sur des données chiffrées sans qu’elles soient exposées en clair. Des experts d’IBM évaluent les avantages et inconvénients de la méthode entrée dans une première phase d’adoption.
« Nous trouvons de plus en plus de données sensibles et personnelles dans le cloud. De même, les cas d’usage analytiques sont prévalents dans toutes les entreprises », déclare Mike Chapman, Cybersecurity Associate Practice Leader Software chez IBM France.
« Il faut donc assurer la protection, la conformité de ces données tout en respectant les régulations. Problème, le cloud demeure un environnement non fiable », souligne-t-il lors d’une conférence à Big Data AI Paris 2022.
Les fournisseurs offrent un premier niveau de réponse. Le chiffrement doit permettre à leurs clients de renforcer la protection des données au repos et en transit. « Ces techniques sont matures, maîtrisées, mais cela ne répond pas à toutes les problématiques », prévient l’associé chez IBM.
En effet, même dans le meilleur des cas, quand la gestion des clés est maîtrisée, les données sont en clair au cours de leur traitement en mémoire.
Outre des craintes « d’espionnage » que les fournisseurs cloud tentent de désamorcer, cela pose un problème de sécurité évident. Si le serveur, la machine virtuelle ou le conteneur où est effectué le traitement est compromis, les données peuvent être exfiltrées ou chiffrées par un acteur malveillant. Cela reste vrai même si l’entreprise a fait le choix de recourir au BYOK (Bring Your Own Key) avec une solution matérielle et logicielle qui n’est pas pilotée par le fournisseur de cloud.
Pour résoudre cette difficulté, plusieurs techniques ont émergé. Elles sont associées au domaine de l’informatique confidentielle.
Mike Chapman évoque notamment la technique Format Preserving Encryption (FPE) permettant de chiffrer des données sans en changer le format au sein même des data store. Dans ce cadre, la chaîne de caractère chiffrée conserve la même longueur que l’information que l’on souhaite protéger, mais reste lisible pour un humain. Par exemple, les numéros de carte bancaire dans une table seront remplacés par d’autres, factices.
Malheureusement, FPE présente trois défauts majeurs. Il est possible d’identifier des singularités dans un jeu de données, de combiner des données présentes dans ce data set, pour reconstituer l’information recherchée (par exemple l’identité d’une personne). Enfin, un attaquant peut agir par inférence, s’il dispose déjà des informations sur la donnée qu’il recherche.
Deux autres techniques sont particulièrement en vogue. La première repose sur des enclaves sécurisées (TEE), isolées du reste du processeur, qui permettent de gérer des clés de chiffrement non exportables visant à chiffrer les données présentes au sein de VM et de conteneurs lors des traitements. Cette technique est de plus en plus maîtrisée par les équipementiers, les éditeurs et les fournisseurs cloud.
La seconde fait encore l’objet d’une recherche active, mais connaît ses premiers usages en production : la méthode de chiffrement homomorphique.
Qu’est-ce que le chiffrement homomorphe ?
Le chiffrement homomorphe correspond à une particularité des systèmes de cryptographie asymétrique.
La terminologie fait référence à un algorithme disposant de capacités algébriques permettant d’appliquer des traitements arbitraires sur des données déjà chiffrées, sans avoir à les dévoiler ni à accéder à la clé privée.
En l’occurrence, une méthode de chiffrement est dite homomorphique quand le résultat déchiffré d’un traitement effectué sur des données chiffrées est identique à celui obtenu à partir de la même opération effectuée sur des données non chiffrées.
Il existe plusieurs formes ou schémas de chiffrement homomorphe, suivant si l’algorithme peut gérer la commutativité de certaines opérations mathématiques. Par exemple, le standard RSA, dédié aux clés publiques, est reconnu comme partiellement homomorphe puisque seules les multiplications sont concernées par cette particularité.
Dès 2009, l’informaticien Craig Gentry, alors chercheur chez IBM, a théorisé la faisabilité d’un chiffrement entièrement homomorphe (Fully Homomorphic Encryption ou FHE). En 2012, IBM a breveté une technologie basée sur ce principe. La quatrième génération de ce type de chiffrement a été introduite aux alentours de 2016. De nombreuses startups et entreprises se penchent sur le sujet. Plusieurs schémas FHE – ou méthodes de chiffrement totalement homomorphes – sont désormais disponibles.
Comment fonctionne le chiffrement homomorphe ?
Dans un scénario traditionnel de chiffrement asymétrique, un système chiffre les données à envoyer vers une autre instance avec une clé publique. Cette instance déchiffre les données à l’aide d’une clé privée, le destinataire effectue un traitement en clair, chiffre les données avec la clé publique, puis renvoie le tout à l’expéditeur. Cette gestion est souvent effectuée depuis un HSM et un KMS.
Le chiffrement homomorphe est particulièrement indiqué dans le cas d’usage de débord dans le cloud. Dans ce cas, l’infrastructure sur site est présentée comme la zone de confiance, tandis que le cloud est un domaine « non fiable ».
Alors que le chiffrement FPE peut s’appliquer au niveau d’une cellule ou d’une colonne, la méthode homomorphique est exécutée sur un jeu de données.
Selon Joseph Salameh, Data and Application Security Competency Leader chez IBM France, il faut d’abord réunir les équipes de sécurité et les data analysts pour développer la « fonction alternative », c’est-à-dire le traitement que l’on souhaite effectuer sur les données chiffrées.
Puis, il s’agit de combiner un HSM avec un moteur de chiffrement FHE « afin de chiffrer toutes les données à la sortie du domaine de confiance », indique Joseph Salameh. « Ainsi, les données qui entrent dans le domaine “non fiable” sont sécurisées ».
Plus précisément, le jeu de données et le calcul à effectuer sont chiffrés par le moteur de chiffrement FHE. Quand celui-ci chiffre les données, il utilise une clé publique transmise par un HSM. Une autre clé publique protège la fonction (le traitement) qui sera exécutée par un moteur de calcul FHE implémenté dans le cloud.
Ce moteur de calcul produit un résultat lui aussi chiffré. Ce résultat est renvoyé vers le domaine de confiance. Le HSM est appelé pour enclencher la clé privée qui déchiffrera le résultat, permettant de le consulter en clair.
« Les données, le calcul, ainsi que le résultat ne sont jamais déchiffrés dans le domaine non fiable », souligne Joseph Salameh.
Quels sont les cas d’usage du chiffrement totalement homomorphe ?
IBM perçoit quatre grands cas d’usage de cette méthode de chiffrement homomorphique. D’ailleurs, le géant de l’IT a déjà accompagné des clients dans leur mise en place.
Mike ChapmanCybersecurity Associate Practice Leader Software, IBM France
« Nous avons déjà accompagné des entreprises en Europe en provenance des secteurs de la distribution, de la Finance et des télécoms. Elles expérimentent et mettent en place en production ces cas d’usage », affirme Mike Chapman.
Analytiques sur des données chiffrées
Selon Joseph Salameh, il est possible d’utiliser le chiffrement FHE pour sécuriser les consolidations et les traitements de données entre entités d’un même groupe. Le responsable estime qu’une équipe marketing peut lancer une campagne « sans avoir accès aux données personnelles des clients ».
« De même, pour le partage des données entre pays, avec cette méthode, l’on peut très bien permettre l’externalisation des données de manière sécurisée », note-t-il.
Recherche et mise en correspondance des données
Ici, il s’agit d’identifier si un enregistrement est bien présent dans une liste de données chiffrées. Il est également possible de comparer le contenu de deux listes. « Par exemple, une banque peut vouloir analyser le statut de son client pour savoir s’il a déjà été condamné ou suspecté de fraudes par un autre établissement bancaire », illustre Joseph Salameh.
IA et Machine Learning
Toujours selon IBM, le chiffrement totalement homomorphique est de plus en plus compatible avec le machine learning et les réseaux de neurones. « Chez IBM, nous avons mené un projet NLP chez un de nos clients européens où nous avons connecté tous les appels de support pour effectuer du speech to text », raconte Joseph Salameh. « Le jeu de données a ensuite été traité pour analyser les sentiments des clients, le tout en appliquant notre architecture FHE ».
Chiffrement des données biométriques et analyse des comportements
Dans ce cas, il s’agit de protéger les données biométriques et les cas d’usage d’analyse comportementale côté serveur.
Habituellement, cela présente un « risque énorme » pour l’entreprise qui met un tel cas d’usage en place, prévient Joseph Salameh. « Les données biométriques doivent être stockées en local, ce qui réclame une expertise en cybersécurité importante pour éviter les fuites ».
Là encore, il est possible de mettre en correspondance des empreintes digitales ou des signaux sans qu’un opérateur ait accès aux informations.
Ce cas d’usage a été testé par des chercheurs australiens.
Avantages et limites du FHE
Justement, ces différents cas d’usage permettent d’identifier les avantages et les limites du chiffrement totalement homomorphe.
« Le fait que le chiffrement homomorphe repose sur des clés assez longues permet de respecter les critères de la cryptographie post quantique », note le consultant IBM.
Toutefois, il s’agit de trouver un compromis entre sécurité, précision et performance qui implique d’injecter « du bruit » dans la clé qui protège les calculs. « Problème, quand nous effectuons des opérations de multiplication, le bruit s’accroît de manière exponentielle », prévient Mike Chapman.
« Plus il y a d’opérations, plus la clé est complexe, plus elle est difficile à gérer », résume Joseph Salameh.
Mais deux freins majeurs expliquent le fait que cette technique ne soit pas largement répandue : les performances et la difficulté d’utilisation, résume Big Blue.
Les chercheurs australiens précisent que le processus comprenant la génération des clés, le chiffrement et l’authentification – après avoir apposé son empreinte sur l’appareil lecteur d’empreintes – prend plus de six minutes. Difficile de demander à un usager, habitué au déverrouillage instantané de son smartphone, de poser son doigt plusieurs minutes sur un capteur, même pour des raisons de sécurité.
Joseph SalamehDAS Competency Leader chez IBM France
« Avec le chiffrement homomorphe, le temps de traitement peut être multiplié par deux à cent fois par rapport à une tâche effectuée en clair », reconnaît Joseph Salameh. « Pour certains cas d’usage, par exemple dans une base de données, l’impact est faible ».
Pour IBM, la difficulté d’utilisation est principalement liée au manque d’experts FHE qui peuvent accompagner les entreprises.
« C’est un problème historique », précise Mike Chapman. « Il fallait utiliser directement les bibliothèques FHE comme HElib et donc avoir un niveau avancé. Aujourd’hui, il y a des couches et des IDE qui permettent de faire abstraction d’une partie des technologies sous-jacentes ».
Il y a une autre difficulté, cette fois-ci liée à la longueur des clés. « Les clés FHE sont trop longues pour être chiffrées et stockées nativement par un KMS ou HSM », ajoute Mike Chapman. « Désormais, il y a des techniques établies sur des racines stockées dans le HSM pour générer et reconstituer les clés homomorphes ».
Cette longueur explique également le temps de traitement, mais « les choses évoluent rapidement », considère l’expert chez IBM.
Ces évolutions dépendront, selon Mike Chapman, des différents POC et cas d’usage testés par les entreprises. Ils détermineront les optimisations à venir de la technologie.
En la matière, des chercheurs de l’université de technologie de Delft, aux Pays-Bas, ont récemment mis au point une technique pour réduire la taille des clés générées et exécuter le chiffrement homomorphe depuis des puces FPGA, en vue de protéger des installations industrielles comme des barrages hydroélectriques.
Reste une problématique difficile à anticiper : les potentielles attaques visant les schémas de chiffrement homomorphe. En mars 2021, des chercheurs ont prouvé qu’il était possible de mettre à mal CKKS, un schéma de chiffrement homomorphe pour l’arithmétique sur les nombres approximatifs. « L’attaque est théoriquement efficace et très pratique, conduisant à une récupération complète des clés avec une probabilité élevée et des temps d’exécution très modestes », notaient-ils.