STM32信息安全概览:是时候KO安全问题了!
不安全,无未来。物联网以及智能化产品给人们带来愉悦的同时,也带来了更多安全隐患。
信息安全需要从系统层面统一考虑:在提供服务的云端、通信管道、边缘及终端节点都需要部署完整的安全策略,终端节点设备不应该因为资源和处理能力有限而成为整个系统信息安全的薄弱环节。
STM32Trust在这样的背景下应运而生,目标是让客户在其新产品的设计中能够加强安全性并充分利用STM32MCU硬件特性及其生态系统资源来实现安全设计。
STM32Trust
STM32Trust是一个集合了信息安全知识、生态系统和安全服务的综合的安全架构,基于多层次的安全策略,提供针对代码和执行保护在内的完整工具。STM32Trust的构建基于众多客户使用场景对信息安全的需求,并提出了安全功能的概念,来更好地契合来自客户的实际需求和信息安全相关规范的共性要求。
主要的安全功能如:
安全启动 SecureBoot
安全升级 Secure Update
安全存储 Secure Storage
系统隔离 Isolation
安全生产 Secure Manufacturing
软件IP保护 SW IP Protection
密码学引擎 Crypto Engine
异常检测与处理 Abnormal Situation Handling
身份识别与认证 Identification / Authentication / Attestation

STM32Trust生态中所提供各种安全能力、方案、工具、服务等也都围绕这些安全功能展开。
STM32信息安全层叠架构
STM32 MCU从产品底层硬件的安全能力,中间件提供的密码学服务,到对接应用程序的安全方案与服务等,提供了完整的生态系统,助力打造设备端的信息安全,实现适合不同应用场景和行业需求的安全功能。

对于某些有更高级别安全需求的应用,在充分利用STM32本身的安全能力基础之上,还可以叠加使用安全芯片STSAFE-A,进一步提高最终产品的安全性。在STM32的信息安全生态系统中,也包含叠加使用例如STSAFE-A100的相关工具和用例。

底层硬件:硬件安全功能
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 。
安全方案与服务
STM32 安全启动与固件更新参考实现(SBSFU)
安全启动建立信息安全信任根,确保设备每次复位后所执行的应用代码的完整性和真实性。
安全固件更新能够帮助设备构建一个可以持续演进的系统,在安全可控的前提下进行设备版本更新,以便针对新的攻击增加对应的安全防护措施、更正原有错误和添加新功能。
STM32提供安全启动与安全固件更新的参考实现,该实现充分利用了STM32 MCU的各种硬件安全特性,并且支持众多产品系列,能够完整覆盖既往的产品系列(例如F4,F7,L1,L0,L4)以及较新的产品系列(例如G0,G4,H7,WB等),并将持续增加对后续新产品的支持
SBSFU 软件包下载链接 https://www.st.com/x-cube-sbsfu 。
STM32 安全生产解决方案(SFI)
设备的固件一方面是软件IP,另一方面也是设备能够正确执行各种应用功能的重要基础,其安全性在设备的整个生命周期都应当受到关注。
存储器访问保护及IP保护能够防止设备出厂后固件从调试端口被非法获取,安全启动能够保证设备使用中固件的完整性与真实性,安全固件更新则保护了更新过程中的固件安全。
而设备生产阶段也是一个需要考虑的环节,STM32的安全固件安装(SFI)想要解决的就是如何在设备生产工厂保护固件安全性的问题,一方面保护生产程中固件的机密性和完整性,另一方面还能够控制固件烧录的次数,防止过量生产的情况。

安全固件安装(SFI)解决方案提供的资源包括:
固件加密打包工具( STM32TrustedPackageCreator ):用于加密固件;硬件安全模块 HSM:用于保存固件加密密钥和产生烧录时的授权 License;PC 端烧录工具( STM32CubeProgrammer ):配合 HSM 实现安全烧录过程;SFI 相关的说明和使用文档。
安全认证与评估

从哪里找到STM32信息安全资源?
ST全球官网STM32Trust
https://www.st.com/stm32trust


STM32 MCU中文官网
https://www.stmcu.com.cn/
生态系统 垂直应用 信息安全
https://www.stmcu.com.cn/ecosystem/app/information-security-OVERVIEW

生态系统 芯片系列
https://www.stmcu.com.cn/ecosystem/chip/chipfamily-stm32wb
https://www.stmcu.com.cn/ecosystem/chip/chipfamily-STM32L5-entry

工程师实战经验分享:
设计资源:本地化资源,实战经验,加密与信息安全
信息安全相关的一些技巧,包括文档说明和示例程序

信息安全相关视频
https://stmcu.com.cn/video/

信息安全相关培训资料

信息安全培训课程资源:AI电堂

STM32信息安全相关微信文章
2021年,我们将陆续推出一系列信息安全相关文章,帮助客户更好地了解STM32在信息安全方面的资源,新的安全特性及使用技巧等,内容涉及:
代码保护
安全存储
软件漏洞与系统隔离
加解密引擎
安全启动与安全升级
敬请期待!


