Pourquoi les tests de chiffrement entièrement homomorphes passionnent

Depuis un an, on entend beaucoup parler d'algorithmes de chiffrement entièrement homomorphes. Quelle est cette technologie ? Quelle est son utilité ? En quoi pourrait-elle se révéler révolutionnaire ? Le point.

Au milieu de l’intense couverture médiatique de la pandémie de Covid-19, une annonce a peut-être échappé au grand public. Peu relayée, elle n’en ouvre pas moins de formidables perspectives. Début juin, IBM déclarait avoir bouclé avec succès ses essais pratiques d’un "algorithme de chiffrement entièrement homomorphe".

Si, comme beaucoup, on a enfin réussi à appréhender la cryptographie à clé publique, on peut se demander alors ce qu’est le chiffrement homomorphe.  Même en ayant une vague idée de ce que recouvre l’annonce d’IBM, l'importance d’une telle découverte nous échappe encore un peu… et pourtant, cela pique notre curiosité.

Dans cet article nous proposons une explication claire du chiffrement homomorphe, son utilité et en quoi il pourrait se révéler révolutionnaire pour de nombreuses structures qui cherchent à pouvoir travailler de manière sûre et sécurisée avec les données.

Qu’est-ce que le chiffrement entièrement homomorphe ?

Le chiffrement homomorphe correspond à un type de chiffrement spécifique parmi les nombreux types d’algorithmes cryptographiques. Les données chiffrées par des systèmes homomorphes présentent des attributs très particuliers. Pour faire simple, le chiffrement entièrement homomorphe (que nous appellerons désormais FHE, de l’anglais Fully Homomorphic Encryption) conserve la relation entre les parties d'un ensemble de données, de sorte que les points de données peuvent être traités par une tierce partie sans être déchiffrés. 

Prenons un exemple : soit un (très) petit ensemble de données qui ne comporte que trois points de données — le 2, 3 et 7. Si un utilisateur chiffre ce corpus avec un algorithme FHE, qu’il envoie les trois valeurs chiffrées à une tierce partie et qu’il lui demande de les traiter, il obtiendra une valeur qu’il pourra déchiffrer et qui sera correcte. Si l’utilisateur demande à cette tierce partie d'additionner la première et la deuxième valeur, puis de multiplier le résultat par la troisième valeur et de lui renvoyer le résultat, il peut alors déchiffrer ce résultat, et il obtiendra 35.

En quoi est-ce important ?

On pourrait penser, à première vue, que seuls des marchés de niche pourraient s'intéresser à la valeur ajoutée qu’offre le FHE. En réalité, la possibilité de travailler sur des données de tiers sans les déchiffrer présente d’énormes avantages pour de nombreuses entreprises. 

Au niveau le plus élémentaire, le FHE résout le "problème de l'administrateur système". Si l’on effectue ses calculs sur un système géré par un tiers, les opérateurs titulaires des privilèges racine chez ce tiers peuvent généralement accéder aux données, mais pas nous. Le chiffrement des données au repos empêche tout accès aux données en dehors des calculs effectués à ce moment précis. Mais, s’il dispose des privilèges racine, un opérateur système peut analyser ou modifier le contenu de la mémoire vive afin d’accéder aux données pendant leur exploitation.

Avec le FHE, on peut effectuer ces calculs sans que les données ne soient jamais exposées au système à distance. Cela résout manifestement une bonne fois pour toutes le "problème de l’administrateur système". Dès lors que la machine n’a jamais accès aux données déchiffrées, les opérateurs n’y ont pas accès non plus.

Ce point revêt une importance particulière étant donné la complexité croissante avec laquelle les données ainsi que les contrats de collecte, stockage et traitement de ces données sont gérés. Nous sommes à l’orée d’un monde où l’acquisition et le traitement des données seront majoritairement sous-traités à des tiers. Problème : dans un tel monde, il est de plus en plus complexe de garantir la sécurité des systèmes de données.

Avant d'aller plus loin, prenons les trois états de données possibles : les données en transit, les données au repos et les données en cours d'utilisation. Au cours des dernières décennies, les protocoles de chiffrement intégrés aux VPN à bas prix, au HTTPS et au TLS ont pu assurer la protection des données en transit et au repos. Mais, pour les données en cours d’utilisation, c’est une autre histoire.

Une confirmation de la faisabilité du FHE et la généralisation de cette technologie permettraient d’améliorer considérablement la protection des données en cours d’utilisation. Les données pourraient être transmises et utilisées par des dizaines, voire des centaines, de prestataires sans que personne d’autre que leur propriétaire ne puisse y accéder.

Les limites

Cela dit, le système FHE testé par IBM présente de sérieux inconvénients qui pourraient freiner sa généralisation, du moins pour le moment.

Certaines de ces limites sont communes à tout système FHE, et probablement à tout système visant à permettre le traitement de données chiffrées par des tiers. Ainsi, un prestataire qui aurait accès à des volumes suffisants de données, même chiffrées, pourrait, s'il en possède les capacités, décortiquer le système de chiffrement par rétro-ingénierie. C’est précisément la raison pour laquelle les experts en sécurité recommandent de chiffrer les e-mails plutôt que les serveurs.

Le second problème porte sur la puissance de traitement dont le système IBM a besoin qui pourrait bien limiter le FHE, du moins à court terme. Bien qu'IBM tienne à souligner le faible impact de son algorithme sur l’augmentation des ressources de calcul nécessaires par rapport aux données individuelles, ces exigences se cumulent. D'après les études menées dans le cadre de tests réalistes, il faudrait environ 40 à 50 fois la puissance de calcul, et 10 à 20 fois la mémoire vive pour effectuer le même travail qu’avec des modèles non chiffrés.

Le problème n’est peut-être pas central pour les entreprises qui cherchent à externaliser le traitement des données sur les habitudes d'achat de leurs clients, ou leurs analyses web. Mais ces dernières années, l’externalisation des contrats de traitement des données concernait, pour une grande part, l’entraînement des outils d’apprentissage machine (Machine Learning) et d'intelligence artificielle (IA) qui requièrent déjà de formidables capacités de traitement. Actuellement, l’entraînement d'une IA à l'aide de données FHE éprouverait les limites des entreprises, même les mieux équipées en ressources.

En conclusion

L'annonce d'IBM laisse globalement entrevoir ce qui pourrait faire considérablement avancer la sécurité des traitements de données externalisés. Les systèmes qui apportent une réponse au problème de l'administrateur système, comme la virtualisation chiffrée et sécurisée (SEV) d'AMD, n'offrent pas les mêmes niveaux de capacités que les données FHE. Si la SEV ne souffre pas des problèmes de performance qui affectent le FHE, les tiers ne sont pas en mesure d'effectuer le même type de traitement avancé sur des données SEV.

Dans ce contexte, le FHE offre un moyen de renforcer considérablement la sécurité, mais seulement à condition de pouvoir lever certaines des limites actuelles. L'amélioration de l'efficacité des algorithmes FHE constitue un domaine d’étude particulièrement dynamique. Un autre domaine de recherche s’attache aux implications sur les règles et politiques des capacités accrues qu’offre le FHE. Si ces deux axes de recherche aboutissent, l’adoption du FHE pourrait rapidement se généraliser dans de nombreux secteurs.