用户手册|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 单片机蝴蝶乐园
评论
  •     为控制片内设备并且查询其工作状态,MCU内部总是有一组特殊功能寄存器(SFR,Special Function Register)。    使用Eclipse环境调试MCU程序时,可以利用 Peripheral Registers Viewer来查看SFR。这个小工具是怎样知道某个型号的MCU有怎样的寄存器定义呢?它使用一种描述性的文本文件——SVD文件。这个文件存储在下面红色字体的路径下。    例:南京沁恒  &n
    电子知识打边炉 2025-01-04 20:04 98浏览
  • By Toradex 秦海1). 简介嵌入式平台设备基于Yocto Linux 在开发后期量产前期,为了安全以及提高启动速度等考虑,希望将 ARM 处理器平台的 Debug Console 输出关闭,本文就基于 NXP i.MX8MP ARM 处理器平台来演示相关流程。 本文所示例的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。  2. 准备a). Verdin i.MX8MP ARM核心版配合Dahlia载板并
    hai.qin_651820742 2025-01-07 14:52 40浏览
  • 本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。制作图片开机logo图片制作注意事项(1)图片必须为bmp格式;(2)图片大小不能大于4MB;(3)BMP位深最大是32,建议设置为8;(4)图片名称为logo.bmp和logo_kernel.bmp;开机
    Industio_触觉智能 2025-01-06 10:43 87浏览
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 167浏览
  • PLC组态方式主要有三种,每种都有其独特的特点和适用场景。下面来简单说说: 1. 硬件组态   定义:硬件组态指的是选择适合的PLC型号、I/O模块、通信模块等硬件组件,并按照实际需求进行连接和配置。    灵活性:这种方式允许用户根据项目需求自由搭配硬件组件,具有较高的灵活性。    成本:可能需要额外的硬件购买成本,适用于对系统性能和扩展性有较高要求的场合。 2. 软件组态   定义:软件组态主要是通过PLC
    丙丁先生 2025-01-06 09:23 83浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 125浏览
  • 根据环洋市场咨询(Global Info Research)项目团队最新调研,预计2030年全球无人机锂电池产值达到2457百万美元,2024-2030年期间年复合增长率CAGR为9.6%。 无人机锂电池是无人机动力系统中存储并释放能量的部分。无人机使用的动力电池,大多数是锂聚合物电池,相较其他电池,锂聚合物电池具有较高的能量密度,较长寿命,同时也具有良好的放电特性和安全性。 全球无人机锂电池核心厂商有宁德新能源科技、欣旺达、鹏辉能源、深圳格瑞普和EaglePicher等,前五大厂商占有全球
    GIRtina 2025-01-07 11:02 63浏览
  • 大模型的赋能是指利用大型机器学习模型(如深度学习模型)来增强或改进各种应用和服务。这种技术在许多领域都显示出了巨大的潜力,包括但不限于以下几个方面: 1. 企业服务:大模型可以用于构建智能客服系统、知识库问答系统等,提升企业的服务质量和运营效率。 2. 教育服务:在教育领域,大模型被应用于个性化学习、智能辅导、作业批改等,帮助教师减轻工作负担,提高教学质量。 3. 工业智能化:大模型有助于解决工业领域的复杂性和不确定性问题,尽管在认知能力方面尚未完全具备专家级的复杂决策能力。 4. 消费
    丙丁先生 2025-01-07 09:25 80浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 103浏览
  • 彼得·德鲁克被誉为“现代管理学之父”,他的管理思想影响了无数企业和管理者。然而,关于他的书籍分类,一种流行的说法令人感到困惑:德鲁克一生写了39本书,其中15本是关于管理的,而其中“专门写工商企业或为企业管理者写的”只有两本——《为成果而管理》和《创新与企业家精神》。这样的表述广为流传,但深入探讨后却发现并不完全准确。让我们一起重新审视这一说法,解析其中的矛盾与根源,进而重新认识德鲁克的管理思想及其著作的真正价值。从《创新与企业家精神》看德鲁克的视角《创新与企业家精神》通常被认为是一本专为企业管
    优思学院 2025-01-06 12:03 113浏览
  • 村田是目前全球量产硅电容的领先企业,其在2016年收购了法国IPDiA头部硅电容器公司,并于2023年6月宣布投资约100亿日元将硅电容产能提升两倍。以下内容主要来自村田官网信息整理,村田高密度硅电容器采用半导体MOS工艺开发,并使用3D结构来大幅增加电极表面,因此在给定的占位面积内增加了静电容量。村田的硅技术以嵌入非结晶基板的单片结构为基础(单层MIM和多层MIM—MIM是指金属 / 绝缘体/ 金属) 村田硅电容采用先进3D拓扑结构在100um内,使开发的有效静电容量面积相当于80个
    知白 2025-01-07 15:02 66浏览
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 141浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