0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MMU訪問(wèn)權(quán)限控制

麥辣雞腿堡 ? 來(lái)源:TrustZone ? 作者:Hcoco ? 2023-11-26 15:47 ? 次閱讀

訪問(wèn)權(quán)限控制

TrustZone技術(shù)之所以能提高系統(tǒng)的安全性,是因?yàn)閷?duì)外部資源和內(nèi)存資源的硬件隔離。這些硬件隔離包括中斷隔離、片上RAMROM的隔離、片外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)注

    關(guān)注

    68

    文章

    19103

    瀏覽量

    228825
  • 硬件
    +關(guān)注

    關(guān)注

    11

    文章

    3217

    瀏覽量

    66066
  • MMU
    MMU
    +關(guān)注

    關(guān)注

    0

    文章

    91

    瀏覽量

    18250
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙原生應(yīng)用元服務(wù)-訪問(wèn)控制權(quán)限)開(kāi)發(fā)等級(jí)和類(lèi)型

    說(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 page table walk的訪問(wèn)屬性

    眾所周知,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

    MPC5777C有兩個(gè)重疊的MMU條目,MPC將如何解釋這兩個(gè)條目?

    ? (*):這里的重疊 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)控制模型

    提出了一種P2P 權(quán)限委托與訪問(wèn)控制模型,該模型包括3 個(gè)主要協(xié)議,即權(quán)限委托協(xié)議、資源檢索協(xié)議和訪問(wèn)
    發(fā)表于 03-24 09:57 ?10次下載

    基于組織的訪問(wèn)控制模型

    基于角色的訪問(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改變文件或目錄的訪問(wèn)權(quán)限命令  Linux系統(tǒng)中的每個(gè)文件和目錄都有訪問(wèn)許可
    發(fā)表于 01-18 12:46 ?1195次閱讀

    基于RBAC的B/S系統(tǒng)訪問(wèn)控制設(shè)計(jì)

    基于角色的訪問(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次下載
    基于RBAC的B/S系統(tǒng)<b class='flag-5'>訪問(wèn)</b><b class='flag-5'>控制</b>設(shè)計(jì)

    JAVA教程之訪問(wèn)權(quán)限控制

    JAVA教程之訪問(wèn)權(quán)限控制,很好的JAVA的資料,快來(lái)學(xué)習(xí)吧。
    發(fā)表于 04-13 10:12 ?13次下載

    如何使用Subversion實(shí)現(xiàn)精細(xì)的目錄訪問(wèn)權(quán)限控制

    本文從一個(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次下載

    .NET MVC身份驗(yàn)證訪問(wèn)權(quán)限控制設(shè)計(jì)

    標(biāo)識(shí) 權(quán)限 因?yàn)楹笈_(tái)的訪問(wèn)控制都是基于Action級(jí)別 的控制,而我們使用系統(tǒng)都是以功能模塊為最小單位的控制,所以我們首先需要建立一個(gè)Act
    的頭像 發(fā)表于 11-06 11:23 ?2022次閱讀
    .NET MVC身份驗(yàn)證<b class='flag-5'>訪問(wèn)</b><b class='flag-5'>權(quán)限</b><b class='flag-5'>控制</b>設(shè)計(jì)

    權(quán)限系統(tǒng)中的數(shù)據(jù)權(quán)限設(shè)計(jì)經(jīng)驗(yàn)分享

    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次閱讀

    MMU原理:CPU是如何訪問(wèn)到內(nèi)存的?

    當(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次閱讀
    <b class='flag-5'>MMU</b>原理:CPU是如何<b class='flag-5'>訪問(wèn)</b>到內(nèi)存的?

    linux文件訪問(wèn)權(quán)限怎么設(shè)置

    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次閱讀

    MMU內(nèi)存管理單元的宏觀理解

    (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次閱讀
    <b class='flag-5'>MMU</b>內(nèi)存管理單元的宏觀理解

    如何解決C語(yǔ)言中的“訪問(wèn)權(quán)限沖突”異常?C語(yǔ)言引發(fā)異常原因分析

    如何解決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次閱讀