当前位置: 首页 > news >正文

【第一部分:概述】ARM Realm Management Monitor specification

目录

  • 概述
    • 机密计算
    • 系统软件组成
      • Monitor
      • Realm
      • Realm Management Monitor (RMM)
      • Virtual Machine (VM)
      • Hypervisor
      • Secure Partition Manager (SPM)
      • Trusted OS (TOS)
      • Trusted Application (TA)
    • Realm Management Monitor
  • 参考文献

概述

RMM是一个软件组件,它构成了实现ARM机密计算体系结构(ARM CCA)的系统的一部分。Arm CCA是一种提供被称为Realms的受保护的执行环境的体系结构。CCA [1]介绍描述了CCA设计解决的威胁模型。Arm CCA的硬件体系结构被称为领域管理扩展(RME),并在Armv9-A [2]的领域架构参考手册补充,领域管理扩展(RME)中进行了描述。

机密计算

Armv8-A体系结构(A型文件体系结构[3]的Arm体系结构参考手册)包括建立特权层次结构的机制。在较高特权级别运行的软件负责管理在较低特权级别的实体使用的资源(主要是内存和处理器周期)。在Arm CCA之前,资源管理与访问权相结合。也就是说,由高级特权实体管理的资源也可以被它访问。

Realm 是一个解耦的受保护的执行环境,因此管理资源的权利与访问这些资源的权利是分开的。Realm 的目的是为 Realm 所有者提供一个进行机密计算的环境,而不要求 Realm 所有者信任管理 Realm 所使用的资源的软件组件。构建 Realm 以及在运行时向领域分配资源是虚拟机监视器(VMM)的责任。在本规范中,术语Host被用来指代VMM。

系统软件组成

Arm CCA的系统软件架构总结如下图所示。
系统软件架构
图中列示的组件如下所示。

Monitor

最受特权的软件组件,它负责在EL2、EL1和EL0中使用的安全状态之间进行切换。

Realm

一个受保护的执行环境。

Realm Management Monitor (RMM)

负责Realm管理的软件组件。

Virtual Machine (VM)

操作系统可以在其中运行的一种执行环境。请注意,Realm是在Realm安全状态下执行的虚拟机。

Hypervisor

负责虚拟机管理的软件组件。

Secure Partition Manager (SPM)

负责管理安全分区的软件组件。

Trusted OS (TOS)

可在安全分区中运行的一种操作系统。

Trusted Application (TA)

一个由TOS托管的应用程序。

Realm Management Monitor

Realm管理监视器(RMM)是负责Realm管理的系统组件。
RMM的职责是:
提供允许主机创建、填充、执行和摧毁Realm的服务。
提供允许验证一个Realm的初始配置和内容的服务。
在Realm的生命周期内保护Realm状态的机密性和完整性。
在Realm被破坏期间和之后,保护Realm状态的机密性。

RMM向主机公开了通过SMC指令访问的以下接口:
Realm管理接口(RMI),它为Realm的创建、填充、执行和破坏提供了服务。

RMM将通过SMC指令访问的以下接口公开给Realm:
Realm服务接口(RSI),它提供用于管理分配给Realm的资源的服务,并请求认证报告。
电源状态协调接口(PSCI),它提供用于控制一个Realm内的VPEs的电源状态的服务。
请注意,该Realm不支持针对PSCI的HVC管道。

RMM通过操作存储在RMM只能访问的内存中的数据结构来进行操作

参考文献

[1] Introducing Arm CCA. (ARM DEN 0125) Arm Limited.
[2] Arm Architecture Reference Manual Supplement, The Realm Management Extension (RME), for Armv9-A.
(ARM DDI 0615 A.d) Arm Ltd.
[3] Arm Architecture Reference Manual for A-Profile architecture. (ARM DDI 0487 I.a) Arm Ltd.
[4] Arm CCA Security model. (ARM DEN 0096) Arm Limited.
[5] Arm Generic Interrupt Controller (GIC) Architecture Specification version 3 and version 4. (ARM IHI 0069
G) Arm Ltd.
[6] Concise Binary Object Representation (CBOR).
[7] CBOR Object Signing and Encryption (COSE).
[8] Entity Attestation Token (EAT).
[9] Concise Data Definition Language (CDDL).
[10] IANA Hash Function Textual Names.
[11] SEC 1: Elliptic Curve Cryptography, version 2.0.
[12] RME system architecture spec. (ARM DEN 0129) Arm Ltd.
[13] Arm SMC Calling Convention. (ARM DEN 0028 D) Arm Ltd.
[14] Arm Specification Language Reference Manual. (ARM DDI 0612) Arm Ltd.
[15] Secure Hash Standard (SHS).
[16] Arm Power State Coordination Interface (PSCI). (ARM DEN 0022 D.b) Arm Ltd.

相关文章:

【第一部分:概述】ARM Realm Management Monitor specification

