Windows 安全启动 2026 证书到期完整底层原理HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Secureboot

Windows 安全启动密钥创建和管理指南 | Microsoft Learn

禁用安全启动 | Microsoft Learn

UEFI 的 BCD 系统存储设置 | Microsoft Learn

KB5036210:将 Windows UEFI CA 2023 证书部署到安全启动允许的签名数据库 (DB) - Microsoft 支持

Updating Microsoft Secure Boot keys | Windows IT Pro blog

Revoking vulnerable Windows boot managers | Windows IT Pro blog

调查使用 CVE-2022-21894 的攻击的指南:BlackLotus 活动 |Microsoft 安全博客


Windows 安全启动证书过期和 CA 更新 - Microsoft 支持

Windows 安全启动 2026 证书到期完整底层原理

一、UEFI 安全启动四层信任根分层基础架构

安全启动基于链式数字签名信任模型,四层密钥 / 证书数据库存储在固件 NVRAM 非易失存储,自上而下严格校验,构成不可绕过的启动信任链:
plaintext
1. PK(平台根密钥,OEM固件厂商持有)
    ↓ 仅PK签名可更新KEK库
2. KEK(密钥交换密钥,微软/厂商CA证书)
    ↓ 仅KEK签名可更新DB/DBX黑白名单库
3. DB(允许签名白名单)/ DBX(吊销黑名单)
    ↓ 固件校验EFI二进制签名,匹配DB放行、匹配DBX直接拦截
4. EFI启动组件(bootmgfw.efi、winload.efi、Option ROM、第三方引导)

各数据库底层定义

  1. PK(Platform Key 平台密钥)
     
    信任链最顶层根锚点,设备出厂预装 OEM 私钥,唯一权限:验证、授权 KEK 数据库的写入 / 更新;开启安全启动后,无 PK 签名无法修改 KEK。
  2. KEK(Key Exchange Key 密钥注册密钥)
     
    存放微软 / 硬件厂商的 CA 根证书,核心权限:对 DB、DBX 数据库的更新包做数字签名;只有携带有效 KEK 证书签名的 DB/DBX 更新,固件才会接受并写入 NVRAM。
     
    本次到期核心证书:Microsoft Corporation KEK CA 2011(2026-06-24 过期),对应替换新证书Microsoft Corporation KEK 2K CA 2023。
  3. DB(Allowed Signature Database 允许签名数据库)
     
    白名单库,存储信任的 X.509 CA 证书、可信文件哈希;固件开机校验所有预操作系统 EFI 程序签名:签名证书存在 DB 内才允许执行。
     
    本次 DB 内 3 张到期 2011 根证书,对应 2 套 2023 拆分新证书,实现权限隔离:
    • Windows UEFI CA 2023:专门签名 Windows 官方启动加载器(替代 Windows Production PCA 2011,10 月过期)
    • Microsoft UEFI CA 2023:第三方操作系统、第三方 EFI 应用签名
    • Microsoft选项ROM UEFI CA 2023:独立拆分显卡 / 硬件 Option ROM 固件签名,做到细粒度信任管控
  4. DBX(Disallowed Signature Database 吊销签名数据库)
     
    恶意启动组件黑名单,存储存在漏洞、恶意 bootkit 的 EFI 文件哈希 / 吊销证书;DBX 更新包必须由 KEK 证书签名才能写入固件,用于拦截启动层恶意软件。

二、2011 旧证书与 2023 新证书完整签名链路底层逻辑

1. 2011 旧版统一证书链(Windows8~2024 出厂设备通用)

单根 CA 包揽全部签名场景,信任链路:
  1. 微软根:Microsoft Corporation KEK CA 2011(KEK 库)
  2. 二级签发三张用途混合证书(全部存入 DB):
    • Windows 内核启动签名:Microsoft Windows 生产 PCA 2011
    • 第三方引导程序:Microsoft UEFI CA 2011
    • 硬件 Option ROM 固件:复用同一张Microsoft UEFI CA 2011
  3. 所有 EFI 文件由上述三张证书签名;DB/DBX 月度更新包由 KEK 2011 私钥签名下发。

