0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是STM32Trust?ST最新發(fā)布一種支持STM32的SMI技術(shù)

黃工的嵌入式技術(shù)圈 ? 來(lái)源:黃工的嵌入式技術(shù)圈 ? 作者:黃工的嵌入式技術(shù) ? 2020-02-04 15:30 ? 次閱讀

前幾天的一篇文章《世界知名半導(dǎo)體ST、NXPMicrochip、TI、Renesas公司MCU和MPU定位、性能及特點(diǎn)》提到了這些公司的MCU,其實(shí)每家公司都有對(duì)自家MCU做一定的保護(hù)措施。 學(xué)習(xí)STM32的朋友,多少都聽(tīng)過(guò)STM32Trust,但有許多人卻不知道STM32Trust究竟是什么。 本文就帶你認(rèn)識(shí)STM32Trust,以及最新在STM32H7上支持的一種SMI技術(shù)。一、總述STM32TrustSTM32Trust官方網(wǎng)址:

www.st.com/stm32trust

STM32Trust是一套STM32解決方案,提供完整的代碼保護(hù)和執(zhí)行保護(hù)工具套件,如下圖:

1.代碼保護(hù)STM32Trust.CodeProtection一套解決方案,以確保燒寫STM32時(shí),客戶代碼的機(jī)密性和完整性。

某些STM32 單片機(jī)型號(hào)已嵌入硬件安全保護(hù)功能,還額外實(shí)現(xiàn)了篡改檢測(cè)、防火墻代碼隔離機(jī)制和Arm TrustZone技術(shù),來(lái)保護(hù)最敏感的代碼。 代碼保護(hù)方案支持的STM32列表:

幾個(gè)概念:①SBSFU:Secure Boot and Secure Firmware Update,安全啟動(dòng)和安全固件更新。②CRYPTOLIB:cryptographic firmware library,加密固件庫(kù)。③SFI:Secure Firmware Installation,安全固件安裝解決方案。 2.執(zhí)行保護(hù)設(shè)備成為商業(yè)產(chǎn)品就易成為受攻擊的目標(biāo),需要對(duì)信息安全攻擊具有免疫力。因而需要采取信息安全防護(hù)措施,以確保固件IP受到保護(hù),機(jī)密憑證和數(shù)據(jù)受應(yīng)用程序保護(hù),而不會(huì)被破壞。 執(zhí)行保護(hù)方案支持的STM32列表:

二、STM32Trust代碼保護(hù)在上面可以看得出來(lái),官方針對(duì)STM32做了多種代碼保護(hù)方案,這里挑選幾個(gè)進(jìn)行講述。 代碼保護(hù)包含:

X-CUBE-SBSFU解決方案

X-CUBE-CRYPTOLIB解決方案

SFI安全固件安裝解決方案

STM32CubeProgrammer

STM32HSM

FASTROM編程服務(wù)

1.X-CUBE-SBSFU解決方案SBSFU:Secure Boot and Secure Firmware Update,安全啟動(dòng)和安全固件更新。 網(wǎng)址:

https://www.st.com/en/embedded-software/x-cube-sbsfu.html

X-CUBE-SBSFU安全啟動(dòng)和安全固件更新解決方案允許使用新固件版本更新STM32微控制器內(nèi)置程序,增加新功能并糾正潛在問(wèn)題。更新過(guò)程以安全的方式執(zhí)行,以防止未經(jīng)授權(quán)的更新和對(duì)機(jī)密設(shè)備上數(shù)據(jù)的訪問(wèn)。

SBSFU主要體現(xiàn)安全啟動(dòng)和安全固件更新: 安全啟動(dòng)是不可變的代碼,通常在系統(tǒng)重置后執(zhí)行,該代碼檢查STM32靜態(tài)保護(hù),激活STM32運(yùn)行時(shí)保護(hù),然后在每次執(zhí)行之前驗(yàn)證用戶應(yīng)用程序代碼的真實(shí)性和完整性,以確保無(wú)效或惡意代碼無(wú)法運(yùn)行。 安全固件更新應(yīng)用程序通過(guò)具有Ymodem協(xié)議的UART接口接收固件映像,檢查其真實(shí)性,并在安裝代碼之前檢查代碼的完整性。

SBSFU主要特征:

①安全啟動(dòng)以在執(zhí)行之前檢查固件映像。

②具有防回滾和部分映像更新功能的安全固件更新,用于無(wú)線或本地固件映像更新。

③通過(guò)PKCS#11 API提供加密服務(wù)的安全密鑰管理服務(wù)。

