baron · 3月29日 · 四川

[armv9]-ARMV8/ARMV9安全架构介绍

快速连接

👉👉👉【精选】ARMv8/ARMv9架构入门到精通-目录 👈👈👈


 title=

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 技术已经成为移动安全领域的重要基础技术,你也许不了解它的技术原理,但它一直默默为你守护你的指纹信息,账户密码等各种敏感数据。

在这里插入图片描述
另外在早先的一些ARM的书籍或博客中,总是会提到ARM有几种模式, 有说7种的、有说8种的、也有说9种的。最新的官方的文档给出的是9种
在这里插入图片描述
那么为什么会有不一致的说法产生呢? 那是因为对于不同的ARM Core,对待Monitor/Hyp模式的是否支持不尽相同,有的支持,有得不支持,如下列举了arm core对Monitor/Hyp模式的支持情况:
在这里插入图片描述

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

2.2、ARMV8-arch32的软件模型

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

2.3、ARMV8-arch32的软件模型

再来看armv8-aarch64的架构,几乎就说我们当前最常见的一种架构。
在这里插入图片描述

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固件,当然也可以按它的标准自己写一个。
在这里插入图片描述

2.5、ARM with FF-A

随着S-EL2的到来,为了应多越来越复杂的软件,ARM又定义了FF-A架构(其实就说一个ABI标准吧),其架构图如下所示。此架构ARM PPT上也讲了有两年多了吧。本以为这是最终的一个架构图,随着2021年3月底ARMV9的到来,ARM又放出了一个王炸!!!(ARM CCA)
在这里插入图片描述

2.6、ARM CCA/RME

纳尼?What?在这里插入图片描述

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精选"公众号,备注进ARM交流讨论区。
图片1.png

推荐阅读
关注数
9438
内容数
191
以易懂、渐进、有序的方式,深入探讨ARMv8/ARMv9架构的核心概念。我们将从基础知识开始,逐步深入,覆盖最新的架构,不再纠缠于过时技术。本系列内容包含但不限于ARM基础、SOC芯片基础、Trustzone、gic、异常和中断、AMBA、Cache、MMU等内容,并将持续更新。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息