編輯

共用方式為


Microsoft Azure 證明常見問題集

本文提供一些 Azure 證明的最常見問題答案。

如果您的 Azure 問題未能在本文中獲得解決,您也可以在 Azure 支援頁面上提交 Azure 支援要求。

受信任硬體身分識別管理 (THIM) 為何,以及其在記憶體位址證明中扮演的角色?

受信任硬體身分識別管理 (THIM) 會擷取 Intel Azure 機密計算 (ACC) 節點的 Azure 安全性基準,並快取資料。 在驗證受信任執行環境 (TEE) 時,Azure 證明將會進一步使用快取資訊。

建議使用 THIM 的理由如下:

  • 提供高可用性
  • 減少對外部託管服務和網際網路連線的相依性。
  • 定期擷取更新版的 Intel 憑證、CRL、受信任運算基底 (TCB) 資訊,以及來自 Intel 的 ACC 節點的引證記憶體位址身分識別。 服務會在驗證 TEE 時,確認 Azure 證明所要參考的 Azure 安全性基準,這可大幅降低因為 Intel 憑證失效或撤銷而造成的證明失敗。

非 Azure 環境中,Azure 證明是否支援 Software Guard Extensions (SGX) 證明?

否。 Azure 證明依賴受信任硬體身分識別管理 (THIM) 所指出的安全性基準來驗證 TEE。 THIM 目前的設計僅支援 Azure 機密計算節點。

Azure 證明在證明 SGX 記憶體位址時會執行什麽驗證項目?

在 SGX 證明流程期間,Azure 證明會執行下列驗證:

  • 驗證已簽署的記憶體保護區引用的受信任根憑證是否屬於 Intel
  • 驗證 TEE 引用是否符合受信任硬體身分識別管理 (THIM) 所定義的 Azure 安全性基準
  • 如果客戶已建立證明提供者並設定自訂原則,則除了上述驗證之外,Azure 證明還會針對證明原則評估 TEE 引用。 客戶可以使用證明原則定義 TEE 的授權規則,也可以規定產生證明權杖的簽發規則。

驗證者如何取得 Azure 證明支援的 SGX 證明關聯活動?

一般情況下,針對以 Intel 為信任根憑證的證明模型,證明用戶端會與記憶體保護區 API 對話以擷取記憶體保護區辨識項。 記憶體保護區 API 會在內部呼叫 Intel PCK 快取服務,以擷取要證明的節點 Intel 憑證。 這些憑證會用來簽署記憶體位址辨識項,進而產生可從遠端證明的關聯活動。

您可以對 Azure 證明實作相同的程序。 不過,若要利用受信任硬體身分識別管理 (THIM) 所提供的優點,建議在安裝 ACC 虛擬機器之後,安裝 Azure DCAP 程式庫。 根據與 Intel 的合約,Azure DCAP 程式庫在安裝時,產生記憶體保護區辨識項的要求就會從 Intel PCK 快取服務被重新導向至 THIM。 Windows 和 Linux 環境都支援 Azure DCAP 程式庫。

如何從其他 SGX 證明模型轉移至 Azure 證明?

  • 在安裝 Azure 機密計算虛擬機器之後,安裝 Azure DCAP 程式庫 (Windows/Linux),以利用受信任硬體身分識別管理 (THIM) 所提供的優點。
  • 您必須撰寫遠端證明用戶端,以擷取記憶體保護區辨識項,並將要求傳送至 Azure 證明。 如需參考,請參閱程式碼範例 (英文)。
  • 證明要求可以傳送至預設提供者或自訂證明提供者的 REST API 端點。
  • 2018-09-01-preview API 版本中,用戶端必須將 Microsoft Entra 存取權杖連同辨識項傳送至 SGX 證明 API 端點。 Microsoft Entra 存取權杖在 2020-10-01 API 版本中執行 SGX 證明時並非必要參數。

信賴憑證者如何驗證證明權杖的完整性,並確認 Azure 證明正在記憶體位址內執行?

Azure 證明產生的證明權杖會使用自我簽署憑證進行簽署。 而簽署憑證會透過 OpenID 中繼資料端點公開。 信賴憑證者可以從這個端點擷取簽署憑證,並執行證明權杖的簽章驗證。 簽署憑證也包含 Azure 證明執行所在 TEE 的 SGX 引用。 如果信賴憑證者也偏好檢查 Azure 證明是否正在有效的 SGX 記憶體保護區內執行,則可以從簽署憑證擷取 SGX 引用,並在本機進行驗證。 如需詳細資訊,請參閱程式碼範例 (英文)。

證明權杖有效期多久?

證明權杖的有效時間為 8 小時。 目前沒有任何佈建以自訂值。

如何識別來自於 OpenID 中繼資料端點,要用於簽章驗證的憑證

在 OpenID 中繼資料端點中公開的多個憑證會對應至 Azure 證明支援的不同使用案例 (例如,SGX 證明)。 依 RFC 7515指定的標準,其金鑰識別碼 (kid) 與證明權杖標頭 kid 參數相符的憑證,會用於簽章驗證。 如果找不到相符的 kid,則應該嘗試 OpenID 中繼資料端點所公開的所有憑證。

信賴憑證者是否可能與通過驗證的受信任執行環境 (TEE) 共用祕密?

在建立 TEE 辨識項時,於 TEE 內執行的程式碼可以包含辨識項中的任意資訊。 例如,TEE 可以建立一或多個非對稱金鑰組、將這些金鑰組的公開金鑰元件序列化為 JWKS JSON 字串,並在 TEE 辨識項中包含 JWKS JSON 字串,作為 RunTimeData { quote, JWKS JSON string }。 Azure 證明會檢查 RuntimeData 的 SHA256 雜湊是否符合引用「報告資料」屬性較低的 32 個位元組。 在評估 TEE 辨識項後,Azure 證明會產生 JWT,而 JWKS 可用作 "x-ms-runtime" 宣告底下名為 "keys" 的宣告。 信賴憑證者可以進一步使用 RunTimeData 來建立安全通道,並安全地將資料傳輸到 TEE。

Azure 證明會將客戶資料儲存在何處?

Azure 證明會在處理和複寫期間基於 BCDR 目的,於客戶部署服務執行個體的地理位置內儲存客戶待用資料。