④獨(dú)立的STM32系統(tǒng)解決方案示例,展示了STM32保護(hù)的最佳用法,可保護(hù)資產(chǎn)免遭未經(jīng)授權(quán)的外部或內(nèi)部訪問(wèn)。

⑤結(jié)合STM32和STSAFE-A100系統(tǒng)解決方案示例,展示了用于安全身份驗(yàn)證服務(wù)和安全數(shù)據(jù)存儲(chǔ)的硬件安全元素保護(hù)。

2.X-CUBE-CRYPTOLIB解決方案CRYPTOLIB:cryptographic firmware library,加密固件庫(kù)。 網(wǎng)址:

https://www.st.com/en/embedded-software/x-cube-cryptolib.html

STM32加密庫(kù)軟件包(X-CUBE-CRYPTOLIB)基于STM32Cube體系結(jié)構(gòu)軟件包,并包括一組基于固件實(shí)現(xiàn)的加密算法,可以在所有STM32微控制器中使用。

3.SFI安全固件安裝解決方案SFI:Secure Firmware Installation,安全固件安裝解決方案。 SFI安全固件安裝解決方案可用于STM32L4和STM32H7單片機(jī),并且很快將擴(kuò)展到其他STM32平臺(tái), 為設(shè)備的首次編程提供保護(hù)。 該解決方案提供一套完整的工具集,包含用于加密OEM二進(jìn)制文件的軟件(Trusted Package Creator),用于安全燒寫STM32的軟件(CUBE Programmer),以及用于將OEM機(jī)密憑證安全地交付給芯片燒錄廠家的STM32HSM。

4.STM32CubeProgrammer ? 這是一個(gè)大家熟知的對(duì)STM32編程的免費(fèi)工具,包含STM32TrustedPackage Creator工具,通過(guò)該工具可以為支持SFI功能的STM32生成SFI和SMI加密映像。 ?SFI映像的格式是由ST定義的固件加密格式,它使用AES算法將Elf、Hex、Bin或Srec格式的固件轉(zhuǎn)換為SFI格式的加密和認(rèn)證固件。

SFI映像由一個(gè)頭部區(qū)域和多個(gè)其他區(qū)域組成,這些區(qū)域通常為連續(xù)固件區(qū)域,最后一個(gè)區(qū)域?yàn)榕渲脜^(qū)域,其中包含SFI完成時(shí)需要設(shè)置的選項(xiàng)字節(jié)值。 我之前也寫過(guò)相關(guān)文章:關(guān)于STM32CubeProgrammer的內(nèi)容5.STM32HSMSTM32HSM-V1硬件安全模塊(HSM)用于確保STM32產(chǎn)品的編程安全,并避免在合同制造商的住所制造假冒產(chǎn)品。

SFI功能允許將客戶固件安全地加載到嵌入了安全引導(dǎo)程序的STM32產(chǎn)品中。 定義固件加密密鑰并對(duì)其固件進(jìn)行加密后,原始設(shè)備制造商(OEM)將加密密鑰存儲(chǔ)到一個(gè)或多個(gè)STM32HSM-V1 HSM,并使用STM32CubeProgrammer和STM32 Trusted Package Creator設(shè)置授權(quán)的SFI操作數(shù)(計(jì)數(shù)器值)軟件工具。合同制造商必須利用STM32HSM-V1 HSM將加密的固件加載到STM32設(shè)備:每個(gè)HSM僅允許OEM定義數(shù)量的編程操作,然后不可撤銷地將其停用。 STM32HSM-V1主要特征:①正版固件標(biāo)識(shí)(固件標(biāo)識(shí)符) ②識(shí)別具有安全固件安裝(SFI)功能的STM32產(chǎn)品 ③管理與支持的STM32產(chǎn)品關(guān)聯(lián)的ST公鑰 ④使用客戶定義的固件加密密鑰生成許可證 ⑤安全計(jì)數(shù)器,可生成預(yù)定義數(shù)量的許可證 ⑥直接支持STM32CubeProgrammer軟件(STM32CubeProg),包括STM32 Trusted Package Creator工具。 6.FASTROM編程服務(wù)FASTROM:Factory Advanced Service Technique Read Only Memory。 什么意思?MCU出廠時(shí)就把程序給你寫進(jìn)去。 MCU是預(yù)編程了客戶代碼和選項(xiàng)字節(jié)的Flash工藝MCU器件,F(xiàn)ASTROM MCU可提高大批量(10,000+)編程效率,相比ROM,具有交期更短、并允許對(duì)器件重新編程的優(yōu)勢(shì)。 三、STM32Trust執(zhí)行保護(hù)STM32Trust.ExecutionProtection是一組STM32功能,用于確保所有者代碼運(yùn)行期的適當(dāng)隔離、正確執(zhí)行和易用性,以保證所收集數(shù)據(jù)的機(jī)密性和真實(shí)性。STM32提供不同的架構(gòu)和隔離方案用于實(shí)現(xiàn)執(zhí)行保護(hù)。 執(zhí)行保護(hù)包含:

