你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 微控制器的安全启动和安全固件更新解决方案概述

[复制链接]
STMCU小助手 发布时间:2023-2-13 19:02
引言

本应用笔记描述如何在基于 Arm® Cortex®‑M33 处理器的 Arm® TrustZone® STM32 微控制器上获得安全启动和安全固件更新流程解决方案。该应用笔记还提供此解决方案与 X-CUBE-SBSFU 解决方案的顶层比较结果,后者适用于基于 Arm® Cortex®‑M0、Cortex®‑M3、Cortex®‑M4、或 Cortex®‑M7 处理器的非 TrustZone®STM32 微控制器。它还为安全启动和安全固件更新流程解决方案提供顶层集成指南。
对于 Arm® TrustZone® STM32 微控制器,安全启动和安全固件更新流程解决方案在相应的 STM32Cube MCU 包中提供。与 XCUBE-SBSFU STM32Cube 扩展包中提出的解决方案不同,该解决方案基于开源 TF‑M(可信固件面向 Arm® Cortex®‑M)参考实现。
本应用笔记适用于所有 TrustZone® STM32 微控制器(参考表 1)。然而,本文档中将 STM32L5 系列作为示例。STM32Cube MCU 包中可用的基于 TF‑M 的应用可能会不同,具体取决于 TrustZone®STM32 微控制器。参照公认的 Arm®TrustZone® STM32 微控制器(参见第 2 节 参考)的 TFM 应用(TF‑M 的完整实现)的用户手册,获取对解决方案的精确描述。如需关于开源 TF‑M 参考实现的详细信息,请参见[TF‑M]。


_(86SO@JS(D16U7TA}BF4DL.png


1概述
在本应用笔记中,术语 X-CUBE-SBSFU 指的是 X-CUBE-SBSFU STM32Cube 扩展包中可用的安全启动和安全固件更新流程解决方案,而术语 SBSFU 指的是 Arm®TrustZone®STM32 微控制器 STM32Cube MCU 软件包中可用的安全启动和安全固件更新流程解决方案(STM32CubeL5 用作示例)。表 2 给出了相关的缩略语定义,帮助您更好地理解本文档。


S6D@OEM0IEEL~[{@K0(LO.png


2 参考
下面的表 3 和表 4 中提供的资源是公开的


NXR{F`4G(Z43I7S%~6[4_2Q.png

3 Arm® 可信固件‑M (TF‑M)简介
TF‑M (参照[TF‑M])是 Arm Limited 驱动的开源软件框架,在 Arm® Cortex®-M33 (TrustZone®)处理器上提供了PSA 标准的参考实现:
• PSA 不可变 RoT(信任根):在任何复位后执行的不可变“安全启动和安全固件更新流程”应用程序。该应用程序基于 MCUboot 开源软件(参照[MCUboot])。
• PSA 可更新 RoT:“安全”应用程序实现了一组隔离在安全/特权环境中的安全服务,非安全应用程序可以通过PSA API 在非安全应用程序运行时期中调用这些服务(参照[PSA_API]):
– 安全存储服务:TF‑M 安全存储(SST)服务实现 PSA 保护的存储 API,允许数据加密并将结果写入可能不可信的存储中。SST 服务采用基于 AEAD 加密策略的 AES-GCM 作为参考,保护数据的完整性和真实性。
– 内部可信存储服务:TF‑M 内部可信存储(ITS)服务实现 PSA 内部可信存储,API 允许在微控制器内置的闪存区域中写入数据,该区域将通过硬件安全保护机制与非安全或非特权应用程序隔离。
– 加密服务:TF‑M 加密服务实现了 PSA 加密 API,允许应用程序使用密码学原语,如对称和非对称密码、哈希、信息验证码(MAC)和带关联数据的认证加密(AEAD)。它基于 mbed-crypto 开源软件(参照[mbed-crypto])。
– 初始认证服务:TF‑M 初始认证服务允许应用程序在验证过程中向验证实体证明设备身份。初始认证服务可以根据请求创建一个令牌,其中包含特定于设备的固定数据集。
• 应用程序可更新 RoT:隔离在安全/非特权环境中的第三方安全服务,可以由非安全应用程序在非安全应用程序运行时期中调用。


QX_{8@FP]B)]0DEGZVEW_EK.png


4 X-CUBE-SBSFU vs. TF‑M 对比
4.1 概述
X-CUBE-SBSFU 提供意法半导体的安全启动和安全固件更新流程实现,以及(仅有选择地面向部分 STM32 系列)应用程序在运行时期可用的安全 KMS(密钥管理服务)服务。
TF‑M 参考实现提供基于开源 MCU 启动的安全启动和安全固件更新流程服务,以及应用程序在运行时期可用的一组安全服务。
X-CUBE-SBSFU 和 TF‑M 之间的上层比较请参见图 2。


[FL_08QIJD~@I`)P12~_7G1.png

TF‑M 的 MCU 启动部分好比 X-CUBE-SBSFU(无 KMS):提供类似的服务。
X-CUBE-SBSFU KMS 支持的服务类似于 TF‑M 安全加密服务,但是加密算法或特性不一样;即使两者都基于不透明密钥 API 概念,API 也是不同的。参考相关用户手册(相关 Arm® TrustZone® STM32Cube MCU 包的[UM2262]和 TFM 用户手册;参见第 2 节 参考)中引用的 X-CUBE-SBSFU 和 TF‑M API 文档,获取关于受支持特性的更多详细信息。



完整版请查看:附件 基于Arm® TrustZone® STM32 微控制器的安全启动和安全固件更新解.pdf (1007.57 KB, 下载次数: 1)
收藏 评论0 发布时间:2023-2-13 19:02

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版