微軟信任根憑證計畫將不再支援有kernel模式簽署的根憑證,目前既有的交互簽章憑證(cross-signed root certificates)
還能繼續使用到憑證的到期日(註1),因此任何串連到這些根憑證的軟體商憑證,商用憑證與商用測試憑證到時將會一併失效,要簽署您的驅動程式,請先註冊Windows Hardware Dev Center Program。
根據Windows 10 Kernel模式程式碼簽署需求規範,驅動程式必須由微軟與EV程式碼簽章簽署,任何在Windows
Kernel模式下運行的驅動程式必須依循Microsoft硬體開發團隊訂定的流程,以取得微軟認證。針對目前已經簽署過的程式,只要在交互簽章憑證到期日前簽署,並加上時間戳記 (time-stamp),即使憑證到期程式。
(註1):微軟信任的交互簽章憑證到期日:
 |
針對目前已經簽署過的程式,只要在交互簽章憑證到期日前簽署,並加上時間戳記 (time-stamp),即使憑證到期程式還是能使用。2021年後第三方發行的程式碼簽章程式仍然能夠簽署非驅動的程式, 但這些程式碼只能在使用者模式下執行,除非有微軟的簽章,否則無法在kernel模式下運行。2021年後,微軟將成為唯一能提供kernel模式程式碼簽章的廠商。
要如何確認程式碼簽章是否有受到影響:執行 signtool verify /v /kp <驅動程式.sys> 檢視交互簽章憑證鍊,若交互簽章憑證鍊的最上層是: Microsoft Code Verification Root. 就會受到影響。
參考資料:
https://docs.microsoft.com/en-us/windows-hardware/drivers/install/deprecation-of-software-publisher-certificates-and-commercial-release-certificates
https://docs.microsoft.com/en-us/security/trusted-root/program-requirements#f-windows-10-kernel-mode-code-signing-kmcs-requirements
https://docs.microsoft.com/en-us/windows-hardware/drivers/dashboard/
|