調(diào)試

安全啟動(dòng)

MPU

雙核架構(gòu)

TrustZone

防火墻

執(zhí)行保護(hù)的內(nèi)容不難理解,下面引用官方的內(nèi)容。

1.調(diào)試

通過(guò)調(diào)試端口可從外部訪問(wèn)所有設(shè)備資源。調(diào)試端口用于應(yīng)用程序開(kāi)發(fā),是攻擊者對(duì)設(shè)備進(jìn)行攻擊時(shí)可能會(huì)最先利用的薄弱環(huán)節(jié)。為確保用戶代碼的機(jī)密性和真實(shí)性,應(yīng)鎖定STM32調(diào)試功能。

2.安全啟動(dòng)

如X-CUBE-SBSFU軟件包中所示,安全啟動(dòng)在每次復(fù)位時(shí)執(zhí)行,檢查STM32平臺(tái)配置的完整性,并驗(yàn)證每個(gè)嵌入式固件的簽名,以確保其真實(shí)性。

3.MPU

存儲(chǔ)器保護(hù)單元機(jī)制可保護(hù)進(jìn)程,防止不同進(jìn)程間的相互訪問(wèn),并允許這些進(jìn)程獨(dú)立運(yùn)行。MPU所帶來(lái)的軟件隔離效果可確保各個(gè)進(jìn)程彼此之間的代碼和數(shù)據(jù)安全性。STM32提供受多種操作系統(tǒng)支持的MPU解決方案。

4.雙核架構(gòu)

雙核架構(gòu)允許兩個(gè)應(yīng)用程序在同一MCU設(shè)備中同時(shí)運(yùn)行,兩者通過(guò)內(nèi)核ID隔離。

5.TrustZone

TrustZone是一套完整的硬件機(jī)制,用來(lái)定義和隔離兩個(gè)主要的應(yīng)用程序區(qū):一個(gè)是所謂的可信區(qū)(用于保護(hù)關(guān)鍵應(yīng)用程序及其相關(guān)資源),另一個(gè)是不可信區(qū),運(yùn)行主應(yīng)用程序。

6.防火墻

防火墻是一種硬件保護(hù)外設(shè),它控制著總線訪問(wèn),并過(guò)濾對(duì)代碼區(qū)(閃存)、非易失性數(shù)據(jù)區(qū)域(SRAM)以及易失性數(shù)據(jù)區(qū)域(閃存)這三個(gè)特殊區(qū)域的訪問(wèn)。它允許用戶輕松地將關(guān)鍵代碼的執(zhí)行與主應(yīng)用程序分開(kāi)。


四、ST發(fā)布了首款兼容SMI的STM32

SMI:Secure Module Install,安全模塊安裝。

最近,ST發(fā)布了首款兼容SMI的STM32,那就是STM32H7。

地址:

https://blog.st.com/stm32h7-secure-module-install-smi/

安全固件安裝(SFI)現(xiàn)在是一種相對(duì)流行的技術(shù),它使系統(tǒng)制造商能夠?qū)⑵涔碳募用馨姹景l(fā)送給OEM。 由于僅在MCU內(nèi)部對(duì)代碼進(jìn)行解密,因此開(kāi)發(fā)人員可以降低IP盜用的風(fēng)險(xiǎn)。同樣,OEM可以提供重要的保證,而無(wú)需投資大型機(jī)器或技術(shù),因?yàn)樗鼈兾ㄒ恍枰氖荢TM32CubeProgrammer和HSM智能卡,其中包含安全證書(shū),可以將固件安全地安裝到MCU上。 關(guān)于SMISMI與其他常規(guī)模塊一樣,運(yùn)行在MCU上的應(yīng)用程序也調(diào)用該模塊,但是系統(tǒng)制造商無(wú)法訪問(wèn)源代碼,從而大大降低了IP盜用的可能性。 SMI和SFI流程:

細(xì)心的讀者會(huì)注意到SMI流程與SFI相同,但是開(kāi)發(fā)人員不加密整個(gè)固件,而是加密模塊。此外,SFI和SMI進(jìn)程使用不同的HSM卡。一個(gè)智能卡不能存儲(chǔ)所有憑據(jù),但是出于明顯的安全原因,每個(gè)固件和模塊都必須使用其卡。

