訪問權限控制
TrustZone技術之所以能提高系統的安全性,是因為對外部資源和內存資源的硬件隔離。這些硬件隔離包括中斷隔離、片上RAM和ROM的隔離、片外RAM和ROM的隔離、外圍設備的硬件隔離、外部RAM和ROM的隔離等。
實現硬件層面的各種隔離,需要對整個系統的硬件和處理器核做出相應的擴展。這些擴展包括:
? □ 對處理器核的虛擬化,也就是將AMR處理器的運行狀態分為安全態和非安全態。
? □ 對總線的擴展,增加安全位讀寫信號線。
? □ 對內存管理單元(Memory Management Unit, MMU)的擴展,增加頁表的安全位。
? □ 對緩存(Cache)的擴展,增加安全位。
? □ 對其他外圍組件進行了相應的擴展,提供安全操作權限控制和安全操作信號。
在支持TrustZone的SoC上,會對MMU進行虛擬化,使得寄存器TTBR0、TTBR1、TTBCR在安全狀態和非安全狀態下是相互隔離的,因此兩種狀態下的虛擬地址轉換表是獨立的。
存放在MMU中的每一條頁表描述符都會包含一個安全狀態位,用以表示被映射的內存是屬于安全內存還是非安全內存。
虛擬化的MMU共享轉換監測緩沖區(Translation Lookaside Buffer ,TLB),同樣TLB中的每一項也會打上安全狀態位標記,只不過該標記是用來表示該條轉換是正常世界狀態轉化的還是安全世界狀態轉化的。
Cache也同樣進行了擴展,Cache中的每一項都會按照安全狀態和非安全狀態打上對應的標簽,在不同的狀態下,處理器只能使用對應狀態下的Cache。
在REE(linux)和TEE(optee)雙系統的環境下,可同時開啟兩個系統的MMU。在secure和non-secure中使用不同的頁表.secure的頁表可以映射non-secure的內存,而non-secure的頁表不能去映射secure的內存,否則在轉換時會發生錯誤:
在EL2系統中,MMU地址轉換時,會自動使用TTBR2_EL1指向的頁表。
在EL3系統中,MMU地址轉換時,會自動使用TTBR3_EL1指向的頁表。
-
處理器
+關注
關注
68文章
19264瀏覽量
229666 -
硬件
+關注
關注
11文章
3315瀏覽量
66203 -
MMU
+關注
關注
0文章
91瀏覽量
18283
發布評論請先 登錄
相關推薦
評論