Confidential Space – Übersicht


Confidential Space bietet eine isolierte Umgebung für den Umgang mit sensiblen Daten von mehreren Parteien, sodass die Inhaber dieser Daten sie vertraulich behandeln können. Vertrauliche Daten können personenidentifizierbare Informationen (PII), geschützte Gesundheitsdaten (Protected Health Information, PHI), geistiges Eigentum, kryptografische Secrets, Modelle für maschinelles Lernen (ML) oder anderes umfassen.

Sie können Confidential Space verwenden, um vertrauliche Daten zu verarbeiten, die nur für die ursprünglichen Inhaber und eine gemeinsam vereinbarte Arbeitslast sichtbar sind. Alternativ können Sie damit Endkunden einen besseren Datenschutz bieten, da der Betreiber oder Inhaber einer Confidential Space-Umgebung nicht auf die verarbeiteten Daten zugreifen kann.

Confidential Space verwendet eine vertrauenswürdige Ausführungsumgebung (Trusted Execution Environment, TEE), mit der Ihre Secrets nur für autorisierte Arbeitslasten freigegeben werden können. Ein Attestierungsprozess und ein gehärtetes Betriebssystem-Image schützen die Arbeitslast und die Daten, die die Arbeitslast verarbeitet, vor einem Operator.

Weitere Informationen zu den Anwendungsfällen von Confidential Space und zum Sicherheitsmodell finden Sie unter Sicherheit in Confidential Space – Übersicht.

Confidential Space-Komponenten

Ein Confidential Space-System verfügt über drei Kernkomponenten:

  • Arbeitslast: Ein containerisiertes Image mit Code, der die geschützten Ressourcen verarbeitet. Es wird auf einem Confidential Space-Image ausgeführt, einem gehärteten Betriebssystem, das auf Container-Optimized OS basiert. Dies wird wiederum auf einer Confidential VM ausgeführt, einer cloudbasierten TEE, die Hardwareisolation und Remote-Attestierungsfunktionen bietet. Die Arbeitslast befindet sich in der Regel in einem anderen Projekt als die geschützten Ressourcen.

  • Der Attestierungsdienst: Ein Remote-Attestierungsprüfer, der Attestierungsnachweise in Form von OpenID Connect-Tokens (OIDC) zurückgibt. Die Tokens enthalten Identifizierungsattribute für die Arbeitslast. Der Attestierungsdienst wird in derselben Region ausgeführt wie die Arbeitslast.

  • Geschützte Ressourcen: Verwaltete Ressourcen, die durch ein Authentifizierungs- und Autorisierungssystem geschützt sind. Wenn sich die Ressourcen in Google Cloudbefinden, können sie verwaltete Cloud-Ressourcen wie Cloud KMS-Schlüssel (Cloud Key Management Service) oder Cloud Storage-Buckets sein. Wenn sich die Ressourcen nicht in Google Cloud befinden(z. B. in einer lokalen Umgebung oder in einer anderen Cloud), kann es sich um eine beliebige Ressource handeln.

Confidential Space-Rollen

Die Komponenten in einem Confidential Space-System werden von Personen mit drei verschiedenen Rollen verwaltet:

  • Datenmitbearbeiter: Die Personen oder Organisationen, denen die geschützten Ressourcen gehören, die von der Arbeitslast verarbeitet werden. Datenmitbearbeiter können auf ihre eigenen Daten zugreifen, Berechtigungen für diese Daten festlegen und je nach Ausgabe des Arbeitslastprozesses auf Ergebnisse zugreifen, die auf diesen Daten basieren.

    Data Collaborators können nicht auf die Daten der anderen zugreifen oder den Arbeitslastcode ändern.

    Weitere Informationen zur Rolle von Datenmitarbeitern finden Sie unter Zugriff auf vertrauliche Ressourcen erstellen und gewähren.

  • Arbeitslastautor: Die Person, die die Anwendung erstellt, mit der auf die vertraulichen Daten zugegriffen und diese verarbeitet werden. Sie fügen die Anwendung einem containerisierten Image hinzu, z. B. mit Docker, und laden das Image in ein Repository wie Artifact Registry hoch.

    Der Autor der Arbeitslast hat keinen Zugriff auf die Daten oder die Ergebnisse und kann den Zugriff darauf auch nicht steuern.

    Weitere Informationen zur Rolle des Arbeitslastenerstellers finden Sie unter Arbeitslasten erstellen und anpassen.

  • Arbeitslastoperator: Die Person, die die Arbeitslast ausführt. Der Arbeitslastoperator hat in der Regel uneingeschränkte Administratorberechtigungen für das Projekt, in dem er die Arbeitslast ausführt. Sie können beispielsweise Ressourcen in ihrem Projekt verwalten, z. B. Compute Engine-Instanzen, Laufwerke und Netzwerkregeln, und mit jederGoogle Cloud API interagieren, die darauf reagiert.

    Der Arbeitslastoperator hat keinen Zugriff auf die Daten und kann den Zugriff darauf auch nicht steuern. Sie können den Arbeitslastcode oder die Ausführungsumgebung nicht beeinflussen oder ändern.

    Weitere Informationen zur Rolle des Arbeitslastoperators finden Sie unter Arbeitslasten bereitstellen.

