Keystone: An Open Framework for Architecting TEEs
This provides a flexible solution for developers and researchers needing tailored TEEs across diverse devices, though it is incremental as it builds on existing hardware abstractions.
The authors tackled the lack of customization in vendor-specific trusted execution environments (TEEs) by presenting Keystone, an open-source framework for building customized TEEs, which runs on unmodified RISC-V hardware and demonstrates strengths in security, TCB size, and execution across various benchmarks and applications.
Trusted execution environments (TEEs) are being used in all the devices from embedded sensors to cloud servers and encompass a range of cost, power constraints, and security threat model choices. On the other hand, each of the current vendor-specific TEEs makes a fixed set of trade-offs with little room for customization. We present Keystone -- the first open-source framework for building customized TEEs. Keystone uses simple abstractions provided by the hardware such as memory isolation and a programmable layer underneath untrusted components (e.g., OS). We build reusable TEE core primitives from these abstractions while allowing platform-specific modifications and application features. We showcase how Keystone-based TEEs run on unmodified RISC-V hardware and demonstrate the strengths of our design in terms of security, TCB size, execution of a range of benchmarks, applications, kernels, and deployment models.