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

STM32 Trusted Package Creator工具软件说明

[复制链接]
STMCU小助手 发布时间:2022-7-25 23:40
引言
* @0 \8 B  O) o  I3 I& tSTM32 Trusted Package Creator是STM32CubeProgrammer工具集(STM32CUBEPROG)
+ I8 T; j$ x7 ]4 A6 m' v0 {7 d7 U的一部分,能够生成安全固件和模块,用于STM32安全编程解决方案,它们是:+ l7 ?2 ^# A8 @8 I0 x2 B
•安全固件安装(SFI):SFI是一种安全机制,通过使用AES-GCM密钥对整个固件进行加密,可以在不受信任的产品环境中安全地安装OEM固件。
( C5 m' o( P7 K' |+ z•安全模块安装(SMI):SMI旨在通过使用AES-GCM密钥加密此部分来保护该部分固件(ELF文件的一部分)。; a1 w/ A/ p3 }4 _
SFI-SMI组合映像是包含一个或多个模块区域的SFI映像。
: f6 l( m1 D8 h' g+ G3 `•安全固件升级(SFU):SFU是一种允许以安全方式升级STM32微控制器内置程序的解决方案。有关SFU的更多信息,请参阅http://www.st.com上的X-CUBE-SBSFU软件包以获取更多信息。
- F, q" e, P! v. X# Q7 o) E& n% n! ^本用户手册详细介绍了软件环境先决条件以及STM32 Trusted Package Creator工具软件的可用功能。: ]# I7 V) q( U9 \; B/ B  f
! T$ h- ?! A6 K3 ?$ O; r% T
" _1 j( S/ a+ n' R: G' Y
1系统要求0 C& j6 \* Q& @6 z' S6 s
支持的操作系统和架构为:
! _3 a" B$ y) I6 N1 p•Linux® 32位和64位(已在Ubuntu 14.04上测试)' ^' x; u- E8 R2 _) S
•Windows® 10-7-8 32位和64位2 I, _8 P4 r4 h" C" y7 m! Q% c
•macOS®(最小版本OS X® Yosemite)7 \2 x$ J, d- I& @" E
STM32CubeProgrammer和STM32 Trusted Package Creator可支持基于Arm® Cortex®-M处理器的STM32 32位器件。
8 n" R( R) i1 a( u2 s5 y
/ n8 l8 M/ H9 p

/ }& f/ y2 \3 ?  Z% F2准备过程
  N. m9 G" u" O' Y0 d2.1 SFI准备过程
  k. D3 ~# s0 K# A+ fSFI(安全固件安装)映像是由意法半导体创建的格式,包含已使用AES-GCM算法加密和验证的固件。图 1中描述了SFI准备过程。  d1 X4 Y$ ]: [

