隨著云的興起,計算變得高度分布式。工作負載可以在許多計算節(jié)點上運行,并且通??缭蕉鄠€數(shù)據(jù)中心。工作負載由代碼和數(shù)據(jù)的組合組成,兩者通常都是有價值和敏感的。數(shù)據(jù)中心通常由第三方管理,如云服務(wù)提供商(CSP),并且可能位于與工作負載所有者不同的法律管轄區(qū)。在云中托管日益敏感的工作負載的需求推動了機密計算(https://developer.arm.com/documentation/den0125/0200/What-is-Confidential-Computing-)。這是一種可以在第三方基礎(chǔ)設(shè)施上部署工作負載的模型,并且高度確信任何第三方都不會損害其機密性和完整性。
雖然今天這個模型最常用于描述公共云中所需的屬性,但人們對其他幾個市場的興趣越來越大。現(xiàn)代汽車設(shè)計旨在將來自不同供應(yīng)商的多個工作負載整合到一個車載服務(wù)器上。信息技術(shù)的消費化已經(jīng)導(dǎo)致個人電腦上的個人和公司數(shù)據(jù)的混合。這兩個應(yīng)用程序都具有與公共云類似的安全要求,并且可以重用相同的底層安全技術(shù)。
要構(gòu)建一個支持機密計算的平臺,必須解決幾個挑戰(zhàn),但主要的挑戰(zhàn)是如何在處理數(shù)據(jù)和代碼時保護數(shù)據(jù)和代碼。相比之下,通過使用強大的加密、數(shù)字簽名和細致的密鑰管理,保護靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù)相對容易。
隨著最近發(fā)布的第一批支持Realm Management Extension(RME)的開源補丁,現(xiàn)在是了解Arm上機密計算的最新發(fā)展和功能的好時機。?在這個博客中,我簡要概述了可以用來構(gòu)建?支持機密計算的平臺。其中包括Arm在Armv9-a架構(gòu)中添加的最新功能的摘要,以及Arm支持的參考軟件架構(gòu)的詳細信息。
設(shè)計師考慮的威脅是什么?
任何提供機密計算的平臺的設(shè)計者都必須分析需要防御的威脅和風(fēng)險,以及那些可以接受的、因此被認為超出范圍的威脅和危險。本分析中通??紤]的威脅示例包括:
。平臺軟件中可能被利用的漏洞。
。在供應(yīng)鏈中插入已知漏洞(有時稱為后門)。
。針對操作服務(wù)器的物理攻擊。
。通過輔助渠道(如完成操作所需的時間)跨越安全邊界的信息泄露。
。第三方管理員訪問和濫用敏感數(shù)據(jù)。
。對數(shù)據(jù)主權(quán)和外國訪問的擔(dān)憂。
。從私人數(shù)據(jù)中心轉(zhuǎn)移到第三方云的風(fēng)險使其更難證明符合監(jiān)管標準。
緩解措施
緩解這些和其他威脅通常需要從根本上改變?nèi)藗兪煜さ挠嬎銠C安全模型,該模型依賴于特權(quán)級別的層次結(jié)構(gòu),每個級別都隱含信任更具特權(quán)的基礎(chǔ)設(shè)施層。
圖?1:?傳統(tǒng)特權(quán)機制的一個例子
通常具有最大權(quán)限并因此必須受到最終用戶信任的組件的示例包括平臺固件,以及相關(guān)的虛擬化管理程序。這種基礎(chǔ)設(shè)施通??梢圆皇芟拗频卦L問工作負載,并且被信任不會濫用這一特權(quán)。如果特權(quán)代碼被認為可能包含可利用的安全漏洞,這可能會引起關(guān)注??梢酝ㄟ^多種不同的方式來消除或減少對用戶可能看不見的特權(quán)基礎(chǔ)設(shè)施的信任,包括:
。重新配置平臺以減少可訪問工作負載的特權(quán)軟件和硬件的數(shù)量。
。通過加密盡可能靠近處理點來保護與工作負載相關(guān)的所有內(nèi)容。例如,加密工作負載的代碼、狀態(tài)和內(nèi)存中的數(shù)據(jù)。
。在保留特權(quán)元素的情況下,確保這些元素是開放的、可供檢查的,并使用安全引導(dǎo)和平臺認證等技術(shù)鎖定,以便在未經(jīng)授權(quán)或檢測的情況下無法更改??梢允褂眯问交椒▉磉M一步保證這些元素是可信的。
在虛擬化環(huán)境中保護工作負載
Arm在Armv7-A體系結(jié)構(gòu)中引入了對虛擬化的處理器支持,包括第二階段的轉(zhuǎn)換表。這些功能在共享平臺的虛擬機之間提供了有效的硬件支持的地址空間隔離??梢允褂肁-ProfileArchitecture的這一功能和其他功能來構(gòu)建一個支持機密計算的平臺。?在使用虛擬化的情況下,系統(tǒng)管理程序通常有足夠的權(quán)限訪問用戶工作負載,但可以進行控制,以確保系統(tǒng)管理程序不會濫用該權(quán)限。例如,可以通過使系統(tǒng)管理程序小型化、開放性和可驗證性來降低系統(tǒng)管理程序出錯的風(fēng)險??梢允褂谜降姆椒▉碚_地演示系統(tǒng)管理程序的功能,然后可以使用安全的信任根來防止對平臺的未經(jīng)授權(quán)的更改并支持證明。信任的根源通常是一個專用的安全微處理器,它通過在釋放主系統(tǒng)CPU之前加載和驗證系統(tǒng)固件來控制引導(dǎo)過程。
添加硬件支持的安全性的新維度
2021年,Arm宣布Realm Management Extension(RME)是Armv9-a架構(gòu)的主要補充?Arm機密計算架構(gòu)(Arm CCA)。Arm正在與幾個合作伙伴合作,開發(fā)RME的第一個芯片實現(xiàn)。
RME是一種隔離體系結(jié)構(gòu),允許管理程序為稱為Realms的工作負載創(chuàng)建和管理特殊的執(zhí)行環(huán)境。Realm?是?一種受保護的環(huán)境,旨在為虛擬機等工作負載提供額外的安全性。當虛擬機在Realm中運行時,系統(tǒng)管理程序具有與傳統(tǒng)虛擬機相同的創(chuàng)建、銷毀、調(diào)度、添加或刪除內(nèi)存和設(shè)備等資源的能力。關(guān)鍵的區(qū)別在于,系統(tǒng)管理程序無法訪問Realm的代碼或內(nèi)存。從這個意義上說,系統(tǒng)管理程序是被剝奪權(quán)限的,工作負載可以使用證明來驗證這種剝奪權(quán)限在加載任何敏感代碼或數(shù)據(jù)之前是否已經(jīng)發(fā)生。我們預(yù)計RME將成為未來幾代CPU的主流功能。RME提供了另一種工具,可以幫助安全架構(gòu)師減少可訪問工作負載的代碼量,并可用于進一步強化支持虛擬化的平臺。RME還標準化了對內(nèi)存加密和認證的支持。
2022架構(gòu)擴展
Arm每年都宣布對A-Profile架構(gòu)進行年度更新?。2022年,我們宣布對RME進行增強,以支持更廣泛的內(nèi)存加密上下文(MEC)和設(shè)備分配(DA)用例。
。MEC為Realm物理地址空間引入了對多個內(nèi)存加密上下文的支持。這可以用于為每個Realm實現(xiàn)具有唯一密鑰的內(nèi)存加密,這為Realm已經(jīng)提供的安全性提供了額外的深度防御。
。DA增強了RME系統(tǒng)架構(gòu)和SMMUv3,以實現(xiàn)設(shè)備到領(lǐng)域的安全分配。每個Realm都可以獨立選擇是否允許非處理器資源(如存儲接口或加速器)訪問其地址空間的一個區(qū)域。因此,使用DA,工作負載可以充分利用異構(gòu)平臺上可用的專業(yè)資源,如神經(jīng)處理器,而不會影響安全性。
包含MEC的RME規(guī)范可在Arm結(jié)構(gòu)參考手冊的J.a版本(https://developer.arm.com/documentation/ddi0487/latest/)中找到,DA規(guī)范將很快發(fā)布。參考https://www.arm.com/armcca以獲取更多信息。
參考軟件體系結(jié)構(gòu)
當Arm提供在硬件中實現(xiàn)的新體系結(jié)構(gòu)功能時,我們也會考慮在一個完整的系統(tǒng)中使用這些功能需要什么。一些合作伙伴更喜歡采用Arm的硬件架構(gòu),創(chuàng)建自己的軟件,以適應(yīng)他們的特定市場和需求,而另一些合作伙伴則喜歡選擇包括軟件在內(nèi)的更完整的解決方案。出于這個原因,我們創(chuàng)建了包含RME的Arm機密計算架構(gòu)(Arm CCA)。
圖?2:Arm CCA建立在RME之上,以提供一個參考軟件安全架構(gòu)。
Arm CCA以RME為基礎(chǔ),提供了可選的參考固件和軟件安全架構(gòu),可用于實現(xiàn)支持機密計算的基于虛擬機監(jiān)控程序的平臺。除了RME之外,通過選擇Arm CCA,Arm的合作伙伴可以從支持流行開源項目的既定軟件架構(gòu)中受益,包括?值得信賴的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是一個開放的體系結(jié)構(gòu),正在使用正式方法進行積極評估,幫助合作伙伴證明其安全技術(shù)遵循既定的最佳實踐。標準軟件體系結(jié)構(gòu)的使用提高了可移植性,并且?減少了長期維護的負擔(dān),以及?還可以提高執(zhí)行的透明度。您可以在developer.arm.com(https://developer.arm.com/documentation/den0127/0100/Overview)上閱讀更多關(guān)于Arm CCA的信息?。
我很高興Arm剛剛為Linux堆棧發(fā)布了第一個Arm CCA“征求意見”補丁,為Linux內(nèi)核和KVM做出了貢獻。經(jīng)過審查,我希望這些捐贈能被上游項目所接受。這有助于廣泛的服務(wù)提供商在基于Arm的系統(tǒng)上提供安全的機密計算,而無需開發(fā)自己的定制解決方案的成本和復(fù)雜性。您可以在此處(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
+關(guān)注
關(guān)注
134文章
9009瀏覽量
366085 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
8858瀏覽量
84956 -
數(shù)據(jù)中心
+關(guān)注
關(guān)注
16文章
4578瀏覽量
71807
原文標題:Arm如何讓構(gòu)建支持機密計算的平臺變得更容易
文章出處:【微信號:Arm軟件開發(fā)者,微信公眾號:Arm軟件開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論