Auf dieser Seite werden die wichtigsten Konzepte und Begriffe in Bezug auf Shielded VM erläutert. Eine Einführung in Shielded VM finden Sie in der Kurzanleitung oder unter Shielded VM-Optionen ändern.
Shielded VM bietet für Compute Engine-VM-Instanzen eine überprüfbare Integrität, sodass Sie sich sicher sein können, dass Ihre Instanzen nicht durch Malware oder Rootkits auf Boot- oder Kernel-Ebene manipuliert wurden.
Diese überprüfbare Integrität von Shielded VM wird mithilfe der folgenden Funktionen erreicht:
Secure Boot
Secure Boot sorgt dafür, dass das System nur authentische Software ausführt, indem die digitale Signatur aller Startkomponenten überprüft und der Startvorgang angehalten wird, wenn die Signaturüberprüfung fehlschlägt.
Shielded VM-Instanzen führen Firmware aus, die von der Zertifizierungsstelle von Google signiert und verifiziert wurde. Dadurch wird sichergestellt, dass die Firmware der Instanz unverändert bleibt und für Secure Boot ein Root of Trust eingerichtet wird. Die Firmware Unified Extensible Firmware Interface (UEFI) 2.3.1 sorgt für die sichere Verwaltung der Zertifikate, die die Schlüssel enthalten, mit denen die Softwarehersteller die Firmware, den Bootloader und von diesen geladene Binärdateien signieren. Shielded VM-Instanzen verwenden UEFI-Firmware.
Bei jedem Start überprüft die UEFI-Firmware die digitale Signatur jeder Startkomponente anhand des sicheren Speichers mit genehmigten Schlüsseln. Die Ausführung von Startkomponenten, die nicht ordnungsgemäß oder überhaupt nicht signiert sind, wird untersagt.
Sollte dieser Fall auftreten, enthält das Log der seriellen Konsole der VM-Instanz einen Eintrag mit den Strings UEFI: Image konnte nicht geladen werden und Status: Sicherheitsverstoß sowie eine Beschreibung der fehlgeschlagenen Startoption. Deaktivieren Sie zur Behebung des Fehlers Secure Boot anhand der Anleitung unter Shielded VM-Optionen ändern. Danach können Sie die VM-Instanz booten, das Problem diagnostizieren und beheben und dann Secure Boot wieder aktivieren.
Virtual Trusted Platform Module (vTPM)
Ein vTPM ist ein virtualisiertes vertrauenswürdiges Plattformmodul. Dabei handelt es sich um einen speziellen Computerchip für den Schutz von Objekten wie Schlüsseln und Zertifikaten, mit denen Sie den Zugriff auf Ihr System authentifizieren. Das vTPM für Shielded VM ist vollständig kompatibel mit derBibliotheksspezifikation 2.0 der Trusted Computing Group (TPM) und verwendet die BoringSSL-Bibliothek. Die BoringSSL-Bibliothek beruht auf dem BoringCrypto-Modul. FIPS 140-2-Details zum BoringCrypto-Modul finden Sie unter NIST Cryptographic Module Validation Certificate #3678.
Mit einem vTPM für Shielded VM wird Measured Boot möglich. Dafür werden Messungen durchgeführt, die zum Erstellen einer als funktionierend bekannten Startreferenz erforderlich sind, der sogenannten Referenz der Integritätsrichtlinie. Die Referenz der Integritätsrichtlinie wird für den Vergleich mit Messungen aus nachfolgenden VM-Starts herangezogen, um festzustellen, ob sich etwas geändert hat.
Sie können das vTPM auch verwenden, um Secrets durch Abschirmung oder Versiegelung zu schützen. Auf GitHub finden Sie im Projekt Go-TPM Beispiele dafür, wie Sie in der Sprache Go ein vTPM für diesen Zweck verwenden.
Measured Boot
Bei einem Measured Boot wird ein Hash jeder Komponente (z. B. der Firmware, des Bootloaders oder des Kernels) erstellt, wenn die Komponente geladen wird. Dieser Hash wird dann mit den Hashes aller Komponenten, die bereits geladen wurden, verkettet und noch einmal gehasht, wie in der folgenden Abbildung dargestellt:
Diese Information identifiziert sowohl die Komponenten, die geladen wurden, als auch ihre Ladereihenfolge.
Wenn Sie eine VM-Instanz zum ersten Mal booten, erstellt Measured Boot die Referenz der Integritätsrichtlinie aus dem ersten Satz dieser Messungen und speichert diese Daten sicher. Jedes Mal, wenn die VM-Instanz danach startet, werden diese Messungen noch einmal ausgeführt und bis zum nächsten Neustart sicher gespeichert. Diese beiden Sätze von Messungen ermöglichen die Integritätsüberwachung, mit der Sie feststellen können, ob Änderungen an der Startsequenz einer VM-Instanz vorgenommen wurden.
Integritätsmonitoring
Die Integritätsüberwachung hilft Ihnen, den Zustand Ihrer VM-Instanzen zu verstehen und entsprechende Entscheidungen zu treffen.
Sie beruht auf den Messungen, die beim Measured Boot erstellt wurden und die Plattformkonfigurationsregister (Platform Configuration Registers, PCRs) verwenden, um Informationen über die Komponenten und ihre Ladereihenfolge sowohl in der Referenz der Integritätsrichtlinie (einer als funktionierend bekannten Startsequenz) als auch während der letzten Startsequenz zu speichern.
Die Integritätsüberwachung vergleicht die letzten Startmessungen mit der Referenz der Integritätsrichtlinie und gibt ein Ergebnispaar aus zwei jeweils bestandenen oder nicht bestandenen Messungen zurück, je nachdem, ob die Messungen übereinstimmen oder nicht. Ein Ergebnis gilt für die frühe Startsequenz, das andere für die späte Startsequenz. Das ist der Teil der Bootsequenz vom Start der UEFI-Firmware bis zur Übergabe der Kontrolle an den Bootloader. Die späte Startsequenz ist die Startsequenz vom Bootloader bis zur Übergabe der Kontrolle an den Betriebssystem-Kernel. Wenn einer dieser Teile der letzten Startsequenz nicht mit der Referenz übereinstimmt, wird ein Fehler bei der Integritätsprüfung ausgegeben.
Wenn es sich um einen erwarteten Fehler handelt, z. B. wenn Sie ein Systemupdate für diese VM-Instanz angewendet haben, sollten Sie die Referenz der Integritätsrichtlinie aktualisieren. Durch das Aktualisieren der Referenz der Integritätsrichtlinie werden die beim letzten Start erfassten Messungen als neue Referenz der Integritätsrichtlinie festgelegt. Haben Sie den Fehler nicht erwartet, sollten Sie diese VM-Instanz stoppen und den Grund für den Fehler untersuchen.
Sie können Integritätsberichte in Cloud Monitoring aufrufen und Warnungen zu Integritätsfehlern festlegen. Die Details der Ergebnisse im Rahmen des Integritätsmonitorings können Sie in Cloud Logging prüfen. Weitere Informationen finden Sie unter Integrität von Shielded VM-Instanzen überwachen.
Integritätsüberwachungsereignisse
Shielded VM erstellt Logeinträge für die folgenden Ereignistypen:
clearTPMEvent
gibt an, ob das vTPM gelöscht wurde, wodurch alle darin gespeicherten Secrets gelöscht werden. Dies wirkt sich nicht auf Shielded VM aus. Es betrifft Sie also nur, wenn Sie das vTPM zur Abschirmung sensibler Daten verwenden, wie unter Virtual Trusted Platform Module (vTPM) beschrieben.earlyBootReportEvent
gibt an, ob die Integritätsprüfung der frühen Startsequenz bestanden wurde, und bietet Details zu den PCR-Werten aus der Referenz und aus der letzten Startsequenz, die für dieses Ergebnis verglichen wurden.lateBootReportEvent
gibt an, ob die Integritätsprüfung der späten Startsequenz bestanden wurde, und bietet Details zu den PCR-Werten aus der Referenz und aus der letzten Startsequenz, die für dieses Ergebnis verglichen wurden.setShieldedInstanceIntegrityPolicy
wird bei jeder Aktualisierung der Referenz der Integritätsrichtlinie protokolliert.shutdownEvent
wird bei jeder Beendigung der VM-Instanz protokolliert.startupEvent
wird bei jedem Start der VM-Instanz protokolliert. Interessant hierbei ist der Wert fürbootCounter
, der anzeigt, wie oft diese Instanz neu gestartet wurde.updateShieldedInstanceConfig
wird jedes Mal protokolliert, wenn eine der Shielded VM-Optionen aktiviert oder deaktiviert wird.
Die typische Ereignisabfolge in den Logs ist: startupEvent
, earlyBootReportEvent
, lateBootReportEvent
und schließlich shutdownEvent
. Alle haben denselben Wert für bootCounter
, der sie als Ereignisse derselben Startsequenz der VM-Instanz identifiziert.
Wenn Sie als Reaktion auf einen erwarteten Integritätsfehler in einer VM-Instanz die Referenz der Integritätsrichtlinie aktualisieren, werden zusätzlich die Ereignisse earlyBootReportEvent
und lateBootReportEvent
aufgeführt, die die Messungen für die neue Referenz der Integritätsrichtlinie beschreiben. Hier sehen Sie ein Beispiel für den erwarteten Ablauf:
startupEvent
earlyBootReportEvent
vergleicht die ursprüngliche Referenz mit der letzten Startsequenz (bestanden).lateBootReportEvent
vergleicht die ursprüngliche Referenz mit der letzten Startsequenz (fehlgeschlagen).setShieldedInstanceIntegrityPolicy
legt beim Aktualisieren der Referenz der Integritätsrichtlinie die bei der letzten Startsequenz erfassten Messungen als neue Referenz der Integritätsrichtlinie fest.earlyBootReportEvent
vergleicht die neue Referenz mit der letzten Startsequenz (bestanden).lateBootReportEvent
vergleicht die neue Referenz mit der letzten Startsequenz (bestanden).
Windows
earlyBootReportEvent
earlyBootReportEvent
enthält die folgenden Abschnitte und Elemente:
actualMeasurements
enthält die Werte des Platform Configuration Register (PCR) für die letzte Startsequenz. Die PCR-Werte geben die Startkomponenten und ihre Ladereihenfolge in der letzten Startsequenz an. Sie werden mit der Referenz der Integritätsrichtlinie verglichen, deren Werte im AbschnittpolicyMeasurements
erfasst sind. Damit wird festgestellt, ob bei der Startsequenz der VM-Instanz eine Änderung aufgetreten ist. Die Elemente des AbschnittsactualMeasurements
können je nach Betriebssystem, Verteilung und Konfiguration variieren. Der Abschnitt enthält in der Regel die folgenden Elemente:0
enthält den Wert für PCR0, das Informationen zu Firmwarekomponenten und der aktiven Speicherverschlüsselungstechnologie enthält. Dieses PCR unterscheidet sich vom TCG PCClient-Plattform-Firmwareprofil darin, dass nur die folgenden Ereignisse gemessen werden:EV_S_CRTM_VERSION
, die Version der Compute Engine-FirmwareEV_NONHOST_INFO
, die Technologie zur SpeicherverschlüsselungEV_SEPARATOR
, die Messungen der Trennzeichen-Ereignisse der Firmware, wenn keine weiteren PCR0-Ereignisse hinzugefügt werden. Das bedeutet, dass PCR0 einen statischen Wert für die Lebensdauer einer VM hat. Der Wert ändert sich nur bei neuen VMs nach einem Update der Hauptversion-Firmware oder einer Änderung der Verschlüsselungstechnologie. Bei der Überprüfung der letzten Startsequenz anhand der Referenz der Integritätsrichtlinie wird es nicht verwendet.
1
enthält den Wert für PCR4, das Informationen über den Code des UEFI-Bootmanagers und Startversuche enthält.2
enthält den Wert für PCR5, das Informationen zur GUID-Partitionstabelle des Laufwerks enthält. Bei der Überprüfung der letzten Startsequenz anhand der Referenz der Integritätsrichtlinie wird es nicht verwendet.3
enthält den Wert für PCR7, das Informationen zur Secure Boot-Richtlinie der Instanz enthält.
policyEvaluationPassed
gibt an, ob der angegebene Abschnitt der Startsequenz die Überprüfung anhand der Referenz der Integritätsrichtlinie bestanden hat.policyMeasurements
enthält die PCR-Referenzwerte, die die Integritätsprüfung als erwartete Werte verwendet. Der AbschnittpolicyMeasurements
kann je nach Betriebssystem, Distribution und Konfiguration variieren, enthält jedoch in der Regel die folgenden Elemente:0
enthält den Wert für PCR0, das Informationen zu Firmwarekomponenten und der aktiven Speicherverschlüsselungstechnologie enthält. Dieses PCR unterscheidet sich vom TCG PCClient-Plattform-Firmwareprofil darin, dass nur die folgenden Ereignisse gemessen werden:EV_S_CRTM_VERSION
, die Version der Compute Engine-FirmwareEV_NONHOST_INFO
, die Technologie zur SpeicherverschlüsselungEV_SEPARATOR
, die Messungen der Trennzeichen-Ereignisse der Firmware, wenn keine weiteren PCR0-Ereignisse hinzugefügt werden. Das bedeutet, dass PCR0 einen statischen Wert für die Lebensdauer einer VM hat. Der Wert ändert sich nur bei neuen VMs nach einem Update der Hauptversion-Firmware oder einer Änderung der Verschlüsselungstechnologie. Bei der Überprüfung der letzten Startsequenz anhand der Referenz der Integritätsrichtlinie wird es nicht verwendet.
1
enthält den Wert für PCR4, das Informationen über den Code des UEFI-Bootmanagers und Startversuche enthält. Dieser Wert ist beim ersten Start nicht enthalten.2
enthält den Wert für PCR7, das Informationen zur Secure Boot-Richtlinie der Instanz enthält.
Wie Sie die PCR-Werte in earlyBootReportEvent
verwenden, um einen Fehler bei der Startintegritätsprüfung zu diagnostizieren, erfahren Sie unter Ursache für das Fehlschlagen der Startintegritätsprüfung ermitteln.
lateBootReportEvent
lateBootReportEvent
enthält die folgenden Abschnitte und Elemente:
actualMeasurements
enthält die Werte des Platform Configuration Register (PCR) für die letzte Startsequenz. Die PCR-Werte geben die Startkomponenten und ihre Ladereihenfolge in der letzten Startsequenz an. Sie werden mit der Referenz der Integritätsrichtlinie verglichen, deren Werte im AbschnittpolicyMeasurements
erfasst sind. Damit wird festgestellt, ob bei der Startsequenz der VM-Instanz eine Änderung aufgetreten ist. Die Elemente des AbschnittsactualMeasurements
können je nach Betriebssystem, Verteilung und Konfiguration variieren. Der Abschnitt enthält in der Regel die folgenden Elemente:0
enthält den Wert für PCR0, das Informationen zu Firmwarekomponenten und der aktiven Speicherverschlüsselungstechnologie enthält. Dieses PCR unterscheidet sich vom TCG PCClient-Plattform-Firmwareprofil darin, dass nur die folgenden Ereignisse gemessen werden:EV_S_CRTM_VERSION
, die Version der Compute Engine-FirmwareEV_NONHOST_INFO
, die Technologie zur SpeicherverschlüsselungEV_SEPARATOR
, die Messungen der Trennzeichen-Ereignisse der Firmware, wenn keine weiteren PCR0-Ereignisse hinzugefügt werden. Das bedeutet, dass PCR0 einen statischen Wert für die Lebensdauer einer VM hat. Der Wert ändert sich nur bei neuen VMs nach einem Update der Hauptversion-Firmware oder einer Änderung der Verschlüsselungstechnologie. Bei der Überprüfung der letzten Startsequenz anhand der Referenz der Integritätsrichtlinie wird es nicht verwendet.
1
enthält den Wert für PCR4, das Informationen über den Code des UEFI-Bootmanagers und Startversuche enthält.2
enthält den Wert für PCR5, das Informationen zur GUID-Partitionstabelle des Laufwerks enthält. Bei der Überprüfung der letzten Startsequenz anhand der Referenz der Integritätsrichtlinie wird es nicht verwendet.3
enthält den Wert für PCR7, das Informationen zur Secure Boot-Richtlinie der Instanz enthält.4
enthält den Wert für PCR11, das Informationen zur Zugriffssteuerung über BitLocker Drive Encryption enthält.5
enthält den Wert für PCR12, das Informationen zu Datenereignissen enthält. Bei der Überprüfung der letzten Startsequenz anhand der Referenz der Integritätsrichtlinie wird es nicht verwendet.6
enthält den Wert für PCR13, das Informationen zum Windows-Kernel und zu Starttreibern enthält.7
enthält den Wert für PCR14, das Informationen zu Windows-Startautoritäten enthält.
policyEvaluationPassed
gibt an, ob der angegebene Abschnitt der Startsequenz die Überprüfung anhand der Referenz der Integritätsrichtlinie bestanden hat.policyMeasurements
enthält die PCR-Referenzwerte, die die Integritätsprüfung als erwartete Werte verwendet. Der AbschnittpolicyMeasurements
kann je nach Betriebssystem, Distribution und Konfiguration variieren, enthält jedoch in der Regel die folgenden Elemente:0
enthält den Wert für PCR0, das Informationen zu Firmwarekomponenten und der aktiven Speicherverschlüsselungstechnologie enthält. Dieses PCR unterscheidet sich vom TCG PCClient-Plattform-Firmwareprofil darin, dass nur die folgenden Ereignisse gemessen werden:EV_S_CRTM_VERSION
, die Version der Compute Engine-FirmwareEV_NONHOST_INFO
, die Technologie zur SpeicherverschlüsselungEV_SEPARATOR
, die Messungen der Trennzeichen-Ereignisse der Firmware, wenn keine weiteren PCR0-Ereignisse hinzugefügt werden. Das bedeutet, dass PCR0 einen statischen Wert für die Lebensdauer einer VM hat. Der Wert ändert sich nur bei neuen VMs nach einem Update der Hauptversion-Firmware oder einer Änderung der Verschlüsselungstechnologie. Bei der Überprüfung der letzten Startsequenz anhand der Referenz der Integritätsrichtlinie wird es nicht verwendet.
1
enthält den Wert für PCR4, das Informationen über den Code des UEFI-Bootmanagers und Startversuche enthält.2
enthält den Wert für PCR7, das Informationen zur Secure Boot-Richtlinie der Instanz enthält.3
enthält den Wert für PCR11, das Informationen zur Zugriffssteuerung über BitLocker Drive Encryption enthält.4
enthält den Wert für PCR13, das Informationen zum Windows-Kernel und zu Starttreibern enthält.5
enthält den Wert für PCR14, das Informationen zu Windows-Startautoritäten enthält.
Wie Sie die PCR-Werte in lateBootReportEvent
verwenden, um einen Fehler bei der Startintegritätsprüfung zu diagnostizieren, erfahren Sie unter Ursache für das Fehlschlagen der Startintegritätsprüfung ermitteln.
Linux
earlyBootReportEvent
earlyBootReportEvent
enthält die folgenden Abschnitte und Elemente:
actualMeasurements
enthält die Werte des Platform Configuration Register (PCR) für die letzte Startsequenz. Die PCR-Werte geben die Startkomponenten und ihre Ladereihenfolge in der letzten Startsequenz an. Sie werden mit der Referenz der Integritätsrichtlinie verglichen, deren Werte im AbschnittpolicyMeasurements
erfasst sind. Damit wird festgestellt, ob bei der Startsequenz der VM-Instanz eine Änderung aufgetreten ist. Die Elemente des AbschnittsactualMeasurements
können je nach Betriebssystem, Verteilung und Konfiguration variieren. Der Abschnitt enthält in der Regel die folgenden Elemente:0
enthält den Wert für PCR0, das Informationen zu Firmwarekomponenten und der aktiven Speicherverschlüsselungstechnologie enthält. Dieses PCR unterscheidet sich vom TCG PCClient-Plattform-Firmwareprofil darin, dass nur die folgenden Ereignisse gemessen werden:EV_S_CRTM_VERSION
, die Version der Compute Engine-FirmwareEV_NONHOST_INFO
, die Technologie zur SpeicherverschlüsselungEV_SEPARATOR
, die Messungen der Trennzeichen-Ereignisse der Firmware, wenn keine weiteren PCR0-Ereignisse hinzugefügt werden. Das bedeutet, dass PCR0 einen statischen Wert für die Lebensdauer einer VM hat. Der Wert ändert sich nur bei neuen VMs nach einem Update der Hauptversion-Firmware oder einer Änderung der Verschlüsselungstechnologie. Bei der Überprüfung der letzten Startsequenz anhand der Referenz der Integritätsrichtlinie wird es nicht verwendet.
1
enthält den Wert für PCR4, das Informationen zum Shim des Betriebssystems enthält.2
enthält den Wert für PCR7, das Informationen zur Secure Boot-Richtlinie der Instanz enthält.
policyEvaluationPassed
gibt an, ob der angegebene Abschnitt der Startsequenz die Überprüfung anhand der Referenz der Integritätsrichtlinie bestanden hat.policyMeasurements
enthält die PCR-Referenzwerte, die die Integritätsprüfung als erwartete Werte verwendet. Der AbschnittpolicyMeasurements
kann je nach Betriebssystem, Distribution und Konfiguration variieren, enthält jedoch in der Regel die folgenden Elemente:0
enthält den Wert für PCR0, das Informationen zu Firmwarekomponenten und der aktiven Speicherverschlüsselungstechnologie enthält. Dieses PCR unterscheidet sich vom TCG PCClient-Plattform-Firmwareprofil darin, dass nur die folgenden Ereignisse gemessen werden:EV_S_CRTM_VERSION
, die Version der Compute Engine-FirmwareEV_NONHOST_INFO
, die Technologie zur SpeicherverschlüsselungEV_SEPARATOR
, die Messungen der Trennzeichen-Ereignisse der Firmware, wenn keine weiteren PCR0-Ereignisse hinzugefügt werden. Das bedeutet, dass PCR0 einen statischen Wert für die Lebensdauer einer VM hat. Der Wert ändert sich nur bei neuen VMs nach einem Update der Hauptversion-Firmware oder einer Änderung der Verschlüsselungstechnologie. Bei der Überprüfung der letzten Startsequenz anhand der Referenz der Integritätsrichtlinie wird es nicht verwendet.
1
enthält den Wert für PCR4, das Informationen zum Shim des Betriebssystems enthält. Dieser Wert ist beim ersten Start nicht enthalten.2
enthält den Wert für PCR7, das Informationen zur Secure Boot-Richtlinie der Instanz enthält.
Wie Sie die PCR-Werte in earlyBootReportEvent
verwenden, um einen Fehler bei der Startintegritätsprüfung zu diagnostizieren, erfahren Sie unter Ursache für das Fehlschlagen der Startintegritätsprüfung ermitteln.
lateBootReportEvent
lateBootReportEvent
enthält die folgenden Abschnitte und Elemente:
actualMeasurements
enthält die Werte des Platform Configuration Register (PCR) für die letzte Startsequenz. Die PCR-Werte geben die Startkomponenten und ihre Ladereihenfolge in der letzten Startsequenz an. Sie werden mit der Referenz der Integritätsrichtlinie verglichen, deren Werte im AbschnittpolicyMeasurements
erfasst sind. Damit wird festgestellt, ob bei der Startsequenz der VM-Instanz eine Änderung aufgetreten ist. Die Elemente des AbschnittsactualMeasurements
können je nach Betriebssystem, Verteilung und Konfiguration variieren. Der Abschnitt enthält in der Regel die folgenden Elemente:0
enthält den Wert für PCR0, das Informationen zu Firmwarekomponenten und der aktiven Speicherverschlüsselungstechnologie enthält. Dieses PCR unterscheidet sich vom TCG PCClient-Plattform-Firmwareprofil darin, dass nur die folgenden Ereignisse gemessen werden:EV_S_CRTM_VERSION
, die Version der Compute Engine-FirmwareEV_NONHOST_INFO
, die Technologie zur SpeicherverschlüsselungEV_SEPARATOR
, die Messungen der Trennzeichen-Ereignisse der Firmware, wenn keine weiteren PCR0-Ereignisse hinzugefügt werden. Das bedeutet, dass PCR0 einen statischen Wert für die Lebensdauer einer VM hat. Der Wert ändert sich nur bei neuen VMs nach einem Update der Hauptversion-Firmware oder einer Änderung der Verschlüsselungstechnologie. Bei der Überprüfung der letzten Startsequenz anhand der Referenz der Integritätsrichtlinie wird es nicht verwendet.
1
enthält den Wert für PCR4, das Informationen über den Bootloader der zweiten Phase und den Kernel enthält.2
enthält den Wert für PCR5, das Informationen zur GUID-Partitionstabelle des Laufwerks enthält. Bei der Überprüfung der letzten Startsequenz anhand der Referenz der Integritätsrichtlinie wird es nicht verwendet.3
enthält den Wert für PCR7, das Informationen zur Secure Boot-Richtlinie der Instanz enthält.
policyEvaluationPassed
gibt an, ob der angegebene Abschnitt der Startsequenz die Überprüfung anhand der Referenz der Integritätsrichtlinie bestanden hat.policyMeasurements
enthält die PCR-Referenzwerte, die die Integritätsprüfung als erwartete Werte verwendet. Der AbschnittpolicyMeasurements
kann je nach Betriebssystem, Distribution und Konfiguration variieren, enthält jedoch in der Regel die folgenden Elemente:0
enthält den Wert für PCR0, das Informationen zu Firmwarekomponenten und der aktiven Speicherverschlüsselungstechnologie enthält. Dieses PCR unterscheidet sich vom TCG PCClient-Plattform-Firmwareprofil darin, dass nur die folgenden Ereignisse gemessen werden:EV_S_CRTM_VERSION
, die Version der Compute Engine-FirmwareEV_NONHOST_INFO
, die Technologie zur SpeicherverschlüsselungEV_SEPARATOR
, die Messungen der Trennzeichen-Ereignisse der Firmware, wenn keine weiteren PCR0-Ereignisse hinzugefügt werden. Das bedeutet, dass PCR0 einen statischen Wert für die Lebensdauer einer VM hat. Der Wert ändert sich nur bei neuen VMs nach einem Update der Hauptversion-Firmware oder einer Änderung der Verschlüsselungstechnologie. Bei der Überprüfung der letzten Startsequenz anhand der Referenz der Integritätsrichtlinie wird es nicht verwendet.
1
enthält den Wert für PCR4, das Informationen über den Bootloader der zweiten Phase und den Kernel enthält.2
enthält den Wert für PCR7, das Informationen zur Secure Boot-Richtlinie der Instanz enthält.
Wie Sie die PCR-Werte in lateBootReportEvent
verwenden, um einen Fehler bei der Startintegritätsprüfung zu diagnostizieren, erfahren Sie unter Ursache für das Fehlschlagen der Startintegritätsprüfung ermitteln.
BitLocker mit Shielded VM-Images verwenden
Sie können BitLocker für Windows-Bootlaufwerke aktivieren, die auf Shielded VM-Images basieren. Shielded VM-Images bieten Sicherheitsfeatures wie UEFI-konforme Firmware, Secure Boot, vTPM-geschütztes Measured Boot und Integritätsmonitoring. vTPM und Integritätsmonitoring sind standardmäßig aktiviert. Google empfiehlt Secure Boot nach Möglichkeit zu aktivieren.
Wenn Sie BitLocker auf einem Windows-Bootlaufwerk aktivieren, das auf einem Shielded VM-Image basiert, empfehlen wir dringend, den Wiederherstellungsschlüssel an einem sicheren Speicherort zu speichern. Wenn Sie den Wiederherstellungsschlüssel nicht haben, können Sie die Daten nicht wiederherstellen.
Beachten Sie Folgendes, bevor Sie BitLocker auf einem Windows-Bootlaufwerk aktivieren, das auf einem Shielded VM-Image beruht:
Auf Shielded VM-Bootlaufwerken verwendet BitLocker das vTPM, um die Verschlüsselungsschlüssel zu speichern. Das vTPM ist permanent der VM zugeordnet, auf der es erstellt wurde. Das bedeutet, dass Sie einen Snapshot eines Shielded VM-Bootlaufwerks auf einem anderen nichtflüchtigen Speicher wiederherstellen, ihn jedoch nicht entschlüsseln können, da das vTPM mit den BitLocker-Schlüsseln nicht verfügbar ist. Wenn Sie einen Wiederherstellungsschlüssel haben, können Sie Daten wiederherstellen, indem Sie den Anweisungen in der Anleitung zur BitLocker-Wiederherstellung folgen. Wenn Sie keinen Wiederherstellungsschlüssel haben, können die Daten auf dem Laufwerk nicht wiederhergestellt werden.
Auf Shielded VM-Datenlaufwerken werden Daten im nichtflüchtigen Speicher standardmäßig verschlüsselt. Das Aktivieren von BitLocker zusätzlich zur Verschlüsselung des nichtflüchtigen Speichers wirkt sich nicht auf den Durchsatz aus, kann jedoch die vCPU-Auslastung geringfügig erhöhen. Das Aktivieren von BitLocker auf Datenlaufwerken, die an die VM angeschlossen sind, ist hinsichtlich der Wiederherstellung nicht mit denselben Herausforderungen verbunden wie bei Bootlaufwerken. Das liegt daran, dass die BitLocker-Verschlüsselungsschlüssel für Datenlaufwerke nicht im vTPM gespeichert werden. Wenn Sie das Laufwerk nicht mehr normal entsperren können und den Wiederherstellungsschlüssel haben, können Sie das Laufwerk an eine andere unverschlüsselte VM anschließen und von dort wiederherstellen. Wenn Sie keinen Wiederherstellungsschlüssel haben, können die Daten auf dem Laufwerk nicht wiederhergestellt werden.
Autorisierung durch Identitäts- und Zugriffsverwaltung (IAM)
Shielded VM verwendet IAM zur Autorisierung.
Shielded VM-Vorgänge verwenden die folgenden Compute Engine-Berechtigungen:
compute.instances.updateShieldedInstanceConfig
ermöglicht dem Nutzer, die Shielded VM-Optionen in einer VM-Instanz zu ändern.compute.instances.setShieldedInstanceIntegrityPolicy
ermöglicht dem Nutzer, die Referenz der Integritätsrichtlinie in einer VM-Instanz zu aktualisieren.compute.instances.getShieldedInstanceIdentity
ermöglicht dem Nutzer das Abrufen der Endorsement-Key-Informationen vom vTPM.
Shielded VM-Berechtigungen werden für die folgenden Compute Engine-Rollen erteilt:
roles/compute.instanceAdmin.v1
roles/compute.securityAdmin
Sie können Shielded VM-Berechtigungen auch benutzerdefinierten Rollen zuweisen.
Einschränkungen der Organisationsrichtlinien für Shielded VM
Sie können die Einschränkung der Organisationsrichtlinien constraints/compute.requireShieldedVm
auf True
setzen, um festzulegen, dass es sich bei den in Ihrer Organisation erstellten Compute Engine-VM-Instanzen um Shielded VM-Instanzen handeln muss.
Informationen zum Festlegen der Beschränkung constraints/compute.requireShieldedVm
können Sie dem Abschnitt Boolesche Einschränkungen in Organisationsrichtlinien verwenden entnehmen.
Sie müssen Organisationsrichtlinienadministrator sein, um eine Beschränkung festlegen zu können.
Nächste Schritte
- Abrufen des Endorsement Keys vom vTPM.
- Antworten auf Ereignisse der Integritätsprüfung automatisieren.