$ ~; V" {4 I' t1 w- ]) N3 b! z6 a
$ d, b2 W; _# c: p, ~$ A- p/ C+ w  A9 V
T8VZD%V_I0D7AQC31@`U07W.png
: }! r: }- ?  u5 i
' \, C; g- Q6 h% [在执行AES-GCM加密一个区域之前,该工具将初始化向量(IV)计算为:# g) N3 |3 s  V
IV = nonce + Area Index。
" w4 h( w- w  x3 `! Y其中nonce是一个数字,在AES-GCM算法中作为迭代过程的起始值只使用一次,以将不同的密文发送给相同的数据块。( l0 J3 q3 }+ a' n% G, K
然后,它将区域描述符(从magic开始到区域总数)作为附加认证数据(AAD)来传递。
& k0 s$ }) W$ Z0 W& ]; B1 H•输入固件中的每个段都会构成SFI文件中的一个固件(F)区域。
# N& U* O! Z$ I% Z( |0 `•每个SMI文件(组合情况)共同构成一个模块(M)区域。
$ y9 A6 r9 ~0 H9 D1 m! W5 G•选项字节配置构成配置(C)区域。
/ o* E1 S# g' O9 z2 J) r8 z为了生成头文件标签,该工具使用SFI头文件作为AAD以及nonce作为IV,执行仅经过验证的AES-GCM加密(不含纯文本或密文)。
8 l* u% ]& T1 @% m, T, M图 2中描述了SFI文件的结构。
& a; {% y$ y0 e* k6 s/ o
6 e4 p1 Z* w+ G8 j
( r$ I" a' t: g4 i% K
%9]G$C01HW%{HXE$R5@GTBK.png
) `! g/ b+ ?% ?) S" m4 v+ c8 r3 y
' ~. {: n. O5 f/ A要从多个固件文件准备SFI映像,您必须确保其各段之间没有重叠,否则会收到错误消息:“段之间重叠,无法合并固件文件”。
% X$ P2 A& E3 V! B+ D8 g# M/ T而且,在SFI-SMI组合映像的情况下,还会在各区域之间进行重叠检查(如果固件和模块区域之间存在重叠)。如果检查失败,将显示一条错误消息:“SFI区域之间重叠”。8 s) L/ j/ A' Z# E5 f
此外,所有SFI区域都必须位于flash中,否则生成将失败,并给出错误消息:“一个或多个SFI区域不在flash中”。
# i& j$ e8 _, J+ s  M5 O! V7 I5 ]& P" ]$ `( i

. T# G  V! H% l! v7 u2.2 SMI准备过程- b/ O- S( M$ Q! ]- L" F
一个SMI映像(安全模块安装)仅保护固件内的一个模块。8 R# i  ^' E7 {% B
图 3中描述了SMI准备过程。
+ Z; ^& [/ h3 k. t
: e- a8 r$ ?8 D
+ m% z2 r- f- A/ h) g& L% u! e
NYFDOJWCU1}3Q`629E(OT0W.png
  s$ a* P& d+ w% F1 j6 b8 n1 w" A. T# q

+ D" u3 i2 M, y使用以下输入来执行AES-GCM加密:
4 f  @. ^: C0 s  n" D& H•作为初始化向量(IV)的Nonce
. G. }5 `8 z" p  i  Z% a9 Q7 p•作为附加认证数据(AAD)的安全版本  A8 e& N3 f( B, Y7 q3 a6 t" c4 e
3) U2 r" J2 M4 p# Z# y. b
SMI准备之前,执行以下检查:
: T' i7 o" l% Y/ B3 d•专有代码读出保护(PCROP)区必须与闪存字(256位)对齐,否则会显示警告
( O9 E, X+ z8 o, @+ c该区大小必须至少为2个闪存字(512位),否则会显示警告
+ s- I2 {+ A: J8 _5 C) \3 X•该区必须以Flash字边界(256位的字)结束,否则会显示警告! U' h; t: B* N& d
•如果该区紧接着PCROP区域并在PCROP区的最后一个Flash字处开始,则生成失败并显示错误消息。
  s$ M/ J: |4 D5 y在SMI准备之后,还会生成一个明文(即未加密的)ELF文件,其中包含程序数据并且只包含明文代码段。5 ]" u+ A% B) V; H: N9 p# g
图 4中显示了SMI文件的结构。5 h6 @1 _$ I; Z/ G$ h6 }

; U. f7 F7 X$ \# @; x  a3 {) \# `9 W! Q' j' X

! D  ~, ]4 e, r! C# {! ?3 v TDOMU_P8GL2J[[~W{}%}_}4.png
9 C2 N- C4 V" D/ ~  {) j$ {7 V& K1 Y* t+ U" H" W  H1 E! y
! V% }8 v' E0 i4 W2 b1 L
完整版请查看:附件( b  ^$ Q; m0 A' n
' \& }1 k9 O$ e

0 K( X/ u# B( X' [
, t0 ]9 O; T7 _. u

' V8 a5 L- }# c/ I7 q' `

DM00403513_ZHV1.pdf

下载

1.64 MB, 下载次数: 15

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

举报

0个回答

所属标签

相似技术帖

官网相关资源

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