Wie Cloud-Anbieter Vertraulichkeit ohne Leistungsverlust gewährleisten Confidential Computing – lieber auf Nummer sicher gehen

Autor / Redakteur: Anna Kobylinska und Filipe Pereira Martins* / Elke Witmer-Goßner

Die Datensicherheit in der Cloud bereitet Unternehmen Sorgen und bremst die Adaption aus. Durch das verstärkte Aufkommen von KI/ML- und IoT-Workloads spitzt sich die Lage zu. Mit Confidential Computing wollen Cloud-Anbieter Abhilfe schaffen.

Firmen zum Thema

Das verstärkte Aufkommen von KI- und ML-Workloads verleiht dem Schutz von Daten während der Verarbeitung eine ganz besondere Dringlichkeit – Confidential Computing soll Abhilfe schaffen.
Das verstärkte Aufkommen von KI- und ML-Workloads verleiht dem Schutz von Daten während der Verarbeitung eine ganz besondere Dringlichkeit – Confidential Computing soll Abhilfe schaffen.
(Bild: © DedMityay - stock.adobe.com)

Cloud-Anbieter bieten ihren Nutzern die Möglichkeit, Daten während der Übertragung (engl. data in transit) und im Ruhezustand im Rahmen ihrer Storage-Dienste (engl. data at rest) zu sichern. Bei Daten mit niedrigen Vertraulichkeitsanforderungen mögen diese Maßnahmen ja ausreichen. Doch ein gewisses Potenzial für Datenschutzverstöße existiert selbst während der Verarbeitung von Daten in der Cloud (engl. data in use).

Bevor eine Anwendung Daten verarbeiten kann, muss sie diese im Speicher im Klartext vorfinden. Dadurch sind die Daten unmittelbar zum Zeitpunkt der Verarbeitung sowie kurz davor und kurz danach nicht gegen Missbrauch geschützt: Memory-Dumps, Root-Benutzer-Fehlgriffe und eine Vielzahl böswilliger Exploits und Verwundbarkeiten wie Spectre und Meltdown stellen eine persistente Gefahr dar. In der Cloud ist die Situation besonders gravierend (siehe dazu den Abschnitt „Die Illusion geteilter Verantwortung“ weiter unten).

Mit einer Lösung namens Confidential Computing (dem sogenannten vertraulichen Computing) wollen Cloud-Anbieter die Gefahr unerlaubter Zugriffe auf Daten laufender Arbeitslasten wirksam entgegensteuern.

Vertraulich verschlüsselt

Mit Confidential Computing lassen sich Daten während der Verarbeitung schützen. Der Ansatz soll den unerlaubten Zugriff auf vertrauliche Informationen einer virtuellen Maschine sogar bei einem erfolgreichen Einbruchsversuch wirksam verhindern können. Confidential Computing macht sich hierzu technische Vorkehrungen zu Nutze, welche in der Hardware des betreffenden Host-Systems implementiert wurden: die sogenannte vertrauenswürdige Ausführungsumgebung (kurz TEE für trusted execution environment) der CPU.

Eine TEE-basierte Anwendung unterteilt sich in zwei Arten von Komponenten: Host und Enclave.
Eine TEE-basierte Anwendung unterteilt sich in zwei Arten von Komponenten: Host und Enclave.
(Bild: Autor)

Confidential Computing isoliert vertrauliche Daten während der Verarbeitung in der vertrauenswürdigen Ausführungsumgebung innerhalb der CPU, einer sogenannten geschützten CPU-Enklave. Der Inhalt dieser Enklave – also die zu verarbeitenden Daten – und die Techniken der Handhabung dieser Daten werden mit eingebetteten Kryptografie-Schlüsseln gesichert und sind nur für autorisierten Anwendungscode zugänglich. Für alle anderen Zugriffe des Betriebssystems (oder des Hypervisors bei einer virtuellen Maschine) – selbst dann, wenn sie der Cloud-Anbieter initiiert haben sollte – bleiben die Daten unsichtbar. Die betreffenden Daten liegen im Arbeitsspeicher geschützt vor, bis die betreffende Anwendung das Entschlüsseln durch die TEE anfordert. Ein Zugriffsversuch durch nicht-autorisierten oder manipulierten Code führt im Gegensatz dazu zum Abbruch der Berechnung.

