TrustZone vs. SGX vs. SEV/TDX: Isolationseinheit, TCB, Speicherverschlüsselung

Alle drei sind Hardware-Mechanismen der CPU, vertrauenswürdige Ausführungsumgebungen (TEEs), die sensible Verarbeitung auch dann schützen, wenn das normale Betriebssystem oder der Hypervisor kompromittiert ist. Sie unterscheiden sich in der Einheit, die sie abtrennen. TrustZone teilt den Prozessor in eine Secure World und eine Normal World und wird vor allem in Smartphones und eingebetteten Geräten eingesetzt. SGX trennt nur einen Teil einer Anwendung als Enklave ab und hält die Trusted Computing Base so klein wie möglich. SEV und TDX verschlüsseln den Speicher einer ganzen virtuellen Maschine (VM), sodass selbst der Cloud-Anbieter ihn nicht lesen kann; dieser Ansatz heißt Confidential Computing.

MerkmalTrustZoneSGX (Enklave)SEV/TDX (VM-basiertes Confidential Computing)
IsolationseinheitDer ganze Prozessor wird in Secure World und Normal World geteilt; in der Secure World laufen ein kleines vertrauenswürdiges Betriebssystem und vertrauenswürdige AnwendungenEin Teil einer Anwendung, der Geheimnisse verarbeitet (die Enklave)Eine ganze virtuelle Maschine
Schützt gegenBetriebssystem und Anwendungen der Normal World; selbst wenn deren Kernel kompromittiert ist, bleibt der Speicher der Secure World unlesbarBetriebssystem, Hypervisor, andere Anwendungen und Angreifer, die den Hauptspeicher physisch auslesenHypervisor, Administratoren des Cloud-Anbieters, andere VMs und Angreifer, die den Hauptspeicher physisch auslesen
Trusted Computing Base (TCB)CPU-Hardware, der Secure Monitor, der zwischen den Welten umschaltet, sowie das vertrauenswürdige Betriebssystem und die Anwendungen der Secure WorldCPU-Hardware und Firmware plus der eigene Code der Enklave; das Betriebssystem gehört nicht dazuCPU-Hardware und Firmware (etwa AMDs Sicherheitsprozessor oder Intels TDX-Modul) plus alles in der VM einschließlich des Gastbetriebssystems; der Hypervisor gehört nicht dazu
SpeicherverschlüsselungNicht Teil des Grundmechanismus; ein Bussignal kennzeichnet Zugriffe als sicher oder nicht, und die Zugriffe selbst werden blockiertEnklavenseiten bleiben im Hauptspeicher außerhalb der CPU verschlüsselt; manche Implementierungen erkennen zudem ManipulationenDer gesamte VM-Speicher wird mit einem VM-spezifischen Schlüssel verschlüsselt, der nur in der CPU verwaltet wird; SEV-SNP und TDX ergänzen einen Integritätsschutz, der den Hypervisor daran hindert, Speicher umzuschreiben oder neu zuzuordnen
AttestierungKein gemeinsames Architekturverfahren; wird aus Secure Boot und Schlüsselmechanismen des SoC zusammengesetztDie Startmessung der Enklave wird mit einem Schlüssel in der CPU signiert; Nutzer prüfen den Bericht, bevor sie geheime Daten übergebenDie CPU misst den Anfangszustand der VM und stellt einen mit einem Schlüssel in der CPU signierten Bericht aus; Nutzer prüfen ihn, bevor sie den Schlüssel zur Entschlüsselung ihrer Daten freigeben
Typischer EinsatzBiometrischer Abgleich, Zahlungsnachweise, Speicherung von DRM-Schlüsseln und Prüfungen beim Secure Boot auf Smartphones und eingebetteten GerätenSchutz nur eines Teils einer Server-Arbeitslast, etwa Schlüsselverwaltung oder Verarbeitung sensibler DatenVertrauliche VMs in der Cloud, die bestehende Anwendungen ausführen und sie selbst vor dem Anbieter schützen
PortierungsaufwandCode muss als Anwendung der Secure World mit einer schmalen Schnittstelle zur Normal World geschrieben werdenGroß: Die Anwendung wird in Teile innerhalb und außerhalb der Enklave aufgeteilt, Systemaufrufe sowie Datei- und Netzwerk-E/A übernimmt Code außerhalbKlein: Mit einem unterstützten Gastbetriebssystem laufen bestehende Betriebssysteme und Anwendungen nahezu unverändert
Bekannte AngriffsklassenWeil Kerne, Caches und Stromversorgung geteilt werden, hat die Forschung Cache-Seitenkanalangriffe und Fehlerinjektion über Spannungs- oder Takt-Glitches demonstriert; auch Fehler im vertrauenswürdigen Betriebssystem und in den Anwendungen sind ZieleDie Forschung hat berichtet, dass Geheimnisse über Seitenkanalangriffe mittels Cache-Timing, Page-Fault-Mustern und spekulativer Ausführung abfließenDie Forschung hat Angriffe berichtet, bei denen ein bösartiger Hypervisor die VM-Schnittstelle manipuliert, etwa Speicherzuordnungen und Interrupts, sowie Seitenkanalangriffe; als Gegenmaßnahme kam der Integritätsschutz hinzu
VerfügbarkeitWeit verbreitet in Arm-Anwendungsprozessoren, mit einer schlanken Variante in Armv8-M-Mikrocontrollern; Armv9-A definiert zudem Arm CCA (Realms) für Isolation auf VM-EbeneSeit Anfang der 2020er-Jahre bietet Intel SGX nicht mehr auf Client-CPUs an, sondern vor allem auf Server-CPUsSEV ist eine Funktion von AMD-Server-CPUs, TDX von Intel-Server-CPUs; Mitte der 2020er-Jahre bieten große Clouds sie als vertrauliche VMs an

