SVV ist eine auf virtuellen Maschinen basierende Lösung für Confidential Computing; sie schützt Daten während der Nutzung durch die Schaffung einer Trusted Execution Environment (vertrauenswürdige Ausführungsumgebung), die durch die Grenzen der vertraulichen VM definiert wird. SVV verwendet einen Schlüssel pro virtueller Maschine, um Gastsysteme und den Hypervisor voneinander zu isolieren. Die Schlüssel werden vom AMD Secure Processor verwaltet. SVV erfordert eine Aktivierung im Gastbetriebssystem und im Hypervisor. Die Anpassungen im Gastbetriebssystem ermöglichen es der virtuellen Maschine, anzugeben, welche Speicherseiten verschlüsselt werden sollen. Die Anpassungen im Hypervisor nutzen Hardware-Virtualisierungsbefehle sowie die Kommunikation mit dem AMD Secure Processor, um die entsprechenden Schlüssel im Speichercontroller zu verwalten. AMD hat SVV weiterentwickelt, um mit jeder Generation von AMD EPYC Server-CPUs neue Funktionen und Fähigkeiten hinzuzufügen, die dabei helfen, den sich wandelnden Sicherheitsanforderungen gerecht zu werden. Diese Verbesserungen werden im Folgenden beschrieben.
Encrypted State (ES) – früher bekannt als SVV-ES
SVV-ES verschlüsselt den gesamten Inhalt der CPU-Register, sobald eine VM nicht mehr ausgeführt wird. Dies verhindert das Auslaufen von Informationen aus CPU-Registern an Komponenten wie den Hypervisor und kann sogar böswillige Änderungen am Zustand eines CPU-Registers erkennen.
Secure Nested Paging (SNP) – früher bekannt als SVV-SNP
SVV-SNP bietet einen starken Schutz der Speicherintegrität, um böswillige Hypervisor-basierte Angriffe wie Datenwiedereinspielung, Speicher-Re-Mapping und mehr zu verhindern und so eine isolierte Ausführungsumgebung zu schaffen. Darüber hinaus führt SVV-SNP mehrere zusätzliche optionale Sicherheitsfunktionen ein. Diese unterstützen weitere Einsatzszenarien für virtuelle Maschinen, bieten einen stärkeren Schutz bei der Verarbeitung von Interrupts und erhöhen die Widerstandsfähigkeit gegen kürzlich bekannt gewordene Side-Channel-Angriffe.
Trusted I/O (TIO) – früher bekannt als SVV-TIO
SVV-TIO (Trusted I/O) erweitert die durch SVV geschaffene Trusted Execution Environment (TEE) auf PCIe-Geräte wie Netzwerkkarten (NICs), Beschleuniger und Speichergeräte. Dabei wird das von der PCI-SIG definierte TEE Device Interface Security Protocol (TDISP) verwendet. TDISP definiert neue Protokolle und Gerätefunktionen, die PCIe-Geräten die Authentifizierung ihrer Identität ermöglichen, das Abfangen oder Vortäuschen von Datenverkehr verhindern, die Integrität ihrer Konfiguration nachweisbar machen und die Workloads eines Gastsystems von den durch Host-Treiber gesteuerten Gerätefunktionen isolieren.
AMD Transparente sichere Speicherverschlüsselung (TSSV)
TSSV verwendet einen einzigen Schlüssel zur Verschlüsselung des gesamten Systemspeichers. Der Schlüssel wird beim Systemstart vom AMD Secure Processor generiert. TSSV muss im System-BIOS oder im Betriebssystem aktiviert werden. Wird die Funktion im BIOS aktiviert, erfolgt die Speicherverschlüsselung transparent und kann mit jedem Betriebssystem verwendet werden.
SVV-Funktionen und -Merkmale der einzelnen Generationen von AMD EPYC™ Server-CPUs
| Generation der AMD EPYC Server-CPU | Neue Features | Neue Funktionen |
| AMD EPYC™ 7001 | Encrypted State durch vertrauliche VMs | 128-Bit-AES-XEX-Verschlüsselung 128 Threads 15 Schlüssel |
| AMD EPYC™ 7002 | Verschlüsselte CPU-Register durch Encrypted State (ES) | 256 Threads 509 Schlüssel Erweiterte Skalierbarkeit |
| AMD EPYC™ 7003 | Hypervisor-Isolierung und Unterstützung für Gastattestierung durch Secure Nested Paging (SNP) | |
| AMD EPYC™ 8004 und 9004 | Speicherverschlüsselung für CXL Attached Memory | Stärkere 256-Bit-AES-XTS-Verschlüsselung 512 Threads, 1.006 Schlüssel, Unterstützung für bis zu 63 Multi-Host-Schlüssel |
| AMD EPYC™ 8005 | Segmentierte RMP Secure AVIC Virtualisierung von Performance Countern (PMC) Kontrollmechanismen für Gast-Interceptions Ciphertext Hiding |
|
| AMD EPYC™ 9005 | Trusted I/O über TDISP (früher SVV-TIO) |
Whitepapers und Spezifikationen
| Dokument | Beschreibung | Revision | Datum |
|---|---|---|---|
| Spezifikation der SVV-TIO-Firmware-Schnittstelle | Beschreibt die Trusted-I/O-Erweiterung der SVV-Firmware. Die TIO-Erweiterung stellt einen Mechanismus bereit, mit dem Gastsysteme vertrauenswürdige Geräte innerhalb ihres privaten Adressraums binden und nutzen können. | 0.91 | Juli 2025 |
| SVV-SNP-Plattform-Attestierung mit VirTEE/SVV | Die VirTEE/SVV-Crate bietet eine Rust-kompatible, benutzerfreundliche API für die Anbindung an den AMD Secure Processor, der in AMD EPYC Prozessoren der 3. Generation und neuer enthalten ist. | 1.2 | Juli 2023 |
| SVV-TIO-Whitepaper | Überblick über die Trusted-I/O-Technologie für verbesserte I/O-Performance und Sicherheit in AMD-SVV-Gastsystemen | März 2023 | |
| Zertifikat „Versioned Chip Endorsement Key“ (VCEK) und Spezifikation der KDS-Schnittstelle | Einführung in das VCEK-Zertifikat und die KDS-Schnittstelle, die zum Abrufen des Zertifikats verwendet wird. | 1.00 | Januar 2025 |
| GHCB-Standardisierung (Guest Hypervisor Communication Block) | Standardisiert das Format des Guest-Hypervisor Communication Block (GHCB) und legt die erforderliche Exit-Unterstützung sowie den zugehörigen Gastzustand fest, die im GHCB bereitgestellt werden müssen, um die Interoperabilität zwischen Hypervisoren und SVV-ES-Gästen zu ermöglichen. | 2.04 | Januar 2025 |
| SVV Secure Nested Paging Firmware ABI-Spezifikation | Dokumentiert die API, die dem Host-Hypervisor zur Verwaltung von SNP-aktiven Gastsystemen zur Verfügung steht. | 1.58 | Mai 2025 |
| SVSM-Spezifikation | Secure VM Service Module (SVSM) für SVV-Gäste | 1.0 | Juli 2023 |
| AMD Memory Encryption | Einführung in sichere Speicherverschlüsselung (SSV) und sichere verschlüsselte Virtualisierung (SVV). | Oktober 2021 | |
| Secure Encrypted Virtualization (API) | Dokumentiert die API, die dem Host-Hypervisor zur Verwaltung von Schlüsseln sowie für den sicheren Datenaustausch zwischen dem Host-Hypervisor und dem Speicher der Gast-VM zur Verfügung steht. | 3.24 | April 2020 |
| AMD64-Architektur: Programmierhandbuch, Band 2 | Beschreibt die Ressourcen und Funktionen der AMD64-Architektur, die von der Systemsoftware verwaltet werden. Hinweise
|
3.44 | März 2026 |
| AMD SVV-SNP | Verbesserung der VM-Isolation durch Integritätsschutz und weitere Maßnahmen. | Januar 2020 | |
| OpenStack: libvirt-Treiber zum Starten von AMD-SVV-verschlüsselten Instanzen | Schlägt die notwendigen Anpassungen vor, damit der libvirt-Treiber von Nova das Starten von KVM-Instanzen unterstützt, die mit der AMD-SVV-Technologie (sichere verschlüsselte Virtualisierung) verschlüsselt sind. | Januar 2019 | |
| Schutz des VM-Registerzustands mit SVV-ES | Technischer Überblick über die Encrypted-State-Funktion (SVV-ES), die zugrunde liegenden Architekturprinzipien sowie die bereitgestellten Schutzmechanismen zur weiteren Isolierung verschlüsselter virtueller Maschinen. | Februar 2017 |
Links und Downloads
| Link | Beschreibung |
|---|---|
| https://github.com/AMDESE/AMDSEV | Linux-Open-Source-Code in der Entwicklung |
| Confidential Containers | Confidential Containers (CoCO)-Projekt |
| Einsatz von AMD Sichere Speicherverschlüsselung mit Oracle Linux | Oracle UEK-Unterstützung für SSV und SVV. |
| SUSE: Leitfaden zu AMD Sichere verschlüsselte Virtualisierung (AMD-SVV) | Vermittelt ein grundlegendes Verständnis der Funktionsweise von SVV, beschreibt die Aktivierung und Konfiguration sowie einige der Einschränkungen im Vergleich zu nicht verschlüsselter Virtualisierung. |
| ASK_ark_naples.cert | ASK/ARK-Zertifikate für EPYC 7xx1 (Naples) |
| ASK_ark_rome.cert | ASK/ARK-Zertifikate für EPYC 7xx2 (Rome) |
| ASK_ark_milan.cert | ASK/ARK-Zertifikate für EPYC 7xx3 (Milan) |
| ASK_ark_genoa.cert | ASK/ARK-Zertifikate für EPYC 9xx4 (Genoa) |
| ask_ark_prod_turin.cert | ASK/ARK-Zertifikate für EPYC 9xx5 (Turin) |
| amd_sev_fam17h_model01h_0.17.49.zip | SVV-Firmware | SVV-Firmware 0.17.49 [hex 00.11.31] für EPYC 7xx1 (Naples) |
| amd_sev_fam17h_model3xh_0.24.22.zip | SVV-Firmware | SVV-Firmware 0.24.22 [hex 00.18.16] für EPYC 7xx2 (Rome) |
| amd_sev_fam19h_model0xh_1.58.02.zip | SVV-Firmware | SVV-Firmware 1.58.02 [hex 1.3A.02] für EPYC 7xx3 (Milan) |
| amd_sev_fam19h_model1xh_1.58.02.zip | SVV-Firmware | SVV-Firmware 1.58.02 [hex 1.3A.02] für EPYC 9xx4 (Genoa) |
| amd_sev_fam1ah_model0xh_1.58.06.zip | SVV-Firmware | SVV-Firmware 1.58.06 [hex 1.3A.06] für EPYC 9xx5 (Turin) |
| Webseite für CEK-Zertifikat | Interaktives Tool zum Erhalt des CEK-Zertifikats. Auch als https://kdsintf.amd.com/cek/id/<GetIDValue> erhältlich |
| https://github.com/AMDESE/sev-tool | Veraltetes AMD SVV-Tool zur Verwaltung von SVV-Plattformzertifikaten |
Technische Präsentationen
| Forum | Präsentation | Datum |
|---|---|---|
| Linux Security Summit (2022) | Secure Nested Paging Attestation: Establishing Trust in Guests | September 2022 |
| KVM Forum (2022) | Providing Confidential Guest Services with a Secure VM Service Module on AMD | September 2022 |
| Linux Security Summit (2021) | Secure Nested Paging Development Update | September 2021 |
| KVM Forum (2021) | Protecting from Malicious Hypervisor Using Secure Nested Paging | September 2021 |
| Linux Security Summit (2019) | Upcoming x86 Technologies for Malicious Hypervisor Protection | November 2019 |
| KVM Forum (2019) | Secure Encrypted Virtualization – What’s Next? | November 2019 |
| Linux Security Summit (2019) | Enarx – Attested, Secured Execution with AMD’s SEV | August 2019 |
| Linux Security Summit (2018) | AMD Encrypted Virtualization Update | November 2018 |
| KVM Forum (2018) | Extending Secure Encrypted Virtualization with Encrypted State | Oktober 2018 |
| Linux Security Summit (2017) | Protecting VM Register State with Encrypted State | September 2017 |
| Linux Security Summit (2016) | AMD x86 Memory Encryption Technologies | Dezember 2016 |
| KVM Forum (2016) | AMD Virtualization Memory Encryption Technology | September 2016 |
| Xen Summit | AMD Virtualization Memory Encryption Technology | September 2016 |
| Usenix Security Symposium | AMD x86 Memory Encryption Technologies | August 2016 |
Benutzerhandbücher
| Dokument | Datum |
|---|---|
| Using SEV with AMD EPYC™ Processors | Oktober 2023 |
| Solving the Cloud Trust Problem with WinMagic and AMD EPYC Hardware Memory Encryption | Oktober 2018 |
| Enhance your Cloud Security with AMD EPYC Hardware Memory Encryption | Oktober 2018 |