0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32H5信息安全特性解析

MCU开发加油站 来源: STM32 2023-11-02 09:44 次阅读

STM32今年推出的新产品STM32H5除了兼具性能、功耗与集成度的优势外还进一步提升了产品的安全特性,在信息安全保护方面带来了很多新的特性以及创新的解决方案,例如:

安全启动BootROM ST-iROT

安全调试Debug Authentication

基于新的Product State机制的生命周期管理

HDP/HDPL Flash隐藏保护区及其多级保护级别

Secure Storage专用安全存储OptionByteKey(obk)区

安全管理器Secure Manager以二进制形式提供的安全解决方案

需要了解更详细的STM32H5信息安全特性,欢迎浏览STM32MCU wiki页面:Security with STM32H5‎,Getting started with STM32H5 security‎。 STM32H5无疑给工业物联网产品设计带来了新的优秀选择。在提供更先进的硬件和解决方案的同时,STM32Cube工具作为STM32生态系统的重要组成部分,当然也考虑到如何让开发者能够更便捷地使用这一系列的新安全功能的问题。为此STM32CubeProgrammer及其内嵌的STM32TrustedPackageCreator,STM32CubeMX等工具都进行了升级,全面支持STM32H5的新安全特性。下面就带大家做简要了解。

STM32CubeProgrammer & STM32TrustedPackageCreator

STM32CubeProgrammer是一个集成了多项功能的STM32编程工具,提供Flash以及Memory读写,OptionByte选项字节读取与配置,内核和外设寄存器读写等多种功能。STM32TrustPackageCreator是内嵌在STM32CubeProgrammer的另一个工具,主要包含针对STM32产品信息安全的多种功能。这两个工具都提供了GUI界面,也支持CLI命令行方式,方便开发者使用。 STM32CubeProgrammer v2.14.0增加了OBK文件provisioning,Debug Authentication等新功能,来配合STM32H5的新安全特性的使用。其内嵌的STM32TrustedPackageCreator v2.14.0同样也增加了H5的系列配置页面,提供了针对STM32H5安全新特性的一系列功能,例如

Obkey的配置选项卡:可以用于生成多种obk文件,对应不同的安全功能的配置,STM32CubeFW_H5的软件包中会带有对应功能配置的xml文件模板,模板文件可以在Projects目录下开发板的ROT_Provisioning目录中的相关子目录下找到,用户可以在模板xml文件的基础上轻松完成相关配置。

Image Gen配置选项卡页面:可以基于xml模板完成对代码或者数据二进制文件的签名打包,生成对应ST-iROT或者OEMiROT的支持安全启动的应用程序二进制文件,以及用于安全升级的应用程序升级包文件。

DA CertiGen配置选项卡页面:可以生成Debug Authentication安全调试所需要的数字证书,包括根证书、中间证书、叶子证书等。

SFI和HSM相关的几个配置选项卡:提供针对SFI安全固件安装的相关配置功能,例如对OEM固件进行加密生成用于安全烧录的SFI文件,将OEM的加密密钥写入HSM,生成OptionByte配置文件等。

下面举几个例子:

STM32H5安全调试

启用安全调试功能涉及两个阶段,配置阶段和使用阶段。 配置阶段包含Debug Authentication obk文件生成,obk文件烧写和设置产品保护状态等几个步骤。其中STM32TrustedPackageCreator H5的Obkey页面可以生成Debug Authentication安全调试的根密钥及其公钥哈希,或者设置用于安全回退的密码,并生成最终的DA配置obk文件。

8306e58e-78a8-11ee-939d-92fbcf53809c.png



STM32CubeProgrammer工具新增加的OBKey Provisioning选项卡页面可以将DA obk文件烧写至STM32H5芯片上对应的obk区域。产品保护状态的设置则可以在OB Option Byte选项字节配置的页面完成。

83211a9e-78a8-11ee-939d-92fbcf53809c.png

安全调试功能使用阶段,如果在TrustZone开启的情况下需要重新打开调试连接,那么首先需要通过STM32TrustedPackageCreator生成用于DA所需的数字证书。

8337705a-78a8-11ee-939d-92fbcf53809c.png

然后,再通过STM32CubeProgrammer发起DA请求,开启安全调试模式,或者进行产品状态回退。

83585a68-78a8-11ee-939d-92fbcf53809c.png

当DA请求被STM32H5芯片的DA library验证通过,则会执行相关DA请求的操作。如果请求的操作是重新打开某种调试连接,则该调式功能将被暂时恢复,下电上电之前都可以进行调试;如果请求的操作是回退,则Product State会恢复到Open或者TZ-Closed状态。

如果希望了解如何一步一步配置和使用STM32H5的安全调试,可以参考wiki页面How to start with DA on STM32H5‎ ,获得更详细的说明信息。

STM32H5安全启动ST-iROT

