chiffrement homomorphique : une bête conçue pour le cloud

Partager

Le cloud computing impose d'envoyer ses données vers le fournisseur de cloud.

Si il s'agit d'un service de stockage ; les données peuvent être chiffrées préalablement à leur envoi. Dans ce cas, la confidentialité des données est assurée : le fournisseur ne pourra rien en faire ni les analyser.

Par contre, dans le cas d'un service de cloud computing du genre SaaS (Software as a Service) ou encore de type IaaS (Infrastructure as a Service), bien que les données puissent être chiffrées lors de la phase de transfert, celles-ci se doivent d'être en clair lorsqu'elles sont dans le cloud. En effet, si l'on souhaite que sa VM (Virtual Machine ou Machine Virtuelle) puisse se lancer il est nécessaire que le code de celle-ci puisse s'éxecuter.

Pour le moment, les sociétés utilisant les services de cloud computing se doivent de faire confiance au  prestataire sélectionné. Des techniques de chiffrement de VM ou de volumes disques existent mais ne sont que des réponses partielles : A un moment, aussi court soit-il, les données sont en clair. Cela peut poser problème ; ou tout du moins freiner l'adoption de services cloud ; pour les données les plus sensibles.

un début de réponse

Afin de répondre à ce besoin du "tout chiffré tout le temps" (cad tant lors de la phase de transfert des données vers le cloud que durant leur utilisation dans le cloud), le chiffrement homomorphique est la réponse à la question. C'est le saint-graal pour la confidentialité des données dans le cloud.

Le laboratoire de recherche en cryptographie cloud de Microsoft a récemment annoncé avoir fait une avancée notable vers ce saint-graal : "MIT Technology Review, A Cloud that Can't Leak, 8 Aout 2011" Pas d'emballement cependant car cette nouvelle façon de chiffrer les données n'en est encore qu'à ses débuts. Nous sommes encore loin de pouvoir exécuter des VM dans le cloud avec un chiffrement homomorphique. Peut-être que les premières applications seront plus sur des services de type SaaS ou PaaS ou les et pour des traitement de données bien spécifiques.

Pour ceux intéressés par les détails techniques, les papiers publiés sont accessibles via cette page. Le plus intéressant (ou compréhensible pour le profane que je suis dans le domaine de la crypto est celui-ci : "Can Homomorphic Encryption be Practical?").

principe de fonctionnement

Le principe du chiffrement homomorphique est le suivant : Les données sont envoyées chiffrées par le client vers le cloud. Les données sont ensuite l'objet d'un traitement (un calcul par exemple) qui va être effectué sur les données chiffrées, ce traitement générant un résultat. Ce résultat est lui-même chiffré, donc incompréhensible pour le prestataire du cloud. Enfin le prestataire du cloud va retourner le résultat au client qui le déchiffrera pour obtenir le résultat final.

On peut donc dire qu'avec le chiffrement homomorphique, le résultat du traitement est le même que si les données n'avaient pas été chiffrées. Avec le chiffrement homomorphique, les données ne sont jamais en clair lors de leur transmission ni lors de leur traitement.

ça avance mais ce n'est pas pour demain

En attendant que les travaux avancent, différentes solutions permettent d'apporter un début de réponse au besoin de confidentialité des données stockées dans le cloud. Pour les VMs, il est possible de chiffrer les systèmes de fichiers via des API intégrées dans les systèmes d'exploitation (BitLocker, dm-crypt, ...) ou d'utiliser des solutions comme celles de SafeNet ProtectV ou FreeOTFE.

Elles ont toutes comme principal "défaut" de nécessiter que la clef de déchiffrement soit transmise à un moment donné (typiquement au boot de la VM). Le sujet de stockage et transmission des clefs de chiffrement/déchiffrement est un sujet en tant que tel : C'est le domaine des Virtual TPM.

Il s'agit donc de solutions que nous pourrons qualifier de pragmatiques bien que perfectibles. Ces solutions sont donc à intégrer en attendant d'avoir mieux... le chiffrement homomorphique est un sujet chaud qu'il conviendra de suivre dans les années à venir. En attendant, il faudra faire avec ce que l'on peut se mettre sur la dent !

Jean-François

Jean-François Audenard

Au sein de la direction sécurité du Groupe Orange, je suis en charge de la veille sécurité et de la prise en compte de la sécurité dans le cycle de vie des produits et services. Je suis passionné par la sécurité informatique et prends énormément de plaisir à partager cette passion via des vidéos, présentations et articles. Franchise, optimisme et bonne-humeur sont mes moteurs quotidiens. Vous avez des questions, des idées, des propositions : vous savez où me trouver ! :-)