Confidential Computing setzt derzeit speziell angepasste Anwendungen voraus, welche die In-Memory-Verarbeitung verschlüsselter Daten handhaben können. Eine solche Anwendung unterteilt sich in zwei Arten von Komponenten:

  • die sogenannte Host-Partition, also die nicht-vertrauenswürdige Komponente, die vom Betriebssystem unverändert ausgeführt wird, und
  • mindestens eine vertrauenswürdige Komponente namens Enklave, die in einem geschützten Container der TEE läuft und gecachte Daten in völliger Isolation verarbeitet.

Diese Schutzmaßnahmen ermöglichen es Enklaven, sichere Berechnungen durchzuführen, ohne ihre kryptografischen Geheimnisse preiszugeben.

Sichere Enklaven schaffen

In Sachen Confidential Computing herrscht bei allen führenden Cloud-Anbietern hektische Betriebsamkeit. Ende 2019 hat sich eine Gruppe von CPU-Herstellern, Cloud-Anbietern und Softwareschmieden zusammengeschlossen und eine Organisation zur Förderung von Confidential Computing unter der Schirmherrschaft der Linux Foundation ins Leben gerufen: das Confidential Computing Consortium (CCC). CCC hat sich zum Ziel gesetzt, die In-Memory-Verarbeitung verschlüsselter Daten in hybriden Umgebungen zu ermöglichen, damit Unternehmen ihre Workloads und Daten zwischen Cloud-, On-Premises- und Edge-Umgebungen bedarfsgerecht hin und her verschieben können.

Zu den Gründungsmitgliedern von CCC zählen neben AMD, Fortanix, Google, IBM/Red Hat, Intel, Microsoft, Oracle, Swisscom und VMware, unter anderem auch die chinesischen Technologiekonglomerate Alibaba, Baidu und Tencent. Intel hat zum Konsortium die hauseigene Software Guard Extensions SDK (Intel SGX) beigesteuert. Auch etwa das Open Enclave Software Development Kit (OE SDK) und Enarx werden im Rahmen des CCC entwickelt.

Open Enclave ist eine Sammlung von Bibliotheken zur Entwicklung von TEE-fähigen Anwendungen auf der Basis einer einheitlichen Abstraktion in einem universellen Plattformmodell. Bei Enarx handelt es sich um ein quelloffenes System zur Anwendungsbereitstellung in Trusted Execution Environments (TEEs). Enarx macht sich Technologien wie Web-Assembly zu Nutze, um die Ausführung von unverändertem Anwendungscode in geschützten Laufzeitumgebungen, den sogenannten Keeps, auf nicht-vertrauenswürdiger Hardware zu ermöglichen – zum Beispiel in der Cloud.

Vertrauliches Computing auf Microsoft Azure

Microsoft war der erste Cloud-Hyperscaler mit einer kommerziellen Implementierung von Confidential Computing, bereits im Jahre 2017. Heute umfasst das Angebot neben vertraulichen VMs und Containern auch etwa vertrauliche ML-Dienste, IoT-Endpunkte und eine vertrauliche Edition von Azure SQL.

Confidential Computing mit Intel SGX auf Microsoft Azure: Ein Teil der physischen CPU ist für einen Teil des Anwendungscodes und Daten der betreffenden Anwendung fest reserviert, die sogenannten Enklave.
Confidential Computing mit Intel SGX auf Microsoft Azure: Ein Teil der physischen CPU ist für einen Teil des Anwendungscodes und Daten der betreffenden Anwendung fest reserviert, die sogenannten Enklave.
(Bild: Microsoft)

