目录
- 概述
- 机密计算
- 系统软件组成
- 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.