Secure Systems Group
Menu×

Wiki Home

Trusted execution environment

Definition

A trusted execution environment (TEE) is a hardware-isolated context that runs code and holds data so that software outside it, including a privileged or compromised operating system, cannot read or modify them. The hardware enforces two properties. Isolation keeps an enclave’s memory unreadable to other processes, the OS, and the hypervisor. Remote attestation lets a key embedded in the hardware at manufacture sign a measurement of the loaded code and configuration, so a remote client can check that the expected program is running on genuine hardware before sending it secrets. Commodity implementations include Intel SGX enclaves (Costan and Devadas, 2016), Arm TrustZone’s secure world (Pinto and Santos, 2019), AMD SEV’s encrypted virtual machines, and academic RISC-V designs such as Sanctum (Costan et al., 2016).

The isolation boundary stops direct access to enclave memory, but not inference from a program’s data-dependent behavior. Cache-timing, branch-prediction, and transient-execution attacks have repeatedly recovered enclave secrets, among them Foreshadow against SGX (Van Bulck et al., 2018). Bugs in the code running inside the enclave are also in scope: an attested program can still contain a memory-safety vulnerability an attacker exploits at run time. A TEE therefore moves trust onto the CPU package and the enclave code, and its confidentiality guarantee is only as strong as that code’s resistance to run-time and side-channel attacks.

Papers that use this concept

Variants and traps

  • Isolation and attestation are distinct guarantees. Attestation certifies what code loaded; it says nothing about whether that code is free of run-time vulnerabilities once it runs.
  • A TEE protects a region of memory. It does not by itself stop a program from leaking the data it is allowed to touch through timing or memory-access patterns.

See also

References

  • Costan, V. and Devadas, S. “Intel SGX Explained.” Cryptology ePrint Archive, Report 2016/086, 2016.
  • Costan, V., Lebedev, I., and Devadas, S. “Sanctum: Minimal Hardware Extensions for Strong Software Isolation.” USENIX Security Symposium, 2016.
  • Pinto, S. and Santos, N. “Demystifying Arm TrustZone: A Comprehensive Survey.” ACM Computing Surveys, 2019.
  • Van Bulck, J., Minkin, M., Weisse, O., Genkin, D., Kasikci, B., Piessens, F., Silberstein, M., Wenisch, T. F., Yarom, Y., and Strackx, R. “Foreshadow: Extracting the Keys to the Intel SGX Kingdom with Transient Out-of-Order Execution.” USENIX Security Symposium, 2018.