SEV est une solution d'informatique confidentielle basée sur une machine virtuelle ; elle protège les données en cours d'utilisation en créant un environnement d'exécution fiable, défini par les limites de la machine virtuelle confidentielle. SEV utilise une clé par machine virtuelle pour isoler les invités et l'hyperviseur les uns des autres. Les clés sont entièrement gérées par AMD Secure Processor. SEV nécessite une activation dans le système d'exploitation invité ainsi que dans l'hyperviseur. Les changements de l'invité permettent à la machine virtuelle d'indiquer quelles pages de la mémoire doivent être cryptées. Les modifications de l'hyperviseur s'appuient sur les instructions de virtualisation hardware et sur une communication avec AMD Secure Processor afin de gérer les clés appropriées au niveau du contrôleur mémoire. AMD a fait évoluer SEV à chaque génération de CPU pour serveur AMD EPYC afin d'y ajouter de nouvelles fonctionnalités et capacités, en réponse à l'évolution des menaces de sécurité. Ces améliorations sont décrites ci-dessous.
Encrypted State (ES) – anciennement appelé SEV-ES
SEV-ES crypte tout le contenu du registre CPU lorsqu'une machine virtuelle cesse de fonctionner. Cela empêche la fuite d'informations dans les registres CPU vers des composants tels que l'hyperviseur et peut même détecter des modifications malveillantes sur un état de registre CPU.
Secure Nested Paging (SNP) – anciennement appelé SEV-SNP
SEV-SNP ajoute de solides capacités de protection de l'intégrité de la mémoire pour éviter les attaques d'hyperviseur malveillant comme la reproduction de données, le nouveau mappage des données et plus encore, afin de créer un environnement d'exécution isolé. De plus, SEV-SNP introduit plusieurs améliorations de sécurité optionnelles visant à prendre en charge de nouveaux modèles d'utilisation des machines virtuelles, à renforcer la protection liée au comportement des interruptions et à offrir une protection accrue contre des attaques par canaux auxiliaires récemment identifiées.
E/S sécurisées (TIO) – anciennement appelé SEV-TIO
SEV-TIO étend l'environnement d'exécution de confiance (TEE) créé par SEV afin d'inclure les appareils PCIe (cartes réseau, accélérateurs, stockage), en s'appuyant sur le protocole de sécurité TEE Device Interface Security Protocol (TDISP) défini par le PCI-SIG. TDISP définit de nouveaux protocoles et fonctionnalités permettant aux appareils de s'authentifier, d'empêcher l'interception ou l'usurpation du trafic au sein du tissu PCIe, d'attester de leur configuration et d'isoler les charges de travail invitées des contrôles d'appareils accessibles aux pilotes hôtes.
AMD Transparent Secure Memory Encryption (TSME)
TSME utilise une clé unique pour crypter la mémoire système. La clé est gérée par AMD Secure Processor au démarrage. SME nécessite une activation dans le BIOS du système ou le système d'exploitation. Lorsqu'il est activé dans le BIOS, le cryptage de la mémoire est transparent et peut être exécuté avec n'importe quel système d'exploitation.
Fonctionnalités et capacités SEV pour chaque génération de CPU pour serveur AMD EPYC™
| Génération de CPU pour serveur AMD EPYC | Nouvelles fonctionnalités | Nouvelles capacités |
| AMD EPYC™ 7001 | Encrypted State via des machines virtuelles confidentielles | Cryptage AES XEX 128 bits 128 threads 15 clés |
| AMD EPYC™ 7002 | Registres de CPU cryptés via Encrypted State (ES) | 256 threads 509 clés Évolutivité améliorée |
| AMD EPYC™ 7003 | Isolation de l'hyperviseur et prise en charge de l'attestation invité grâce à Secure Nested Paging (SNP) | |
| AMD EPYC™ 8004 et 9004 | Cryptage de la mémoire pour la mémoire connectée au CXL | Cryptage AES-XTS 256 bits plus puissant 512 threads 1 006 clés Prise en charge de jusqu'à 63 clés multi-hôtes |
| AMD EPYC™ 8005 | RMP segmenté AVIC sécurisé Virtualisation des compteurs de performance (PMC) Contrôles d'interception des invités Masquage du texte crypté |
|
| AMD EPYC™ 9005 | E/S sécurisées via TDISP (anciennement SEV-TIO) |
Livres blancs et spécifications
| Document | Description | Révision | Date |
|---|---|---|---|
| Spécification de l'interface firmware SEV‑TIO | Spécifie l'extension E/S sécurisées (TIO) du firmware SEV. L'extension TIO fournit un mécanisme permettant aux systèmes invités de se lier à des appareils de confiance et de les utiliser au sein de leur espace d'adressage privé. | 0.91 | Juillet 2025 |
| Attestation de plateforme SEV-SNP avec VirTEE/SEV | Le crate VirTEE/SEV propose une API simple d'utilisation, compatible avec Rust, permettant d'interagir avec AMD Secure Processor intégré aux CPU AMD EPYC de 3e génération et ultérieurs. | 1.2 | Juillet 2023 |
| Livre blanc SEV‑TIO | Présentation de la technologie E/S sécurisées visant à améliorer les performances d'E/S et la sécurité dans les environnements invités AMD SEV | Mars 2023 | |
| Spécification du certificat VCEK (Versioned Chip Endorsement Key) et de l'interface KDS | Introduction au certificat VCEK et à l'interface KDS utilisée pour récupérer le certificat. | 1.00 | Janvier 2025 |
| Standardisation du bloc de communication invité‑hyperviseur (GHCB) | Standardise le format du bloc de communication invité‑hyperviseur (GHCB) et définit le support d'interruption requis ainsi que l'état invité associé à fournir dans le GHCB afin de permettre l'interopérabilité entre les hyperviseurs et les invités SEV‑ES. | 2.04 | Janvier 2025 |
| Spécification de l'ABI du firmware SEV Secure Nested Paging (SNP) | Documente l'API mise à disposition de l'hyperviseur hôte pour la gestion des invités utilisant SNP. | 1.58 | Mai 2025 |
| Spécification SVSM | Module de services de machine virtuelle sécurisée (Secure VM Service Module, SVSM) pour les invités SEV | 1.0 | Juillet 2023 |
| Cryptage de la mémoire AMD | Introduction de Secure Memory Encryption (SME) et Secure Encrypted Virtualization (SEV). | Octobre 2021 | |
| API Secure Encrypted Virtualization | Documente l'API disponible pour l'hyperviseur hôte pour la gestion des clés et le transfert sécurisé des données entre l'hyperviseur hôte et la mémoire de la machine virtuelle invitée | 3.24 | Avril 2020 |
| Manuel du programmeur d’architecture AMD64 volume 2 | Décrit les ressources et les fonctions de l'architecture AMD64 gérées par le software système. Sections Notes
|
3.44 | Mars 2026 |
| AMD SEV-SNP | Renforce l'isolation des machines virtuelles grâce à la protection de l'intégrité et à des fonctionnalités supplémentaires. | Janvier 2020 | |
| OpenStack : pilote libvirt pour le lancement d'instances cryptées avec AMD SEV | Décrit les travaux nécessaires pour permettre au pilote libvirt de Nova de prendre en charge le lancement d'instances KVM cryptées à l'aide de la technologie AMD SEV (Secure Encrypted Virtualization). | Janvier 2019 | |
| Protection de l'état des registres des VM avec SEV‑ES | Présentation technique de la fonctionnalité Encrypted State (SEV‑ES), des principes de l'architecture sous-jacente et des mécanismes de protection permettant de renforcer l'isolation des machines virtuelles cryptées. | Février 2017 |
Liens et téléchargements
| Lien | Description |
|---|---|
| https://github.com/AMDESE/AMDSEV | Code open source Linux en cours de développement |
| Conteneurs confidentiels | Projet Conteneurs confidentiels (CoCO) |
| Utilisation d'AMD Secure Memory Encryption avec Oracle Linux | Prise en charge de SME et SEV dans Oracle UEK. |
| SUSE : Guide AMD Secure Encrypted Virtualization (AMD SEV) | Fournit une compréhension de base du fonctionnement de SEV, de son activation et de sa configuration, ainsi que de certaines limites et restrictions liées à son utilisation par rapport à la virtualisation non cryptée. |
| ask_ark_naples.cert | Certificats ASK/ARK pour EPYC 7xx1 (Naples) |
| ask_ark_rome.cert | Certificats ASK/ARK pour EPYC 7xx2 (Rome) |
| ask_ark_milan.cert | Certificats ASK/ARK pour EPYC 7xx3 (Milan) |
| ask_ark_genoa.cert | Certificats ASK/ARK pour EPYC 9xx4 (Genoa) |
| ask_ark_prod_turin.cert | Certificats ASK/ARK pour EPYC 9xx5 (Turin) |
| amd_sev_fam17h_model01h_0.17.49.zip | Firmware SEV | Firmware SEV 0.17.49 [hex 00.11.31] pour EPYC 7xx1 (Naples) |
| amd_sev_fam17h_model3xh_0.24.22.zip | Firmware SEV | Firmware SEV 0.24.22 [hex 00.18.16] pour EPYC 7xx2 (Rome) |
| amd_sev_fam19h_model0xh_1.58.02.zip | Firmware SEV | Firmware SEV 1.58.02 [hex 1.3A.02] pour EPYC 7xx3 (Milan) |
| amd_sev_fam19h_model1xh_1.58.02.zip | Firmware SEV | Firmware SEV 1.58.02 [hex 1.3A.02] pour EPYC 9xx4 (Genoa) |
| amd_sev_fam1ah_model0xh_1.58.06.zip | Firmware SEV | Firmware SEV 1.58.06 [hex 1.3A.06] pour EPYC 9xx5 (Turin) |
| Page Web du certificat CEK | Outil interactif pour obtenir le certificat CEK. Également disponible à l'adresse suivante : https://kdsintf.amd.com/cek/id/<GetIDValue> |
| https://github.com/AMDESE/sev-tool | Outil AMD SEV obsolète pour la gestion des certificats de plateforme SEV |
Présentations techniques
| Forum | Présentation | Date |
|---|---|---|
| Sommet sur la sécurité Linux (2022) | Attestation Secure Nested Paging : établir la confiance dans les invités | Septembre 2022 |
| Forum KVM (2022) | Fournir des services aux invités confidentiels avec un module Secure VM Service sur AMD | Septembre 2022 |
| Sommet sur la sécurité Linux (2021) | Mise à jour du développement de Secure Nested Paging | Septembre 2021 |
| Forum KVM (2021) | Se protéger contre un hyperviseur malveillant grâce à Secure Nested Paging | Septembre 2021 |
| Sommet sur la sécurité Linux (2019) | Prochaines technologies x86 pour la protection contre les hyperviseurs malveillants | Novembre 2019 |
| Forum KVM (2019) | Secure Encrypted Virtualization : quelle sera la prochaine étape ? | Novembre 2019 |
| Sommet sur la sécurité Linux (2019) | Enarx – exécution sécurisée avec attestation grâce à SEV d'AMD | Août 2019 |
| Sommet sur la sécurité Linux (2018) | Mise à jour d'AMD Encrypted Virtualization | Novembre 2018 |
| Forum KVM (2018) | Extension de Secure Encrypted Virtualization avec Encrypted State | Octobre 2018 |
| Sommet sur la sécurité Linux (2017) | Protection de l'état des registres des machines virtuelles avec Encrypted State | Septembre 2017 |
| Sommet sur la sécurité Linux (2016) | Technologies de chiffrement de mémoire AMD x86 | Décembre 2016 |
| Forum KVM (2016) | Technologie de chiffrement de la mémoire de virtualisation AMD | Septembre 2016 |
| Sommet Xen | Technologie de chiffrement de la mémoire de virtualisation AMD | Septembre 2016 |
| Symposium sur la sécurité Usenix | Technologies de chiffrement de mémoire AMD x86 | Août 2016 |