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

STM32 Trusted Package Creator工具软件说明

[复制链接]
STMCU小助手 发布时间:2022-7-25 23:40
引言
9 G  m& ^8 K( O; Q' n5 |" K( K& nSTM32 Trusted Package CreatorSTM32CubeProgrammer工具集(STM32CUBEPROG
; i- b  O9 G7 H( m* I的一部分,能够生成安全固件和模块,用于STM32安全编程解决方案,它们是:( c' B: T& Q# i/ \/ P8 v
安全固件安装(SFI):SFI是一种安全机制,通过使用AES-GCM密钥对整个固件进行加密,可以在不受信任的产品环境中安全地安装OEM固件。: b& e) b7 t, E& \8 c; @
安全模块安装(SMI):SMI旨在通过使用AES-GCM密钥加密此部分来保护该部分固件ELF文件的一部分)。
2 o3 K0 H* \7 D$ j2 L  t( I" {+ ASFI-SMI组合映像是包含一个或多个模块区域的SFI映像。7 P9 h+ S6 y% p' Y, W
安全固件升级(SFU):SFU是一种允许以安全方式升级STM32微控制器内置程序的解决方案。有关SFU的更多信息,请参阅http://www.st.com上的X-CUBE-SBSFU软件包以获取更多信息。* h# x$ g9 r7 V& B: G
本用户手册详细介绍了软件环境先决条件以及STM32 Trusted Package Creator工具软件的可用功能。
! z' }/ W6 C, ]' ]1 u/ w/ \" b' e1 q5 Z

7 a: u8 k2 U0 Z1 h1系统要求8 f2 p; E1 W3 r0 J8 N
支持的操作系统和架构为:
' K9 x) k* N" \Linux® 32位和64位(已在Ubuntu 14.04上测试)8 F3 m, d3 S- E: J. i6 b7 W
Windows® 10-7-8 32位和64  Q% w* V2 R! b1 j
macOS®(最小版本OS X® Yosemite
3 M8 L1 k( X# W7 WSTM32CubeProgrammerSTM32 Trusted Package Creator可支持基于Arm® Cortex®-M处理器的STM32 32位器件。
8 [0 ?8 a& z: P( Q+ @4 @- u1 \& d  {
& ^6 J( R% @# F+ z- f( m* ^( j0 C
2准备过程# G5 M/ h9 B8 H& C  Z; l
2.1 SFI准备过程- Q; o3 c  H/ z( c+ W& Y
SFI(安全固件安装)映像是由意法半导体创建的格式,包含已使用AES-GCM算法加密和验证的固件。1中描述了SFI准备过程。- F$ }- u6 Q# w

+ Z2 }! m/ l+ Q7 d

6 z) N1 K/ L9 l T8VZD%V_I0D7AQC31@`U07W.png - w+ `0 q4 p/ @% w2 I# W

! J5 w  q" }% J# x在执行AES-GCM加密一个区域之前,该工具将初始化向量(IV)计算为:; u) s) I9 ?0 F. n4 Z
IV = nonce + Area Index: @" ~6 B% `6 z' n- L% P4 u
其中nonce是一个数字,在AES-GCM算法中作为迭代过程的起始值只使用一次,以将不同的密文发送给相同的数据块。
1 L& B( b' M" O. I6 E) ^- V1 R' Q然后,它将区域描述符(从magic开始到区域总数)作为附加认证数据(AAD)来传递。
( I! h" m* J, F) x% x输入固件中的每个段都会构成SFI文件中的一个固件(F)区域。
- f6 j5 Z" l, E5 D每个SMI文件(组合情况)共同构成一个模块(M)区域。- a8 f2 d4 n2 B
选项字节配置构成配置(C)区域。
  x- ?( @' ~, z$ ]  ^+ Z. J为了生成头文件标签,该工具使用SFI头文件作为AAD以及nonce作为IV,执行仅经过验证AES-GCM加密(不含纯文本或密文)。# A  }3 J& _9 r$ y
2中描述了SFI文件的结构。- A# O3 V/ o" u; W* A3 \9 v' g* I
) A/ y7 S$ @! {

2 r" {3 O" A" \9 O+ y %9]G$C01HW%{HXE$R5@GTBK.png
# H4 k# y) q/ S$ B4 M. ^* Z9 j' B
! L5 T9 P4 ^7 E" B5 m3 ?: t- `要从多个固件文件准备SFI映像,您必须确保其各段之间没有重叠,否则会收到错误消息:段之间重叠,无法合并固件文件
0 ^8 T' V9 s/ D2 e/ O% [而且,在SFI-SMI组合映像的情况下,还会在各区域之间进行重叠检查(如果固件和模块区域之间存在重叠)。如果检查失败,将显示一条错误消息:“SFI区域之间重叠
3 u4 }) A# \, `$ D$ T9 l  Z此外,所有SFI区域都必须位于flash中,否则生成将失败,并给出错误消息:一个或多SFI区域不在flash
' Y) J- y5 n% n1 z5 ^$ T; X
6 v4 B6 K3 d6 ?; {

# R" e; J2 y/ O# f# ?1 B8 R1 l2.2 SMI准备过程8 Q0 M% q  k7 N: k
一个SMI映像(安全模块安装)仅保护固件内的一个模块。
4 F& O; J" o- _8 M0 J9 G4 X4 z3中描述了SMI准备过程。
: n  j6 U0 O2 W  w
4 i0 }0 L' M6 f* Y4 c+ w
9 L( a& _- A$ Q
NYFDOJWCU1}3Q`629E(OT0W.png
; X& l  Q) A  u# r3 }+ c1 E0 q2 K$ C4 ~

8 S6 b1 S( ]3 \4 S) I使用以下输入来执行AES-GCM加密:/ w" x; \4 g1 r& K' l- q
作为初始化向量(IV)的Nonce6 J2 k/ D6 T& j# [+ K
作为附加认证数据(AAD)的安全版本1 C- r2 y' W- F" r6 c$ N3 T8 g, P
39 Q" W, N( u" p1 t- O7 G
SMI准备之前,执行以下检查:
; v/ v! s8 Z4 e7 I7 M! M  m# F专有代码读出保护(PCROP)区必须与闪存字(256位)对齐,否则会显示警告
/ V: w1 ^: c* }) O2 [* S该区大小必须至少为2个闪存字(512位),否则会显示警告; z6 B: ]3 r: k
该区必须以Flash字边界(256位的字)结束,否则会显示警告* d) {7 w- M5 A1 _7 |
如果该区紧接着PCROP区域并在PCROP区的最后一个Flash字处开始,则生成失败并显示错误消息。
1 D. s$ Z3 W9 s" u8 n& z: r, _* rSMI准备之后,还会生成一个明文(即未加密的)ELF文件,其中包含程序数据并且只包含明文代码段。
) _$ t0 ^8 {5 ~+ J$ @8 q4中显示了SMI文件的结构。7 J  ~' ~) f1 L- x

- T0 d, C6 ?+ Z* f7 |: f: v/ e2 x) ~
7 ~; @4 P/ X$ b  ?( z, u% _/ r% z
TDOMU_P8GL2J[[~W{}%}_}4.png
  Y" d. H: n4 h# d1 |
5 p+ |+ e0 C0 @, t9 S# ~7 |9 h/ h) ]  \- q6 t
完整版请查看:附件/ t7 {/ q# b/ k5 @) @
2 C/ h) J5 {* U* n

- M0 H' N' w. [+ P# q

1 f' D6 c! @4 @* ^3 Q& I2 _' S4 C2 ^. c1 }3 ?6 u0 P" Y

DM00403513_ZHV1.pdf

下载

1.64 MB, 下载次数: 11

收藏 评论0 发布时间:2022-7-25 23:40

举报

0个回答

所属标签

相似分享

官网相关资源

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