Was ist Confidential Computing?
Verfahren, bei dem Daten während der Verarbeitung in einer hardwaregeschützten TEE behandelt werden, sodass selbst Betriebssystem, Hypervisor und die Administratoren des Cloud-Anbieters sie nicht lesen können. Zusätzlich zur Verschlüsselung gespeicherter und übertragener Daten schützt es Daten während der Verwendung. Es gibt VM-basierte TEEs, die eine ganze virtuelle Maschine schützen (etwa AMD SEV-SNP, Intel TDX und Arm CCA), und Enklaven, die einen Teil einer Anwendung schützen (etwa Intel SGX). Geheime Daten und Schlüssel werden erst übergeben, nachdem der Zustand im Inneren per Remote Attestation geprüft wurde.
Japanische Bezeichnung: 機密コンピューティング
„Confidential Computing“ kommt in 4 Übungsfragen aus 2 Themen vor, z. B. Aktuelle Entwicklungen der Hardwaresicherheit, Hardwaresicherheit.
Fachgebiet: Aktuelle Entwicklungen der Hardwaresicherheit
Schutz von Daten während der Verwendung
Daten lassen sich auf der Festplatte durch Speicherverschlüsselung und bei der Übertragung über ein Netzwerk durch TLS oder Ähnliches schützen. Für Berechnungen werden sie jedoch im Speicher entschlüsselt, sodass man bisher dem Betriebssystem, dem Hypervisor und dem Cloud-Anbieter, der sie verwaltet, vertrauen musste. Beim Confidential Computing verschlüsselt die CPU den Speicher der TEE mit Schlüsseln, die nur in der CPU existieren, und weist Zugriffe von Software außerhalb der TEE ab. So können Nutzer vertrauliche Daten verarbeiten, ohne der Cloud-Infrastruktur vollständig zu vertrauen.
VM-basierte TEEs und Enklaven
Eine VM-basierte TEE schützt den Speicher einer ganzen virtuellen Maschine, sodass vorhandene Betriebssysteme und Anwendungen nahezu unverändert laufen; dafür gelangt ein großer Softwareumfang einschließlich des Gastbetriebssystems in die Trusted Computing Base (TCB). Eine Enklave führt nur den geheimnisverarbeitenden Teil in einem geschützten Bereich aus, sodass die TCB klein bleibt, doch die Anwendung muss aufgeteilt und neu geschrieben werden. Bei VM-basierten TEEs ist neben der Verschlüsselung auch ein Integritätsschutz wichtig, der verhindert, dass der Hypervisor Seiten neu zuordnet oder alte Inhalte zurückschreibt. Mit Stand Mitte der 2020er-Jahre werden auch Lösungen angeboten, die die TEE einer CPU mit einer GPU kombinieren, um KI-Verarbeitung per Confidential Computing auszuführen.
Grenzen und Vorbehalte
Confidential Computing schützt vor allem vor Lese- und Schreibzugriffen von Software und Administratoren auf den Speicher. Ein Seitenkanalangriff über Caches oder spekulative Ausführung, Dienstverweigerung durch einen Hypervisor, der Ressourcen vorenthält (Verfügbarkeit), sowie fortgeschrittene physische Angriffe auf den Speicherbus im Betrieb liegen je nach Verfahren außerhalb des Schutzes. Hat zudem die Software in der TEE eine Schwachstelle, können darüber Geheimnisse abfließen. Wichtig ist es daher, Zustand und Firmwareversion per Attestation zu prüfen, die TCB klein zu halten und Microcode- und andere Updates fortlaufend einzuspielen.
Häufige Fragen
Wozu braucht man Attestation, wenn der Speicher verschlüsselt ist?
Verschlüsselung verhindert nur das Lesen von außen; sie sagt nichts darüber, was im Inneren läuft. Die Arbeitslast könnte in einer gefälschten TEE, auf einem manipulierten Gastbetriebssystem oder auf Firmware ohne Schwachstellenkorrektur laufen; deshalb wird der Schlüssel zum Entschlüsseln der Daten erst übergeben, nachdem die mit dem Schlüssel der CPU signierten Messwerte und Versionsnummern geprüft wurden.
Muss man dem Cloud-Anbieter dann überhaupt nicht mehr vertrauen?
Die Sorge, dass Speicherinhalte gelesen werden, sinkt stark, doch dem CPU-Hersteller und seiner Firmware muss weiterhin vertraut werden, und der Anbieter kann den Dienst durch Vorenthalten von Ressourcen weiterhin stören. Für jedes Verfahren ist zu prüfen, wem vertraut wird und wovor es schützt.