Contenu du registre de mesures Confidential VM

Ce document explique quels composants sont mesurés dans les registres de mesure pour les différentes technologies de informatique confidentielle.

Registres de configuration de plate-forme vTPM

Chaque registre de configuration de plate-forme (PCR) d'un vTPM de VM confidentielle contient trois banques pour les condensés SHA-1, SHA-256 et SHA-384.

L'utilisation des PCR 0 à 7 est à peu près standardisée dans les spécifications suivantes :

Les PCR supérieures à 7 sont utilisées par le système d'exploitation ou d'autres manières spécifiques à la plate-forme. Pour en savoir plus, consultez Registre PCR TPM Linux.

Les instances Confidential VM mesurent les composants suivants dans leurs PCR vTPM :

Index Éléments mesurés
0

Mesure statique de la racine de confiance (SRTM), BIOS, ROM d'option intégrées.

Le PCR 0 des UEFI Compute Engine n'est pas standard selon la spécification du profil de micrologiciel Trusted Computing Group, car il n'inclut pas de mesure pour l'intégralité du blob binaire du micrologiciel. Cela permet d'assurer la stabilité. Chaque lancement d'instance de VM Compute Engine est traité comme une nouvelle machine, démarrée avec la dernière version du micrologiciel virtuel. En omettant la mesure du blob binaire du micrologiciel, la validation de l'attestation n'est pas perturbée par les modifications du micrologiciel qui ne sont pas liées à la sécurité ou qui se sont produites à la suite de modifications de la chaîne d'outils.

Le PCR 0 est stable pendant toute la durée de vie d'une seule VM, même en cas de redémarrage et de mise à jour logicielle. Cela ne s'applique pas à deux cycles de vie de VM différents, même avec la même image.

Confidential VM mesure deux événements supplémentaires dans le PCR 0 :

  • Version du micrologiciel virtuel Compute Engine : EV_S_CRTM_VERSION. La dernière version du micrologiciel virtuel est 2.
  • L'événement NonHostInfo Compute Engine, qui stocke la technologie d'informatique confidentielle exécutée sur la VM.

Les valeurs d'événement NonHostInfo sont détaillées dans le tableau suivant.

Valeur d'énumération Technologie d'informatique confidentielle utilisée
0 Aucun
1 AMD SEV
2 AMD SEV-ES
3 Intel TDX
4 AMD SEV-SNP
1 Configuration de la plate-forme hôte, y compris l'ordre de démarrage, les entrées de démarrage, les mises à jour du microcode et les volumes de micrologiciel.
2 Code du pilote et de l'application UEFI.
3 Configuration et données des pilotes et applications UEFI.
41 Événements de mesure d'application EFI portable executable (PE) ou common object file format (COFF) (par exemple, les chargeurs de démarrage), qui indiquent la transition de l'UEFI vers la première application EFI.
5 Mesure GPT (lorsque l'option de démarrage utilise GPT), ExitBootServices.
6 Spécifique au fabricant de la plate-forme hôte, non utilisé dans l'implémentation EDK II de référence.
71

Règle de démarrage sécurisé. Inclut les variables UEFI suivantes :

  • SecureBoot : indique si le démarrage sécurisé est activé ou désactivé.
  • PK : clé de plate-forme, un certificat X.509 utilisé par le micrologiciel pour vérifier les signatures des mises à jour des variables PK et KEK.
  • KEK : clés d'échange de clés. Un ou plusieurs certificats X.509 utilisés par le micrologiciel pour valider les signatures des mises à jour des variables db et dbx.
  • db : base de données de signatures, liste d'autorisation des certificats ou des hachages de tous les logiciels autorisés à s'exécuter sur la VM.
  • dbx : base de données de signatures interdites, liste de révocation de certificats ou de hachages pour les logiciels qui ne sont plus approuvés et dont le démarrage doit être bloqué.

Le PCR 7 reste stable tant que l'état du démarrage sécurisé et la hiérarchie de signature restent les mêmes. Deux images différentes, à condition qu'elles soient signées avec la même clé et utilisent la même hiérarchie de clés, génèrent la même valeur PCR 7.

8 Toutes les commandes exécutées par le chargeur de démarrage GRUB, ainsi que les lignes de commande du noyau et du module qui en résultent.
9 Tous les fichiers lus par GRUB, tels que grub.cfg.
10 Intégrité du noyau, utilisée par l' architecture de mesure de l'intégrité (IMA) de Linux.
13 Mesures de charge de travail et de configuration pour les environnements Confidential Space.
141 État de la clé du propriétaire de la machine (MOK) shim.

1 En fonction de la configuration, shim étend également les mesures aux PCR 4, 7 et 14.

Registre de mesure AMD SEV-SNP

Le processeur sécurisé AMD dispose d'un seul registre de lancement MEASUREMENT. Comme les autres registres de mesure de l'informatique confidentielle, les mesures sont hachées et chaînées pour produire un résumé final. Pour AMD SEV-SNP, l'algorithme SHA-384 est utilisé.

Les composants suivants sont mesurés et contribuent au récapitulatif final :

  • Micrologiciel virtuel de l'instance de VM.

  • La structure, mais pas le contenu, des pages mémoire suivantes :

    • La page de mémoire sécurisée SNP, qui représente un bloc de mémoire que le micrologiciel virtuel exige de l'hyperviseur pour la prévalidation avant le démarrage de la VM.

    • La page "Secrets", qui contient les clés utilisées pour la communication entre l'invité et le processeur sécurisé AMD.

    • Page CPUID contenant les fonctionnalités de processeur validées.

  • La zone de sauvegarde de la machine virtuelle (VMSA) pour chaque processeur virtuel alloué à l'instance de VM confidentielle. Si la VM comporte plusieurs processeurs virtuels, chaque VMSA est haché individuellement dans la chaîne, dans l'ordre séquentiel.

Vous pouvez également accéder aux mesures vTPM des VM protégées. Toutefois, contrairement au processeur AMD Secure, les mesures sont attestées par logiciel et non par matériel.

Registres de mesure Intel TDX

Intel TDX utilise les registres de mesure suivants :

  • Mesure du domaine de confiance (MRTD, Measurement of the Trust Domain)

  • Registres de mesure du temps d'exécution (RTMR)

Chaque registre stocke un condensé SHA-384.

Les instances de Confidential VM mesurent les composants suivants dans les registres de mesure Intel TDX :

Registre des mesures Éléments mesurés
MRTD Firmware virtuel du domaine de confiance (TDVF), pris lors du processus de compilation du TD.
RTMR[0] Configuration TDVF (bloc de transfert TD, ACPI, configuration du démarrage sécurisé).
RTMR[1] Chargeur TD (GRUB/shim).
RTMR[2] Le noyau et la ligne de commande transmise au noyau.
RTMR[3] (User-defined) Mesure des journaux d'événements supplémentaires transmise depuis l'espace utilisateur.

Vous pouvez également accéder aux mesures vTPM des VM protégées, bien que, contrairement au module Intel TDX, les mesures soient attestées par logiciel et non par matériel.