Die Enklave im Rechner

Personenbezogene Daten, Geschäftsgeheimnisse und andere sensible Informationen müssen bei der Speicherung und Verarbeitung abgesichert werden. Wie Confidential Computing für Vertraulichkeit und Datenschutz sorgt.

Personenbezogene Daten, Geschäftsgeheimnisse und andere sensible Informationen müssen bei der Speicherung und Verarbeitung zuverlässig vor fremden Blicken, Manipulation und Datendiebstahl geschützt werden. Im traditionellen Rechenzentrum nutzte man für diese Aufgabe oft eigene physikalisch und logisch abgeschottete Bereiche. Nur Mitarbeiter mit den notwendigen Berechtigungen erhielten Zugang zu den Servern und Firewalls. Auch andere Mechanismen der Perimetersicherheit schützten das Firmennetz vor Angriffen von außen.

In einer zunehmend vernetzten und hybriden Welt, in der lokale und Cloud-Ressourcen nahtlos ineinander übergehen, ist eine solche Abschottung nicht mehr möglich. Es wurden deshalb Konzepte entwickelt, die Daten sowohl während der Speicherung (Data at Rest) als auch bei der Übertragung (Data in Motion) schützen. Bei aller Vorsicht bleibt jedoch in verteilten Systemen ein prinzipielles Problem: Für die Verarbeitung müssen Daten in den Arbeitsspeicher geladen werden, wo sie in der Regel unverschlüsselt vorliegen. Verschaffen sich Insider, Hacker oder Malware Zugriff auf den Arbeitsspeicher, können sie diese Daten lesen oder entwenden.

Um dieses Problem zu lösen, haben Unternehmen wie Intel, IBM und Microsoft unter dem Dach der Linux Foundation das Confidential Computing Consortium (CCC) gegründet, das die Entwicklung und Verbreitung einer sicheren Datenverarbeitung vorantreiben will. Die Basis von Confidential Computing bildet dabei eine vertrauenswürdige Laufzeitumgebung (Trusted Execution Environment, TEE). Die auch als „Enklave“ bezeichnete TEE umfasst Bereiche des Prozessors und des Arbeitsspeichers, die für die Ausführung definierter Programmbestandteile reserviert werden. Nur der autorisierte Code kann dort Daten lesen und analysieren, Betriebssystem, Hypervisor, Cloud-Services und privilegierte Anwender mit Root-Rechten haben keinen Zugriff.

Über Befehlserweiterungen wie Intel® Software Guard Extensions (Intel® SGX), die in Intel® Xeon® E Prozessoren und seit Kurzem auch in den skalierbaren Intel® Xeon® Prozessoren der 3. Generation verfügbar sind, können Entwickler solche Enklaven sehr einfach nutzen. Sie definieren dazu, welche Funktionen im Code vertrauliche Daten verwenden dürfen. Bei der Ausführung dieser Programmbestandteile werden die Daten dann in den Enklave-Bereich geladen und von den autorisierten Funktionen verarbeitet.

Einsatzgebiete für Confidential Computing

Sichere, vertrauenswürdige Laufzeitumgebungen spielen vor allem in den folgenden Bereichen eine Rolle:

Confidential Computing in der Praxis: SecuStack

Im Jahr 2019 gründeten die Unternehmen Cloud&Heat Technologies und Secunet Security Networks das Joint Venture „SecuStack“, um eine besonders sichere und vertrauenswürdige Public-Cloud-Infrastruktur zu entwickeln. Das IaaS-Angebot (Infrastructure-as-a-Service) richtet sich vor allem an Behörden und Unternehmen in Branchen mit besonders strengen Sicherheits-, Compliance- und Datenschutzvorgaben. Auf Basis des Open-Source-Cloud-Systems OpenStack stellt es eine besonders gehärtete Infrastruktur zur Verfügung. Blockspeicher und Images werden vollständig verschlüsselt, wobei der Kunde die Kontrolle über die eingesetzten kryptografischen Schlüssel behält. Auch die Zugänge und die voneinander isolierten Mandantennetzwerke sind durch Verschlüsselung abgesichert.

Um kritische Infrastrukturdienste wie Identitätsmanagement, Schlüsselverwaltung und VPN-Services (Virtual Private Network) zusätzlich zu schützen und sichere Anwendungen in Container-Umgebungen bereitzustellen, setzt SecuStack auf Intel SGX. Mit Hilfe der Plattform Scone, einer Umgebung für sichere Container-Services, können Dienste in Intel SGX-Enklaven zudem einfach in Umgebungen wie Kubernetes-Cluster integriert und ausgeführt werden.

Der hohe Sicherheitsstandard erlaubt es beispielsweise, maschinelles Lernen mit vertraulichen Daten auf einer Public-Cloud-Infrastruktur auszuführen. So könnten etwa Krankenhäuser föderale Machine-Learning-Modelle entwickeln und diese mit anderen Institutionen des Gesundheitswesens oder der Forschung teilen, ohne dass Patientendaten fremden Blicken ausgesetzt würden.

Fazit

Mit Confidential Computing lassen sich Daten und Applikationen in öffentlichen und verteilten Strukturen sicher und vertraulich verarbeiten. Die Verwendung vertrauenswürdiger Laufzeitumgebungen schützt dabei nicht nur Daten, sondern auch geistiges Eigentum wie Applikationen oder Algorithmen. Unternehmen, Behörden und andere Organisationen können daher wesentlich enger zusammenarbeiten, ohne den Verlust von sensiblen Informationen oder Geschäftsgeheimnissen fürchten zu müssen.