Trusted Firmware-M 是什么——从硬件隔离到安全服务的完整链路

发布时间:2026/7/23 21:07:42
Trusted Firmware-M 是什么——从硬件隔离到安全服务的完整链路 TF-M 是 Arm 为 Cortex-M23/M33/M55/M85 这类带 TrustZone 的 MCU 写的开源安全固件。它把 PSA 架构从白皮书变成了能跑的代码——安全启动、加密服务、安全存储、设备认证,全套都有。读完这篇你能理解 TF-M 为什么不是"又一个 RTOS",而是设备安全的底层地基。1. TF-M 解决什么问题在 TF-M 之前,Cortex-M 上的安全靠的是"代码写好不出 bug"。如果固件里任何一个 buffer overflow 发生,密钥就可能泄露——Cortex-M0/M3/M4/M7 没有硬件强隔离,所有代码都在同一个世界里跑。Arm 的做法是把 CPU 拆成两个世界:安全世界:运行 TF-M 固件,掌管密钥、设备身份、安全存储。普通固件访问不到。非安全世界:运行你的应用固件——门锁 UI、传感器采集、蓝牙协议栈。两个世界通过硬件隔离。哪怕非安全世界的固件全盘被黑,攻击者也读不到安全世界里的密钥——因为 CPU 的 Memory Protection Controller 在硬件层面拦住了。这个硬件隔离技术在 Cortex-A 上叫 TrustZone,在 Cortex-M 上叫TrustZone for Cortex-M(Armv8-M 架构才有,对应 M23/M33/M55/M85)。TF-M 就是安全世界里跑的那套固件。它提供标准的安全服务接口,让非安全世界的应用通过 PSA API 调用加密、存储、认证等安全功能——应用不需要知道密钥怎么存的,只调用psa_crypto_hash()这种标准函数就行。2. 硬件地基:TrustZone for Cortex-M 怎么拆开两个世界Cortex-M33 的 TrustZone 不需要额外的 MMU 或 Hypervisor——它是通过内存地址空间的物理划分实现的。2.1 三类内存区域PSA API callSG instructionNon-Secure Flash + SRAM