Die unabhängige IT-Sicherheits-Plattform - Der Marktplatz IT-Sicherheit

powered by

Institut für Internet-Sicherheit
Suche
Close this search box.

Confidential Cloud Containers – und die Cloud sieht nichts

Cloud Computing ist für viele Unternehmen und öffentliche Einrichtungen ein wichtiger Baustein in der Digitalisierungsstrategie. Insbesondere die öffentliche Cloud bietet den attraktiven Vorteil der Betreibung von Diensten, ohne eigene Ressourcen in das Verwalten und Warten der Infrastruktur zu stecken. Gerade bei sicherheits- und datenschutzrechtlichen Anwendungen ist umstritten, ob einer öffentlichen Cloud zu trauen ist und hindert Unternehmen ihre IT in die Cloud zu migrieren. Mit der neuartigen Confidential Cloud Containers Technologie besteht nun erstmals die Möglichkeit, Applikationen in einer sicheren und vertrauenswürdigen Black-Box auf der Cloud auszuführen: Zu keinem Zeitpunkt sieht die Cloud, was im Container passiert. So ist zum ersten Mal eine ganzheitliche technologische Lösung im Spiel, die der Cloud neuen Rückenwind gibt, um Privacy Shield und Datenschutzverordnungen umzusetzen.

Cloud Computing ist eines der spannendsten, technologischen Innovationen der letzten Jahrzehnten. Mit der Bereitstellung einer Compute-Infrastruktur bestehend aus elastischer Rechen- und Speicherkapazität hat sich die Betreibung von Software grundlegend verändert: Unternehmen können nun auf eine Infrastruktur aufbauen, ohne selbst für den Betrieb dieser verantwortlich zu sein. Sie kaufen einfach nur die Kapazität ein, die tatsächlich benötigt wird. Diese Flexibilität, gekoppelt mit einfacher Skalierbarkeit, ist mit Kostenersparnissen verbunden. Statt kostspielige Ressourcen für das Warten des eigenen Datenzentrums vor Ort einzusetzen, erlaubt Cloud Computing Unternehmen, sich auf das zu konzentrieren, was sie auszeichnet, nämlich ihre Produkte und Dienstleistungen.

Warum der Cloud nicht trauen?

Eine weit verbreitete Folklore-Frage lautet: “Kann man der Cloud vertrauen?” Die kritische Fragestellung ist durchaus berechtigt und nicht nur von moralischer oder philosophischer Natur. Datenschutz und Datensouveränität sind zwei wesentliche Bausteine jeglicher Cloud-Lösung, welche in den letzten Jahren brisant debattiert und stetig nachgebessert wurden. Das Recht auf den Schutz von (personenbezogener) Daten, wie es europaweit durch GDPR definiert ist, war Ausgangspunkt die Vorschriftendes Datenaustausches zwischen der USA und EU, wie im Privacy Shield definiert [1], neu zu überdecken. Der Europäische Gerichtshof kam im Juli 2020 zu dem Urteil [2], bekannt als Schrems-II, dass Daten auf US-gehosteten Servern nicht ausreichend geschützt sind. Dies gilt auch für US-Unternehmen, welche Tochtergesellschaften in der EU haben. Casus Knacksus war der CLOUD Act [3], welche dem FBI die Befugnis erteilte, auf gehostete Daten zuzugreifen, auch der der EU-Bürger. Eine strenge Auslegung des Schrems-II-Urteils hat die Vergabekammer Baden-Württemberg im Juli 2022 vollzogen. Im konkreten Fall hatte sich ein in der EU ansässiges Tochterunternehmen eines US-Anbieters für Cloud-Dienstleistungen an einem Vergabeverfahren beteiligt. Obwohl sich die zur Leistungserbringung eingesetzten Server innerhalb der EU befanden, hat die Vergabekammer einen Verstoß gegen die Datenschutz-Grundverordnung festgestell.

Seit dem Schrems-II Gerichtsurteil arbeiten die EU und US an dem Trans-Atlantic Data Privacy Framework, dem Nachfolgeabkommen zum Datenaustausch zwischen den Ländern. Ein ähnliches Abkommen muss folglich auch mit anderen Ländern vereinbart werden. Ein zeitaufwendiger Prozess, der für Ungewissheit und Unsicherheit bei Unternehmen sorgt, und nicht selten den Wunsch, in die öffentliche Cloud zu migrieren, verzögert. Mit Confidential Cloud Computing wird parallel an einer technischen Lösung gearbeitet, um zwischen der Bereitstellung der Compute-Infrastruktur und dem eigentlichen Nutzen der Infrastruktur zu trennen, als auch die Compliance mit den Regularien nachweisen zu können.

