目录预览
1 概述
2 文档和开源软件资源
3 STM32Cube 概述
4 Arm®可信固件-M(TF-M)简介
5 安全启动和安全固件更新服务
(PSA 不可变 RoT)
6 运行时安全服务
7 保护措施和安全策略
8 软件包说明
9 硬件和软件环境设置
10 安装过程
11 逐步执行
12 集成商角色描述
1.概述
本文档描述如何入门 STM32CubeL5 TFM(Arm® Cortex®-M 的可信固件)应用程序,该应用程序作为 STM32CubeL5 固件包组成部分提供。STM32CubeL5 TFM 应用程序提供一个可信根解决方案(包括安全启动和安全固件更新功能,在执行应用程序之前使用),还提供一组安全服务,这些服务与非安全应用程序隔离,但可由非安全应用程序在运行时使用。
STM32CubeL5 TFM 应用程序基于已移植到 STM32L5 系列微控制器(以下统称 STM32L5)上的开源 TF-M 参考实现,目的是利用 STM32L5 的硬件安全特性,例如:
• Arm® Cortex®-M33 TrustZone® 和存储器保护单元(MPU)
• TrustZone®-aware 外设
• 内存保护(HDP、WRP)
• 增强生命周期方案
STM32CubeL5 TFM 应用程序在基于 Arm® Cortex®‑M 处理器的 STM32L5 系列 32 位微控制器上运行。
2.文档和开源软件资源
下面的资源是公开的,可以从意法半导体的网站 www.st.com 或第三方网站上获得。
3.STM32Cube概述
STM32Cube 源自意法半导体,旨在通过减少开发工作量、时间和成本,明显提高设计人员的生产率。STM32Cube 涵盖整个 STM32 产品系列。STM32Cube 包括:
• 一套用户友好的软件开发工具,覆盖从概念到实现的整个项目开发过程,其中包括:
– 图形软件配置工具 STM32CubeMX,可通过图形向导自动生成初始化 C 代码
– STM32CubeIDE,一种集外设配置、代码生成、代码编译和调试功能于一体的开发工具
– STM32CubeProgrammer
(STM32CubeProg),图形版本和命令行版本中可用的编程工具
– STM32CubeMonitor-Power
(STM32CubeMonPwr),测量并帮助优化 MCU 功耗的监控工具
• STM32Cube MCU & MPU 包,针对于每个微控制器和微处理器系列的综合嵌入式软件平台(例如,STM32L5 系列的 STM32CubeL5),它包括:
– STM32Cube 硬件抽象层(HAL),确保在 STM32 各个产品之间实现最大限度的可移植性– STM32Cube 底层 API,通过硬件提供高度用户控制,确保最佳性能和内存开销
– 一组一致的中间件组件,如 FAT 文件系统、RTOS、USB 主机和设备、TCP/IP、触摸感应库、以及图形
– 嵌入式软件实用工具以及全套外设和应用实例
• STM32Cube 扩展包,包含的嵌入式软件组件为 STM32Cube MCU 和 MPU 包的功能补充了:
– 中间件扩展和应用层– 在特定的意法半导体开发板上运行的实现案
4.Arm®可信固件-M(TF-M)简介
[TF-M] (可信固件-M)是 Arm 驱动的开源软件框架,在 Cortex®-M33(TrustZone®)内核上提供 PSA 标准的参考实现:
• PSA 不可变 RoT(可信根):不可变的“安全启动&安全固件更新”应用程序(命名为 TFM_SBSFU_Boot)在任一复位后执行。该应用程序基于[MCUboot]开源软件
• PSA 可更新 RoT:“安全”应用程序(名为 TFM_Appli/安全)实现了一组隔离在安全/特权环境中的安全服务,非安全应用程序可以通过 PSA API 在非安全应用程序运行期间调用这些服务:
– 安全存储服务:TF-M 安全存储(SST)服务实现 PSA 保护的存储 API,允许数据加密并将结果写入可能不可信的存储中。作为参考,SST 服务采用了基于 AEAD 加密策略的 AES-GCM 算法,保护数据的完整性和真实性。
– 内部可信存储服务:TF-M 内部可信存储(ITS)服务实现 PSA 内部可信存储 API,允许在微控制器内置的 Flash 存储器区域中写入数据,该区域将通过硬件安全保护机制与非安全或非特权应用程序隔离。
– 密码服务:TF-M 密码服务实现了 PSA 密码 API,允许应用程序使用密码原语,如对称和非对称密码、哈希、消息认证码(MAC)和关联数据的认证密码(AEAD)。它基于[MbedCrypto]开源软件
– 初始认证服务:TF-M 初始认证服务允许应用程序在验证过程中向验证实体证明设备身份。初始认证服务可以根据请求创建一个令牌,其中包含特定于设备的固定数据集。
• 应用程序可更新 RoT:隔离在安全/非特权环境中的第三方安全服务(在 TFM_Appli/安全应用程序中实现),可以由非安全应用程序在非安全应用程序运行期间调用:
长按扫码关注公众号
更多资讯,尽在STM32
▽点击“阅读原文”,可下载原文档