用户手册|STM32CubeU5TFM应用程序入门

STM32单片机 2023-02-17 18:00

  引言  


本文档描述如何入门STM32CubeU5 TFM(Arm® Cortex®-M 的可信固件)应用程序,该应用程序作为 STM32CubeU5 软件包组成部分提供。





目录预览




1.概述

2.文档和开源软件资源

3.STM32Cube 概述

4.Arm® 可信固件‑M (TF‑M)简介

5.安全启动和安全固件更新服务

(PSA 不可变 RoT)

6.运行时安全服务

7.保护措施和安全策略

8.软件包说明

9.硬件和软件环境设置

10.安装过程

11.逐步执行

12.集成商角色描述 



  章节预览 


STM32Cube概述

STM32Cube 源自意法半导体,旨在通过减少开发工作量、时间和成本,明显提高设计人员的生产率。STM32Cube 涵盖整个 STM32 产品系列。 


STM32Cube 包括: 

• 一套用户友好的软件开发工具,覆盖从概念到实现的整个项目开发过程,其中包括: 

– STM32CubeMX 图形软件配置工具 STM32CubeMX,可通过图形向导自动生成初始化 C 代码。 

– STM32CubeIDE 一种集外设配置、代码生成、代码编译和调试功能于一体的开发工具 

– STM32CubeProgrammer 

(STM32CubeProg),图形版本和命令行版本中可用的编程工具。 

– STM32CubeMonitor (STM32CubeMonitor、STM32CubeMonPwr、STM32CubeMonRF 和STM32CubeMonUCPD)功能强大的监控工具,用于实时微调 STM32 应用程序的行为和性能 。


• STM32Cube MCU 和 MPU 软件包,特定于每个微控制器和微处理器系列的综合嵌入式软件平台(如用于STM32U5 系列的 STM32CubeU5),它包含: 

– STM32Cube 硬件抽象层(HAL),确保在 STM32 各个产品之间实现最大限度的可移植性。 

– STM32Cube 底层 API,通过硬件提供高度用户控制,确保最佳性能和内存开销 

– 一组一致的中间件组件,如 ThreadX、FileX / LevelX、NetX Duo、USBX、USB-PD 触控库、网络库、mbed-crypto、TFM 和 OpenBL

– 嵌入式软件实用工具以及全套外设和应用实例 。


• STM32Cube 扩展包,其中包含嵌入式软件组件,这些组件用以下内容补充 STM32Cube MCU 和 MPU 软件包的功能:– 中间件扩展和应用层– 在特定的意法半导体开发板上运行的实现案例。


Arm® 可信固件‑M (TF‑M)简介

TF‑M (参见[TF-M])是 Arm Limited 驱动的开源软件框架,提供 Arm® Cortex®‑M33(TrustZone®)处理器上PSA 标准的参考实现: 


• PSA 不可变 RoT(可信根):在每次复位后执行不可变“安全启动和安全固件更新”应用程序。该应用程序基于 MCUboot 开源软件(参照[MCUboot])。 


• PSA 可更新 RoT:“安全”应用程序,实现一组隔离在安全/特权级环境中的安全服务,非安全应用程序可通过PSA API 在非安全应用程序运行时间调用这些服务(参见[mbed-crypto]): 

– 固件更新服务:TF‑M 固件更新(FWU)服务实现 PSA 固件更新 API,以便应用程序安装新固件。 

– 内部可信存储 服务:TF‑M 内部可信存储(ITS)服务实现 PSA 内部可信存储 API,以便在微控制器内置 Flash 存储器区域中写入数据,该区域通过硬件安全保护机制与非安全或非特权级应用程序隔离开来。 

– 密码服务:TF‑M 密码服务实现 PSA 密码 API,以便应用程序使用密码原语,如对称和非对称密码、哈希、消息认证码(MAC)、关联数据的认证加密(AEAD)、随机化和密钥派生。它附带 PSA 密码驱动程序接口,便于使用专用硬件。它基于 Mbed 密码开源软件(参照[mbed-crypto])。 

– 初始认证服务:TF‑M 初始认证服务允许应用程序在验证过程中向验证实体证明设备身份。初始认证服务可以根据请求创建一个令牌,其中包含特定于设备的固定数据集。 


• 应用程序可更新 RoT:隔离在安全/非特权级环境中的安全服务,非安全应用程序可在非安全应用程序运行时间调用这些服务。 

– 受保护存储 服务:TF‑M 受保护存储(PS)服务实现 PSA 受保护存储 API,以便在可能不可信的存储环境中进行数据加密和写入结果。作为参考,PS 服务采用基于 AES-GCM 的 AEAD 加密策略来保护数据的完整性和真实性。 

– 第三方:实现额外的产品特定的安全服务的 RoT 应用程序。



安全启动和安全固件更新服务

(PSA 不可变 RoT)

5.1 产品安全介绍 

现场部署的设备在不受信任的环境中运行,因此会受到威胁和攻击。为了减轻受攻击风险,我们的目标是只在设备上运行可靠的固件。允许更新固件映像以便修复故障或引入新特性或应对措施,这对连接的器件而言十分常见。但是,如果不以安全的方式执行,则容易受到攻击。其后果可能是破坏性的,如固件克隆、恶意软件下载或设备损坏。


