
引言 本应用笔记介绍了 STM32 微控制器的安全基础知识。 微控制器中的安全性涵盖了几个方面,其中包括固件知识产权保护、设备私有数据保护以及服务执行保证。 在物联网的背景下,安全性更加重要。大量联网器件成为了攻击者的主要目标,一些远程攻击通过器件通信通道的弱点对其进行攻击。对于物联网,信息安全的要求从机密性和身份认证扩展到了通信渠道,这些通信渠道往往要求加密。 本文档旨在通过对不同攻击类型采取对策来帮助构建安全系统。 在第一部分,在快速概述不同类型的威胁之后,会提供一些典型的攻击示例,以展示攻击者如何利用嵌入式系统中的不同弱点。 接下来的几节重点介绍了保护系统免受这些攻击的一套硬件和软件防护。 最后几节列出了 STM32 系列中可用的所有安全功能,并提供了用于构建安全系统的指南。3 {7 T9 ^( D/ G3 I/ H8 `$ U ![]() 1 概述& g/ Y# f, b6 u6 j2 b 下表提供了本文所用的缩略词及其意义的非详尽列表。! x. W; V5 h6 u* w: J% Y 表 2. 词汇表7 c$ Q0 s0 t" y9 _) f9 n1 _4 e ![]() ![]() 术语 , h& |6 P& ]. A# l) ^" U) h 参考文档 各器件的参考手册详细介绍了可用的安全特性以及存储器保护实现的信息。1 L' [( _# m$ A5 | 每个 Arm® Cortex®版本均提供有编程手册,可用于说明 MPU(内存保护单元): • STM32L5 系列 Cortex®-M33+ 编程手册(PM0264)。 • STM32F7 系列和 STM32H7 系列 Cortex®-M7 处理器编程手册(PM0253) 4 z7 K. ^0 x1 o5 N& E/ r7 i • STM32F3 系列、STM32F4 系列、STM32L4 系列和 STM32L4+系列 Cortex®-M4 编程手册(PM0214) • STM32F10xxx/20xxx/21xxx/L1xxxx Cortex®-M3 编程手册(PM0056) % R% R2 s* @ S" ?+ H7 `5 ^7 z • STM32L0 系列和 STM32G0 系列 Cortex®-M0+编程手册(PM0223)& p: e P. O- d 有关某些安全特性的详细说明,请参考以下用户手册和应用笔记(可从 www.st.com 获取): • 用户手册 UM1924“STM32 加密库”:介绍了 STM32 加密库的 API;随附 X‑CUBE‑CRYPTOLIB 扩展包。3 }$ e W5 ~5 [ • 用户手册 UM2262 “X-CUBE-SBSFU STM32Cube 扩展包入门”:介绍了 ST 的 SB(安全启动)和 SFU(安全固件更新)解决方案;随附 X‑CUBE‑SBSFU 扩展包。9 Q4 F( K/ T) I5 f# @$ D • 应用笔记 AN4246、AN4701、AN4758、AN4968“STM32xx 微控制器上专有代码读出保护”:说明如何为STM32L1、F4、L4 和 F7 系列分别设置和使用 PCROP 固件;随附 X‑CUBE‑PCROP 扩展包。- I2 E! L$ X. h; n • 应用笔记 AN4838“STM32 MCU 中内存保护单元(MPU)的管理”:介绍了如何在 STM32 产品中管理 MPU。 • 应用笔记 AN5185“STM32WB ST 固件升级服务”1 f0 S1 ~3 J' m' r$ w7 ] ; F, D# X( z. U 提示 : X1 w4 \5 D* W' y Arm 是 Arm Limited(或其子公司)在美国和/或其他地区的注册商标。3 i: V c6 D# F+ D - Rev 4 . d/ b' Z2 E) p* V0 O) Z 2 概述$ h# \% Y4 T3 A( D 2.1 安全保护的目的" _5 z, x% X3 @; c3 R6 m) T 为何需要采取保护措施* L. U: y: y/ H8 y5 v- o5 u 微控制器中的安全性是指保护内置的固件、数据以及系统功能。而对于数据保护有需求的场合,尤其是密钥和个人数据最为重要。5 g+ l! C7 X \8 x 固件代码也是重要的资产。如果攻击者能够访问二进制代码,便可对程序进行逆向工程,尝试找到其它漏洞,绕过许可和软件限制。攻击者可以复制任何自定义算法,甚至可以使用它来刷新硬件的克隆。即使是开源软件,也有必要证明代码的真实性,而且并未被恶意固件替代。- ~/ i( k+ r7 a 考虑到系统层面的保护,如环境,包含气体,火灾或侵蚀,检测报警或监控摄像头,拒绝报务攻击(DoS 攻击)是另一种主要威胁。系统功能须具有稳健、可靠的特性。 即使安全要求增加了系统的复杂性,也不得低估其地位。如今,越来越多的技术熟练的攻击者将基于微控制器构建的系统做为潜在目标,希望以此实现经济获益。这些收益可能会非常高,特别是在攻击可大规模传播(比如在 IoT环境中)的情况下。即使系统无法达到完全安全,也可以提高攻击的成本。+ f' y8 m; `+ L 事实上,IoT 或智能设备已提高了对安全的要求。互联设备可远程访问,因此对黑客来说极具吸引力。这个连接性本身可能为攻击提供了一个基于协议弱点的入口。一旦成功实施攻击后,一台被破解的设备会破坏整个网络的完整性(请参见下图)。+ H* O) r; b8 p7 d0 ~ : j% o* t2 j0 x% f# u- }7 B* `8 P3 [/ v ![]() 设备什么需要被保护6 Y; L" t. {. \1 T; x 安全不能局限于特定的目标或资产。如果代码二进制文件一旦被公开,则很难保护数据,对应攻击行为和保护机制很难被区分。但是对资产和风险进行汇总仍然非常有用。 下表介绍的是被攻击者当做目标的部分资产列表。 ) D2 b9 \6 S. t4 H 1 M0 U* X( }2 S. |$ x2 y ![]() 资产 弱点、威胁和攻击 保护机制需要处理不同的威胁。目的在于消除攻击中可能利用的弱点。第 3 节 攻击类型中概括介绍了主要攻击类型(从基本攻击到最高级的攻击)。3 r# i+ S* t* ^: b 下面介绍有关安全的三要素: • 资产:需要保护的内容 • 威胁:需要保护器件/用户免于的内容( I, W \' C) E" h; o, b • 弱点:保护机制中存在的漏洞或缺陷 总而言之,攻击是指一种利用系统漏洞访问资产的实现。 完整版请查看:附件+ X8 r$ c# V1 o$ H7 B2 I# ] ) ~$ |1 s L0 ^5 c |
DM00493651_ZHV4.pdf
下载4.08 MB, 下载次数: 0
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
STM32功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享
HRTIM 指南
ST 微控制器电磁兼容性 (EMC) 设计指南