Vertrauenswürdige Ausführungsumgebung: Was ist das und wie funktioniert es?
Da Unternehmen zunehmend Multi-Cloud-, Hybrid-Cloud- und Edge-Computing einsetzen, verfolgen, speichern und analysieren ihre Anwendungen sensible Benutzerdaten in einer Vielzahl von Umgebungen. Um die Compliance und den Datenschutz der Personen zu gewährleisten, die Anwendungen nutzen, müssen die Daten während ihres gesamten Lebenszyklus geschützt werden.
Wir verschlüsseln Dateisysteme und Speicherlaufwerke und verwenden SSH-Protokolle, um Daten im Ruhezustand und bei der Übertragung sicher zu halten, selbst wenn sie gestohlen werden, sodass sie ohne kryptografische Schlüssel unbrauchbar werden. Die verwendeten Daten sind jedoch in der Regel unverschlüsselt und anfällig für Angriffe und Exploits.
Um Anwendungen und Daten zur Laufzeit zu schützen, greifen Entwickler zunehmend auf Trusted Execution Environments zurück, die oft als „sichere Enklaven“ bezeichnet werden.
Was sind vertrauenswürdige Ausführungsumgebungen?
Trusted Execution Environments (TEEs) sind CPU-verschlüsselte isolierte private Enklaven im Speicher, die zum Schutz der verwendeten Daten auf Hardwareebene dienen.
Solange sich die sensiblen Daten in einer Enklave befinden, können unbefugte Personen sie nicht entfernen, ändern oder weitere Daten hinzufügen. Der Inhalt einer Enklave bleibt für Außenstehende unsichtbar und unzugänglich und vor Bedrohungen von außen und innen geschützt.
Dadurch gewährleistet ein TEE Folgendes:
- Datenintegrität
- Codeintegrität
- Vertraulichkeit der Daten
Abhängig vom Anbieter und der zugrunde liegenden Technologie können TEEs zusätzliche Funktionen ermöglichen, wie zum Beispiel:
- Code-Vertraulichkeit - Schutz von Algorithmen, die als geistiges Eigentum gelten.
- Authentifizierter Start - Autorisierung oder Authentifizierungserzwingung nur für den Start verifizierter Prozesse.
- Programmierbarkeit - Zugriff auf TEE-Programmiercode vom Hersteller oder einer anderen sicheren Quelle.
- Bestätigung - Messung der Herkunft und des aktuellen Zustands einer Enklave zur Manipulationssicherheit.
- Wiederherstellbarkeit - Stellen Sie einen vorherigen sicheren Zustand wieder her, falls ein TEE kompromittiert wird.
Diese Funktionen geben Entwicklern die volle Kontrolle über die Anwendungssicherheit und schützen sensible Daten und Code, selbst wenn das Betriebssystem, das BIOS und die Anwendung selbst gefährdet sind.
Wie funktioniert eine sichere Enklave?
Um zu verstehen, wie TEEs funktionieren, werfen wir einen Blick auf Intel® Software Guard Extensions (SGX).
Mit Intel® SGX werden die Anwendungsdaten in ihre vertrauenswürdigen und nicht vertrauenswürdigen Teile aufgeteilt. Die vertrauenswürdigen Teile des Codes werden verwendet, um die Anwendung in einer geschützten Enklave auszuführen. Die CPU verweigert allen anderen Zugriff auf die Enklave, unabhängig von den Privilegien der anfragenden Entitäten. Nach der Verarbeitung bleiben die vertrauenswürdigen Daten im TEE gespeichert und die der Anwendung außerhalb der Enklave bereitgestellten Informationen werden erneut verschlüsselt.
Enklaven werden über Hardwarebefehle erstellt und bereitgestellt, die das Erstellen und Hinzufügen von Speicherseiten sowie das Initialisieren, Entfernen oder Messen von Enklaven ermöglichen.

Die Firmware der Plattform verwendet ihre Konfigurationseinstellungen, um den Bereich für das TEE einzurichten. Sobald die Erweiterungen aktiviert sind, reserviert die CPU einen Abschnitt des DRAM als Processor Reserved Memory (PRM). Die PRM-Größe kann über die Firmware-Tools angegeben werden.
Anschließend weist die CPU das PRM zu und konfiguriert es, indem sie ein Paar modellspezifischer Register (MSRs) festlegt. Als nächstes werden im PRM Enclave Page Caches (EPC) erstellt, die Metadaten mit Basisadressen, Enclave-Größe und Datensicherheitsinformationen enthalten.

Schließlich erstellt die CPU einen kryptografischen Hash des Anfangszustands der Enklave und protokolliert weitere darauf folgende Zustände. Dieser Hash wird später zur Bescheinigung über kryptografische Schlüssel und den Hardware-Root of Trust verwendet.
Nach der Initialisierung kann die Enklave Benutzeranwendungen hosten.
phoenixNAP Bare Metal Cloud-Server mit Intel SGX ermöglichen vertrauliches Computing für verbesserte Sicherheit und Compliance. Stellen Sie Ihre Bare-Metal-Cloud-Server-Instanz in wenigen Minuten bereit!
Wie sicher sind vertrauenswürdige Ausführungsumgebungen?
Um am besten zu erklären, wie sicher ein TEE ist, müssen wir uns zunächst mit den Ringen der CPU-Privilegien befassen.

