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

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

[复制链接]
zero99 发布时间:2018-3-27 11:58
前言
- j) o4 c: d9 p1 M) W0 fSTM32 X-CUBE-SBSFU 软件包已经发布,提供了安全启动(Secure Boot)和安全固件更新(Secure Firmware Update)功能。安全启动和安全固件更新使用了 STM32 内建的各种软硬件安全技术,构建了从启动开始的根信任链,可以用来防止固件克隆、恶意软件下载以及固件破坏。本文则是带领读者一% |5 E( B% e" j+ G( _
步一步来体验 STM32 安全启动与安全固件更新。
0 t+ y0 ~& y4 `$ G4 s1 r
# X" g3 Y& k5 d! b, N硬件3 T: K8 A8 w5 U8 v: `
- STM32 NUCLEO-L476RG 开发板
% ^3 m3 f+ J' C, e- Mini USB 连接线
0 p2 Q- u9 Y: G. f& k+ f# @  J) x6 f/ _1 g$ b, ^' |0 [- Y/ F' _
X- CUBE-SBSFU 1. 0.0
/ i8 {$ Y8 T# v$ _4 N: `http://www.st.com/content/st_com ... s/x-cube-sbsfu.html 可以下载
+ c$ m$ m3 v2 g% k( t! ZX-CUBE-SBSFU 1.0.0 安全启动以及安全更新组件。因为是安全相关的组件,下载需要发送请求并且需; D1 f( S, T4 Y0 [4 }
要得到批准。 读者需要 注册成为 m my.st.com 用户。  
9 K5 q, D, c0 c4 Q' O) g! h% I 31.png
" @6 V7 y8 p. D) E2 `6 q. T/ B, H( s/ P6 e2 a
批准通过后,你会收到一份邮件,邮件里会包含下载连接。
& e  f7 R8 I; ?# K7 v# O* o 32.png 4 ~/ |' N6 K- D% {" a4 T

  }; p. I& {$ i1 X# r2 r3 m& jSBU SFU  简介" w+ p* a0 i; B# J
2 STM32  安全启动( secure boot , 简称  SB )功能检查并使能 STM32 安全功能。在执行应用程序前,“安全启动”检查应用程序的完整性以及合法性。若应用程序被非法修改,或者应用程序不具有有效的签名,则应用程序将不会被执行。“安全启动”这段代码的执行,则利用 STM32 的安全 IP,被设计成不可被跳过。
2 _/ X" ]7 P5 I2 \1 L 33.png 5 Q; s' P/ Z% D" o

. T2 a+ k2 i6 ^" y8 A4 MSTM32  安全固件更新( secured  firmware update , 简称  SFU )则接收经过加密的固件,对它进行解密,在烧写升级的固件前验证它的完整性以及合法性。不完整或者非法来源的固件将不会用来升级。% M& C. n" Y" Z( F/ S* a9 u8 C
34.png
8 c/ p% ]5 v1 ^6 L& m( {# n9 L4 R9 R" S" T' f+ K1 g
SBSFU  安全技术概述3 O  w7 S9 t$ N: A2 O) j' N
现实世界中 MCU 产品并非部署在安全的环境里,总是会面临各种各样的威胁和攻击。SBSFU 使用各类STM32 IP 来构建安全防线,包括:
- k& u3 Z7 i* F0 o2 W- 使用加解密工具来保证系统的 完整性, 合法性以及 保密性。SBSFU 使用了对称密钥  AES- -M GCM 算法工具来进行固件的解密以及验证。解密算法可由软件实现,也可由 STM32 内建的加解密硬件IP 引擎实现。
2 z% w1 J' K$ C0 v$ B8 T' n( z- 使用 STM32 内建安全功能诸如内存保护技术来阻止外部通过 JTAG 或者内部恶意代码的攻击。SBSFU 使用了以下 STM32 安全功能来确保安全启动和安全固件更新的目标。+ I: l! x& b; R+ z, x
35.png
2 Z7 f3 T3 U# Z% F/ a) X+ @2 j* g  H2 T
SBSFU  的架构1 ]; N% e; ?% {! `# m
SBSFU 整体架构如下。应用层分为两大部分,一部分是安全启动,检查固件的合法性,进行固件下载和烧写;一部分是用户固件,功能则由用户定制。0 U/ ]% ^' }5 @( ~7 z
36.png 1 Q; b0 I, X5 T: D
0 s9 D/ Y- F" M. A
安全启动中的 安全引擎(SE) 中间件,提供了一个受保护的环境,来保护所有的关键数据和操作---包括进行加解密操作时时访问密钥等。受保护的代码和数据都是通过唯一的调用门进行访问,不可能在调用门之外来执行受保护代码或者访问关键数据。8 j6 F; t' S( v- `  X

! U  E9 \1 J6 N8 t/ z6 h/ j. o0 @...
, H- e1 |9 [  [/ f% i2 Z; ~! d
4 l7 y4 [0 ?0 W1 y2 ?了解更多,请下载后阅读. [7 ]& l( W! E5 N  C: b' W2 }
下载地址1>>         下载地址2>>       更多实战经验>> : G, v- e+ d! J- [' L3 P: k

+ i6 @# E) R$ Z1 ]2 ?
. M3 u0 _4 ^3 v. h  r
收藏 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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版