因此,必须设计安全解决方案来保护敏感数据(甚至可能是固件本身)和关键操作。典型的对策基于密码技术(带有相关密钥)和内存保护机制: 

• 加密可确保固件传输期间的完整性(确保数据未被破坏)、身份验证(确保某个实体确实符合其声明)以及机密性(确保只有经过授权的用户才能读取敏感数据)。 

• 内存保护机制可以防止外部攻击(例如,通过 JTAG 物理访问设备)以及来自其他嵌入式非安全进程的内部攻击。以下章节介绍实现完整性和身份验证服务的解决方案,以解决 IoT 终端节点设备最常见的威胁。


5.2安全启动 

安全启动 (SB)确保所执行的用户固件映像的完整性和真实性:使用密码检查,防止运行未经授权或恶意修改的软件。


安全启动过程实现了一个可信根:从该可信组件开始(图 2 中的步骤 1),在其他每个组件执行(图 2 中的步骤 3)前验证该组件(图 2 中的步骤 2)。对完整性进行验证,以确保即将执行的映像未被破坏或恶意修改。可靠性检查旨在验证固件映像是来自可信且已知的源,以防止未经授权的实体安装及执行代码。


5.3安全固件更新

安全固件更新 (SFU)实现了安全的现场固件更新,可以安全地将新固件映像下载到设备。 


如图 3 中所示,通常有两个实体参与固件更新过程: 

• 服务器 

– 可以是 OEM 制造商服务器或 Web 服务。 

– 存储设备固件的新版本。 

– 与设备通信,如果可用,则以加密形式发送该新映像版本。 


• 器件 

– 现场部署。 

– 嵌入了运行固件更新过程的代码。 

– 与服务器通信并接收新的固件映像。 

– 验证、解密并安装新固件映像,然后执行它。


固件更新通过以下步骤进行: 

1. 如果需要更新固件,则创建一个新的加密固件映像并将其存储在服务器中。 

2. 新的加密固件映像通过不受信任的通道发送到现场部署的设备。 

3. 下载、检查并安装新映像。固件更新在完整的固件映像上完成。 


固件更新容易受到第 5.1 节 产品安全介绍中所示风险的影响:密码技术用来确保机密性、完整性和身份验证。实现机密性以保护固件映像,这可能是制造商的关键资产。


通过不受信任的通道发送的固件映像被加密,因此只有具有密钥访问权的设备才能解密固件包。验证完整性以确保接收的映像没有损坏。 


可靠性检查旨在验证固件映像是来自可信且已知的源,以防止未经授权的实体安装及执行代码。


5.4加密操作

TFM_SBSFU_Boot 应用程序示例附带可配置的密码方案(固件验证和固件加密解决方案): 

• 用于映像真实性验证的 RSA-2048 非对称加密,为确保映像机密性而进行密钥 RSA-OAEP 加密的 AES-CTR-128 对称加密,以及用于映像完整性检查的 SHA256 加密。 

• 用于映像真实性验证的 RSA-3072 非对称加密,为确保映像机密性而进行密钥 RSA-OAEP 加密的 AES-CTR-128 对称加密,以及用于映像完整性检查的 SHA256 加密。 

• 用于映像真实性验证的 ECDSA-256 非对称加密,为确保映像机密性而进行密钥 ECIES-P256 加密的AES-CTR-128 对称加密,以及用于映像完整性检查的 SHA256 加密。 


请参考[MCUboot] 开源网站了解关于密码方案的更多信息。



本文档为大家详细介绍了STM32CubeU5 TFM应用程序的各个组成部分,以及如何安装与使用,由于文章篇幅有限,仅展示部分内容,完整文档请点击文末“阅读原文”下载阅读。



长按扫码关注公众号 


更多资讯,尽在STM32



点击“阅读原文”,可下载原文档

