隨著云的興起,計算變得高度分布式。工作負載可以在許多計算節點上運行,并且通常跨越多個數據中心。工作負載由代碼和數據的組合組成,兩者通常都是有價值和敏感的。數據中心通常由第三方管理,如云服務提供商(CSP),并且可能位于與工作負載所有者不同的法律管轄區。在云中托管日益敏感的工作負載的需求推動了機密計算(https://developer.arm.com/documentation/den0125/0200/What-is-Confidential-Computing-)。這是一種可以在第三方基礎設施上部署工作負載的模型,并且高度確信任何第三方都不會損害其機密性和完整性。
雖然今天這個模型最常用于描述公共云中所需的屬性,但人們對其他幾個市場的興趣越來越大。現代汽車設計旨在將來自不同供應商的多個工作負載整合到一個車載服務器上。信息技術的消費化已經導致個人電腦上的個人和公司數據的混合。這兩個應用程序都具有與公共云類似的安全要求,并且可以重用相同的底層安全技術。
要構建一個支持機密計算的平臺,必須解決幾個挑戰,但主要的挑戰是如何在處理數據和代碼時保護數據和代碼。相比之下,通過使用強大的加密、數字簽名和細致的密鑰管理,保護靜態數據和動態數據相對容易。
隨著最近發布的第一批支持Realm Management Extension(RME)的開源補丁,現在是了解Arm上機密計算的最新發展和功能的好時機。?在這個博客中,我簡要概述了可以用來構建?支持機密計算的平臺。其中包括Arm在Armv9-a架構中添加的最新功能的摘要,以及Arm支持的參考軟件架構的詳細信息。
設計師考慮的威脅是什么?
任何提供機密計算的平臺的設計者都必須分析需要防御的威脅和風險,以及那些可以接受的、因此被認為超出范圍的威脅和危險。本分析中通常考慮的威脅示例包括:
。平臺軟件中可能被利用的漏洞。
。在供應鏈中插入已知漏洞(有時稱為后門)。
。針對操作服務器的物理攻擊。
。通過輔助渠道(如完成操作所需的時間)跨越安全邊界的信息泄露。
。第三方管理員訪問和濫用敏感數據。
。對數據主權和外國訪問的擔憂。
。從私人數據中心轉移到第三方云的風險使其更難證明符合監管標準。
緩解措施
緩解這些和其他威脅通常需要從根本上改變人們熟悉的計算機安全模型,該模型依賴于特權級別的層次結構,每個級別都隱含信任更具特權的基礎設施層。
圖?1:?傳統特權機制的一個例子
通常具有最大權限并因此必須受到最終用戶信任的組件的示例包括平臺固件,以及相關的虛擬化管理程序。這種基礎設施通常可以不受限制地訪問工作負載,并且被信任不會濫用這一特權。如果特權代碼被認為可能包含可利用的安全漏洞,這可能會引起關注。可以通過多種不同的方式來消除或減少對用戶可能看不見的特權基礎設施的信任,包括:
。重新配置平臺以減少可訪問工作負載的特權軟件和硬件的數量。
。通過加密盡可能靠近處理點來保護與工作負載相關的所有內容。例如,加密工作負載的代碼、狀態和內存中的數據。
。在保留特權元素的情況下,確保這些元素是開放的、可供檢查的,并使用安全引導和平臺認證等技術鎖定,以便在未經授權或檢測的情況下無法更改。可以使用形式化方法來進一步保證這些元素是可信的。
在虛擬化環境中保護工作負載
Arm在Armv7-A體系結構中引入了對虛擬化的處理器支持,包括第二階段的轉換表。這些功能在共享平臺的虛擬機之間提供了有效的硬件支持的地址空間隔離。可以使用A-ProfileArchitecture的這一功能和其他功能來構建一個支持機密計算的平臺。?在使用虛擬化的情況下,系統管理程序通常有足夠的權限訪問用戶工作負載,但可以進行控制,以確保系統管理程序不會濫用該權限。例如,可以通過使系統管理程序小型化、開放性和可驗證性來降低系統管理程序出錯的風險。可以使用正式的方法來正確地演示系統管理程序的功能,然后可以使用安全的信任根來防止對平臺的未經授權的更改并支持證明。信任的根源通常是一個專用的安全微處理器,它通過在釋放主系統CPU之前加載和驗證系統固件來控制引導過程。
添加硬件支持的安全性的新維度
2021年,Arm宣布Realm Management Extension(RME)是Armv9-a架構的主要補充?Arm機密計算架構(Arm CCA)。Arm正在與幾個合作伙伴合作,開發RME的第一個芯片實現。
RME是一種隔離體系結構,允許管理程序為稱為Realms的工作負載創建和管理特殊的執行環境。Realm?是?一種受保護的環境,旨在為虛擬機等工作負載提供額外的安全性。當虛擬機在Realm中運行時,系統管理程序具有與傳統虛擬機相同的創建、銷毀、調度、添加或刪除內存和設備等資源的能力。關鍵的區別在于,系統管理程序無法訪問Realm的代碼或內存。從這個意義上說,系統管理程序是被剝奪權限的,工作負載可以使用證明來驗證這種剝奪權限在加載任何敏感代碼或數據之前是否已經發生。我們預計RME將成為未來幾代CPU的主流功能。RME提供了另一種工具,可以幫助安全架構師減少可訪問工作負載的代碼量,并可用于進一步強化支持虛擬化的平臺。RME還標準化了對內存加密和認證的支持。
2022架構擴展
Arm每年都宣布對A-Profile架構進行年度更新?。2022年,我們宣布對RME進行增強,以支持更廣泛的內存加密上下文(MEC)和設備分配(DA)用例。
。MEC為Realm物理地址空間引入了對多個內存加密上下文的支持。這可以用于為每個Realm實現具有唯一密鑰的內存加密,這為Realm已經提供的安全性提供了額外的深度防御。
。DA增強了RME系統架構和SMMUv3,以實現設備到領域的安全分配。每個Realm都可以獨立選擇是否允許非處理器資源(如存儲接口或加速器)訪問其地址空間的一個區域。因此,使用DA,工作負載可以充分利用異構平臺上可用的專業資源,如神經處理器,而不會影響安全性。
包含MEC的RME規范可在Arm結構參考手冊的J.a版本(https://developer.arm.com/documentation/ddi0487/latest/)中找到,DA規范將很快發布。參考https://www.arm.com/armcca以獲取更多信息。
參考軟件體系結構
當Arm提供在硬件中實現的新體系結構功能時,我們也會考慮在一個完整的系統中使用這些功能需要什么。一些合作伙伴更喜歡采用Arm的硬件架構,創建自己的軟件,以適應他們的特定市場和需求,而另一些合作伙伴則喜歡選擇包括軟件在內的更完整的解決方案。出于這個原因,我們創建了包含RME的Arm機密計算架構(Arm CCA)。
圖?2:Arm CCA建立在RME之上,以提供一個參考軟件安全架構。
Arm CCA以RME為基礎,提供了可選的參考固件和軟件安全架構,可用于實現支持機密計算的基于虛擬機監控程序的平臺。除了RME之外,通過選擇Arm CCA,Arm的合作伙伴可以從支持流行開源項目的既定軟件架構中受益,包括?值得信賴的Firmware-A(https://www.trustedfirmware.org/news/first-open-source-release-of-the-trusted-firmware-realm-management-monitor-tf-rmm/%22%20/h%20HYPERLINK%20%22https:/www.trustedfirmware.org/blog/TF-A-v2-8-release/)、Linux和KVM。Arm CCA是一個開放的體系結構,正在使用正式方法進行積極評估,幫助合作伙伴證明其安全技術遵循既定的最佳實踐。標準軟件體系結構的使用提高了可移植性,并且?減少了長期維護的負擔,以及?還可以提高執行的透明度。您可以在developer.arm.com(https://developer.arm.com/documentation/den0127/0100/Overview)上閱讀更多關于Arm CCA的信息?。
我很高興Arm剛剛為Linux堆棧發布了第一個Arm CCA“征求意見”補丁,為Linux內核和KVM做出了貢獻。經過審查,我希望這些捐贈能被上游項目所接受。這有助于廣泛的服務提供商在基于Arm的系統上提供安全的機密計算,而無需開發自己的定制解決方案的成本和復雜性。您可以在此處(https://lore.kernel.org/all/20230127112248.136810-1-suzuki.poulose@arm.com/)找到Arm CCA Linux堆棧的征求意見。第一批用于來賓固件的EDK2修補程序已可用(https://edk2.groups.io/g/devel/message/103581)。
審核編輯 :李倩
-
ARM
+關注
關注
134文章
9167瀏覽量
369217 -
服務器
+關注
關注
12文章
9304瀏覽量
86066 -
數據中心
+關注
關注
16文章
4859瀏覽量
72382
原文標題:Arm如何讓構建支持機密計算的平臺變得更容易
文章出處:【微信號:Arm軟件開發者,微信公眾號:Arm軟件開發者】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論