Google Cloud Attestation

Die Attestierung ist der Prozess, der Vertrauen in Confidential Computing schafft. Die Attestierung dient als digitaler Bestätigungsmechanismus, der dafür sorgt, dass vertrauliche Daten nur in hardwarebasierten vertrauenswürdigen Ausführungsumgebungen (Trusted Execution Environments, TEEs) verarbeitet werden, die streng geprüft wurden.

Google Cloud Attestation bietet eine einheitliche Lösung zum Remote-Überprüfen der Vertrauenswürdigkeit aller vertraulichen Google-Umgebungen. Der Dienst unterstützt die Attestierung vertraulicher Umgebungen, die von einem Virtual Trusted Platform Module (vTPM) für SEV und dem TDX-Modul für Intel TDX unterstützt werden.

Google Cloud Attestation kann für die folgenden Google Cloud-Dienste angewendet werden:

Confidential Computing-Dienst Confidential Computing-Technologie Google Cloud Attestation-Support
Confidential VM AMD SEV
Confidential VM AMD SEV-SNP
Confidential VM Intel TDX
Confidential Space AMD SEV
Confidential Space Intel TDX
Confidential GKE Nodes AMD SEV

Google Cloud Attestation ist zwar praktisch, aber Open-Source-Tools können auch direkt Attestberichte für Confidential VM-Instanzen abrufen. Weitere Informationen finden Sie unter Attestierungsbericht anfordern.

Funktionsweise von Google Cloud Attestation

Google Cloud Attestation ruft intern Bestätigungen direkt von Hardwareanbietern ab und hält sich an eigene Referenzwerte und Bewertungsrichtlinien, die speziell auf die jeweilige vertrauliche Umgebung zugeschnitten sind. Sie bietet APIs für Google Cloud Nutzer, um Attestierungsergebnis-Anforderungstokens abzurufen.

Google Cloud Attestation erfasst Informationen aus Ihrer vertraulichen Umgebung und vergleicht sie mit genehmigten Werten und von Google verwalteten Richtlinien. Diese Prüfungen werden in überprüfbare Behauptungen umgewandelt, die dem Standard IETF Remote ATtestation ProcedureS (RATS) Entity Attestation Token (EAT) entsprechen. Google Cloud Attestation liefert dann kryptografische Beweise für diese Behauptungen, die von Diensten verwendet werden können, die auf solchen Behauptungen basieren, z. B. Secret Manager und Google Identity and Access Management (IAM).

Die kryptografischen Nachweise können auf folgende Weise validiert werden:

  1. Verwendung eines öffentlichen Schlüssels Weitere Informationen finden Sie unter OIDC-Tokens. Dies ist die einfachere Option und funktioniert nativ mit OIDC-kompatiblen Anwendungen.

  2. Verwendung eines Root-Zertifikats Weitere Informationen finden Sie unter PKI-Tokens. Diese Option ermöglicht die Offline-Überprüfung, ohne dass jede vertrauende Partei den Überprüfungsschlüssel ermitteln muss. Ein End-to-End-Beispiel für die Offline-Validierung finden Sie im Codelab Confidential Space mit geschützten Ressourcen verwenden, die nicht bei einem Cloud-Anbieter gespeichert sind.

RATS-Architektur – Übersicht

Die RATS-Architektur (Remote ATtestation ProcedureS) umfasst die folgenden primären Entitäten:

  • Attester: Eine Einheit, die Nachweise für ihre Vertrauenswürdigkeit liefert. InGoogle Cloudhandelt es sich um eine vertrauliche Umgebung (z. B. Confidential VM, Confidential GKE Nodes oder Confidential Space).

  • Prüfer: Eine Einheit, die den Nachweis bewertet und Attestierungsergebnisse generiert. Das ist Google Cloud Attestation.

  • Vertrauende Partei: Eine Einheit, die sich auf die Attestierungsergebnisse verlässt, um Entscheidungen zu treffen (z. B. eine mobile App, ein Speicher-Bucket oder ein Schlüsselverwaltungssystem).

Die RATS-Architektur umfasst die folgenden wichtigen Rollen:

  • Inhaber der vertrauenden Partei: Eine Organisation, die die Bewertungsrichtlinie für die vertrauende Partei konfiguriert.

  • Inhaber des Prüfers: Eine Organisation, die die Richtlinie für die Bewertung für den Prüfer konfiguriert (z. B. Google).

  • Bestätiger: Eine Einheit, die Bestätigungen zur Validierung der Fähigkeiten des Attestierenden bereitstellt (z. B. Hardware-OEMs wie AMD, Intel oder Nvidia).

  • Anbieter von Referenzwerten: Eine Einheit, die Referenzwerte für den Prüfer bereitstellt, damit dieser die Behauptungen des Attestierenden validieren kann.

Workflow für die Attestierung von Passport-Modellen

Google Cloud Attestation verwendet das Passport-Modell. Der allgemeine Workflow des Passport-Modells umfasst die folgenden Schritte:

  1. Der Attestierer (vertrauliche Umgebung) fordert ein Attestierungsergebnis vom Prüfer (Google Cloud Attestation) an, indem er Beweise vorlegt.

  2. Der Prüfer bewertet den Nachweis und gibt ein Attestierungsergebnis aus.

  3. Der Attestierer präsentiert dieses Ergebnis der vertrauenden Partei.

In diesem Workflow fungiert Google Cloud Attestation als Prüfer. Vertrauliche Umgebungen wie Confidential VM, Confidential GKE Nodes oder Confidential Space fungieren als Attestierer. Zu den vertrauenden Parteien gehören Thales EKM, Google IAM und andere Token-Broker.

Damit die Attestierungsergebnisse aktuell sind, verwendet Google Cloud Attestation eine kryptografische Nummer, die nicht wiederverwendet werden kann. Der Attestierer kann dem Prüfer eine Zufallszahl zur Verfügung stellen, die mit der vertrauenden Partei vereinbart wurde. Die vertrauende Partei kann diese Nummer dann validieren, um ihre Aktualität und Richtigkeit zu prüfen.