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

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

3天内不再提示

什么是STM32Trust?ST最新发布一种支持STM32的SMI威廉希尔官方网站

黄工的嵌入式威廉希尔官方网站 圈 来源:黄工的嵌入式威廉希尔官方网站 圈 作者:黄工的嵌入式威廉希尔官方网站 2020-02-04 15:30 次阅读

前几天的一篇文章《世界知名半导体ST、NXPMicrochipTI、Renesas公司MCU和MPU定位、性能及特点》提到了这些公司的MCU,其实每家公司都有对自家MCU做一定的保护措施。 学习STM32的朋友,多少都听过STM32Trust,但有许多人却不知道STM32Trust究竟是什么。 本文就带你认识STM32Trust,以及最新在STM32H7上支持的一种SMI威廉希尔官方网站 。一、总述STM32TrustSTM32Trust官方网址:

www.st.com/stm32trust

STM32Trust是一套STM32解决方案,提供完整的代码保护和执行保护工具套件,如下图:

1.代码保护STM32Trust.CodeProtection一套解决方案,以确保烧写STM32时,客户代码的机密性和完整性。

某些STM32 单片机型号已嵌入硬件安全保护功能,还额外实现了篡改检测、防火墙代码隔离机制和Arm TrustZone威廉希尔官方网站 ,来保护最敏感的代码。 代码保护方案支持的STM32列表:

几个概念:①SBSFU:Secure Boot and Secure Firmware Update,安全启动和安全固件更新。②CRYPTOLIB:cryptographic firmware library,加密固件库。③SFI:Secure Firmware Installation,安全固件安装解决方案。 2.执行保护设备成为商业产品就易成为受攻击的目标,需要对信息安全攻击具有免疫力。因而需要采取信息安全防护措施,以确保固件IP受到保护,机密凭证和数据受应用程序保护,而不会被破坏。 执行保护方案支持的STM32列表:

二、STM32Trust代码保护在上面可以看得出来,官方针对STM32做了多种代码保护方案,这里挑选几个进行讲述。 代码保护包含:

X-CUBE-SBSFU解决方案

X-CUBE-CRYPTOLIB解决方案

SFI安全固件安装解决方案

STM32CubeProgrammer

STM32HSM

FASTROM编程服务

1.X-CUBE-SBSFU解决方案SBSFU:Secure Boot and Secure Firmware Update,安全启动和安全固件更新。 网址:

https://www.st.com/en/embedded-software/x-cube-sbsfu.html

X-CUBE-SBSFU安全启动和安全固件更新解决方案允许使用新固件版本更新STM32微控制器内置程序,增加新功能并纠正潜在问题。更新过程以安全的方式执行,以防止未经授权的更新和对机密设备上数据的访问。

SBSFU主要体现安全启动和安全固件更新: 安全启动是不可变的代码,通常在系统重置后执行,该代码检查STM32静态保护,激活STM32运行时保护,然后在每次执行之前验证用户应用程序代码的真实性和完整性,以确保无效或恶意代码无法运行。 安全固件更新应用程序通过具有Ymodem协议的UART接口接收固件映像,检查其真实性,并在安装代码之前检查代码的完整性。

SBSFU主要特征:

①安全启动以在执行之前检查固件映像。

②具有防回滚和部分映像更新功能的安全固件更新,用于无线或本地固件映像更新。

③通过PKCS#11 API提供加密服务的安全密钥管理服务。

④独立的STM32系统解决方案示例,展示了STM32保护的最佳用法,可保护资产免遭未经授权的外部或内部访问。

⑤结合STM32和STSAFE-A100系统解决方案示例,展示了用于安全身份验证服务和安全数据存储的硬件安全元素保护。

2.X-CUBE-CRYPTOLIB解决方案CRYPTOLIB:cryptographic firmware library,加密固件库。 网址:

https://www.st.com/en/embedded-software/x-cube-cryptolib.html

STM32加密库软件包(X-CUBE-CRYPTOLIB)基于STM32Cube体系结构软件包,并包括一组基于固件实现的加密算法,可以在所有STM32微控制器中使用。

