共用方式為


證明

運算是我們日常生活的重要組成部分,為從智慧型手機到關鍵基礎設施的一切提供動力。 不過,法規環境的不斷加強、網路攻擊的流行,以及攻擊者日益複雜,使得難以信任我們所依賴的運算技術真實性和完整性。 證明是一種驗證系統軟體和硬體元件的技術,是建立並確保我們依賴的運算技術值得信任的重要程序。

在本文件中,我們將了解什麼是證明、Microsoft 目前提供的證明類型,以及客戶如何使用 Microsoft 解決方案中這些類型的證明案例。

什麼是證明?

在遠端證明中,「一個同儕節點 (「證明者」) 產生有關其自身的可信資訊 (「證據」),以使遠端同儕節點 (「信賴憑證者」) 能夠決定是否將該證明者視為值得信賴的同儕節點。 遠端證明程序由一個額外的重要合作對象 (「驗證者」) 推動。 簡單來說,證明是證明電腦系統值得信賴的一種方式。 為了更好地理解什麼是證明,以及其實際運作方式,我們將計算中的證明程序與現實生活中的護照和背景調查範例進行比較。 我們在本文件中使用的定義和模型,概述於網際網路工程任務組 (IETF) 的遠端證明程序 (RAT) 架構文件中。 若要深入了解,請參閱網際網路工程任務組:遠端證明程序 (RAT) 架構 (英文)。

護照模型

護照模型 - 移民櫃檯

  1. 公民需要護照才能前往外國/地區。 公民向所在國家提交證據要求。
  2. 所在國家/地區收到個人的政策合規性證據,並驗證所提供的證據是否證明個人符合核發護照的政策。
    • 出生證明有效且未塗改。
    • 出生證明的簽發者受信任
    • 個人不屬於限制名單
  3. 如果所在國家/地區認為證據符合其政策,所在國家/地區將為公民核發護照。
  4. 公民前往外國旅行,但首先必須向外國/地區邊境巡邏人員出示護照進行評估。
  5. 外國/地區邊境巡邏人員在信任護照之前,會檢查護照上的一系列規則
    • 護照是真品,沒有經過塗改。
    • 護照是由受信任的國家/地區製作。
    • 護照沒有過期或遭到撤銷。
    • 護照符合簽證政策或年齡要求。
  6. 外國/地區邊境巡邏人員批准護照後,公民即可進入外國/地區。

Diagram of remote attestation with the passport model for an immigration desk.

護照模型 - 運算

  1. 「受信任執行環境 (TEE)」(也稱為「證明者」) 想要從「秘密管理員」(也稱為「信賴憑證者」) 擷取秘密。 若要從秘密管理員擷取秘密,TEE 必須向秘密管理員證明它是可信任且真實的。 TEE 向「驗證者」提交辨識項以證明其可信任且真實,辨識項包括其執行程式碼的雜湊值、建置環境的雜湊值,以及其製造商所產生的憑證。
  2. 「驗證者」是一種證明服務,評估 TEE 所提供的辨識項是否符合信任的下列需求。
    • 憑證有效且未經過變更。
    • 憑證的簽發者受信任
    • TEE 辨識項不屬於限制名單的一部分
  3. 如果驗證者確定辨識項符合定義的原則,驗證者將建立「證明結果」並提供給 TEE。
  4. TEE 想要與秘密管理員交換秘密,但首先必須將其證明結果提交給秘密管理員進行評估。
  5. 秘密管理員會在信任證明結果之前先檢查一系列規則
    • 證明結果真實,且未曾變更。
    • 證明結果是由受信任的授權單位所產生。
    • 證明結果未過期或遭到撤銷。
    • 證明結果符合已設定的系統管理員原則。
  6. 秘密管理員會核准證明結果,並與 TEE 交換秘密。

Diagram of remote attestation with the passport model for computing.

背景調查模型

背景調查 – 學校驗證

  1. 某人正在與潛在雇主進行背景調查以取得工作。 該人向潛在雇主提交就讀學校的教育背景。
  2. 雇主從該人取得教育背景,並將其轉發給相應學校進行驗證。
  3. 學校評估該人提供的教育背景是否符合學校記錄。
  4. 學校出具「證明結果」,確認該人的教育背景與其記錄相符,並將其傳送給雇主
  5. 雇主 (也稱為信賴憑證者) 可以在信任證明結果之前檢查一系列關於證明結果的規則。
    • 證明結果真實、未塗改,且確實來自學校。
    • 證明結果由受信任的學校出具。
  6. 雇主批准證明結果,並僱用該人。

