Windows 內核驅動簽名策略

Windows的驅動簽名策略起始於Win7 64位操作系統,從Win7 64位一直到 Win10 1511版本,驅動程序必須要有SHA1簽名,且證書必須使用微軟簽發的證書交叉簽名。

後來微軟推行了SHA2簽名,從Win10 1607到Win10 1709,SHA1和SHA2簽名都被認可。從Win10 1803開始,SHA1簽名不再受到支持,因此好多開發商都選擇使用SHA1+SHA2雙簽名,來支持全部的Windows操作系統。

不過自從Win10 1607開始,微軟還立了一條規矩,驅動程序還必須被微軟的硬件開發中心簽名才能被Windows加載。但是有以下幾種情況屬於例外:

1.Win10是從舊版本升級到1607的,不需要硬件開發中心的簽名

2.BIOS沒有開啓SecureBoot,不需要硬件開發中心的簽名

3.驅動簽名日期早於2015年7月29日的,不需要硬件開發中心的簽名

因此,驅動程序如果要獲得最完整的兼容性,必須要滿足下面的條件

1.有SHA1簽名,用來支持Win10 1607以前的操作系統

2.有SHA2簽名(必須是EV證書),用來支持Win10 1607及以後的操作系統

3.有微軟的硬件開發中心簽名,用來支持UEFI SecureBoot方式引導的Win10 1607及以後的操作系統

 

Windows 硬件開發者中心的數字簽名獲取步驟是:

(1)門戶註冊:Windows 硬件開發者中心門戶要求註冊門戶時必須有一張有效的 EV代碼簽名證書。

(2)驅動提交:所有通過 Windows 硬件開發者中心門戶提交的驅動程序必須使用 EV 代碼簽名證書進行數字簽名;

(3)提交入口:必須通過 Windows 硬件開發者中心門戶,提交您的新驅動程序;

 

入口:

https://partner.microsoft.com/zh-cn/dashboard/directory
https://partner.microsoft.com/zh-CN/dashboard/registration/hardware

 

參考資料:

https://www.scip.ch/en/?labs.20190919

https://techcommunity.microsoft.com/t5/Windows-Hardware-Certification/Driver-Signing-changes-in-Windows-10-version-1607/ba-p/364894

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章