Cloud et chiffrement, une nouvelle approche qui réconcilie l’inconciliable : travailler dans le cloud sur des données chiffrées, sans connaitre les clés de chiffrement. Quelques explications.

Nous considérons que, pour que nos clients puissent aller vers le Cloud, nous devons mériter leur confiance. Pour asseoir cette confiance, nous leur devons la transparence. C’est la raison pour laquelle nous fournissons cette transparence à travers un triptyque :

Respect des lois et conformité volontaire à des normes internationales, des standards et des règlements sectoriels et/ou locaux ;

Vérification de la conformité de nos services avec ces différents éléments par un tiers indépendant ;

Fourniture des rapports d’audit réalisés par ce tiers à nos clients (voir le Service Trust Portal).

Pour certains de nos clients, cette transparence n’est cependant pas jugée comme constituant un élément suffisant. Ainsi, ceux-ci voudraient pouvoir chiffrer les données dans le Cloud… tout en gardant la clé. Malheureusement, chiffrer des données dans le Cloud en gardant les clés pose de nombreux défis : en effet, lorsque le chiffrement est effectué par le client du service Cloud, c’est-à-dire avant de mettre la donnée à la disposition du service, ce dernier ne possédant pas les clés pour déchiffrer n’aura aucun accès aux données en clair. Il en résultera que les fonctionnalités du service Cloud en question seront réduites : sans possibilité d’accéder aux données en clair, impossibilité par exemple de faire des recherches ou d’indexer un contenu.

Il existe bien une solution à cette difficulté qui consiste à réaliser un chiffrement dit « homomorphe ». Un tel chiffrement a pour but général de faire en sorte que les algorithmes de traitement de données passent à travers la couche de chiffrement. Autrement dit, si un client veut effectuer certains calculs sur ses données, il suffit qu’il demande au fournisseur de service en Cloud d’effectuer ses calculs sur les données chiffrées de façon homomorphe, le fournisseur transmet ensuite le résultat (qui est chiffré), le client le déchiffre et il obtient le résultat voulu (en clair). Malheureusement, le surcoût d’un tel chiffrement reste encore intolérable pour des traitements d’usage général.

Afin de répondre à ces enjeux, Microsoft a mis à disposition une nouvelle approche, Azure Confidential Computing Services (ACCS), annoncée le 14 septembre 2017. Cette nouvelle approche repose sur l’utilisation d’une extension de l’architecture Intel appelée SGX (Secure Guard Extension). Grâce à SGX, une application peut tirer parti de la notion d’ « enclave » sécurisée au sein de laquelle les instructions et les données sont chiffrées et seul le processeur dispose de la possibilité d’en déchiffrer le contenu grâce à une clé qui n’est pas connue du fournisseur de services Cloud.

Cette approche novatrice permet de se protéger contre un modèle de menaces très riche :

-  On présuppose un comportement malveillant du fournisseur de Cloud

-  Tout logiciel du fournisseur considéré comme malveillant (Hyperviseur, Firmware, pile de management, etc.)

-  Tout hardware en dehors du CPU est indigne de confiance (attaque en mode DMA, espionnage de la DRAM, démarrage à froid).

Nous n’évitons pas cependant les attaques en :

-  Déni de service (mais dans ce cas, il n’y a rien à payer !)

-  Les attaques à travers des canaux cachés ou détournés (cf. les attaques récentes Spectre et Meltdown) ; il existe d’autre moyens pour se protéger contre ces attaques (voir par exemple : Oblivious Multi-party Machine Learning on Trusted Processors).

Cela implique qu’il est possible de se prémunir d’un accès non autorisé aux données dans 3 scenarios critiques :

-  Un hacker exploite une bogue dans l’OS ou dans Hyper-V

-  Un collaborateur malintentionné avec des privilèges d’administrateur

-  Les demandes des états pour accéder aux données dans le Cloud sans un encadrement légal strict

Comme on le voit, une telle approche réconcilie l’inconciliable ; permettre au fournisseur de services Cloud de travailler sur des données (et du code) chiffrées sans connaitre les clés de chiffrement.

Par ailleurs, cette approche novatrice permet d’aborder des scénarios entièrement impossibles autrement :

-  Machine Learning pluripartite au sein duquel il est possible de mettre en commun des données provenant de plusieurs fournisseurs sans que l’un quelconque des partis n’ait accès aux données des autres partis.

-  Mise en œuvre de nouvelles générations de blockchain permettant de disposer d’un débit transactionnel de plusieurs milliers de transactions par seconde et permettant d’exécuter des « smart contracts » sans que quiconque n’ait connaissance des contrats et des données associées.

Une technologie innovante, donc, et promise à un bel avenir. Les dernières technologies Azure et Microsoft 365 seront présentées en détail lors de Microsoft Tech Summit Paris.

Pour vous immerger dans l’univers des technologies de demain, réservez dès maintenant vos places pour l’évènement « Microsoft Expériences 18 », qui se tiendra les 6 & 7 novembre au Palais des Congrès.
Informations et inscriptions sur https://experiences18.microsoft.fr/