Zum Hauptinhalt springen
Version: Weekly Build

Was ist Confidential Compute

hinweis

Nicht jede Codesphere-Instanz bietet Confidential Compute an. Frage deinen Codesphere-Administrator, ob Confidential Compute auf deiner Instanz verfügbar ist. Siehe Voraussetzungen.

Confidential Compute schützt deine Services während der Laufzeit, selbst vor den Personen und Systemen, die die darunterliegende Infrastruktur betreiben. In Codesphere können Landscape Services und Managed Services im Confidential-Modus laufen. Diese Seite erklärt das Vertrauensmodell hinter Confidential Compute und wann es sinnvoll ist, es einzusetzen.

Das Problem: Vertrauen in den Betreiber​

Verschlüsselung schützt Daten normalerweise in zwei Zuständen. Daten im Ruhezustand werden auf der Festplatte verschlüsselt. Daten während der Übertragung werden mit TLS verschlüsselt. Daten während der Verarbeitung sind nicht geschützt. Um Daten zu verarbeiten, muss eine Anwendung sie im Klartext in den Arbeitsspeicher laden.

Jeder mit privilegiertem Zugriff auf den Host kann diesen Speicher lesen. Dazu gehören:

  • Der Cloud- oder Hosting-Anbieter
  • Rechenzentrumspersonal mit physischem Zugang
  • Administratoren des Hypervisors oder der Plattform
  • Ein Angreifer, der einen der genannten Zugänge kompromittiert hat

In einem gewöhnlichen Setup musst du all diesen Parteien vertrauen. Verträge, Audits und Zertifizierungen senken das Risiko, beseitigen es jedoch nicht auf technischer Ebene.

Verlagerung des Vertrauens zum Hardware-Hersteller​

Confidential Compute basiert auf CPU-Funktionen, die als Trusted Execution Environments (TEEs) bezeichnet werden, wie AMD SEV-SNP und Intel TDX. Sie bieten zwei Garantien.

  • Verschlüsselter Speicher. Die CPU verschlüsselt den Speicher einer geschützten Umgebung mit Schlüsseln, die innerhalb des Prozessors erzeugt werden und ihn nie verlassen. Der Host sieht ausschließlich Chiffretext.
  • Überprüfbare Integrität. Beim Start misst die CPU die Software, die in die geschützte Umgebung geladen wird. Sie signiert diese Messung mit einem Schlüssel, der im Hardware-Hersteller verankert ist. Eine entfernte Partei kann die Signatur anhand der öffentlichen Zertifikate des Herstellers überprüfen und genau feststellen, was ausgeführt wird.

Dadurch musst du dem Betreiber nicht mehr vertrauen. Du vertraust darauf, dass der Hardware-Hersteller die CPU korrekt gebaut hat, und du vertraust der Software, die du zur Ausführung ausgewählt hast. Der Betreiber betreibt weiterhin die Hardware, kann aber nicht in deinen Service hineinsehen oder ihn verändern, ohne dass dies erkannt wird.

Vergleich nebeneinander. Links läuft ein regulärer Service direkt innerhalb vertrauenswürdiger Infrastruktur. Rechts läuft ein Confidential Service innerhalb einer vertrauenswürdigen Confidential Sandbox, die sich innerhalb nicht vertrauenswürdiger Infrastruktur befindet.

Entsprechende barrierefreie Textbeschreibung

Regulärer ServiceConfidential Service
Wer den Speicher lesen kannJeder mit Host-ZugriffNur der Service selbst
Wem vertraut wirdBetreiber, Administratoren, Hardware-HerstellerHardware-Hersteller und die eigene Software
Wie die Integrität geprüft wirdGar nicht oder nur prozessualKryptografisch, bei jedem Start

Was geschützt wird​

Codesphere kombiniert mehrere Mechanismen, um Daten in jedem Zustand zu schützen.

WasWieDetails
Daten während der VerarbeitungServices laufen in verschlüsselten Micro-VMsConfidential Micro-VMs
Service-IntegritätRemote Attestation gegenüber einem Trustee-ServiceAttestation und der Trustee-Service
Daten während der ÜbertragungMutual TLS über ein Service MeshService Mesh
Daten im RuhezustandLUKS-Volume-Verschlüsselung innerhalb der VMVerschlüsselung im Ruhezustand

Was nicht geschützt wird​

Confidential Compute schließt eine bestimmte Lücke. Es ist keine allgemeine Sicherheitslösung. Beachte folgende Einschränkungen:

  • Eigener Code. Eine Schwachstelle in deiner Anwendung oder ihren Abhängigkeiten lässt einen Angreifer weiterhin eindringen. Einmal drin, läuft der Angreifer innerhalb der vertrauenswürdigen Umgebung.
  • Freigegebene Software. Attestation bestätigt, dass die von dir freigegebene Software ausgeführt wird. Enthält diese Software eine Hintertür, bestätigt die Attestation auch diese Hintertür. Siehe Empfehlungen für den Produktivbetrieb.
  • Verfügbarkeit. Der Betreiber kann Services weiterhin stoppen, pausieren oder löschen sowie deren Ressourcen begrenzen. Confidential Compute schützt Vertraulichkeit und Integrität, nicht die Verfügbarkeit.
  • Metadaten. Der Betreiber sieht weiterhin Ressourcennutzung, Zeitverhalten, Umfang und Endpunkte des Netzwerkverkehrs sowie die Größe gespeicherter Daten.

Wo dies relevant ist​

Confidential Compute lohnt den zusätzlichen Aufwand, wenn der Betreiber deiner Infrastruktur ein Risiko darstellt, das nicht akzeptabel ist. Typische Fälle:

  • Regulierte Daten. Gesundheits-, Finanz- oder personenbezogene Daten, bei denen Vorschriften oder Richtlinien technischen Schutz vor Zugriff durch den Betreiber verlangen.
  • Datensouveränität. Der Betrieb erfolgt auf Infrastruktur in einer anderen Rechtsordnung oder bei einem anderen Anbieter, wobei die technische Kontrolle über die eigenen Daten erhalten bleibt.
  • Hardware von Drittanbietern. Der Betrieb erfolgt auf Hardware, die nicht im eigenen Besitz ist, etwa in der Public Cloud, bei Colocation-Anbietern oder in Partner-Rechenzentren, wobei überall dieselben Garantien gelten sollen.
  • Geistiges Eigentum. Schutz proprietärer Modelle, Algorithmen oder Trainingsdaten vor jedem mit Zugriff auf den Host.

Nächste Schritte​