启用ST-iROT安全启动功能也有几个主要步骤,首先是生成ST-iROT的配置,产生配置obk文件,包括用户代码签名、加密使用的密钥,代码的起始地址偏移量和大小等等,这个步骤可以由STM32TrustedPackageCreator工具完成。生成的obk 文件同样可以通过STM32CubeProgrammer的OBK Provisioning工具进行烧写,类似前面起到过的DA obk文件的烧写。

838a7cbe-78a8-11ee-939d-92fbcf53809c.png

其次是应用程序固件的签名打包,最终烧写到用户Flash的是带有签名和相关头数据的可以通过ST-iROT进行校验并启动的文件。用户应用程序的签名打包,同样可以由STM32TrustedPackageCreator在Image Gen配置选项卡页面完成。

83b16aea-78a8-11ee-939d-92fbcf53809c.png

如果希望了解如何一步一步配置和使用STM32H5的ST-iROT功能,可以参考以下wiki页面获得更详细的说明信息:

How to start with ST-iROT on STM32H573

How to start with STiRoT OEMuRoT on STM32H573

STM32CubeMX

STM32CubeMX是一个用于对STM32MCU/MPU进行配置的工具,其中包含了管脚分配,IP初始化配置,时钟树配置,工程配置,代码生成以及应用场景功耗预估等,既可以从零开始配置芯片并一站式生成工程架构以及初始化代码,也可以基于现有的配置文件,在此基础上进行修改并更新工程代码。 STM32CubeMX对于带有V8-M TrustZone特性的STM32MCU已经有很好的之支持,当选择任何一个CM33内核带TrustZone功能的STM32MCU或者其对应的开发板时,STM32CubeMX会弹出对话框,询问是否要启用TrustZone,如果选择“with TrustZone activated”,则GUI界面中会出现与TrustZone相关的一系列配置选项。

83d1b3cc-78a8-11ee-939d-92fbcf53809c.png

最新的STM32CubeMX v6.9.2版本中还增加了对STM32H5 BootPath启动路径配置的完整支持,包含多种启动路径的选择,例如

Application only

OEM-iROT + Secure Application

ST-iROT + Secure Application

ST-iROT + S/NS Application

STiROT + OEM-uROT + S/NS Application等等。

为了让开发者可以更方便从STM32CubeMX中生成用于配合STM32H5 Secure Manager的应用程序,这个版本中也包含了对SecureManager的支持。当使用Secure Manager时,工程师只需要生成一个TrustZone Non-Secure工程,用于开发自己的应用逻辑和功能,而安全启动,安全升级以及TrustZone安全侧的安全服务可以直接由Secure Manager的解决方案来提供支撑,无需另外开发,应用程序只需要调用PSA API就可以直接使用Secure Manager内嵌的安全存储、加解密、Attestation等功能。为达到这个目的,开发者只需要将Project设置为只包含Non-secure application的模式,并且从BootPath选项选择ST-iROT + ST-uROT + Secure Manager,就可以轻松配置。

83e2d3f0-78a8-11ee-939d-92fbcf53809c.png

84160e32-78a8-11ee-939d-92fbcf53809c.png

完成BootPath选择之后,还可以在STM32CubeMX的”Pinout & Configuration”界面使能Secure Manager,并选择需要使用的Secure Service,这样STM32CubeMX就可以生成对应的Non-Secure App工程,这个工程中除了包含外设的始化代码以外,工程的linker会按照Secure Manager默认的存储空间布局进行更新,工程也会包含PSA API相关的头文件和Middleware部分的代码,应用工程可以调用Secure Manager提供的API,使用已经开发好的安全功能,同时工程的Build Action中也添加了postbuild脚本的执行,可以在App工程编译完成后自动产生签名加密打包的hex文件。

843c4610-78a8-11ee-939d-92fbcf53809c.png

如果希望了解更多关于如何使用STM32CubeMX的BootPath配置以及使用Secure Manager请参考wiki链接How to start with STM32CubeMX and STM32H5 security‎及其相关页面。

另外如果读者希望了解更多有关Secure Manager解决方案的信息,欢迎访问Secure Manager产品页面下载软件包,也 可以从wiki页面Secure Manager for STM32H5,How to start with Secure Manager on STM32H5‎等,获取更多详细的使用说明。

来源: STM32

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17110

    浏览量

    350897
  • 寄存器
    +关注

    关注

    31

    文章

    5334

    浏览量

    120208
  • 物联网
    +关注

    关注

    2909

    文章

    44505

    浏览量

    372644
  • STM32
    +关注

    关注

    2270

    文章

    10890

    浏览量

    355632
  • 调试
    +关注

    关注

    7

    文章

    576

    浏览量

    33919

原文标题:STM32Cube工具全面支持STM32H5新安全特性

