Accueil Cybersécurité Avis d’expert – Le chiffrement homomorphe, ou comment effectuer des traitements sur des données...

Avis d’expert – Le chiffrement homomorphe, ou comment effectuer des traitements sur des données chiffrées

Et si les serveurs de votre fournisseur pouvaient effectuer vos traitements sans avoir à déchiffrer vos données ? C’est la promesse du chiffrement homomorphe, sur lequel d’énormes progrès ont été réalisés ces dernières années et qui s’annonce déjà comme la prochaine révolution en matière de sécurité. Le sujet est développé par Etienne de Séréville, Officier Central de Sécurité chez IBM France, en charge des Relations Institutionnelles Cyber. 

Concernant la protection des données dans les Clouds, nous observons couramment le schéma suivant : les données que vous utilisez sont stockées sur les serveurs d’un fournisseur Cloud où elles sont chiffrées pour des raisons de sécurité. Pour les exploiter au quotidien, vous téléchargez en local vos données chiffrées, les déchiffrez sur votre poste, travaillez avec, puis rechiffrez le résultat pour le renvoyer vers votre service de stockage. Un temps conséquent est consommé en transfert et en traitement intermédiaire.

Le chiffrement homomorphe est un cryptosystème qui permet d’effectuer des traitements sur des données chiffrées et d’obtenir exactement les mêmes résultats que s’ils avaient été effectués sur les données en clair. L’intérêt est limpide : il s’agit de permettre de déporter des traitements vers une entité externe (fournisseur spécialisé, service Cloud…) sans aucun risque pour la sécurité et la confidentialité, ce « prestataire » n’ayant à aucun moment accès aux données déchiffrées.

L’idée n’est pas nouvelle : elle a été énoncée pour la première fois en 1978 par trois chercheurs : Ron Rivest et Leonard Adleman (à l’origine du chiffrement RSA – pour Rivest Shamir Adleman – le chiffrement le plus utilisé sur Internet, excusez du peu) ainsi que Michael Dertouzos dans un article intitulé « On data banks and privacy homomorphisms ». Leur proposition initiale, dont la mise en œuvre est restée limitée par les moyens technologiques et les savoirs de l’époque, est restée cantonnée aux laboratoires de recherche jusqu’en 2009. Un certain Craig Gentry, alors doctorant à l’Université de Stanford et aujourd’hui chercheur au centre Thomas Watson d’IBM, présente alors dans sa thèse intitulée « Fully Homomorphic Encryption Using Ideal Lattices », un système qui a posé les bases théoriques de toutes les recherches actuelles sur le sujet.

Un « proof of concept » grandeur nature

Aujourd’hui, le chiffrement homomorphe – ou plutôt, pour être précis, « totalement homomorphe » (appelé FHE, pour fully homomorphic encryption en anglais), par opposition aux systèmes précédents dits « partiellement homomorphes » (ou PHE, partially homomorphic encryption) et « presque homomorphes » (SHE, somewhat homomorphic encryption) – est une réalité.

En 2020, un PoC a été réalisé avec la banque brésilienne Bradesco, la deuxième d’Amérique du Sud : l’objectif était de coupler FHE et intelligence artificielle pour analyser en toute sécurité les données des clients afin de prédire ceux qui pourraient avoir besoin d’un prêt dans les mois à venir. Les chercheurs ont ainsi démontré qu’ils pouvaient réaliser ces prévisions avec la même précision que si les modèles de machine learning mis en œuvre avaient travaillé sur les données non chiffrées.

Ce POC a démontré deux choses. Premièrement, que le FHE est particulièrement adapté aux secteurs très réglementés, comme la finance ou encore la santé, et qu’il devrait rapidement s’étendre à toutes les applications nécessitant l’externalisation des calculs vers le Cloud ou un exploitant tiers, tout en préservant une sécurité et une confidentialité absolue des données. Par exemple, l’initiative iDASH, qui vise à développer les techniques permettant d’assurer la confidentialité dans la recherche sur le génome humain, s’intéresse de très près au FHE. On pourrait aussi imaginer un système centralisé pour le dépouillement des votes électroniques.
Deuxièmement, nous disposons maintenant des ressources logicielles adaptées pour une mise en œuvre fonctionnelle, y compris en production. La voie est donc ouverte pour une adoption à grande échelle.

Une boîte à outils open source pour les développeurs et un effort de standardisation

Le FHE reste malgré tout compliqué à mettre œuvre car il requiert de la part des développeurs un véritable changement de paradigme dans la façon d’écrire leur code. Coder un algorithme sans connaître le détail des données qu’il traite est un exercice très différent.

Des « boîtes à outils » du FHE existent pour cela, dont la nôtre, qui devraient aider les développeurs à l’intégrer dans leurs applications. Fondée sur les bibliothèques HELib et NTL, très prisées des développeurs, elle est disponible en open source sur Github pour les systèmes d’exploitation Linux, MacOS et iOS. Une quatrième déclinaison pour Android est en cours d’élaboration.

L’initiative Homomorphic Encryption Standardization est également une bonne source d’information sur le sujet. Ce consortium, composé d’entreprises très diverses de nombreux secteurs, d’entités gouvernementales dont les Nations Unies, et d’universités internationales (Boston, Toronto, Séoul…), a pour objectif de standardiser le chiffrement homomorphe sur les aspects de sécurité, d’APIs et des applications.