Repository logo
Research Data
Publications
Projects
Persons
Organizations
English
Français
Log In(current)
  1. Home
  2. Publications
  3. Thèse de doctorat (doctoral thesis)
  4. Webassembly as an abstraction for secure and efficient computing in trusted execution environments

Webassembly as an abstraction for secure and efficient computing in trusted execution environments

Author(s)
Ménétrey, Jämes  
Chaire de systèmes complexes  
Editor(s)
Felber, Pascal  
Conseil de l'Université  
Pasin, Marcelo  
Chaire de systèmes complexes  
Publisher
Université de Neuchâtel
Date issued
2024
Number of pages
199 p.
Subjects
trusted execution environments (TEEs) confidential computing attestation cryptography and security WebAssembly Intel SGX Arm TrustZone environnements d’exécution de confiance (TEE) informatique confidentielle cryptographie et sécurité
Abstract
L’évolution rapide des infrastructures informatiques a conduit à l’émergence du continuum cloud- edge, qui représente l’intégration continue et transparente d’appareils déployés dans trois environnements initialement séparés : le cloud (centres de données centralisés distants), la périphérie ou edge (infrastructures proches des utilisateurs finaux), et l’Internet des objets ou IoT (appareils connectés distribués localement). Ce changement de perspective permet aux logiciels de tirer parti des avantages de chaque environnement informatique, qu’il s’agisse des vastes ressources du cloud, du traitement à faible latence en périphérie ou de l’omniprésence des capteurs de l’Internet des objets. Cependant, le caractère hétérogène du continuum cloud-edge représente un défi de taille au niveau du développement logiciel, du déploiement et de la sécurité.
L’avènement de l’informatique dans le cloud et en périphérie a entraîné l’émergence de nouveaux défis de sécurité pour les fournisseurs de ces infrastructures et leurs clients. Cette relation implique une confiance mutuelle : les utilisateurs comptent sur les fournisseurs pour isoler adéquatement leurs charges de travail informatiques et protéger leurs informations sensibles, tandis que ces derniers doivent exécuter des logiciels clients de manière sécurisée, sans garantie de leur fiabilité. L’informatique confidentielle a émergé comme une approche prometteuse pour répondre à ces défis sécuritaires, tirant parti des environnements d’exécution de confiance (TEE) pour mieux protéger les données et les applications sensibles contre l’accès non autorisé, la falsification ou la divulgation de ces dernières. Toutefois, l’écosystème actuel de l’informatique confidentielle demeure fragmenté, les fabricants de processeurs proposant des implémentations propriétaires et fondamentalement différentes de ces environnements d’exécution de confiance, ce qui limite la portabilité et la sécurité des applications.
Pour relever les défis du continuum cloud-edge qui est par essence hétérogène, ainsi que de combler les lacunes des solutions actuelles que constituent les environnements d’exécution de confiance, cette thèse de doctorat préconise l’adoption du standard ouvert WebAssembly comme format de compilation portable, léger, performant et sécurisé. WebAssembly a été conçu pour réduire son couplage aux plateformes d’exécution et pour offrir un environnement d’exécution isolé, lui conférant des atouts indéniables pour devenir une référence en matière d’exécution sécurisée. La combinaison de WebAssembly et des environnements d’exécution de confiance offre une sécurité mutuellement bénéfique, car elle protège les données sensibles et les calculs informatiques des clients contre les accès non autorisés, tout en protégeant les fournisseurs d’infrastructure contre les programmes malveillants de ces mêmes utilisateurs.
Cette thèse présente une approche globale pour l’exécution sécurisée et performante d’applications dans les environnements d’exécution de confiance. Le premier travail de recherche examine les principes d’attestation et compare la façon dont ces environnements modernes exploitent ces mécanismes, révélant que les solutions existantes diffèrent considérablement en termes de maturité et de sécurité. Ces observations constituent le fondement de la conception et de l’implémentation de TEE basés sur WebAssembly, de mécanismes d’attestation et de systèmes de communication développés tout au long de cette thèse.
Le deuxième travail de recherche de cette thèse démontre les avantages pratiques de l’utilisation de WebAssembly pour la cryptographie, dont son exécution est déléguée aux navigateurs Web et montre comment cette technologie surpasse les implémentations JavaScript conventionnelles pour IncaMail, le service de messagerie sécurisé de La Poste suisse. WebAssembly est également utilisé pour réduire la base de confiance informatique (TCB) d’IncaMail, ce qui permet un modèle de confiance honnête mais curieux (honest-but-curious).
En se basant sur les résultats prometteurs de l’exécution de WebAssembly dans les navigateurs Web, le troisième travail de recherche présente Twine, un environnement d’exécution de confiance permettant l’exécution d’applications compilées en WebAssembly au sein d’Intel SGX, une implémentation de TEE créant des environnements sécurisés appelés enclaves, établissant ainsi un environnement d’exécution isolé bidirectionnel. Twine exploite les garanties de sécurité mémoire de WebAssembly et fait abstraction de la complexité de Intel SGX, prenant en charge l’exécution d’applications existantes et indépendantes du langage de programmation.
En s’appuyant sur Twine, le quatrième travail de recherche détaille WaTZ, un environnement d’exécution de confiance pour les applications WebAssembly dans Arm TrustZone, un TEE cou- ramment présent dans les petits appareils et appareils de périphérie. WaTZ inclut un système d’attestation léger et optimisé pour les applications WebAssembly, répondant au manque de mécanismes d’attestation intégrés à cet environnement d’exécution de confiance.
Le cinquième et dernier travail de cette dissertation développe un système de publication/abonnement (publish/subscribe) permettant l’échange de données dont les acteurs sont mutuellement attestés dans le continuum cloud-edge. En exploitant l’abstraction fournie par les environnements d’exécution de confiance basés sur WebAssembly, une même application peut s’exécuter sur différentes architectures de processeurs et être attestée sur plusieurs implémentations de TEE grâce à des primitives d’attestation standardisées. En conséquence, la solution proposée établit des canaux de communication sécurisés entre des parties distantes qui se méfient mutuellement, sans être tributaire d’un fabricant de processeurs spécifique.
L’informatique confidentielle s’est imposée comme une tendance de plus en plus importante pour l’Internet des objets et les machines à la fois situées en périphérie ou dans le cloud. Cette thèse de doctorat exploite WebAssembly pour répondre aux défis de programmation, de déploiement et d’établissement de confiance dans ces environnements de confiance complexes. WebAssembly se distingue par ses spécifications simples, sa capacité à être intégré à un large éventail de langages de programmation, sa vitesse d’exécution comparable à celle des applications natives, son environnement isolé robuste et son abstraction de la plateforme d’exécution. Ces caractéristiques en font un choix idéal pour concevoir un système distribué, évolutif et interopérable, allant du cloud à l’Internet des objets. Il devient évident que WebAssembly et l’informatique confidentielle peuvent constituer un nouveau socle solide pour le développement logiciel dans les systèmes de petite à grande échelle au cours des années à venir, transformant ainsi la façon dont les applications futures seront conçues et développées.

