Freigeben über


Open Source-Lösungen zum Erstellen von Enclave-Anwendungen

In diesem Artikel werden Open-Source-Lösungen zum Erstellen von Anwendungen erläutert, die Anwendungsenklaven verwenden. Bevor Sie lesen, stellen Sie sicher, dass Sie die konzeptuelle Seite der Enklave-Anwendungen lesen.

Intel SGX-kompatible Tools

Azure bietet Anwendungsenklaven über vertrauliche virtuelle Computer mit aktiviertem Intel Software Guard Extensions (SGX). Nach der Bereitstellung einer Intel SGX-virtuellen Maschine benötigen Sie spezielle Tools, um Ihre Anwendung "enklavenfähig" zu machen. Auf diese Weise können Sie Anwendungen erstellen, die sowohl vertrauenswürdige als auch nicht vertrauenswürdige Teile von Code aufweisen.

Sie können z. B. diese Open-Source-Frameworks verwenden:

Wenn Sie keinen neuen Anwendungscode schreiben möchten, können Sie eine containerisierte Anwendung mit vertraulichen Containeraktivierern umschließen.

Open Enclave Software Development Kit (OE SDK)

Verwenden Sie eine Von Ihrem Anbieter unterstützte Bibliothek oder ein Framework, wenn Sie Code schreiben möchten, der in einer Enklave ausgeführt wird. Das Open Enclave SDK (OE SDK) ist ein Open-Source-SDK, das die Abstraktion über verschiedene vertrauliche computerfähige Hardware ermöglicht.

Das OE SDK ist so konzipiert, dass es als einzelne Abstraktionsschicht für beliebige Hardware und CSPs genutzt wird. Das OE SDK kann zusätzlich zu virtuellen Azure Confidential Computing-Computern verwendet werden, um Anwendungen basierend auf Enklaven zu erstellen und auszuführen. Das Open Enklave-Repository wird von Microsoft verwaltet.

EGo Software Development Kit

EGo ist ein Open-Source-SDK, mit dem Sie Anwendungen ausführen können, die in der Go-Programmiersprache in Enklaven geschrieben wurden. EGo baut auf dem OE SDK auf und verfügt über eine In-Enclave-Go-Bibliothek für Nachweis und Versiegelung. Viele vorhandene Go-Anwendungen werden ohne Änderungen auf EGo ausgeführt.

Intel SGX Software Development Kit

Das Intel SGX SDK wird vom SGX-Team bei Intel entwickelt und gepflegt. Das SDK ist ein Sammlungstools, mit dem Softwareentwickler Intel SGX-fähige Anwendungen in C/C++ erstellen und debuggen können.

Confidential Consortium Framework (CCF)

Das Confidential Consortium Framework (CCF) ist ein Beispiel für ein verteiltes Blockchain-Framework. Das CCF basiert auf dem vertraulichen Azure Computing. Von Microsoft Research geleitet, verwendet dieses Framework die Leistungsfähigkeit von vertrauenswürdigen Ausführungsumgebungen (TEEs), um ein Netzwerk von Remoteenklaven zum Nachweis zu erstellen. Knoten können auf virtuellen Azure Intel SGX-Computern ausgeführt werden und die Enklaveninfrastruktur nutzen. Durch Nachweisprotokolle können Benutzer der Blockchain die Integrität eines CCF-Knotens überprüfen und das gesamte Netzwerk effektiv überprüfen.

Im CCF besteht das dezentrale Hauptbuch aus aufgezeichneten Änderungen an einem Key-Value Speicher, der über alle Netzwerkknoten repliziert wird. Jeder dieser Knoten führt ein Transaktionsmodul aus, das von Benutzern der Blockchain über TLS ausgelöst werden kann. Wenn Sie einen Endpunkt auslösen, verändern Sie den Key-Value Speicher. Damit die verschlüsselte Änderung im dezentralisierten Ledger erfasst wird, ist die Zustimmung von mehr als einem Knoten erforderlich, um eine Vereinbarung zu erreichen.

Intel® Cloud Optimization Modules für Kubeflow

Die Intel® Cloud Optimization Modules für Kubeflow bieten eine optimierte Machine Learning Kubeflow Pipeline mit XGBoost, um die Wahrscheinlichkeit eines Kreditausfalls vorherzusagen. Die Referenzarchitektur nutzt die sicheren und vertraulichen virtuellen Intel® Software Guard-Erweiterungen-Computer auf einem Azure Kubernetes Services (AKS)-Cluster. Es ermöglicht auch die Nutzung von Intel®-Optimierungen für XGBoost und Intel® daal4py, um die Modellschulung und -inferenz in einer vollumfänglichen End-to-End-Machine-Learning-Pipeline zu beschleunigen.

Nächste Schritte