3. 嵌入式安全基础
在嵌入式密钥系统的量产交付中,安全能力并不是单一功能,而是一组由硬件、固件、密钥与运行环境共同构成的信任基础。理解安全启动、安全存储、可信执行环境、硬件安全模块和物理不可克隆函数这几个基本概念,是后续设计密钥注入、产线烧录、设备身份认证和生命周期管理的前提。它们分别解决“启动代码是否可信”“密钥是否安全保存”“敏感计算是否隔离”“密码运算是否受保护”以及“设备身份是否可唯一识别”等问题。
核心原理:从信任根到可信执行
嵌入式安全的核心思想是建立一条从不可变硬件到应用层的信任链。设备上电后,最先运行的代码必须来自不可篡改的区域,通常称为信任根。信任根验证下一级引导程序,引导程序再验证操作系统或应用固件,逐级传递信任,这就是安全启动。安全启动解决的是完整性与真实性:每一级镜像在加载前都要校验数字签名或哈希值,只有验证通过才允许执行。
安全存储则解决密钥和敏感数据的保密性与完整性。密钥不能以明文形式放在普通 Flash 中,而应保存在受保护的密钥区、加密文件系统或安全元件内。常见做法包括使用设备唯一密钥加密数据、使用消息认证码防篡改,以及将密钥与访问策略绑定。可信执行环境(TEE)在处理器内部划分出安全世界与普通世界,敏感操作在安全世界中执行,普通应用无法直接读取其内存和密钥。硬件安全模块(HSM)则是更强的专用密码设备,提供密钥生成、签名、加密、随机数生成和访问控制。物理不可克隆函数(PUF)利用芯片制造过程中不可复制的微观差异生成设备唯一指纹,可用于派生密钥,避免密钥长期静态存储。
方法流程:量产交付中的安全启动与密钥注入
在量产场景中,安全启动通常与密钥注入配合使用。典型流程如下:
- 芯片出厂时烧录信任根公钥哈希或启用安全熔丝,锁定启动模式。
- 产线工具通过安全通道将设备密钥、证书和配置写入安全存储区。
- 设备首次启动时,BootROM 校验 Bootloader 签名,Bootloader 校验系统镜像。
- 系统启动后,TEE 或 HSM 接管密钥运算,应用只能通过受控接口请求签名或解密。
- PUF 在需要时派生设备唯一密钥,用于加密本地数据或生成设备身份证书。
下面是一个安全启动校验的伪代码示例,用于说明逐级验证关系:
// 安全启动逐级校验伪代码
bool secure_boot_chain(void) {
if (!verify_signature(BOOTROM_PUBKEY_HASH, bootloader_img)) {
return false; // 引导程序签名无效,停止启动
}
if (!verify_signature(bootloader_pubkey, os_image)) {
return false; // 系统镜像签名无效
}
if (!verify_signature(os_pubkey, app_image)) {
return false; // 应用镜像签名无效
}
return true; // 信任链建立成功
}
案例/场景:智能电表的安全启动与密钥保护
以智能电表为例,设备需要定期上报用电数据并接收远程控制指令。若攻击者替换固件,可能篡改计量数据或伪造控制响应。采用安全启动后,电表上电时先由 BootROM 验证 Bootloader,再验证计量应用。密钥存储在安全存储区,并由 HSM 或 TEE 执行签名操作。PUF 用于生成设备唯一身份,使每台电表拥有不可复制的密钥种子。即使攻击者读取外部 Flash,也无法获得明文密钥。产线注入时,每台设备的密钥由 HSM 生成并加密传输,注入完成后立即锁定调试接口。
误区与复盘:常见安全基础认知偏差
误区一:安全启动等于安全存储。安全启动只保证运行代码可信,不保证密钥不被读取。密钥仍需安全存储、TEE 或 HSM 保护。
误区二:PUF 可以替代所有密钥存储。PUF 适合派生设备唯一密钥,但并非所有场景都能稳定输出,需要纠错和模糊提取器配合。
误区三:启用 TEE 后应用自动安全。TEE 只提供隔离环境,安全世界内部的服务接口仍需严格设计和权限控制。
| 安全能力 | 解决的问题 | 典型实现 | 量产关注点 |
|---|---|---|---|
| 安全启动 | 固件完整性与真实性 | BootROM、签名校验、信任链 | 熔丝烧录、镜像签名、回滚策略 |
| 安全存储 | 密钥保密与防篡改 | 加密密钥区、安全文件系统 | 密钥注入、访问策略、掉电保护 |
| 可信执行环境 | 敏感计算隔离 | 安全世界、TrustZone、TEE OS | 安全服务接口、调试关闭 |
| 硬件安全模块 | 密码运算与密钥生命周期 | HSM、安全芯片、密码协处理器 | 密钥生成、签名速率、审计日志 |
| 物理不可克隆函数 | 设备唯一身份与密钥派生 | SRAM PUF、仲裁器 PUF | 稳定性、纠错、环境适应性 |
在嵌入式密钥系统量产交付中,建议把安全启动、安全存储、TEE、HSM 和 PUF 视为一个整体信任体系:安全启动建立运行信任,安全存储和 HSM 保护密钥,TEE 隔离敏感计算,PUF 提供设备唯一性。只有这些能力协同工作,才能支撑后续密钥注入、设备认证和生命周期管理。