UM2238:STM32 Trusted Package Creator工具软件说明* t1 F* B5 O: C2 ^- D# |( C 数据摘要 5 h* B# M) ?. F+ w' s* r" X 引言/ ]- s I l0 o- q# ]2 B STM32 Trusted Package Creator是STM32CubeProgrammer工具集(STM32CUBEPROG) 的一部分,能够生成安全固件和模块,用于STM32安全编程解决方案,它们是: • 安全固件安装(SFI):SFI是一种安全机制,通过使用AES-GCM密钥对整个固件进行加 密,可以在不受信任的产品环境中安全地安装OEM固件。3 ~' L( q- r* X7 z5 Z' I1 D • 安全模块安装(SMI):SMI旨在通过使用AES-GCM密钥加密此部分来保护该部分固件 (ELF文件的一部分)。 SFI-SMI组合映像是包含一个或多个模块区域的SFI映像。 + Q; U6 `3 Y2 P3 C3 v4 Z • 安全固件升级(SFU):SFU是一种允许以安全方式升级STM32微控制器内置程序的解决 方案。有关SFU的更多信息,请参阅http://www.st.com上的X-CUBE-SBSFU软件包以 获取更多信息。 # e; \2 L$ c* d3 B# `4 O 本用户手册详细介绍了软件环境先决条件以及STM32 Trusted Package Creator工具软件的可 用功能。9 S) F, A4 \* Y 4 Z4 G4 R) S% J: p4 d 1 系统要求. z7 ~0 }, ^6 g4 y 支持的操作系统和架构为: • Linux® 32位和64位(已在Ubuntu 14.04上测试) • Windows® 10-7-8 32位和64位 • macOS®(最小版本OS X® Yosemite) 1 E' [9 m) m/ B. M: ?4 ` STM32CubeProgrammer和STM32 Trusted Package Creator可支持基于Arm® Cortex®-M 处理器的STM32 32位器件。& Z1 s' V l9 M& \ $ e$ s6 }6 V4 v4 ?, t ' g8 x4 W+ U- r+ c0 ] 2 准备过程5 ~! V' r2 x# e9 X+ a$ T 2.1 SFI准备过程* O- ?0 k5 L- O& g/ p SFI(安全固件安装)映像是由意法半导体创建的格式,包含已使用AES-GCM算法加密和验 证的固件。 图 1中描述了SFI准备过程。 在执行AES-GCM加密一个区域之前,该工具将初始化向量(IV)计算为: . |7 w. c) d3 n) W IV = nonce + Area Index。 其中nonce是一个数字,在AES-GCM算法中作为迭代过程的起始值只使用一次,以将不同的 密文发送给相同的数据块。 然后,它将区域描述符(从magic开始到区域总数)作为附加认证数据(AAD)来传递。 • 输入固件中的每个段都会构成SFI文件中的一个固件(F)区域。 " C1 V+ d" i2 R* O3 z( G2 p • 每个SMI文件(组合情况)共同构成一个模块(M)区域。 • 选项字节配置构成配置(C)区域。 6 O# h$ I- |4 j. v. B 为了生成头文件标签,该工具使用SFI头文件作为AAD以及nonce作为IV,执行仅经过验证 的AES-GCM加密(不含纯文本或密文)。 图 2中描述了SFI文件的结构。+ N( L5 k% p! B & d0 P' \* C4 W2 ]9 o& { ............................ 6 q# H* [) g) `- a9 R& d# ^ 阅读更多的内容,请下载文档 下载地址1>> 下载地址2>> 更多中文文档>> |