ARM-V9 RME(Realm Management Extension)系统架构之系统能力的执行隔离

2024-05-30 01:36

本文主要是介绍ARM-V9 RME(Realm Management Extension)系统架构之系统能力的执行隔离,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

安全之安全(security²)博客目录导读

目录

一、执行隔离

1、安全状态

2、安全模型


本博客探讨 RME 所需的系统能力,以保证 Arm CCA 对于 Realms 的安全性和隔离特性。

一、执行隔离

1、安全状态

RME 系统支持以下安全状态:

  • 非安全 (Non-secure)
  • 安全 (Secure)
  • Realm
  • Root

术语“requester 请求者”指能够发起访问的硬件代理。请求者可以是处理单元(PE)或非处理单元(非 PE)代理。

在 RME 系统中,任何请求者的访问和任何 PE 执行的指令都与单一的安全状态相关联。

ARM架构参考手册中定义的 Realm 管理扩展功能指定了 PE 执行上下文如何映射到安全状态。

RME 提供基于硬件的隔离,允许执行上下文在不同的安全状态下运行并共享系统资源,同时确保:

  • 在以下安全状态下的执行:
    • Realm 安全状态下的执行无法被与非安全安全状态或安全安全状态相关联的代理观察或修改。
    • 安全安全状态下的执行无法被与非安全安全状态或 Realm 安全状态相关联的代理观察或修改。
    • Root 安全状态下的执行无法被与任何其他安全状态相关联的代理观察或修改。
  • 分配给以下安全状态的内存:
    • Realm 安全状态下的内存无法被与非安全安全状态或安全安全状态相关联的代理读取或修改。
    • 安全安全状态下的内存无法被与非安全安全状态或 Realm 安全状态相关联的代理读取或修改。
    • Root 安全状态下的内存无法被与任何其他安全状态相关联的代理读取或修改。
  • 分配给 Realm 安全状态的可分配设备接口无法被与非安全安全状态或安全安全状态相关联的代理读取或修改。
  • 与 Realm 安全状态中的 VMID 相关联的可分配设备接口只能访问与该 VMID 相关联的内存,或与非安全安全状态相关联的内存。

本规范使用术语 RME 安全保证来描述上述属性。

RME 安全保证适用于安全生命周期状态的系统。

2、安全模型

Arm CCA 系统安全域 (System Security Domain,SSD) 包括所有能够影响 Arm CCA 和 RME 安全保证的硬件代理。例如,隔离硬件和受信任的子系统。

受信任子系统是具有私有资源、配置和可验证固件的系统功能,例如受信任的系统控制处理器 (SCP)。

监控安全域 (Monitor Security Domain,MSD) 是在根安全状态 (EL3) 下执行的可更新 PE 固件,负责强制执行 Arm CCA 和 RME 安全保证。

领域管理安全域 (Realm Management Security Domain,RMSD) 是在领域安全状态 (EL2) 下执行的可更新 PE 固件,负责强制执行领域的 Arm CCA 安全保证。

下图提供了安全模型的示意图。

这篇关于ARM-V9 RME(Realm Management Extension)系统架构之系统能力的执行隔离的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1015208

相关文章

解密SQL查询语句执行的过程

《解密SQL查询语句执行的过程》文章讲解了SQL语句的执行流程,涵盖解析、优化、执行三个核心阶段,并介绍执行计划查看方法EXPLAIN,同时提出性能优化技巧如合理使用索引、避免SELECT*、JOIN... 目录1. SQL语句的基本结构2. SQL语句的执行过程3. SQL语句的执行计划4. 常见的性能优

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

Spring Bean初始化及@PostConstruc执行顺序示例详解

《SpringBean初始化及@PostConstruc执行顺序示例详解》本文给大家介绍SpringBean初始化及@PostConstruc执行顺序,本文通过实例代码给大家介绍的非常详细,对大家的... 目录1. Bean初始化执行顺序2. 成员变量初始化顺序2.1 普通Java类(非Spring环境)(

Spring Boot 中的默认异常处理机制及执行流程

《SpringBoot中的默认异常处理机制及执行流程》SpringBoot内置BasicErrorController,自动处理异常并生成HTML/JSON响应,支持自定义错误路径、配置及扩展,如... 目录Spring Boot 异常处理机制详解默认错误页面功能自动异常转换机制错误属性配置选项默认错误处理

如何在Java Spring实现异步执行(详细篇)

《如何在JavaSpring实现异步执行(详细篇)》Spring框架通过@Async、Executor等实现异步执行,提升系统性能与响应速度,支持自定义线程池管理并发,本文给大家介绍如何在Sprin... 目录前言1. 使用 @Async 实现异步执行1.1 启用异步执行支持1.2 创建异步方法1.3 调用

Spring Boot Maven 插件如何构建可执行 JAR 的核心配置

《SpringBootMaven插件如何构建可执行JAR的核心配置》SpringBoot核心Maven插件,用于生成可执行JAR/WAR,内置服务器简化部署,支持热部署、多环境配置及依赖管理... 目录前言一、插件的核心功能与目标1.1 插件的定位1.2 插件的 Goals(目标)1.3 插件定位1.4 核

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

mybatis执行insert返回id实现详解

《mybatis执行insert返回id实现详解》MyBatis插入操作默认返回受影响行数,需通过useGeneratedKeys+keyProperty或selectKey获取主键ID,确保主键为自... 目录 两种方式获取自增 ID:1. ​​useGeneratedKeys+keyProperty(推