STM32信息安全概览

1、STM32信息安全层叠架构

随着物联网以及智能化产品的不断涌现,信息安全问题也日渐受到关注。信息安全是一个全系统需要统一考虑的问题,在提供服务的云端、通信管道、边缘及中断节点都需要部署完整的安全策略,即使是节点设备也不应该因为资源和处理能力有限而成为整个系统信息安全的薄弱环节。STM32 MCU从产品底层硬件的安全能力,中间件的提供的密码学引擎,到对接应用程序的安全方案与服务等,提供了完整的生态系统,助力打造设备端的信息安全,实现适合不同应用场景和行业需求的安全功能。

STM32信息安全概览

底层硬件:硬件安全功能

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软件包下载链接:https://www.st.com/x-cube-cryptolib

安全方案与服务

安全启动与固件更新参考实现(SBSFU)

安全启动建立信息安全信任根,确保设备每次复位后所执行的应用代码的完整性和真实性。

安全固件更新能够帮助设备构建一个可以持续演进的系统,在安全可控的前提下进行设备版本更新,以便针对新的攻击增加对应的安全防护措施、更正原有错误和添加新功能。

STM32提供安全启动与安全固件更新的参考实现,该实现充分利用了STM32 MCU的各种硬件安全功能,并且支持众多产品系列,能够完整覆盖既往的产品系列(例如F4,F7,L1,L0,L4)以及较新的产品系列(例如G0,G4,H7,WB等),并将持续增加对后续新产品的支持。

SBSFU软件包下载链接https://www.st.com/x-cube-sbsfu

安全生产解决方案(SFI)

设备的固件一方面是软件IP,另一方面也是设备能够正确执行各种应用功能的重要基础,其安全性在设备的整个生命周期都应当受到关注。

存储器访问保护及IP保护能够防止设备出厂后固件从调试端口被非法获取,安全启动能够保证设备使用中固件的完整性与真实性,安全固件更新则保护了更新过程中的固件安全。

而设备生产阶段也是一个需要考虑的环节,STM32的安全固件安装(SFI)想要解决的就是如何在设备生产工厂保护固件安全性的问题,一方面保护生产程中固件的机密性和完整性,另一方面还能够控制固件烧录的次数,防止过量生产的情况。

STM32信息安全概览

安全固件安装(SFI)解决方案提供的资源包括:

  • 固件加密打包工具(STM32TrustedPackageCreator):用于加密固件
  • 硬件安全模块HSM:用于保存固件加密密钥和产生烧录时的授权License
  • PC端烧录工具(STM32CubeProgrammer):配合HSM实现安全烧录过程
  • SFI相关的说明和使用文档

2、STM32信息安全相关培训资源

线上课程培训

STM32信息安全

从智能锁谈STM32安全技术


线下技术培训资料

STM32安全技术培训


分享到:


相關文章: