Konubinix' opinionated web of thoughts

Intel Sgx Encryption


Memory Encryption

All enclave data is transparently encrypted in memory. This is performed by the SGX Memory Encryption Engine (MEE). The MEE uses a complicated combination of

  • Merkle trees,
  • a tweaked version of AES Counter Mode,
  • and a Carter-Wegman MAC construction.

This uses

  • a 128-bit confidentiality key,
  • a 56-bit counter,
  • a 128-bit integrity key (producing 56-bit MAC tags),
  • and a 512-bit universal hash key (used in the MAC construction).

These are generated at boot, placed in special MEE registers, and destroyed at system reset. The MEE operates on 512-bit cache lines, so each encryption takes four AES operations.

Notes pointant ici