Intel Trust Domain Extensions (Intel TDX) is a CPU-level technology proposed by Intel in May 2021 for implementing a trusted execution environment in which virtual machines (called "Trust Domains", or TDs) are hardware-isolated from the host's Virtual Machine Monitor (VMM), hypervisor, and other software on the host. This hardware isolation is intended to prevent threat actors with administrative access or physical access to the virtual machine host from compromising aspects of the TD virtual machine's confidentiality and integrity. Intel TDX also supports a remote attestation feature which allows users to determine that a remote system has Intel TDX protections enabled prior to sending it sensitive data. Intel TDX is of particular use for cloud providers, as it increases isolation of customer virtual machines and provides a higher level of assurance that the cloud provider cannot access the customer's data. Intel TDX was described in and is pending US patent number 20210141658A1.
Architecture overview Intel TDX consists of multiple components including Virtual Machine Extensions (VMX) instruction set architecture (ISA) extensions, a technology for memory encryption, and a new CPU operation mode called SEAM ("Secure Arbitration Mode"), which hosts the Intel TDX Module.
Memory protections Intel TDX defines two classes of memory: shared memory and private memory. Shared memory is intended to be used for communicating with the TD host and may receive some Intel TDX protections. Private memory received full Intel TDX confidentiality and integrity protections. Intel TDX implements memory protection by encrypting the TD's memory with a per-TD AES-XTS 128-bit key. To avoid leaking ciphertext, memory access is limited to being from the SEAM mode and direct memory access is unavailable. If memory integrity protections are enabled, a MAC using SHA-3-256 is generated for the private memory and if the MAC validation fails, the TD VM is terminated. TD VM registers are also kept confidential by storing them in a per-TD save state and scrubbing them when the TD returns control to the VMM.
Guest-hypervisor communication
Intel TDX provides hardware isolation of TD VMs by brokering all VMM to TD communication through the Intel TDX Module and preventing the VMM from accessing the TD's data. The VMM communicates to the Intel TDX Module using new SEAMCALL and SEAMRET CPU instructions. SEAMCALL is used by the VMM to invoke the Intel TDX module to create, delete, or execute a TD. SEAMRET is used by the Intel TDX Module to return execution back to the VMM. AMD also has a similar hardware isolation layer, called Secure Encrypted Virtualization - Encrypted State (SEV-ES), to allow for Trust Domains to interact with VMs.
Remote attestation Intel TDX's remote attestation feature builds on the Intel SGX technology to allow someone to determine that a remote TD has Intel TDX protections enabled prior to sending it sensitive data. The remote attestation report can be generated by the Intel TDX Module calling the SEAMREPORT instruction. The SEAMREPORT instruction generates a MAC-signed "Report" structure which includes information such as the version numbers of the Intel TDX's components. The VMM would then use Intel SGX enclaves to convert that "Report" structure into a remotely verifiable "Quote", which it would send to the system requesting attestation.
Hardware and operating system support Intel TDX was introduced with some special SKUs of 4th Gen Intel Xeon Scalable processors (codename Sapphire Rapids) and it is broadly available with all Intel Xeon processors since 5th Gen Intel Xeon Scalable processors (codename Emerald Rapids). First patches to support Intel TDX technology in the Linux kernel were posted in the Linux kernel mailing list around June 2021, were merged on May 24, 2022, and were included in the mainline Linux Kernel version 5.19. Microsoft Azure has announced that as of April 24, 2023 their new DCesv5-series and ECesv5-series virtual machines would support Intel TDX. They have also published information how to use Intel TDX as part of Microsoft Azure Attestation.
Comparisons to SGX Intel TDX is somewhat similar to Intel SGX, as in that both are implementations of trusted execution environments. However, they are significantly different in the scope of the protections and that Intel SGX requires that applications be rewritten to support Intel SGX, while Intel TDX only requires support at the hardware and operating system levels. On the VMM host, Intel TDX involves the use of SGX enclaves to enable support for remote attestation. Additionally, even an operating system which does not support running as a TD VM can be protected by being launched as a nested VM within a TD VM.
References
