目錄
- 概述
- 機密計算
- 系統軟件組成
- 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.