[armv9]-ARMV8/ARMV9安全架构介绍(ARMv9 CCA)
文章目錄
- 1、術(shù)語(yǔ)
- 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、術(shù)語(yǔ)
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
在學(xué)習(xí)ARMV9新的CCA/RME架構(gòu)之前,我們先回憶下之前的arm trustzone架構(gòu)
2.1、ARMV7的軟件模型
從 2008 年 12月 ARM 公司第一次 release Trustzone 技術(shù)白皮書。(trustzone white paper – ARM Trustzone安全白皮書百度網(wǎng)盤下載, 密碼:1234)
2013 年 Apple 推出了第一款搭載指紋解鎖的 iPhone:iPhone 5s,用以保證指紋信息安全的 Secure Enclave 技術(shù)據(jù)分析深度定制了 ARM trustzone 架構(gòu),印象中這大概是 Trustzone 技術(shù)第一次走進(jìn)大眾視線。到如今 Trustzone 技術(shù)已經(jīng)成為移動(dòng)安全領(lǐng)域的重要基礎(chǔ)技術(shù),你也許不了解它的技術(shù)原理,但它一直默默為你守護(hù)你的指紋信息,賬戶密碼等各種敏感數(shù)據(jù)。
另外在早先的一些ARM的書籍或博客中,總是會(huì)提到ARM有幾種模式, 有說(shuō)7種的、有說(shuō)8種的、也有說(shuō)9種的。最新的官方的文檔給出的是9種
那么為什么會(huì)有不一致的說(shuō)法產(chǎn)生呢? 那是因?yàn)閷?duì)于不同的ARM Core,對(duì)待Monitor/Hyp模式的是否支持不盡相同,有的支持,有得不支持,如下列舉了arm core對(duì)Monitor/Hyp模式的支持情況:
所以呢,對(duì)待不同的Core,ARM有幾種模式說(shuō)法也不相同。都是對(duì)的,哈哈!!
2.2、ARMV8-arch32的軟件模型
在armv8 Cortex-A芯片,幾乎(什么狗屁幾乎,此處應(yīng)換成全是/全部/都)支持了ARM Trustzone安全擴(kuò)展,圖種列出了armv8-aach32的安全架構(gòu)圖。
在ARMV8的架構(gòu)下,模糊(什么叫模糊了,其實(shí)就沒(méi)有了哈)了模式的概念,不再有7種、8種、9種模式之說(shuō)了。而最常用的說(shuō)法,則是EL0/EL1/EL2/EL4四種異常等級(jí).
在armv8-aarch32的架構(gòu)下,有一定的特殊性,也許是為了和V7兼容吧。可以看出,該架構(gòu)下,沒(méi)有S-EL1,Trust OS和Secure Monitor都運(yùn)行在EL3等級(jí)種。
2.3、ARMV8-arch32的軟件模型
再來(lái)看armv8-aarch64的架構(gòu),幾乎就說(shuō)我們當(dāng)前最常見(jiàn)的一種架構(gòu)。
2.4、ARM with S-EL2
在armv8.4種,又引入了S-EL2支持(MD,到現(xiàn)在為止都沒(méi)有出現(xiàn)此類armv8 Core,V9都出來(lái)了,看來(lái)此架構(gòu)不會(huì)在v8上出現(xiàn)了)。其架構(gòu)圖如下所示。Firmware處可以是ARM的TF-A,SPM處可以是ARM的hafnium固件。為啥使用"可以",因?yàn)锳RM沒(méi)有明確說(shuō)必須使用它的ATF/Hafnium固件,當(dāng)然也可以按它的標(biāo)準(zhǔn)自己寫一個(gè)。
2.5、ARM with FF-A
隨著S-EL2的到來(lái),為了應(yīng)多越來(lái)越復(fù)雜的軟件,ARM又定義了FF-A架構(gòu)(其實(shí)就說(shuō)一個(gè)ABI標(biāo)準(zhǔn)吧),其架構(gòu)圖如下所示。此架構(gòu)ARM PPT上也講了有兩年多了吧。本以為這是最終的一個(gè)架構(gòu)圖,隨著2021年3月底ARMV9的到來(lái),ARM又放出了一個(gè)王炸!!!(ARM CCA)
2.6、ARM CCA/RME
納尼?What?
ARM幾種安全等級(jí)?
?????????兩種嘛。Secure和Non-secure ×
?????????同學(xué),要與時(shí)俱進(jìn)哦。4種了:Root、Realm、Secure、Non-secure √
在ARMV9/CCA的架構(gòu)下,ARM又增加了Realm的支持。
參考:
Introducing Arm Confidential Compute Architecture
Introducing Arm’s dynamic TrustZone technology
AArch64 exception model
AArch64 memory management
AArch64 virtualization
總結(jié)
以上是生活随笔為你收集整理的[armv9]-ARMV8/ARMV9安全架构介绍(ARMv9 CCA)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [How TO]-windows安装wg
- 下一篇: [问答]-EL1t和EL1h中的后缀t和