《安全启动验证方法实操课程》
第4章 信任根(RoT)
4. 信任根(RoT):硬件信任根(TPM、HSM)与软件信任根的概念
信任根(Root of Trust, RoT)是安全启动链中最底层、最不可篡改的信任锚点。整个系统的安全都建立在这个微小但坚固的基石之上。根据实现方式的不同,信任根主要分为硬件信任根和软件信任根两大类。
4.1 硬件信任根(Hardware RoT)
硬件信任根是指将信任锚点固化在物理芯片中,通过硬件机制保证其不可篡改性。常见的硬件信任根实现包括TPM(可信平台模块)和HSM(硬件安全模块)。
| 特性 | TPM(可信平台模块) | HSM(硬件安全模块) |
|---|---|---|
| 核心功能 | 平台完整性度量与报告 | 密钥管理与加密运算加速 |
| 密钥存储 | 内部非易失性存储器(NV RAM) | 专用安全存储区(防物理攻击) |
| 典型应用 | PC、服务器、IoT设备 | 金融系统、PKI基础设施、车联网 |
| 安全等级 | 中高(防软件攻击) | 高(防物理与侧信道攻击) |
| 成本 | 较低(集成在芯片组中) | 较高(独立专用芯片) |
4.2 软件信任根(Software RoT)
软件信任根是指将信任锚点建立在固件或软件代码中,通常利用芯片内置的不可变存储(如ROM)来存放初始验证代码。虽然称为"软件",但其载体通常是硬件只读存储器。
软件信任根的关键特征:
- 不可变性:代码固化在ROM中,出厂后无法修改
- 最小化:仅包含最必要的验证逻辑,减少攻击面
- 可验证性:通过数字签名链逐级验证后续代码
- 低成本:无需额外安全芯片,适合资源受限设备
4.3 硬件信任根 vs 软件信任根对比
| 对比维度 | 硬件信任根(TPM/HSM) | 软件信任根(ROM Code) |
|---|---|---|
| 物理隔离 | 独立芯片,与主处理器隔离 | 集成在主SoC内部 |
| 防物理攻击 | 强(有防篡改封装) | 弱(依赖芯片封装) |
| 密钥存储 | 专用安全存储区 | 一次性可编程熔丝(eFuse) |
| 性能开销 | 中等(通过专用总线通信) | 低(直接内存访问) |
| 灵活性 | 高(可更新固件) | 低(ROM不可修改) |
| 典型场景 | 高安全要求的服务器、金融设备 | 嵌入式设备、消费电子 |
4.4 实践建议:如何选择信任根方案
🔹 对于高安全要求的系统
建议采用硬件信任根 + 软件信任根的组合方案。使用TPM/HSM存储核心密钥,同时利用ROM代码进行初始验证,形成纵深防御体系。
🔹 对于成本敏感的设备
可以采用纯软件信任根方案,利用SoC内置的ROM和eFuse实现安全启动。注意要确保ROM代码经过严格的安全审计。
🔹 对于IoT设备
推荐使用集成式硬件信任根,如支持安全启动的MCU(如STM32 TrustZone、NXP i.MX HAB),在单芯片内实现硬件级隔离。
📌 核心要点回顾
- 信任根是安全启动链的基石,必须保证其不可篡改性
- 硬件信任根(TPM/HSM)提供更强的物理安全保护,但成本较高
- 软件信任根(ROM Code)成本低、性能好,但防物理攻击能力较弱
- 实际项目中常采用混合方案,在成本和安全之间取得平衡
- 无论选择哪种方案,密钥管理和代码签名流程都至关重要