2. 2023 新版拆分证书链(安全加固、分层隔离)

微软拆分单一 CA 为独立专用证书,缩小信任攻击面,分层解耦:
  1. 顶层 KEK 替换:Microsoft Corporation KEK 2K CA 2023 存入 KEK 库,专门签署 DB/DBX 全局更新包;
  2. DB 内三类独立 CA,职责完全分离:
    1. Windows UEFI CA 2023:仅签署微软官方 Windows 启动链(bootmgfw、winload);
    2. Microsoft UEFI CA 2023:仅签署第三方 OS、驱动 EFI 程序;
    3. Microsoft选项 ROM UEFI CA 2023:仅签署硬件 Option ROM 固件;
拆分意义:设备可按需仅加载 ROM 证书,无需信任第三方操作系统引导,最小化固件信任边界,降低漏洞攻击面Microsoft ...。

3. 证书过期底层失效机制

X.509 证书内置ValidTo过期时间戳,固件 / Windows 校验签名时会验证时间有效性:
  1. KEK CA 2011(6 月 24 日过期)失效后果底层逻辑
     
    微软每月下发 DB/DBX 安全黑名单更新包,全部使用 KEK 私钥签名;证书过期后,固件校验更新包签名时判定证书失效、签名无效,永久拒绝写入 DB/DBX 数据库。
     
    终端表现:设备无法接收启动阶段恶意软件拦截补丁、漏洞吊销列表,预启动环境永久失去底层安全防护。
  2. Microsoft UEFI CA 2011(6 月 27 日过期)失效后果
     
    所有 2011 证书签名的第三方 EFI 驱动、Linux 引导程序、硬件 Option ROM,固件校验时判定证书过期,直接拦截无法执行;未更新 2023 证书的设备,后期新硬件固件无法正常加载。
  3. Windows 生产 PCA 2011(10 月 19 日过期)失效后果
     
    旧版仅由 2011 证书签名的 Windows 启动加载器winload.efi,在证书过期后,固件拒绝放行;若设备未预装Windows UEFI CA 2023,更新后的新版 Windows 引导程序(2023 证书签名)无法通过校验,系统无法启动。

三、证书更新全底层执行链路(Windows 自动更新推送机制)

阶段 1:Windows 系统层证书下发(Windows Update 计划任务)

  1. Windows 更新推送包含两类资源:
    1. 固件 NVRAM 写入包:携带 2023 新版 KEK、DB 证书的已签名 DB/KEK 更新变量,签名由 2011 旧 KEK 证书签发(过渡期双证书兼容);
    2. 新版启动管理器bootmgfw.efi:由 2023 新 CA 证书双重签名(同时携带 2011、2023 两套签名,兼容新旧固件)。
  2. 系统内置计划任务执行更新流程:
    1. 调用bcd.dll、固件 UEFI Runtime 读写接口,读取当前 NVRAM 内 KEK/DB 证书列表;
    2. 检测缺失 2023 证书,则调用固件 Authenticated Write 接口,写入新证书至 KEK/DB 变量;
    3. 替换系统分区 ESP 内bootmgfw.efi为双签名新版引导程序;
    4. 写入 BCD 存储标记,重启后固件加载新引导程序,完成信任链切换Microsoft ...。

阶段 2:固件 NVRAM 写入底层约束

UEFI 规范规定,修改 KEK/DB/DBX 属于认证变量写入操作,必须满足:
  1. 更新数据包携带合法 KEK 证书签名;过渡期微软使用未过期 2011 KEK 私钥签名 2023 证书写入包,旧设备固件可信任并写入新证书;
  2. 写入操作持久化存储至主板 NVRAM 闪存,断电永久保留;
  3. 写入完成后,DB 库同时存在 2011、2023 两套证书,进入双信任兼容过渡期;
  4. 2026 证书过期后,仅 2023 证书保持有效信任能力。

