0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MMU访问权限控制

麦辣鸡腿堡 来源:TrustZone 作者:Hcoco 2023-11-26 15:47 次阅读

访问权限控制

TrustZone技术之所以能提高系统的安全性,是因为对外部资源和内存资源的硬件隔离。这些硬件隔离包括中断隔离、片上RAMROM的隔离、片外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

    文章

    19265

    浏览量

    229667
  • 硬件
    +关注

    关注

    11

    文章

    3315

    浏览量

    66203
  • MMU
    MMU
    +关注

    关注

    0

    文章

    91

    浏览量

    18283
收藏 人收藏

    评论

    相关推荐

    鸿蒙原生应用元服务-访问控制权限)开发等级和类型

    说明 根据权限对于不同等级应用有不同的开放范围,权限类型对应分为以下三种,等级依次提高。 normal权限 normal 权限允许应用访问
    发表于 04-17 15:29

    如何配置MMU page table walk的访问属性

    众所周知,MMU的页表是由软件建立在外部内存中的。实际上有两条硬件路径需要访问这个页表:1 MMU硬件进行page table walk时,它会读取查找这个页表。2 软件修改这个页表的页表项
    发表于 10-24 15:45

    MPC5777C有两个重叠的MMU条目,MPC将如何解释这两个条目?

    ? (*):这里的重叠 MMU 条目意味着,两个 MMU 条目统治/管理相同的内存区域但具有不同的访问权限。示例:- TLB1 条目 5 => EPN:0x2501 0000,页面大小
    发表于 04-14 08:00

    P2P权限委托与访问控制模型

    提出了一种P2P 权限委托与访问控制模型,该模型包括3 个主要协议,即权限委托协议、资源检索协议和访问
    发表于 03-24 09:57 10次下载

    基于组织的访问控制模型

    基于角色的访问控制(RBAC)模型在为用户分配角色和为角色分配权限方面效率不高,在权限分配方面缺少上下文限制。文章针对该缺陷提出基于组织的访问
    发表于 03-30 08:29 14次下载

    Linux改变文件或目录的访问权限命令

    Linux改变文件或目录的访问权限命令 Linux改变文件或目录的访问权限命令  Linux系统中的每个文件和目录都有访问许可
    发表于 01-18 12:46 1201次阅读

    基于RBAC的B/S系统访问控制设计

    基于角色的访问控制模型 RBAC 通过引入角色实现了用户和访问控制权限的逻辑分离,简化了系统授权过程,提高了权限管理模块的可重用性,是当前信
    发表于 06-07 17:06 0次下载
    基于RBAC的B/S系统<b class='flag-5'>访问</b><b class='flag-5'>控制</b>设计

    JAVA教程之访问权限控制

    JAVA教程之访问权限控制,很好的JAVA的资料,快来学习吧。
    发表于 04-13 10:12 13次下载

    如何使用Subversion实现精细的目录访问权限控制

    本文从一个实际的例子入手,介绍了如何利用 Subversion 自带的目录管理功能,来实现对项目目录的精细访问权限控制。同时描述了在配置的过程中,需要注意的一些地方,如对中文的处理等。
    发表于 05-08 18:19 1次下载

    .NET MVC身份验证访问权限控制设计

    标识 权限 因为后台的访问控制都是基于Action级别 的控制,而我们使用系统都是以功能模块为最小单位的控制,所以我们首先需要建立一个Act
    的头像 发表于 11-06 11:23 2050次阅读
    .NET MVC身份验证<b class='flag-5'>访问</b><b class='flag-5'>权限</b><b class='flag-5'>控制</b>设计

    权限系统中的数据权限设计经验分享

    RBAC模型 数据权限 数据规则 关联资源、用户 继续优化 小结 在项目实际开发中我们不光要控制一个用户能访问哪些资源,还需要控制用户只能访问
    的头像 发表于 10-11 17:50 1639次阅读

    MMU原理:CPU是如何访问到内存的?

    当CPU访问虚拟地址0的时候,MMU会去查上面页表的第0行,发现第0行没有命中,于是无论以何种形式(R读,W写,X执行)访问MMU都会给CPU发出page fault,CPU自动跳到
    发表于 11-09 12:30 1182次阅读
    <b class='flag-5'>MMU</b>原理:CPU是如何<b class='flag-5'>访问</b>到内存的?

    linux文件访问权限怎么设置

    Linux 文件访问权限是操作系统中一个非常重要的概念。正确地设置文件访问权限可以保护系统的安全性,防止未经授权的人员对文件进行修改、删除或执行。本文将详细介绍 Linux 文件
    的头像 发表于 11-23 10:20 1500次阅读

    MMU内存管理单元的宏观理解

    (Memory Management Unit,内存管理单元)是一种硬件模块,用于在CPU和内存之间实现虚拟内存管理。 其主要功能是将虚拟地址转换为物理地址,同时提供访问权限控制和缓存管理等功能。 放在整个大系统多核架构里面,
    的头像 发表于 11-26 15:21 584次阅读
    <b class='flag-5'>MMU</b>内存管理单元的宏观理解

    如何解决C语言中的“访问权限冲突”异常?C语言引发异常原因分析

    如何解决C语言中的“访问权限冲突”异常?C语言引发异常原因分析  在C语言中,访问权限冲突异常通常是由于尝试访问未授权的变量、函数或其他数据
    的头像 发表于 01-12 16:03 5644次阅读