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

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

3天内不再提示

STM32H7可在STM32上启动安全模块安装

星星科技指导员 来源:意法半导体 作者:意法半导体 2022-05-15 10:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

我们启动STM32H7的安全软件安装 (SFI) 功能,并在 STM32 微控制器上启动安全模块安装 (SMI)。当时,利用这些新的硬件安全功能所必需的一些软件解决方案需要更加完善。既然它们已准备好迎接黄金时段,我们决定看看 SMI,看看是什么让 SFI 在 STM32H7 上独一无二,因为新型号代表了我们最新的旗舰安全 MCU。此外,我们还参加了Arm TechCon 2019,并希望突出推动这些设备的一些创新。

SFI 和 SBSFU:安全系统在其生命周期各个阶段的基础

安全固件安装 (SFI) 现在是一种相对流行的技术,它使系统制造商能够将其固件的加密版本发送给 OEM。由于代码只能在 MCU 内部解密,因此开发人员可以降低 IP 被盗的风险。同样,OEM 可以在不投资主要机器或技术的情况下提供重大保证,因为他们唯一需要的是STM32CubeProgrammer和 HSM 智能卡,其中包含能够将固件安全安装到微控制器上的安全凭证。一旦产品到达最终用户手中,开发人员就可以从安全启动和安全固件升级 (SBSFU)中受益以保护他们免受攻击。安全启动检查启动加载程序签名以确保黑客没有插入恶意代码,而安全固件升级允许制造商修补漏洞并修复潜在错误以增强客户体验。

任何关于 STM32H7 微控制器安全特性的讨论都必须首先说明新的 SMI 特性仅适用于 STM32H750、STM32H753、STM32H755 或 STM32757 部件号。就像其他 STM32 上的 SFI 或安全启动和安全固件更新 (SBSFU) 一样,工程师需要具有加密内核和其他特定硬件机制的 MCU。集成这些新 STM32H7 的 Nucleo、Discovery 和评估板已经上市,这将极大地帮助测试和部署这些功能。所有这些技术也属于STM32Trust,这是我们专注于软硬件解决方案的倡议,并且都经过第三方实验室的审核,以确保其稳健性和有效性。 因此,今天标志着一个象征性的发布,但这也是我们希望提高嵌入式系统安全性以保护最终用户、系统供应商和模块制造商的愿望的延续。

STM32H7 和 SMI:它是什么以及为什么它很重要?

STM32H7 是我们第一个受益于 SMI 的 MCU 系列,它使第三方模块制造商能够加密他们的二进制文件。MCU上运行的应用程序调用模块,就像任何其他常规模块一样,但系统制造商无法访问源代码,这大大降低了IP被盗的可能性。很多时候,开发系统固件的公司会购买第三方模块来添加功能,而无需从头开始开发。模块制造商现在可以为 STM32H7 开发代码,然后使用 STM32CubeProgrammer 的 Trusted Package Creator 对二进制文件进行加密。然后他们将加密凭证存储在硬件安全模块智能卡中他们运送给 OEM,后者将在使用 STM32CubeProgrammer 将加密模块加载到 MCU 时使用它。

细心的读者会注意到,SMI 过程与 SFI 相同,但开发人员不是加密整个固件,而是加密一个模块。此外,SFI 和 SMI 流程使用不同的 HSM 卡。一张智能卡无法存储所有凭据,但出于明显的安全原因,每个固件和模块都必须使用其卡。此外,与 SFI 不同,SMI 需要编译器支持独特的扩展。我们的STM32CubeIDE,集成 STM32CubeMX 的免费 IDE,已经兼容,并且其最近的更新刚刚带来了对 STM32H7 的支持,使其成为专业人士和爱好者的绝佳工具。Keil 和 iAR 也兼容,我们正在与其他 IDE 制造商合作,以确保尽可能广泛的支持。此外,我们已经与一些希望利用这一新功能的模块制造商合作,一旦他们为公众准备好他们的解决方案,我们将对其进行推广。

STM32H7 上的 SFI 和 SBSFU:哪些具体实现使它们更加强大

就像他们的前辈一样,带有加密内核的新 STM32H7 也兼容安全固件安装以及安全启动和安全固件更新。然而,最新的 MCU 是独一无二的,因为它们的 SMI 和 SFI 代码都在安全的系统内存中。在其他设备上,例如 STM32L4,SFI 位于用户内存中,因为该组件没有 STM32H7 拥有的所有安全空间。我们用特殊的锁保护STM32L4内部的代码,一旦OEM使用SFI安装固件,系统会自动删除该机制,以确保用户应用程序可以使用更多的内存。另一方面,STM32H7 将 SMI 和 SFI 代码存储在用户无法访问的系统内存中,并且代码在设备的整个生命周期内都保留在该内存中。

与 STM32WB、STM32G0 和 STM32G4 一样,STM32H7 的 SBSFU 集成了读取保护级别 2 (RDPL2),可保护闪存、备份寄存器和 SRAM 内容免受任何外部访问,同时永久禁用 JTAG/SWD 接口。一旦激活,RDPL2 就不可逆转,保护开发人员免受被遗忘的调试后门的影响,即使该设备在 ST 工厂时也是如此。传统上,如果用户执行系统复位,仅使用读取保护级别 1 的 STM32 器件会打开其 RAM 以进行 JTAG 访问。但是,STM32H7 禁止此类访问,即使在 RDPL1 中也是如此。同样,当从 RDPL1 切换到 RDPL0(不再提供保护)时,STM32H7 保持其专有代码读取保护 (PCROP) 处于活动状态。

