安全開機

「安全開機」是由電腦產業成員所開發的一種安全標準,可協助確保裝置只會使用原始設備製造商 (OEM) 所信任的軟體來開機。 當電腦啟動時,韌體會檢查每個開機軟體的簽章,包括 UEFI 韌體驅動程式 (也稱為選項 ROM) 、EFI 應用程式和作業系統。 如果簽章有效,電腦會開機,而韌體會提供作業系統的控制權。

OEM 可以使用韌體制造商的指示來建立安全開機金鑰,並將其儲存在電腦韌體中。 當您新增 UEFI 驅動程式時,您也必須確定這些驅動程式已簽署並包含在安全開機資料庫中。

如需安全開機程式的運作方式的相關資訊,請參閱保護Windows 10開機程式

安全開機需求

若要支援安全開機,您必須提供下列專案。

硬體需求 詳細資料
UEFI 2.3.1 版 Errata C 變數 變數必須設定為 SecureBoot=1SetupMode=0 ,且簽章資料庫必須有 (EFI_IMAGE_SECURITY_DATABASE) ,才能安全地預先布建機器,並在有效的 KEK 資料庫中包含設定的 PK。 如需詳細資訊,請在 PDF 下載 Windows 硬體相容性計畫規格和原則中搜尋 System.Fundamentals.Firmware.UEFISecureBoot 系統需求。
UEFI v2.3.1 第 27 節 平臺必須公開符合 UEFI v2.3.1 第 27 節設定檔的介面。
UEFI 簽章資料庫 平臺必須以正確的金鑰布建在 UEFI 簽章資料庫中, (db) ,才能讓 Windows 開機。 它也必須支援對資料庫進行安全驗證的更新。 安全變數的儲存必須與執行中的作業系統隔離,如此才能在未偵測的情況下加以修改。
韌體簽署 所有韌體元件都必須使用至少 RSA-2048 搭配 SHA-256 簽署。
開機管理員 開啟電源時,系統必須在韌體中開始執行程式碼,並根據演算法原則使用公開金鑰密碼編譯,以驗證開機順序中所有映射的簽章,最多包含 Windows 開機管理員。
復原保護 系統必須防止將韌體復原至舊版。
EFI_HASH_PROTOCOL 此平臺提供每個 UEFI v2.3.1) EFI_HASH_PROTOCOL (,以卸載密碼編譯雜湊作業,以及存取平臺 entropy EFI_RNG_PROTOCOL (Microsoft 定義的) 。

簽章資料庫和金鑰

在部署電腦之前,您身為 OEM 會將安全開機資料庫儲存在電腦上。 這包括 db (db) 、dbx) 撤銷的簽章 (資料庫,以及金鑰註冊金鑰資料庫 (KEK) 。 這些資料庫會儲存在製造時間的韌體非卷積 RAM (NV-RAM) 上。

簽章資料庫 (db) 和撤銷的簽章資料庫 (dbx) 列出 UEFI 應用程式的簽署者或映射雜湊、作業系統載入器 (例如 Microsoft 作業系統載入器或開機管理員) ,以及可在裝置上載入的 UEFI 驅動程式。 已撤銷的清單包含不再信任且可能不會載入的專案。 如果影像雜湊同時位於這兩個資料庫中,則撤銷的簽章資料庫 (dbx) 會優先使用。

金鑰註冊金鑰資料庫 (KEK) 是個別的簽署金鑰資料庫,可用來更新簽章資料庫和撤銷的簽章資料庫。 Microsoft 要求將指定的金鑰包含在 KEK 資料庫中,以便未來 Microsoft 可以將新的作業系統新增至簽章資料庫,或將已知的不良映射新增至撤銷的簽章資料庫。

新增這些資料庫之後,以及最後的韌體驗證和測試之後,OEM 會鎖定韌體進行編輯,但除了使用韌體功能表的實際存在使用者簽署正確的金鑰或更新,然後產生平臺金鑰 (PK) 。 PK 可用來簽署 KEK 的更新,或關閉安全開機。

您應該連絡韌體制造商,以取得建立這些資料庫的工具和協助。

開機順序

  1. 開啟電腦之後,會針對平臺金鑰檢查簽章資料庫。
  2. 如果韌體不受信任,UEFI 韌體必須起始 OEM 特定的復原,才能還原受信任的韌體。
  3. 如果 Windows 開機管理員發生問題,韌體會嘗試開機 Windows 開機管理員的備份複本。 如果這也失敗,韌體必須起始 OEM 特定的補救。
  4. Windows 開機管理員開始執行之後,如果驅動程式或 NTOS 核心發生問題,則會載入 Windows 復原環境 (Windows RE) ,以便復原這些驅動程式或核心映射。
  5. Windows 會載入反惡意程式碼軟體。
  6. Windows 會載入其他核心驅動程式,並初始化使用者模式進程。