Important
對於大多數新的機密運算工作負載,建議從 Azure 機密虛擬機選項和機密容器開始。 本文著重於專用的飛地感知開發。
應用程式記憶體保護區,例如 Intel SGX,是隔離的環境,可保護特定程式代碼和數據。 建立記憶體保護區時,您必須判斷應用程式在記憶體保護區內執行的哪個部分。 當您建立或管理飛地時,請務必針對所選的部署堆疊使用相容的 SDK 和架構。
備註
如果你還沒讀過 Intel SGX 虛擬機與 enclave 的介紹,請先讀一讀再繼續。
Microsoft Mechanics
開發應用程式
使用 enclave 建置的應用程式有兩個分區。
主機是「不受信任」元件。 您的飛地應用程式會在主機上執行。 主機是不受信任的環境。 當您在主機上部署記憶體保護區程式代碼時,主機無法存取該程式代碼。
信任區是「受信任的」元件。 應用程式程式碼及其快取資料和記憶體會在飛地中執行。 隔離環境可保護您的秘密和敏感資料。 請確保您的安全運算是在飛地中進行。
若要使用記憶體保護區和隔離環境的強大功能,請選擇支援機密運算的工具。 各種工具都支援飛地應用程式開發。 例如,您可以使用下列開放原始碼架構:
在設計應用程式時,找出並決定哪些部分需要在 enclave 中執行。 信任元件中的程式代碼會與應用程式的其餘部分隔離。 記憶體保護區初始化且程式代碼載入記憶體之後,不受信任的元件就無法讀取或變更該程序代碼。