4. 设备可信根
在PSA安全架构中,设备可信根(Root of Trust, RoT)是整个信任链的起点。它是一组最小化、不可篡改、可被验证的硬件与软件组件集合,负责在设备启动和运行过程中提供初始可信状态。没有可信根,后续的度量、验证、授权和隔离机制都将失去锚点。理解RoT的定义、分类及其软硬件形态的差异与联系,是构建可信设备工程的第一道门槛。
一、可信根的定义与核心属性
可信根(RoT)是指设备中一组被无条件信任的组件,其行为必须始终符合预期,且无法被未授权修改。它通常由不可变的硬件逻辑、固化在只读存储器中的代码以及受保护的密钥材料组成。RoT的核心属性包括:
- 不可变性:可信根代码和配置在制造后不可更改,或只能通过受控的、可审计的方式更新。
- 最小化:可信根的功能应尽可能少,以降低攻击面,便于形式化验证。
- 可验证性:可信根能够提供密码学证据,证明自身和后续加载组件的完整性。
- 唯一性:每个设备拥有唯一的身份密钥或标识,防止克隆和伪造。
在PSA规范中,RoT被进一步细分为可信根硬件(RoT-H)和可信根软件(RoT-S),二者共同构成设备的安全基础。
二、可信根的分类
根据实现形态和信任来源,可信根可分为以下几类:
| 分类 | 典型实现 | 信任来源 | 适用场景 |
|---|---|---|---|
| 硬件可信根(HRoT) | 安全芯片、TPM、TEE、PUF、ROM Boot | 物理不可克隆特性、固化逻辑 | 高安全等级设备、支付终端、车规芯片 |
| 软件可信根(SRoT) | Boot ROM代码、安全启动固件、可信固件 | 代码签名、哈希校验、只读存储 | 成本敏感型IoT设备、通用嵌入式系统 |
| 混合可信根 | HRoT+SRoT组合,如PSA RoT | 硬件提供锚点,软件扩展信任 | PSA认证设备、多核异构系统 |
硬件可信根通常以物理隔离的协处理器、安全元件或不可变ROM形式存在,提供密钥存储、加解密引擎和真随机数发生器。软件可信根则依赖只读存储器中的引导代码和数字签名机制,在硬件提供的安全执行环境之上建立信任。
三、硬件可信根与软件可信根的区别与联系
硬件可信根与软件可信根并非对立关系,而是信任链中不同层次的实现。二者的主要区别如下:
- 信任锚点不同:HRoT的信任来源于物理特性(如PUF的不可克隆性)或固化逻辑,SRoT的信任来源于密码学签名和只读存储的不可写性。
- 抗攻击能力不同:HRoT能抵抗物理探测、侧信道攻击和故障注入;SRoT主要抵抗软件篡改和远程攻击,对物理攻击的防护依赖底层硬件。
- 灵活性与成本不同:SRoT可通过固件更新修复漏洞,成本较低;HRoT更新困难,但安全性更高,适合长期部署。
- 启动顺序不同:HRoT通常先于SRoT执行,为SRoT提供安全执行环境和密钥服务;SRoT在HRoT建立的信任基础上加载操作系统和应用。
二者的联系体现在信任链的传递上:HRoT作为信任锚,验证并加载SRoT;SRoT再验证后续的引导加载程序、操作系统内核和应用程序。PSA规范要求,无论HRoT还是SRoT,都必须具备不可篡改的初始状态和可验证的更新机制。在实际工程中,常见的做法是将HRoT用于存储设备唯一密钥和根证书,SRoT用于实现安全启动和运行时度量。
核心原则:可信根必须是最小且不可变的。任何试图在可信根中增加功能的行为,都会扩大攻击面,违背PSA安全架构的最小权限原则。
四、典型场景与工程案例
以一款支持PSA认证的物联网网关为例,其可信根设计如下:
设备上电
↓
HRoT:安全芯片(含PUF)生成设备唯一密钥,验证Boot ROM哈希
↓
SRoT:Boot ROM加载并验证可信固件(TF-M)签名
↓
TF-M验证引导加载程序(BL2)签名
↓
BL2验证操作系统内核签名
↓
内核验证应用程序签名
↓
运行时:TEE隔离安全服务,RoT提供密钥和度量服务
在该案例中,HRoT提供了不可克隆的设备身份和密钥存储,SRoT实现了可更新的安全启动链。如果SRoT的签名验证失败,设备将进入恢复模式或拒绝启动,从而防止恶意固件运行。
实践提示:在设计RoT时,应优先使用硬件安全模块或安全芯片作为HRoT,即使成本受限,也应确保SRoT的只读存储区域不可被外部调试接口改写。
五、常见误区与复盘
在设备可信根工程中,以下误区需要警惕:
- 误区一:将普通Flash中的引导代码视为可信根。如果Flash可被外部编程器改写,则引导代码不具备不可变性,不能作为可信根。
- 误区二:认为软件可信根不需要硬件保护。SRoT的签名验证密钥若存储在可读存储器中,攻击者可替换密钥,信任链即被破坏。
- 误区三:忽略可信根的更新机制。可信根并非永远不更新,而是更新必须经过严格授权和验证,且更新过程本身应可审计。
- 误区四:混淆可信根与可信执行环境。TEE是运行环境,不是可信根;可信根是TEE的信任来源,二者层次不同。
复盘上述误区,核心在于理解可信根的本质:它是信任的起点,必须同时满足不可变、最小化、可验证和唯一性。硬件可信根提供物理锚点,软件可信根提供灵活扩展,二者协同才能构建完整的设备信任链。
通过上述结构图可以清晰看到,硬件可信根位于信任链的最底层,为软件可信根提供物理锚点和密钥服务;软件可信根在硬件基础上完成签名验证和度量扩展,最终将信任传递给操作系统和应用。二者缺一不可,共同构成PSA设备可信工程的基石。