Microsofts eigene Implementierung von Confidential Computing auf Azure ist in Hardware implementiert. Seit Oktober 2020 bietet Azure vollständige Speicherverschlüsselung und hardwarebeschleunigte Kryptografie für vertrauliches Computing mit Intel Software Guard Extensions (SGX) auf der dritten Generation von Intel Xeon CPUs, Codename Ice Lake. Ein Dienst namens Microsoft Azure Attestation (derzeit noch in einer Vorschau) erlaubt, die ordnungsgemäße Instanziierung von Software-Binaries in einer Cloud-Bereitstellung aus der Ferne zu bescheinigen.

Mit dem Confidential Consortium Framework (CCF) bietet Microsoft ein quelloffenes Entwicklungsframework für vertrauliche Anwendungen. Mit CCF können Unternehmen zum Beispiel ein verteiltes Transaktionshauptbuch (engl. distributed ledger) in Enklaven auf virtuellen Maschinen in einem Netzwerk von Compute-Knoten in Microsoft Azure ausführen, um eine erhöhte Manipulationssicherheit des Protokolls zu gewährleisten.

Nitro-Enklaven auf AWS EC2

Schematische Darstellung der Funktionsweise einer AWS Nitro-Enklave.
Schematische Darstellung der Funktionsweise einer AWS Nitro-Enklave.
(Bild: AWS)

Ende November 2020 hat AWS mit den sogenannten Nitro-Enklaven eine isolierte EC2-Umgebung für Confidential Computing auf Linux-Basis vorgestellt. Der neue Dienst verfügt über keinen persistenten Speicher und bietet keinen administrativen Zugriff. Er schafft stattdessen eine isolierte Ausführungsumgebung für Anwendungscode, um hochsensible Daten in EC2-Instanzen zu schützen und die Angriffsfläche weiter zu verringern. AWS avisiert hierbei Finanzdienstleister, den Verteidigungssektor sowie Medien und Unterhaltung.

„Diese neuen AWS-Nitro-Enklaven finde ich absolut faszinierend“, kommentiert Vin Armani, CTO bei dem FinTech-Startup CoinText. Der Krypto-Experte sieht für Nitro-Enklaven vielseitige Nutzungsszenarien und sagt dem Cloud-Dienst eine hohe Popularität bei Krypto-Börsen voraus. AWS-Nitro-Enklaven scheinen aus seiner Sicht „die perfekte Lösung zu sein für Server, welche Simple Ledger Postage Protocol und SWaP Protocol-Dienste anbieten“, so Armani.

Dank der Unterstützung für host-terminierte TLS-Verschlüsselung auf EC2 über Nitro-Enklaven im AWS Certificate Manager können Unternehmen nebenbei kostenlose öffentliche und/oder private TLS-Zertifikate mit Web-Anwendungen und Webservern verwenden, die auf EC2-Instanzen in AWS Nitro-Enklaven laufen.

Confidential Computing mit AMD: Google & Co.

Dieses Jahr begab sich endlich auch Google auf Aufholjagd in Sachen Confidential Computing mit Diensten wie vertrauliche VMs (einer Weiterentwicklung von Shielded VMs mit In-Memory-Verschlüsselung) und vertrauliche GKE-Knoten (GKE steht für Google Kubernetes Engine, das Herz der Cloud-Orchestrierung bei Google). In beiden Fällen zeichnet für die Verschlüsselung die Technologie AMD Secure Encrypted Virtualization des AMD EPYC-Prozessors verantwortlich. In Zukunft möchte Google mit einer eigenen Implementierung von Confidential Computing für GPUs, TPUs und FPGAs nachkarten.

