Inhalte des Confidential VM-Messregisters

In diesem Dokument wird beschrieben, welche Komponenten für die verschiedenen Technologien für vertrauliches Computing in die Messregister aufgenommen werden.

vTPM-Plattformkonfigurationsregister

Jedes Plattformkonfigurationsregister (Platform Configuration Register, PCR) in einem vertraulichen VM-vTPM enthält drei Bänke für SHA-1-, SHA-256- und SHA-384-Digests.

Die Verwendung der PCRs 0–7 ist in den folgenden Spezifikationen ungefähr standardisiert:

PCRs über 7 werden vom Betriebssystem oder auf andere plattformspezifische Weise verwendet. Weitere Informationen finden Sie unter Linux TPM PCR Registry.

Bei Confidential VM-Instanzen werden die folgenden Komponenten in die vTPM-PCRs aufgenommen:

Index Was wird gemessen?
0

Statische Root of Trust-Messung (SRTM), BIOS, eingebettete Option-ROMs.

Der PCR 0 von Compute Engine-UEFIs ist gemäß der Firmware-Profilspezifikation der Trusted Computing Group nicht standardmäßig, da er keine Messung für den gesamten binären Firmware-Blob enthält. Das dient der Stabilität. Jeder Start einer Compute Engine-VM-Instanz wird als neuer Computer behandelt, der mit der neuesten virtuellen Firmware-Version gebootet wird. Wenn die Messung des Firmware-Binär-Blobs weggelassen wird, wird die Attestierungsüberprüfung nicht durch Firmware-Änderungen unterbrochen, die nicht sicherheitsbezogen sind oder durch Toolchain-Änderungen verursacht wurden.

PCR 0 ist für die gesamte Lebensdauer einer einzelnen VM stabil, auch bei Neustarts und Softwareupdates. Dies gilt nicht für zwei verschiedene VM-Lebenszyklen, auch wenn dasselbe Image verwendet wird.

Confidential VM misst zwei zusätzliche Ereignisse in PCR 0:

  • Die Version der virtuellen Compute Engine-Firmware: EV_S_CRTM_VERSION. Die aktuelle Version der virtuellen Firmware ist 2.
  • Das Compute Engine-Ereignis NonHostInfo, in dem die auf der VM ausgeführte Confidential Computing-Technologie gespeichert wird.

Die NonHostInfo-Ereigniswerte sind in der folgenden Tabelle aufgeführt.

Aufzählungswert Verwendete Confidential Computing-Technologie
0 Keine
1 AMD SEV
2 AMD SEV-ES
3 Intel TDX
4 AMD SEV-SNP
1 Konfiguration der Hostplattform, einschließlich Bootreihenfolge, Booteinträge, Mikrocode-Updates und Firmware-Volumes.
2 UEFI-Treiber- und Anwendungscode.
3 UEFI-Treiber- und Anwendungskonfiguration und ‑daten.
41 EFI-PE- oder COFF-Anwendungsmessereignisse (z. B. Bootloader), die den Übergang von UEFI zur ersten EFI-Anwendung signalisieren.
5 GPT-Messung (wenn die Boot-Option GPT verwendet), ExitBootServices.
6 Herstellerspezifisch für die Hostplattform, wird nicht in der EDK II-Referenzimplementierung verwendet.
71

Secure Boot -Richtlinie. Enthält die folgenden UEFI-Variablen:

  • SecureBoot: Gibt an, ob Secure Boot aktiviert oder deaktiviert ist.
  • PK: Der Plattformschlüssel, ein X.509-Zertifikat, das von der Firmware verwendet wird, um Signaturen für Updates der Variablen PK und KEK zu überprüfen.
  • KEK: Schlüssel für den Schlüsselaustausch. Ein oder mehrere X.509-Zertifikate, die von der Firmware verwendet werden, um Signaturen für Updates der Variablen db und dbx zu überprüfen.
  • db: Die Signaturdatenbank, eine Zulassungsliste von Zertifikaten oder Hashes aller Software, die auf der VM ausgeführt werden darf.
  • dbx: Die Datenbank mit verbotenen Signaturen, eine Sperrliste von Zertifikaten oder Hashes für Software, die nicht mehr vertrauenswürdig ist und nicht mehr gebootet werden darf.