3.SFI安全固件安装解决方案SFI:Secure Firmware Installation,安全固件安装解决方案。 SFI安全固件安装解决方案可用于STM32L4和STM32H7单片机,并且很快将扩展到其他STM32平台, 为设备的首次编程提供保护。 该解决方案提供一套完整的工具集,包含用于加密OEM二进制文件的软件(Trusted Package Creator),用于安全烧写STM32的软件(CUBE Programmer),以及用于将OEM机密凭证安全地交付给芯片烧录厂家的STM32HSM。

4.STM32CubeProgrammer   这是一个大家熟知的对STM32编程的免费工具,包含STM32TrustedPackage Creator工具,通过该工具可以为支持SFI功能的STM32生成SFI和SMI加密映像。  SFI映像的格式是由ST定义的固件加密格式,它使用AES算法将Elf、Hex、Bin或Srec格式的固件转换为SFI格式的加密和认证固件。

SFI映像由一个头部区域和多个其他区域组成,这些区域通常为连续固件区域,最后一个区域为配置区域,其中包含SFI完成时需要设置的选项字节值。 我之前也写过相关文章:关于STM32CubeProgrammer的内容5.STM32HSMSTM32HSM-V1硬件安全模块(HSM)用于确保STM32产品的编程安全,并避免在合同制造商的住所制造假冒产品。

SFI功能允许将客户固件安全地加载到嵌入了安全引导程序的STM32产品中。 定义固件加密密钥并对其固件进行加密后,原始设备制造商(OEM)将加密密钥存储到一个或多个STM32HSM-V1 HSM,并使用STM32CubeProgrammer和STM32 Trusted Package Creator设置授权的SFI操作数(计数器值)软件工具。合同制造商必须利用STM32HSM-V1 HSM将加密的固件加载到STM32设备:每个HSM仅允许OEM定义数量的编程操作,然后不可撤销地将其停用。 STM32HSM-V1主要特征:①正版固件标识(固件标识符) ②识别具有安全固件安装(SFI)功能的STM32产品 ③管理与支持的STM32产品关联的ST公钥 ④使用客户定义的固件加密密钥生成许可证 ⑤安全计数器,可生成预定义数量的许可证 ⑥直接支持STM32CubeProgrammer软件(STM32CubeProg),包括STM32 Trusted Package Creator工具。 6.FASTROM编程服务FASTROM:Factory Advanced Service Technique Read Only Memory。 什么意思?MCU出厂时就把程序给你写进去。 MCU是预编程了客户代码和选项字节的Flash工艺MCU器件,FASTROM MCU可提高大批量(10,000+)编程效率,相比ROM,具有交期更短、并允许对器件重新编程的优势。 三、STM32Trust执行保护STM32Trust.ExecutionProtection是一组STM32功能,用于确保所有者代码运行期的适当隔离、正确执行和易用性,以保证所收集数据的机密性和真实性。STM32提供不同的架构和隔离方案用于实现执行保护。 执行保护包含:

调试

安全启动

MPU

双核架构

TrustZone

防火墙

执行保护的内容不难理解,下面引用官方的内容。

1.调试

通过调试端口可从外部访问所有设备资源。调试端口用于应用程序开发,是攻击者对设备进行攻击时可能会最先利用的薄弱环节。为确保用户代码的机密性和真实性,应锁定STM32调试功能。

2.安全启动

如X-CUBE-SBSFU软件包中所示,安全启动在每次复位时执行,检查STM32平台配置的完整性,并验证每个嵌入式固件的签名,以确保其真实性。

3.MPU

存储器保护单元机制可保护进程,防止不同进程间的相互访问,并允许这些进程独立运行。MPU所带来的软件隔离效果可确保各个进程彼此之间的代码和数据安全性。STM32提供受多种操作系统支持的MPU解决方案。

4.双核架构

双核架构允许两个应用程序在同一MCU设备中同时运行,两者通过内核ID隔离。

5.TrustZone

TrustZone是一套完整的硬件机制,用来定义和隔离两个主要的应用程序区:一个是所谓的可信区(用于保护关键应用程序及其相关资源),另一个是不可信区,运行主应用程序。

6.防火墙

防火墙是一种硬件保护外设,它控制着总线访问,并过滤对代码区(闪存)、非易失性数据区域(SRAM)以及易失性数据区域(闪存)这三个特殊区域的访问。它允许用户轻松地将关键代码的执行与主应用程序分开。


