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

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

高性能系列MCU STM32H5介紹
全新高性價(jià)比STM32H5讓性能和安全觸手可及
STM32H5系列:強(qiáng)大的Arm? Cortex?-M33 MCU讓高性能和安全性唾手可得
直播預(yù)告 | STM32H5系列:強(qiáng)大的Arm? Cortex?-M33 MCU讓高性能和安全性唾手可得

高性價(jià)比STM32H5 MCU系列手冊

【話題風(fēng)暴】看看新品STM32H5那些事

STM32H5 DA 之初體驗(yàn)(帶 TrustZone)

如何通過J-Link實(shí)現(xiàn)STM32H5控制調(diào)試端口

評論