A well-established strategy to provide increasing integrity and confidentiality for applications from the edge to the cloud relies on Trusted Execution Environments (TEE). TEEs drastically reduce the trusted computing base (TCB) of the systems by protecting sensitive data and running security-critical applications in secure execution environments, isolated from the rest of the system. Notwithstanding, over the last few years, TEEs have been proven weak. TEEs built upon security-oriented hardware extensions (Arm TrustZone, Intel SGX) or resorting to dedicated secure elements (Apple’s T2, Google’s Titan) were exploited multiple times across various platforms, casting doubts on the effectiveness of the security guarantees that existing commercial TEEs can, in practice, provide.
In this talk, we present and discuss a novel TEE design, named Trusted Execution Environments On-Demand (TEEOD), aimed at disrupting the way TEEs are being built and deployed. Our approach relies on the reconfigurable technology embedded in modern SoCs to provide high-bandwidth connections and physical on-chip isolation needed for security-critical applications. Due to the reprogrammability property of FPGA, the secure execution environments can include only the hardware and software required for the TA, minimizing the TCB and unnecessary resource consumption. We outline how our approach is compatible with current TEE stacks and complies with the GlobalPlatform specification as we provide a proof-of-concept (PoC) implementation targeting a Xilinx Zynq Ultrascale+ based platform. To demonstrate the practicability of our approach in real-world applications, we run a legacy open-source Bitcoin wallet. We conclude the presentation by highlighting the main research challenges we are currently facing while scaling our solution to cloud-based use cases.
Sérgio Pereira is currently pursuing a Ph.D. degree at the University of Minho, Portugal. Sérgio has worked as a researcher in developing innovative security approaches based on hardware-enforced, software-defined separation, granting him a strong background in embedded systems and security for microcontrollers. During his master’s degree, he specialized in hardware/software co-design, TrustZone-enabled systems, embedded and real-time systems, and reconfigurable computing. His current research interests include security for embedded, cyber-physical, IoT-based systems, microarchitecture design, and reconfigurable computing.
Sandro Pinto is an Associate Research Professor at the University of Minho, Portugal. He holds a Ph.D. in Electronics and Computer Engineering. Sandro has a deep academic background and several years of industry collaboration focusing on operating systems, virtualization, and security for embedded, cyber-physical, and IoT-based systems. He has published 70+ scientific papers in top-tier conferences/journals (e.g., IEEE S&P, USENIX Security) and is a skilled presenter with speaking experience in several academic and industrial conferences (e.g., Hardwear.io, Black Hat, RISC-V Summit). Sandro is a long-term supporter of open source projects and is currently helping several companies and institutions to make security practical at scale.