訪問權(quán)限控制
TrustZone技術(shù)之所以能提高系統(tǒng)的安全性,是因為對外部資源和內(nèi)存資源的硬件隔離。這些硬件隔離包括中斷隔離、片上RAM和ROM的隔離、片外RAM和ROM的隔離、外圍設(shè)備的硬件隔離、外部RAM和ROM的隔離等。
實現(xiàn)硬件層面的各種隔離,需要對整個系統(tǒng)的硬件和處理器核做出相應(yīng)的擴(kuò)展。這些擴(kuò)展包括:
? □ 對處理器核的虛擬化,也就是將AMR處理器的運行狀態(tài)分為安全態(tài)和非安全態(tài)。
? □ 對總線的擴(kuò)展,增加安全位讀寫信號線。
? □ 對內(nèi)存管理單元(Memory Management Unit, MMU)的擴(kuò)展,增加頁表的安全位。
? □ 對緩存(Cache)的擴(kuò)展,增加安全位。
? □ 對其他外圍組件進(jìn)行了相應(yīng)的擴(kuò)展,提供安全操作權(quán)限控制和安全操作信號。
在支持TrustZone的SoC上,會對MMU進(jìn)行虛擬化,使得寄存器TTBR0、TTBR1、TTBCR在安全狀態(tài)和非安全狀態(tài)下是相互隔離的,因此兩種狀態(tài)下的虛擬地址轉(zhuǎn)換表是獨立的。
存放在MMU中的每一條頁表描述符都會包含一個安全狀態(tài)位,用以表示被映射的內(nèi)存是屬于安全內(nèi)存還是非安全內(nèi)存。
虛擬化的MMU共享轉(zhuǎn)換監(jiān)測緩沖區(qū)(Translation Lookaside Buffer ,TLB),同樣TLB中的每一項也會打上安全狀態(tài)位標(biāo)記,只不過該標(biāo)記是用來表示該條轉(zhuǎn)換是正常世界狀態(tài)轉(zhuǎn)化的還是安全世界狀態(tài)轉(zhuǎn)化的。
Cache也同樣進(jìn)行了擴(kuò)展,Cache中的每一項都會按照安全狀態(tài)和非安全狀態(tài)打上對應(yīng)的標(biāo)簽,在不同的狀態(tài)下,處理器只能使用對應(yīng)狀態(tài)下的Cache。
在REE(linux)和TEE(optee)雙系統(tǒng)的環(huán)境下,可同時開啟兩個系統(tǒng)的MMU。在secure和non-secure中使用不同的頁表.secure的頁表可以映射non-secure的內(nèi)存,而non-secure的頁表不能去映射secure的內(nèi)存,否則在轉(zhuǎn)換時會發(fā)生錯誤:
在EL2系統(tǒng)中,MMU地址轉(zhuǎn)換時,會自動使用TTBR2_EL1指向的頁表。
在EL3系統(tǒng)中,MMU地址轉(zhuǎn)換時,會自動使用TTBR3_EL1指向的頁表。
-
處理器
+關(guān)注
關(guān)注
68文章
19438瀏覽量
231314 -
硬件
+關(guān)注
關(guān)注
11文章
3403瀏覽量
66494 -
MMU
+關(guān)注
關(guān)注
0文章
92瀏覽量
18382
發(fā)布評論請先 登錄
相關(guān)推薦
鴻蒙原生應(yīng)用元服務(wù)-訪問控制(權(quán)限)開發(fā)等級和類型
如何配置MMU page table walk的訪問屬性
MPC5777C有兩個重疊的MMU條目,MPC將如何解釋這兩個條目?
P2P權(quán)限委托與訪問控制模型
基于組織的訪問控制模型
Linux改變文件或目錄的訪問權(quán)限命令
基于RBAC的B/S系統(tǒng)訪問控制設(shè)計
![基于RBAC的B/S系統(tǒng)<b class='flag-5'>訪問</b><b class='flag-5'>控制</b>設(shè)計](https://file.elecfans.com/web2/M00/48/F8/pYYBAGKhtDCAEGQXAAAPM9EVrrw417.jpg)
如何使用Subversion實現(xiàn)精細(xì)的目錄訪問權(quán)限控制
.NET MVC身份驗證訪問權(quán)限控制設(shè)計
![.NET MVC身份驗證<b class='flag-5'>訪問</b><b class='flag-5'>權(quán)限</b><b class='flag-5'>控制</b>設(shè)計](https://file.elecfans.com/web1/M00/CE/CB/pIYBAF-kwPCAIAI5AAFez6RlczA028.png)
權(quán)限系統(tǒng)中的數(shù)據(jù)權(quán)限設(shè)計經(jīng)驗分享
MMU原理:CPU是如何訪問到內(nèi)存的?
![<b class='flag-5'>MMU</b>原理:CPU是如何<b class='flag-5'>訪問</b>到內(nèi)存的?](https://file1.elecfans.com/web2/M00/AD/33/wKgaomVMYLeAfRISAAAXj-dDk14708.png)
linux文件訪問權(quán)限怎么設(shè)置
MMU內(nèi)存管理單元的宏觀理解
![<b class='flag-5'>MMU</b>內(nèi)存管理單元的宏觀理解](https://file1.elecfans.com/web2/M00/B3/05/wKgZomVi8OWALxrrAAC9VD5YvFw368.jpg)
評論