阶段 3:重启后固件校验逻辑变更

重启开机固件执行信任校验:
  1. 同时识别 DB 内 2011、2023 两套证书,兼容新旧签名 EFI 文件;
  2. 2026 年证书过期时间到达后,固件自动判定 2011 证书签名失效,仅信任 2023 新证书;
  3. 所有后续 DBX 黑名单更新包仅使用 2023 KEK 私钥签名,依赖新 KEK 证书完成校验写入。

四、未更新 2023 证书的底层连锁风险

  1. DBX 黑名单永久停止更新
     
    KEK 2011 过期后,固件拒绝所有微软下发的 DBX 吊销包,新发现的 bootkit、UEFI rootkit 恶意固件无法被拦截,启动链裸奔。
  2. 新版 Windows 启动镜像无法引导
     
    2026 年 10 月后,微软停止使用 2011 证书签署 winload,仅发布 2023 CA 签名引导程序;无新证书的设备固件校验失败,蓝屏无法进入系统。
  3. 第三方硬件 / 系统兼容断裂
     
    新显卡、RAID 卡 Option ROM、Linux 发行版引导程序仅采用 2023 证书签名,过期后固件直接拦截硬件固件加载,外设失效、多系统无法启动。
  4. 安全启动修复机制失效
     
    故障修复、WinRE 恢复环境的 EFI 程序后续仅由 2023 证书签名,证书过期后无法进入修复界面,系统故障无底层修复入口。

五、新旧证书分层设计底层安全优势

  1. 最小权限信任域隔离
     
    旧版单张 CA 全权签署 Windows、第三方、硬件固件,一旦 CA 私钥泄露,全启动链信任崩塌;新版拆分三张独立 CA,某一类证书泄露仅影响对应场景,不会全盘失效。
  2. KEK 与终端签名解耦
     
    KEK 仅管控 DB/DBX 全局黑名单更新,不再参与应用程序签名,缩小顶层密钥攻击面。
  3. 生命周期分级管控
     
    三类 DB 证书独立过期、独立签发,可单独轮换某一类用途证书,无需全栈同步更新,运维灵活性提升。
  4. 过渡兼容机制兜底
     
    过渡期 EFI 文件采用双签名(2011+2023),新旧固件均可校验通过,避免更新断层、批量设备无法启动的故障。

 

未更新 2023 新版安全启动证书的四层底层连锁风险完整解析

前置底层基础

UEFI 安全启动信任链校验逻辑:固件开机校验所有预操作系统 EFI 二进制文件签名,仅当签名证书存在于固件 NVRAM 内DB白名单、且证书未过有效期才允许加载;DB/DBX 黑名单更新包必须由KEK库内有效证书签名才能写入固件。
 
旧版 2011 根证书将在 2026 年分批到期,若设备未预装 2023 替代证书,到期后会逐层触发四类不可逆底层故障。

1. DBX 黑名单永久停止更新(启动层防护彻底失效)

底层原理

Microsoft Corporation KEK CA 2011证书 2026-06-24 过期,微软下发的 DBX 恶意固件吊销列表更新包,全部由该 KEK 私钥签名。
  1. 证书过期后,固件校验更新包签名时判定证书时间戳失效,直接拒绝将 DBX 更新写入 NVRAM;
  2. 设备 DBX 库永久停留在过期前的旧版本,新披露的 UEFI Rootkit、Bootkit、引导层恶意程序哈希无法加入黑名单;
  3. 安全启动仅能拦截已知老旧恶意固件,新型启动链病毒可无阻碍加载,操作系统内核底层防护完全裸奔。

2. 新版 Windows 系统无法引导启动

底层原理