审核编辑:郭婷

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

    关注

    147

    文章

    18640

    浏览量

    387819
  • 寄存器
    +关注

    关注

    31

    文章

    5590

    浏览量

    129111
  • 编译器
    +关注

    关注

    1

    文章

    1670

    浏览量

    51096
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    STM32H7R3/S3:高性能微控制器的新标杆

    STMicroelectronics STM32H7R3/S3微控制器采用Arm® Cortex®-M7处理器,时钟频率为600MHz。STMicroelectronics STM32H7R3/S3
    的头像 发表于 10-21 11:39 518次阅读
    <b class='flag-5'>STM32H7</b>R3/S3:高性能微控制器的新标杆

    STM32H7S78-DK探索套件深度解析与技术应用指南

    STMicroelectronics STM32H7S78-DK探索套件用于演示和开发基于Arm® Cortex®-M7内核的STM32H7S7L8H6H微控制器
    的头像 发表于 10-20 15:34 513次阅读
    <b class='flag-5'>STM32H7</b>S78-DK探索套件深度解析与技术应用指南

    RTthread 4.1 stm32h7系列不支持pwm要怎么处理?

    找问题找了很久,搜到了一个4.0.2版本pwm 没有支持STM32H7系列的帖子 现在是4.1 还是没有,求助大佬帮改个代码 报错信息 驱动程序里没有STM32H7的 static
    发表于 09-10 07:34

    从 rtthread studio 拉下来的 stm32h7 FDACN 驱动调不通是哪里的问题?

    请问我从 rtthread studio 拉下来的 stm32h7 FDACN 驱动调不通,是这个驱动有问题吗
    发表于 09-10 06:03

    rt thread studio编写STM32H7不能使用V2版串口驱动是怎么回事?

    使用rt thread studio编写STM32H7程序,使用rt thread settings可视化工具配置:使用UART设备驱动程序,配置为RT_USING_SERIAL_V2,但是使用的还是drv_usart.c,没有drv_usart_v2.c。这是真么回事
    发表于 08-29 07:56

    STM32H7使用HAL库如何控制外置USB HS PHY进入低功耗?

    项目使用STM32H7的HAL库控制外置USB HS PHY(如USB3300或CH132)的。不知如何让MCU通过ULPI接口写寄存器让USB HS PHY进入低功耗,且USB保持链接状态让PC可以重新唤醒。
    发表于 08-14 07:21

    求助,关于stm32H7多DMA数据流问题求解

    情况如下:stm32H7配置了一个adc进行采样,通过dma进行数据传输,串口接收和发送命令,用两个dma数据流通道,采用的空闲中断。 问题:adc一直在中断中,调试未进入串口中断,关闭adc后串口
    发表于 07-29 15:02

    使用STM32CubeIDE对STM32H7进行开发和调试,CM4始终报\"Failed to read ROM table via AP 3\"错误怎么解决?

    我正在使用STM32CubeIDE对STM32H7系列双核微控制器进行开发和调试,但遇到了一个顽固的问题,希望能得到社区的帮助和建议。 ### 问题描述 我根据应用手册AN5361,使用内置示例
    发表于 05-14 06:20

    STM32H743VIT6 ST单片机 参数及应用场景

    STM32H743VIT6 是意法半导体(STMicroelectronics)推出的一款高性能 Cortex-M7 微控制器,属于 STM32H7 系列。它凭借强大的处理能力、丰富的外设和低功耗
    的头像 发表于 05-12 11:19 2306次阅读
    <b class='flag-5'>STM32H</b>743VIT6 ST单片机 参数及应用场景

    使用STM32H7的FDCAN通讯,为什么CAN1会收到CAN2的帧ID,CAN2也会收到CAN1的?

    使用STM32H7的FDCAN通讯,请问为什么CAN1会收到CAN2的帧ID,CAN2也会收到CAN1的?
    发表于 03-14 10:33

    当内存不够时,stm32h7 ITCM可以当普通ram用吗?

    当内存不够时,stm32h7 ITCM可以当普通ram用吗
    发表于 03-14 06:13

    STM32H7 ADC_IRQHandler和ADC3_IRQHandler这两个中断入口函数在使用上有什么区别?

    STM32H7,ADC_IRQHandler和ADC3_IRQHandler这两个中断入口函数在使用上有何区别?
    发表于 03-11 07:28

    STM32H7 0x00000000地址的内容引发hardfault怎么解决?

    STM32H7,串口初始化时执行HAL_UART_MspDeInit函数,调用HAL_NVIC_DisableIRQ(huart-&gt;hdmarx-&gt
    发表于 03-07 08:15

    GD32H7系列MCU安全启动概述

    电子发烧友网站提供《GD32H7系列MCU安全启动概述.pdf》资料免费下载
    发表于 01-17 15:34 0次下载
    GD32<b class='flag-5'>H7</b>系列MCU<b class='flag-5'>安全</b><b class='flag-5'>启动</b>概述

    【正点原子STM32H7R3开发套件试用体验】开箱、简介、电、工程测试

    【正点原子STM32H7R3开发套件试用体验】开箱、简介、电、工程测试 感谢电子发烧友论坛提供的【正点原子STM32H7R3开发套件】,非常荣幸参加这次测评活动,本文将介绍该开发套件的各个
    发表于 12-22 11:52