Informatique confidentielle avec WebAssembly
AUSTIN, Texas. À l’époque où ils travaillaient chez Red Hat, Mike Bursell et Nathaniel McCallum se sont attaqués aux défis de l’informatique confidentielle en isolant les données les plus sensibles d’une organisation dans une enclave sécurisée tout en les traitant.
L’informatique confidentielle est particulièrement utile aux organisations qui traitent des données sensibles et de grande valeur telles que les institutions financières, mais également à une grande variété d’organisations.
Nous pensions que l’informatique confidentielle allait être une très grande chose qui devrait être facile à utiliser, a déclaré Bursell, alors architecte en chef de la sécurité au bureau du directeur de la technologie de Red Hat. Et plutôt que de devoir réécrire toutes les applications et apprendre à utiliser l’informatique confidentielle, cela devrait être simple.
Mais ce n’était pas simple. Parmi les plus grandes énigmes : l’attestation, le mécanisme par lequel un hôte mesure une charge de travail de manière cryptographique et communique cette mesure à un tiers.
L’un des principaux défis auxquels nous sommes confrontés est que tous les processus d’attestation sont différents, a déclaré McCallum, qui a dirigé la stratégie d’informatique confidentielle de Red Hat en tant qu’architecte de la sécurité de la virtualisation.
Et toutes les technologies de l’informatique confidentielle sont différentes. Et donc ils vont tous produire des caches cryptographiques différents, même si c’est le même code sous-jacent qui s’exécute sur eux tous.
Et avec de plus en plus d’organisations déployant leurs charges de travail dans des environnements multicloud et hybrides, ces différences posent un problème technique pour l’équivalence des charges de travail. Si une seule charge de travail est déployée sur trois architectures différentes, avec trois technologies différentes exécutant leur informatique confidentielle, a demandé McCallum, comment puis-je savoir que ce sont toutes les mêmes ?
Chez Red Hat, McCallum et Bursell ont travaillé sur une solution à ce problème et ont lancé un projet appelé Enarx, un framework open source pour exécuter des applications dans des environnements d’exécution sécurisés (TEE). Red Hat a fait don d’Enarx au Linux Foundations Confidential Computing Consortium.
En 2021, Bursell, basé près de Cambridge, en Angleterre, et McCallum, qui vit près de Raleigh, en Caroline du Nord, ont cofondé une société, Profian, construite autour d’Enarx. Ce faisant, ils ont planté un drapeau sur le territoire en croissance rapide de WebAssembly.
Lors du Linux Foundations Open Source Summit North America en juin, les deux co-fondateurs de Profians ont fait part à The New Stack de leurs plans pour le projet, dont le PDG Bursell a déclaré qu’il inclurait la sortie d’un produit minimum viable (MVP) ce trimestre.
Approche basée sur Wasm d’Enarx
La solution au défi de l’attestation, a déclaré McCallum, était d’utiliser une sorte de bytecode, comme WebAssembly (Wasm). (McCallum, directeur de la technologie de Profians, a été membre fondateur de la Bytecode Alliance lorsqu’il était chez Red Hat ; Bursell est administrateur de son conseil d’administration.)
Wasm, un format d’instruction binaire pour une machine virtuelle basée sur une pile, fonctionne comme une cible de compilation portable pour les langages de programmation, permettant le déploiement sur le Web pour les applications client et serveur.
WebAssembly vous permet de dire, j’ai créé une seule application, et je peux prouver que c’est exactement l’application qui s’exécute sur toutes ces instances. Preuve cryptographique. Et c’est la grande victoire.
Mike Bursell, co-fondateur et PDG, Profian
WebAssemblys vante l’avantage de construire une fois, exécuter n’importe où évite d’avoir à construire des systèmes pour gérer tous les caches cryptographiques générés à partir des différentes technologies d’attestation dans les différents environnements de déploiement.
Enarx fournit un TEE d’exécution unique et une attestation basée sur WebAssembly, permettant aux développeurs de déployer des applications en utilisant leur langage préféré, tel que Rust, C/C++, C#, Go, Java, Python, Haskell et plus encore. Même COBOL.
Le cadre est à la fois neutre en termes de matériel et de fournisseur de services cloud ; conformément à la promesse de Wasms de construire une fois, exécuter n’importe où, les développeurs peuvent déployer le même code de manière transparente sur plusieurs cibles.
WebAssembly vous permet de dire, j’ai créé une seule application, et je peux prouver que c’est exactement l’application qui s’exécute sur toutes ces instances. Preuve cryptographique, a déclaré Bursell.
Et c’est ça le gros gain, mis à part le fait que WebAssembly nous permet de tourner sur des boitiers Intel, des boitiers ARM, des boitiers AMD, avec exactement le même bytecode binaire, ce qui est tout simplement fantastique pour nous.
Pas de pénurie de cas d’utilisation
Le problème qu’Enarx est conçu pour résoudre est très répandu.
Il est difficile de trouver des personnes qui ne le faites pas ont le problème, a déclaré Bursell. Si vous avez des données sensibles ou des applications sensibles, et que vous êtes fortement réglementé, ou fortement audité, ou simplement peu enclin à prendre des risques, vous ne pouvez tout simplement pas mettre certaines charges de travail dans le cloud. Les banques ne le peuvent pas, les soins de santé, les produits pharmaceutiques, l’énergie, les télécommunications, le gouvernement, la défense, la sécurité, sans parler des entreprises standard.
En conséquence, a-t-il ajouté, ces organisations doivent conserver ces données sur site, renonçant aux avantages du cloud. Et cela signifie qu’il ne s’agit pas seulement du coût du maintien de tout cela. C’est l’incapacité de se lancer dans le cloud et d’évoluer rapidement, au fur et à mesure que les choses décollent.
Mike Bursell, PDG et co-fondateur de Profian.
Si vous avez une nouvelle application et que soudainement tout le monde l’utilise, pouvez-vous vous permettre d’attendre cinq semaines pour obtenir un nouveau serveur ? Non, vous ne pouvez pas; vous voulez pouvoir le mettre directement dans le cloud.
L’informatique confidentielle offre la promesse d’une confidentialité à toute épreuve, a noté Bursell : Même le fournisseur de services cloud ne peut pas regarder ou modifier votre application ou vos données. Pour une organisation qui traite non seulement des données clients sensibles, mais également des informations exclusives, telles qu’un algorithme d’investissement pour une société de services financiers.
Les joyaux de la couronne de la banque d’investissement se trouvent en fait dans l’application, plutôt que dans les données, a-t-il déclaré.
En outre, a déclaré McCallum, de nouveaux cas d’utilisation sont imminents, en raison de la nature de plus en plus distribuée des réseaux, via la périphérie et l’Internet des objets (IoT).
Le périmètre a disparu, a déclaré Profians CTO. S’il y a quelque chose que les 15, 20 dernières années nous ont appris, les attaques sont à la fois externes et internes. Et donc si vous voulez protéger ce matériel, même en interne, même sur site, vous avez toujours besoin des mêmes garanties.
Liens étroits avec les fabricants de puces
Alors qu’il continue à développer Enarx et à évoluer vers un MVP, Profian a établi des partenariats avec un certain nombre d’entreprises technologiques, notamment les sponsors du projet Enarx, Equinix et PhoenixNAP. Il travaille également en étroite collaboration avec les fabricants de puces IBM, Intel, AMD et ARM.
La solution Profians nécessite des puces de serveur au moins au niveau de l’Ice Lake Xeon Scalable ou de l’AMD Milan Epyc, que les principaux fournisseurs de cloud sont actuellement en train de déployer, a déclaré McCallum. La société prévoit également de prendre en charge les royaumes CCA de la version 9 d’ARM et le futur TDX d’Intel.
L’une des choses était de permettre aux gens de se déployer partout où se trouve le matériel, a déclaré Bursell. Il peut y avoir des raisons particulières de sélectionner un CSP particulier ou une géographie particulière. Mais vous obtenez les mêmes assurances que vous vous déployiez à Dublin, à San Francisco ou à Shanghai, car vous utilisez les mêmes puces avec les mêmes preuves cryptographiques.
Nathaniel McCallum, co-fondateur et CTO de Profian.
Et parce qu’Enarx est construit sur WebAssembly, a-t-il ajouté, peu importe où la charge de travail est déployée.
McCallum fait écho à cette notion. Il y a des gens qui souffrent désespérément, qui ont besoin de ce truc hier, a-t-il dit. Et ils se déploient sur des infrastructures existantes. Ils codent donc spécifiquement pour cette technologie matérielle. Mais si cela devient vulnérable, n’est-ce pas, quelles sont vos options pour passer à une autre technologie matérielle ?
L’un des principaux avantages que nous offre WebAssembly est que, s’il existe une vulnérabilité matérielle sur une plate-forme, vous n’êtes pas coulé. Vous pouvez simplement déployer sur une autre plate-forme, pendant que nous créons l’atténuation avec le fournisseur de matériel.
Et, a-t-il ajouté, à mesure que de nouvelles plates-formes deviennent disponibles, telles que les ARM, vous n’avez pas du tout à modifier votre charge de travail, votre charge de travail reste exactement la même. Et tout d’un coup, vous bénéficiez d’un nouveau support de plate-forme. Et puis dès que le matériel est disponible, vous continuez à déployer, exactement comme vous l’avez toujours fait dans le passé.
Une nouvelle démo pour jouer avec
Comme modèle pour présenter un nouveau projet à la communauté des développeurs, Bursell se tourne vers Docker, le projet Platform as a Service qui permet aux développeurs de créer, tester et déployer rapidement des applications.
L’un de ces Docker a eu raison au début, il suffit de faciliter la tâche aux gens pour essayer des choses, a-t-il déclaré. Et c’est absolument l’approche que nous pensons être la bonne.
Par conséquent, Profian a lancé une démo d’Enarx fin juillet. N’importe qui peut l’utiliser, n’importe qui peut jouer avec, a déclaré Bursell. Parce que nous voulons qu’il soit facile de jouer avec.
« Tout d’un coup, WebAssembly va émerger très rapidement en tant que plate-forme mature et stable, avec un support linguistique très large. »
Nathaniel McCallum, co-fondateur et CTO, Profian
La démo, a déclaré McCallum, permettra aux utilisateurs de déployer une charge de travail pendant une courte période, sans avoir à configurer quoi que ce soit : le matériel ou le noyau, toutes les ressources cloud, tout est configuré pour vous. Et cela vous donne une chance d’expérimenter réellement la plate-forme avec zéro frottement, essentiellement.
La facilité de débogage dans l’informatique confidentielle sera présentée dans le cadre de la démonstration, a déclaré Bursell. L’environnement de débogage que Profian fournira, a-t-il dit, utilisera le même environnement et le runtime Wasm.
Vous pouvez le tester sur votre box Linux, sur votre Mac, sur votre box Windows, ou même sur un Raspberry Pi. Vous pouvez donc le tester et savoir ce que vous exécutez une fois, puis le déployer dans un environnement d’exécution sécurisé avec Profian, et cela fonctionnera toujours.
En quittant le navigateur, WebAssembly commence tout juste à tenir sa promesse, a déclaré McCallum.
Pour beaucoup de gens, c’est comme si c’était long à venir et jamais ici, a-t-il dit. Mais il y a beaucoup de travail en cours. Et cela se produit précisément de ces manières qui n’attirent pas beaucoup d’attention sur les personnes qui y travaillent. Et donc tout d’un coup, WebAssembly va émerger très rapidement comme une plate-forme mature et stable, avec un support linguistique très large.
Pour en savoir plus sur les nouveautés de Wasm, consultez cet épisode récent du podcast The New Stack’s Makers, enregistré lors de l’Open Source Summit North America en juin :
The New Stack est une filiale à 100% d’Insight Partners, un investisseur dans les sociétés suivantes mentionnées dans cet article : Docker.
Image sélectionnée par Jason Pofahl via Unsplash.