Eine Person kann eine oder mehrere dieser Rollen übernehmen. Für maximale Sicherheit unterstützt Confidential Space ein Vertrauensmodell, bei dem Datenmitarbeiter, Arbeitslastautoren und Arbeitslastoperatoren voneinander getrennte, sich gegenseitig nicht vertrauende Parteien sind. Alle Rollen müssen zusammenarbeiten, um die gewünschten Ergebnisse zu erzielen.

Beispiel für einen Confidential Space-Ablauf

Confidential Space nutzt mehrere Google Cloud Dienste, um vertrauliche Informationen vertraulich zu verarbeiten. Das Einrichten eines Confidential Space könnte in etwa so aussehen:

  1. Mehrere Datenmitbearbeiter speichern verschlüsselte vertrauliche Daten in ihren eigenen isolierten Google Cloud Projekten, oft in verschiedenen Organisationen. Sie möchten diese Daten vergleichen und verarbeiten, ohne sie einander oder externen Parteien offenzulegen. Die verschlüsselten Daten können sich in Cloud Storage, BigQuery oder einem anderen Dienst befinden.

  2. Die Datenbearbeiter erstellen simulierte, nicht vertrauliche Daten, die von einer Testarbeitslast verarbeitet werden können. Diese Daten können sich in verschiedenen Dateien oder an einem anderen Ort wie einem separaten Cloud Storage-Bucket befinden.

  3. Die Datenmitbearbeiter erstellen einen Workload Identity-Pool (WIP). Später kann eine Arbeitslast, die im separaten, isolierten Projekt eines Arbeitslastoperators ausgeführt wird, diesen WIP verwenden, um auf die vertraulichen Daten der Mitbearbeiter zuzugreifen.

  4. Der Autor der Arbeitslast schreibt Code zum Verarbeiten der vertraulichen Daten. In einem Projekt, das von den Datenmitarbeitern und dem Arbeitslastoperator getrennt ist, erstellen sie mit Docker ein Container-Image und laden es in Artifact Registry hoch.

  5. Der Arbeitslastoperator erstellt ein Dienstkonto in einem isolierten Projekt, das Lesezugriff auf den Speicherort der verschlüsselten vertraulichen Daten der Datenmitarbeiter und Schreibzugriff auf einen Speicherort (z. B. einen Cloud Storage-Bucket) hat, um das Ergebnis der Verarbeitung der entschlüsselten Daten auszugeben. Später wird dieses Dienstkonto an eine Confidential VM angehängt, auf der die Arbeitslast ausgeführt wird.

  6. Die Datenmitarbeiter fügen ihren Workload Identity-Pools einen Anbieter hinzu. Sie fügen dem Anbieter Details hinzu, z. B. den zu verwendenden Attestierungsservice, Attributzuordnungen zum Erstellen eines Prüfpfads in Protokollen und Attributbedingungen. Diese Details bestätigen die Assertionen des Confidential Space-Images, des Arbeitslastcontainers und der Arbeitslast-VM-Instanz. Wenn die Arbeitslast diese Überprüfung besteht, darf sie auf die vertraulichen Daten zugreifen und sie entschlüsseln.

  7. Die Arbeitslast wird mit den nicht vertraulichen Daten getestet, indem eine Confidential VM-Instanz im Projekt des Arbeitslastoperators gestartet wird. Die VM basiert auf einer Debug-Version des Confidential Space-Image, in der die containerisierte Arbeitslast geladen wird.

    Nachdem die Attestierungen der VM überprüft wurden und die Arbeitslast die Bedingungen der Datenmitwirkenden erfüllt, darf das an die VM angehängte Dienstkonto auf die vertraulichen Daten zugreifen, sie verarbeiten und ein Ergebnis ausgeben.

  8. Nachdem Monitoring und Debugging abgeschlossen sind, wird die Arbeitslast für die Produktionsumgebung aktualisiert. Die Datenbearbeiter aktualisieren und sichern ihre Anbieter von Arbeitslastidentitäten bei Bedarf weiter und testen die Produktionsarbeitslast möglicherweise zuerst mit nicht vertraulichen Daten.

  9. Alle Parteien stimmen der Produktionsarbeitslast zu und die Arbeit an vertraulichen Daten kann beginnen.

Voraussetzungen

Confidential Space erfordert Confidential VM, um zu funktionieren. Für Confidential VM-Instanzen muss AMD SEV, Intel TDX oder Intel TDX mit NVIDIA Confidential Computing (Vorschau) als Confidential Computing-Technologie verwendet werden. Unter Unterstützte Konfigurationen finden Sie Informationen zu Hardwarekonfigurationsoptionen und dazu, an welchen Standorten Confidential VM-Instanzen erstellt werden können.

Nächste Schritte