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

使用STM32H7的FDCAN通訊,為什么CAN1會(huì)收到CAN2的幀ID,CAN2也會(huì)收到CAN1的?
當(dāng)內(nèi)存不夠時(shí),stm32h7 ITCM可以當(dāng)普通ram用嗎?
STM32H7 ADC_IRQHandler和ADC3_IRQHandler這兩個(gè)中斷入口函數(shù)在使用上有什么區(qū)別?
STM32H7 0x00000000地址的內(nèi)容引發(fā)hardfault怎么解決?
STM32H533的USB沒有啟動(dòng)起來是怎么回事?
GD32H7系列MCU安全啟動(dòng)概述

評(píng)論