Jakub Jirsák - stock.adobe.com
Confidential Computing als Missing Link für Cloud Computing
Die vertrauliche Datenverarbeitung ist das Ziel des Konzeptes Confidential Computing. Dabei sollen die rechnernahen Bedrohungen für Daten reduziert werden. Eine Herausforderung.
Zunächst eine Begriffserklärung, was ist eigentlich Confidential Computing? IBM definiert den Begriff wie folgt: „Confidential Computing schützt Daten während der Verarbeitung und bietet in Kombination mit Speicher- und Netzwerkverschlüsselung mit ausschließlicher Kontrolle der Verschlüsselungsschlüssel eine End-to-End-Datensicherheit in der Cloud.“
Das Konzept wurde vom Confidential Computing Consortium (CCC) 2019 ins Leben gerufen. Zu den Gründerunternehmen zählen Alibaba, AMD, Baidu, Fortanix, Google, IBM/Red Hat, Intel, Microsoft, Oracle, Swisscom, Tencent und VMware.
Cloud Computing ist zu einer Mainstream-Bewegung geworden, weil Unternehmen ihre technologische Infrastruktur modernisieren und die Cloud nutzen, um performanter zu sein und um Kosten zu optimieren. Das Thema Sicherheit wurde dem oftmals untergeordnet. Die Nutzung der Cloud nimmt, auch befeuert durch die COVID-19 Pandemie, explosionsartig zu. Gerade aus diesem Grund darf Sicherheit nicht nur ein nachgelagerter Gedanke sein. Sie muss in das Cloud-Computing-Gefüge von Beginn an eingewoben werden.
Wie kommt nun Confidential Computing ins Spiel? Das Konzept dient zum einen dem Schutz von sensiblen Daten, dem Schutz geistigen Eigentums, der sicheren Zusammenarbeit mit Partnern an neuen Cloud-Lösungen und um das Vertrauen in das Cloud Computing zu stärken.
Homomorphe Verschlüsselung und sichere Enklaven
Die vertrauliche Datenverarbeitung ist einer der verbleibenden „Heiligen Grale“ der Datensicherheit. Die Absicherung von verarbeiteten Daten (Data in Use) beinhaltet Techniken und Technologien, die es Algorithmen ermöglichen, mit Informationen zu arbeiten und gleichzeitig Schutz zu gewährleisten.
Gegenwärtig gibt es zwei Technologien, welche diesen Anwendungsfall adressieren – homomorphe Verschlüsselung und sichere Enklaven. Während die homomorphe Verschlüsselung sehr vielversprechend klingt, sind die praktischen Implementierungen auf Nischenlösungen beschränkt, die einen zusätzlichen rechenintensiven Overhead verkraften können. Darum ist es sinnvoll einen Blick auf sichere Enklaven zu werfen.
Diese werden unter Verwendung spezieller Hardwaresteuerungen implementiert, um Daten und Anweisungen auf der CPU-Ebene sicher zu isolieren. Eine starke Kryptographie wirkt dabei unterstützend. Dies ermöglicht die Verifizierung der Authentizität der Enklave und gleichzeitig den Datenschutz sowie die Integrität. Es gilt sowohl für den Enklavencode als auch die zu verarbeitenden sensiblen Daten.
Diese zusätzlichen Kontrollen auf Hardwareebene werden, zusammen mit robusten Schlüsselverwaltungsprozessen, von der Software verwendet, um logisch sichere Enklaven zu erstellen, die dazu beitragen, rechnernahe Bedrohungen der Daten abzuschwächen. Solche können sowohl von der Benutzerebene als auch von Prozessen auf Betriebssystemebene ausgehen, die auf derselben Hardware laufen und auf sensible Daten zugreifen wollen.
Obwohl es keinen Industriestandard für eine sichere Enklave gibt, haben viele CPU-Anbieter spezifische Technologien rund um dieses Paradigma der vertraulichen Datenverarbeitung implementiert und vermarktet. Einige der bekanntesten sind Intel Software Guard Extensions (SGX), AMD Secure Encrypted Virtualization/Secure Memory Encryption und ARM TrustZone Trusted Execution Environment, um nur einige zu nennen.
Das Versprechen besteht, aber es gibt noch viele Herausforderungen. Sichere Enklaven richtig zu inszenieren, zu initialisieren und zu betreiben, ist mit einer gewissen Komplexität verbunden – dies kann der Sicherheit abträglich sein.
Abgesehen von den inhärenten betrieblichen Herausforderungen haben Sicherheitsforscher hart daran gearbeitet, die Grenzen der Technologie zu testen und verschiedene Architektur- und Implementierungsfehler zu finden. Diese führen dazu, dass genau die Daten gefährdet werden, welche durch die sichere Enklave geschützt werden. Glücklicherweise haben die Hersteller schnell mit Patches, Firmware-Updates und der Neuausgabe von Schlüsseln reagiert, um diese Architekturmängel zu beheben.
„Wie bei allen innovativen und neu entstehenden Technologien hängt die Gesamtsicherheit eines Systems nicht nur von der zugrunde liegenden Technologie ab, sondern auch davon, wie sie eingesetzt wird.“
Armin Simon, Thales
Trotz der Herausforderungen ist eine sichere Enklave ein leistungsstarkes Werkzeug, um vertrauliche Datenverarbeitung zu ermöglichen, und kann in vielen Situationen sehr nützlich sein.
Sichere Enklaven bieten ein großes Potenzial, den Sicherheitsbereich einiger Produkte zu erweitern und gleichzeitig interessante Sicherheitsherausforderungen zu lösen. Als Teil einer sicheren Datenschutzinfrastruktur können sie praktische Sicherheit für die „Data in Use“ bieten, solange die Unternehmen bereit sind, die Risiken zu bewältigen.
Empfehlungen zur Einrichtung sicherer Enklaven
-
Bevor Sie eine sichere Enklave verwenden, sollten Sie die zugrundeliegende vertrauliche Computing Engine vollständig verifizieren.
-
Die Zielarchitektur sollte vollständig verstanden werden und in der Lage sein, Patch-Level und Versionen zur Laufzeit zu bewerten, um sicherzustellen, dass Ihre Enklave immer auf der sichersten Version läuft.
-
Überlegen Sie sich genau, welche Informationen Sie mit Ihrem vertraulichen Computer verwenden/sichern wollen; beschränken Sie Ihre Verarbeitung auf die Geheimnisse und Daten, bei denen ein Kompromiss wiederherstellbar wäre.
-
Stellen Sie sicher, dass alle kryptografischen Schlüssel, die in Ihrer vertraulichen Computerinfrastruktur verwendet werden, die kleinste praktische Lebensdauer haben und mit minimaler Ausfallzeit gewechselt werden können.
Fazit
Abschließend sei darauf hingewiesen, dass eine sichere Enklave nicht vor Code mit Sicherheitsmängeln schützt. Beim Schreiben von Code für den Einsatz in einer sicheren Enklave ist es wichtig, sichere Codierungsprinzipien anzuwenden und wenn möglich Programmiersprachen und Technologien zu verwenden, die das Risiko von Schwachstellen verringern. Wie bei allen innovativen und neu entstehenden Technologien hängt die Gesamtsicherheit eines Systems nicht nur von der zugrunde liegenden Technologie ab, sondern auch davon, wie sie eingesetzt wird.
Die Autoren sind für den Inhalt und die Richtigkeit ihrer Beiträge selbst verantwortlich. Die dargelegten Meinungen geben die Ansichten der Autoren wieder.