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

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

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

TrustZone是怎樣保護(hù)片上代碼的機(jī)密性的?

strongerHuang ? 來(lái)源:STM32 ? 作者:STM32 ? 2021-06-15 15:59 ? 次閱讀

STM32L5基于Cortex-M33 內(nèi)核,其內(nèi)核基于ARMV8-M架構(gòu),自帶有TrustZone安全技術(shù),從內(nèi)核到整個(gè)芯片系統(tǒng),實(shí)現(xiàn)了安全區(qū)域和非安全區(qū)域之間的有效隔離。在調(diào)試端口保護(hù)方面,TrustZone 和 RDP(讀保護(hù))的配合,同樣可以實(shí)現(xiàn)靈活的調(diào)試端口訪問(wèn)控制,有效阻斷來(lái)自調(diào)試端口對(duì)片上代碼的窺探。

TrustZone 保護(hù)片上代碼的機(jī)密性

調(diào)試端口連接可控

在RDP1或者RDP0.5條件下,如果芯片使用了TrustZone上電調(diào)試接口就不可連接(具有類(lèi)似RDP2的效果)

比RDP2更靈活,可以由用戶(hù)代碼控制后續(xù)調(diào)試端口訪問(wèn)權(quán)限,實(shí)現(xiàn)安全調(diào)試,并保留修改選項(xiàng)字節(jié)的可能性

用戶(hù)片上Flash進(jìn)一步隔離

安全閃存區(qū)域不能被非安全世界任意訪問(wèn)

非安全世界不能訪問(wèn)安全世界的數(shù)據(jù)

非安全世界不能訪問(wèn)安全世界的外設(shè)

非安全世界訪問(wèn)安全世界的函數(shù),需要按照一定規(guī)則,不可隨意調(diào)用

pYYBAGDIXsyARUS1AAC2rzFcgc8321.jpg

TrustZone 助力代碼保護(hù)示例

資源在“安全世界”和“非安全世界”之間的分配

示例菜單和測(cè)試功能

示例運(yùn)行注意事項(xiàng)

資源的分配

上電運(yùn)行安全世界代碼,做資源分配

安全世界:

關(guān)鍵操作,關(guān)鍵數(shù)據(jù)

配合讀保護(hù),可以阻斷調(diào)試端口連接

非安全世界:

人機(jī)交互

可以使能調(diào)試端口,但是無(wú)法訪問(wèn)到安全世界的關(guān)鍵數(shù)據(jù)和外設(shè)

調(diào)試端口的連接控制RDP=0

讀保護(hù)級(jí)別為0(芯片缺省狀態(tài))

芯片復(fù)位可被調(diào)試端口連接

poYBAGDIXsWASYafAADWo-ExoC0371.jpg

運(yùn)行示例

調(diào)試端口的連接控制RDP=0.5

讀保護(hù)級(jí)別為0.5

硬件保證:CPU處于安全狀態(tài)時(shí),調(diào)試無(wú)法連接;包括復(fù)位時(shí),運(yùn)行安全代碼時(shí)

軟件操作:安全代碼在跳轉(zhuǎn)到非安全區(qū)域之前,關(guān)閉調(diào)試端口

保護(hù)效果

CPU運(yùn)行在非安全區(qū)域時(shí),缺省調(diào)試無(wú)法連接;可通過(guò)身份認(rèn)證來(lái)使能對(duì)非安全代碼的調(diào)試

帶身份認(rèn)證的調(diào)試使能

基于“挑戰(zhàn)-應(yīng)答”模型

芯片產(chǎn)生隨機(jī)序列,合法用戶(hù)持有匹配私鑰對(duì)隨機(jī)序列的簽名,才能被芯片使用其存儲(chǔ)在安全世界里的對(duì)應(yīng)公鑰驗(yàn)簽成功

例程運(yùn)行注意事項(xiàng)

RDP0.5時(shí),S代碼自動(dòng)關(guān)閉調(diào)試端口。使用STM32CUbeProgrammer hotplug也無(wú)法連接;IDE下載NS代碼也不會(huì)成功;需要用戶(hù)通過(guò)菜單打開(kāi)調(diào)試端口,之后STM32Cubeprogramer才能連接成功,IDE下載也才能成功。