Technisch wird die Trennung mittels der Confidential Compute Containers Technologie realisiert, die, vereinfacht gesprochen, Applikationen in einer sichere und vertrauenswürdige Black-Box ausführt, so dass der Cloud-Anbieter nicht sieht, was der Container macht. Das wirklich innovative an der Technologie ist, dass nicht nur das Speichern (“data in rest”) oder Transportieren (“data in transit”), sondern erstmalig auch das Prozessieren der Daten zu jedem Zeitpunkt intransparent ist (“data in use”). Dadurch wird die Datenverarbeitung vom Betriebssystem und den darauf laufenden Anwendungen isoliert. Während der Verarbeitung haben weder der (Cloud)-Dienstanbieter noch der Administrator oder ein (kompromittierender) Dritter Zugriff auf die Daten.

Von Trusted zu Confidential Computing

Technologie ist evolutionär, so auch Confidential Compute. Das Rechnen auf verschlüsselten Daten ist in der Kryptographie ein fundamentales Problem. Lösungsansätze sind Fully Homomorphic Encryption und Multi-Party Computation. Obwohl die Technologien vielversprechend klingen und in den letzten Jahren auch Performance-Verbesserungen erzielt worden sind, haben die Lösungen (noch) eine praktische Limitation: Eine Auswertung ist auf der Abstraktion einer Funktion möglich. Was man aber in der Praxis möchte, ist die effiziente Ausführung eines Turing-vollständigen Programms, welches aus Schleifen, Sprüngen, Verzweigungen oder Nebenläufigkeit besteht. Es bedarf noch wesentlichen Forschungsaufwand, um existierende Kryptographie-Verfahren auf die Abstraktionsebene zu katapultieren.

Ein weiterer historischer Meilenstein war das Trusted Computing [5]. Mit Hilfe eines Trusted Computing Modules (TPMs), ein kryptographischer Co-Prozessor, ist die Funktionalität der CPU um vertrauensbildende Maßnahmen erweitert worden. Dazu gehören die Implementierung von kryptographischen Algorithmen als auch die Bereitstellung von (Seitenkanal-resistenten) Registern. Im Desktop-Bereich helfen TPMs beim Absichern des Bootprozesses oder der Festplattenverschlüsselung (“Bitlocker”). Im Cloud-Bereich werden TPMs, auch als Hardware Security Module tituliert, im Key Management eingesetzt. Kritisch an dem Ansatz sind die hohen Zusatzkosten, insbesondere im Server-Segment, als auch die  , kryptographische Algorithmen.

Confidential Compute vereint das Beste aus beiden Ansätzen. Moderne Prozessoren wurden erweitert um Sicherheitsfunktionalität, quasi TPMs in der CPU. Die Funktionalität erlaubt, Programme in sogenannten Enklaven auszuführen. Eine Enklave ist eine verschlüsselte Ausführungsumgebung mit der Eigenschaft, dass nur die CPU zur Laufzeit die Mikroinstruktionen des enklavierten Programms entschlüsselt, ausführt, und wieder verschlüsselt im Speicher ablegt. Der Schlüssel verlässt die CPU nicht, auch kann er nicht ausgelesen werden. Eine weitere Funktionalität ist die Verifizierbarkeit der Enklave. Über ein kryptographisches Protokoll kann ein Beweis erstellt werden, dass ein bestimmtes Programm in einer Enklave auf einer dedizierten Plattform ausgeführt wurde. Die Funktionalität ist insbesondere im Confidential Cloud Computing nützlich, um einen Nachweis aus der Ferne zu erhalten, dass die gewünschten Applikationen auch tatsächlich auf der allokierten Cloud ausgeführt werden.

Warum erst jetzt?

Um vom Confidential Compute Paradigma Gebrauch zu machen, ist die Verfügbarkeit der Sicherheitserweiterung notwendig. Intel nennt die Erweiterung Security Guard Extension (SGX), AMD nennt seine Produktlinie Secure Encrypted Virtualization (SEV).[1] Server-Plattformen unterstützen die Erweiterung seit der Einführung der Intel Skylake bzw. der AMD Epyc Architektur. Eine weiterer Meilenstein war der Upstream der entsprechenden Treiber in den Linux Kernel. Seit Kernel 5.11 (Mai 2021) werden die Sicherheitserweiterungen vom Linux Betriebssystem unterstützt, so dass Confidential Compute Applikationen serienmäßig entwickelt werden können. Diese Entwicklung haben Hyperscaler wie Azure, GCP, oder AWS in ihr Angebot übernommen. Stand heute (September 2022) bieten die Hyperscaler erste VM Konfigurationen an, auch wenn teilweise noch im Review, welche die Hardware und Software Voraussetzung erfüllen, so dass Confidential Compute Applikationen ausführbar sind. Mit anderen Worten, die notwendige Cloud Infrastruktur wird erstmals bereitgestellt. Nun bedarf es nur noch der Software.

