訪問(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ò)展,增加安全位讀寫(xiě)信號(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í)開(kāi)啟兩個(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è)表。
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
相關(guān)推薦
說(shuō)明
根據(jù)權(quán)限對(duì)于不同等級(jí)應(yīng)用有不同的開(kāi)放范圍,權(quán)限類(lèi)型對(duì)應(yīng)分為以下三種,等級(jí)依次提高。
normal權(quán)限
normal 權(quán)限允許應(yīng)用訪問(wèn)超
發(fā)表于 04-17 15:29
眾所周知,MMU的頁(yè)表是由軟件建立在外部?jī)?nèi)存中的。實(shí)際上有兩條硬件路徑需要訪問(wèn)這個(gè)頁(yè)表:1 MMU硬件進(jìn)行page table walk時(shí),它會(huì)讀取查找這個(gè)頁(yè)表。2 軟件修改這個(gè)頁(yè)表的頁(yè)表項(xiàng)
發(fā)表于 10-24 15:45
? (*):這里的重疊 MMU 條目意味著,兩個(gè) MMU 條目統(tǒng)治/管理相同的內(nèi)存區(qū)域但具有不同的訪問(wèn)權(quán)限。示例:- TLB1 條目 5 => EPN:0x2501 0000,頁(yè)面大小
發(fā)表于 04-14 08:00
提出了一種P2P 權(quán)限委托與訪問(wèn)控制模型,該模型包括3 個(gè)主要協(xié)議,即權(quán)限委托協(xié)議、資源檢索協(xié)議和訪問(wèn)控
發(fā)表于 03-24 09:57
?10次下載
基于角色的訪問(wèn)控制(RBAC)模型在為用戶分配角色和為角色分配權(quán)限方面效率不高,在權(quán)限分配方面缺少上下文限制。文章針對(duì)該缺陷提出基于組織的訪問(wèn)
發(fā)表于 03-30 08:29
?14次下載
Linux改變文件或目錄的訪問(wèn)權(quán)限命令
Linux改變文件或目錄的訪問(wèn)權(quán)限命令 Linux系統(tǒng)中的每個(gè)文件和目錄都有訪問(wèn)許可
發(fā)表于 01-18 12:46
?1195次閱讀
基于角色的訪問(wèn)控制模型 RBAC 通過(guò)引入角色實(shí)現(xiàn)了用戶和訪問(wèn)控制權(quán)限的邏輯分離,簡(jiǎn)化了系統(tǒng)授權(quán)過(guò)程,提高了權(quán)限管理模塊的可重用性,是當(dāng)前信
發(fā)表于 06-07 17:06
?0次下載
JAVA教程之訪問(wèn)權(quán)限控制,很好的JAVA的資料,快來(lái)學(xué)習(xí)吧。
發(fā)表于 04-13 10:12
?13次下載
本文從一個(gè)實(shí)際的例子入手,介紹了如何利用 Subversion 自帶的目錄管理功能,來(lái)實(shí)現(xiàn)對(duì)項(xiàng)目目錄的精細(xì)訪問(wèn)權(quán)限的控制。同時(shí)描述了在配置的過(guò)程中,需要注意的一些地方,如對(duì)中文的處理等。
發(fā)表于 05-08 18:19
?1次下載
標(biāo)識(shí) 權(quán)限 因?yàn)楹笈_(tái)的訪問(wèn)控制都是基于Action級(jí)別 的控制,而我們使用系統(tǒng)都是以功能模塊為最小單位的控制,所以我們首先需要建立一個(gè)Act
發(fā)表于 11-06 11:23
?2022次閱讀
RBAC模型 數(shù)據(jù)權(quán)限 數(shù)據(jù)規(guī)則 關(guān)聯(lián)資源、用戶 繼續(xù)優(yōu)化 小結(jié) 在項(xiàng)目實(shí)際開(kāi)發(fā)中我們不光要控制一個(gè)用戶能訪問(wèn)哪些資源,還需要控制用戶只能訪問(wèn)
發(fā)表于 10-11 17:50
?1589次閱讀
當(dāng)CPU訪問(wèn)虛擬地址0的時(shí)候,MMU會(huì)去查上面頁(yè)表的第0行,發(fā)現(xiàn)第0行沒(méi)有命中,于是無(wú)論以何種形式(R讀,W寫(xiě),X執(zhí)行)訪問(wèn),MMU都會(huì)給CPU發(fā)出page fault,CPU自動(dòng)跳到
發(fā)表于 11-09 12:30
?1076次閱讀
Linux 文件訪問(wèn)權(quán)限是操作系統(tǒng)中一個(gè)非常重要的概念。正確地設(shè)置文件訪問(wèn)權(quán)限可以保護(hù)系統(tǒng)的安全性,防止未經(jīng)授權(quán)的人員對(duì)文件進(jìn)行修改、刪除或執(zhí)行。本文將詳細(xì)介紹 Linux 文件
發(fā)表于 11-23 10:20
?1418次閱讀
(Memory Management Unit,內(nèi)存管理單元)是一種硬件模塊,用于在CPU和內(nèi)存之間實(shí)現(xiàn)虛擬內(nèi)存管理。 其主要功能是將虛擬地址轉(zhuǎn)換為物理地址,同時(shí)提供訪問(wèn)權(quán)限的控制和緩存管理等功能。 放在整個(gè)大系統(tǒng)多核架構(gòu)里面,
發(fā)表于 11-26 15:21
?526次閱讀
如何解決C語(yǔ)言中的“訪問(wèn)權(quán)限沖突”異常?C語(yǔ)言引發(fā)異常原因分析? 在C語(yǔ)言中,訪問(wèn)權(quán)限沖突異常通常是由于嘗試訪問(wèn)未授權(quán)的變量、函數(shù)或其他數(shù)據(jù)
發(fā)表于 01-12 16:03
?4740次閱讀
評(píng)論