PCR 7 bleibt stabil, solange der Secure Boot-Status und die Signaturhierarchie unverändert bleiben. Zwei verschiedene Bilder, sofern sie mit demselben Schlüssel signiert sind und dieselbe Schlüsselhierarchie verwenden, ergeben denselben PCR 7-Wert.

8 Alle vom GRUB-Bootloader ausgeführten Befehle und die resultierenden Kernel- und Modulbefehlszeilen.
9 Alle Dateien, die GRUB einliest, z. B. grub.cfg.
10 Kernel-Integrität, die von der Integrity Measurement Architecture (IMA) von Linux verwendet wird.
13 Messungen von Arbeitslasten und Konfigurationen für Confidential Space-Umgebungen.
141 Status des Machine Owner Key (MOK) für shim.

1 Je nach Konfiguration werden Messungen mit dem Shim auch auf die PCRs 4, 7 und 14 ausgeweitet.

AMD SEV-SNP-Messregister

Der AMD Secure Processor hat ein einzelnes MEASUREMENT-Register für den Start. Wie bei anderen Registern für vertrauliche Berechnungen werden die Messungen gehasht und verkettet, um einen endgültigen Digest zu erzeugen. Für AMD SEV-SNP wird der SHA-384-Algorithmus verwendet.

Die folgenden Komponenten werden gemessen und tragen zum endgültigen Digest bei:

  • Die virtuelle Firmware der VM-Instanz.

  • Die Struktur, aber nicht der Inhalt der folgenden Speicherseiten:

    • Die SNP-Seite für sicheren Speicher, die einen Speicherblock darstellt, für den die virtuelle Firmware eine Vorabvalidierung durch den Hypervisor erfordert, bevor die VM gestartet werden kann.

    • Die Seite „Secrets“ (Secrets), die die Schlüssel für die Kommunikation zwischen dem Gast und dem AMD Secure Processor enthält.

    • Die CPUID-Seite, die die bestätigten CPU-Funktionen enthält.

  • Die Virtual Machine Save Area (VMSA) für jede vCPU, die der Confidential VM-Instanz zugewiesen ist. Wenn die VM mehrere vCPUs hat, wird jede VMSA einzeln in der Kette gehasht.

Sie können auch auf die vTPM-Messungen von Shielded VMs zugreifen. Im Gegensatz zum AMD Secure Processor werden die Messungen jedoch per Software statt per Hardware bestätigt.

Intel TDX-Messregister

Intel TDX verwendet die folgenden Messregister:

  • Messung der vertrauenswürdigen Domain (Measurement of the Trust Domain, MRTD)

  • Laufzeitmessungsregister (Run-Time Measurement Registers, RTMR)

In jedem Register wird ein SHA-384-Digest gespeichert.

Confidential VM-Instanzen messen die folgenden Komponenten in den Intel TDX-Messregistern:

Messregister Was wird gemessen?
MRTD TDVF (Trust Domain Virtual Firmware), die während des TD-Build-Prozesses erstellt wurde.
RTMR[0] TDVF-Konfiguration (TD Hand-Off Block, ACPI, Secure Boot-Konfiguration).
RTMR[1] TD-Loader (GRUB/shim).
RTMR[2] Der Kernel und die an den Kernel übergebene Befehlszeile.
RTMR[3] (User-defined) Zusätzliche Ereignisprotokolle, die aus dem Nutzerbereich übergeben werden.

Sie können auch auf die vTPM-Messungen von Shielded VMs zugreifen. Im Gegensatz zum Intel TDX-Modul werden die Messungen jedoch durch Software und nicht durch Hardware bestätigt.