Im November 2020 haben IBM und AMD separat eine mehrjährige gemeinsame Entwicklungsvereinbarung unterzeichnet, welche unter anderem eine verbesserte Datensicherheit zum Ziel hat. Die beiden Unternehmen wollen vertrauliches Computing in hybriden Cloud-Umgebungen vorantreiben und hierzu eine breite Palette von Hardwarebeschleunigern unter anderem für die Datenverschlüsselung unterstützen.

Die Illusion von der geteilten Verantwortung

Cloud-Anbieter schwärmen gerne von geteilter Verantwortung im Hinblick auf die Cybersicherheit von Cloud-Anwendungen ihrer Nutzer. Dieser noble Wunsch steht im starken Kontrast zu den Realitäten. Denn Cloud-Computing gilt im Sinne des Bundesdatenschutzgesetzes (BDSG) als „Auftragsdatenverarbeitung“. Nutzer von Cloud-Diensten tragen daher selbst die Verantwortung für die Einhaltung aller Vorschriften und Bestimmungen rund um den Datenschutz durch den Cloud-Dienstleister. Für etwaige Datenschutzverstöße haftet in erster Linie der Cloud-Nutzer, nicht der Cloud-Anbieter. Für viele wirkt das schon mal abschreckend.

Die Pflichten gemäß BDSG entfallen jedoch, wenn der Anbieter mittels eines in der EU anerkannten Zertifikats nachweisen kann, dass seine Cloud-Umgebung die gültigen Datenschutz- und Datensicherheitsbestimmungen einhält. Das Bundesministerium für Wirtschaft und Energie hat in Zusammenarbeit mit der Stiftung Datenschutz das Zertifikat „Trusted Cloud“ (tcdp.de) geschaffen, um der Marktfragmentierung rund um Zertifizierungen entgegenzuwirken und den Unternehmen eine grundsolide Entscheidungshilfe zu bieten. Das Trusted Cloud Datenschutz-Profil für Cloud-Dienste – kurz TCDP – sei der erste und einzige Prüfstandard, der die Anforderungen des deutschen Bundesdatenschutzgesetzes an die Auftragsdatenverarbeitung „vollständig abbilde“. Confidential Computing ist bisher hiervon nicht abgedeckt.

Die DSGVO verpflichtet die Unternehmen, „unter Berücksichtigung des Stands der Technik, der Implementierungskosten und der Art, des Umfangs, der Umstände und der Zwecke der Verarbeitung sowie der unterschiedlichen Eintrittswahrscheinlichkeit und Schwere der mit der Verarbeitung verbundenen Risiken für die Rechte und Freiheiten natürlicher Personen“ zum Schutz der betreffenden personenbezogenen Daten „geeignete technische und organisatorische Maßnahmen“ zu treffen – Zertifizierung hin oder her. Das Fehlen einer anerkannten Zertifizierung befreit die Unternehmen nicht von dieser Pflicht.

Unternehmen sollten daher regelmäßig prüfen, inwiefern sie Schutzmaßnahmen ergreifen sollten, die über den Umfang einer anerkannten Zertifizierung hinaus gehen. Durch bloßes Abwarten ist jedenfalls kein Blumentopf zu gewinnen.

Fazit

Vertrauliches Computing schützt Daten in Benutzung und kann zu einer verbesserten Portabilität von Arbeitslasten in der Multi-Cloud beitragen. Cloud-Dienste rund um Confidential Computing stecken noch in den Kinderschuhen. Dennoch haben sie bereits praktische Relevanz für Unternehmen in Branchen wie dem Finanz-, Gesundheits- und Versicherungswesen.

In Kombination mit Speicher- und Netzwerkverschlüsselung bei exklusiver Kontrolle über Verschlüsselungsschlüssel kann Confidential Computing bereits heute eine durchgängige, allumfassende (Engl. end-to-end) Datensicherheit in der Cloud bieten.

* Das Autorenduo Filipe Pereira Martins und Anna Kobylinska arbeitet für die Beratungsgesellschaft McKinley Denali Inc. (USA).

Artikelfiles und Artikellinks

(ID:47142561)