关注公众号网络研究观获取更多内容。
安全启动至少从 Windows 8 开始就成为一项标准功能。
顾名思义,该功能可保护启动过程。
通过对启动过程中使用的任何软件(“固件”)进行数字签名,可确保启动过程的完整性。
与任何数字签名一样,此过程需要使用证书来验证签名的有效性。
安全启动的一个问题是,即使引导加载程序不是恶意的,也并非所有引导加载程序都经过正确签名。
特别是,像 Linux 这样的开源操作系统最初在安全启动支持方面存在问题。
不过,这个问题已经基本得到缓解,Ubuntu 和 Redhat 等主流发行版都支持安全启动。
但是,与往常一样,只要涉及到证书,就存在证书过期的可能性。
微软目前依赖名为“Windows Production CA 2011”的证书。
这种证书有两个,顾名思义,该证书最早是在 2011 年左右使用的。
证书下载地址:
Windows 8 于 2012 年发布。
让我们来看看这两个证书中的一个
% openssl x509 -in MicWinProPCA2011_2011-10-19.crt -text Certificate:
Data:
Version: 3 (0x2)
Serial Number:
61:07:76:56:00:00:00:00:00:08
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=US, ST=Washington, L=Redmond, O=Microsoft Corporation, CN=Microsoft Root Certificate Authority 2010
Validity
Not Before: Oct 19 18:41:42 2011 GMT
Not After : Oct 19 18:51:42 2026 GMT
...
它将于 2026 年到期。
到期日期之前签名的固件将保持有效。
因此,到 2026 年 10 月 19 日,系统不会突然无法启动。
但在此日期之前,您将看到使用新的 2023 证书签名的 UEFI 固件。
让我们再次查看两个新证书之一。
% openssl x509 -in MSFT2026.crt -text
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
33:00:00:00:1a:88:8b:98:00:56:22:84:c1:00:00:00:00:00:1a
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=US, ST=Washington, L=Redmond, O=Microsoft Corporation, CN=Microsoft Root Certificate Authority 2010
Validity
Not Before: Jun 13 18:58:29 2023 GMT
Not After : Jun 13 19:08:29 2035 GMT ...
Microsoft 在其 7 月更新中包含了新证书。
但证书不会自动安装。
您需要遵循Microsoft 文章 KB5025885中的建议。
https://support.microsoft.com/en-us/topic/kb5025885-how-to-manage-the-windows-boot-manager-revocations-for-secure-boot-changes-associated-with-cve-2023-24932-41a975df-beb2-40c1-99a3-b3ff139f832d
如果您未能更新,将来的固件更新可能会失败。
一些关于此主题的文章让您觉得您的系统将在 2026 年 10 月无法启动。
事实并非如此。使用旧证书颁发机构的固件签名只要是在证书颁发机构到期之前颁发的,就仍然有效。
Linux 依赖于相同的证书层次结构。
Linux SHIM 用于验证启动完整性,需要使用新证书进行更新。
此过程正在进行中,您应该使用本地 Linux 发行版检查更新。
它们可能已经包含新证书。检查系统固件是否最新也是一个好主意。