STM32单片机 ST MCU (产品+工具+资料+技术+市场+活动)x 您的关注x您的支持 = STM32 单片机蝴蝶乐园
评论
  • 作为优秀工程师的你,已身经百战、阅板无数!请先醒醒,新的项目来了,这是一个既要、又要、还要的产品需求,ARM核心板中一个处理器怎么能实现这么丰富的外围接口?踌躇之际,你偶阅此文。于是,“潘多拉”的魔盒打开了!没错,USB资源就是你打开新世界得钥匙,它能做哪些扩展呢?1.1  USB扩网口通用ARM处理器大多带两路网口,如果项目中有多路网路接口的需求,一般会选择在主板外部加交换机/路由器。当然,出于成本考虑,也可以将Switch芯片集成到ARM核心板或底板上,如KSZ9897、
    万象奥科 2024-12-03 10:24 53浏览
  • 11-29学习笔记11-29学习笔记习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-02 23:58 59浏览
  • 最近几年,新能源汽车愈发受到消费者的青睐,其销量也是一路走高。据中汽协公布的数据显示,2024年10月,新能源汽车产销分别完成146.3万辆和143万辆,同比分别增长48%和49.6%。而结合各家新能源车企所公布的销量数据来看,比亚迪再度夺得了销冠宝座,其10月新能源汽车销量达到了502657辆,同比增长66.53%。众所周知,比亚迪是新能源汽车领域的重要参与者,其一举一动向来为外界所关注。日前,比亚迪汽车旗下品牌方程豹汽车推出了新车方程豹豹8,该款车型一上市就迅速吸引了消费者的目光,成为SUV
    刘旷 2024-12-02 09:32 107浏览
  • RDDI-DAP错误通常与调试接口相关,特别是在使用CMSIS-DAP协议进行嵌入式系统开发时。以下是一些可能的原因和解决方法: 1. 硬件连接问题:     检查调试器(如ST-Link)与目标板之间的连接是否牢固。     确保所有必要的引脚都已正确连接,没有松动或短路。 2. 电源问题:     确保目标板和调试器都有足够的电源供应。     检查电源电压是否符合目标板的规格要求。 3. 固件问题: &n
    丙丁先生 2024-12-01 17:37 91浏览
  • 光伏逆变器是一种高效的能量转换设备,它能够将光伏太阳能板(PV)产生的不稳定的直流电压转换成与市电频率同步的交流电。这种转换后的电能不仅可以回馈至商用输电网络,还能供独立电网系统使用。光伏逆变器在商业光伏储能电站和家庭独立储能系统等应用领域中得到了广泛的应用。光耦合器,以其高速信号传输、出色的共模抑制比以及单向信号传输和光电隔离的特性,在光伏逆变器中扮演着至关重要的角色。它确保了系统的安全隔离、干扰的有效隔离以及通信信号的精准传输。光耦合器的使用不仅提高了系统的稳定性和安全性,而且由于其低功耗的
    晶台光耦 2024-12-02 10:40 118浏览
  • 遇到部分串口工具不支持1500000波特率,这时候就需要进行修改,本文以触觉智能RK3562开发板修改系统波特率为115200为例,介绍瑞芯微方案主板Linux修改系统串口波特率教程。温馨提示:瑞芯微方案主板/开发板串口波特率只支持115200或1500000。修改Loader打印波特率查看对应芯片的MINIALL.ini确定要修改的bin文件#查看对应芯片的MINIALL.ini cat rkbin/RKBOOT/RK3562MINIALL.ini修改uart baudrate参数修改以下目
    Industio_触觉智能 2024-12-03 11:28 66浏览
  • 当前,智能汽车产业迎来重大变局,随着人工智能、5G、大数据等新一代信息技术的迅猛发展,智能网联汽车正呈现强劲发展势头。11月26日,在2024紫光展锐全球合作伙伴大会汽车电子生态论坛上,紫光展锐与上汽海外出行联合发布搭载紫光展锐A7870的上汽海外MG量产车型,并发布A7710系列UWB数字钥匙解决方案平台,可应用于数字钥匙、活体检测、脚踢雷达、自动泊车等多种智能汽车场景。 联合发布量产车型,推动汽车智能化出海紫光展锐与上汽海外出行达成战略合作,联合发布搭载紫光展锐A7870的量产车型
    紫光展锐 2024-12-03 11:38 88浏览
  •         温度传感器的精度受哪些因素影响,要先看所用的温度传感器输出哪种信号,不同信号输出的温度传感器影响精度的因素也不同。        现在常用的温度传感器输出信号有以下几种:电阻信号、电流信号、电压信号、数字信号等。以输出电阻信号的温度传感器为例,还细分为正温度系数温度传感器和负温度系数温度传感器,常用的铂电阻PT100/1000温度传感器就是正温度系数,就是说随着温度的升高,输出的电阻值会增大。对于输出
    锦正茂科技 2024-12-03 11:50 97浏览
  • 概述 说明(三)探讨的是比较器一般带有滞回(Hysteresis)功能,为了解决输入信号转换速率不够的问题。前文还提到,即便使能滞回(Hysteresis)功能,还是无法解决SiPM读出测试系统需要解决的问题。本文在说明(三)的基础上,继续探讨为SiPM读出测试系统寻求合适的模拟脉冲检出方案。前四代SiPM使用的高速比较器指标缺陷 由于前端模拟信号属于典型的指数脉冲,所以下降沿转换速率(Slew Rate)过慢,导致比较器检出出现不必要的问题。尽管比较器可以使能滞回(Hysteresis)模块功
    coyoo 2024-12-03 12:20 86浏览
  • 戴上XR眼镜去“追龙”是种什么体验?2024年11月30日,由上海自然博物馆(上海科技馆分馆)与三湘印象联合出品、三湘印象旗下观印象艺术发展有限公司(下简称“观印象”)承制的《又见恐龙》XR嘉年华在上海自然博物馆重磅开幕。该体验项目将于12月1日正式对公众开放,持续至2025年3月30日。双向奔赴,恐龙IP撞上元宇宙不久前,上海市经济和信息化委员会等部门联合印发了《上海市超高清视听产业发展行动方案》,特别提到“支持博物馆、主题乐园等场所推动超高清视听技术应用,丰富线下文旅消费体验”。作为上海自然
    电子与消费 2024-11-30 22:03 93浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