前情提要:
当初UEFI安全引导规范指定的时候,大家都在头疼让谁去维护安全引导根证书。
微软:我是UEFI论坛成员,我来?
然后大家欢天喜地的同意了微软作为UEFI安全引导根证书颁发者和维护者,然后……当初的UEFI安全引导根证书再有两年
微软在2024年2月发布了一个奇怪的更新,这个更新提到了升级微软内置在UEFI固件中的安全引导根证书。
技术背景么……最初的UEFI安全引导根证书是2011年发布的,一共三个根证书:
1.Microsoft Corporation KEK CA 2011(KEK:第三方密钥交换密钥,平台制造商生成平台密钥PK,PK签署信任KEK,KEK用于签署安全引导可信根证书,这是个看起来很美实则难以言说的链条)
2.Microsoft Windows Production PCA 2011(用于签署Windows相关的东西,比如引导加载器和Windows组件)
3.Microsoft UEFI CA 2011(微软第三方合作伙伴UEFI根证书,用于签发微软的合作伙伴、第三方需要支持安全引导的厂商的证书,比如Linux就是用UEFI CA签署的安全引导证书)
但是,这三个根证书都将在2026年到期:如果不执行更新(升级为2023 KEK和2023 DB),那么到了2026年的某天,所有启用了安全引导的电脑将不能启动任何操作系统,甚至是硬件(因为安全引导也会同时验证第三方硬件的固件是否被签名)。
那么如何升级UEFI安全引导证书呢?
非常好问题:首先,你需要有一个装了2024-02安全更新的Windows,其次,按照下面的操作开始。
第零步:如果你开启了Bitlocker,麻烦你暂停一下Bitlocker保护(顺带检查一下备份密钥有没有丢,不然到时候被Bitlocker拒之门外你就囧死了)。
第一步:在Powershell下执行这两条命令
Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot” -Name “AvailableUpdates” -Value 0x40
Start-ScheduledTask -TaskName “\Microsoft\Windows\PI\Secure-Boot-Update”
第二步:重启你的电脑两次,确保你的电脑真的应用了2023根证书更新。
(如果你遵守第零步暂停了Bitlocker,那么第一次重启后麻烦进Bitlocker管理再暂停一次)
第三步:完成后,执行以下命令
[System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match 'Windows UEFI CA 2023'
如果返回“True”,恭喜你,你成功安装了新的UEFI安全引导根证书!
有些人可能要问我,我执行了这些命令,但是奇怪的是安装失败没有任何变化该怎么办?
这问题有两个原因:
1.你的Windows引导程序使用老旧的2011根证书签名,请升级你的WinDOS(我没打错字)。
2.你的主板有那么一些奇葩操作,比如有些主板会恶意的锁死安全引导数据库,此问题重买就可以解决了!
还有些天才会问:我手动导入不就可以了?
那我带大家复习一下安全引导链条:
1.平台制造商(板厂?)生成出一个PK(平台密钥),PK用于验证主板固件和接下来的KEK。
2.平台制造商使用PK签名KEK(第三方密钥交换密钥),KEK是微软的Microsoft Corporation KEK CA。
3.Microsoft Corporation KEK CA 签名和信任Microsoft Windows Production PCA和Microsoft UEFI CA。
因此,如果你试图自行导入这三个新证书解决问题,那么……PK不信任你的KEK,你剩下来的那两个根证书也自然不会被信任。你自己只能操作DB(安全引导可信数据库)部分,操纵不了KEK和PK(摊手)。
有人可能会试图重新签发PK来完成这个操作,但是,PK只能存在这一个,而如果PK被更换,你的主板固件不是你的PK签名的……
当初UEFI安全引导规范指定的时候,大家都在头疼让谁去维护安全引导根证书。
微软:我是UEFI论坛成员,我来?
然后大家欢天喜地的同意了微软作为UEFI安全引导根证书颁发者和维护者,然后……当初的UEFI安全引导根证书再有两年
微软在2024年2月发布了一个奇怪的更新,这个更新提到了升级微软内置在UEFI固件中的安全引导根证书。
技术背景么……最初的UEFI安全引导根证书是2011年发布的,一共三个根证书:
1.Microsoft Corporation KEK CA 2011(KEK:第三方密钥交换密钥,平台制造商生成平台密钥PK,PK签署信任KEK,KEK用于签署安全引导可信根证书,这是个看起来很美实则难以言说的链条)
2.Microsoft Windows Production PCA 2011(用于签署Windows相关的东西,比如引导加载器和Windows组件)
3.Microsoft UEFI CA 2011(微软第三方合作伙伴UEFI根证书,用于签发微软的合作伙伴、第三方需要支持安全引导的厂商的证书,比如Linux就是用UEFI CA签署的安全引导证书)
但是,这三个根证书都将在2026年到期:如果不执行更新(升级为2023 KEK和2023 DB),那么到了2026年的某天,所有启用了安全引导的电脑将不能启动任何操作系统,甚至是硬件(因为安全引导也会同时验证第三方硬件的固件是否被签名)。
那么如何升级UEFI安全引导证书呢?
非常好问题:首先,你需要有一个装了2024-02安全更新的Windows,其次,按照下面的操作开始。
第零步:如果你开启了Bitlocker,麻烦你暂停一下Bitlocker保护(顺带检查一下备份密钥有没有丢,不然到时候被Bitlocker拒之门外你就囧死了)。
第一步:在Powershell下执行这两条命令
Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot” -Name “AvailableUpdates” -Value 0x40
Start-ScheduledTask -TaskName “\Microsoft\Windows\PI\Secure-Boot-Update”
第二步:重启你的电脑两次,确保你的电脑真的应用了2023根证书更新。
(如果你遵守第零步暂停了Bitlocker,那么第一次重启后麻烦进Bitlocker管理再暂停一次)
第三步:完成后,执行以下命令
[System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match 'Windows UEFI CA 2023'
如果返回“True”,恭喜你,你成功安装了新的UEFI安全引导根证书!
有些人可能要问我,我执行了这些命令,但是奇怪的是安装失败没有任何变化该怎么办?
这问题有两个原因:
1.你的Windows引导程序使用老旧的2011根证书签名,请升级你的WinDOS(我没打错字)。
2.你的主板有那么一些奇葩操作,比如有些主板会恶意的锁死安全引导数据库,此问题重买就可以解决了!
还有些天才会问:我手动导入不就可以了?
那我带大家复习一下安全引导链条:
1.平台制造商(板厂?)生成出一个PK(平台密钥),PK用于验证主板固件和接下来的KEK。
2.平台制造商使用PK签名KEK(第三方密钥交换密钥),KEK是微软的Microsoft Corporation KEK CA。
3.Microsoft Corporation KEK CA 签名和信任Microsoft Windows Production PCA和Microsoft UEFI CA。
因此,如果你试图自行导入这三个新证书解决问题,那么……PK不信任你的KEK,你剩下来的那两个根证书也自然不会被信任。你自己只能操作DB(安全引导可信数据库)部分,操纵不了KEK和PK(摊手)。
有人可能会试图重新签发PK来完成这个操作,但是,PK只能存在这一个,而如果PK被更换,你的主板固件不是你的PK签名的……
文章来源:
网络小编D
版权声明:
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站立刻删除。
