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

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

[复制链接]
STMCU小助手 发布时间:2023-2-13 19:02
引言- ?. x9 ^0 D1 S, n$ {
+ e; M, X* r+ \
本应用笔记描述如何在基于 Arm® Cortex®‑M33 处理器的 Arm® TrustZone® STM32 微控制器上获得安全启动和安全固件更新流程解决方案。该应用笔记还提供此解决方案与 X-CUBE-SBSFU 解决方案的顶层比较结果,后者适用于基于 Arm® Cortex®‑M0、Cortex®‑M3、Cortex®‑M4、或 Cortex®‑M7 处理器的非 TrustZone®STM32 微控制器。它还为安全启动和安全固件更新流程解决方案提供顶层集成指南。( o& \1 w% K4 O: k: B
对于 Arm® TrustZone® STM32 微控制器,安全启动和安全固件更新流程解决方案在相应的 STM32Cube MCU 包中提供。与 XCUBE-SBSFU STM32Cube 扩展包中提出的解决方案不同,该解决方案基于开源 TF‑M(可信固件面向 Arm® Cortex®‑M)参考实现。, q0 B* p9 n' t: t+ b8 w
本应用笔记适用于所有 TrustZone® STM32 微控制器(参考表 1)。然而,本文档中将 STM32L5 系列作为示例。STM32Cube MCU 包中可用的基于 TF‑M 的应用可能会不同,具体取决于 TrustZone®STM32 微控制器。参照公认的 Arm®TrustZone® STM32 微控制器(参见第 2 节 参考)的 TFM 应用(TF‑M 的完整实现)的用户手册,获取对解决方案的精确描述。如需关于开源 TF‑M 参考实现的详细信息,请参见[TF‑M]。
' L6 R& ^/ d7 |: X8 H% x1 j9 ?1 r2 t& P+ ?0 e

- @9 V: z% z; a# m( U _(86SO@JS(D16U7TA}BF4DL.png + k$ w& z% S" v- E& q% H+ w& s
$ S- V# {, D. r4 I: K
/ d, A) X1 v0 J( l* P, s
1概述
: t0 n- S8 H$ H" N$ W4 B在本应用笔记中,术语 X-CUBE-SBSFU 指的是 X-CUBE-SBSFU STM32Cube 扩展包中可用的安全启动和安全固件更新流程解决方案,而术语 SBSFU 指的是 Arm®TrustZone®STM32 微控制器 STM32Cube MCU 软件包中可用的安全启动和安全固件更新流程解决方案(STM32CubeL5 用作示例)。表 2 给出了相关的缩略语定义,帮助您更好地理解本文档。
% ?5 q0 I4 h' ?+ m0 k
4 h- u, O# {# s& _' R. U2 X( j
( e8 _  A1 R% ?# J9 }  F
S6D@OEM0IEEL~[{@K0(LO.png & B1 V6 l8 d4 F+ q, T  @/ p# |1 I
) |3 Y) b# u2 s. y. V
. {, z8 ]0 W$ G
2 参考
/ C2 O$ M1 b# ~/ P, Z下面的表 3 和表 4 中提供的资源是公开的
5 f; I1 U! P# _. X! ~! I
' g. L0 i* w- _8 L- b
9 w5 M5 x5 w5 x; W* l. V( Y" X
NXR{F`4G(Z43I7S%~6[4_2Q.png
0 ?; S) C: `9 i" h! b: _; K  l+ ^8 `6 }+ Z0 }5 K0 d
3 Arm® 可信固件‑M (TF‑M)简介
4 B% w/ \; N5 i8 e3 i& E# NTF‑M (参照[TF‑M])是 Arm Limited 驱动的开源软件框架,在 Arm® Cortex®-M33 (TrustZone®)处理器上提供了PSA 标准的参考实现:
# H. X# j1 n8 O, c' X! T+ @• PSA 不可变 RoT(信任根):在任何复位后执行的不可变“安全启动和安全固件更新流程”应用程序。该应用程序基于 MCUboot 开源软件(参照[MCUboot])。
+ A% l8 M5 \: K0 B• PSA 可更新 RoT:“安全”应用程序实现了一组隔离在安全/特权环境中的安全服务,非安全应用程序可以通过PSA API 在非安全应用程序运行时期中调用这些服务(参照[PSA_API]):5 e. Q! D; ~' O; z
– 安全存储服务:TF‑M 安全存储(SST)服务实现 PSA 保护的存储 API,允许数据加密并将结果写入可能不可信的存储中。SST 服务采用基于 AEAD 加密策略的 AES-GCM 作为参考,保护数据的完整性和真实性。
2 y  ?+ ~4 O/ G# {, Y– 内部可信存储服务:TF‑M 内部可信存储(ITS)服务实现 PSA 内部可信存储,API 允许在微控制器内置的闪存区域中写入数据,该区域将通过硬件安全保护机制与非安全或非特权应用程序隔离。0 u3 v( [- w- ]- C) ?3 c
– 加密服务:TF‑M 加密服务实现了 PSA 加密 API,允许应用程序使用密码学原语,如对称和非对称密码、哈希、信息验证码(MAC)和带关联数据的认证加密(AEAD)。它基于 mbed-crypto 开源软件(参照[mbed-crypto])。2 z$ z9 V8 X* S/ N2 _) g
– 初始认证服务:TF‑M 初始认证服务允许应用程序在验证过程中向验证实体证明设备身份。初始认证服务可以根据请求创建一个令牌,其中包含特定于设备的固定数据集。
+ T2 h/ i( K+ [. Z$ l- f• 应用程序可更新 RoT:隔离在安全/非特权环境中的第三方安全服务,可以由非安全应用程序在非安全应用程序运行时期中调用。4 f. G- {, w+ s2 m) l

9 ?2 U2 R  \: V1 Q6 }+ X6 w4 o
0 ?. h- M' k6 \- J/ q6 Z- V
QX_{8@FP]B)]0DEGZVEW_EK.png
3 N$ V: Y1 C$ o! M4 T) ?6 Y1 s. T) w. V* N# P  c: V( ?: H
# e; g# a( C9 f! K" T% a$ H  h. T% A. e/ Y
4 X-CUBE-SBSFU vs. TF‑M 对比
& F) Q0 n5 J0 t% C8 z9 h7 T2 S. v0 M4.1 概述$ F. g+ h( W2 U3 d
X-CUBE-SBSFU 提供意法半导体的安全启动和安全固件更新流程实现,以及(仅有选择地面向部分 STM32 系列)应用程序在运行时期可用的安全 KMS(密钥管理服务)服务。
9 A, M, n. X( z# V" e4 O, fTF‑M 参考实现提供基于开源 MCU 启动的安全启动和安全固件更新流程服务,以及应用程序在运行时期可用的一组安全服务。
- b+ y/ @  Y2 V* r# {8 KX-CUBE-SBSFU 和 TF‑M 之间的上层比较请参见图 2。8 k) ^$ w- p( F9 q  Q) }9 B4 q
) r" P9 r% `8 F" O% U

* G3 C  t$ j4 Q [FL_08QIJD~@I`)P12~_7G1.png
1 o0 N7 x1 L* y5 D/ n
$ d$ k0 f% q* G2 h$ MTF‑M 的 MCU 启动部分好比 X-CUBE-SBSFU(无 KMS):提供类似的服务。
, |7 c9 Z0 Y% f' O0 u, t9 ZX-CUBE-SBSFU KMS 支持的服务类似于 TF‑M 安全加密服务,但是加密算法或特性不一样;即使两者都基于不透明密钥 API 概念,API 也是不同的。参考相关用户手册(相关 Arm® TrustZone® STM32Cube MCU 包的[UM2262]和 TFM 用户手册;参见第 2 节 参考)中引用的 X-CUBE-SBSFU 和 TF‑M API 文档,获取关于受支持特性的更多详细信息。; U  d6 g4 m0 B" E

. t, Q' _2 k) ]9 l* z0 A
7 i5 F* |. w" q; \

0 s. o: W9 _" T' s1 N2 Z( V完整版请查看:附件 基于Arm® TrustZone® STM32 微控制器的安全启动和安全固件更新解.pdf (1007.57 KB, 下载次数: 3)
赞 收藏 评论0 发布时间:2023-2-13 19:02

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版