Intel s'est associé à Microsoft dans le cadre d'un programme de l'agence américaine Defense Advanced Research Projects Agency (DARPA) qui vise à développer du matériel et des logiciels pour améliorer considérablement les performances du chiffrement entièrement homomorphe (FHE ou fully homomorphic encryption). Dans le cadre de ce programme baptisé Dprive (Data Protection in Virtual Environment), Intel va développer un accélérateur de type ASIC (Application Specific Integrated Circuit) qui pourrait rendre l'apprentissage machine possible avec des données toujours chiffrées et préservant la vie privée. S'il est couronné de succès, cet effort pluriannuel pourrait permettre à des entreprises ayant des exigences strictes en matière de confidentialité des données, telles que la santé, l’assurance, la banque ou les services de cloud public de les partager sans risquer de les exposer.
“Nous allons évaluer la plate-forme sur un certain nombre de charges de travail qui couvrent l'apprentissage statistique et l'apprentissage machine", explique Rosario Cammarota, ingénieur principal chez Intel Labs, au CSO. "Et l'objectif sera très ambitieux en termes de performances. La Darpa vise à améliorer les performances arithmétiques d'un facteur 5 pour la mise en œuvre du logiciel FHE sur les processeurs actuels. C'est un projet ambitieux, car aujourd'hui nous ne pouvons pas utiliser des modèles d'apprentissage sur des données chiffrées, mais cette plateforme - dans le cadre de ces objectifs de performance - sera capable de le faire".
Ce qui rend le cryptage entièrement homomorphe attrayant
Le chiffrement entièrement homomorphe est une forme de cryptographie qui effectue des opérations mathématiques directement sur des données chiffrées sans qu'il soit nécessaire de les décrypter au préalable. Le résultat du calcul est également chiffré et ne peut être consulté que par le propriétaire des données qui possède la clé privée. Ce résultat est le même que si les mêmes opérations avaient été effectuées sur une version non cryptée des données.
Le chiffrement peut être utilisé pour préserver la confidentialité des données dans différents états : au repos (stockage), en transit (transmission sur le réseau) et en mémoire (pendant le traitement). La sécurité des données en mémoire a historiquement posé le plus grand défi et c'est pourquoi des environnements d'exécution de confiance (TEE) tels qu'Intel SGX ou ARM TrustZone ont été développés pour les processeurs. Ces enclaves sécurisées ont leur espace mémoire séparé de celui du système d'exploitation principal et peuvent être utilisées pour effectuer des opérations en toute sécurité sur des données sensibles sans les exposer directement aux processus fonctionnant sous le système d'exploitation principal.
Toutefois, ces solutions présentent des limites. Premièrement, elles posent les mêmes problèmes de gestion des clés que le chiffrement des données en transit ou des données au repos : La clé secrète doit être présente sur le serveur ou dans le TEE où le décryptage a lieu, et dans le cas du cloud, cela signifie qu'il faut faire confiance à l'opérateur cloud. Deuxièmement, elles ne traitent pas vraiment de la question de la confiance et de la confidentialité dans les cas où le propriétaire des données est simplement l'utilisateur d'un service ou d'une application qui fonctionne dans le cloud et n'est pas le propriétaire du service ou de l'application elle-même.
Traiter plus facilement les données de santé
La propriété la plus intéressante du FHE est la possibilité d’envoyer des données chiffrées à un service tiers pour qu'il les traite sans lui fournir la clé de cryptage, de sorte que vous obtenez essentiellement le résultat de ces calculs sans avoir à faire confiance au fournisseur de services pour la confidentialité de vos données. Prenez, par exemple, le cas d'un service d'analyse prédictive médicale basé sur le cloud qui utilise l'apprentissage automatique. Le FHE pourrait permettre à un établissement de santé d'utiliser un tel service pour aider les médecins à établir de meilleurs diagnostics sans avoir à exposer les données protégées des patients. De même, la technologie pourrait être utilisée pour effectuer des analyses sur de grands ensembles de données qui combinent à la fois des données publiques et privées. Par exemple, une société de développement de médicaments pourrait utiliser la FHE pour analyser en toute sécurité les données de patients qui ont essayé des traitements expérimentaux, mais qui n'ont pas accepté de participer à des essais cliniques publics dans le cadre d'un ensemble de données plus large qui comprend des données provenant de tels essais. Cela pourrait être fait en utilisant un service tiers fonctionnant dans le cloud.
Selon M. Cammarota, les cas d'utilisation peuvent être étendus davantage avec l'utilisation du chiffrement homomorphe à clés multiples, une forme de FHE où plusieurs parties combinent leurs données cryptées séparément dans un pool et où le traitement est effectué sur l'ensemble du pool de données et le résultat n'est visible que par les parties qui ont fourni les données.
Situation actuelle du FHE
Bien qu'il existe déjà des implémentations logicielles de FHE et diverses bibliothèques et boîtes à outils de grands noms de l'industrie comme Fujitsu Labs, IBM, Microsoft et la start-up ShieldIO , leurs performances sur les processeurs actuels sont médiocres, car FHE a un problème inhérent : la corruption des données. Contrairement aux systèmes de cryptage classiques qui garantissent l'intégrité des données, le FHE ne le fait pas, car l'objectif est d'effectuer des calculs qui modifient le texte chiffré, ce qui a un impact sur son intégrité. En matière de cryptage, FHE utilise des algorithmes qui sont malléables de par leur conception.
"Avec chaque calcul homomorphe, une certaine quantité de bruit - ou d'erreur - est générée qui corrompt la représentation chiffrée des données", explique la Darpa. "Une fois que cette accumulation de bruit atteint un certain point, il devient impossible de récupérer le texte en clair sous-jacent original. Essentiellement, les données qui ont besoin d'être protégées sont alors perdues. Des structures de calcul appelées "bootstrapping" aident à remédier à cette accumulation de bruit intenable, en la réduisant à un niveau comparable au texte en clair original, mais en produisant une surcharge de calcul considérable".
Ce problème limite sérieusement les applications pratiques de la FHE. Selon M. Cammarota, l'inférence de l'apprentissage machine est actuellement possible avec certaines limites, mais la formation à l'apprentissage machine utilisant les données de la FHE est hors de portée. Pour résoudre ce problème, de nouvelles techniques permettant d'améliorer massivement les performances des charges de travail des FHE doivent être développées et c'est pourquoi la Darpa a mis en place le programme Data Protection in Virtual Environments (Dprive).
Intel rejoint la Dprive
L'objectif d'Intel dans le cadre du programme Dprive, qui s'étendra sur plusieurs années, sera de développer un accélérateur matériel pour FHE sous la forme d'un circuit intégré spécifique à une application (ASIC). Mais avant qu'un tel système sur puce (SoC) puisse être fabriqué, la première phase du programme se concentrera sur l'identification des éléments clés permettant d'accélérer l'arithmétique du chiffrement entièrement homomorphe, explique M. Cammarota. Ce travail sera effectué en collaboration avec Microsoft, qui prévoit de tester la technologie et de l'intégrer dans ses offres de cloud computing pour en favoriser l'adoption commerciale. Microsoft et Intel sont tous deux membres du consortium Homomorphic Encryption Standardization, qui regroupe des entreprises, des gouvernements et des universités.
Les ASIC sont des circuits intégrés qui fonctionnent généralement comme des périphériques et qui sont conçus et optimisés pour une opération ou un type d'opérations particulier. Ils peuvent atteindre de bien meilleures performances pour des tâches spécifiques que les puces à usage général. Par exemple, les plates-formes d'extraction de bitcoins, qui résolvent essentiellement un problème mathématique pour une récompense de bitcoins, utilisent des ASIC au lieu des unités centrales habituelles.
Des instructions FHE à venir dans les processeurs
Cela dit, certaines opérations qui nécessitaient auparavant des accélérateurs matériels ont été intégrées au fil du temps dans des CPU à usage général. Les unités à virgule flottante (FPU), également connues sous le nom de coprocesseurs mathématiques, étaient auparavant mises en œuvre séparément en tant que modules complémentaires, mais font maintenant partie intégrante de la plupart des CPU et GPU. Les cryptoaccélérateurs autonomes sont toujours courants, mais certaines de leurs fonctionnalités ont également été intégrées dans les CPU. Les instructions AES-NI (Advanced Encryption Standard New Instructions) d'Intel sont un bon exemple d'opération cryptographique accélérée par le matériel qui est maintenant standard dans la plupart des CPU.
Il est possible qu'avec le temps, la technologie d'accélération matérielle FHE qui sera développée dans le cadre de la DARPA DPRIVE prenne une voie similaire, mais cela doit être évalué par les différentes divisions commerciales d'Intel, explique M. Cammarota, en notant que plusieurs équipes de l'entreprise collaborent à ce projet, notamment Intel Labs, qui est la division de recherche, le groupe des plates-formes de données et le groupe d'ingénierie de conception.
Rendre le chiffrement entièrement homomorphe peu coûteux est également un moyen de démocratiser la technologie. C'est exactement ce que l'AES-NI a fait pour le cryptage AES, donc c'est tout à fait possible, dit M. Cammarota. Cependant, pour parvenir à une adoption généralisée, il est également important que les efforts de normalisation de ce type de chiffrement se poursuivent et mûrissent parallèlement au développement de l'accélération matérielle du FHE. "Lorsque vous considérez le chiffrement homomorphe comme une technologie de sécurité, c'est un peu bizarre", explique M. Cammarota. "D'un côté, vous regardez la charge de travail, et le fait que vous puissiez calculer sur des données chiffrées est assez excitant, car vous pouvez construire de nouveaux modèles commerciaux et vous pouvez réellement protéger vos biens maintenant. D'autre part, il s'agit d'une technologie cryptographique et donc, lorsqu'il s'agit de la déployer, les gens ne se contentent pas de regarder l'excitation, mais demandent : "Est-ce que c'est standardisé ? Peut-on la déployer en toute sécurité ? Savons-nous comment la déployer en toute sécurité ? Il y aura donc une étroite collaboration entre les résultats du programme [DPRIVE] et l'évolution de la normalisation".
Commentaire