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
|
||||||||||||
| 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:
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.