STM32今年推出的新產品STM32H5除了兼具性能、功耗與集成度的優勢外還進一步提升了產品的安全特性,在信息安全保護方面帶來了很多新的特性以及創新的解決方案,例如:
安全啟動BootROM ST-iROT
安全調試Debug Authentication
基于新的Product State機制的生命周期管理
HDP/HDPL Flash隱藏保護區及其多級保護級別
Secure Storage專用安全存儲OptionByteKey(obk)區
安全管理器Secure Manager以二進制形式提供的安全解決方案
需要了解更詳細的STM32H5信息安全特性,歡迎瀏覽STM32MCU wiki頁面:Security with STM32H5?,Getting started with STM32H5 security?。 STM32H5無疑給工業物聯網產品設計帶來了新的優秀選擇。在提供更先進的硬件和解決方案的同時,STM32Cube工具作為STM32生態系統的重要組成部分,當然也考慮到如何讓開發者能夠更便捷地使用這一系列的新安全功能的問題。為此STM32CubeProgrammer及其內嵌的STM32TrustedPackageCreator,STM32CubeMX等工具都進行了升級,全面支持STM32H5的新安全特性。下面就帶大家做簡要了解。
STM32CubeProgrammer & STM32TrustedPackageCreator
STM32CubeProgrammer是一個集成了多項功能的STM32編程工具,提供Flash以及Memory讀寫,OptionByte選項字節讀取與配置,內核和外設寄存器讀寫等多種功能。STM32TrustPackageCreator是內嵌在STM32CubeProgrammer的另一個工具,主要包含針對STM32產品信息安全的多種功能。這兩個工具都提供了GUI界面,也支持CLI命令行方式,方便開發者使用。 STM32CubeProgrammer v2.14.0增加了OBK文件provisioning,Debug Authentication等新功能,來配合STM32H5的新安全特性的使用。其內嵌的STM32TrustedPackageCreator v2.14.0同樣也增加了H5的系列配置頁面,提供了針對STM32H5安全新特性的一系列功能,例如
Obkey的配置選項卡:可以用于生成多種obk文件,對應不同的安全功能的配置,STM32CubeFW_H5的軟件包中會帶有對應功能配置的xml文件模板,模板文件可以在Projects目錄下開發板的ROT_Provisioning目錄中的相關子目錄下找到,用戶可以在模板xml文件的基礎上輕松完成相關配置。
Image Gen配置選項卡頁面:可以基于xml模板完成對代碼或者數據二進制文件的簽名打包,生成對應ST-iROT或者OEMiROT的支持安全啟動的應用程序二進制文件,以及用于安全升級的應用程序升級包文件。
DA CertiGen配置選項卡頁面:可以生成Debug Authentication安全調試所需要的數字證書,包括根證書、中間證書、葉子證書等。
SFI和HSM相關的幾個配置選項卡:提供針對SFI安全固件安裝的相關配置功能,例如對OEM固件進行加密生成用于安全燒錄的SFI文件,將OEM的加密密鑰寫入HSM,生成OptionByte配置文件等。
下面舉幾個例子:
STM32H5安全調試
啟用安全調試功能涉及兩個階段,配置階段和使用階段。 配置階段包含Debug Authentication obk文件生成,obk文件燒寫和設置產品保護狀態等幾個步驟。其中STM32TrustedPackageCreator H5的Obkey頁面可以生成Debug Authentication安全調試的根密鑰及其公鑰哈希,或者設置用于安全回退的密碼,并生成最終的DA配置obk文件。
STM32CubeProgrammer工具新增加的OBKey Provisioning選項卡頁面可以將DA obk文件燒寫至STM32H5芯片上對應的obk區域。產品保護狀態的設置則可以在OB Option Byte選項字節配置的頁面完成。
安全調試功能使用階段,如果在TrustZone開啟的情況下需要重新打開調試連接,那么首先需要通過STM32TrustedPackageCreator生成用于DA所需的數字證書。
然后,再通過STM32CubeProgrammer發起DA請求,開啟安全調試模式,或者進行產品狀態回退。
當DA請求被STM32H5芯片的DA library驗證通過,則會執行相關DA請求的操作。如果請求的操作是重新打開某種調試連接,則該調式功能將被暫時恢復,下電上電之前都可以進行調試;如果請求的操作是回退,則Product State會恢復到Open或者TZ-Closed狀態。
如果希望了解如何一步一步配置和使用STM32H5的安全調試,可以參考wiki頁面How to start with DA on STM32H5? ,獲得更詳細的說明信息。
STM32H5安全啟動ST-iROT
啟用ST-iROT安全啟動功能也有幾個主要步驟,首先是生成ST-iROT的配置,產生配置obk文件,包括用戶代碼簽名、加密使用的密鑰,代碼的起始地址偏移量和大小等等,這個步驟可以由STM32TrustedPackageCreator工具完成。生成的obk 文件同樣可以通過STM32CubeProgrammer的OBK Provisioning工具進行燒寫,類似前面起到過的DA obk文件的燒寫。
其次是應用程序固件的簽名打包,最終燒寫到用戶Flash的是帶有簽名和相關頭數據的可以通過ST-iROT進行校驗并啟動的文件。用戶應用程序的簽名打包,同樣可以由STM32TrustedPackageCreator在Image Gen配置選項卡頁面完成。
如果希望了解如何一步一步配置和使用STM32H5的ST-iROT功能,可以參考以下wiki頁面獲得更詳細的說明信息:
How to start with ST-iROT on STM32H573
How to start with STiRoT OEMuRoT on STM32H573
STM32CubeMX
STM32CubeMX是一個用于對STM32MCU/MPU進行配置的工具,其中包含了管腳分配,IP初始化配置,時鐘樹配置,工程配置,代碼生成以及應用場景功耗預估等,既可以從零開始配置芯片并一站式生成工程架構以及初始化代碼,也可以基于現有的配置文件,在此基礎上進行修改并更新工程代碼。 STM32CubeMX對于帶有V8-M TrustZone特性的STM32MCU已經有很好的之支持,當選擇任何一個CM33內核帶TrustZone功能的STM32MCU或者其對應的開發板時,STM32CubeMX會彈出對話框,詢問是否要啟用TrustZone,如果選擇“with TrustZone activated”,則GUI界面中會出現與TrustZone相關的一系列配置選項。
在最新的STM32CubeMX v6.9.2版本中還增加了對STM32H5 BootPath啟動路徑配置的完整支持,包含多種啟動路徑的選擇,例如
Application only
OEM-iROT + Secure Application
ST-iROT + Secure Application
ST-iROT + S/NS Application
STiROT + OEM-uROT + S/NS Application等等。
為了讓開發者可以更方便從STM32CubeMX中生成用于配合STM32H5 Secure Manager的應用程序,這個版本中也包含了對SecureManager的支持。當使用Secure Manager時,工程師只需要生成一個TrustZone Non-Secure工程,用于開發自己的應用邏輯和功能,而安全啟動,安全升級以及TrustZone安全側的安全服務可以直接由Secure Manager的解決方案來提供支撐,無需另外開發,應用程序只需要調用PSA API就可以直接使用Secure Manager內嵌的安全存儲、加解密、Attestation等功能。為達到這個目的,開發者只需要將Project設置為只包含Non-secure application的模式,并且從BootPath選項選擇ST-iROT + ST-uROT + Secure Manager,就可以輕松配置。
完成BootPath選擇之后,還可以在STM32CubeMX的”Pinout & Configuration”界面使能Secure Manager,并選擇需要使用的Secure Service,這樣STM32CubeMX就可以生成對應的Non-Secure App工程,這個工程中除了包含外設的始化代碼以外,工程的linker會按照Secure Manager默認的存儲空間布局進行更新,工程也會包含PSA API相關的頭文件和Middleware部分的代碼,應用工程可以調用Secure Manager提供的API,使用已經開發好的安全功能,同時工程的Build Action中也添加了postbuild腳本的執行,可以在App工程編譯完成后自動產生簽名加密打包的hex文件。
如果希望了解更多關于如何使用STM32CubeMX的BootPath配置以及使用Secure Manager請參考wiki鏈接How to start with STM32CubeMX and STM32H5 security?及其相關頁面。
另外如果讀者希望了解更多有關Secure Manager解決方案的信息,歡迎訪問Secure Manager產品頁面下載軟件包,也 可以從wiki頁面Secure Manager for STM32H5,How to start with Secure Manager on STM32H5?等,獲取更多詳細的使用說明。
來源: STM32
-
mcu
+關注
關注
146文章
17837瀏覽量
360422 -
寄存器
+關注
關注
31文章
5421瀏覽量
123332 -
物聯網
+關注
關注
2927文章
45875瀏覽量
387984 -
STM32
+關注
關注
2289文章
11012瀏覽量
362377 -
調試
+關注
關注
7文章
606瀏覽量
34515
原文標題:STM32Cube工具全面支持STM32H5新安全特性
文章出處:【微信號:mcugeek,微信公眾號:MCU開發加油站】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
STM32H5開發(1)----總覽

STM32H5開發(4)----開發板介紹

全新高性價比STM32H5讓性能和安全觸手可及
STM32H5系列:強大的Arm? Cortex?-M33 MCU讓高性能和安全性唾手可得
直播預告 | STM32H5系列:強大的Arm? Cortex?-M33 MCU讓高性能和安全性唾手可得

【話題風暴】看看新品STM32H5那些事

STM32H5 DA 之初體驗(帶 TrustZone)

如何通過J-Link實現STM32H5控制調試端口

評論