訪問(wèn)權(quán)限控制
TrustZone技術(shù)之所以能提高系統(tǒng)的安全性,是因?yàn)閷?duì)外部資源和內(nèi)存資源的硬件隔離。這些硬件隔離包括中斷隔離、片上RAM和ROM的隔離、片外RAM和ROM的隔離、外圍設(shè)備的硬件隔離、外部RAM和ROM的隔離等。
實(shí)現(xiàn)硬件層面的各種隔離,需要對(duì)整個(gè)系統(tǒng)的硬件和處理器核做出相應(yīng)的擴(kuò)展。這些擴(kuò)展包括:
? □ 對(duì)處理器核的虛擬化,也就是將AMR處理器的運(yùn)行狀態(tài)分為安全態(tài)和非安全態(tài)。
? □ 對(duì)總線的擴(kuò)展,增加安全位讀寫信號(hào)線。
? □ 對(duì)內(nèi)存管理單元(Memory Management Unit, MMU)的擴(kuò)展,增加頁(yè)表的安全位。
? □ 對(duì)緩存(Cache)的擴(kuò)展,增加安全位。
? □ 對(duì)其他外圍組件進(jìn)行了相應(yīng)的擴(kuò)展,提供安全操作權(quán)限控制和安全操作信號(hào)。
在支持TrustZone的SoC上,會(huì)對(duì)MMU進(jìn)行虛擬化,使得寄存器TTBR0、TTBR1、TTBCR在安全狀態(tài)和非安全狀態(tài)下是相互隔離的,因此兩種狀態(tài)下的虛擬地址轉(zhuǎn)換表是獨(dú)立的。
存放在MMU中的每一條頁(yè)表描述符都會(huì)包含一個(gè)安全狀態(tài)位,用以表示被映射的內(nèi)存是屬于安全內(nèi)存還是非安全內(nèi)存。
虛擬化的MMU共享轉(zhuǎn)換監(jiān)測(cè)緩沖區(qū)(Translation Lookaside Buffer ,TLB),同樣TLB中的每一項(xiàng)也會(huì)打上安全狀態(tài)位標(biāo)記,只不過(guò)該標(biāo)記是用來(lái)表示該條轉(zhuǎn)換是正常世界狀態(tài)轉(zhuǎn)化的還是安全世界狀態(tài)轉(zhuǎn)化的。
Cache也同樣進(jìn)行了擴(kuò)展,Cache中的每一項(xiàng)都會(huì)按照安全狀態(tài)和非安全狀態(tài)打上對(duì)應(yīng)的標(biāo)簽,在不同的狀態(tài)下,處理器只能使用對(duì)應(yīng)狀態(tài)下的Cache。
在REE(linux)和TEE(optee)雙系統(tǒng)的環(huán)境下,可同時(shí)開啟兩個(gè)系統(tǒng)的MMU。在secure和non-secure中使用不同的頁(yè)表.secure的頁(yè)表可以映射non-secure的內(nèi)存,而non-secure的頁(yè)表不能去映射secure的內(nèi)存,否則在轉(zhuǎn)換時(shí)會(huì)發(fā)生錯(cuò)誤:
在EL2系統(tǒng)中,MMU地址轉(zhuǎn)換時(shí),會(huì)自動(dòng)使用TTBR2_EL1指向的頁(yè)表。
在EL3系統(tǒng)中,MMU地址轉(zhuǎn)換時(shí),會(huì)自動(dòng)使用TTBR3_EL1指向的頁(yè)表。
-
處理器
+關(guān)注
關(guān)注
68文章
19785瀏覽量
233348 -
硬件
+關(guān)注
關(guān)注
11文章
3454瀏覽量
67144 -
MMU
+關(guān)注
關(guān)注
0文章
92瀏覽量
18616
發(fā)布評(píng)論請(qǐng)先 登錄
鴻蒙原生應(yīng)用元服務(wù)-訪問(wèn)控制(權(quán)限)開發(fā)等級(jí)和類型
如何配置MMU page table walk的訪問(wèn)屬性
MPC5777C有兩個(gè)重疊的MMU條目,MPC將如何解釋這兩個(gè)條目?
P2P權(quán)限委托與訪問(wèn)控制模型
基于組織的訪問(wèn)控制模型
Linux改變文件或目錄的訪問(wèn)權(quán)限命令
基于RBAC的B/S系統(tǒng)訪問(wèn)控制設(shè)計(jì)

JAVA教程之訪問(wèn)權(quán)限控制
如何使用Subversion實(shí)現(xiàn)精細(xì)的目錄訪問(wèn)權(quán)限控制
.NET MVC身份驗(yàn)證訪問(wèn)權(quán)限控制設(shè)計(jì)

權(quán)限系統(tǒng)中的數(shù)據(jù)權(quán)限設(shè)計(jì)經(jīng)驗(yàn)分享
MMU原理:CPU是如何訪問(wèn)到內(nèi)存的?

linux文件訪問(wèn)權(quán)限怎么設(shè)置
MMU內(nèi)存管理單元的宏觀理解

評(píng)論