Confidential computing : révolution ou nouveau mirage ?

Le chiffrement des données en transit et au repos permet aujourd’hui d’assurer un bon niveau de sécurité. Pour les données en traitement, une solution émerge aujourd’hui : le confidential computing .

J’ai eu l’occasion d’organiser pour les Assises de la Sécurité de 2022 une table ronde sur le confidential computing animée par Thierry AUGER CISO & Corporate CIO de Lagardère et regroupant Mathieu Jeandron d’AWS, Thiébaut Meyer de Google Cloud, Arnaud Jumelet de Microsoft France et Julien Levrard d’OVHCloud. Cet article vise à faire une synthèse des éléments échangées en présentant des cas d’usage, la technologie et les premiers pas y aller.

 

Le confidential computing pour quels besoins ?

 

Le principe du confidential computing est de créer une enclave garantissant que seul le traitement s’exécutant dans l’enclave peut accéder en clair aux données. Avant de rentrer dans l’explication de la technologie, nous allons voir 4 cas d’usage où le confidential computing peut améliorer la Cybersécurité.

 

Multi-party confidential data analytics

Plusieurs acteurs souhaitent mettre en commun des données mais aucune des parties ne doit pouvoir accéder aux données des autres. La mise en œuvre d’une enclave de confidential computing va permettre d’assurer cette exigence, seule l’encave étant en mesure d’accéder aux données mises à disposition par chaque acteur.

Exemple : plusieurs banques souhaitent mutualiser leur effort pour construire un algorithme de détection des fraudes. Aucune des banques ne souhaite que les données des clients qui serviront à cette analyse  puissent être connues des autres.

 

Apprentissage d’IA fédérée.

Plusieurs acteurs souhaitent mettre en commun leurs données pour entrainer un algorithme d’Intelligence Artificielle. Les données ne doivent pas pouvoir être divulguées ou connues d’un autre acteur. L’enclave confidential computing va garantir que seul l’algorithme d’Intelligence Artificielle puisse accéder aux données.

Exemple : plusieurs hôpitaux souhaitent entrainer un modèle d’IA visant à aider au diagnostic médical permettant d’avoir un volume plus significatif. Le secret médical impose qu’en aucun cas, les données d’un patient ne puissent être accédées par un autre acteur.

 

Protection des calculs dans le edge computing

La sécurité physique des traitements réalisés dans le edge computing ne peut pas être garantie au même niveau qu’un datacenter. On souhaite cependant que le code embarqué et les données traitées ne puissent être accédés ou modifiés. L’enclave confidential computing va permettre d’apporter cette garantie.

Exemple : un fournisseur de solution IOT veut s’assurer que le code embarqué dans son objet de puisse être accédé pour garantir sa propriété intellectuelle.

Enfin le cas d’usage de plus souvent cité : la protection vis-à-vis de son fournisseur d’infrastructure

Ici, il s’agit de garantir que les administrateurs de l’infrastructure sur laquelle je vais réaliser mes traitements ne puissent accéder à mes données. Satya Nadella CEO de Microsoft a lui-même indiqué, lors de la Microsoft Build de mai 2022, qu’il considère le confidential computing comme un “game-changer ».

Exemple : un fournisseur de services Cloud ne doit pas pouvoir accéder aux données qui sont traitées sur son infrastructure . Aujourd’hui, les mécanismes d’isolation logique existants ou des mesures de sécurité mises en œuvre permettant de limiter les actions possibles des administrateurs, le confidential computing ajoute une garantie supplémentaire basée sur le matériel. L’enclave permet également de renforcer le niveau de sécurité vis-à-vis d’un accès malveillant par une autre machine virtuelle s’exécutant sur le même hyperviseur en cas de vulnérabilité sur celui-ci.

 

Les promesses semblent intéressantes, comment fonctionne le confidential computing?

 

Le confidential computing vise à réaliser le traitement dans une enclave accessible seulement par le processeur : cette propriété est garantie matériellement par le processeur et son firmware (*). Un canal sécurisé est créé entre l’enclave et le processeur, tous les composants sur le chemin (Hyperviseur, OS…) ne pouvant accéder à la donnée.
(*)’L’implémentation technique de l’enclave varie suivant les fondeurs de processeur (Intel, AMD, ARM, IBM…) nous nous y attarderons pas dans cette article.

Deux grands types d’enclave sont possibles :

  • Enclave au niveau de la machine ou du conteneur: tous les traitements réalisés dans la machine virtuelle ou le conteneur seront protégés
  • Enclave au niveau d’une application : seul un morceau de l’application sera protégé par l’enclave (par exemple le code réalisant des traitements sensibles : les données brutes n’étant jamais accessibles, seuls les résultats l’étant)

Lors de la table ronde, Arnaud Jumelet a présenté une analogie avec un immeuble :

Une enclave au niveau d’une VM ou d’un conteneur peut être comparée à une protection qu’apporterait un appartement via à vis du reste du bâtiment : seules les personnes disposant des clés peuvent y accéder.

