安全启动和安全固件升级 (SBSFU)
安全启动可确保器件中所运行应用程序固件的真实性和完整性。
安全固件更新支持验证所需现场更新的完整性。
- 两种实现方案
- X-CUBE-SBSFU,实现SBSFU机制:轻松设置所有STM32存储器保护机制,将安全启动和固件更新功能与主应用程序隔离。其中包括ST安全元件STSAFE的参考实现,可最大限度地提高最终应用的安全级别。STM32L4实现还提供了安全存储。
- TFM_SBSFU,在装载有TF-M(可信固件-M)的器件上实现相同的机制,并随STM32Cube软件包一起提供。
产品编号 | 状态 | 类型 |
X-CUBE-SBSFU | 已量产 | 嵌入式软件 |
STM32CubeL5 | 已量产 | 嵌入式软件 |
STM32CubeU5 | 已量产 | 嵌入式软件 |
STM32CubeH5 | 已量产 | 嵌入式软件 |
安全固件安装 (SFI)
安全固件安装解决方案可用于STM32L4、STM32H5、STM32H7、STM32L5、STM32U5、STM32WBA和STM32WL微控制器,可在首次编程器件时提供保护。该解决方案可以扩展到其他STM32平台。
该解决方案提供完整的工具集,包括Trusted Package Creator软件包(用于加密OEM二进制文件)、STM32CubeProgrammer(用于对STM32进行安全闪存),以及STM32HSM(用于将OEM凭证传输到编程合作伙伴)。
固件开发和验证后,设计人员可使用Trusted Package Creator软件安全加密二进制文件,并将其凭证存储至专用智能卡,例如硬件安全模块STM32HSM。然后,可使用STM32CubeProgrammer或SFI推荐的合作伙伴编程工具,在不受信任的环境(如EMS生产线)中对STM32 MCU进行安全编程。
STM32CubeProgrammer
STM32CubeProgrammer包括STM32TrustedPackage Creator工具,该工具支持为嵌入SFI的STM32器件生成SFI和SMI加密映像。该工具有CLI和GUI两种免费模式。
SFI格式是ST创建的固件加密格式。它使用AES算法将Elf、Hex、Bin或Srec格式的固件解决方案转换为SFI格式的加密和认证固件。SFI固件映像由一个头部区域和多个其他区域组成。这些区域通常是连续的固件区域。最后一个区域是配置区域,其中包含SFI完成时要编程的选项字节值。
产品编号 | 说明 |
STM32CubeProg | 用于编程STM32产品的STM32CubeProgrammer软件 |
加密解决方案
ST提供了多种加密解决方案。这些方案均以硬件实现为基础设计,可选择使用或不使用边信道保护。以下几组库也可用于满足实际用例的需求:
加密库
- X-CUBE-CRYPTOLIB:这种ECCN 5D002类软件解决方案基于STM32Cube软件包架构,包括一组基于固件实现的加密算法。可用于所有STM32微控制器和认证的NIST CAVP
- TF-M加密:TF-M参考代码中提供的加密服务
- OP-TEE加密:OP-TEE参考代码中提供的加密服务
- 防边信道攻击加密库:ST提供了一种抵御边信道攻击的加密算法实现。可按需提供一些特定的产品编号。请联系距离您最近的销售办事处。
产品编号 | 状态 | 类型 |
X-CUBE-CRYPTOLIB | 已量产 | 嵌入式软件 |
STM32CubeL5 | 已量产 | 嵌入式软件 |
STM32CubeU5 | 已量产 | 嵌入式软件 |
可信执行环境软件解决方案
安全管理器
- STM32Trust TEE
- 简化开发人员的安全工作
- 实现云和服务器之间的无缝连接
- 提供多租户IP保护
安全管理器是一种快速实现Cortex-M平台安全架构 (PSA) 的交钥匙解决方案。这种片上系统解决方案仅以二进制形式提供,并将许可权分授给我们的开发人员。该解决方案由ST维护并认证,旨在提供长期支持 (LTS)。
- uRoT:可更新的可信根,包括安全启动和安全更新。
- 安全管理器核心:一种安全分区管理器,最高可实现模块和服务的3级隔离。
-
- 加密
- 安全可信的存储
- 认证
架构视图:
安全管理器支持用户专注于应用程序开发并使用Arm PSA API服务,或者在TEE受信区域内添加可信的应用程序或模块。其在API和功能方面与可信固件-M (TFM) 相兼容。
有关API版本管理和详细功能的信息,请参阅ST安全管理器网页中提供的文档。
STM32社区可从ST或第三方获取各种可信应用程序的访问权限。ST会持续更新和续订这些应用程序。
可信应用程序 | 供应商 | 产品 | |
keySTREAM后续配置 | Kudelski | KTA(keySTREAM可信代理)是一个受信任的库,用于管理安全管理器中的信任根。它可连接到Kudelski IoT keySTREAM平台,该平台使用PKIaaS安全配置了数百万个器件。Kudelski IoT keySTREAM安全管理系统实现了整个过程的自动化,支持大规模的零接触配置。该系统提供完整的IoT生命周期管理功能,包括转移所有权、创建/删除凭据、撤回器件以及管理其处置/翻新。 | STM32H5 |
-
- 专门面向愿意专注于应用程序开发和使用安全管理器服务的开发人员。
- 提供非安全的应用示例。
- 可在点进式生产许可证下免费下载
-
- 专门用于开发安全模块(可信应用程序)。
- 提供全面示例。
- 仅特定的开发许可证下提供下载
其他详细信息以及产品兼容性信息,请查看ST安全管理器网页。
安全管理器和所有可交付成果仅在STM32H573产品上市时提供,计划上市时间为2023年6月。
可信固件-M (TFM)
可信固件-M软件实现是Cortex-M ARMv7-M和Armv8-M平台安全架构 (PSA) 的参考实现。
- 安全固件,在Armv8-M上支持PSA 1级和2级隔离
- 安全固件向非安全侧公开的接口
- 带有非安全应用示例的安全固件模型
-
- 安全存储
- 认证
- 加密
产品编号 | 状态 | 类型 |
STM32CubeL5 | 已量产 | 嵌入式软件 |
STM32CubeU5 | 已量产 | 嵌入式软件 |
STM32CubeH5 | 已量产 | 嵌入式软件 |
STM32CubeWBA | 已量产 | 嵌入式软件 |
开放可移植可信执行环境 (OPTEE)
OPTEE属于可信执行环境 (TEE),该软件解决方案为微处理器上运行的非安全Linux内核的配套解决方案,其中微处理器搭载了使用TrustZone技术的Arm Cortex-A内核。OPTEE API由其所属的GlobalPlatform API规范定义。
- 隔离:TEE提供与非安全操作系统的隔离,并使用基础硬件支持,保护所加载可信应用程序 (TA) 之间互不干扰
- 占用空间小:TEE应足够小,以便在基于Arm的系统中占据合理的片上内存
- 可移植性:TEE可与不同的架构和可用硬件相兼容,且支持多客户端操作服务和TEE等多种设置
- OP-TEE随OpenSTLinux Distribution软件包提供,可用于STM32微处理器。
产品编号 | 状态 | 类型 |
STM32MP1Dev | 已量产 | 嵌入式软件 |
STM32MP1Distrib | 已量产 | 嵌入式软件 |
STM32MP13x | 已量产 | 微处理器 |