3. 嵌入式安全基础

在嵌入式系统中,安全启动、安全存储、可信执行环境(TEE)、硬件安全模块(HSM)与密钥管理并不是五个彼此独立的功能点,而是一条从“信任建立”到“密钥使用”再到“密钥保护”的完整链条。理解它们之间的关系,是后续设计密钥生命周期管理方案的基础。

一、核心原理:五者构成一条信任链

嵌入式设备上电后,最先运行的是不可篡改的引导代码。它用固化在芯片内的公钥或哈希值验证下一级引导程序的签名,验证通过后才把控制权交出去。这个过程就是安全启动,它解决的是“我运行的代码是不是被允许的”。

安全启动建立的是代码信任,而代码运行过程中需要读取密钥、证书、配置等敏感数据,这些数据必须被保护,这就是安全存储要解决的问题。安全存储通常依赖芯片内的一次性可编程存储、受保护闪存区或加密文件系统,保证密钥不被明文读出。

当系统需要同时运行普通业务和敏感操作时,可信执行环境提供隔离的执行空间。普通操作系统运行在非安全世界,密钥运算、身份认证等敏感操作运行在安全世界,两者通过受控接口通信。TEE 解决的是“敏感代码和普通代码如何共存而不互相污染”。

硬件安全模块则进一步把密钥的生成、存储和运算封装在独立硬件中。密钥永远不以明文形式离开 HSM,外部只能调用加解密、签名等接口。HSM 解决的是“即使主处理器被攻破,密钥仍然安全”。

而密钥管理是贯穿以上四者的主线:密钥在哪里生成、如何注入、如何存储、何时使用、如何轮换、如何销毁,每一步都要依赖安全启动、安全存储、TEE 和 HSM 提供的能力。

嵌入式安全基础五要素关系图 安全启动 建立代码信任根 逐级验签 安全存储 密钥密文保存 防读出防篡改 可信执行环境 安全/非安全隔离 敏感运算受控 硬件安全模块 密钥不出硬件 加解密/签名接口 密钥管理 生成/注入/轮换 使用/销毁 信任传递 密钥供给 调用硬件密钥服务 密钥策略执行 验签公钥 关系要点: 1. 安全启动建立信任根,为后续所有安全机制提供可信起点; 2. 安全存储保护密钥静态数据,TEE 保护密钥运行时环境,HSM 保护密钥运算过程; 3. 密钥管理贯穿全链路,决定密钥在哪个环节由哪个组件负责。

二、方法流程:从信任根到密钥使用的典型路径

以一个带安全启动和 HSM 的嵌入式网关为例,典型流程如下:

  1. 芯片上电,BootROM 用固化公钥验证一级引导程序签名,失败则停止启动。
  2. 一级引导程序验证二级引导程序,二级引导程序验证操作系统内核。
  3. 内核启动后,安全存储驱动从受保护区域读取设备密钥密文。
  4. 密钥解密操作在 TEE 或 HSM 内部完成,明文密钥不进入普通内存。
  5. 业务进程通过 TEE 或 HSM 提供的接口请求签名、解密等操作。
  6. 密钥管理策略决定何时轮换、何时吊销、何时销毁。
# 典型安全启动校验日志(示意)
[BOOTROM] verify stage1... OK
[BL1]     verify stage2... OK
[BL2]     verify kernel... OK
[TEE]     secure world init... OK
[HSM]     key slot 0 loaded, policy=sign-only
[KEYMGR]  key rotation check: next in 72h

三、案例/场景:智能门锁的密钥使用路径

智能门锁需要保存开锁密钥、设备证书和固件更新公钥。安全启动保证固件不被替换;安全存储把开锁密钥保存在受保护区域;TEE 负责在安全世界完成开锁鉴权;HSM 负责生成和保存设备私钥,并完成与云端的双向认证签名。密钥管理则规定:设备私钥不可导出,开锁密钥每 90 天轮换一次,固件更新公钥在出厂时注入且不可修改。

如果设备没有 HSM,也可以用 TEE 加安全存储实现类似效果,但密钥保护强度会下降。关键不是“有没有 HSM”,而是密钥是否在受控边界内使用。

四、误区与复盘

常见误区 问题本质 正确做法
做了安全启动就等于密钥安全 安全启动只保证代码可信,不保护密钥读取 安全启动 + 安全存储 + 密钥使用策略一起设计
把密钥明文放在文件系统里加密 解密密钥本身仍可能被读出 使用 HSM 或 TEE 内部密钥槽,密钥不出安全边界
TEE 里什么敏感操作都放 安全世界代码膨胀,攻击面增大 只把密钥运算、身份认证等最小必要操作放入 TEE
密钥从不轮换 长期密钥一旦泄露影响不可控 按密钥用途设定轮换周期,并保留吊销能力
安全启动、安全存储、TEE、HSM 和密钥管理必须作为一个整体来设计。任何一环缺失,都会让其他环节的保护效果大打折扣。例如,安全启动验证通过后,如果密钥以明文形式放在普通文件系统中,攻击者仍可在运行时读取密钥。

总结来看,安全启动是信任的起点,安全存储是密钥的静态保护层,TEE 是密钥运行时的隔离层,HSM 是密钥运算的硬件保护层,而密钥管理是贯穿始终的策略与流程。五者协同,才能支撑嵌入式设备从启动到运行、从密钥生成到销毁的完整安全生命周期。