Dans le cas d’une enclave au niveau d’une application ou du code, on peut le comparer à un coffre-fort au sein de l’appartement qui protègerait le traitement.

Dans le 1er cas, le gestionnaire de l’immeuble (ie la gestion de l’infrastructure SI) n’a pas la vision de ce qu’il se passe dans l’appartement, alors que dans le 2ème cas même les personnes ayant la clé de l’appartement (ie l’administrateur de la VM) n’ont pas la vision sur ce qu’il se passe dans le coffre-fort.

 

Tout cela semble magique, est-ce que cela couvre tous mes risques ?

 

Le confidential computing est une nouvelle boite à outil pour réduire les risques. Mathieu Jeandron nous met en garde, il ne faut pas l’opposer aux mesures existantes : il s’agit d’ajouter une garantie supplémentaire par le matériel à l’isolation logique apportée par la virtualisation.

Comme tout outil, il peut avoir ses propres failles de sécurité comme par exemple des attaques par canal latéral ( ou Side-channel attacks) telle la vulnérbilités SQUIP ou des attaques affectant d’autres fonctions du processerus (comme l’attaque ). Il s’agit cependant d’attaques nécessitant un niveau élevé d’expertise. Thiébaut Meyer indiquait, lors de la table ronde, que la désactivation de l’hyperthreading permet de limiter les risques associés à ces vulnérabilités. Il est également important que l’enclave à son démarrage vérifie qu’elle s’exécute bien dans un espace de confiance : challenge du processus, vérification de la version du firmware du processeur par exemple.

Mathieu Jeandron est pour sa part revenu sur la nécessite de comprendre que le confidential computing ne va pas traiter tous mes risques :

  • Dans le cadre d’une enclave au niveau d’un VM, l’administrateur de la VM y aura toujours accès
  • Une vulnérabilité sur le code s’exécutant dans une enclave pourra toujours être exploitée par un attaquant pour accéder à la donnée
  • La compromission de la supply chain produisant les processeurs est toujours envisageable…

La mise en œuvre d’enclave peut rendre aveugle certain mécanisme de détection Cybersécurité qui sont à l’extérieur : attention ce que l’on d’un côté peut être perdu de l’autre !

Il est donc nécessaire de bien comprendre la technologie et les risques associés pour définir une stratégie réfléchie d’usage.

 

La protection des données, une histoire de gestion de clés

 

Quand l’on parle de protection de données, le chiffrement n’est jamais très loin. Et qui dit chiffrement, dit outils de génération et stockage de clés. Julien Levrard nous a rappelé que la protection apportée par l’enclave n’est qu’une partie problème, alors qu’il faut le voir dans sa globalité.

En particulier, les données devant être traitées ou même le code s’exécutant dans l’enclave proviennent de l’extérieur de l’enclave. Il est donc nécessaire qu’ils soient chiffés et que seule l’enclave puisse accéder aux clés permettant de déchiffrer les données. Les clés devront être donc séquestrées dans un HSM ou KMS qui devra s’assurer avant de libérer les clés qu’il s’agit bien de la bonne enclave qui lui demande d’y accéder. Le client aura le choix d’utiliser des services de son fournisseur ou d’implémenter des mécanismes de BYOK ou HYOK.

 

Je vois une opportunité, n’est-ce pas trop compliqué d’y aller?

 

La majorité des initiatives confidential computing en France sont aujourd’hui au stade de POC. Il existe cependant déjà des cas d’usage en production : la messagerie SIGNAL utilise par exemple le confidential computing pour protéger les messages. Thiébaut Meyer indiquait même que des premiers ransomwares utilisent la technologie pour ne pas être détectés !

Si l’on souhaite tester, Julien Levrard a expliqué que les prérequis techniques ne sont pas compliqués à atteindre : il suffit de commander un serveur de nouvelle génération et d’activer la fonction dans le firmware ou de souscription à des ressources compatibles chez un cloud provider. On peut alors facilement déployer un OS ou un conteneur disposant des bons drivers dans une enclave. Pour les cas d’usage métier indiqués au début de l’article, il sera cependant nécessaire de refondre le code de l’application.

Pour faciliter l’adoption, le Confidential Computing Consortium, qui vise à promouvoir la technologie, met à disposition des accélérateurs. Arnaud Jumelet a par exemple mentionné le projet opensource OpenEnclave ou Enarx. Il existe également des acteurs construisent des solutions disponibles as a service comme Securitee, Cosmian ou bien Decentriq. De nombreux acteurs logiciels ont également ajoutés à la roadmap l’intégration de fonctionnalité de confidential computing, dans le futur il s’agira peut-être du fonctionnement par défaut !

 

Le confidential computing une technologie qui gagne en maturité

Nous avons pu le voir le confidential computing gagne en maturité et qu’il n’est pas nécessaire d’être expert en assembleur pour l’utiliser. C’est probablement le bon moment pour les entreprises ayant des cas d’usage de tester la technologie pour mieux l’appréhender et la comprendre avant de pouvoir décider d’un usage en production. Une inscription dans une roadmap sécurité a aujourd’hui tout son sens.

 

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Back to top