機密 VM 測量記錄內容

本文說明不同機密運算技術的測量暫存器中,測量了哪些元件。

vTPM 平台設定暫存器

機密 VM vTPM 中的每個平台設定暫存器 (PCR) 都包含三個儲存區,分別用於 SHA-1、SHA-256 和 SHA-384 摘要。

下列規格大致標準化了 PCR 0 至 7 的使用方式:

作業系統會使用大於 7 的 PCR,或以其他平台專屬方式使用。詳情請參閱「Linux TPM PCR 登錄檔」。

機密 VM 執行個體會將下列元件測量到 vTPM PCR 中:

索引 評估內容
0

靜態信任根測量 (SRTM)、BIOS、內嵌選項 ROM。

根據「 Trusted Computing Group 韌體設定檔規格」,Compute Engine UEFI 的 PCR 0 並非標準,因為其中不含整個韌體二進位大型物件的測量值。這是為了確保穩定性。每次啟動 Compute Engine VM 執行個體時,系統都會視為新機器,並以最新的虛擬韌體版本啟動。如果省略韌體二進位檔 Blob 測量,韌體變更 (非安全性相關或因工具鍊變更而發生) 就不會中斷認證驗證。

即使重新啟動和更新軟體,PCR 0 在單一 VM 的生命週期內仍會保持穩定。即使使用相同映像檔,在兩個不同的 VM 生命週期中,這項說法也不成立。

機密 VM 會將兩個額外事件測量到 PCR 0 中:

  • Compute Engine 虛擬韌體版本: EV_S_CRTM_VERSION。最新的虛擬韌體版本為 2
  • Compute Engine NonHostInfo 事件,其中儲存了在 VM 上執行的機密運算技術。

下表詳細列出 NonHostInfo 事件值。

列舉值 使用的機密運算技術
0
1 AMD SEV
2 AMD SEV-ES
3 Intel TDX
4 AMD SEV-SNP
1 主機平台設定,包括啟動順序、啟動項目、微碼更新和韌體磁碟區。
2 UEFI 驅動程式和應用程式程式碼。
3 UEFI 驅動程式和應用程式設定與資料。
41 EFI 可攜式可執行 (PE) 或通用物件檔案格式 (COFF) 應用程式 (例如開機載入程式) 評估事件,表示從 UEFI 轉換至第一個 EFI 應用程式。
5 GPT 測量 (開機選項使用 GPT 時)、 ExitBootServices
6 主機平台製造商專用,不適用於參考 EDK II 實作項目。
71

安全啟動 政策。包括下列 UEFI 變數:

  • SecureBoot:安全啟動功能是否已啟用。
  • PK:平台金鑰,韌體會使用 X.509 憑證驗證 PKKEK 變數更新的簽章。
  • KEK:金鑰交換金鑰。韌體用來驗證 dbdbx 變數更新簽章的一或多個 X.509 憑證。
  • db:簽章資料庫,也就是允許在 VM 上執行的所有軟體憑證或雜湊值允許清單。
  • dbx:禁止使用的簽章資料庫,其中包含不再受信任的軟體憑證或雜湊值撤銷清單,這類軟體必須禁止開機。

PCR 7 仍維持穩定,提供安全啟動狀態,簽署階層也保持不變。只要使用相同金鑰簽署,並使用相同金鑰階層,兩張不同的圖片就會產生相同的 PCR 7 值。

8 GRUB 開機載入程式執行的所有指令,以及產生的核心和模組指令列。
9 GRUB 讀取的所有檔案,例如 grub.cfg
10 核心完整性,由 Linux 完整性測量架構 (IMA) 使用。
13 機密空間 環境的工作負載和設定測量結果。
141 機器擁有者金鑰 (MOK) 狀態 shim

1 視設定而定,墊片也會將測量結果擴展至 PCR 4、7 和 14。

AMD SEV-SNP 評估暫存器

AMD 安全處理器具有單一啟動 MEASUREMENT 暫存器。與其他機密運算測量暫存器一樣,測量值會經過雜湊處理並串連,以產生最終摘要。如果是 AMD SEV-SNP,則使用 SHA-384 演算法。

系統會評估下列元件,並納入最終摘要:

  • VM 執行個體的虛擬韌體。

  • 下列記憶體頁面的結構,但不包括內容:

    • SNP 安全記憶體頁面,代表虛擬韌體需要管理程序預先驗證的記憶體區塊,VM 才能啟動。

    • 「Secrets」頁面,內含用於訪客與 AMD 安全處理器之間通訊的金鑰。

    • CPUID 頁面,其中包含已驗證的 CPU 功能。

  • 分配給機密 VM 執行個體的每個 vCPU 的虛擬機器儲存區域 (VMSA)。如果 VM 有多個 vCPU,每個 VMSA 會依序個別雜湊處理到鏈結中。

您也可以存取受保護的 VM vTPM 測量結果,但與 AMD 安全處理器不同的是,這些測量結果是軟體認證而非硬體認證

Intel TDX 測量暫存器

Intel TDX 使用下列測量暫存器:

  • 信任網域評估 (MRTD)

  • 執行階段測量暫存器 (RTMR)

每個暫存器都會儲存 SHA-384 摘要。

機密 VM 執行個體會將下列元件測量結果寫入 Intel TDX 測量暫存器:

測量記錄 評估內容
MRTD 在 TD 建構程序中取得的信任網域虛擬韌體 (TDVF)。
RTMR[0] TDVF 設定 (TD 交接區塊、ACPI、安全啟動設定)。
RTMR[1] TD 載入器 (GRUB/shim)。
RTMR[2] 核心,以及傳送至核心的指令列。
RTMR[3] (User-defined) 從使用者空間傳遞的其他事件記錄評估。

您也可以存取受防護的 VM vTPM 測量值,但與 Intel TDX 模組不同的是,這些測量值是由軟體而非硬體認證