Microsoft Windows 生产 PCA 2011证书 2026-10-19 过期,微软将在 2026 年 10 月停止使用该证书签署 Windows 核心加载器winload.efi、bootmgfw.efi,仅使用Windows UEFI CA 2023签名新版引导文件:
  1. 未预装 2023 证书的设备,固件读取新版 winload 签名后,在 DB 白名单中找不到有效信任证书;
  2. UEFI 固件终止引导流程,抛出安全启动校验失败,直接蓝屏 / 进入修复界面;
  3. 无法安装、启动 2026 年 10 月之后发布的新版 Windows 镜像,现有系统累积更新替换新版引导程序后也会无法开机。

3. 第三方硬件、多操作系统兼容完全断裂

底层原理

原统一证书Microsoft UEFI CA 2011拆分出两张独立 2023 专用证书:
  • Microsoft UEFI CA 2023:第三方 Linux 引导、第三方 EFI 驱动签名
  • Microsoft选项 ROM UEFI CA 2023:显卡、RAID 阵列卡、HBA 卡硬件 Option ROM 固件签名
  1. 2026-06-27 旧证书过期后,新硬件厂商、Linux 发行版只会采用 2023 证书签名固件 / 引导程序;
  2. 无 2023 证书的固件校验时匹配不到有效信任根,直接拦截硬件 Option ROM、第三方引导程序加载;
  3. 终端现象:独立显卡初始化失败、磁盘阵列识别丢失、双系统 Linux 无法启动。

4. WinRE 系统修复环境完全失效,无底层故障修复入口

底层原理

Windows 恢复环境winre.wim对应的 EFI 加载程序后续仅由 2023 系列证书签名:
  1. 系统蓝屏、启动故障时,固件尝试加载 WinRE 修复引导程序;
  2. 固件校验签名发现无有效 2023 信任证书,拦截修复环境启动;
  3. 设备失去官方底层修复通道,无法自动执行启动修复、系统还原、命令提示符修复 BCD / 分区故障,系统出现启动故障后难以自救。

补充:风险叠加影响

四类风险会随 2026 年证书分批到期依次触发,不存在兜底兼容机制:
  1. 6 月 KEK 证书到期 → DBX 黑名单停止更新,安全防护失效;
  2. 同年 6 月底第三方硬件 / 多系统兼容失效;
  3. 10 月 Windows PCA 证书到期 → 原版 Windows 无法启动、修复环境失效;
     
    所有故障根源均为 UEFI 固件信任链无法识别过期旧证书,且无在线动态刷新证书的通道,必须提前通过 Windows Update 写入 2023 全套证书至固件 NVRAM 的 KEK/DB 数据库才能规避。

 

安全启动 2026 证书到期风险叠加时序、底层根源与规避方案完整解析

一、风险分阶段触发时序(按证书到期时间递进叠加)

整套故障会随 3 批旧证书过期分 3 轮依次出现,无自动兜底修复逻辑,故障不可逆、逐层恶化:
  1. 2026 年 6 月 24 日:KEK 2011 证书到期
     
    底层后果:固件拒绝微软所有 DBX 黑名单更新包写入,启动链恶意 UEFI Rootkit、Bootkit 拦截防护永久失效;设备长期暴露在预启动层恶意攻击下。
  2. 2026 年 6 月 27 日:UEFI CA 2011 证书到期(同月底)
     
    底层后果:拆分后的第三方硬件、多系统引导信任链断裂;新显卡 / RAID 卡 Option ROM、Linux 发行版 EFI 引导程序签名失效,固件直接拦截加载,硬件外设失效、双系统无法启动。
     
    叠加影响:防护失效 + 硬件兼容故障同时出现,设备既无启动层安全防护,又丧失外设、多系统使用能力。
  3. 2026 年 10 月 19 日:Windows 生产 PCA 2011 证书到期
     
    底层后果:微软停止使用旧证书签署 Windows 核心加载器winload.efi、WinRE 修复 EFI 程序;未预装 2023 新版信任证书的设备,固件校验新版引导文件签名失败,直接蓝屏无法进入系统,同时系统自带修复环境完全无法启动。
     
    叠加终极风险:启动防护失效 + 硬件兼容损坏 + 主系统无法开机 + 无底层修复入口,设备彻底丧失运维自救能力。

