Azure 受控機密聯盟架構概觀
Azure 受控機密聯盟架構 (受控 CCF) 是部署機密應用程式新型且高度安全的服務。 其可讓開發人員建置機密應用程式,這些應用程式需要可程式化資料的機密性,以及多方之間可能需要的資訊。 一般而言,成員同意網路憲法 (成員所設定的規則)、設定治理和商務交易規則,以及根據所定義的內容進行商務交易。 如果治理有影響商務規則的變更,則聯盟必須核准這些變更。
事實上,架構會以獨佔方式執行於硬體支援的安全記憶體保護區,這是受到嚴密監視且獨立的執行階段環境,可遏止潛在攻擊。 其也會在極簡式的受信任運算基礎 (TCB) 上執行,並限制運算子的角色。
顧名思義,Azure 受控 CCF 會利用 Azure 機密運算平台和開放原始碼機密聯盟架構做為基礎技術,提供防竄改的高完整性平台。 受控 CCF 執行個體跨越三部以上相同的機器,每個執行個體都會在專用、完全證明的硬體支援記憶體保護區中執行。 資料完整性是透過共識型區塊鏈進行維護。
下圖顯示的高階概觀說明不同層級的受控 CCF 平台,以及應用程式程式碼適合的位置。
主要功能
受控 CCF 的一些主要功能是機密性、可自訂的治理、高可用性、稽核性及透明度。
保密
節點會在硬體型受信任執行環境 (TEE) 內執行,以確保使用中的資料在 RAM 和計算期間受到保護和加密。 下圖顯示如何在使用時保護程式碼和資料。
可自訂的治理
參與者 (稱為成員) 會分擔憲法所建立網路可操作性的責任。 共用治理模型會透過公開和可稽核的投票程序,在成員之間建立信任和透明度。 憲法會實作為一組 JavaScript 指令碼,可在網路建立期間及稍後進行自訂。 下圖顯示成員如何參與治理作業,以接受或拒絕憲法強制執行的建議動作。
高可用性與復原能力
受控 CCF 資源建置在分散式節點的網路之上,以保持交易的相同複本。 平台是從頭開始設計及建置,以容忍並復原網路和基礎結構中斷。 平台會將節點分散到 Azure 可用性區域,以保證高可用性和快速服務修復。 發生非預期的災害時,自動備份和還原總帳檔案會啟用快速復原性和商務持續性。
稽核性和透明度
網路的狀態可透過回條進行稽核。 回條是與交易相關聯的已簽署證明。 回條可離線驗證,並由第三方進行驗證,相當於「此交易在網路中這個位置產生此結果」。 除了總帳的複本或其他回條之外,其還可以用來稽核服務並追究聯盟的責任。
治理作業和相關聯的公開金鑰對應會以純文字儲存在總帳中。 我們鼓勵客戶下載總帳,並使用隨附於 CCF 的開放原始碼指令碼來驗證其完整性。
適合開發人員
開發人員可以使用熟悉的開發工具 (例如 Visual Studio Code) 以及程式設計語言 (例如 TypeScript、JavaScript 和 C++ 與 Node.js 結合),開發以受控 CCF 平台為目標的機密應用程式。 會發佈開放原始碼應用程式範例以供參考,並根據意見反應持續更新。
開放原始碼 CCF (IaaS) 與Azure 受控 CCF (PaaS)
客戶可以建置以機密聯盟架構 (CCF) 為目標的應用程式,並自行裝載應用程式。 但是,就像任何其他自我裝載的應用程式一樣,其需要定期維護及修補 (硬體和軟體),以耗用時間和資源。 Azure 受控 CCF 會將日常作業抽象化,讓小組專注於核心業務優先順序。 下圖比較及對比自我裝載 CCF 網路與 Azure 受控 CCF 之間的差異。