RDP非0時(shí),片上Flash中如果沒(méi)有可以跑到非安全狀態(tài)的有效代碼,調(diào)試端口不再可連 除非改變啟動(dòng)方式,從系統(tǒng)BL啟動(dòng)(系統(tǒng)BL的代碼是一定可以跑到非安全狀態(tài)的) 需要確??梢詮南到y(tǒng)BL啟動(dòng)(選項(xiàng)字節(jié)中的啟動(dòng)控制:nSWBOOT0)

【Q】為何例程沒(méi)有提供RDP回退的菜單? 【A】TrustZone使能時(shí),RDP回退只能由調(diào)試接口或者系統(tǒng)BL完成 例程通過(guò)硬件和軟件兩方面一起作用,實(shí)現(xiàn)了對(duì)非安全代碼的可控調(diào)試 硬件:讀保護(hù)級(jí)別不為零+TZ使能 復(fù)位時(shí)+ 運(yùn)行在安全代碼區(qū)域時(shí),調(diào)試不可連接 軟件:安全區(qū)代碼在跳轉(zhuǎn)到非安全區(qū)代碼之前,軟件關(guān)閉調(diào)試端口 菜單【1】、【2】:測(cè)試作用,不會(huì)集成到產(chǎn)品中 菜單【D】:即使通過(guò)通信端口在非安全區(qū)注入惡意代碼來(lái)調(diào)用打開(kāi)調(diào)試端口的功能,由于不知道簽名所需要的私鑰,驗(yàn)證無(wú)法通過(guò),不能打開(kāi)調(diào)試端口 。

責(zé)任編輯:lq6

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • STM32
    +關(guān)注

    關(guān)注

    2262

    文章

    10846

    瀏覽量

    353660

原文標(biāo)題:ARMV8-M中的TrustZone如何保護(hù)代碼的安全?

