安全启动和CA证书轮换——给发行版的提醒

Lobsters Hottest 新闻

摘要

本文提醒Linux发行版注意微软用于安全启动的UEFI CA证书即将到期,介绍了新证书以及在缺少旧证书的较新硬件上可能出现的启动问题。

<p><a href="https://lobste.rs/s/qwytbf/secure_boot_ca_rollover_heads_up_for">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/05/22 10:32

# Steve 的博客 来源:https://blog.einval.com/2026/05/22 2026年5月22日,星期五**安全启动与CA证书轮换——给发行版的提醒** ## 背景 我是 Debian 中 EFI 团队的成员,近年来为 Debian 支持 UEFI 安全启动(SB)做了大量工作。自 Debian 10(又称 *Buster*)起,我们多个版本都包含了这一支持。 我也是 shim 审查(shim-review)团队(https://github.com/rhboot/shim-review/)的长期认证成员,该团队负责在 Microsoft 签署 shim 二进制文件前对其进行检查和批准。 有关安全启动以及我们在 Debian 中如何操作的详细背景信息,请参见 Debian 维基(https://wiki.debian.org/SecureBoot)。 安全启动依赖于签名,这些签名在启动过程中通过一系列 X.509 证书进行验证。证书链中的根证书嵌入在计算机固件中,之后诸如 shim 等软件可以添加更多证书来扩展信任。很简单,对吧? ## 问题——证书会过期…… Microsoft 管理着最广泛使用的安全启动根证书,并且自 UEFI 安全启动概念诞生之初就一直如此。Microsoft UEFI CA 证书几乎出现在所有已出货的 x86 和 x86-64 计算机中,以及相当多的 arm64 机器上。 (因此,Microsoft 成为了 Linux 在安全启动下运行的“守门人”,这在某些方面很不受欢迎,但这就是我们生活的世界中的现实。) 目前的证书自 2011 年以来就一直存在: **1. Windows Production PCA 2011(用于签署 Windows 组件)** `` 主题: C=US, ST=Washington, L=Redmond, O=Microsoft Corporation, CN=Microsoft Windows Production PCA 2011 有效期 不早于: 2011年10月19日 18:41:42 GMT 不晚于: 2026年10月19日 18:51:42 GMT `` 该证书将于今年 10 月到期,距今大约 5 个月。 **2. 第三方市场根证书(用于签署选项 ROM 和其他软件)** `` 主题: C=US, ST=Washington, L=Redmond, O=Microsoft Corporation, CN=Microsoft Corporation UEFI CA 2011 有效期 不早于: 2011年6月27日 21:22:45 GMT 不晚于: 2026年6月27日 21:32:45 GMT `` 对于 Linux 用户来说,第二个证书更有趣——它是 Microsoft 在签署 Linux 发行版的 shim(https://github.com/rhboot/shim/)时使用的证书链的根证书。 **此 CA 将于今天起 5 周后到期。** ## 天哪!!所有现有的安全启动机器会停止启动吗? 几乎肯定不会,不会。 UEFI 安全启动规范并不要求在此强制验证证书上的有效日期。这里唯一重要的是签名本身。排除有缺陷的固件,现有的签名二进制文件应该可以继续正常运行。 ## 需要注意的新 CA Microsoft 发布了**三个**新 CA: **1. 用于签署设备选项 ROM 的新 CA** `` 主题: C=US, O=Microsoft Corporation, CN=Microsoft Option ROM UEFI CA 2023 有效期 不早于: 2023年10月26日 19:02:20 GMT 不晚于: 2038年10月26日 19:12:20 GMT `` **2. 用于签署 Windows 组件的新 CA** `` 主题: C=US, O=Microsoft Corporation, CN=Windows UEFI CA 2023 有效期 不早于: 2023年6月13日 18:58:29 GMT 不晚于: 2035年6月13日 19:08:29 GMT `` **3. 用于签署其他软件(如 shim)的新 CA** `` 主题: C=US, O=Microsoft Corporation, CN=Microsoft UEFI CA 2023 有效期 不早于: 2023年6月13日 19:21:47 GMT 不晚于: 2038年6月13日 19:31:47 GMT `` 新机器以及更新过的旧机器**极有可能**安装了所有这些新 CA。已经开始出货的新机器**只**包含新 CA;它们将不再信任旧软件,这已经给一些用户带来了问题。 ## 这是不是有点太仓促了? 是的。:-( 部署 CA 证书时的一个常见经验法则是:当证书达到其生命周期的一半时,就开始替换(“轮换”)过程。不幸的是,Microsoft 行动得太晚了。他们在 2023 年生成了新密钥,但直到 2025 年 10 月才开始使用 UEFI CA 签署 shim 和其他第三方软件。 ## 如果我是发行版开发者,我该怎么办? 如果您在 2025 年 10 月之前就已经有一个由 Microsoft 签署的旧版 shim,那么它只会使用即将到期的旧 CA 进行签署。在新机器上,您的用户已经无法在启用安全启动的情况下引导您的发行版。 如果您希望用户将来能够使用安全启动,您需要提交一个新的 shim 构建,通过审查并使用新 CA 进行签署。然而,除非旧机器安装了新 CA,否则这个签署后的构建将无法在旧机器上工作。这也可能会给一些用户带来问题。您应该鼓励用户**立即**更新他们的系统,以免出现问题。 有一个临时的解决方案可以工作,但前提是您要快!Microsoft 目前会返回使用**旧 CA 和**新 CA 签署的 shim 二进制文件。更具体地说,对于提交的每个二进制文件,他们将返回两个:一个用每个 CA 签署。如果您直接使用这些,您需要计划发布: - 2 个签署后的 shim 二进制文件 - 2 个安装程序 - 2 套 live/安装镜像 - 等等。 并向您的用户解释他们需要如何选择其中一个。祝您好运! **然而**,可以从这些签署后的 shim 二进制文件中提取签名,并将它们全部附加到一个 shim 上,从而得到“圣杯”——一个能够在绝大多数机器上引导的单一 shim。事实上,这就是我在 Debian 中的计划。所谓的“双重签名”shim **可能**会在有缺陷的固件上引发问题,因此请注意您也可能需要处理这个问题。但请放心:各个发行版的人员对双重签名的 Fedora shim 进行的早期测试没有发现任何问题。 ## 您还有 5 周时间,而且时间在流逝…… Microsoft 承诺会尽可能长时间地继续使用旧 CA 进行签署,直到最后一天。他们明白否则情况会多么尴尬,并正在尽力提供帮助。 在 shim 审查团队中,我们原本预计在旧 CA 到期之前会看到一波 shim 提交潮,以便充分利用上述的“圣杯”双重签名 shim。但我们非常惊讶地发现,这**并没有**发生。 因此,这篇博客是对使用 shim 进行安全启动的人们的警钟。即使您不打算立即向用户发布新的 shim 二进制文件,您也应该真正尝试准备一个新的构建并进行签署**现在**,以便在即将到来的 CA 过渡期间有备无患。不要等到太晚。 如果您不确定该怎么做,请向我或其他 shim 审查人员提问。我们很乐意提供建议。但不要拖延。 **您还有 5 周时间,而且时间在流逝。** ## 参考资料 - Microsoft 将其所有 CA 证书以及可用于更新计算机的二进制文件发布在 https://github.com/microsoft/secureboot_objects - Debian 维基上已经有很多关于 UEFI(https://wiki.debian.org/UEFI)和安全启动(https://wiki.debian.org/SecureBoot)的详细信息,我很快会在 SecureBoot/CAChanges(https://wiki.debian.org/SecureBoot/CAChanges)上添加更多面向用户的关于 CA 轮换的文档。 未来几周我会在这里添加更多链接。 00:43 :: # (https://blog.einval.com/2026/05/22#secure_boot_ca_rollover) ::/debian/efi (https://blog.einval.com/debian/efi) ::0 条评论 (https://blog.einval.com/debian/efi/secure_boot_ca_rollover.comments)

相似文章

Linux 与 Secure Boot 证书到期

Lobsters Hottest

本文讨论了即将到期的 Microsoft Secure Boot 证书(Linux 发行版依赖它通过 shim 进行引导),以及更新系统固件以适配替换密钥所涉及的复杂性。

它死了,吉姆!(UEFI CA 过期)

Lobsters Hottest

2011年的旧微软UEFI CA已经过期,但由于Debian及其他发行版的协调努力,新的双重签名shim二进制文件正在部署,以防止启动失败。