1、STM32信息安全层叠架构
随着物联网以及智能化产品的不断涌现,信息安全问题也日渐受到关注。信息安全是一个全系统需要统一考虑的问题,在提供服务的云端、通信管道、边缘及中断节点都需要部署完整的安全策略,即使是节点设备也不应该因为资源和处理能力有限而成为整个系统信息安全的薄弱环节。STM32 MCU从产品底层硬件的安全能力,中间件的提供的密码学引擎,到对接应用程序的安全方案与服务等,提供了完整的生态系统,助力打造设备端的信息安全,实现适合不同应用场景和行业需求的安全功能。
底层硬件:硬件安全功能
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提供密码学算法库X-CUBE-CRYPTOLIB软件包,满足应用软件设计中对密码学算法的需求。
STM32 密码学算法库包含两大类实现,一类是完全基于固件实现的版本,支持所有STM32产品系列,另一类是基于Crypto硬件加速器的版本,支持所有带有Crypto硬件外设的STM32产品。
Cryptolib软件包下载链接: >st.com/x-cube-cryptolib
安全方案与服务
安全启动与固件更新参考实现(SBSFU)
安全启动建立信息安全信任根,确保设备每次复位后所执行的应用代码的完整性和真实性。
安全固件更新能够帮助设备构建一个可以持续演进的系统,在安全可控的前提下进行设备版本更新,以便针对新的攻击增加对应的安全防护措施、更正原有错误和添加新功能。
STM32提供安全启动与安全固件更新的参考实现,该实现充分利用了STM32 MCU的各种硬件安全功能,并且支持众多产品系列,能够完整覆盖既往的产品系列(例如F4,F7,L1,L0,L4)以及较新的产品系列(例如G0,G4,H7,WB等),并将持续增加对后续新产品的支持。
SBSFU软件包下载链接 >st.com/x-cube- ** sfu
安全生产解决方案(SFI)
设备的固件一方面是软件IP,另一方面也是设备能够正确执行各种应用功能的重要基础,其安全性在设备的整个生命周期都应当受到关注。
存储器访问保护及IP保护能够防止设备出厂后固件从调试端口被非法获取,安全启动能够保证设备使用中固件的完整性与真实性,安全固件更新则保护了更新过程中的固件安全。
而设备生产阶段也是一个需要考虑的环节,STM32的安全固件安装(SFI)想要解决的就是如何在设备生产工厂保护固件安全性的问题,一方面保护生产程中固件的机密性和完整性,另一方面还能够控制固件烧录的次数,防止过量生产的情况。
安全固件安装(SFI)解决方案提供的资源包括:
固件加密打包工具(STM32TrustedPackageCreator):用于加密固件硬件安全模块H:用于保存固件加密密钥和产生烧录时的授权LicensePC端烧录工具(STM32CubeProgrammer):配合H实现安全烧录过程SFI相关的说明和使用文档2、STM32信息安全相关培训资源
线上课程培训
STM32信息安全(点击链接, 进入课程)
从智能锁谈STM32安全技术 (点击链接, 进入课程)
线下技术培训资料
STM32安全技术培训 (点击链接, 下载课件)
3、STM32信息安全相关文档资源
产品规范
说明:DB2 ** 1 STM32Cube的专有代码读保护(PCROP)软件扩展
点击下载:PDF
应用笔记
说明:AN5056 X-CUBE-SBSFU STM32Cube扩展包集成指南
点击下载:PDF
说明:AN5156 STM32微控制器安全简介
点击下载:PDF
说明:AN4729 STM32L0/L4防火墙概述
点击下载:PDF
说明:AN2606 STM32微控制器系统存储器启动模式
点击下载:PDF
说明:AN4701 STM32F4系列微控制器的专有代码读取保护
点击下载:PDF
说明:AN4758 STM32L4系列微控制器的专有代码读取保护
点击下载:PDF
说明:AN4968 STM32F72xxx和STM32F73xxx微控制器的专有代码读出保护(PCROP)
点击下载:PDF
说明:AN4230 使用NIST统计套件验证STM32微控制器随机数生成
点击下载:PDF
说明:AN3371 在STM32F0、F2、F3、F4和L1系列MCU中使用硬件实时时钟(RTC)
点击下载:PDF
说明:AN4992 安全固件安装(SFI)概述
点击下载:PDF
说明:AN5054 使用STM32CubeProgrammer进行安全编程
点击下载:PDF
说明:AN4838 STM32 MCU 的存储器保护单元 (MPU)
点击下载:PDF
说明:AN4246 STM32L1 微控制器的专有代码读取保护
点击下载:PDF
用户手册
说明:UM2262 X-CUBE-SBSFU STM32Cube扩展包入门指南
点击下载:PDF
说明:UM2237 STM32CubeProgrammer软件说明
点击下载:PDF
说明:UM2238 STM32 Trusted Package Creator软件工具描述
点击下载:PDF
关注微信公众号“STM32”了解更多详情