與SFI不同,SMI需要編譯器支持唯一擴(kuò)展,免費(fèi)的STM32CubeIDE已經(jīng)兼容,并且它的最新更新剛剛帶來(lái)了對(duì)STM32H7的支持,使其成為專業(yè)人士和發(fā)燒友的絕佳工具。同樣,Keil和iAR也兼容,并且我們正在與其他IDE制造商合作以確保提供盡可能廣泛的支持。

在10月8日,IAR官網(wǎng)有一份公告:IAR Systems簡(jiǎn)化了IP保護(hù)并實(shí)現(xiàn)了主流微控制器設(shè)備的安全性。

地址:

https://www.iar.com/about-us/newsroom/press/?releaseId=3440256

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ST
    ST
    +關(guān)注

    關(guān)注

    32

    文章

    1126

    瀏覽量

    128782
  • STM32
    +關(guān)注

    關(guān)注

    2264

    文章

    10854

    瀏覽量

    354299
  • STM32Trust
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    2213
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    英飛凌OPTIGA Trust M MTR擴(kuò)展板用于評(píng)估OPTIGA Trust M安全解決方案

    Trust M MTR 。OPTIGA Trust M MTR是一種分立式安全解決方案,可搭配任何微控制器(MCU)或片上系統(tǒng)(
    的頭像 發(fā)表于 10-17 14:42 ?317次閱讀
    英飛凌OPTIGA <b class='flag-5'>Trust</b> M MTR擴(kuò)展板用于評(píng)估OPTIGA <b class='flag-5'>Trust</b> M安全解決方案

    stm32程序燒錄的幾種方法?

    JTAG、SWD、UART、I2C、SPI等。 1. JTAG燒錄 JTAG(Joint Test Action Group)是一種國(guó)際標(biāo)準(zhǔn)測(cè)試協(xié)議,廣泛應(yīng)用于微控制器和集成電路的測(cè)試與燒錄。STM32
    的頭像 發(fā)表于 08-22 09:35 ?2848次閱讀

    stm32用串口燒錄怎么設(shè)置

    準(zhǔn)備工作 確保您擁有STM32開(kāi)發(fā)板和相應(yīng)的硬件設(shè)備,如USB轉(zhuǎn)串口模塊。 安裝STM32CubeMX和STM32CubeProgrammer軟件,這些是ST官方提供的工具,用于配置和
    的頭像 發(fā)表于 08-22 09:33 ?1066次閱讀

    開(kāi)發(fā)攻略之STM32調(diào)試端口的映射

    需要先進(jìn)行定的設(shè)置。、STM32的調(diào)試方式選擇STM32支持JTAG和SWD兩調(diào)試方式,且
    的頭像 發(fā)表于 08-03 08:11 ?342次閱讀
    開(kāi)發(fā)攻略之<b class='flag-5'>STM32</b>調(diào)試端口的映射

    一種供電總線技術(shù)POWERBUS二總線

    首先給大家介紹一種總線技術(shù)Powerbus總線,特性: 1.總線可供電,通訊和供電無(wú)需電氣隔離 2.總線抗干擾能力強(qiáng),可與市電并走 3.可支持總線電流20A(2400bps) 4.具備總線短路保護(hù)
    發(fā)表于 07-23 13:38

    51、STM32單片機(jī)的編程方式樣嗎?

    STM32和51單片機(jī)是兩常見(jiàn)的單片機(jī)系列,它們?cè)谟布軜?gòu)、性能特點(diǎn)和編程方式等方面有所不同。但是從c語(yǔ)言編程的角度來(lái)說(shuō),我認(rèn)為是大同小異的。我們來(lái)對(duì)比下它們的編程特點(diǎn):51&
    的頭像 發(fā)表于 05-18 08:04 ?1820次閱讀
    51、<b class='flag-5'>STM32</b>單片機(jī)的編程方式<b class='flag-5'>一</b>樣嗎?

    使用STM32Trust構(gòu)建安全的商業(yè)產(chǎn)品

    如今,嵌入式系統(tǒng)內(nèi)部和之間的網(wǎng)絡(luò)連接普遍存在,這促使原始設(shè)備制造商 (OEM) 和系統(tǒng)集成商重新考慮如何保護(hù)其電子產(chǎn)品。這不僅僅是產(chǎn)品本身。 物聯(lián)網(wǎng) (IoT) 為工程組織增加了新的防御維度,包括來(lái)自設(shè)備的網(wǎng)絡(luò)連接及其傳輸?shù)臄?shù)據(jù)。這些努力與公司保護(hù)存儲(chǔ)在嵌入式系統(tǒng)中的敏感IP的愿望相輔相成,這樣他們的專有工作就無(wú)法被克隆或更改。此外,集成這些額外的安全措施符合公司的偏好,即系統(tǒng)不會(huì)被征用和用于最初預(yù)期以外的用途。 然
    的頭像 發(fā)表于 04-02 18:05 ?1625次閱讀

    一種基于STM32G4芯片TIM+SPI+DMA應(yīng)用設(shè)計(jì)方案

    現(xiàn)在有STM32用戶使用STM32G474R芯片開(kāi)發(fā)產(chǎn)品,其中用到TIM1做電源驅(qū)動(dòng),TIM1工作在中心對(duì)齊計(jì)數(shù)模式。
    的頭像 發(fā)表于 03-17 10:57 ?1627次閱讀
    求<b class='flag-5'>一種</b>基于<b class='flag-5'>STM32</b>G4芯片TIM+SPI+DMA應(yīng)用設(shè)計(jì)方案

    STM32開(kāi)發(fā)者社區(qū):從這里開(kāi)啟你的STM32之旅!小白和PRO都友好

    來(lái)源:意法半導(dǎo)體博客 當(dāng)面對(duì)STM32Cube生態(tài)系統(tǒng)這樣個(gè)龐大而豐富的開(kāi)發(fā)世界時(shí),工程師難免會(huì)產(chǎn)生疑問(wèn),從哪里開(kāi)始才好? ST的許多合作伙伴和客戶都希望有更多的產(chǎn)品能夠利用STM32
    的頭像 發(fā)表于 02-27 15:47 ?482次閱讀
    <b class='flag-5'>STM32</b>開(kāi)發(fā)者社區(qū):從這里開(kāi)啟你的<b class='flag-5'>STM32</b>之旅!小白和PRO都友好

    昂科燒錄器支持ST意法半導(dǎo)體的32位微控制器STM32H7A3IIK6

    芯片燒錄行業(yè)領(lǐng)導(dǎo)者-昂科技術(shù)近日發(fā)布最新的燒錄軟件更新及新增支持的芯片型號(hào)列表,其中ST意法半導(dǎo)體的32位微控制器STM32H7A3IIK6
    的頭像 發(fā)表于 01-10 17:41 ?636次閱讀
    昂科燒錄器<b class='flag-5'>支持</b><b class='flag-5'>ST</b>意法半導(dǎo)體的32位微控制器<b class='flag-5'>STM32</b>H7A3IIK6

    STM32CubeIDE找不到elf

    STM32CubeIDE中找不到elf文件的原因及解決方法。 首先,我們需要了解elf文件是什么。elf(Executable and Linkable Format)是一種可執(zhí)
    的頭像 發(fā)表于 01-02 16:32 ?1603次閱讀

    STM32單片機(jī)般有幾種調(diào)試方式

    JTAG調(diào)試*:這是一種常用的調(diào)試工具,可以用于單步執(zhí)行、斷點(diǎn)調(diào)試等操作。在STM32單片機(jī)中,可以使用ST-Link、STMicroelectronics IDE等工具進(jìn)行JTAG調(diào)試。
    的頭像 發(fā)表于 12-13 10:31 ?2984次閱讀

    stm32 g系列和f系列的區(qū)別

    支持單周期乘法和累加(MAC)指令,提供了一種高效的方式來(lái)處理混合信號(hào)和控制應(yīng)用。 - F系列: STM32 F系列也采用Arm Cortex-M4內(nèi)核,但
    的頭像 發(fā)表于 12-07 14:46 ?9906次閱讀

    實(shí)戰(zhàn)經(jīng)驗(yàn) | 步創(chuàng)建STM32WBA BLE_Custom工程

    、NUCLEO-WBA52CG 的 CubeMX 初始化 6、驗(yàn)證藍(lán)牙基本連接 7、使能串口日志追蹤 8、小結(jié) 01 介紹 STM32WBA 是 ST 最新代的 BLE 芯片。該芯片已經(jīng)獲得
    的頭像 發(fā)表于 11-30 13:25 ?1697次閱讀

    stm32cube怎么安裝 STM32CubeMX安裝步驟教程

    STM32CubeMX是STM32芯片圖形化配置工具,通過(guò)簡(jiǎn)單的操作便能實(shí)現(xiàn)相關(guān)配置,省去了我們配置各種外設(shè)的時(shí)間,支持MDK、IAR For ARM、TrueStudio等多種工具。
    發(fā)表于 11-14 12:37 ?1583次閱讀
    <b class='flag-5'>stm32</b>cube怎么安裝 <b class='flag-5'>STM32</b>CubeMX安裝步驟教程