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

概述

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.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
注意,该课程属于《ARMv8/ARMv9架构从入门到精通》课程的其中一章2021年3月底,ARM公开了armv9的架构,那时CCA(Confidential Compute Architecture 机密计算)进入大众的视野。当时就觉得很厉害。2021年6月份,ARM公开armv9架构的更多细节,RME(Realm Management Extension)手册也随之公不出来。RME是一套崭新的安全架构,是Trustzone/虚拟化/FF-A的进一步的补充,是安全架构的进一步的飞越式的发展。 相信在这一套技术体系种,将充分发挥硬件的安全特性,也相信在这套体系种,软件行业也能够飞速发展。 第一节 课程介绍第二节 ARMv8/ARMv9的Trustzone深度解读第三节 ARMv9 CCA/RME技术简介第四节 ARMv9 RMA技术详解(以下是第四节的展开)1. RME扩展2. RME Architecture3. Software Architecture4. Security State -- PE5. Switch CPU_Context6. 物理地址空间7. Translation Regime8. EL3 Translation Regime9. Non-secure state translation regimes10. Secure state translation regimes11. Realm state translation regimes12. Root state translation regimes13. TLB & Cache14. 地址空间的访问15. Completer side filtered16. Granule Protection Checks17. 地址翻译的过程18. GPC19. 相关寄存器20. GPT21. GPT Table Descriptor22. GPT Granules配置的权限23. Granule Protection Check faults24. MPAM25. cache扩展26. TLB扩展27. Elision(省略)28. 术语 (注意:本课是《ARMv8/ARMv9架构学习系列课程》中的一个章节。)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

粥粥粥少女的拧发条鸟

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值