安全開機
「安全開機」是由電腦產業成員所開發的一種安全標準,可協助確保裝置只會使用原始設備製造商 (OEM) 所信任的軟體來開機。 當電腦啟動時,韌體會檢查每個開機軟體的簽章,包括 UEFI 韌體驅動程式 (也稱為選項 ROM) 、EFI 應用程式和作業系統。 如果簽章有效,電腦會開機,而韌體會提供作業系統的控制權。
OEM 可以使用韌體制造商的指示來建立安全開機金鑰,並將其儲存在電腦韌體中。 當您新增 UEFI 驅動程式時,您也必須確定這些驅動程式已簽署並包含在安全開機資料庫中。
如需安全開機程式的運作方式的相關資訊,請參閱保護Windows 10開機程式。
安全開機需求
若要支援安全開機,您必須提供下列專案。
硬體需求 | 詳細資料 |
---|---|
UEFI 2.3.1 版 Errata C 變數 | 變數必須設定為 SecureBoot=1 和 SetupMode=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 的更新,或關閉安全開機。
您應該連絡韌體制造商,以取得建立這些資料庫的工具和協助。
開機順序
- 開啟電腦之後,會針對平臺金鑰檢查簽章資料庫。
- 如果韌體不受信任,UEFI 韌體必須起始 OEM 特定的復原,才能還原受信任的韌體。
- 如果 Windows 開機管理員發生問題,韌體會嘗試開機 Windows 開機管理員的備份複本。 如果這也失敗,韌體必須起始 OEM 特定的補救。
- Windows 開機管理員開始執行之後,如果驅動程式或 NTOS 核心發生問題,則會載入 Windows 復原環境 (Windows RE) ,以便復原這些驅動程式或核心映射。
- Windows 會載入反惡意程式碼軟體。
- Windows 會載入其他核心驅動程式,並初始化使用者模式進程。