我們啟動STM32H7的安全軟件安裝 (SFI) 功能,并在 STM32 微控制器上啟動安全模塊安裝 (SMI)。當時,利用這些新的硬件安全功能所必需的一些軟件解決方案需要更加完善。既然它們已準備好迎接黃金時段,我們決定看看 SMI,看看是什么讓 SFI 在 STM32H7 上獨一無二,因為新型號代表了我們最新的旗艦安全 MCU。此外,我們還參加了Arm TechCon 2019,并希望突出推動這些設備的一些創新。
SFI 和 SBSFU:安全系統在其生命周期各個階段的基礎
安全固件安裝 (SFI) 現在是一種相對流行的技術,它使系統制造商能夠將其固件的加密版本發送給 OEM。由于代碼只能在 MCU 內部解密,因此開發人員可以降低 IP 被盜的風險。同樣,OEM 可以在不投資主要機器或技術的情況下提供重大保證,因為他們唯一需要的是STM32CubeProgrammer和 HSM 智能卡,其中包含能夠將固件安全安裝到微控制器上的安全憑證。一旦產品到達最終用戶手中,開發人員就可以從安全啟動和安全固件升級 (SBSFU)中受益以保護他們免受攻擊。安全啟動檢查啟動加載程序簽名以確保黑客沒有插入惡意代碼,而安全固件升級允許制造商修補漏洞并修復潛在錯誤以增強客戶體驗。
任何關于 STM32H7 微控制器安全特性的討論都必須首先說明新的 SMI 特性僅適用于 STM32H750、STM32H753、STM32H755 或 STM32757 部件號。就像其他 STM32 上的 SFI 或安全啟動和安全固件更新 (SBSFU) 一樣,工程師需要具有加密內核和其他特定硬件機制的 MCU。集成這些新 STM32H7 的 Nucleo、Discovery 和評估板已經上市,這將極大地幫助測試和部署這些功能。所有這些技術也屬于STM32Trust,這是我們專注于軟硬件解決方案的倡議,并且都經過第三方實驗室的審核,以確保其穩健性和有效性。 因此,今天標志著一個象征性的發布,但這也是我們希望提高嵌入式系統安全性以保護最終用戶、系統供應商和模塊制造商的愿望的延續。
STM32H7 和 SMI:它是什么以及為什么它很重要?
STM32H7 是我們第一個受益于 SMI 的 MCU 系列,它使第三方模塊制造商能夠加密他們的二進制文件。MCU上運行的應用程序調用模塊,就像任何其他常規模塊一樣,但系統制造商無法訪問源代碼,這大大降低了IP被盜的可能性。很多時候,開發系統固件的公司會購買第三方模塊來添加功能,而無需從頭開始開發。模塊制造商現在可以為 STM32H7 開發代碼,然后使用 STM32CubeProgrammer 的 Trusted Package Creator 對二進制文件進行加密。然后他們將加密憑證存儲在硬件安全模塊智能卡中他們運送給 OEM,后者將在使用 STM32CubeProgrammer 將加密模塊加載到 MCU 時使用它。
細心的讀者會注意到,SMI 過程與 SFI 相同,但開發人員不是加密整個固件,而是加密一個模塊。此外,SFI 和 SMI 流程使用不同的 HSM 卡。一張智能卡無法存儲所有憑據,但出于明顯的安全原因,每個固件和模塊都必須使用其卡。此外,與 SFI 不同,SMI 需要編譯器支持獨特的擴展。我們的STM32CubeIDE,集成 STM32CubeMX 的免費 IDE,已經兼容,并且其最近的更新剛剛帶來了對 STM32H7 的支持,使其成為專業人士和愛好者的絕佳工具。Keil 和 iAR 也兼容,我們正在與其他 IDE 制造商合作,以確保盡可能廣泛的支持。此外,我們已經與一些希望利用這一新功能的模塊制造商合作,一旦他們為公眾準備好他們的解決方案,我們將對其進行推廣。
STM32H7 上的 SFI 和 SBSFU:哪些具體實現使它們更加強大
就像他們的前輩一樣,帶有加密內核的新 STM32H7 也兼容安全固件安裝以及安全啟動和安全固件更新。然而,最新的 MCU 是獨一無二的,因為它們的 SMI 和 SFI 代碼都在安全的系統內存中。在其他設備上,例如 STM32L4,SFI 位于用戶內存中,因為該組件沒有 STM32H7 擁有的所有安全空間。我們用特殊的鎖保護STM32L4內部的代碼,一旦OEM使用SFI安裝固件,系統會自動刪除該機制,以確保用戶應用程序可以使用更多的內存。另一方面,STM32H7 將 SMI 和 SFI 代碼存儲在用戶無法訪問的系統內存中,并且代碼在設備的整個生命周期內都保留在該內存中。
與 STM32WB、STM32G0 和 STM32G4 一樣,STM32H7 的 SBSFU 集成了讀取保護級別 2 (RDPL2),可保護閃存、備份寄存器和 SRAM 內容免受任何外部訪問,同時永久禁用 JTAG/SWD 接口。一旦激活,RDPL2 就不可逆轉,保護開發人員免受被遺忘的調試后門的影響,即使該設備在 ST 工廠時也是如此。傳統上,如果用戶執行系統復位,僅使用讀取保護級別 1 的 STM32 器件會打開其 RAM 以進行 JTAG 訪問。但是,STM32H7 禁止此類訪問,即使在 RDPL1 中也是如此。同樣,當從 RDPL1 切換到 RDPL0(不再提供保護)時,STM32H7 保持其專有代碼讀取保護 (PCROP) 處于活動狀態。
審核編輯:郭婷
-
mcu
+關注
關注
146文章
17984瀏覽量
367255 -
寄存器
+關注
關注
31文章
5434瀏覽量
124583 -
編譯器
+關注
關注
1文章
1662瀏覽量
50242
發布評論請先 登錄
使用STM32CubeIDE對STM32H7進行開發和調試,CM4始終報\"Failed to read ROM table via AP 3\"錯誤怎么解決?
STM32H743VIT6 ST單片機 參數及應用場景

使用STM32H7的FDCAN通訊,為什么CAN1會收到CAN2的幀ID,CAN2也會收到CAN1的?
STM32H7 ADC_IRQHandler和ADC3_IRQHandler這兩個中斷入口函數在使用上有什么區別?
STM32H7 0x00000000地址的內容引發hardfault怎么解決?
STM32H533的USB沒有啟動起來是怎么回事?
【正點原子STM32H7R3開發套件試用體驗】流水燈
【正點原子STM32H7R3開發套件試用體驗】開箱、簡介、上電、工程測試
【正點原子STM32H7R3開發套件試用體驗】+01-開箱體驗
STM32嵌入式顯示器:首款采用STM32H7的高清屏幕,讓各種規模的項目都能顯示漂亮的GUI

評論