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.
翻译:本文介绍了一种方法,以可靠的方式保证在共享基础设施上安全地实施分散事件驱动的应用,同时依靠一个小的可信任的电子计算基地。我们以信任的执行环境提供的安全原始材料为基础,并扩展其范围,以保障应用程序的真实性和完整性,并确保对投入和产出设备的控制。更具体地说,我们保证,如果应用程序产生产出,则允许该应用源代码在投入的真实跟踪基础上制作该产品。我们提出了一个综合的开放源框架,以开发、部署和使用不同TEE的这种应用。除了真实性和完整性外,我们的框架可选择性地提供保密性和可用性概念,并促进软件在高层次上抽象地开发应用软件以保障应用程序的真实性和完整性,并保障对投入和产出设备进行控制。我们支持由事件驱动的编程编程在Rust和C区开发分布的飞地应用程序,包括Intel SGX、ARM TrustZone和Sancus。我们讨论了我们的方法的运作方式、我们向Sancus 处理器的轻度扩展,以及我们的发展模式与商业TEE的模型的整合,我们的安全性和广域结构,我们的安全性和操作系统的系统,我们的安全性和操作的稳定性和操作结构的可靠性,我们作为互联网系统的系统的统一性框架的系统,我们的安全性和操作的系统,我们的安全性和操作和操作的系统,显示了的系统。