Die Zahlenwerte sind typische Größenordnungen und variieren je nach Prozessgeneration und Produkt.

Wann welche Variante?

TrustZone
Auf Smartphones und eingebetteten Geräten, wenn ohne zusätzlichen Chip ein sicherer Bereich in einem einzigen SoC entstehen soll. Biometrie, Zahlungen und Secure-Boot-Prüfungen laufen getrennt vom normalen Betriebssystem.
SGX (Enklave)
Auf einem Server, wenn nur ein kleiner, besonders sensibler Teil der Arbeit, etwa der Umgang mit Schlüsseln, selbst vor Betriebssystem und Hypervisor isoliert werden muss. Ergibt die kleinste Trusted Computing Base, erfordert aber eine Umstrukturierung der Anwendung.
SEV/TDX (VM-basiertes Confidential Computing)
In der Cloud, wenn bestehende Anwendungen nahezu unverändert laufen und dabei selbst vor Hypervisor und Administratoren des Anbieters geschützt sein sollen. Remote Attestation bestätigt, dass es die richtige VM ist, bevor Datenschlüssel freigegeben werden.

Häufige Fragen

Was ist sicherer, eine Enklave oder eine vertrauliche VM?

Sie schützen gegen ähnliche Parteien, vertrauen aber unterschiedlich viel Code. Eine Enklave nimmt sogar das Betriebssystem aus der Trusted Computing Base heraus und vertraut nur der CPU und dem eigenen Code der Enklave, daher ist die TCB am kleinsten. Eine vertrauliche VM vertraut der ganzen VM einschließlich Gastbetriebssystem, die TCB ist also größer, dafür läuft bestehende Software nahezu unverändert. Die Wahl hängt davon ab, wie viel Code geschützt werden muss und wie viel Umbau man sich leisten kann.

Verschlüsselt TrustZone den Speicher?

