• 正文
    • 關(guān)于?TrustZone
    • TrustZone在項目中重要的作用
    • RA8?TrustZone工程
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

Cortex-M85(RA8)單片機中 TrustZone 的含義和作用是什么?

04/03 11:05
351
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

作者 | strongerHuang

TrustZone,翻譯過來叫:安全區(qū)、信任區(qū)。

TrustZone 是ARM引入的一項硬件級安全技術(shù),旨在通過隔離敏感資源與非安全操作,為嵌入式系統(tǒng)提供更強的安全防護。

在最新的Arm?Cortex-M85 內(nèi)核中都包含?TrustZone 這項功能,當(dāng)然,TrustZone 這項技術(shù)在十多年前就已經(jīng)有了。我們之前分享的瑞薩 RA8 單片機里面也包含這項技術(shù)。

關(guān)于?TrustZone

TrustZone 是一種硬件強制隔離機制,將CPU、內(nèi)存、外設(shè)等資源劃分為安全區(qū)(Secure World)和非安全區(qū)(Non-secure World)。

通過硬件級別的權(quán)限控制,確保非安全代碼無法直接訪問安全區(qū)的關(guān)鍵資源(如加密密鑰、固件等),從而抵御軟件攻擊或物理側(cè)信道攻擊。

在 Cortex-M85 (RA8單片機)中,TrustZone 基于 Armv8.1-M 架構(gòu)實現(xiàn),并針對RA8(MCU)場景優(yōu)化,提供低延遲、低開銷的安全隔離,適合實時性要求高的嵌入式應(yīng)用。

TrustZone 的幾點作用1、硬件級資源隔離內(nèi)存與外設(shè)分區(qū):每個內(nèi)存塊、外設(shè)均可標(biāo)記為安全或非安全,非安全代碼訪問安全資源時會被硬件攔截。

安全狀態(tài)切換:通過專用指令(如 SG/NSG)在安全/非安全狀態(tài)間切換,確保關(guān)鍵操作(如密鑰處理)僅在安全環(huán)境執(zhí)行。

2、安全服務(wù)隔離

安全區(qū)可運行可信代碼(如加密算法、安全啟動、固件更新),非安全區(qū)運行普通應(yīng)用,防止惡意代碼竊取敏感數(shù)據(jù)。

支持安全回調(diào)機制,允許非安全代碼通過受控接口調(diào)用安全服務(wù)(如簽名驗證),避免直接暴露安全邏輯。

3、防御多類攻擊阻止軟件漏洞(如緩沖區(qū)溢出)導(dǎo)致的安全區(qū)越權(quán)訪問。

結(jié)合物理防護措施(如防篡改檢測),增強對硬件攻擊的抵抗。

TrustZone在項目中重要的作用

在座各位,應(yīng)該有很多都是搞嵌入式開發(fā)的,相信或多或少都遇到過軟件bug的時候。

其實,嵌入式開發(fā),很多情況下的bug,都是由于內(nèi)存的問題導(dǎo)致的。說白了,就是“非法”操作了內(nèi)存地址。同時也有些bug是因為非法操作硬件導(dǎo)致的。

此時,如果引入TrustZone這種功能,能很大程度減少bug的發(fā)生。那么,TrustZone在項目中有哪些重要的作用呢?

1、提升系統(tǒng)安全性

敏感數(shù)據(jù)保護:密鑰、證書等存儲于安全區(qū),即使應(yīng)用層被攻破,攻擊者也無法直接讀取。

安全啟動與固件更新:確保只有經(jīng)簽名的固件可在安全區(qū)執(zhí)行,防止惡意固件注入。

2、 降低開發(fā)與部署成本

芯片集成安全功能:無需外置安全元件(SE),減少硬件復(fù)雜性和成本。

模塊化開發(fā):安全與非安全代碼可獨立開發(fā),團隊協(xié)作更高效(如安全團隊負(fù)責(zé)安全區(qū),應(yīng)用團隊負(fù)責(zé)非安全區(qū))。

3、增強產(chǎn)品競爭力

適應(yīng)嚴(yán)苛場景:適用于智能家居、醫(yī)療設(shè)備、車聯(lián)網(wǎng)等高安全需求領(lǐng)域。

延長產(chǎn)品生命周期:通過可信任的遠(yuǎn)程固件更新,持續(xù)修復(fù)漏洞,降低召回風(fēng)險。

RA8?TrustZone工程

基于瑞薩?e2 studio 可以快速創(chuàng)建一個?RA8D1_TrustZone工程。

主要就是在創(chuàng)建工程的時候,選擇TrustZone Secure Project:

然后,官方也提供了工程例程:

生成的工程,和普通的工程,看起來沒什么區(qū)別,但底層是發(fā)生了變化的。比較直觀的就是:內(nèi)存地址。通過工具其實都能看到一些變化信息。

今天就分享到這里,主要是一些基礎(chǔ)的信息,更多還需要大家結(jié)合實際項目深入理解。希望對大家有所幫助。

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

作者黃工,從事嵌入式軟件開發(fā)工作8年有余,高級嵌入式軟件工程師,業(yè)余維護公眾號『strongerHuang』,分享嵌入式軟硬件、單片機、物聯(lián)網(wǎng)等內(nèi)容。