What is SGX (Software Guard eXtensions)?

It is a TEE (Trusted Execution Environment). Everything outside the processor chip is not trusted. In particular, the BIOS (Basic Input/Output System), the SMM (System Management Mode, ring -2), the ME (Intel Management Engine, ring -3), and the OS (Operating System, ring 0) are not trusted.

The SGX code and data are put inside a special container (an SGX enclave). The contents of the enclave are signed (they are loaded from an untrusted source…) and can be attested by an external third party. The contents of the enclave are isolated from the rest of the system. The enclave code runs in ring 3 (least privileged mode).

All SGX instructions are implemented in microcode (potential attack vector).

Last updated