目录 概述机密计算系统软件组成MonitorRealmRealm Management Monitor (RMM)Virtual Machine (VM)HypervisorSecure Partition Manager (SPM)Trusted OS (TOS)Trusted Application (TA) Realm Management Monitor 参考文献 概述 RMM是一个软件组件,它构成了实现ARM…...

切换服务器上自己用户目录下的 conda 环境和一个外部的 Conda 环境

如果我们有自己的 Miniconda 安装和一个外部的 Conda 环境(比如一个全局安装的 Anaconda),我们可以通过修改 shell 环境来切换使用它们。这通常涉及到更改 PATH 环境变量,以便指向你想要使用的 Conda 安装的可执行文件&#xff1a…...

移动端的自动化基于类实现启动一次应用跑全部用例

1.unittest框架 class TestStringMethods(unittest.TestCase): def setUp(self) -> None: # 每一条测试用例开始前执行 print("setup") def tearDown(self) -> None: # 每一条测试用例结束后执行 print("teardown") …...

Python与设计模式--抽象工厂模式

Python与设计模式–抽象工厂模式 一、快餐点餐系统 想必大家一定见过类似于麦当劳自助点餐台一类的点餐系统吧。在一个大的触摸显示屏上,有三类可以选择的上餐品:汉堡等主餐、小食、饮料。当我们选择好自己需要的食物,支付完成后&#xff0…...

JSP:MVC

