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

一步一步使用 STM32 安全启动与固件更新

[复制链接]
zero99 发布时间:2018-3-27 11:58
前言7 f. `" Z4 r5 _8 S
STM32 X-CUBE-SBSFU 软件包已经发布,提供了安全启动(Secure Boot)和安全固件更新(Secure Firmware Update)功能。安全启动和安全固件更新使用了 STM32 内建的各种软硬件安全技术,构建了从启动开始的根信任链,可以用来防止固件克隆、恶意软件下载以及固件破坏。本文则是带领读者一
2 z* P, Z# V8 B9 e  j+ ^1 u  w步一步来体验 STM32 安全启动与安全固件更新。4 T) ?+ j( p8 {
& `2 \" \) @, e; a
硬件; m4 b5 K! J$ {1 p! M
- STM32 NUCLEO-L476RG 开发板1 o+ X6 j) v; q" a' ]% `( g
- Mini USB 连接线
% e( S8 w5 z* ~3 x- ~/ B4 k/ v( G. e5 U- p7 ?
X- CUBE-SBSFU 1. 0.05 C% m; b* [1 _1 a- p  X1 }) p4 J
http://www.st.com/content/st_com ... s/x-cube-sbsfu.html 可以下载
2 y; P, N# Q' ]% X0 d. c6 oX-CUBE-SBSFU 1.0.0 安全启动以及安全更新组件。因为是安全相关的组件,下载需要发送请求并且需% f: [4 T$ Y+ g7 G# X- @
要得到批准。 读者需要 注册成为 m my.st.com 用户。  
7 V! S" F9 u: x 31.png
, ~* p5 h+ z' ]5 b5 m+ w& c' s, \* L* x/ w) t
批准通过后,你会收到一份邮件,邮件里会包含下载连接。
5 [7 L  d& \; G# a( C 32.png # G" d* m1 d$ P& s. U$ P$ x+ \7 M  P" u
) l3 y% M( G# G1 Z0 F
SBU SFU  简介, X  i8 j  _# I
2 STM32  安全启动( secure boot , 简称  SB )功能检查并使能 STM32 安全功能。在执行应用程序前,“安全启动”检查应用程序的完整性以及合法性。若应用程序被非法修改,或者应用程序不具有有效的签名,则应用程序将不会被执行。“安全启动”这段代码的执行,则利用 STM32 的安全 IP,被设计成不可被跳过。
' r7 d, {" b. W% R3 P4 w/ }, e+ O  O 33.png - A% Z4 z: C" c, M: M( T
  T' I9 i9 \; t, t0 K
STM32  安全固件更新( secured  firmware update , 简称  SFU )则接收经过加密的固件,对它进行解密,在烧写升级的固件前验证它的完整性以及合法性。不完整或者非法来源的固件将不会用来升级。( X' M$ d) o* P5 e" a* _/ S
34.png
1 H2 E  N4 ~- q# U4 I. f  |( W# H+ Q, {, j
SBSFU  安全技术概述
+ C  h9 g5 g- J! D) S8 u. [现实世界中 MCU 产品并非部署在安全的环境里,总是会面临各种各样的威胁和攻击。SBSFU 使用各类STM32 IP 来构建安全防线,包括:
0 c1 ]4 M( Y) c9 H( t; r- 使用加解密工具来保证系统的 完整性, 合法性以及 保密性。SBSFU 使用了对称密钥  AES- -M GCM 算法工具来进行固件的解密以及验证。解密算法可由软件实现,也可由 STM32 内建的加解密硬件IP 引擎实现。4 l1 Q+ x+ n* O% `- v  ^
- 使用 STM32 内建安全功能诸如内存保护技术来阻止外部通过 JTAG 或者内部恶意代码的攻击。SBSFU 使用了以下 STM32 安全功能来确保安全启动和安全固件更新的目标。) l' J; N. [) V7 K! e7 F" d! U- W8 N
35.png
9 w2 y! i' `9 k$ C
. i, ~3 E4 e3 OSBSFU  的架构
2 g" n( c, p! Z" u6 _- o% d8 ^/ TSBSFU 整体架构如下。应用层分为两大部分,一部分是安全启动,检查固件的合法性,进行固件下载和烧写;一部分是用户固件,功能则由用户定制。
: p& T( W/ t$ o/ Y( J) B 36.png / D! e6 ]- f# O: ^

! ]/ C8 r/ t# f& j; a; b; P  F安全启动中的 安全引擎(SE) 中间件,提供了一个受保护的环境,来保护所有的关键数据和操作---包括进行加解密操作时时访问密钥等。受保护的代码和数据都是通过唯一的调用门进行访问,不可能在调用门之外来执行受保护代码或者访问关键数据。- I$ m3 {  i9 j) W/ |
0 k) v) p7 B) B" g* I, A
...6 l/ {8 ?, a7 X& ^2 p9 f7 F3 C% Z0 J
+ e  @& Y$ s1 M; X0 W
了解更多,请下载后阅读
7 b/ J: b- I1 f8 ?  h  X下载地址1>>         下载地址2>>       更多实战经验>>   [3 U2 ~# V6 o8 I6 w

( d5 @: \6 w4 y: a7 I) F# v' L0 ?: C* H. b0 }5 z8 z0 ?& M
收藏 1 评论2 发布时间:2018-3-27 11:58

举报

2个回答
hello_bug 回答时间:2018-3-28 07:45:48
对于追求产品安全性的工程师是个好消息。
kylongmu 回答时间:2018-3-29 16:32:56
的确不错,可惜只有L4的例子,而且步骤还是太麻烦了,希望以后的版本能继续提升。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版