四、ST发布了首款兼容SMI的STM32

SMI:Secure Module Install,安全模块安装。

最近,ST发布了首款兼容SMI的STM32,那就是STM32H7。

地址:

https://blog.st.com/stm32h7-secure-module-install-smi/

安全固件安装(SFI)现在是一种相对流行的威廉希尔官方网站 ,它使系统制造商能够将其固件的加密版本发送给OEM。 由于仅在MCU内部对代码进行解密,因此开发人员可以降低IP盗用的风险。同样,OEM可以提供重要的保证,而无需投资大型机器或威廉希尔官方网站 ,因为它们唯一需要的是STM32CubeProgrammer和HSM智能卡,其中包含安全证书,可以将固件安全地安装到MCU上。 关于SMISMI与其他常规模块一样,运行在MCU上的应用程序也调用该模块,但是系统制造商无法访问源代码,从而大大降低了IP盗用的可能性。 SMI和SFI流程:

细心的读者会注意到SMI流程与SFI相同,但是开发人员不加密整个固件,而是加密模块。此外,SFI和SMI进程使用不同的HSM卡。一个智能卡不能存储所有凭据,但是出于明显的安全原因,每个固件和模块都必须使用其卡。

与SFI不同,SMI需要编译器支持唯一扩展,免费的STM32CubeIDE已经兼容,并且它的最新更新刚刚带来了对STM32H7的支持,使其成为专业人士和发烧友的绝佳工具。同样,Keil和iAR也兼容,并且我们正在与其他IDE制造商合作以确保提供尽可能广泛的支持。

在10月8日,IAR官网有一份公告:IAR Systems简化了IP保护并实现了主流微控制器设备的安全性。

地址:

https://www.iar.com/about-us/newsroom/press/?releaseId=3440256

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

    关注

    32

    文章

    1134

    浏览量

    129008
  • STM32
    +关注

    关注

    2270

    文章

    10906

    浏览量

    356512
  • STM32Trust
    +关注

    关注

    0

    文章

    6

    浏览量

    2233
