3. 硬件信任根
在多阶段安全启动体系中,软件信任链必须锚定在一个不可被远程篡改的物理起点上,这个起点就是硬件信任根(Hardware Root of Trust, HRoT)。它通常由一段固化在只读存储中的启动代码(RTS)、一个不可导出的密钥和一组受保护的执行环境组成。理解 TPM、TEE、HSM、PUF 与安全芯片的差异,是做出正确选型的前提。
一、核心原理:五类硬件信任根的能力边界
这五类技术并非互相替代,而是处于不同层次、解决不同问题:
- TPM(可信平台模块):以离散芯片或固件形式提供度量、存储、报告三大能力。它通过 PCR 寄存器累积哈希值,实现平台状态的可信度量与远程证明,但本身不执行应用逻辑。
- TEE(可信执行环境):在 CPU 内部划分出与富操作系统隔离的安全世界,如 ARM TrustZone、Intel SGX。它提供运行时隔离,适合承载密钥运算与敏感业务,但依赖 CPU 厂商实现。
- HSM(硬件安全模块):面向密钥全生命周期管理的高安全设备,具备防拆、防侧信道、密钥永不外泄等特性,常用于服务器端签名、加密与证书签发。
- PUF(物理不可克隆函数):利用芯片制造过程中不可复制的微观差异生成唯一指纹,可现场派生密钥而无需存储密钥,天然抵抗密钥提取。
- 安全芯片(Secure Element / SE):集成了安全 CPU、加密引擎、安全存储与防攻击传感器的独立芯片,常作为设备身份与支付级密钥的载体。
核心区别:TPM 解决“平台是否可信”,TEE 解决“代码在哪运行”,HSM 解决“密钥如何被安全托管”,PUF 解决“密钥从哪来”,安全芯片解决“身份如何被物理保护”。
二、方法流程:从信任根到可信启动的锚定过程
硬件信任根参与安全启动的典型流程如下:
- 上电复位:CPU 从固化 ROM 取指,执行 RTS 代码,此时信任根开始工作。
- 密钥派生:若采用 PUF,则通过 SRAM 上电模式或仲裁器延迟链生成设备唯一种子,经纠错后派生根密钥。
- 身份认证:安全芯片使用内部私钥对首级引导程序签名进行验签,确认固件来源合法。
- 度量扩展:TPM 将各级固件哈希写入 PCR,形成不可逆的度量日志。
- 安全世界切换:TEE 在富系统启动前建立安全分区,承载后续密钥运算与敏感服务。
- 远程证明:平台将 PCR 值与签名后的 Quote 发送给验证方,完成可信状态核验。
# 以 TPM 2.0 为例,读取 PCR 0 的度量值
tpm2_pcrread sha256:0
# 输出示例
sha256:
0 : 0x9F2C4A1B7E8D3F5A6C0B1D2E3F4A5B6C7D8E9F0A1B2C3D4E5F6A7B8C9D0E1F2
# 生成 Quote 远程证明
tpm2_quote -c 0x81010001 -l sha256:0,1,2,3 -q "challenge-nonce" -m quote.msg -s quote.sig
三、案例场景:不同设备的选型实践
| 设备类型 | 推荐信任根组合 | 理由 |
|---|---|---|
| 工业网关 | TPM 2.0 + 安全芯片 | 需要远程证明与设备证书,环境温度范围宽,需防拆 |
| 智能手机 | TEE + 安全芯片 | 兼顾性能与支付级安全,TEE 承载生物识别与 DRM |
| 低功耗 IoT 传感器 | PUF + 轻量安全芯片 | 成本敏感、无电池更换,PUF 免存储密钥降低攻击面 |
| 云端密钥服务 | HSM 集群 | 高吞吐签名、密钥永不导出、满足合规审计 |
| 车载域控制器 | HSM + TEE + 安全芯片 | 功能安全与信息安全双重要求,需满足 ISO 21434 |
四、误区与复盘
常见误区一:把 TEE 当作信任根。 TEE 本身依赖 CPU 微码与安全启动链,若其加载过程未被度量,TEE 内部代码仍可能被替换。TEE 是信任链的承载者,而非起点。
常见误区二:认为 PUF 可以完全替代密钥存储。 PUF 输出存在噪声与温漂,必须配合纠错码(ECC)与模糊提取器使用,且首次注册阶段仍需安全环境。PUF 适合派生密钥,不适合直接作为长期密钥。
选型复盘清单:
- 是否需要远程证明?需要则优先 TPM 或支持 Device ID 的安全芯片。
- 密钥是否允许导出?不允许则选 HSM 或 SE。
- 是否有物理攻击风险?有则关注防拆传感器与侧信道防护等级。
- 成本与功耗预算是否允许独立安全芯片?受限则考虑 PUF + TEE 组合。
- 合规要求是什么?金融选 FIPS 140-3,车规选 ISO 21434 与 CC EAL。
硬件信任根的选择没有唯一答案,关键在于明确威胁模型与合规边界。TPM 提供平台度量与证明,TEE 提供运行时隔离,HSM 提供密钥托管,PUF 提供无存储密钥派生,安全芯片提供物理防护与身份载体。实际系统中往往需要组合使用,才能构建从硅片到应用的完整信任链。