用户手册|STM32CubeU5 TFM 应用程序入门

发布时间:2024-09-19  

引言


本文档描述如何入门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 加密。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>