UEFI 安全開機的工作原理 - Amazon Elastic Compute Cloud

UEFI 安全開機的工作原理

UEFI 安全開機是 UEFI 中指定的一項功能,它提供有關開機鏈狀態的驗證。該功能旨在確保韌體自我初始化後,只會執行以密碼編譯驗證的 UEFI 二進位檔案。這些二進位檔案包括 UEFI 驅動程式和主要開機載入器,以及鏈式載入元件。

UEFI 安全開機指定在信任鏈中使用的四個金鑰資料庫。資料庫存放在 UEFI 變數存放區中。

信任鏈如下:

平台金鑰 (PK) 資料庫

PK 資料庫是信任根。它包含在信任鏈中用於更新金鑰交換金鑰 (KEK) 資料庫的單一公有 PK 金鑰。

若要變更 PK 資料庫,您必須具有私有 PK 金鑰才能簽署更新要求。這包括透過寫入空 PK 金鑰來刪除 PK 資料庫。

金鑰交換金鑰 (KEK) 資料庫

KEK 資料庫是一份公有 KEK 金鑰清單,這些金鑰用於在信任鏈中更新簽章 (db) 和拒絕清單 (dbx) 資料庫。

若要變更公有 KEK 資料庫,您必須具有私有 PK 金鑰才能簽署更新要求。

簽章 (db) 資料庫

db 資料庫是一份公有金鑰和雜湊清單,這些金鑰和雜湊用於在信任鏈中驗證所有 UEFI 開機二進位檔案。

若要變更 db 資料庫,您必須具有私有 PK 金鑰或任何一項私有 KEK 金鑰才能簽署更新要求。

簽章拒絕清單 (dbx) 資料庫

dbx 資料庫是一份不受信任的公有金鑰和二進位檔案雜湊清單,在信任鏈中作為撤銷檔案使用。

dbx 資料庫始終優先於所有其他金鑰資料庫。

若要變更 dbx 資料庫,您必須具有私有 PK 金鑰或任何一項私有 KEK 金鑰才能簽署更新要求。

UEFI 論壇維護有適用於許多已知不良二進位檔案和憑證的公開可用的 dbx,網址為:https://uefi.org/revocationlistfile

重要

UEFI 安全開機強制對任何 UEFI 二進位檔案執行簽章驗證。若要允許在 UEFI 安全開機中執行 UEFI 二進位檔案,請使用上述任何私有 db 金鑰予以簽署。

UEFI 安全開機預設為停用,且系統處於 SetupMode 模式。當系統處於 SetupMode 模式時,所有金鑰變數都可以在沒有密碼編譯簽章的情況下更新。設定 PK 後,UEFI 安全開機將啟用,並結束設定模式。