English

Keystone: An Open Framework for Architecting TEEs

Cryptography and Security 2019-09-10 v2 Operating Systems

Abstract

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.

Keywords

Cite

@article{arxiv.1907.10119,
  title  = {Keystone: An Open Framework for Architecting TEEs},
  author = {Dayeol Lee and David Kohlbrenner and Shweta Shinde and Dawn Song and Krste Asanović},
  journal= {arXiv preprint arXiv:1907.10119},
  year   = {2019}
}

Comments

18 pages

R2 v1 2026-06-23T10:28:47.845Z