天天看點

ARMv9刷屏 —— 号稱十年最大變革,Realm機密計算技術有什麼亮點?

ARMv9刷屏 —— 号稱十年最大變革,Realm機密計算技術有什麼亮點?

ARMv9的新聞刷屏了。ARMv9号稱十年以來最重大變革,是以讓我們看下ARMv9中機密計算相關的新特性Realm。(注:本文是對Introducing the Confidential Compute Architecture的部分翻譯和個人注解,本文圖均來自anandtech.com網站。)

背景

在過去的幾年裡,我們看到安全問題和硬體安全漏洞已經成為了新聞熱點。許多處理器側信道漏洞,如幽靈、熔毀以及與它們有關的側通道攻擊,都表明有必要重新思考如何在處理器架構層面解決安全問題。

Arm想要解決這個問題的方法是:通過引入Arm機密計算體系結構(Arm CCA),重新設計敏感應用程式的工作方式。

一句話亮點總結

Arm CCA基于Armv9 Realm Mangement Extension(RME,簡稱Realm),将敏感應用和OS隔離在Realm中;Realm比機密虛拟機更加通用,既支援機密虛拟機形态,也支援機密OS形态。

High Level設計

Arm CCA基于Armv9 Realm Mangement Extension,将敏感應用和OS隔離在Realm中:

ARMv9刷屏 —— 号稱十年最大變革,Realm機密計算技術有什麼亮點?

從這張圖可以總結出以下幾個要點:

1.  Non-Secure World、Secure World和Realm之間是互相隔離的。

  •  現有材料中沒有詳細解釋這種隔離是如何實作的,大機率還是基于硬體的位址空間隔離技術。
  • 對Realm的隔離要看兩個方面:運作在Realm中的敏感應用也可能是租戶部署的惡意應用,是以對Realm的隔離也是必要的,即雙向隔離。

2.  Realm可以運作OS(簡稱Realm OS),也就是說Realm提供了高特權級的支援,可以運作EL1特權軟體。

  • Realm OS的形态可以有多種:
  • 不一定非要是經過裁剪和安全加強過的Linux核心,也可以為Realm設計的TEE OS,或者由支援其他機密計算的OS技術實作演進過來額外支援Realm的LibOS(如Enarx、Occlum、Graphene等);但這種TEE OS不能是支援TrustZone的TEE OS,後面會讨論這個話題。
  • TEE OS目前的一種發展趨勢是縮小TCB、減少Rich OS潛在的攻擊面進而提升整體的安全性;但在是否需要提供良好的業務邏輯相容性上存在分歧:

1) 一種方案是不考慮對業務的相容性,以安全為先,可以适度犧牲性能和相容性。   2)另一種方案還是重視對存量業務的相容性,以相容性為先,可以适度犧牲性能和安全性。

PS:Unikernel又有機會了!

3.  EL2運作Realm Manager,負責管理Realm的排程和資源配置設定。可以預見這部分會由Arm CCA firmware架構來支援(類似ATF,或直接在ATF中進行擴充來支援)。

  • 從目前的資料來看:Realm Manager是Arm新寫的,其代碼量大概是Hypervisor大小的十分之一。
  • Realm Manager和TDX中的SEAM Module很像:在處理器架構級為該功能子產品提供了一個新的運作模式;同時該功能子產品承擔了Realm生命周期和資源管理的功能,系統中其他不可信的元件不能替代其功能和角色。

4. TrustZone對Realm也是不可信的。也就是說Realm不是像TrustZone那樣隻解決計算資

源隔離的問題,而是解決更進一步的敏感資料隔離的問題。

安全威脅模型

這張圖說明了Realm的安全威脅模型,可以看出它具備典型的機密計算技術的特點:

ARMv9刷屏 —— 号稱十年最大變革,Realm機密計算技術有什麼亮點?

從這張圖可以總結出以下幾個要點:1. 這裡的hardware manufacturer 指的是外設的硬體裝置提供商,而不是處理器本身的硬體提供商(比如Arm或SoC廠商)。2. Realm Manager不屬于Realm的一部分,但它是使用者TCB的一部分。

用法

由于Realm具備運作完整OS的能力,是以看上去可類比TDX的trust domain以及SEV/CSV的機密虛拟機,但下面的用法中則揭示了Realm相比機密虛拟機形态更為通用的一面:

ARMv9刷屏 —— 号稱十年最大變革,Realm機密計算技術有什麼亮點?
ARMv9刷屏 —— 号稱十年最大變革,Realm機密計算技術有什麼亮點?

