SEV-SNP is AMD’s third-generation confidential computing technology for EPYC processors, and the generation in production use across major cloud providers (AWS, Google Cloud) and Linux distributions today. It builds on two predecessors: SEV (2016), which encrypted each VM’s memory with a per-VM AES key managed by the AMD Secure Processor, and SEV-ES (2017), which additionally encrypted CPU register state on VM exit to prevent the hypervisor from reading guest execution state. SEV-SNP’s defining addition is memory integrity: using Secure Nested Paging, the firmware enforces that if a guest can read an encrypted memory location, the value returned must be exactly what the guest last wrote there — closing the replay, remap, and memory aliasing attacks that made earlier generations insufficient for a fully untrusted hypervisor threat model.
The trust boundary is enforced by the AMD Secure Processor (ASP), an on-die ARM Cortex-A5 running AMD firmware that owns key management and launch policy. At guest launch, the ASP measures the initial memory contents and binds a guest policy — a bitmask controlling whether debugging, SMT, or migration are permitted — that neither the guest nor the hypervisor can alter afterwards. The result is a launch measurement that uniquely identifies the initial state of the TD. For remote attestation, the guest can request a signed attestation report from the ASP containing that measurement along with current firmware version and platform identity, signed with an AMD-rooted key chain. A relying party can verify this report against AMD’s Key Distribution Service (KDS) to confirm the guest is running on genuine AMD hardware with a specific, unmodified software stack, before sending it secrets.
Compared to TDX, the architectural approach differs: TDX uses a CPU-measured module in SEAM mode as an intermediary, while SEV-SNP places trust in the AMD Secure Processor firmware running entirely on-die. Both achieve a similar confidential computing threat model — a guest protected from a fully compromised hypervisor and host — and both are supported by the CNCF Confidential Containers and Linux kernel stacks. On Linux, SEV-SNP guests pair naturally with UKI-based measured boot and systemd-cryptenroll for secret injection at launch time.