Der Grundmechanismus von TrustZone ist Zugriffskontrolle, keine Verschlüsselung. Jeder Lese- oder Schreibzugriff, den die CPU auf den Bus legt, trägt ein Signal, ob er sicher ist, und Schaltungen vor Speicher und Peripherie weisen Zugriffe der Normal World auf sichere Bereiche ab. Manche SoCs ergänzen eine Verschlüsselung des externen DRAM als separate Funktion.

Stoppt Speicherverschlüsselung auch Seitenkanalangriffe?

Nein. Speicherverschlüsselung verhindert, dass Daten im Hauptspeicher gelesen oder verändert werden, aber Cache-Nutzung, Timing und Page-Fault-Muster können weiterhin von außen beobachtbar sein. Gegenmaßnahmen werden kombiniert: Code, dessen Verzweigungen und Speicherzugriffe nicht von Geheimnissen abhängen, Microcode-Updates und keine gemeinsame Nutzung eines Kerns mit nicht vertrauenswürdigen Parteien.

Kann man SGX noch verwenden?

Seit Anfang der 2020er-Jahre bietet Intel SGX nicht mehr auf Client-CPUs an, sondern vor allem auf Server-CPUs; der Schutz von Anwendungen auf PCs kann also nicht mehr von SGX ausgehen. Auf Servern stehen neben Enklaven auch Verfahren auf VM-Ebene wie TDX zur Verfügung.

Verständnis prüfen

Welche Beschreibung der TEE (Trusted Execution Environment) ist richtig?

  1. AEine durch Hardware geschützte, auch vom normalen Betriebssystem isolierte Ausführungsumgebung, in der wichtige Verarbeitungen wie Schlüsselhandhabung und Authentifizierung ausgeführt werden
  2. BEine Umgebung zur Beschleunigung der Internetkommunikation
  3. CEine Textbearbeitungssoftware zum Schreiben von Programmen
Antwort und Erläuterung anzeigen

Antwort: A. Eine durch Hardware geschützte, auch vom normalen Betriebssystem isolierte Ausführungsumgebung, in der wichtige Verarbeitungen wie Schlüsselhandhabung und Authentifizierung ausgeführt werden

Normale Betriebssysteme sind funktionsreich und komplex, sodass Schwachstellen kaum vollständig auszuschließen sind. Eine TEE schafft per Hardware-Mechanismus eine kleine, vom normalen Betriebssystem getrennte Ausführungsumgebung, in der besonders schützenswerte Verarbeitungen wie Fingerabdruckabgleich, Zahlungsabwicklung und Handhabung von DRM-Schlüsseln stattfinden. Ziel ist, dass selbst bei Übernahme des normalen Betriebssystems auf Speicher und Schlüssel in der TEE nicht zugegriffen werden kann. Arm TrustZone ist ein typisches Beispiel.

Welcher Grundmechanismus von Arm TrustZone ist richtig?

  1. AAlle sicheren Verarbeitungen werden auf einem anderen PC ausgeführt
  2. BProgramme der Normal World können den Speicher der Secure World frei lesen
  3. CDie CPU hat die Zustände Secure World und Normal World und unterscheidet über Bussignale u. Ä., aus welcher Welt Lese- und Schreibzugriffe auf Speicher und Peripherie erfolgen, und schränkt sie ein
Antwort und Erläuterung anzeigen

Antwort: C. Die CPU hat die Zustände Secure World und Normal World und unterscheidet über Bussignale u. Ä., aus welcher Welt Lese- und Schreibzugriffe auf Speicher und Peripherie erfolgen, und schränkt sie ein

Bei TrustZone wechselt der CPU-Kern zwischen den beiden Zuständen sicher und normal, und bei jedem Lese- oder Schreibzugriff wird auf dem Bus ein Signal ausgegeben, das den aktuellen Zustand angibt. Die Schaltungen von Speicher und Peripherie werten dieses Signal aus und verweigern Zugriffe aus der Normal World auf als sicher zugewiesene Bereiche. Da innerhalb eines einzigen SoC ohne zusätzlichen Spezialchip ein sicherer Bereich entsteht, wird es breit in Smartphones u. Ä. eingesetzt.

