[armv9]-ARMv9 CCA(Arm Confidential Compute Architecture)介绍

文章目录

        • 1、术语
        • 2、Architecture overview
          • 2.1、ARMV7的软件模型
          • 2.2、ARMV8-arch32的软件模型
          • 2.3、ARMV8-arch32的软件模型
          • 2.4、ARM with S-EL2
          • 2.5、ARM with FF-A
          • 2.6、ARM CCA/RME
        • 参考:

1、术语

Realm Management Monitor (RMM)
Realm Management Interface (RMI)
Realm Services Interface (RSI)
Realm Management Extension (RME)
Granule Protection Check (GPC)
Kernel-based Virtual Machine (KVM)
Virtual Machines (VMs)
Realm Descriptor (RD)
Realm Execution Context (REC)
Virtual CPU ( VCPU)
Realm Translation Table (RTT)
Secure Monitor Call (SMC)
High Level Operating System (HLOS)
Physical Address Spaces (PAS)
Granule Protection Check (GPC)
Granule Protection Table (GPT)
Granule Protection Fault (GPF)
Translation Table Descriptor (TTD)
Granule Protection Table Descriptor (GPTD)

2、Architecture overview

在学习ARMV9新的CCA/RME架构之前,我们先回忆下之前的arm trustzone架构

2.1、ARMV7的软件模型

从 2008 年 12月 ARM 公司第一次 release Trustzone 技术白皮书。(trustzone white paper – ARM Trustzone安全白皮书百度网盘下载, 密码:1234)
2013 年 Apple 推出了第一款搭载指纹解锁的 iPhone:iPhone 5s,用以保证指纹信息安全的 Secure Enclave 技术据分析深度定制了 ARM trustzone 架构,印象中这大概是 Trustzone 技术第一次走进大众视线。到如今 Trustzone 技术已经成为移动安全领域的重要基础技术,你也许不了解它的技术原理,但它一直默默为你守护你的指纹信息,账户密码等各种敏感数据。

[armv9]-ARMv9 CCA(Arm Confidential Compute Architecture)介绍_第1张图片
另外在早先的一些ARM的书籍或博客中,总是会提到ARM有几种模式, 有说7种的、有说8种的、也有说9种的。最新的官方的文档给出的是9种
[armv9]-ARMv9 CCA(Arm Confidential Compute Architecture)介绍_第2张图片
那么为什么会有不一致的说法产生呢? 那是因为对于不同的ARM Core,对待Monitor/Hyp模式的是否支持不尽相同,有的支持,有得不支持,如下列举了arm core对Monitor/Hyp模式的支持情况:
TODO,TODO

所以呢,对待不同的Core,ARM有几种模式说法也不相同。都是对的,哈哈!!

2.2、ARMV8-arch32的软件模型

在armv8 Cortex-A芯片,几乎(什么狗屁几乎,此处应换成全是/全部/都)支持了ARM Trustzone安全扩展,图种列出了armv8-aach32的安全架构图。
在ARMV8的架构下,模糊(什么叫模糊了,其实就没有了哈)了模式的概念,不再有7种、8种、9种模式之说了。而最常用的说法,则是EL0/EL1/EL2/EL4四种异常等级.
[armv9]-ARMv9 CCA(Arm Confidential Compute Architecture)介绍_第3张图片
在armv8-aarch32的架构下,有一定的特殊性,也许是为了和V7兼容吧。可以看出,该架构下,没有S-EL1,Trust OS和Secure Monitor都运行在EL3等级种。

2.3、ARMV8-arch32的软件模型

再来看armv8-aarch64的架构,几乎就说我们当前最常见的一种架构。
[armv9]-ARMv9 CCA(Arm Confidential Compute Architecture)介绍_第4张图片

2.4、ARM with S-EL2

在armv8.4种,又引入了S-EL2支持(MD,到现在为止都没有出现此类armv8 Core,V9都出来了,看来此架构不会在v8上出现了)。其架构图如下所示。Firmware处可以是ARM的TF-A,SPM处可以是ARM的hafnium固件。为啥使用"可以",因为ARM没有明确说必须使用它的ATF/Hafnium固件,当然也可以按它的标准自己写一个。
[armv9]-ARMv9 CCA(Arm Confidential Compute Architecture)介绍_第5张图片

2.5、ARM with FF-A

随着S-EL2的到来,为了应多越来越复杂的软件,ARM又定义了FF-A架构(其实就说一个ABI标准吧),其架构图如下所示。此架构ARM PPT上也讲了有两年多了吧。本以为这是最终的一个架构图,随着2021年3月底ARMV9的到来,ARM又放出了一个王炸!!!(ARM CCA)
[armv9]-ARMv9 CCA(Arm Confidential Compute Architecture)介绍_第6张图片

2.6、ARM CCA/RME

纳尼?What?[armv9]-ARMv9 CCA(Arm Confidential Compute Architecture)介绍_第7张图片

ARM几种安全等级?
         两种嘛。Secure和Non-secure ×
         同学,要与时俱进哦。4种了:Root、Realm、Secure、Non-secure

在ARMV9/CCA的架构下,ARM又增加了Realm的支持。

参考:

Introducing Arm Confidential Compute Architecture
Introducing Arm’s dynamic TrustZone technology
AArch64 exception model
AArch64 memory management
AArch64 virtualization

你可能感兴趣的:(ARM,CCA,RME,realm,ARMV9,RMM)