收藏 人收藏

    评论

    相关推荐

    ST×米尔STM32MP25x线下培训会倒计时12天

    STM32MP257D是ST推出的搭载了双核Cortex-A35@1.5GHz和Cortex-M33@400MHz的微处理器。米尔电子基于STM32MP257D推出了MYD-LD25X开发板,开发板
    的头像 发表于 12-26 08:04 108次阅读
    <b class='flag-5'>ST</b>×米尔<b class='flag-5'>STM32</b>MP25x线下培训会倒计时12天

    昂科烧录器支持ST意法半导体的32位微控制器STM32H723VGT

    作为芯片烧录行业的领导者,昂科威廉希尔官方网站 近期宣布了其烧录软件的最新更新,并公布了新增支持的芯片型号清单。此次更新中,意法半导体(ST)的32位微控制器STM32H723VGT已被通用编程器A
    的头像 发表于 12-25 17:06 127次阅读
    昂科烧录器<b class='flag-5'>支持</b><b class='flag-5'>ST</b>意法半导体的32位微控制器<b class='flag-5'>STM32</b>H723VGT

    SEGGER工具全面支持STM32N6微控制器开发

    2024年12月,SEGGER宣布全面支持ST首款带有神经处理单元(NPU)的微控制器STM32N6。
    的头像 发表于 12-18 11:05 296次阅读

    ST×米尔STM32MP25x线下培训会

    STM32MP257D是ST推出的搭载了双核Cortex-A35@1.5GHz和Cortex-M33@400MHz的微处理器。米尔电子基于STM32MP257D推出了MYD-LD25X开发板,开发板
    的头像 发表于 12-06 01:00 258次阅读
    <b class='flag-5'>ST</b>×米尔<b class='flag-5'>STM32</b>MP25x线下培训会

    STM32嵌入式显示器:首款采用STM32H7的高清屏幕,让各种规模的项目都能显示漂亮的GUI

    Riverdi是位TouchGFX专家,他正在庆祝STM32 C 071的上市,并发布款采用微控制器的新显示套件。ST授权合作伙伴因其
    的头像 发表于 11-20 15:43 457次阅读
    <b class='flag-5'>STM32</b>嵌入式显示器:首款采用<b class='flag-5'>STM32</b>H7的高清屏幕,让各种规模的项目都能显示漂亮的GUI

    正点原子的stm32开发板能用stlink吗

    、LCD显示屏等,以满足不同层次的开发需求。 ST-Link工具介绍 ST-Link是一种多功能的调试/编程适
    的头像 发表于 11-13 09:21 699次阅读

    英飞凌OPTIGA Trust M MTR扩展板用于评估OPTIGA Trust M安全解决方案

    Trust M MTR 。OPTIGA Trust M MTR是一种分立式安全解决方案,可搭配任何微控制器(MCU)或片上系统(
    的头像 发表于 10-17 14:42 430次阅读
    英飞凌OPTIGA <b class='flag-5'>Trust</b> M MTR扩展板用于评估OPTIGA <b class='flag-5'>Trust</b> M安全解决方案

    stm32程序烧录的几种方法?

    JTAG、SWD、UART、I2C、SPI等。 1. JTAG烧录 JTAG(Joint Test Action Group)是一种国际标准测试协议,广泛应用于微控制器和集成电路的测试与烧录。STM32
    的头像 发表于 08-22 09:35 4521次阅读

    stm32用串口烧录怎么设置

    准备工作 确保您拥有STM32开发板和相应的硬件设备,如USB转串口模块。 安装STM32CubeMX和STM32CubeProgrammer软件,这些是ST官方提供的工具,用于配置和
    的头像 发表于 08-22 09:33 1640次阅读

    开发攻略之STM32调试端口的映射

    需要先进行定的设置。STM32的调试方式选择STM32支持JTAG和SWD两调试方式,且
    的头像 发表于 08-03 08:11 468次阅读
    开发攻略之<b class='flag-5'>STM32</b>调试端口的映射

    一种供电总线威廉希尔官方网站 POWERBUS二总线

    首先给大家介绍一种总线威廉希尔官方网站 Powerbus总线,特性: 1.总线可供电,通讯和供电无需电气隔离 2.总线抗干扰能力强,可与市电并走 3.可支持总线电流20A(2400bps) 4.具备总线短路保护
    发表于 07-23 13:38

    51、STM32单片机的编程方式样吗?

    STM32和51单片机是两常见的单片机系列,它们在硬件架构、性能特点和编程方式等方面有所不同。但是从c语言编程的角度来说,我认为是大同小异的。我们来对比下它们的编程特点:51&
    的头像 发表于 05-18 08:04 2291次阅读
    51、<b class='flag-5'>STM32</b>单片机的编程方式<b class='flag-5'>一</b>样吗?

    使用STM32Trust构建安全的商业产品

    如今,嵌入式系统内部和之间的网络连接普遍存在,这促使原始设备制造商 (OEM) 和系统集成商重新考虑如何保护其电子产品。这不仅仅是产品本身。 物联网 (IoT) 为工程组织增加了新的防御维度,包括来自设备的网络连接及其传输的数据。这些努力与公司保护存储在嵌入式系统中的敏感IP的愿望相辅相成,这样他们的专有工作就无法被克隆或更改。此外,集成这些额外的安全措施符合公司的偏好,即系统不会被征用和用于最初预期以外的用途。 然
    的头像 发表于 04-02 18:05 1703次阅读

    一种基于STM32G4芯片TIM+SPI+DMA应用设计方案

    现在有STM32用户使用STM32G474R芯片开发产品,其中用到TIM1做电源驱动,TIM1工作在中心对齐计数模式。
    的头像 发表于 03-17 10:57 1889次阅读
    求<b class='flag-5'>一种</b>基于<b class='flag-5'>STM32</b>G4芯片TIM+SPI+DMA应用设计方案

    昂科烧录器支持ST意法半导体的32位微控制器STM32H7A3IIK6

    芯片烧录行业领导者-昂科威廉希尔官方网站 近日发布最新的烧录软件更新及新增支持的芯片型号列表,其中ST意法半导体的32位微控制器STM32H7A3IIK6
    的头像 发表于 01-10 17:41 698次阅读
    昂科烧录器<b class='flag-5'>支持</b><b class='flag-5'>ST</b>意法半导体的32位微控制器<b class='flag-5'>STM32</b>H7A3IIK6