ABSTRACT
The rapid evolution of computing infrastructure has led to the emergence of the cloud-edge continuum, a seamless integration of cloud, edge, and IoT devices. This paradigm shift enables applications to leverage the strengths of each computing environment, from the vast resources of the cloud to the low-latency processing of edge devices and the ubiquitous presence of IoT sensors. However, the heterogeneity of the cloud-edge continuum poses significant challenges in terms of software development, deployment, and security.
The shift towards cloud and edge computing has introduced new security challenges for customers and providers. Customers must trust cloud providers to adequately isolate workloads and protect sensitive information, while providers must securely execute untrusted customer software. Confidential computing has emerged as a promising approach to address these security challenges, leveraging trusted execution environments (TEEs) to protect sensitive data and code from unauthorised access, tampering, or disclosure. However, the current confidential computing ecosystem remains fragmented, with CPU vendors offering fundamentally different proprietary TEE implementations, which limits portable and secure application development.
To tackle the challenges of the heterogeneous cloud-edge continuum and the shortcomings of current TEE solutions, this thesis advocates adopting the open standard WebAssembly (Wasm) as a lightweight, efficient, and secure portable compilation target. Wasm’s platform-agnostic design and sandbox make it an ideal candidate for bridging different computing environments while providing a robust foundation for secure execution. The combination of Wasm and TEEs establishes a mutually beneficial security model as they protect sensitive data and computations from unauthorised access while shielding the underlying infrastructure from malicious code.
This thesis presents a comprehensive approach for secure and efficient application execution in TEEs. The first research work reviews attestation principles and compares how modern TEEs leverage these mechanisms, revealing that existing solutions widely differ in maturity and security. These insights form the basis for the design and implementation of trusted Wasm runtimes, attestation mechanisms, and communication systems developed throughout the dissertation.
The second research of this thesis demonstrates the practical benefits of using Wasm for clientside cryptography in browsers and shows how it outperforms conventional JavaScript implementations for IncaMail, the Swiss Post’s secure email service. Furthermore, Wasm is also used to reduce the trusted computing base of IncaMail, enabling an honest-but-curious model.
Based on the promising results of running Wasm in browsers, the third research work introduces Twine, a trusted runtime for running Wasm-compiled applications within Intel SGX, a TEE implementation for creating secure environments named enclaves, establishing a two-way sandbox. Twine leverages memory safety guarantees of Wasm and abstracts the complexity of TEEs, supporting the execution of legacy and language-agnostic applications.
Building upon Twine, the fourth research work introduces WaTZ, an efficient and secure runtime for trusted execution of Wasm applications on Arm TrustZone, a TEE commonly found in small and edge devices. WaTZ includes a lightweight attestation system optimised for Wasm applications running in TrustZone, addressing the lack of built-in attestation mechanisms.
The fifth and final work of this dissertation presents a portable and mutually attestable publish/- subscribe system for trustworthy communication in the cloud-edge continuum. Leveraging the abstraction provided by trusted Wasm runtimes, the same application can run on different CPU architectures and be attested on various TEE platforms through standard attestation primitives.
As a result, the proposed solution establishes secure communication channels between mutually distrusting remote parties without being bound to a particular CPU vendor.
Confidential computing has emerged as an increasingly important trend for IoT, edge, and cloud environments. This dissertation leverages Wasm to address the challenges of programming, deploying, and establishing trust in these complex trusted environments. Wasm’s lightweight specifications, large support of programming languages, near-native execution speed, robust sandbox, and versatile system abstraction make it an ideal candidate for envisioning the cloudedge continuum as an interoperable, scalable, and distributed system. It becomes clear that Wasm and trusted computing can be the bedrock for software development in large-scale systems in the coming years, transforming the development lifecycle of future applications.
Notes
Approved by the dissertation committee:
Prof. Dr. Pascal Felber • thesis co-director • University of Neuchâtel, Switzerland
Prof. Dr. Marcelo Pasin • thesis co-director and reviewer • HES-SO, Switzerland
Prof. Dr. Rüdiger Kapitza • reviewer • Friedrich-Alexander-Universität Erlangen-Nürnberg, Germany
Prof. Dr. Rachid Guerraoui • reviewer • École Polytechnique Fédérale de Lausanne, Switzerland
Prof. tit. Dr. Valerio Schiavoni • examiner • University of Neuchâtel, Switzerland

Thesis defended on November 4, 2024

No de thèse : 3199
Publication type
doctoral thesis
Identifiers
https://libra.unine.ch/handle/20.500.14713/99578
DOI
10.35662/unine-thesis-3199
File(s)
Loading...
Thumbnail Image
Download
Name

00003199.pdf

Type

Main Article

Size

2.51 MB

Format

Adobe PDF

Checksum

(MD5):d0b0cb041ad3839b9f4f64c1205b7932

Université de Neuchâtel logo

Service information scientifique & bibliothèques

Rue Emile-Argand 11

2000 Neuchâtel

contact.libra@unine.ch

Service informatique et télématique

Rue Emile-Argand 11

Bâtiment B, rez-de-chaussée

Powered by DSpace-CRIS

v2.0.0

© 2025 Université de Neuchâtel

Portal overviewUser guideOpen Access strategyOpen Access directive Research at UniNE Open Access ORCIDWhat's new