市场资讯
嵌入式开发效率革命:STM32CubeProgrammer 2.19的自动化和智能化升级(下)

发布日期:2025-07-01   

嵌入式开发效率革命:STM32CubeProgrammer 2.19的自动化和智能化升级(下)

除了丰富的新功能和对新款STM32 MCU的支持(详情请参考嵌入式开发效率革命:STM32CubeProgrammer 2.19的自动化和智能化升级(上)),STM32CubeProgrammer 2.19还集成了强大而全面的安全特性。

STM32上的安全门户

STM32CubeProgrammer是STM32Cube生态系统中安全解决方案的核心部件。该实用程序附带Trusted Package Creator,它让开发人员能够将OEM密钥上传到硬件安全模块并使用相同的密钥加密他们的固件。然后,OEM使用STM32CubeProgrammer将固件安全地安装到支持SFI的STM32 MCU上。开发人员甚至可以使用I2C或SPI接口实现,这为他们提供了更大的灵活性。此外,STM32H73xSTM32H7BxSTM32L5STM32U5STM32H5系列还支持外部安全固件安装(SFIx),让OEM厂商可将加密后的二进制文件烧录至MCU外部的存储模块中。

X-CUBE-RSSE(根安全系统扩展二进制文件)

为便于更新RSSE(Root Security System binaries extensions,根安全系统二进制扩展)固件、STM32HSM-V2硬件安全模块个性化配置文件以及选项字节模板,这些组件现已通过X-CUBE-RSSE扩展包单独分发,并由STM32CubeProgrammer和STM32Trusted PackageCreater工具共同支持。因此,这些组件不再包含在CubeProgrammer的最新版本中,需单独下载。

安全管理器

自STM32CubeProgrammer 2.14和STM32CubeMX1.13版本起,安全管理器(Secure Manager)功能正式获官方支持。目前,该功能仅适用于全新的高性能MCU STM32H573,该产品支持安全ST固件安装(SSFI),且无需额外配置硬件安全模块(HSM)。通过提供二进制文件、库文件、代码实现和文档等资源,安全管理器为STM32 MCU提供了一套完整的安全生态系统管理方案。开发人员可在STM32CubeMX中获得交钥匙型解决方案,并通过STM32CubeProgrammer完成固件烧录和调试。这充分体现了STM32H5硬件与安全管理器软件的协同效应,实现了“1+1>2”的系统价值。

为STM32H5带来更多安全功能

STM32CubeProgrammer为STM32H5带来了更多安全功能。例如,该MCU支持在内部存储器(SFI)和外部存储模块(SFIx)上进行安全固件安装,使OEM能够借助HSM烧录加密固件。同样,在使用STM32Trusted PackageCreater和HSM时,该工具支持在新款MCU上生成证书。该工具还为配备2MB和4MB闪存的STM32U5系列增加了SFI和SFIx支持。

大幅优化SFI功能

自2.11版本起,STM32CubeProgrammer对SFI功能进行了大幅优化。例如,2.15版本新增了对STM32WBA5的支持。此外,我们还引入了图形用户界面,可直观显示地址和HSM信息。STM32Trusted PackageCreater的图形界面也在SFI和SFIx选项卡下采用了全新布局,便于用户在设置安全固件安装时查看所需信息。STM32Trusted PackageCreater还提供了各类选项字节的图形化展示,进一步简化了配置流程。

STM32CubeProgrammer

STM32CubeProgrammer


简化STM32MPx的安全秘密配置

从2.12版本开始,STM32CubeProgrammer新增了图形用户界面,帮助开发人员为STM32MPx微处理器的安全秘密配置功能设置参数。该机制与STM32微控制器的安全固件安装功能有相似之处,它使用硬件安全模块存储加密密钥,并在烧录工具与设备之间进行安全通信。不过,鉴于STM32MPx微处理器的特性,需要配置的参数更多。STM32CubeProgrammer的图形界面现在能够将此前只在工具命令行版本中可用的设置选项直观呈现出来,加快了工作流程。

支持双重身份验证

STM32CubeProgrammer从2.9版本开始支持双重身份验证系统,通过JTAG或引导加载程序为STM32WB上的蓝牙协议栈配置OEM的密钥。该功能使制造商能够保护其蓝牙协议栈防止最终用户随意更改协议栈。多数情况下,如果开发人员知道自己在做什么,他们就可以使用ST的安全固件更新机制升级新的蓝牙协议栈。但制造商可能会提供一个特定的环境,并希望对其进行保护。因此,双重身份验证系统会防止最终用户随意使用更新机制。ST已发布了AN5185应用笔记以提供更多详细信息。

支持PKCS#11

STM32CubeProgrammer从2.9版本开始为STM32MP1加密固件时支持PKCS#11。公钥加密标准(PKCS)11,也称为Cryptoki,是一种在低级别管理加密过程的标准。PCKS#11标准化的API方便嵌入式系统开发人员使用相关机制,因而越来越流行。在STM32MP1上,PKCS#11让工程师能够将私钥的存储和安全秘密配置(SSP)的加密过程进行分离。

SSP相当于MPU的安全固件安装机制。开发人员在将代码发送给OEM之前,会使用STM32CubeProgrammer通过公、私钥系统对机密OTP数据进行加密,确保第三方无法读取IP。在组装过程中,OEM使用包含受保护加密密钥的硬件安全模块(HSM)加载MPU机密数据,MPU会在内部对其进行解密。但此前,加密MPU机密数据的开发人员可直接访问私钥,而某些组织对这类关键信息的访问需要予以限制。借助新版STM32CubeProgrammer和PKCS#11,即使开发人员在执行加密过程时,私钥也会始终隐藏在HSM中。