2.3.1什么是TrustZone,它有什么作用
TrustZone是Arm開發的一項核心技術,作為Armv8-M架構的一部分,通過強制硬件隔離提供系統級安全措施。TrustZone要求在軟件中劃分安全和非安全MCU區域對應的邏輯分區,從而創建受保護的環境。該技術通常在搭載ArmCortex-M33內核的器件上實現,個別情況下也在搭載ArmCortex-M23內核的器件上實現。
內存區域劃分為三個不同的分區:
一個安全分區,用于密鑰存儲和數據解密等受信任或受保護的IP;
一個非安全分區,用于常規應用;
以及一個非安全可調用分區,用作其他兩個分區之間的網關。
通過最后一個非安全可調用分區,位于非安全分區中的代碼可以調用安全分區中的服務。此功能可以通過跳板(veneer)實現,支持隔離安全分區和非安全分區。
如上圖所示:TrustZone支持對安全區域和非安全區域進行隔離。在安全和非安全狀態下都可以訪問非安全環境中的函數和數據,而非安全環境中的例程只能通過調用位于非安全可調用環境(NSC)的跳板來訪問安全環境中的服務。通過此方式提供一個進入安全環境的確定入口點。
2.3.2安全環境和非安全環境的劃分
現在我們已經清楚,程序需要劃分為安全和非安全環境,我們該如何相應地對軟件進行分區?為此,基于TrustZone的系統始終包含兩個不同的項目:一個安全項目,另一個是非安全項目。二者都可以利用SRAM以及代碼和數據閃存,但只有安全代碼可以直接訪問兩個(安全和非安全)分區。
可借助e2studio中的項目配置器設置這些項目。創建新項目后,系統將提示您選擇項目應具有的類型。
Flat扁平化(非TrustZone)項目
TrustZone安全項目
TrustZone非安全項目
注解:
關于TrustZone的具體應用方法請參考本教程的最后章節的TrustZone應用示例。與安全環境和非安全環境的劃分相關的內容包括:跨邊界的函數調用、從安全代碼到非安全代碼的回調、保護函數等。
2.3.3器件生命周期管理(DLM)
器件生命周期(DLM)定義了器件壽命的不同階段,并控制調試接口、串行編程接口和瑞薩測試模式的功能。出于安全原因,這樣便可將位于安全環境中的代碼的編寫與在非安全環境中運行的應用程序的編寫分開,并且可以由兩個獨立的團隊來開發產品:由安全開發人員團隊創建信任根(RoT)或孤立的子系統,并由非安全環境的設計人員創建使用該RoT或子系統的應用程序。靈活配置軟件包(FSP)和e2studio支持這種設計劃分。
安全環境的代碼準備就緒后,可將其預先燒錄到器件中,并將生命周期設置為NSECSD,從而鎖定安全環境,或者作為捆綁包由非安全項目引用。應用程序設計人員將以此作為起點,在非安全環境中編寫應用程序,對其進行調試,然后將其燒錄到器件中。如果需要,他們還可以禁用所使用的閃存模塊的編程和擦除功能。最后一步,將生命周期的狀態設置為已部署、調試鎖定或引導鎖定。這樣一來,整個器件可獲得保護,并且不能對編程接口和器件進行調試、讀取或編程。如下圖顯示了器件生命周期可能的狀態和轉換。
器件生命周期管理的不同狀態:
有三種不同的調試訪問級別,它們視生命周期的狀態而變化:
DBG2:允許調試器連接,訪問存儲器和外設沒有任何限制。
DBG1:允許調試器連接,但訪問只限于非安全內存區域和外設。
DBG0:不允許進行調試連接。
下面的表格提供了對每個生命周期的解釋:
可以使用瑞薩閃存編程器(RenesasFlashProgrammer(RFP))或瑞薩器件分區管理器(DevicePartition Manager)執行從一種狀態到另一種狀態的轉換,但后者可選擇的狀態有限。可以通過使用身份驗證密鑰來保護狀態之間的轉換。有關不同DLM狀態和器件特定轉換的更多信息,請參見相應微控制器的用戶手冊。
-
mcu
+關注
關注
146文章
17942瀏覽量
363425 -
ARM
+關注
關注
134文章
9346瀏覽量
376564 -
瑞薩
+關注
關注
36文章
22377瀏覽量
87950 -
生命周期
+關注
關注
0文章
18瀏覽量
7510 -
trustzone
+關注
關注
0文章
22瀏覽量
12674
原文標題:TrustZone介紹及用途與器件生命周期管理(DLM)——瑞薩RA系列FSP庫開發實戰指南連載(05)
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
embOS如何支持Arm TrustZone

TrustZone結構化消息是什么?
關于Arm的動態TrustZone技術知識介紹
介紹Cortex-A和Cortex-M的TrustZone之間的差異
了解體系結構-適用于AArch64的TrustZone介紹
ARMv8-A TrustZone軟件對實施SVE的系統的影響
STM32 MCU TrustZone開發調試技巧分享
ARM TrustZone技術對Zynq SoC的作用

物聯網安全-基于Cortex-M處理器的TrustZone技術簡介(1)

Arm? TrustZone? 技術簡介

armv9-動態Trustzone技術的介紹

評論