Confidential Cloud Containers

Container-Technologie ist im Cloud Computing nicht mehr wegzudenken. Ein Container ist das essentiellste Bauteil einer Cloud Anwendung. In der einfachsten Form ist es eine Applikation. Container können effizient gestartet, gestoppt oder migriert und komponiert werden. Docker Container haben die größte Verbreitung und werden durch Kubernetes-verwandte Anwendungen einfach gemanagt. Aber auch Hypervisor-basierte Ansätze wie Amazons Firecracker haben die Leichtigkeit von Containern übernommen, so dass das effiziente Ausführen von Applikationen in VMs ebenfalls denkbar ist, und man hier von vergleichbarer Technologie sprechen darf.

Container Verschlüsselung und Authentifikation

 

 

Confidential Container sind Programme und Daten, welche in einem verschlüsselten Speicherbereich geladen werden, so dass Inhalt und Ausführung in verschlüsselter Form authentifizierbar und verifizierbar ist.

 

 

Ein Confidential Container unterscheidet sich von einem normalen Container durch seine verschlüsselte und authentifizierte Ausführung (Bild links). Applikationen werden in einer Enklave gestartet. Dafür reserviert die CPU vor dem Bootprozess einen Bereich des physischen Speichers. Ein Prozess, den das Betriebssystem in den Bereich lädt, wird von der CPU verschlüsselt. Nur die CPU kennt den Schlüssel, der von einem eindeutigen Hardware-Schlüssel abgeleitet nach jedem Bootvorgang frisch generiert wird. Die TPM-Eigenschaft der CPU schützt den Schlüssel vor Extraktion.

Eine weitere Neuerung von Confidential Containern ist die Authentifizierbarkeit. Der Autor des Containers signiert das Image. Damit haben Container nicht nur eine Identität, sondern können einfach standardisiert und zertifiziert werden. So ist es vorstellbar, dass unabhängige Zertifizierungsstellen Referenz-Images bereitstellen, die die Erfüllung von Compliance-Anforderungen in der Cloud vereinfachen.

Container Attestation und Secret Provisioning

 

Schematischer Ablauf der Container Secret Provisioning. Nachdem der Container und die Plattform attestiert wurden (1), entscheidet der Nutzer, ob zusätzliche Secrets bereitgestellt werden (2), welche über einen TLS Kanal in den Container kommuniziert werden (3).

Einen Container in einer Cloud auszuführen lässt eine Fragen offen. Wenn man keinen Zugang zu der Infrastruktur hat, woher weiß man, welcher Container gestartet wurde? Insbesondere ist der Container in einer Enklave exekutiert? Das sog. “Remote Attestation” ist ein kryptographisches Protokoll, welches dem Nutzer oder Autor des Confidential Containers erlaubt, zu verifizieren, ob der gewünschte Container in der Enklave ausgeführt wird.

Hier kommt nicht nur die Tatsache ins Spiel, dass der Container eine Identität hat, sondern auch die Cloud Hardware. Vom eindeutigen Hardware-Schlüssel der CPU wird ein Attestierungsschlüsselpaar abgeleitet, welches beim CPU-Hersteller registriert und zertifiziert wird (quasi ein X509 Zertifikat). Wenn nun der Nutzer nach der Attestierung des Containers fragt, agiert die CPU wie ein Auditor. Sie misst den Container und erzeugt einen Report. In dem Report steht der Hash Wert des Containers als auch optional die Identität der Cloud Plattform. Der Nutzer braucht nur noch den Hash-Wert mit dem des Autors und ggf. der Identität der Plattform zu vergleichen.

Confidential Container sind Images, die im Dateisystem abgelegt sind. Daher ist es unabdingbar, Geheimnisse wie Schlüssel oder private Daten in dem Image abzulegen (z.B. TLS Serverzertifikat mit privaten Schlüssel). Sie könnten rekonstruiert werden. Confidential Container nutzen einen anderen Trick, um vertrauliche Daten nachzuladen (Bild oben). Nachdem die Applikation in die Enklave geladen (aber noch nicht gestartet) wird, wird ein sicherer TLS-Kanal zu einem Container Provisioning Server aufgebaut. Der überprüft mittels Remote Attestation die Identität des Containers und spielt in die Enklave die fehlenden Geheimnisse ein. Erst dann wird die eigentliche Applikation gestartet, mit dem Unterschied, dass die notwendigen Geheimnisse der Applikationen bereitstehen, sie aber durch die Enklave geschützt sind.