文章出處:【微信號(hào):strongerHuang,微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    MSP代碼保護(hù)功能

    電子發(fā)燒友網(wǎng)站提供《MSP代碼保護(hù)功能.pdf》資料免費(fèi)下載
    發(fā)表于 09-21 09:14 ?0次下載
    MSP<b class='flag-5'>代碼</b><b class='flag-5'>保護(hù)</b>功能

    過(guò)流保護(hù)怎樣與電池組連接的

    過(guò)流保護(hù)(Current Limiting Fuse)是一種電路保護(hù)元件,用于保護(hù)電池組免受過(guò)大電流的損害。它通過(guò)限制電流的流動(dòng)來(lái)防止電池過(guò)熱、損壞或者發(fā)生火災(zāi)。過(guò)流
    的頭像 發(fā)表于 09-20 15:46 ?196次閱讀

    過(guò)流保護(hù)的型號(hào)選擇要考慮哪些參數(shù)

    過(guò)流保護(hù),也稱(chēng)為過(guò)電流保護(hù)或電流限制片,是一種用于電路中保護(hù)電子設(shè)備免受過(guò)大電流損害的元件。選擇合適的過(guò)流
    的頭像 發(fā)表于 09-20 15:45 ?138次閱讀

    鴻蒙開(kāi)發(fā):Universal Keystore Kit 密鑰管理服務(wù) 密鑰使用介紹及通用流程

    為了實(shí)現(xiàn)對(duì)數(shù)據(jù)機(jī)密性、完整保護(hù),可使用生成/導(dǎo)入的密鑰,對(duì)數(shù)據(jù)進(jìn)行密鑰操作
    的頭像 發(fā)表于 07-09 11:56 ?364次閱讀
    鴻蒙開(kāi)發(fā):Universal Keystore Kit 密鑰管理服務(wù) 密鑰使用介紹及通用流程

    STM32H5和STM32U5在trustzone上有哪些不同?

    我要做空調(diào)的空中升級(jí)FOTA的方案,需要加密,對(duì)于trustzone功能,采用那款芯片比較合適?STM32H5和STM32U5在trustzone上有哪些不同?
    發(fā)表于 07-05 07:03

    esp32c3怎樣保護(hù)flash中的代碼不被拷貝?

    想知道這個(gè)c3怎樣保護(hù)flash中的代碼不被拷貝。這個(gè)內(nèi)置flash中的代碼有沒(méi)有可能被拷貝出來(lái),如果可以拷貝,應(yīng)該怎樣
    發(fā)表于 06-19 06:32

    惡意代碼輔助檢測(cè)系統(tǒng):“降低、保障、智能”缺一不可

    ? ? ?國(guó)內(nèi)專(zhuān)注于保密與非密領(lǐng)域的分級(jí)保護(hù)、等級(jí)保護(hù)、業(yè)務(wù)連續(xù)安全和大數(shù)據(jù)安全產(chǎn)品解決方案與相關(guān)技術(shù)研究開(kāi)發(fā)的領(lǐng)軍企業(yè)——國(guó)聯(lián)易安研究團(tuán)隊(duì)在長(zhǎng)期對(duì)木馬、病毒等惡意代碼行為進(jìn)行監(jiān)測(cè)、
    的頭像 發(fā)表于 03-28 16:15 ?434次閱讀

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

    電子發(fā)燒友網(wǎng)站提供《STM32H5 DA 之初體驗(yàn)(帶 TrustZone).pdf》資料免費(fèi)下載
    發(fā)表于 02-19 14:19 ?0次下載
    STM32H5 DA 之初體驗(yàn)(帶 <b class='flag-5'>TrustZone</b>)

    工業(yè)智能網(wǎng)關(guān)如何保障數(shù)據(jù)通信安全

    工業(yè)物聯(lián)網(wǎng)的數(shù)據(jù)安全不僅關(guān)乎單個(gè)設(shè)備的運(yùn)行安全,更關(guān)乎整個(gè)工業(yè)生態(tài)系統(tǒng)的可靠和穩(wěn)定,選用佰馬工業(yè)智能網(wǎng)關(guān),實(shí)現(xiàn)包括數(shù)據(jù)加密、訪問(wèn)控制、專(zhuān)網(wǎng)傳輸?shù)龋軌虼_保工業(yè)通信數(shù)據(jù)的完整、可用機(jī)密性,打造安全可靠的工業(yè)物聯(lián)網(wǎng)應(yīng)用
    的頭像 發(fā)表于 01-10 18:02 ?280次閱讀
    工業(yè)智能網(wǎng)關(guān)如何保障數(shù)據(jù)通信安全

    內(nèi)和間非均勻是什么?有什么作用呢?

    內(nèi)和間非均勻是什么?有什么作用呢? 內(nèi)和間非均勻是指光學(xué)元件(如透鏡)表面上的厚度/
    的頭像 發(fā)表于 12-19 11:48 ?533次閱讀

    STM32 TrustZone 開(kāi)發(fā)調(diào)試技巧

    電子發(fā)燒友網(wǎng)站提供《STM32 TrustZone 開(kāi)發(fā)調(diào)試技巧.pdf》資料免費(fèi)下載
    發(fā)表于 12-18 11:16 ?2次下載
    STM32 <b class='flag-5'>TrustZone</b> 開(kāi)發(fā)調(diào)試技巧

    繼電保護(hù)

    繼電保護(hù)? 繼電保護(hù)是電力系統(tǒng)中非常重要的一環(huán),目的是保障電力系統(tǒng)的安全運(yùn)行。繼電保護(hù)的作用是及時(shí)發(fā)現(xiàn)電力系統(tǒng)中的故障和異常情況,并采取相應(yīng)的措施,從而
    的頭像 發(fā)表于 12-07 17:19 ?5634次閱讀

    armv9-動(dòng)態(tài)Trustzone技術(shù)的介紹

    十多年來(lái),TrustZone 一直在基于 Arm 的設(shè)備上成功保護(hù)媒體 pipelines 。在此期間,這些設(shè)備的要求隨著比特率、分辨率、幀率、圖像質(zhì)量和用戶(hù)界面創(chuàng)新而顯著增長(zhǎng)。所有這些都在突破最初的設(shè)計(jì)限制。
    的頭像 發(fā)表于 11-10 16:39 ?804次閱讀
    armv9-動(dòng)態(tài)<b class='flag-5'>Trustzone</b>技術(shù)的介紹

    內(nèi)和間非均勻是什么?如何計(jì)算?有什么作用呢?

    導(dǎo)語(yǔ):均勻在芯片制程的每一個(gè)工序中都需要考慮到,包括薄膜沉積,刻蝕,光刻,cmp,離子注入等。較高的均勻才能保證芯片的產(chǎn)品與性能。那么內(nèi)和間非均勻
    的頭像 發(fā)表于 11-01 18:21 ?1439次閱讀
    <b class='flag-5'>片</b>內(nèi)和<b class='flag-5'>片</b>間非均勻<b class='flag-5'>性</b>是什么?如何計(jì)算?有什么作用呢?

    89C51內(nèi)的RAM的空間是怎樣分配的?

    89C51內(nèi)有256 B內(nèi)存,這內(nèi)存是怎樣分配?
    發(fā)表于 10-27 08:21