二、所有故障统一底层根源

1. UEFI 固件信任链校验机制限制

安全启动基于静态 NVRAM 证书白名单校验:
  • 固件信任根(DB/KEK 数据库)存储在主板闪存 NVRAM,仅能通过带合法 KEK 证书签名的更新包写入修改;
  • X.509 证书自带有效期校验逻辑,固件开机校验所有 EFI 文件、DB/DBX 更新包签名时,会严格比对证书ValidTo时间戳,过期证书直接判定签名无效,永久拒绝放行。

2. 无在线动态证书刷新通道

UEFI 固件不支持联网自动下载、更新 DB/KEK 库证书,无法在证书过期后自动补全新信任根;证书写入操作必须依托 Windows 系统内 UEFI Runtime Services 接口,通过 Windows Update 推送签名更新包写入 NVRAM。

3. 新旧证书无自动兼容降级机制

固件不会自动忽略过期证书校验,也不会临时放行过期签名程序;一旦证书时间戳过期,对应全部签名资源永久拦截,不存在临时兼容、应急放行逻辑。

三、唯一规避底层方案原理

1. 前置操作逻辑

必须在 2026 年对应证书到期前,通过 Windows Update 推送的已签名证书更新包完成写入:
  1. 更新包由未过期的 2011 KEK 私钥签名,旧固件可信任校验通过;
  2. 调用 UEFI Runtime 读写接口,将 3 套 2023 新版 CA 证书分别写入固件 NVRAM:
    • Microsoft Corporation KEK 2K CA 2023 → 写入 KEK 库
    • Windows UEFI CA 2023、Microsoft UEFI CA 2023、Microsoft选项 ROM UEFI CA 2023 → 写入 DB 白名单库
  3. 写入后固件 DB/KEK 同时保留 2011、2023 两套证书,进入双信任过渡期;2026 年旧证书过期后,固件自动切换至 2023 证书作为有效信任根。

2. 写入载体

证书持久化存储在主板 NVRAM 非易失闪存,断电、重装系统均不会丢失;完成写入后,设备完整兼容 2023 证书签名的 Windows 引导、第三方硬件、DBX 安全更新包,规避全链路连锁故障。

注册表项 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Secureboot 中添加一个名为 AvailableUpdates 的 REG_DWORD 类型值,数据为 0x10(即十进制的16),并强制覆盖(/f 参数)。
但是,请注意:修改注册表需要管理员权限,并且不当的修改可能导致系统不稳定。因此,在执行前请确保你了解此操作的含义。

另外,根据微软文档,Secure Boot 的 AvailableUpdates 注册表值用于配置安全启动的更新。0x10 这个值可能表示某种更新选项,但具体含义需要参考官方文档。

由于这是一个系统关键位置,请谨慎操作。

以下是将此命令转换为 PowerShell 命令的几种方法:

方法1:使用 PowerShell 的 reg.exe(与cmd中相同)
方法2:使用 PowerShell 的 Set-ItemProperty

但是,注意:在 PowerShell 中,我们可以使用 .NET 方法或直接使用 PowerShell 驱动注册表。不过,对于 Secure Boot 相关的设置,我们通常建议使用官方工具或组策略。

由于我们是在 HKEY_LOCAL_MACHINE 下操作,需要管理员权限。

我们使用方法2的 PowerShell 命令如下:

 

我来分析这个注册表命令并提供一些重要说明:

命令解析

cmd
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Secureboot /v AvailableUpdates /t REG_DWORD /d 0x10 /f

参数说明:

  • reg add - 添加注册表项

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Secureboot - 安全启动相关配置路径

  • /v AvailableUpdates - 值名称为 AvailableUpdates

  • /t REG_DWORD - 数据类型为32位整数

  • /d 0x10 - 数据值为16(十六进制0x10)

  • /f - 强制覆盖,不提示确认