Verschlüsselungsschlüssel wurden traditionell innerhalb der Anwendungen auf der Ring-3-Ebene gespeichert. Dieses Modell gefährdet die innerhalb der Anwendung geschützten Geheimnisse, sobald diese kompromittiert wird.
Bei modernen Architekturen gehen Privilegienringe über den Kernel und den Hypervisor hinaus und erstrecken sich auf den System Management Mode (SMM) und die Management Engine (ME). Dadurch kann die CPU den von einem TEE verwendeten Speicher sichern, die Angriffsfläche auf die untersten Hardwareebenen reduzieren und den Zugriff für alle außer den höchsten Privilegienebenen verweigern.
Ein weiterer Schlüssel zur Funktionalität und Sicherheit eines TEE ist die Bescheinigung. Durch die Bescheinigung werden die gesamte Plattform und die Enklave gemessen und validiert, bevor Daten weitergegeben werden.
Beispielsweise kann eine Enklave einen lokalen Bericht von sich selbst oder einer anderen Enklave auf derselben Plattform anfordern und den Bericht zur Datenprüfung und -verifizierung verwenden. Ebenso kann ein Fernprüfer den Bescheinigungsbericht anfordern, bevor er sensible Daten von der Enklave anfordert. Sobald Vertrauen hergestellt ist, können sie Sitzungsschlüssel und Daten über einen sicheren Kanal teilen, der für externe Parteien unsichtbar ist.

Da unverschlüsselte Geheimnisse das TEE niemals verlassen, schützen sichere Enklaven Daten vor:
- Andere Anwendungen auf dem Host
- Das Host-Betriebssystem oder der Hypervisor
- Systemadministratoren
- Dienstleister
Selbst der Infrastruktureigentümer und andere Stellen mit physischem Zugriff auf die Hardware können nicht auf die Daten zugreifen.
Sichere Enklaven im Confidential Computing
Um eine sichere und standardisierte Verarbeitung privater Workloads in verschiedenen Cloud-Umgebungen zu ermöglichen, gründete die Linux Foundation 2019 eine Community namens Confidential Computing Consortium (CCC). Seit ihrer Gründung arbeiten CCC-Mitglieder daran, die Einführung von Cloud Computing zu beschleunigen und eine offene Zusammenarbeit zu ermöglichen.
Dank des hohen Datenschutzniveaus, das sie bieten, stehen hardwarebasierte sichere Enklaven im Mittelpunkt dieser Initiative.
Durch vertrauliches Computing, das von TEEs unterstützt wird, können Unternehmen alles von einem einzelnen kryptografischen Schlüssel bis hin zu ganzen Workloads schützen, während ihre Anwendungen verwendet werden.
Warum sollten Sie Confidential Computing einführen?
Heutzutage gehen Geheimnisse weit über Passwörter hinaus und umfassen streng vertrauliche und unersetzliche Informationen wie Krankenakten oder biometrische Daten.
Confidential Computing bietet Unternehmen einen Wettbewerbsvorteil, indem es diese Daten schützt und finanzielle Verluste oder Reputationsschäden verhindert. Es gibt jedoch auch andere Anwendungsfälle für diese sich entwickelnde Technologie.
Mehrparteienberechnung
Confidential Computing ermöglicht es Unternehmen, Daten aus mehreren Quellen zu verarbeiten, ohne den zugrunde liegenden Code, das geistige Eigentum oder private Kundeninformationen den Parteien preiszugeben, mit denen sie zusammenarbeiten. Konkurrenz hin oder her, Regierungsorganisationen, das Gesundheitswesen oder Forschungsinstitute können diese Funktion nutzen, um zusammenzuarbeiten und Erkenntnisse zum Zweck des Verbundlernens auszutauschen.

Finanzierung und versicherung
Durch den Einsatz vertraulicher Datenverarbeitung verhindern Finanzinstitute betrügerische Aktivitäten wie Geldwäsche. Eine Bank kann ein verdächtiges Konto mit einer anderen Bank innerhalb oder außerhalb ihres Netzwerks teilen, um es zu prüfen und die Wahrscheinlichkeit falsch positiver Ergebnisse zu minimieren.
Versicherungsunternehmen können einen ähnlichen Ansatz zur Betrugsprävention nutzen. Sie können untereinander einen verdächtigen Anspruch zur Mustererkennung teilen. Durch die Speicherung sensibler Daten in einer Enklave und den Austausch von Datensätzen zwischen verschiedenen Quellen können Ergebnisse erzielt werden, ohne dass dabei vertrauliche Informationen preisgegeben werden.
Abschluss
Unternehmenstools zur Verbesserung der Sicherheit werden im Zuge der Weiterentwicklung des Confidential Computing ständig weiterentwickelt. Dies fördert die Akzeptanz, das Wachstum und die Sicherheit des Cloud Computing und erschließt sein volles Potenzial.
Durch den beispiellosen Schutz sensibler Daten und Codes während der Ausführung ermöglichen Trusted Execution Environments es Unternehmen, ihre Sicherheitslage zu stärken und schon heute zukunftsfähige Technologien zu nutzen.