一个好的Web应用: 功能完善、易于实现和维护易于扩展等的体系结构 一个Web应用通常分为两个部分: 1. 由界面设计人员完成的表示层(主要做网页界面设计) 2. 由程序设计人员实现的行为层(主要完成本Web应用的各种功能…...

微服务-京东秒杀

1 项目介绍 技术栈 后端 SpringCloud 中Netflix 五大组件: EurekaRibbonHystrixOpenfeignZuul SpringBootSpringSpringMVCMyBatis 数据库 MySQLRedis 前端 html5cssjsjQuery 消息中间件 RabbitMQ 2 项目搭建 项目分析 后端 shop-parent [pom] (商…...

「MACOS限定」 如何将文件上传到GitHub仓库

介绍 本期讲解:如何在苹果电脑上上传文件到github远程仓库 注:写的很详细 方便我的朋友可以看懂操作步骤 第一步 在电脑上创建一个新目录(文件夹) 注:创建GitHub账号、新建github仓库、git下载的步骤这里就不过多赘…...

python opencv 边缘检测(sobel、沙尔算子、拉普拉斯算子、Canny)

python opencv 边缘检测(sobel、沙尔算子、拉普拉斯算子、Canny) 这次实验,我们分别使用opencv 的 sobel算子、沙尔算子、拉普拉斯算子三种算子取进行边缘检测,然后后面又使用了Canny算法进行边缘检测。 直接看代码,代…...

【Unity入门】鼠标输入和键盘输入

Unity的Input类提供了许多监听用户输入的方法,比如我们常见的鼠标,键盘,手柄等。我们可以用Input类的接口来获取用户的输入信息 一、监听鼠标输入 GetMouseButtonUp 、GetMouseButtonDown、GetMouseButton input.GetMouseButtonDown和 inp…...

芯知识 | MP3语音芯片IC的优势特征及其在现代科技应用中的价值

随着科技的飞速发展,MP3语音芯片作为一种高度集成的音频处理解决方案,在现代电子产品中发挥着越来越重要的作用。本文将分析MP3语音芯片的优势特征,并探讨其在各个领域的应用价值。 一、MP3语音芯片的优势特征 MP3语音芯片具有多种显著的优…...

C语言进阶之路-基本数据小怪篇

目录 一、学习目标: 二、数据基本类型 整型 浮点型 / 实型 字符 字符串 布尔型数据 三、重要的杂七杂八知识点 常量与变量 标准输入 sizeof运算符: 类型转换 数据类型的本质 整型数据尺寸 可移植性整型 拿下第一个C语言程序 总结 一、学…...

【OpenCV实现图像:使用OpenCV生成拼图效果】

文章目录 概要通用配置不考虑间隔代码实现考虑间隔代码实现小结 概要 概要: 拼图效果是一种将图像切割为相邻正方形并重新排列的艺术效果。在生成拼图效果时,可以考虑不同的模式,包括是否考虑间隔和如何处理不能整除的部分。 不考虑间隔&a…...

【AOSP】生成签名文件release key,通过Android源码对apk进行签名

简介 现在apk都需要签名,Flutter做的项目官方规定编译apk必须签名。 签名的好处: 应用来源验证: 应用签名允许Android系统验证应用的来源。每个应用都使用开发者的私钥进行签名,而应用的签名信息包含在应用的APK文件中。当用户尝…...

深度学习之基于Tensorflow银行卡号码识别系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介银行卡号码识别的步骤TensorFlow的优势 二、功能三、系统四. 总结 一项目简介 # 深度学习基于TensorFlow的银行卡号码识别介绍 深度学习在图像识别领域取得…...

第95步 深度学习图像目标检测:Faster R-CNN建模

基于WIN10的64位系统演示 一、写在前面 本期开始,我们学习深度学习图像目标检测系列。 深度学习图像目标检测是计算机视觉领域的一个重要子领域,它的核心目标是利用深度学习模型来识别并定位图像中的特定目标。这些目标可以是物体、人、动物或其他可识…...

设计模式—里氏替换原则

1.概念 里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。 LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影…...

PyTorch包

进入PyTorch的官网: pytorch GitHub 点击GitHub: 进入PyTorch的主目录: 进入Vision reference: detection: 这就是我们在训练过程中会使用到的文件了:...

22、什么是中间件和权限拦截中间件实操

新建中间件 middleware\auth.js // 定义权限判断中间件,中间件的第一个参数是context export default ({store, redirect}) > {console.log("中间件被调用")// if (!store || !store.state.userinfo) {// redirect("/")// } }页面使用…...

vue.config.js

proxy代理 proxy选项用于配置开发服务器的代理。下面是proxy的全部属性: 1. target (String | Object | Function): 指定要代理的目标主机的URL。可以是一个字符串,也可以是一个对象或函数,用于动态返回目标URL。 2. forward (Boolean): 控…...

80C51单片机----数据传送类指令

目录 一.一般传送指令,即mov指令 1.16位传送(仅1条) 2.8位传送 (1)目的字节为A(累加器) (2)目的字节为Rn(工作寄存器) (3)目的字节为direct…...

App Metrics高级用法:自定义指标、过滤器和采样策略

App Metrics高级用法:自定义指标、过滤器和采样策略 【免费下载链接】AppMetrics App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application. 项目地址: https://gitcode.com/gh_mirrors/app/App…...

机器学习项目实战:避免十大常见陷阱的关键策略

1. 机器学习项目失败的十大隐形陷阱在过去的五年里,我参与过47个不同规模的机器学习项目,其中有12个最终没能投入生产环境。最令人沮丧的是,这些失败往往不是因为技术难题,而是源于一些看似简单却极易被忽视的错误。今天我要分享的…...

数据科学与AI入门指南:从基础到实战

1. 数据科学与AI职业入门指南我刚入行数据科学时,最头疼的就是不知道从哪开始。网上资料太多太杂,各种技术名词满天飞,Python、机器学习、深度学习、TensorFlow...到底该先学哪个?这份手册就是帮你理清思路的实战指南,…...

告别脚本!Win11 22H2新版WSL2静态IP配置全攻略(含DNS避坑)

告别脚本!Win11 22H2新版WSL2静态IP配置全攻略(含DNS避坑) 如果你已经升级到Windows 11 22H2版本,现在可以彻底告别那些繁琐的脚本配置了。微软在最新版WSL2中引入了原生静态IP支持,让开发者能够以更优雅的方式管理Lin…...

Android Git客户端MGit:移动端代码管理的终极解决方案

Android Git客户端MGit:移动端代码管理的终极解决方案 【免费下载链接】MGit A Git client for Android. 项目地址: https://gitcode.com/gh_mirrors/mg/MGit 在移动开发时代,随时随地管理代码仓库已成为开发者的核心需求。MGit作为Android平台上…...

Hypnos-i1-8B惊艳效果:抽象代数概念解释+具体群论实例生成

Hypnos-i1-8B惊艳效果:抽象代数概念解释具体群论实例生成 1. 模型能力概览 Hypnos-i1-8B是一款基于量子噪声注入训练的8B参数开源大模型,专注于复杂逻辑推理和数学问题求解。该模型在抽象代数、群论等高等数学领域展现出令人惊艳的理解和生成能力。 1…...

Rust的闭包捕获列表与move关键字在跨线程发送中的所有权语义明确化

Rust的闭包捕获列表与move关键字在跨线程发送中的所有权语义明确化 Rust作为一门以安全性和并发性为核心的系统编程语言,其所有权机制和闭包设计在多线程场景下尤为重要。闭包捕获列表与move关键字的结合,为跨线程数据传递提供了清晰的所有权语义&#…...

Java集成LibreOffice:动态适配Excel列宽实现PDF精准打印

1. 为什么需要动态适配Excel列宽? 很多开发者都遇到过这样的问题:用Java程序把Excel转成PDF时,如果表格列数太多,默认的A4纸宽度根本装不下,结果就是要么列被截断,要么强制换行,打印出来的效果惨…...

单细胞数据分析终极指南:如何用SCP从零开始轻松搞定细胞研究

单细胞数据分析终极指南:如何用SCP从零开始轻松搞定细胞研究 【免费下载链接】SCP An end-to-end Single-Cell Pipeline designed to facilitate comprehensive analysis and exploration of single-cell data. 项目地址: https://gitcode.com/gh_mirrors/sc/SCP …...

大模型二面:如何设计实现一个 LLM Gateway ?

1. 题目分析当你的系统只调用一个模型、一个 Provider 的时候,一切看起来都很简单——拼好 Prompt,发个 HTTP 请求,拿到结果。但当业务做大以后,你会发现自己同时在用 GPT-4o 处理复杂推理、用 Claude 做长文档分析、用开源模型跑…...