使用方式

方法1:直接运行
以管理员身份打开CMD,粘贴命令执行

方法2:PowerShell

powershell
# 以管理员身份运行PowerShell
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Secureboot" /v AvailableUpdates /t REG_DWORD /d 0x10 /f

方法3:批处理文件

batch
@echo off
echo 正在配置安全启动设置...
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Secureboot" /v AvailableUpdates /t REG_DWORD /d 0x10 /f
if %errorlevel% equ 0 (
    echo 配置成功!
) else (
    echo 配置失败,请以管理员身份运行。
)
pause

验证操作

执行后可以验证设置:

cmd
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Secureboot" /v AvailableUpdates
应用对象
 
 

简介

2024 年 2 月 13 日及之后发布的 Windows 更新包括将 Windows UEFI CA 2023 证书应用于 UEFI 安全启动允许签名数据库 (DB) 。 更新数据库将使设备能够接收将来的启动加载程序更新,这些更新包含在每月更新中。

这一点很重要,因为现有证书将过期,移动到新证书是准备设备以使用即将使用新证书进行加密签名的启动加载程序更新的第一步。

已知对 DB 的更新与某些设备存在兼容性问题。 为了简化到 Windows 设备的推出,DB 更新不会自动应用。 对于企业环境,请务必在对环境中存在的代表性设备进行仔细验证后,控制更新的推出,以避免出现任何中断。

有关详细说明,请参阅 更新 Microsoft 安全启动密钥。

采取操作

按照更新 Microsoft 安全启动密钥中提供的部署指南,将 DB 更新部署到具有代表性的示例测试设备。

测试设备成功更新 DB 后,应安全地将数据库更新部署到具有相同硬件和固件配置的设备。 为此,可以使用部署软件(如组策略或移动设备管理 (MDM) )设置以下注册表项:

注册表路径: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot

名字: AvailableUpdates

值: 0x40

重启设备后,应更新数据库。 在某些情况下,可能需要第二次重启。


reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Secureboot /v AvailableUpdates /t REG_DWORD /d 0x10 /f 

命令是用于在注册表中添加一个名为 "AvailableUpdates" 的 DWORD 值,并将其设置为十六进制值 "0x10"。此操作需要管理员权限才能执行。

这个命令的作用是向以下注册表路径添加一个新的键值对:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Secureboot

键名称:AvailableUpdates
键类型:REG_DWORD
键值数据:0x10
请注意,使用 /f 参数可以强制执行命令,即使可能存在冲突或警告。在更改注册表之前,请确保你了解相应区域的功能和后果,以避免不必要的问题。同时,为了避免对系统稳定性和安全性造成风险,建议在对注册表进行修改之前备份注册表或创建系统还原点。

 

这个命令的作用是在注册表中创建一个键值对,具体作用如下:

路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Secureboot

键名称:AvailableUpdates

键类型:REG_DWORD

键值数据:0x10

Secure Boot 是一项安全功能,旨在保护计算机免受恶意软件和未经授权的操作系统启动的攻击。在某些情况下,可能需要配置 Secure Boot 的行为,以满足特定的需求。

上述命令将在 Secureboot 注册表路径下创建一个名为 "AvailableUpdates" 的 DWORD 键,并将其设置为十六进制值 "0x10"。具体来说,这个键值对的含义取决于实际使用情况。

通过此命令,你可以向 Secureboot 注册表路径添加一个自定义的键值对,来定制和配置 Secure Boot 的行为。请注意,在修改注册表之前,请确保你了解相应区域的功能和后果,并且具备管理员权限,以避免不必要的问题。同时,为了保证系统的稳定性和安全性,建议在对注册表进行修改之前备份注册表或创建系统还原点。


 

posted @ 2023-06-27 16:11  suv789  阅读(1468)  评论(0)    收藏  举报