目錄預(yù)覽
1 概述
2 文檔和開源軟件資源
3 STM32Cube 概述
4 Arm可信固件-M(TF-M)簡介
5 安全啟動(dòng)和安全固件更新服務(wù)
(PSA 不可變 RoT)
6 運(yùn)行時(shí)安全服務(wù)
7 保護(hù)措施和安全策略
8軟件包說明
9 硬件和軟件環(huán)境設(shè)置
10 安裝過程
11 逐步執(zhí)行
12 集成商角色描述
1.概述
本文檔描述如何入門 STM32CubeL5 TFM(Arm Cortex-M 的可信固件)應(yīng)用程序,該應(yīng)用程序作為 STM32CubeL5 固件包組成部分提供。STM32CubeL5 TFM 應(yīng)用程序提供一個(gè)可信根解決方案(包括安全啟動(dòng)和安全固件更新功能,在執(zhí)行應(yīng)用程序之前使用),還提供一組安全服務(wù),這些服務(wù)與非安全應(yīng)用程序隔離,但可由非安全應(yīng)用程序在運(yùn)行時(shí)使用。
STM32CubeL5 TFM 應(yīng)用程序基于已移植到 STM32L5 系列微控制器(以下統(tǒng)稱 STM32L5)上的開源 TF-M 參考實(shí)現(xiàn),目的是利用 STM32L5 的硬件安全特性,例如:
? Arm Cortex-M33 TrustZone 和存儲器保護(hù)單元(MPU)
? TrustZone-aware 外設(shè)
? 內(nèi)存保護(hù)(HDP、WRP)
? 增強(qiáng)生命周期方案
STM32CubeL5 TFM 應(yīng)用程序在基于 Arm Cortex?M 處理器的 STM32L5 系列 32 位微控制器上運(yùn)行。
2.文檔和開源軟件資源
下面的資源是公開的,可以從意法半導(dǎo)體的網(wǎng)站 www.st.com 或第三方網(wǎng)站上獲得。
3.STM32Cube概述
STM32Cube 源自意法半導(dǎo)體,旨在通過減少開發(fā)工作量、時(shí)間和成本,明顯提高設(shè)計(jì)人員的生產(chǎn)率。STM32Cube 涵蓋整個(gè) STM32 產(chǎn)品系列。STM32Cube 包括:
? 一套用戶友好的軟件開發(fā)工具,覆蓋從概念到實(shí)現(xiàn)的整個(gè)項(xiàng)目開發(fā)過程,其中包括:
– 圖形軟件配置工具 STM32CubeMX,可通過圖形向?qū)ё詣?dòng)生成初始化 C 代碼
– STM32CubeIDE,一種集外設(shè)配置、代碼生成、代碼編譯和調(diào)試功能于一體的開發(fā)工具
– STM32CubeProgrammer
?。⊿TM32CubeProg),圖形版本和命令行版本中可用的編程工具
– STM32CubeMonitor-Power
?。⊿TM32CubeMonPwr),測量并幫助優(yōu)化 MCU 功耗的監(jiān)控工具
? STM32Cube MCU & MPU 包,針對于每個(gè)微控制器和微處理器系列的綜合嵌入式軟件平臺(例如,STM32L5 系列的 STM32CubeL5),它包括:
– STM32Cube 硬件抽象層(HAL),確保在 STM32 各個(gè)產(chǎn)品之間實(shí)現(xiàn)最大限度的可移植性– STM32Cube 底層 API,通過硬件提供高度用戶控制,確保最佳性能和內(nèi)存開銷
– 一組一致的中間件組件,如 FAT 文件系統(tǒng)、RTOS、USB 主機(jī)和設(shè)備、TCP/IP、觸摸感應(yīng)庫、以及圖形
– 嵌入式軟件實(shí)用工具以及全套外設(shè)和應(yīng)用實(shí)例
? STM32Cube 擴(kuò)展包,包含的嵌入式軟件組件為 STM32Cube MCU 和 MPU 包的功能補(bǔ)充了:
– 中間件擴(kuò)展和應(yīng)用層– 在特定的意法半導(dǎo)體開發(fā)板上運(yùn)行的實(shí)現(xiàn)案
4.Arm可信固件-M(TF-M)簡介
[TF-M] (可信固件-M)是 Arm 驅(qū)動(dòng)的開源軟件框架,在 Cortex-M33(TrustZone)內(nèi)核上提供 PSA 標(biāo)準(zhǔn)的參考實(shí)現(xiàn):
? PSA 不可變 RoT(可信根):不可變的“安全啟動(dòng)&安全固件更新”應(yīng)用程序(命名為 TFM_SBSFU_Boot)在任一復(fù)位后執(zhí)行。該應(yīng)用程序基于[MCUboot]開源軟件
? PSA 可更新 RoT:“安全”應(yīng)用程序(名為 TFM_Appli/安全)實(shí)現(xiàn)了一組隔離在安全/特權(quán)環(huán)境中的安全服務(wù),非安全應(yīng)用程序可以通過 PSA API 在非安全應(yīng)用程序運(yùn)行期間調(diào)用這些服務(wù):
– 安全存儲服務(wù):TF-M 安全存儲(SST)服務(wù)實(shí)現(xiàn) PSA 保護(hù)的存儲 API,允許數(shù)據(jù)加密并將結(jié)果寫入可能不可信的存儲中。作為參考,SST 服務(wù)采用了基于 AEAD 加密策略的 AES-GCM 算法,保護(hù)數(shù)據(jù)的完整性和真實(shí)性。
– 內(nèi)部可信存儲服務(wù):TF-M 內(nèi)部可信存儲(ITS)服務(wù)實(shí)現(xiàn) PSA 內(nèi)部可信存儲 API,允許在微控制器內(nèi)置的 Flash 存儲器區(qū)域中寫入數(shù)據(jù),該區(qū)域?qū)⑼ㄟ^硬件安全保護(hù)機(jī)制與非安全或非特權(quán)應(yīng)用程序隔離。
– 密碼服務(wù):TF-M 密碼服務(wù)實(shí)現(xiàn)了 PSA 密碼 API,允許應(yīng)用程序使用密碼原語,如對稱和非對稱密碼、哈希、消息認(rèn)證碼(MAC)和關(guān)聯(lián)數(shù)據(jù)的認(rèn)證密碼(AEAD)。它基于[MbedCrypto]開源軟件
– 初始認(rèn)證服務(wù):TF-M 初始認(rèn)證服務(wù)允許應(yīng)用程序在驗(yàn)證過程中向驗(yàn)證實(shí)體證明設(shè)備身份。初始認(rèn)證服務(wù)可以根據(jù)請求創(chuàng)建一個(gè)令牌,其中包含特定于設(shè)備的固定數(shù)據(jù)集。
? 應(yīng)用程序可更新 RoT:隔離在安全/非特權(quán)環(huán)境中的第三方安全服務(wù)(在 TFM_Appli/安全應(yīng)用程序中實(shí)現(xiàn)),可以由非安全應(yīng)用程序在非安全應(yīng)用程序運(yùn)行期間調(diào)用:
本文檔為大家詳細(xì)地描述了如何入門 STM32CubeL5 TFM(Arm Cortex-M 的可信固件)應(yīng)用程序。
更多信息可以來這里獲取==>>電子技術(shù)應(yīng)用-AET<<