|
( i' o c5 l$ U) ` STM32CubeProgrammer安全编程解决的不是“能不能烧录”,而是在不可控的烧录环境里,如何保护固件 IP、保证固件不被篡改,并控制量产数量。
主要机制:SFI / SFIx STM32 的安全编程主要围绕 SFI 展开,也就是 Secure Firmware Install。$ R0 F# J/ Y1 V) i( n4 q: [* ^, x' B SFI:把加密固件安全烧录到 MCU 内部 Flash。 SFIx:把加密固件安全烧录到外部 Flash,例如 QSPI/OSPI 等外部存储器。 整个流程大致是:# c# A; W' Z* m OEM 用 STM32 Trusted Package Creator 把固件和选项字节配置加密打包成 .sfi 文件。 OEM 把加密密钥和最大烧录次数写入 STM32HSM-V2 硬件安全模块。 代工厂拿到加密固件和 HSM,但拿不到明文密钥。 烧录时,CubeProgrammer 读取 MCU 的数字证书,HSM 验证后生成一次性 License。 MCU 内部解密固件并写入 Flash,外部总线上始终是密文。 烧录完成后再配合 RDP、PCROP 等保护,防止后续通过调试口读取固件。! [- ^$ M, A& n7 } U. r 和 STM32CubeProgrammer 的关系 CubeProgrammer 集成了安全编程能力,界面里有 Secure programming / SFI / SFIx 相关入口。 它负责执行加密固件的烧录、License 校验、外部存储器安全烧录,以及和 HSM 配合完成授权控制。& V7 {( Y' D% @) B! a& o2 A$ @ 早期需要单独使用的 STM32 Trusted Package Creator,现在也作为 CubeProgrammer 工具集的一部分提供。 适用场景. X9 u( N/ z' w; U0 O 外包生产时保护固件 IP。# b+ D, I4 m1 `1 e& X( G1 R; R 批量烧录时控制授权数量。 需要防止明文固件出现在烧录器、产线电脑或通信总线上。 设备交付前需要同时完成固件烧录和读保护配置。 使用时的注意点9 f9 ^" d" p1 h 不是所有 STM32 都支持 SFI/SFIx,需要查对应系列和 AN4992、AN5054。5 y- c5 X) ^# P, R7 ?, @6 G3 K8 U3 s HSM、License、加密密钥要由 OEM 严格保管。 选项字节、RDP、PCROP 一旦配置错误,可能导致芯片无法调试或恢复。 开发阶段可以先用普通烧录验证功能,量产前再切换到安全烧录流程。 |
STM32CubeCLT 1.22.0新版本发布
STM32CubeProgrammer 2.23新版本发布
实战经验 | STM32CubeProgrammer与STM32 Bootloader连接全流程实战指南
【STM32U3 评测】人体行为识别
【STM32U3评测】实战项目:无电池温湿度计
STM32CubeProgrammer 2.22:眼见为实 —— 全新MCU内存映射图形导出界面,规避常规开发错误
重磅升级!STM32CubeProgrammer 2.21 解锁SWD多从机模式,开发效率再飙升!
在主机模式下使用STM32Cube HAL I2C驱动
【问卷有礼】STM32CubeProgrammer—您的声音很重要!
新版STM32Cube for Visual Studio Code开发体验
微信公众号
手机版