2. NVIDIA DRIVE平台硬件信任根
在 NVIDIA DRIVE 这类车载计算平台上,安全启动不是从操作系统开始的,而是从芯片上电那一刻就已经开始。硬件信任根(Hardware Root of Trust,HRoT)是整个信任链的起点,它由芯片内部不可修改或极难篡改的硬件模块、一次性可编程熔丝以及受保护的密钥存储共同构成。理解这些组件的具体实现,是后续配置安全启动、烧录密钥、验证镜像签名的基础。
BootROM:不可变的信任起点
DRIVE 平台的主 SoC 内部集成了一段固化在只读存储器中的启动代码,称为 BootROM。它在芯片复位后最先执行,负责初始化最基础的时钟、内存控制器和启动介质接口,然后从预定义的启动设备(如 QSPI Flash、eMMC 或 UFS)加载第一阶段引导程序。BootROM 的代码在芯片制造时就已经确定,运行时不可修改,也不接受任何外部写入。这意味着攻击者无法通过软件手段篡改 BootROM 的行为,它天然成为信任链的锚点。
BootROM 在加载下一阶段镜像之前,会先检查该镜像的签名。签名验证使用的公钥哈希(Public Key Hash,PKH)存储在芯片的一次性可编程熔丝中。如果镜像签名与熔丝中记录的 PKH 不匹配,BootROM 会拒绝继续启动,芯片进入不可恢复的停止状态。这个判断发生在任何可写存储介质被信任之前,因此即使外部 Flash 被替换或篡改,BootROM 也不会执行恶意代码。
一次性可编程熔丝:信任的物理锚定
DRIVE 芯片内部有一组一次性可编程(One-Time Programmable,OTP)熔丝。这些熔丝在出厂时处于未编程状态,一旦烧录就无法恢复。熔丝中通常包含以下关键字段:
- 安全启动使能位:置位后,BootROM 强制要求所有启动镜像必须经过签名验证,无法回退到未签名启动模式。
- 公钥哈希(PKH):存储根公钥的 SHA-256 哈希值,BootROM 用它与镜像签名证书中的公钥进行比对。
- 设备唯一密钥(Device Unique Key):部分 DRIVE 型号会在熔丝中烧录每颗芯片独有的密钥材料,用于派生设备身份密钥或解密设备绑定的固件。
- 调试接口锁定位:控制 JTAG 等调试接口在量产模式下是否可用,防止通过物理调试口读取内部密钥或绕过安全启动。
- 生命周期状态位:标识芯片处于开发、量产还是返修状态,不同状态下 BootROM 的安全策略不同。
熔丝的烧录通常在产线完成,属于不可逆操作。工程实践中,PKH 的烧录必须与签名密钥的生成、备份和保管流程严格配合。一旦烧录了错误的 PKH,芯片将无法启动正确的镜像,只能报废。因此,在批量烧录前,通常先在少量样片上验证完整的签名和启动流程。
硬件安全模块与密钥存储
DRIVE 平台集成了硬件安全模块(Hardware Security Module,HSM),有时也称为安全引擎或密码加速器。HSM 提供以下能力:
- 对称加密(AES-128/256)和非对称签名验证(ECDSA P-256/P-384、RSA-2048/3072/4096)。
- 真随机数生成器(TRNG),用于生成会话密钥和初始化向量。
- 安全密钥存储:密钥可以存储在 HSM 内部的受保护密钥槽中,外部软件无法直接读取明文密钥,只能通过 HSM 提供的接口使用密钥进行签名或解密操作。
- 安全启动过程中的镜像哈希计算和签名验证加速。
密钥存储是信任链得以延续的关键。根公钥的哈希烧录在 OTP 熔丝中,而根私钥则保存在离线签名服务器或硬件安全模块中,绝不出现在车辆或开发板上。BootROM 使用熔丝中的 PKH 验证第一阶段引导程序(如 NVIDIA 提供的 MB1)的签名,MB1 验证通过后,再由 MB1 验证后续阶段(如 MB2、UEFI、操作系统加载器)的签名。每一阶段的公钥或公钥哈希通常打包在上一阶段签名的证书中,形成逐级授权的信任链。
信任链的逐级传递与工程要点
信任链的传递逻辑可以概括为:BootROM 使用 OTP 熔丝中的 PKH 验证 MB1 镜像的签名;MB1 验证通过后,使用自身证书中携带的公钥验证 MB2;MB2 再验证 UEFI 或操作系统加载器。每一级验证都包含镜像哈希计算和签名校验两个步骤,哈希算法通常为 SHA-256 或 SHA-384,签名算法为 ECDSA P-256 或 RSA-3072。如果任何一级验证失败,启动流程立即终止,芯片不会执行未通过验证的代码。
在实际工程中,有几个关键点需要特别注意。第一,PKH 的烧录必须与签名密钥严格对应,建议在烧录前用脚本自动计算公钥哈希并与预期值比对。第二,OTP 熔丝烧录后不可逆,量产前应在工程样片上完成完整的“烧录—签名—启动—验证”闭环。第三,HSM 中的密钥槽一旦写入,外部无法读出明文,密钥备份必须在写入前完成,否则密钥丢失将导致无法生成可被芯片接受的签名镜像。第四,调试接口锁定位应在量产固件中置位,防止通过 JTAG 读取内部密钥或绕过 BootROM 验证。
总结来说,NVIDIA DRIVE 平台的硬件信任根由 BootROM、OTP 熔丝、HSM 和密钥存储四部分协同构成。BootROM 提供不可变的执行起点,OTP 熔丝将信任锚定在物理硬件上,HSM 提供密码运算和密钥保护,密钥存储层次则确保根私钥永不暴露在车辆端。四者结合,形成了从芯片上电到操作系统加载的完整信任链,为后续的安全启动配置、镜像签名和密钥管理提供了硬件级的基础保障。