STMCU小助手
发布时间:2022-7-26 18:25
|
引言 本用户手册介绍了如何开始使用X-CUBE-SBSFU STM32Cube扩展包。4 K9 v. E' j4 o2 G) C0 N' W# r/ r 安全启动(SB)和安全固件更新(SFU)解决方案允许使用新固件版本更新STM32微控制器内置程序、添加新功能并更正潜在问题。更新过程以安全方式执行,以防止未经授权的更新以及访问机密设备上的数据,如密码和固件加密密钥。8 [5 v2 e7 ?$ l1 g 此外,安全启动(可信根服务)会检查并激活STM32安全机制,并在每次执行之前检查用户应用程序代码的真实性和完整性,确保无效或恶意代码无法运行。# X! o' p& d$ M, |5 y 安全固件更新应用程序会接收加密的固件映像,检查其真实性并对其进行解密,然后在安装之前检查代码的完整性。 安全固件更新应用程序支持: • 两种操作模式:1 {: K0 `% o& M* {* s – 双映像模式,可实现安全映像编程,具有固件映像备份和回滚功能 – 单映像模式,可最大限度地提高用户应用程序占用空间大小& e f4 ]& M; B5 E7 a% v# _ • 三种加密方案,使用对称和非对称加密操作 X-CUBE-SBSFU补充了STM32Cube软件技术,使不同STM32微控制器之间更易移植。它随附了一个在NUCLEO-L476RG平台上运行的示例实现。( _2 n) n) d7 r( V, n- @ 提供了X-CUBE-SBSFU作为参考代码,演示STM32安全保护机制的最新用法。这是OEM厂商根据其产品安全要求水平开发自己的SBSFU的起点。4 C. y8 Q9 X! j. r X-CUBE-SBSFU归类为ECCN 5D002" d5 O" N' C, Z* z4 I+ m% f) c 1 一般信息 表 1给出了相关的缩略语定义,帮助您更好地理解本文档。
$ \; b' y. U8 b, i/ j& J& J } 表 2给出了相关的术语定义,帮助您更好地理解本文档。. f/ \/ a3 f0 C g* x 8 B5 C) d, ~$ B+ o
, n" N! y* m+ @" [ X-CUBE-SBSFU安全启动和安全固件更新扩展包可在基于Arm®(a) Cortex®-M处理器的STM3232位微控制器上运行。 5 a0 z) J8 x+ y$ I/ W9 P3 C 2 STM32Cube 概述 STM32Cube是什么? STMCube™由意法半导体最初发起,通过减少开发工作量、时间和成本,让开发人员的生活更轻松。STM32Cube是STMCube™实现,涵盖了整个STM32产品组合。 STM32Cube包括:, W( P/ J. U% U+ ~! k2 W6 C5 C- R • STM32CubeMX,一个图形化的软件配置工具,能够使用图形向导生成C初始化代码。 • 每个STM32微控制器系列都提供了全面的MCU封装(例如STM32F4系列的STM32CubeF4),包括: – STM32抽象层嵌入式软件STM32CubeHAL,确保在STM32各个产品之间实现最大限度的可移植性。 – 底层API(LL)提供了一个专家级的快速轻量级层,它比HAL更靠近硬件。 – 一套一致的中间件,比如RTOS、USB和图形 – 提供了一套完整示例以及嵌入式软件工具。4 J. v) @7 w r ! p/ m7 H4 a: g6 g& n" }" V 此软件如何补充STM32Cube? 该软件基于STM32CubeHAL,即STM32微控制器的硬件抽象层。该软件包通过提供用于管理所" S' W: {0 h4 ` 有关键数据和操作(例如访问固件密钥等的加密操作)的中间件组件(安全引擎),扩展了STM32Cube。2 \( {! i7 Y) c8 g 该软件包包含有不同的示例应用程序,可提供完整的SBSFU解决方案: • SE_CoreBin应用程序:提供包含所有“可信”代码的二进制文件。' F4 k7 j/ e+ t • 安全启动和安全固件升级(SBSFU)应用程序: – 安全启动(可信根) – 通过UART虚拟COM进行本地下载 – FW安装管理 • 用户应用程序:+ V; J" L' `) o1 z% ? – 在双映像操作模式下下载新使用的固件/ @. d! ]3 P( G6 { – 提供了测试保护机制的示例1 F8 h& H! c: c2 F% y& k4 y 示例应用程序提供了双映像和单映像操作模式,能够配置为所支持的任意加密方案。5 o2 ^3 S$ A. l; r8 G 本用户手册介绍了软件包的典型用法:6 q! S1 K9 u& x" |! C • 基于NUCLEO-L476RG板 - m# F# F) N6 r, U7 o • 示例应用程序在双映像模式下运行,并配置了非对称身份验证和对称固件加密 有关配置选项和单映像操作模式的更多信息,请参阅本文档的附录。. d( O! W; V1 `. D5 l 3 安全启动和安全固件升级(SBSFU)! N) X9 Z7 w( `8 E9 N+ e 3.1 产品安全介绍 现场部署的设备在不受信任的环境中运行,因此会受到威胁和攻击。为了减轻受攻击风险,我们的目标是只在设备上运行可靠的固件。事实上,更新固件映像来修复错误,或引入新功能或对策,这些对于连接的设备来说是常见的事情,但如果不以安全方式来执行这些操作,它就会很容易受到攻击。 其后果可能是破坏性的,如固件克隆、恶意软件下载或设备损坏。必须设计安全解决方案来保护敏感数据(甚至可能是固件本身)和关键操作。 典型的对策基于加密技术(带有相关密钥)和内存保护: • 加密可确保固件传输期间的完整性(确保数据未被破坏)、身份验证(确保某个实体确实符合其声明)以及机密性(确保只有经过授权的用户才能读取敏感数据)。 • 内存保护机制可以防止外部攻击(例如,通过JTAG物理访问设备)以及来自其他嵌入式进程的内部攻击。 以下章节介绍实现机密性、完整性和身份验证服务的解决方案,以解决IoT终端节点设备最常见的威胁。 6 a; ^8 p# i/ \; {! l7 i 3.2 安全启动6 W6 B5 b- Q J 安全启动(SB)确保所执行的用户应用程序映像的完整性和可靠性:使用加密检查,防止运行未经授权或恶意修改的软件。安全启动过程实现可信根(参见图 1):从该可信组件(1)开始,其他每个组件在其执行之前(( r% I2 x9 q- d+ d; S8 C/ p 3)都要经过认证(2)。 对完整性进行验证,以确保即将执行的映像未被破坏或恶意修改。 可靠性检查旨在验证固件映像是来自可信且已知的源,以防止未经授权的实体安装及执行代码。 ) V2 a9 h; Q8 r
" D3 i5 _; j1 q) r; \9 F 完整版请查看:附件 |
DM00414687_ZHV3.pdf
下载1.83 MB, 下载次数: 16
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
Keil-MDK 在线调试设置断点的高级用法
请教下STM32N6570 怎么把分辨率改成320x240并可以全屏显示
【福利三:逢7发帖赢大礼】想要充分利用STM32H743VI片内的RAM空间(但并不顺利)
基于stm32平台上的IC-MU磁绝对值编码器SPI通讯和码盘数据处理
使用STM32 MCU和MPU连接PDM数字麦克风
分享STM32资料-采用 STM32U031R8 MCU 的 STM32 Nucleo-64 开发板,官方资料,数据手册等资料
HRTIM 指南
使用 STM32 的 DWT 单元监控内存
DAC,COMP,HRTIM Fault 功能的使用
微信公众号
手机版