STM32信息安全系统概览
1 STM32Trust
2 STM32信息安全层叠架构
2.1 底层硬件:STM32硬件安全特性
2.2 中间件层:STM32密码学工具
2.3 安全方案与服务
STM32安全启动与固件更新参考实现(SBSFU)
STM32安全生产解决方案(SFI)
3 安全认证与评估
4 参考资料与培训资源
文档资料
培训资源
随着物联网以及智能化产品的不断涌现,信息安全问题也日渐受到关注。信息安全是一个从系统层面需要统一考虑的问题:在提供服务的云端、通信管道、边缘及终端节点都需要部署完整的安全策略,终端节点设备不应该因为资源和处理能力有限而成为整个系统信息安全的薄弱环节。STM32Trust正是在这样的背景下应运而生,目标是让客户在其新产品的设计中能够加强安全性并充分利用STM32MCU硬件特性及其生态系统资源来实现安全设计。
STM32Trust是一个集合了信息安全知识、生态系统和安全服务的综合的安全架构,基于多层次的安全策略,提供针对代码和执行保护在内的完整工具。STM32Trust的构建基于众多客户使用场景对信息安全的需求,并提出了安全功能的概念,来更好地契合来自客户的实际需求和信息安全相关规范的共性要求。
主要的安全功能如:
• 安全启动 SecureBoot
• 安全升级 Secure Update
• 安全存储 Secure Storage
• 系统隔离 Isolation
• 安全生产 Secure Manufacturing
• 软件IP保护 SW IP Protection
• 密码学引擎 Crypto Engine
• 异常检测与处理 Abnormal Situation Handling
• 身份识别与认证 Identification/Authentication/Attestation
• …
STM32Trust生态中所提供各种安全能力、方案、工具、服务等也都围绕这些安全功能展开。
STM32 MCU从产品底层硬件的安全能力,中间件的提供的密码学服务,到对接应用程序的安全方案与服务等,提供了完整的生态系统,助力打造设备端的信息安全,实现适合不同应用场景和行业需求的安全功能。
对于某些有更高级别安全需求的应用,在充分利用STM32本身的安全能力基础之上,还可以叠加使用安全芯片STSAFE-A,进一步提高最终产品的安全性。在STM32的信息安全生态系统中,也包含叠加使用例如STSAFE-A100的相关工具和用例。
2.1 底层硬件:硬件安全功能
• STM32 MCU内建多种安全功能,为设备信息安全打造坚固的平台,在这个平台的基础上进而可以运行可信的进程以及密码学操作。
• STM32 MCU底层硬件具备的安全能力能够覆盖存储访问保护、代码/系统隔离、启动入口限定、防篡改检测、密码学算法加速等多方面的安全需求,例如
• 身份识别:UID, OTP
• 存储访问保护/软件IP保护:RDP(读保护),WRP(写保护),PCROP(专有代码保护),OTFDEC(On-The-Fly Decryption实时解密模块)
• 代码/系统隔离:MPU,Firewall(防火墙),TrustZone,Secure User Memory(安全用户存储区)
• 启动入口限定:RDP2,BOOTLOCK(启动锁定)
• 防篡改检测:Anti-Tamper
• 密码学算法硬件:AES,HASH,PKA,TRNG
芯片硬件安全功能结合软件能够实现更多应用层的安全功能,例如安全启动,安全更新,安全存储,安全通信,可信执行环境等等
更多内容请点击STM32信息安全硬件特性
2.2 中间件层:密码学工具
• 密码学是保护关键信息的保密性,完整性和认证的重要工具,STM32提供密码学算法库X-CUBE-CRYPTOLIB软件包,满足应用软件设计中对密码学算法的需求。
• STM32 密码学算法库包含两大类实现,一类是完全基于固件实现的版本,支持所有STM32产品系列,另一类是基于Crypto硬件加速器的版本,支持所有带有Crypto硬件外设的STM32产品
• Cryptolib 软件包下载链接 https://www.st.com/x-cube-cryptolib 。
更多内容请点击STM32 密码学算法库
2.3 安全方案与服务
STM32 安全启动与固件更新参考实现(SBSFU)
• 安全启动建立信息安全信任根,确保设备每次复位后所执行的应用代码的完整性和真实性。
• 安全固件更新能够帮助设备构建一个可以持续演进的系统,在安全可控的前提下进行设备版本更新,以便针对新的攻击增加对应的安全防护措施、更正原有错误和添加新功能。
• STM32提供安全启动与安全固件更新的参考实现,该实现充分利用了STM32 MCU的各种硬件安全特性,并且支持众多产品系列,能够完整覆盖既往的产品系列(例如F4,F7,L1,L0,L4)以及较新的产品系列(例如G0,G4,H7,WB等),并将持续增加对后续新产品的支持
• SBSFU 软件包下载链接 https://www.st.com/x-cube-sbsfu 。
更多内容请点击 STM32 安全启动与安全固件更新参考实现
STM32 安全生产解决方案(SFI)
• 设备的固件一方面是软件IP,另一方面也是设备能够正确执行各种应用功能的重要基础,其安全性在设备的整个生命周期都应当受到关注。
• 存储器访问保护及IP保护能够防止设备出厂后固件从调试端口被非法获取,安全启动能够保证设备使用中固件的完整性与真实性,安全固件更新则保护了更新过程中的固件安全。
• 而设备生产阶段也是一个需要考虑的环节,STM32的安全固件安装(SFI)想要解决的就是如何在设备生产工厂保护固件安全性的问题,一方面保护生产程中固件的机密性和完整性,另一方面还能够控制固件烧录的次数,防止过量生产的情况
• 安全固件安装(SFI)解决方案提供的资源包括
• 固件加密打包工具(STM32TrustedPackageCreator):用于加密固件
• 硬件安全模块HSM:用于保存固件加密密钥和产生烧录时的授权License
• PC端烧录工具(STM32CubeProgrammer):配合HSM实现安全烧录过程
• SFI相关的说明和使用文档
更多内容请点击 STM32 安全生产方案
文档资料
STM32信息安全总览 |
||
Introduction to STM32 microcontrollers security 《STM32系列微控制器的安全性介绍》 |
应用笔记 |
代码保护相关资料 |
||
Proprietary code read-out protection on microcontrollers of the STM32F4 Series 《STM32F4系列微控制器的专有代码读取保护》 |
F4应用笔记 |
|
Proprietary code read-out protection on STM32L4, STM32L4+ and STM32G4 Series microcontrollers 《STM32L4和STM32L4plus以及STM32G4微控制器上的专有代码读保护》 |
L4/L4+应用笔记 |
|
Proprietary code read out protection (PCROP) on STM32F72xxx and STM32F73xxx microcontrollers 《STM32F72x、F73x的PCROP使用说明》 |
F7应用笔记 |
|
Proprietary Code Read Out Protection on STM32L1 microcontrollers 《STM32L1 微控制器的专有代码读取保护》 |
L1应用笔记 |
|
Proprietary code read-out protection (PCROP), software expansion for STM32Cube 《STM32Cube的专有代码读保护(PCROP)软件扩展》 |
PCROP扩展软件包简介 |
代码/系统隔离相关资料 |
||
《STM32L超低功耗系列MCU中嵌入的防火墙的应用手册》 |
安全防火墙Firewall 应用笔记 |
|
《STM32L0和STM32L4防火墙概述》 |
||
Managing memory protection unit in STM32 MCUs 《STM32微控制器上管理内存保护单元》 |
MPU 应用笔记 |
|
STM32L5 Series TrustZone® features 《STM32L5的TrustZone特性》 |
TruzeZone |
|
|
Getting started with STM32L5 Series microcontrollers and TrustZone® development 《基于STM32L5的TrustZone开发入门体验》 |
随机数与密码学算法相关资料 |
||
《STM32加密库》 |
用户手册 |
|
演示文稿 |
||
|
STM32 microcontroller random number generation validation using the NIST statistical test suite 《使用NIST统计测试套件验证STM32微控制器随机数生成》 |
应用笔记 |
安全启动与安全固件更新软件包相关资料 |
||
Integration guide for the X-CUBE-SBSFU STM32Cube Expansion Package 《X-CUBE-SBSFU STM32Cube扩展包集成指南》 |
X-CUBE-SBSFU |
|
Getting started with the X-CUBE-SBSFU STM32Cube Expansion Package 《X_CUBE_SBSFU安全启动和固件更新软件入门》 |
||
|
《STM32L5的安全启动和安全固件升级方案介绍》 |
STM32L5 SBSFU |
安全生产相关资料 |
||
Overview secure firmware install (SFI) 《安全固件安装(SFI)概述》 |
安全固件安装 |
|
Secure programming using STM32CubeProgrammer 《使用STM32CubeProgrammer进行安全编程》 |
安全烧录 |
|
STM32 Trusted Package Creator tool software description 《STM32 Trusted Package Creator软件工具描述》 |
安全包生成工具 |
|
STM32CubeProgrammer software description 《STM32CubeProgrammer软件说明》 |
CubeProgrammer使用手册 |
其他 |
||
STM32 microcontroller system memory boot mode 《STM32微控制器系统存储器启动模式》 |
启动模式 |
|
Using the hardware real-time clock (RTC) in STM32 F0, F2, F3, F4 and L1 series of MCUs 《如何使用STM32硬件RTC》 |
电源后备域与防入侵检测 |
培训资料
培训课程及资料 |
||
综合 - 信息安全基础 - 密码学基础 - STM32硬件安全特性 - 安全启动与安全固件更新 |
视频课程 |
|
信息安全基础 |
培训课件 |
|
密码学基础 |
||
STM32硬件安全特性 |
||
安全启动与安全固件更新 |
||
安全服务/解决方案 |