Welche Eigenschaft einer „Enklave“-artigen TEE wie Intel SGX ist richtig?

  1. ADer gesamte Betriebssystem-Kernel wird auf einer externen Festplatte ausgeführt
  2. BEin Teil der Anwendung wird in einem Bereich ausgeführt, dessen Speicher die CPU verschlüsselt schützt, sodass sein Inhalt auch für Betriebssystem und Hypervisor unlesbar ist
  3. CDaten in der Enklave können von jedem frei umgeschrieben werden
Antwort und Erläuterung anzeigen

Antwort: B. Ein Teil der Anwendung wird in einem Bereich ausgeführt, dessen Speicher die CPU verschlüsselt schützt, sodass sein Inhalt auch für Betriebssystem und Hypervisor unlesbar ist

Bei Enklaven wird nur der geheimnisverarbeitende Teil der Anwendung in einem besonderen Speicherbereich ausgeführt; dieser Bereich wird in der CPU verschlüsselt, bevor er im Hauptspeicher abgelegt wird (je nach Implementierung wird auch Manipulation erkannt). Der Inhalt ist weder für Betriebssystem und Hypervisor noch für Angreifer sichtbar, die den Speicher physisch auslesen. Vertrauen muss man nur der CPU und ihrem Code. Es wurden jedoch auch Anfälligkeiten für Seitenkanalangriffe berichtet, sodass die Verwendung Vorsicht erfordert.

  1. Was ist der Zweck der Funktionen, mit denen die CPU den Speicher virtueller Maschinen verschlüsselt (AMD SEV, Intel TDX usw.) beim „Confidential Computing“ in der Cloud?
  2. Warum wird in Systemen, die vertrauliche Verarbeitung ausführen, mitunter das Simultaneous Multithreading (SMT) der CPU deaktiviert?
  3. Welche Beschreibung der Remote Attestation (Fernbescheinigung) ist richtig?

Übungsfragen zu Hardwaresicherheit

Wichtige Begriffe erklärt

TrustZone
Sicherheitsmechanismus von Arm-Prozessoren. Er schaltet zwischen Secure World und Normal World um und unterscheidet und beschränkt Zugriffe auf Speicher und Peripherie über Bussignale.
Enklave (Enclave)
TEE-Verfahren, bei dem ein Teil der Anwendung in einem Bereich ausgeführt wird, den die CPU durch Speicherverschlüsselung schützt, sodass auch Betriebssystem und Hypervisor den Inhalt nicht lesen können.
TEE (vertrauenswürdige Ausführungsumgebung)
Hardwaregeschützte Ausführungsumgebung, die auch vom normalen OS isoliert ist. Führt sicherheitskritische Verarbeitung wie Schlüsselhandhabung und Authentifizierung aus. Z. B. Arm TrustZone.
Hypervisor
Software, die mehrere virtuelle Maschinen auf einem Computer betreibt. Sie teilt den Betriebssystemen der VMs CPU, Speicher und Geräte zu und isoliert sie voneinander. Auch Virtual Machine Monitor genannt.
Remote Attestation
Mechanismus, bei dem ein Gerät den Zustand der in ihm laufenden Software mit einem Schlüssel im Chip signiert und einem entfernten Server vorlegt, damit dieser prüfen kann, ob es vertrauenswürdig ist.
Seitenkanalangriff (Side-Channel-Angriff)
Angriff, der Geheimnisse wie Schlüssel aus physikalischen Informationen außerhalb der eigentlichen Ausgabe erschließt, etwa Verarbeitungszeit, Leistungsaufnahme oder elektromagnetische Abstrahlung.
Spekulative Ausführung
CPU-Mechanismus, der nachfolgende Befehle auf Basis von Vorhersagen ausführt, bevor z. B. das Ergebnis einer Verzweigung bekannt ist. Bei Fehlvorhersage werden die Ergebnisse verworfen, aber Spuren etwa im Cache können zurückbleiben.

Verwandte Vergleiche