《瑞薩RA產(chǎn)品家族初學(xué)者指南》系列文章已收錄成合集,歡迎點(diǎn)擊上方查看合集并訂閱!
11. 安全性和TrustZone
您將在本章中學(xué)到以下內(nèi)容:
-
什么是TrustZone以及它如何保護(hù)器件
-
Renesas的TrustZone可以帶來哪些好處
-
對(duì)應(yīng)用的安全部分和非安全部分進(jìn)行分隔的原理
-
如何實(shí)現(xiàn)器件生命周期管理
安全性至關(guān)重要!必須從項(xiàng)目伊始就考慮到安全性,因?yàn)闊o法在后續(xù)流程中加入該要素。至少,無法避免費(fèi)用高昂的重新設(shè)計(jì)工作,甚至還可能面臨要重建整個(gè)應(yīng)用。安全性可視為建筑物的地基:沒有華麗的外表,而且其所需的設(shè)計(jì)和建造時(shí)間可能超過建造其他功能所需的時(shí)間總和。即便完成搭建,也可能感覺不到它的存在。但是,安全性對(duì)于互聯(lián)環(huán)境中的所有應(yīng)用都至關(guān)重要。
什么時(shí)候需要確保安全性?產(chǎn)品通過有線或無線接口(如WiFi、藍(lán)牙、USB或以太網(wǎng))進(jìn)行通信時(shí)。存儲(chǔ)十分重要的信息(如密鑰、證書、密碼、個(gè)人數(shù)據(jù)、測量數(shù)據(jù)或算法)時(shí)。產(chǎn)品升級(jí)(例如,進(jìn)行固件更新、功能升級(jí)或購買付費(fèi)服務(wù))時(shí)。
因此,安全性涉及各種應(yīng)用領(lǐng)域。安全性與“智能”世界息息相關(guān),如智能電網(wǎng)、智慧城市、智能樓宇、智能家居、智能照明、智能手表、智能電器或智能服裝等。它還會(huì)影響到物聯(lián)網(wǎng)或工業(yè)應(yīng)用,因?yàn)?a target="_blank">傳感器、機(jī)器人技術(shù)、樓宇自動(dòng)化或農(nóng)業(yè)也需要確保安全性。還有醫(yī)療應(yīng)用,人命關(guān)天,必須謹(jǐn)慎對(duì)待安全問題。
瑞薩的RA產(chǎn)品家族微控制器支持以多種方式來創(chuàng)建安全應(yīng)用:通過搭載Arm Cortex-M4、-M23或-M33內(nèi)核的器件上的安全加密引擎,通過搭載Cortex-M4或-M23內(nèi)核的器件上的安全內(nèi)存保護(hù)單元,也可以通過搭載Cortex-M33內(nèi)核的MCU上瑞薩對(duì)Arm的TrustZone的自有實(shí)現(xiàn)。本章將討論最后一種方式。
最后值得一提的是:大多數(shù)RA產(chǎn)品家族MCU均已通過PSA Certified 1級(jí)認(rèn)證,其中RA6M4 MCU系列已通過PSA Certified 2級(jí)認(rèn)證。其中包括對(duì)采用Trusted Firmware M (TF-M)的RA產(chǎn)品家族靈活配置軟件包進(jìn)行PSA功能API認(rèn)證。多個(gè)RA產(chǎn)品家族MCU系列已通過SESIP1認(rèn)證,無論選擇何種軟件平臺(tái),都能確保實(shí)現(xiàn)基本的安全功能。此外,安全加密引擎獲多項(xiàng)NIST CAVP認(rèn)證,可確保各種加密功能正常發(fā)揮作用。從而增強(qiáng)了用戶面向互聯(lián)環(huán)境開發(fā)安全產(chǎn)品時(shí)的信心。
本章目錄
-
什么是TrustZone,它有什么作用?
-
安全環(huán)境和非安全環(huán)境的劃分
-
器件生命周期管理
-
TrustZone用例
11.1 什么是TrustZone,它有什么作用?
TrustZone是Arm開發(fā)的一項(xiàng)核心技術(shù),作為Arm v8-M架構(gòu)的一部分,通過強(qiáng)制硬件隔離提供系統(tǒng)級(jí)安全措施。TrustZone要求在軟件中劃分安全和非安全MCU區(qū)域?qū)?yīng)的邏輯分區(qū),從而創(chuàng)建受保護(hù)的環(huán)境。該技術(shù)通常在搭載Arm Cortex-M33內(nèi)核的器件上實(shí)現(xiàn),個(gè)別情況下也在搭載Arm Cortex-M23內(nèi)核的器件上實(shí)現(xiàn)。
內(nèi)存區(qū)域劃分為三個(gè)不同的分區(qū):
-
安全分區(qū),用于密鑰存儲(chǔ)和數(shù)據(jù)解密等受信任或受保護(hù)的IP;
-
非安全分區(qū),用于常規(guī)應(yīng)用;
-
非安全可調(diào)用分區(qū),用作其他兩個(gè)分區(qū)之間的網(wǎng)關(guān)。
通過最后一個(gè)分區(qū),位于非安全分區(qū)中的代碼可以調(diào)用安全分區(qū)中的服務(wù)(參見圖11-2)。此功能可以通過跳板(veneer)實(shí)現(xiàn),支持隔離安全分區(qū)和非安全分區(qū)。
使用TrustZone時(shí),非安全環(huán)境(非安全處理環(huán)境(NSPE))中的代碼無法直接訪問安全環(huán)境(安全處理環(huán)境(SPE))中的內(nèi)容。舉例來說,這意味著非安全環(huán)境不能更改或使用安全環(huán)境中的密鑰或證書。只有位于安全環(huán)境中的代碼才能進(jìn)行此操作。這可以實(shí)現(xiàn)IP保護(hù)和沙盒,并減少關(guān)鍵組件的攻擊面,同時(shí)還可簡化嵌入式器件的安全評(píng)估。因此,如果微控制器中存在需要保護(hù)的知識(shí)產(chǎn)權(quán)(IP),請(qǐng)將其放置在安全環(huán)境中!
圖11-2:TrustZone支持對(duì)安全區(qū)域和非安全區(qū)域進(jìn)行隔離
在安全和非安全狀態(tài)下都可以訪問非安全環(huán)境中的函數(shù)和數(shù)據(jù),而非安全環(huán)境中的例程只能通過調(diào)用位于非安全可調(diào)用環(huán)境(NSC)的跳板來訪問安全環(huán)境中的服務(wù)。通過此方式提供一個(gè)進(jìn)入安全環(huán)境的確定入口點(diǎn)。
雖然Arm對(duì)TrustZone的原始定義適用于閃存、RAM和內(nèi)置組件(如SysTick定時(shí)器或MPU),并要求將應(yīng)用程序代碼和數(shù)據(jù)與安全項(xiàng)目分離,但其不包括對(duì)DMA控制器或外設(shè)分離的保護(hù)。
瑞薩擴(kuò)展了這一概念,并將TrustZone過濾器應(yīng)用于其他總線以及引腳和外設(shè)??偩€過濾器可防止非安全代碼通過DMA、DTC和類似機(jī)制提取安全代碼和數(shù)據(jù)。換句話說:它可以防止外設(shè)訪問不應(yīng)該訪問的內(nèi)存。另一方面,應(yīng)用于引腳和外設(shè)的TrustZone過濾器允許鎖定引腳,使其僅可供安全環(huán)境訪問,而不支持從任何位置進(jìn)行訪問。
這不僅可保護(hù)外部接口,而且還能防止非安全代碼竊聽引腳。例如,位于非安全環(huán)境中的惡意代碼不能監(jiān)聽分配給安全環(huán)境的引腳狀態(tài),也不能重建通過UART進(jìn)行的傳輸內(nèi)容。非安全代碼也不能覆蓋輸出。
瑞薩還確保在啟動(dòng)時(shí)沒有安全漏洞。其他制造商在其實(shí)現(xiàn)中使用軟件配置的安全屬性單元(SAU),這導(dǎo)致TrustZone在復(fù)位后短時(shí)間內(nèi)處于未配置狀態(tài),瑞薩決定在其RA產(chǎn)品家族中使用實(shí)現(xiàn)定義屬性單元(IDAU),通過非易失性寄存器配置。這意味著,在獲取復(fù)位向量時(shí),也就是在執(zhí)行任何應(yīng)用程序之前,已經(jīng)配置了TrustZone并且保證器件是安全的。安全屬性通過SCI(片內(nèi)工廠)引導(dǎo)模式在非易失性內(nèi)存中設(shè)置,應(yīng)用程序無法修改其內(nèi)容,只能讀取其內(nèi)容。
還需要注意:僅通過使用TrustZone不能實(shí)現(xiàn)應(yīng)用的安全。僅使用TrustZone并不意味著該器件已具備安全保護(hù)。TrustZone只是安全工具箱中可選擇的一款工具,必須以正確的方式使用才能發(fā)揮作用。如果安全應(yīng)用程序本身存在漏洞(如不合規(guī)范的代碼),則TrustZone自身并不能避免被攻擊。安全代碼必須驗(yàn)證其正確性和可信度。
但TrustZone有助于提供并執(zhí)行信任根(RoT)。RoT是始終可信賴的源,也是所有安全操作、數(shù)據(jù)和算法的基礎(chǔ)。它不僅使代碼和數(shù)據(jù)完整性和隔離、系統(tǒng)驗(yàn)證、薄膜或身份驗(yàn)證之類的服務(wù)可用于當(dāng)前或其他受信任的系統(tǒng)或器件,而且還包含密鑰、證書或密碼。但這也意味著,如果信任根遭到破壞,則完全喪失保護(hù)功能。
TrustZone通過將敏感數(shù)據(jù)存儲(chǔ)在安全環(huán)境中來對(duì)數(shù)據(jù)和固件提供保護(hù)。它還可以將關(guān)鍵軟件預(yù)裝為安全固件,并將外設(shè)配置為僅允許從安全環(huán)境訪問,從而提供操作保護(hù)。
有關(guān)TrustZone的更多信息和更詳細(xì)的解釋,您可以識(shí)別下方二維碼或復(fù)制對(duì)應(yīng)的網(wǎng)址在瀏覽器中打開查看Arm文檔:
https://developer.arm.com/documentation/den0013/d/ARM-Architecture-and-Processors/Architecture-history-and-extensions/Security-Extensions--TrustZone-?lang=en
但請(qǐng)注意,Arm通常采用術(shù)語“受信任”和“非受信任”,其定義直接對(duì)應(yīng)于“安全”和“非安全”。
原文標(biāo)題:瑞薩RA產(chǎn)品家族初學(xué)者指南-第11章(1)
文章出處:【微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
mcu
+關(guān)注
關(guān)注
146文章
17316瀏覽量
352368 -
瑞薩
+關(guān)注
關(guān)注
35文章
22310瀏覽量
86640
原文標(biāo)題:瑞薩RA產(chǎn)品家族初學(xué)者指南-第11章(1)
文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論