Diagram of remote attestation with the background check model for education background.

背景調查 – 運算

  1. 「受信任執行環境 (TEE)」(也稱為「證明者」) 想要從「秘密管理員」(也稱為「信賴憑證者」) 擷取秘密。 若要從秘密管理員擷取秘密,TEE 必須證明它是可信任且真實的。 TEE 向「祕密管理員」提交辨識項以證明其可信任且真實,辨識項包括其執行程式碼的雜湊值、建置環境的雜湊值,以及其製造商所產生的憑證。
  2. 秘密管理員會從 TEE 擷取辨識項,並將它轉送至要進行驗證的驗證者。
  3. 「驗證者」服務會評估 TEE 所提供的辨識項是否符合信任的已定義原則需求。
    • 憑證有效且未經過變更。
    • 憑證的簽發者受信任。
    • TEE 辨識項不屬於限制名單的一部分。
  4. 驗證者會建立 TEE 的證明結果,並將其傳送至秘密管理員。
  5. 秘密管理員會在信任證明結果之前先檢查一系列規則。
    • 證明結果真實,且未曾變更。
    • 證明結果是由受信任的授權單位所產生。
    • 證明結果未過期或遭到撤銷。
    • 證明結果符合已設定的系統管理員原則。
  6. 秘密管理員會核准證明結果,並與 TEE 交換秘密。

Diagram of remote attestation with the background check model for computing.

證明的類型

證明服務可以透過兩種不同的方式使用,每種方式都有自己的優點。

雲端提供者

在 Microsoft,我們提供 Microsoft Azure 證明(MAA) 作為客戶面向的服務,以及用於證明受信任執行環境 (TEE) 的架構,例如 Intel Software Guard Extensions (SGX) 記憶體保護區、虛擬化型安全性 (VBS) 記憶體保護區、受信任平台模組 (TPM)、可信啟動和機密虛擬機器等。 使用雲端提供者證明服務 (例如 Azure 證明) 的優點包括:

  • 免費提供
  • 政府客戶可透過 Microsoft Code Center Premium Tool 取得原始程式碼
  • 透過在 Intel SGX 記憶體保護區內操作,來保護正在使用的資料。
  • 在單一解決方案中證明多個 TEE。
  • 提供強大的服務等級協定 (SLA)

專屬建置

客戶可以建立自己的證明機制,透過雲端和硬體供應商提供的工具,來信任其運算基礎結構。 建構適用於 Microsoft 解決方案的專屬證明程序,可能需要使用受信任的硬體身分識別管理 (THIM),這是會處理位於 Azure 中所有受信任執行環境 (TEE) 的憑證快取管理的解決方案,並提供受信任的運算基礎 (TCB) 資訊,以強制執行證明解決方案的最低基準。 建構和使用專屬的證明服務的優點包括:

  • 100% 控制證明程序,以符合法規和合規性需求
  • 自訂與其他運算技術的整合

Microsoft 的證明案例

Microsoft 有許多證明案例,可讓客戶在雲端服務提供者和建立專屬的證明服務案例之間進行選擇。 對於每個部分,我們將探討 Azure 產品和可用的證明案例。

具有應用程式記憶體保護區的 VM

具有應用程式記憶體保護區的 VM 是由 Intel SGX 啟用,它允許組織建立記憶體保護區來保護資料,並在 CPU 處理資料時保持加密資料。 客戶可以透過 MAA 或專屬的證明服務,在 Azure 中證明 Intel SGX 記憶體保護區。

機密虛擬機器

機密虛擬機器是由 AMD SEV-SNP 所啟用,它允許組織在虛擬機器和基礎主機管理程式碼 (包括 Hypervisor) 之間進行硬體型隔離。 客戶可以使用 MAA 和自己的方式,證明其在 Azure 中的受控機密虛擬機器。

Azure 容器執行個體上的機密容器

Azure 容器執行個體上的機密容器提供一組特性與功能,進一步保護您的標準容器工作負載,以達到更高的資料安全性、資料隱私權,以及執行階段程式碼完整性目標。 機密容器會在硬體支援的受信任執行環境 (TEE) 中執行,以提供資料完整性、資料機密性和程式碼完整性等內建功能。