访问权限控制
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文章
19461浏览量
231413 -
硬件
+关注
关注
11文章
3408浏览量
66534 -
MMU
+关注
关注
0文章
92浏览量
18388
发布评论请先 登录
相关推荐
鸿蒙原生应用元服务-访问控制(权限)开发等级和类型
如何配置MMU page table walk的访问属性
MPC5777C有两个重叠的MMU条目,MPC将如何解释这两个条目?
基于组织的访问控制模型
Linux改变文件或目录的访问权限命令
基于RBAC的B/S系统访问控制设计
![基于RBAC的B/S系统<b class='flag-5'>访问</b><b class='flag-5'>控制</b>设计](https://file.elecfans.com/web2/M00/48/F8/pYYBAGKhtDCAEGQXAAAPM9EVrrw417.jpg)
如何使用Subversion实现精细的目录访问权限控制
权限系统中的数据权限设计经验分享
MMU原理:CPU是如何访问到内存的?
![<b class='flag-5'>MMU</b>原理:CPU是如何<b class='flag-5'>访问</b>到内存的?](https://file1.elecfans.com/web2/M00/AD/33/wKgaomVMYLeAfRISAAAXj-dDk14708.png)
linux文件访问权限怎么设置
MMU内存管理单元的宏观理解
![<b class='flag-5'>MMU</b>内存管理单元的宏观理解](https://file1.elecfans.com/web2/M00/B3/05/wKgZomVi8OWALxrrAAC9VD5YvFw368.jpg)
评论