引言
本文档描述如何入门
STM32CubeU5 TFMArm® Cortex®-M 的可信固件)应用程序,该应用程序作为 STM32CubeU5 软件包
组成部分提供。
STM32CubeU5 TFM 应用程序提供了包含安全启动和安全固件更新功能的可信根解决方案。该解决方案在执行应用程序之前使
用,提供一组安全服务,这些服务与非安全应用程序相互隔离但可以在运行时间被非安全应用程序使用。STM32CubeU5 TFM
应用程序基于已移植到 STM32U5 系列微控制器(以下统称为 STM32U5)上的开源 TFM 参考实现,目的是利用 STM32U5 的硬
件安全特性,例如:
Arm
®
Cortex
®
M33 TrustZone
®
和存储器保护单元(
MPU
TrustZone
®
感知外设
存储器保护
(HDP, WRP)
增强生命周期
方案
(RDP)
另外,添加一个安全元件(
STSAFE-A110 微控制器(以下统称为
STSAFE
))可增强安全性。
安全服务是一种可升级的代码,提供了一组服务,非安全应用程序可以在运行时间使用这些服务,这些服务管理着与非安全应用
程序相隔离的关键资产。非安全应用程序不能直接访问任何关键资产,但可以调用使用关键资产的安全服务:
安全启动 (可信根服务)是不可变代码段,总是在系统复位后执行。在每次执行前,它检查 STM32U5 静态保护,激活
STM32U5 运行时间保护,然后验证所安装固件的真实性和完整性。以此确保无效或恶意代码无法运行。
安全固件更新应用程序是一种不可变代码,它检测可用的新固件映像,检查其真实性,并在安装代码之前检查其完整性。可
对整个固件映像执行固件更新,包括固件映像的安全和非安全部分。或者,也可单独对固件映像的安全部分和/或非安全部分
执行更新。在覆盖模式或交换模式下也可执行固件更新。可以明文或加密形式接收固件。
安全服务是实现了一组服务的可升级代码,这些服务管理着与非安全应用程序相隔离的关键资产。这意味着非安全应用程序不能
直接访问任何关键资产,而只能调用使用关键资产的安全服务:
密码:基于不透明密钥 API 的安全密码服务
受保护存储:保护数据的机密性/真实性/完整性
内部可信存储:保护内部
Flash 存储器中数据的机密性/真实性/完整性(为微控制器实现的最安全的存储空间)
认证:通过实体认证令牌证明产品身份
本文档中的 TFM 应用程序是[TF-M]的完整实现。第二个仅实现[TF-M]安全启动和安全固件更新功能的应用程序名为
STM32CubeU5 SBSFU,也可以在 STM32CubeU5 MCU软件包中获得。有关 SBSFU 应用程序的详细信息,请参见
[AN5447]
本文档的前面几章(第 4 至第 6 章)介绍了开源 TFM 部分(v1.3.0)。本文档的最后几章(第 7 至第 12 章)介绍了移植到
STM32U5 微控制器并集成到 STM32CubeU5 MCU 软件包中的 TFM
STM32CubeU5 TFM 应用程序和 SBSFU 应用程序示例是为 B-U585I-IOT02A 板提供的。
请参考[TF-M]获取关于开源 TFM 参考实现的更多信息。
STM32CubeU5 TFM 应用程序入门
UM2851
用户手册
UM2851 - Rev 2 - May 2022
更多垂询,请联系您本地的意法半导体销售处
www.st.com
1 概述
STM32CubeU5 TFM 应用程序在 STM32U5 系列 32 位微控制器上运行,这些微控制器基于具有 Arm
®
TrustZone
®
Arm
®
Cortex
®
M33 处理器。
提示
Arm
TrustZone
Arm Limited
(或其子公司)在美国和或其他地区的注册商标。
1 给出了相关的缩略语定义,帮助您更好地理解本文档。
1. 缩略语列表
缩略语 说明
AEAD
关联数据的认证加密
AES 高级加密标准
BL2 Bootloader 2TFM 术语中启动阶段的名称,基于 MCUboot 开源软件。包含在 TFM_SBSFU_Boot 项目中。
CLI
命令行接口
CTR
计数器模式,分组密码的密码操作模式。
DHUK 派生硬件唯一密钥
DPA 差分功率分析
EAT 实体认证令牌
ECDSA
椭圆曲线数字签名算法非对称密码算法。
ECIES 椭圆曲线集成加密方案
FIH 故障注入固化
FWU 固件更新服务。 固件更新 TFM 提供的服务。
GUI 图形用户界面
HDP 安全隐藏保护
HUK 硬件唯一密钥
IAT 初始认证
IPC 进程间通信。
ITS 内部可信存储服务。 内部可信存储 TFM 提供的服务。
NSPE
非安全处理环境 PSA 术语)。在 TFM 中,这意味着一个非安全域,它通常运行操作系统,使用TF-M提供的服务
MPU 存储器保护单元。
OAEP
最优非对称加密填充是一种通常与 RSA 加密一起使用的填充方案。
PS
受保护存储服务。 受保护存储 TFM 提供的服务。
PSA 平台安全架构设备安全框架。
RDP 读保护
RNG 随机数发生器
RoT 可信根
RSA
源于 Rivest–Shamir–Adleman 的非对称密码系统
SBSFU
安全启动和安全固件更新 STM32CubeU5 中,这是基于 TFM 且只具有安全启动和安全固件更新功能的应
用程序的名称。
SE
安全元件 (本文档背景下STSAFE)。
SFN
安全函数。安全服务的入口函数。允许每个 SS 有多个 SFN
UM2851
概述
UM2851 - Rev 2
page 2/102