End-to-End Security for Distributed Event-Driven Enclave Applications on Heterogeneous TEEs

Gianluca Scopelliti,Sepideh Pouyanrad,Job Noorman,Fritz Alder,Christoph Baumann,Frank Piessens,Jan Tobias Mühlberg
DOI: https://doi.org/10.1145/3592607
2023-06-29
Abstract:This paper presents an approach to provide strong assurance of the secure execution of distributed event-driven applications on shared infrastructures, while relying on a small Trusted Computing Base. We build upon and extend security primitives provided by Trusted Execution Environments (TEEs) to guarantee authenticity and integrity properties of applications, and to secure control of input and output devices. More specifically, we guarantee that if an output is produced by the application, it was allowed to be produced by the application's source code based on an authentic trace of inputs. We present an integrated open-source framework to develop, deploy, and use such applications across heterogeneous TEEs. Beyond authenticity and integrity, our framework optionally provides confidentiality and a notion of availability, and facilitates software development at a high level of abstraction over the platform-specific TEE layer. We support event-driven programming to develop distributed enclave applications in Rust and C for heterogeneous TEE, including Intel SGX, ARM TrustZone and Sancus. In this article we discuss the workings of our approach, the extensions we made to the Sancus processor, and the integration of our development model with commercial TEEs. Our evaluation of security and performance aspects show that TEEs, together with our programming model, form a basis for powerful security architectures for dependable systems in domains such as Industrial Control Systems and the Internet of Things, illustrating our framework's unique suitability for a broad range of use cases which combine cloud processing, mobile and edge devices, and lightweight sensing and actuation.
Cryptography and Security
What problem does this paper attempt to address?
The paper attempts to address the issue of securely executing distributed event-driven applications on shared, heterogeneous Trusted Execution Environments (TEEs) infrastructure. Specifically, the authors focus on how to provide strong guarantees for the secure execution of applications while relying on a small-scale runtime Trusted Computing Base (TCB). The main objectives of the paper include: 1. **Authenticity and Integrity**: Ensuring that event-driven distributed applications possess authenticity and integrity properties. Specifically, if an application produces an output, there must exist a sequence of physical input events such that this sequence, when processed by the application, can produce that output. 2. **Secure Control of Input and Output Devices**: Utilizing the secure primitives provided by TEEs to guarantee the authenticity and integrity of the application and ensure the secure control of input and output devices. 3. **Support for Multiple Programming Languages**: Providing an integrated open-source framework that supports the development, deployment, and use of these applications on heterogeneous TEEs, supporting Rust and C languages. 4. **Scalability and Flexibility**: Supporting dynamic system updates, allowing for the flexible deployment of complex distributed software systems across cloud, mobile, and edge devices. Through these objectives, the paper aims to provide a robust security architecture foundation for fields such as industrial control systems and the Internet of Things, demonstrating the unique applicability of its framework in various application scenarios.