引言
目錄預覽
1.概述
2.STM32Cube概述
3.安全啟動和安全固件升級(SBSFU)
4.密鑰管理服務(KMS)
5.保護措施和安全策略
6.軟件包說明
7.硬件和軟件環境設置
8.逐步執行
9.了解啟動時的最后執行狀態消息
1.概述
X-CUBE-SBSFU擴展包附帶在STM32F4系列、STM32F7系列、STM32G0系列、STM32G4系列、STM32H7系列、STM32L0系列、STM32L1系列、STM32L4系列、STM32L4+系列和STM32WB系列產品上運行的示例。
此外,還為STM32L4+系列提供了一個結合了STM32微控制器和STSAFE-A110的示例。X-CUBE-SBSFU以獨立STM32系統解決方案示例的參考代碼的形式提供,這些示例演示了用來保護資產免遭未授權外部和內部訪問的STM32保護措施的最佳使用方式。
X-CUBE SBSFU還提供了一個結合了STM32和STSAFE-A110的系統解決方案示例,演示了面向安全身份驗證服務和安全數據存儲的硬件安全元件保護。X-CUBE-SBSFU是OEM根據其產品的安全要求級別開發安全啟動和安全固件更新的起點。X-CUBE-SBSFU安全啟動和安全固件更新擴展包可在基于Arm(a) Cortex-M處理器的STM3232位微控制器上運行。
2.STM32Cube概述
STM32Cube是什么?
STM32Cube源自意法半導體,旨在通過減少開發工作量、時間和成本,明顯提高設計人員的生產率。STM32Cube涵蓋整個STM32產品系列。STM32Cube 包括:
? 一套用戶友好的軟件開發工具,覆蓋從概念到實現的整個項目開發過程,其中包括:
– 圖形軟件配置工具STM32CubeMX,可通過圖形向導自動生成初始化C代碼
– STM32CubeIDE,一種集外設配置、代碼生成、代碼編譯和調試功能于一體的開發工具
– STM32CubeProgrammer(STM32CubeProg),圖形版本和命令行版本中可用的編程工具
– STM32CubeMonitor(STM32CubeMonitor、STM32CubeMonPwr、STM32CubeMonRF)和STM32CubeMonUCPD)是功能強大的監控工具,用于實時微調STM32應用的行為和性能。
? STM32Cube MCU和MPU包,特定于每個微控制器和微處理器系列的綜合嵌入式軟件平臺(如用于STM32L4系列和STM32L4+系列的STM32CubeL4),其中包含:
– STM32Cube硬件抽象層(HAL),確保在STM32各個產品之間實現最大限度的可移植性– STM32Cube底層API,通過硬件提供高度用戶控制,確保最佳性能和內存開銷
– 一組一致的中間件組件,如FAT文件系統、RTOS、OpenBootloader、USB主機、USB設備、TCP/IP、觸摸感應庫,以及圖形庫
– 包含的軟件覆蓋了全套外設以及對應可用的示例
? STM32Cube擴展包,包含的軟件組件是STM32Cube MCU和MPU包的功能補充:
– 中間件擴展和應用層
– 在特定的意法半導體開發板上運行的實現案例
軟件如何補充STM32Cube?
該軟件基于STM32CubeHAL,即STM32微控制器的硬件抽象層。此軟件包通過提供以下中間件組件擴展STM32Cube:
? 用于管理所有關鍵數據和操作(如訪問固件加密密鑰的加密操作等)的安全引擎
? 通過PKCS #11 API提供密碼服務的密鑰管理服務
? 用于管理硬件安全元件特性的STSAFE-A
軟件包包含有不同的示例應用程序,可提供完整的SBSFU解決方案:
? SE_CoreBin應用程序:提供包含所有“可信”代碼的二進制文件。
? 安全啟動和安全固件升級(SBSFU)應用程序:
– 安全啟動(可信根)
– 本地下載通過串口
– 固件安裝管理
? 用戶應用程序:
– 在雙插槽操作模式下下載新固件– 提供了測試保護機制的示例
– 提供了使用KMS API的示例示例應用提供了雙插槽和單插槽操作模式,并且可以配置為不同加密方案。
注:在名稱為1_Image 的示例中對單插槽配置進行了演示。在名為2_Images 的示例中對雙插槽配置進行了演示。
本用戶手冊介紹了軟件包的典型用法:
? 基于NUCLEO-L476RG板
? 示例應用在雙插槽模式下運行,并配置了非對稱身份驗證和對稱固件加密有關配置選項和單槽操作模式的更多信息,請參閱本文檔的附錄。
注:STM32L4系列和STM32L4+系列提供KMS功能,所提供示例基于B-L475E-IOT01A和B-L4S5I IOT01A板。
注:STM32L4+系列提供STSAFE-A110功能,所提供示例基于B-L4S5I-IOT01A板。
3.安全啟動和安全固件升級(SBSFU)
3.1 產品安全介紹
現場部署的設備在不受信任的環境中運行,因此會受到威脅和攻擊。為了減輕受攻擊風險,我們的目標是只在設備上運行可靠的固件。已連接的設備時常需要更新固件映像以修復錯誤,或引入新功能或對策,否則極易遭受攻擊。其后果可能是破壞性的,如固件克隆、惡意軟件下載或設備損壞。因此必須設計出一套安全的解決方案來保護敏感數據(甚至可能是固件本身)和關鍵操作。
典型的對策基于加密技術(帶有相關密鑰)和內存保護:
? 密碼可確保固件傳輸期間的完整性(確保數據未被破壞)、身份驗證(確保某個實體確實符合其聲明)以及機密性(確保只有經過授權的用戶才能讀取敏感數據)。
? 內存保護機制可以防止外部攻擊(例如,通過JTAG物理訪問設備)以及來自內部其它進程的攻擊。以下章節介紹實現機密性、完整性和身份驗證服務的解決方案,以解決IoT終端節點設備最常見的威脅。
3.2 安全啟動
安全啟動(SB)確保所執行的用戶應用程序映像的完整性和真實性:使用密碼檢查,防止運行未經授權或惡意修改的軟件。
安全啟動過程實現可信根(參見圖 1):從該可信組件(1)開始,其他每個組件在其執行之前(3)都要經過認證(2)。對完整性進行驗證,以確保即將執行的映像未被破壞或惡意修改。可靠性檢查旨在驗證固件映像是來自可信且已知的源,以防止未經授權的實體安裝及執行代碼。
原文標題:用戶手冊|X-CUBE-SBSFU STM32Cube擴展包入門
文章出處:【微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。
-
單片機
+關注
關注
6037文章
44568瀏覽量
636049 -
STM32
+關注
關注
2270文章
10904瀏覽量
356422
原文標題:用戶手冊|X-CUBE-SBSFU STM32Cube擴展包入門
文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論