RME基于Arm TrustZone技术。TrustZone技术在Armv6中引入,提供以下两个安全状态:
- 安全状态(Secure state)
- 非安全状态(Non-secure state)
以下图表显示了在AArch64中的这两个安全状态以及通常在每个安全状态中找到的软件组件:
该架构将在安全状态运行的软件与在非安全状态运行的软件进行了隔离。这种隔离使软件体系结构能够使受信任的代码在安全状态下运行,并免受非安全状态下代码的影响。
RME对这一模型进行了扩展,提供了以下四个安全状态:
- 安全状态
- 非安全状态
- 领域状态(Realm state)
- 根状态(Root state)
以下图表显示了在启用RME的处理器中的安全状态,以及这些安全状态如何映射到异常级别:
保持安全状态提供了与现有TrustZone用例的向后兼容性。这些用例也可以升级以利用RME添加的新功能,例如动态内存分配。
领域状态构建了受保护的执行环境,称为领域。值得注意的是,RME扩展了在TrustZone中引入的隔离模型。
该架构为以下状态提供了隔离:
- 安全状态与非安全状态和领域状态之间的隔离
- 领域状态与非安全状态和安全状态之间的隔离</