1. 由于TrustZone中的TEE OS不是通用OS,而是結合TrustZone深度定制過的,是以無法将TEE OS直接加載到Realm中并運作,這也打破了原先認為Realm會基于TrustZone架構進行疊代的假設;但适配了OP-TEE的TA是可以運作在Realm中的,隻要Realm OS能夠支援OP-TEE的TA API。換句話說,這張圖可能也暗示了Arm接下來會在Realm OS中提供對TA的支援,當然也可能這張圖隻是展示Realm的相容性能力;此外,在Realm中運作Android應用也存在上述的可能性。

2. Realm Manager本質上充當了類似Hypervisor管理VM的角色,隻不過Realm Manager管理的對象是Realm。

  • 當Realm運作VM的時候,可以認為把Hypervisor中涉及到Realm安全性的邏輯挪到了Realm Manager中,而把不涉及其安全性的部分保留在傳統Hypervisor中。

3. Realm僅僅是專門為運作敏感應用而提供的硬體TEE,它的使用者可以将自己環境内的工作負載通過Realm Manager将敏感應用+OS一起加載到Realm中,甚至是将一個完整的虛拟機加載到Realm中,是以ealm不是機密虛拟機,而是泛用性更高的通用型機密計算運作環境底座。

綜上所述,Realm技術不僅大幅度降低了敏感應用對信任的需求以及使用者在适配Realm的成本,而且OS自身的安全性問題對Realm應用來說将變得非常透明(但Realm應用對外提供的服務以及Realm OS對外暴露的接口的安全性依舊需要重視)。此外,因為關鍵性應用能夠安全地在任何支援CCA的系統中運作,而當今公司或企業往往需要使用具有各種安全合規的授權軟體棧的專用裝置才能實作這種安全性,是以這種技術也能降低使用者在安全上所投入的成本。

slide中沒有展現出來的要點

Realm中的應用能夠attest Realm Manager以確定它是可信的。

記憶體加密。這個是機密計算的必備能力。

目前的資料沒有顯示出Realm提供的這種通用運作能力是如何支援Realm與IO裝置間的互動的。據說Confidential IO問題還沒有在Realm 1.0中得到解決,也許會在下一代技術中解決。

後續

目前Arm僅僅提供了關于CCA如何運作的high level解釋,有關該機制究竟如何運作的更多細節将在今年夏天晚些時候公布。(完)

附翻譯原文:Introducing the Confidential Compute Architecture 

https://www.anandtech.com/show/16584/arm-announces-armv9-architecture/2
ARMv9刷屏 —— 号稱十年最大變革,Realm機密計算技術有什麼亮點?

關于Inclavare Containers

Inclavare是Enclave一詞的拉丁語詞源,讀音是 [ˈinklɑveə]。

Enclave 指的是一種受保護的執行環境,能為其中的敏感和機密資料提供基于密鑰學算法的強安全隔離,阻止不可信的實體通路使用者的數字資産。

Inclavare Containers是由阿裡雲與Intel聯合共建共同研發的面向機密計算場景的開源容器運作時技術棧,同時支援異構節點的Enclave遠端證明基礎實施、Enclave池化以及多類型Enclave Runtime等特性,服務于機密Kubernetes叢集和機密容器。

github:

https://github.com/alibaba/inclavare-containers

首頁:

https://inclavare-containers.io/

加入龍蜥社群

加入微信群:添加社群助理-龍蜥社群小龍(微信:openanolis_assis),備注【龍蜥】拉你入群;加入釘釘群:可掃碼或搜釘釘群号(33311793)。歡迎開發者/使用者加入龍蜥OpenAnolis社群交流,共同推進龍蜥社群的發展,一起打造一個活躍的、健康的開源作業系統生态!

ARMv9刷屏 —— 号稱十年最大變革,Realm機密計算技術有什麼亮點?
ARMv9刷屏 —— 号稱十年最大變革,Realm機密計算技術有什麼亮點?

Inclavare Containers 技術讨論群                                 龍蜥社群釘釘群二維碼

關于龍蜥社群

龍蜥社群是由企事業機關、高等院校、科研機關、非營利性組織、個人等按照自願、平等、開源、協作的基礎上組成的非盈利性開源社群。龍蜥社群成立于2020年9月,旨在建構一個開源、中立、開放的Linux上遊發行版社群及創新平台。

短期目标是開發龍蜥作業系統(Anolis OS)作為CentOS替代版,重新建構一個相容國際Linux主流廠商發行版。中長期目标是探索打造一個面向未來的作業系統,建立統一的開源作業系統生态,孵化創新開源項目,繁榮開源生态。

加入我們,一起打造面向未來的開源作業系統!

Https://openanolis.cn

繼續閱讀