文章出处:【微信号:mcugeek,微信公众号:MCU开发加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32H5开发(1)----总览

    STM32H5系列微控制器是意法半导体公司推出的一款高性能MCU, CortexM33内核的微控制器产品。 他和STM32F2、F4、F7、H7同属于高端系列产品线。同时他的主频能够达到250MHz。
    的头像 发表于 12-01 14:52 835次阅读
    <b class='flag-5'>STM32H5</b>开发(1)----总览

    STM32H5开发(2)----新特性

    STM32H5开发(2)----新特性
    的头像 发表于 12-01 14:53 766次阅读
    <b class='flag-5'>STM32H5</b>开发(2)----新<b class='flag-5'>特性</b>

    STM32H5开发(3)----电源控制和RCC

    STM32H5开发(3)----电源控制和RCC
    的头像 发表于 12-01 14:59 1013次阅读
    <b class='flag-5'>STM32H5</b>开发(3)----电源控制和RCC

    STM32H5开发(4)----开发板介绍

    STM32H503RBTx_LQFP64是STM32H5系列微控制器的一款出色评估套件,它采用了先进的40nm工艺制造,为开发者提供了卓越的性能和能效。主频高达250MHz的Arm® Cortex®-M33内核使其处理能力非常强大,可以轻松应对各种复杂的计算和任务。
    的头像 发表于 12-01 15:00 847次阅读
    <b class='flag-5'>STM32H5</b>开发(4)----开发板介绍

    STM32H5 DA初体验

    本文是接着之前文档《STM32H5 DA 之初体验(带 TrustZone)》的后续之作。
    的头像 发表于 01-17 13:39 1153次阅读
    <b class='flag-5'>STM32H5</b> DA初体验

    意法半导体新系列MCU STM32H5提升下一代智能应用的性能和安全

    )。新系列产品引入STM32Trust TEE Security Manager安全技术,为智能物联网设备带来先进的安全功能。   新推出的STM32H5 MCU系列搭载Arm® 的C
    发表于 03-20 13:38 1194次阅读
    意法半导体新系列MCU <b class='flag-5'>STM32H5</b>提升下一代智能应用的性能和<b class='flag-5'>安全</b>性

    请问STM32L5STM32H5对trustzone有哪些不同?

    STM32L5STM32H5对trustzone有哪些不同?
    发表于 07-04 08:08

    STM32H5STM32U5在trustzone上有哪些不同?

    我要做空调的空中升级FOTA的方案,需要加密,对于trustzone功能,采用那款芯片比较合适?STM32H5STM32U5在trustzone上有哪些不同?
    发表于 07-05 07:03

    高性能系列MCU STM32H5介绍

    内容包含:STM32 MCU/MPU产品系列、STM32H5 系列、STM32H5 系列亮点、STM32H5 系列产品等。
    发表于 09-05 06:39

    全新高性价比STM32H5让性能和安全触手可及

    全新高性价比STM32H5,引入STM32H5 MCU系列用于高性能设计,提高应用程序性能,有灵活的电源模式,安全性可扩展
    发表于 09-05 06:51

    STM32H5系列:强大的Arm® Cortex®-M33 MCU让高性能和安全性唾手可得

    的市场竞争中脱颖而出。 为实现这一目标,ST推出了STM32H5系列,该系列作为新标杆服务于工业应用市场。用于高性能设计的STM32H5系列基于强大的Arm Cortex-M33内核 ,将给用户带来更强劲的性能和安全性,提供更多
    的头像 发表于 03-16 16:55 4079次阅读

    直播预告 | STM32H5系列:强大的Arm® Cortex®-M33 MCU让高性能和安全性唾手可得

    ,将展开介绍H5的高性能和相关资源,并结合实际的成功案例展现H5特性。 在越来越多的嵌入式设备具备了更多连接性和智能功能的环境下,设备的安全性也日益成为产品设计需要考量的话题。
    的头像 发表于 07-19 09:55 618次阅读
    直播预告 | <b class='flag-5'>STM32H5</b>系列:强大的Arm® Cortex®-M33 MCU让高性能和<b class='flag-5'>安全</b>性唾手可得

    高性价比STM32H5 MCU系列手册

    电子发烧友网站提供《高性价比STM32H5 MCU系列手册.pdf》资料免费下载
    发表于 07-29 16:15 2次下载
    高性价比<b class='flag-5'>STM32H5</b> MCU系列手册

    【话题风暴】看看新品STM32H5那些事

    ST推出了STM32H5系列,该系列作为新标杆服务于工业应用市场。用于高性能设计的STM32H5系列基于强大的Arm Cortex-M33内核 ,将给用户带来更强劲的性能和安全性,提供更多设计自由
    的头像 发表于 09-21 09:30 1005次阅读
    【话题风暴】看看新品<b class='flag-5'>STM32H5</b>那些事

    STM32H5 DA 之初体验(带 TrustZone)

    电子发烧友网站提供《STM32H5 DA 之初体验(带 TrustZone).pdf》资料免费下载
    发表于 02-19 14:19 0次下载
    <b class='flag-5'>STM32H5</b> DA 之初体验(带 TrustZone)