Das Confidential Cloud Trust Model

Fasst man die oben beschrieben Eigenschaften zusammen, so ergibt sich ein vollkommen neues Vertrauensmodell für die Cloud. Ein Confidential Cloud Containers läuft isoliert von allen anderen Containern auf einer Cloud. Dabei spielt der Software-Stack der Cloud keine Rolle. Auch wenn das darunterliegende Betriebssystem mit BIOS und Treibern und/oder der Hypervisor kompromittiert sind, so bleibt die Applikation nach außen hin eine Black-Box (Bild 1). Einzig die CPU ist befähigt, die Applikation im Container auszuführen. Manipulationen am Container hingegen können durch Attestierung und Container Signierung aufgedeckt werden.

Damit reduziert sich das Cloud-Vertrauensmodell auf das Vertrauen in die CPU. Der CPU zu vertrauen, ist die fundamentale Annahme des Computings. Vertraut man der CPU nicht, z. B. weil ein Hardware Trojaner angenommen wird oder Seitenkanal-Angriffe realistisch sind, so helfen auch software-seitige Schutzmaßnahmen wie kryptographische Algorithmen nicht. Auch sie können ausgehebelt werden. Das Vertrauen in die CPU ist der atomarste Ankerpunkt. Dem Zugrunde liegen auch wirtschaftliche Interessen der CPU-Hersteller. Sie haben keine Anreize, ihre Reputation als Vertrauensanker zu gefährden. In einem hart umkämpften Chip-Markt wäre das Bekanntwerden von möglichen Hintertüren oder Anomalien im Chip gleichzusetzen mit dem Untergang des Unternehmens.

DACH und US Technologie Pioniere

Angetrieben durch die strengen regulatorischen Anforderungen, ist es nicht überraschend, dass Unternehmen aus der DACH-Region und den USA Vorreiter der Confidential Compute Technologie sind. Im Bau der Brücke besteht die größte Wertschöpfung. Zu den Pioniergeistern zählen:

  • Fortanix (US)
  • Anjuna (US)
  • Cysec (CH)
  • Edgeless System (DE)
  • Scontain (DE)
  • io (DE)

Hervorzuheben sind enclaive.io und Edgeless System, welche auch Open Source Confidential Containers Lösungen bereitstellen und somit eine Anlaufstelle sind, die ersten Berührungspunkte mit der Technologie zu machen.

Fazit

Abschließend ist festzuhalten, Confidential Computing könnte dadurch, dass ein Zugriff Dritter auf die Daten in unverschlüsselter Form auch während ihrer Verarbeitung unmöglich ist, eine Möglichkeit bieten, einen Transfer von Daten in Drittstaaten wie die USA rechtskonform zu gestalten. In Einklang mit den durch den EuGH im Schrems-II-Urteil dargestellten Anforderungen an einen sicheren Datentransfer in Drittstaaten kann die Technologie gewährleisten, dass während des Übermittlungsprozesses, der Speicherung und insbesondere der weiteren Verarbeitung personenbezogene Daten durchgängig verschlüsselt sind. So kann auch bei einer Datenverarbeitung ausgeschlossen bzw. zumindest das Risiko bei Anwendung von dem Stand der Technik entsprechender Verschlüsselungsstandards signifikant verringert werden, dass Dritte, einschließlich des Cloud-Service-Anbieters oder fremde Nachrichtendienste, auf die Daten in unverschlüsselter Form zugreifen.

Damit unterscheidet sich Confidential Computing entscheidend von den bisher verwendeten Ansätzen zur Verschlüsselung in der Cloud. Auch setzt Confidential Cloud Computing neue Maßstäbe für technisch organisatorische Maßnahmen für den Datenschutz nach DSGVO/GDPR [6].

Literatur:

[1] U.S. Department of Commerce, “ EU-U.S Privacy Shield Framework Principles,” White Paper (Juli 2016).

[2] Europäischer Gerichtshof, “Data Protection Commissioner gegen Facebook Ireland Limited und Maximilian Schrems,” Urteil (Juli 2020).

[3] U.S. Department of Justice, “ Promoting Public Safety, Privacy, and the Rule of Law Around the World: The Purpose and Impact of the CLOUD Act,” White Paper (April 2019).

[4] Tobias Haar, “Cloud-Dienste: Vergabekammer verbietet Angebot von US-Tochterunternehmen,” Heise News (August 2022).

[5] Wilhelm Dolle, “Trusted Computing: Stand der Dinge”, <kes> 2004#4.

[6] Dennis-Kenji Kipker, “Verschlüsselung gleich Anonymisierung?,” <kes> 2022#1.

Vergleich Confidential mit Standard Container Technologien.

Autoren