Le chiffrement complètement homomorphe
CONTEXTE
S’il fallait résumer l’innovation logicielle ces derniers temps, deux mots suffiraient : Intelligence Artificielle. Celle-ci n’arrive pas seule, en effet, son essor n’est possible que par l’explosion de la capacité de calcul moderne. La capacité des processeurs spécialisés (GPUs, TPUs, ASICs) est en progression constante et ceci a impact global énorme.
Plus de puissance de calcul signifie une plus grande vulnérabilité des mots de passe (voir la table ci-dessous, issue de https://www.hivesystems.io/blog/are-your-passwords-in-the-green) et remet en question la viabilité des méthodes de chiffrement actuel.
La sécurité des données est d’autant plus importante alors que l’Intelligence Artificielle et les méthodes d’Apprentissage Machine se démocratise pour les entreprises comme les particuliers. En effet, ces approches demandent des infrastructures coûteuses et beaucoup se tournent vers des solutions Cloud pour l’entraînement et la distribution des modèles. Cela soulève un énorme problème concernant la sécurité des données. Considérons, par exemple, une organisation dans le domaine de la santé qui veut entraîner un modèle prédictif en utilisant les données de ses patients. Cette organisation doit transmettre ses données à un fournisseur de service Cloud qui aura alors accès libre, puisque, même si elles peuvent être chiffrées pour la transmission, ces données doivent être en clair afin que l’entraînement du modèle puisse avoir lieu.
Cette problématique liée au Cloud ne concerne pas seulement les efforts en rapport avec l’Intelligence Artificielle, mais concerne un nombre croissant d’opérations dans tous les domaines.
Un autre facteur qui vient remettre en question les techniques de chiffrement actuel et l’arrivée attendue de l’informatique quantique. Entre les avancées constantes par les différents acteurs, la diversification des approches et des composants (D-Wave et leurs processeurs adiabatiques, Lightmatter par exemple et les circuits photoniques, IBM et Origin Quantum et les puces quantiques) font planer l’ombre d’un tremblement de terre dans le monde de la cybersécurité. Lorsque ces capacités de calcul nouvelles, et le changement de paradigme qu’elles impliquent, seront disponibles publiquement, une majeure partie des algorithmes de chiffrement actuellement utilisés seront rendus obsolètes. Pour pallier ce risque, des nouveaux schèmes, que l’on appelle ‘post-quantiques’ ont été inventés afin de garantir que la course ne sera pas perdue par ceux qui veulent défendre et protéger nos données.
LE CHIFFREMENT (COMPLÈTEMENT) HOMOMORPHE
Le problème de construction d’un schème de chiffrement homomorphe est posé à la fin des années 70, par les chercheurs à l’origine du chiffrement RSA. Il a fallu attendre 2009 avant qu’une solution à ce problème soit trouvée (bien qu’inefficiente) et depuis plusieurs variantes ont été développées, chacune avec son lot d’avantages et d’inconvénients. C’est un écosystème riche, animé par des chercheurs et des développeurs passionnés, dont nous faisons partie.
Mais qu’est-ce que le chiffrement (complètement) homomorphe ? En quelques mots, il s’agit d’une approche qui permet de pouvoir faire des opérations sur des données chiffrées sans avoir à déchiffrer ces données. Pour expliquer un peu plus précisément ce en quoi consiste cette technique qui peut paraître mystérieuse, voire magique, revenons d’abord sur les autres approches de chiffrement.
Pour ces explications, nous considérerons toujours trois protagonistes, Alice, Bob et Ève. Alice possède des matériaux précieux — des diamants et de l’or par exemple – et souhaite que Bob façonne un collier à partir de ceux-ci. Ève, elle veut voler soit les matériaux, soit le collier.
Alice décide, pour éviter qu’Ève puisse simplement mettre la main sur le butin alors qu’il est transporté, de l’enfermer dans une boîte extrêmement résistante, qui prendrait un effort colossal à Ève de briser. Alice a donc besoin de pouvoir verrouiller la boîte, mais elle doit aussi permettre à Bob de pouvoir accéder au contenu afin qu’il puisse assembler le collier.
Ce modèle-jouet correspond au cas réel où Bob est un fournisseur de service Cloud et Alice souhaite utiliser l’infrastructure de Bob pour faire des calcul (par ex. entraîner un modèle d’Intelligence Artificielle) à partir de données sensibles.
En premier lieu, considérons le chiffrement à clé symétrique. Pour reprendre notre modèle-jouet, Alice décide d’ajouter une serrure à sa boîte, à laquelle correspond une clé. Alice possède deux copies de cette clé et elle en envoie une à Bob. Elle place les matériaux dans la boîte qu’elle transmet à Bob. Bob peut alors ouvrir la boîte, façonner le collier, refermer la boîte et la renvoyer à Alice qui utilise sa copie de la clé pour récupérer le collier. Si Ève récupère la boîte, elle ne peut pas en faire grand-chose, sauf si elle arrive à mettre la main sur une copie de la clé (ceci est bien entendu dépendant de la vulnérabilité du verrou qui peut être forcé s’il n’est pas construit dans des matériaux suffisamment résistant).
Le chiffrement à clé asymétrique fonctionne un peu différemment. Dans ce cas, Alice et Bob disposent chacun d’un cadenas (clé publique) et de la clé associée (clé privée). L’un et l’autre ne partagent jamais leur clé. Pour pouvoir façonner le collier, Bob envoie à Alice son cadenas. Alice place les matériaux dans la boîte et la verrouille avec le cadenas de Bob puis lui renvoie, accompagné de son propre cadenas. Bob utilise sa propre clé pour ouvrir la boîte, récupérer les matériaux et y place le collier une fois fini et verrouille la boîte avec le cadenas d’Alice. Alice réceptionne la boîte et peut utiliser sa propre clé pour récupérer le collier.
Dans ces deux cas, Bob doit pouvoir ouvrir la boîte afin d’accéder aux matériaux, c’est-à-dire qu’Alice doit lui faire confiance, ainsi qu’à l’endroit où il travaille, etc. Comment est-ce qu’Alice peut faire pour ne pas avoir à s’inquiéter pour ses matériaux précieux pendant que Bob s’occupe du collier ?
Pour résoudre ce problème, Alice va utiliser une boîte un peu différente. Elle utilise une boîte à gant de laboratoire.
Cette boîte à gant est un peu différente de celle habituellement utilisée parce qu’elle est opaque. Elle est également équipée d’un verrou. Alice ne partage pas la clé du verrou mais elle peut placer ses matériaux dans la boîte et l’envoyer à Bob. Bob étant un bijoutier très habile, il est parfaitement capable de façonner le collier attendu en utilisant la boîte à gant mais il ne peut jamais vraiment voir ce à quoi ressemblent les diamants de Alice. Plus important, les diamants et l’or contenus n’ont jamais besoin de sortir de la boîte, ils sont parfaitement protégés jusqu’au moment où Alice reçoit sa boîte contenant le collier, qu’elle peut ouvrir avec sa clé, rassurée que ni Ève, ni Bob n’ont pu accéder visuellement à son contenu.
Ceci est l’essence du chiffrement homomorphe. Certains schèmes de chiffrement utilisés ont des propriétés de la sorte, certaines opérations sur les données chiffrées peuvent être effectuées sans déchiffrement mais la grande avancée est celle du chiffrement complètement homomorphe. Cela signifie qu’en utilisant ces schèmes, n’importe quel calcul est possible sans le déchiffrement des données.
La solution étrange d’Alice
QUELS USAGES ?
Utilisation sécurisée des services Cloud
Comme présenté précédemment, le chiffrement complètement homomorphe présente un avantage massif pour toutes les opérations portées sur le Cloud. Aujourd’hui, les données qui sont traitées de cette façon sont à risque et les plateformes Cloud représentent un point de vulnérabilité extrêmement critique. C’est un risque auquel beaucoup d’entreprises sont confrontées, sans solution réelles.
Il a été démontré qu’il est possible d’entraîner des réseaux neuronaux ou des modèles d’apprentissage machine sur des données chiffrées. Cela permet de respecter toutes les injonctions (légales) concernant la protection des données à moindre effort, tout en bénéficiant de tous les avantages que l’utilisation des services Cloud confère.
Ceci s’étend, bien entendu, à toutes les opérations qui peuvent être effectuées sur un Cloud.
Sécurisation des requêtes faites sur une base de données
Une autre possibilité offerte par le chiffrement complètement homomorphe est la sécurisation des requêtes faites sur une base de données. Cela permet de garder la confidentialité des données contenues dans la base, dans la requête et des résultats obtenus. Sur ce modèle, plusieurs couches de chiffrement peuvent être appliquées afin de garantir un accès raisonné aux données, ce qui représente une utilité non-négligeable pour les opérateurs de base de données contenant des données personnelles (gouvernements, banques, etc.).
Agrégation multipartite de données sensibles
La force est dans le nombre. Considérons un cas où plusieurs hôpitaux cherchent à entraîner un modèle d’apprentissage machine pour la même fin (par exemple la détection précoce des cancers) en utilisant les données de leurs propres patients. Chacun de ces hôpitaux échoue, car leurs données ne sont pas assez vastes pour entraîner correctement ce modèle. Grâce au chiffrement complètement homomorphe, il est possible de chiffrer les données, de les regrouper et de les transmettre à un fournisseur de service central qui entraîne le modèle. Les parties collaborent pour déchiffrer le modèle qui est accessible à tous sans pour autant que les données de chacun aient eu besoin d’être révélées (https://www.nature.com/articles/s41467-021-25972-y).
Stockage des données
En tant que schème de chiffrement, le chiffrement complètement homomorphe peut être utilisé pour stocker les données de façon sécurisée.
Communications
De la même manière, les communications peuvent être sécurisées grâce au chiffrement complètement homomorphe.
Obfuscation des transactions blockchain
Les transactions blockchain sont par essence consultables dans le Grand livre (« ledger »), elles sont donc publiques. Grâce au chiffrement complètement homomorphes, le contenu des transactions peut être obfusqué, ce qui permet de garder la protection contre la falsification des données que garantie la blockchain, sans pour autant exposer des données risquées comme le montant des transactions ou les identifiants des parties engagées dans les transactions.
Votes sécurisés
Le chiffrement complètement homomorphe permet la mise en place d’un système de vote où plusieurs entités peuvent enregistrer les résultats, en garantissant la véracité de la portion des votes qui leur appartient, puis mettre en commun leurs résultats chiffrés. À partir de tous les résultats provenant de diverses entités, il est alors possible de calculer le résultat global du vote, sans pour autant exposer les votes individuels. L’algorithme qui permet cette application a été prouvé être extrêmement robuste contre la falsification (qui demande une majorité écrasante des entités participantes de collaborer pour le mettre en échec). Ceci permet de construire des mécanismes de vote numérique d’une nouvelle forme, et qui pourrait révolutionner de nombreux domaines.
CONCLUSION
La protection des données étant un des points les plus importants dans le monde numérique moderne, il est d’autant plus important d’identifier et de mettre en place les stratégies qui permettent d’en garantir leur intégrité. Le chiffrement complètement homomorphe est une solution à la pointe de la technologie et qui présente des avantages et des possibilités pour l’instant aussi inconnues qu’exploitées par les acteurs et le grand public. À Digital Solutions, nous sommes convaincus que cette approche fait partie des outils bientôt indispensables.