如何看待戴尔外星人 R10 主机新版 BIOS 疑似「静默启用」 AMD PSB 绑定用户 CPU?
BIOS工程师来回答一下。先说结论:技术是中性的,PSB本身没问题,但Dell的产品策略真的有问题。PSB 和 Intel Boot Guard 本质上都是 TCG 规范下的硬件可信根技术,设计目标是防止固件篡改,"锁 CPU" 是架构选择带来的副作用,而非设计目的。
可信计算组织(TCG)定义的硬件可信根(Hardware Root of Trust),是整个系统安全信任链的起点。它的核心逻辑是:在芯片出厂时就固化一段不可篡改的 ROM 代码和密钥,系统上电后首先执行这段代码,逐级验证下一级固件的数字签名,确保每一步加载的都是经过授权的代码,从而抵御 BIOS 级别的 rootkit、bootkit 等底层攻击。
技术解析
AMD PSB(Platform Secure Boot,平台安全启动)和 Intel Boot Guard 都是这一理念的工业界实现,两者同属静态可信根(S-RTM) 范畴 —— 即信任链从系统上电的第一刻就开始建立。他们的目标都是:
- 防止攻击者通过刷写恶意 BIOS、替换 SPI Flash 芯片等方式植入持久化后门
- 为 UEFI Secure Boot 提供硬件级的信任锚点
- 保护企业 / 数据中心设备的固件完整性
具体实现上,现代 AMD CPU(无论Server还是Client), 内部都集成了一个独立的Platform Security Processor(PSP),这是一颗 ARM Cortex-A5 架构的安全协处理器,运行在独立的时钟域和电源域上,比 x86 核心更早启动、更晚关闭。它相当于 CPU 内部的 "安全管理员",全权掌管启动验证、密钥管理、内存加密等安全功能。可以类比的是Intel PCH中的CSME内核。
有了PSP后,整个启动安全链条大致是:
- 上电复位:系统通电后,x86 核心保持复位状态,PSP 首先从片内 ROM 启动
- 加载 PSP 固件:PSP 从主板 SPI Flash 中读取自身固件并验证签名
- 验证 BIOS 镜像:PSP 读取 SPI Flash 中的 UEFI BIOS 镜像,使用公钥验证其数字签名
- 释放 x86 复位:签名验证通过后,PSP 才会释放 x86 核心的复位信号,系统正常启动
- 验证失败:签名不匹配则直接拒绝启动,系统黑屏无输出
PSB 的信任锚存储在 CPU die 内部的eFuse(电子熔丝) 中 —— 这是一种真正的物理熔丝,通过大电流烧断来存储 0/1 信息,一次性编程,永久不可逆,没有任何软件或硬件手段可以恢复。
AMD CPU 出厂时,这些熔丝全部处于 "未烧录" 状态,此时 PSB 不强制校验,CPU 可以在任何兼容主板上使用。
当 CPU 第一次在开启了 PSB 的主板上上电时,PSP 会自动执行 fuse 操作:
- 将该 OEM 的 BIOS 签名公钥哈希烧入 CPU 的 eFuse
- 同时烧录 PSB 启用标志位
从此以后,这颗 CPU 的 PSP 在每次启动时,都会强制用 fuse 中的公钥去校验 BIOS 签名。
一些误解
我看很多回答是,PSB让CPU绑定在这个主板上了。根因是,很多人误以为 fuse 烧录的是单块主板的唯一 ID,这是不准确的。实际上,如上面所说,fuse的是BIOS的签名密钥对中的公钥。
OEM 厂商(如戴尔)会为同一条产品线使用同一套代码签名密钥。也就是说,所有外星人 R10 主板的 BIOS 都是用同一个私钥签名的,对应的公钥哈希也是同一个。因此: 被某块 R10 主板 "锁过" 的 CPU,插到另一块 R10 主板上依然可以正常工作,甚至有时候整个系列都是同一对密钥(不同OEM,密钥策略不同)。 如果插到其他系列的戴尔主板(密钥不同)、或者其他品牌的零售主板上,就会因为签名校验不通过而无法启动。这也解释了为什么 "锁 CPU" 更准确的说法是 "锁定到某 OEM 的某条产品线密钥"。
和Intel相同策略的比较
因为现在黑客都开始集中攻击固件,所以不仅AMD,Intel也推荐打开和AMD PSB类似的Boot Guard,尤其是商用机。
什么是Boot Guard?电脑启动中的信任链条解析那么为什么Intel平台很少听到这种抱怨?
这是整个事件最核心的技术背景。AMD 和 Intel 虽然做着同一件事(防固件篡改),但熔丝的物理位置选择完全不同,导致对终端用户的影响天差地别。
| 维度 | AMD PSB | Intel Boot Guard |
|---|---|---|
| 熔丝位置 | CPU die 内部(eFuse) | PCH / 南桥内部(FPF 场可编程熔丝) |
| 执行主体 | PSP(CPU 内的 ARM 核心) | ME/CSME(PCH 内的微控制器) + CPU 微码 |
| 验证入口 | PSP 直接用 fuse 中的公钥验证 BIOS | ACM 由 Intel 签名,再由 ACM 验证 OEM 密钥 |
| 可插拔部件 | CPU 可插拔 → 熔丝跟着 CPU 走 | PCH 焊死在主板上 → 熔丝跟着主板走 |
| 换 CPU 影响 | 换 CPU 就换了信任根,新 CPU 不受限 | 换 CPU 不影响,熔丝在主板上 |
| 换主板影响 | CPU 被锁定,只能用同密钥主板 | CPU 完全自由,插到哪都能用 |
Intel 的设计逻辑是: 固件是主板的一部分,安全绑定也应该跟主板走。PCH 焊死在主板上,普通用户根本不会去换 PCH 芯片,所以 Boot Guard 启用后,用户照常换 CPU、升级 CPU,完全感知不到这个机制的存在。
AMD 的设计逻辑是: 安全根放在 CPU 内部更难被物理篡改。但副作用就是 ——CPU 作为 PC 中最保值、流通性最强的部件之一,一旦被 fuse,二手价值大幅缩水。
所以,戴尔这次在 Alienware Aurora R10 上静默开启 PSB 引发众怒,完全是咎由自取。R10 作为游戏主机,官方宣传中明确支持用户自行升级 CPU。但 静默开启PSB 机制实质上削弱了 CPU 的通用性和残值 —— 用户买的 CPU 本来可以在任何 AM4 主板上使用,现在被永久限制在戴尔平台上。完全不符合R10的用户画像。安全技术的部署必须匹配场景、尊重用户。在消费级市场,一个会永久改变硬件属性、影响资产价值的功能,知情权和选择权应该是底线。戴尔的问题不在于用了 PSB,而在于用了不说、偷偷启用,把一个本该用户知情选择的安全选项,变成了单方面施加的既定事实。应该做的是,再这种游戏主机上,默认关闭PSB。
最后,被绑定的CPU可以解绑吗?我的理解是不行,Dell做不到,甚至AMD都做不到。What Done is Done.
