Share via


建置 Enclave 應用程式的開放原始碼解決方案

本文會討論如何使用開放原始碼解決方案,建置使用應用程式記憶體保護區的應用程式。 閱讀之前,請確定您已閱讀記憶體保護區應用程式概念頁面。

Intel SGX 相容工具

Azure 透過已啟用 Intel Software Guard Extensions (SGX) 的機密虛擬機器提供應用程式記憶體保護區。 部署 Intel SGX 虛擬機器之後,您需要特殊工具,才能讓您的應用程式具有「記憶體保護區感知」。 如此一來,您可以建置同時具有受信任和不受信任程式碼部分的應用程式。

例如,您可使用下列開放原始碼的架構:

如果您不想撰寫新的應用程式程式碼,您可以使用機密容器啟用程式包裝容器化應用程式

Open Enclave 軟體開發套件 (OE SDK)

如果您想要撰寫在記憶體保護區中執行的程式碼,請使用您的提供者所支援的程式庫或架構。 Open Enclave SDK (OE SDK) 是一個開放原始碼 SDK,可讓您對已啟用機密運算的不同硬體進行抽象處理。

OE SDK 會建置為任何 CSP 上任何硬體的單一抽象層。 OE SDK 可在 Azure 機密運算虛擬機器上使用,以在記憶體保護區上建立和執行應用程式。 Open Enclave 存放庫由 Microsoft 維護。

EGo 軟體開發套件

EGo 是開放原始碼 SDK,可讓您在記憶體保護區內執行以 Go 程式設計語言撰寫的應用程式。 EGo 以 OE SDK 為建置基礎,隨附用於證明和密封的記憶體保護區內 Go 程式庫。 許多現有的 Go 應用程式都可在 EGo 上執行,而不需修改。

Intel SGX 軟體開發套件

Intel SGX SDK 由 Intel 的 SGX 小組所開發和維護。 SDK 是一種集合工具,可讓軟體開發人員在 C/C++ 中建立及偵錯已啟用 Intel SGX 的應用程式。

機密聯盟架構 (CCF)

機密聯盟架構 (CCF) 是分散式區塊鏈架構的範例。 CCF 的建置基礎是 Azure 機密運算。 此架構由 Microsoft Research 率先使用,使用受信任執行環境 (TEE) 的強大功能,建立遠端記憶體保護區的網路以進行證明。 節點可在 Azure Intel SGX 虛擬機器上執行,並利用記憶體保護區基礎結構。 透過證明通訊協定,區塊鏈的使用者可以驗證一個 CCF 節點的完整性,並有效驗證整個網路。

在 CCF 中,分散式總帳由金鑰/值存放區的已記錄變更所組成,而這些變更會在所有網路節點間複寫。 每個節點都會執行可由區塊鏈的使用者透過 TLS 觸發的交易引擎。 當您觸發端點時,您會改變金鑰/值存放區。 加密的變更在記錄到分散式總帳之前,必須經過一個以上的節點的同意,才能達成共識。

適用於 Kubeflow 的 Intel® 雲端最佳化模組

適用於 Kubeflow 的 Intel® 雲端最佳化模組提供最佳化的機器學習 Kubeflow 管線,使用 XGBoost 來預測貸款違約的機率。 此參考架構會利用 Azure Kubernetes 服務 (AKS) 叢集上安全且保密的 Intel® Software Guard Extensions 虛擬機器。 它還支援使用適用於 XGBoost 的 Intel® 最佳化Intel® daal4py,來加速完整的端對端機器學習管線中的模型定型和推斷。

下一步