叫好不叫座?Arm、英特爾、AMD 等 5 位技術大咖暢聊機密計算技術

衆所周知,我們身處一個信息爆炸的時代,數據成爲了新的石油,推動了整個數字經濟的發展,那麼隨之而來的是對數字安全性和隱私保護的日益增長關注。機密計算作爲一項新興技術,爲我們如何安全處理和計算敏感數據提供了新的視角和解決方案

2023 龍蜥操作系統大會全面建設安全生態分論壇上,圓桌討論環節邀請到了 Intel 安全軟件與服務部首席工程師王立剛、AMD 中國區數據中心市場及業務發展總監曲大健、Arm 公司代表楊喜樂、海光安全副總裁應志偉、龍蜥社區機密計算 SIG owner 張佳等 5 位重量級大咖,機密容器(CoCo) 社區Maintainer 馬丁擔任主持人,通過他們的經驗分享和洞見對話,期待能共同繪製出一幅機密計算未來的藍圖。以下爲本次圓桌討論原文:

(圖/自左到右-CoCo 社區Maintainer 馬丁、Intel 安全軟件與服務部首席工程師王立剛、AMD 中國區數據中心市場及業務發展總監曲大健、Arm 公司代表楊喜樂、海光安全副總裁應志偉、龍蜥社區機密計算 SIG owner 張佳)

主持人各位所在企業都在推動機密計算領域發展做了非常多的工作和貢獻,那麼首先邀請各位專家分享一下關於自己公司的機密計算路線選擇和技術方向。

王立剛:非常開心和大家聊一聊英特爾對機密計算路線的想法。首先我從一個更加宏觀的角度去理一理英特爾在安全領域的整體思路。英特爾在和用戶的合作實踐中,逐步認識到,在一個系統中不管軟件實現有多麼安全,總有其他一層可能會出現問題。如果想從根本上解決這個問題,只能從硬件入手,因此英特爾就有了基於硬件的各種安全技術。

英特爾安全戰略分爲兩個主要方向,一個是保障平臺的安全,另一個是保障數據的安全。保障平臺安全有 Boot Guard、PFR 等技術,保障數據安全分爲三個方面:存儲安全、傳輸安全、運行時安全,而英特爾推出的 SGX 和 TDX 兩種機密計算TEE 技術就是用來保障運行時的數據安全技術。

SGX 和TDX 有各自的優勢,可以互爲補充:SGX 更適用於對安全性要求更高、代碼更易於改動或從頭構建的應用 TDX 更適用於大型的成熟應用,用戶可以根據使用場景選擇更適合自己的技術。最後再強調一點,SGX 和 TDX 在英特爾平臺上都會長期共存。

主持人在王總分享的過程中,我聽到了英特爾對於數據安全和平臺安全的堅持,以及提供了 SGX 和 TDX 兩種不同場景的解決方案。現在 AMD 在第三代的 EPYC 服務器處理器中也已經支持了最新的 SEV-SNP 機密計算特性,請曲大健博士分享一下 AMD 在機密計算中的設計理念、思路以及想法。

曲大健:AMD 對機密計算非常重視並且身體力行。AMD 在 2017 年已經在處理器上Enable SEV 的功能,後來加上了 SEV-ES,第三代把 SEV-SNP 全都加上。那麼這三者之間都有什麼區分?

SEV 只加密內存,但是沒有完整性保護,外人可以改,改了就不運行了,文件或者程序改了就不保證一致性。

SEV-ES 可以把 cache 和 register 的數據再加密,加密過了從外面讀不了,從裏面也讀不了,中間運行過程之中不會泄露。

SEV-SNP 支持防篡改,把內存中的數據加密,加密了別人改了以後就被發現,報 illegal 或者不執行。AMD 儘管經過了幾代產品發展,但還是逐漸把機密計算的基本功能全都 enable,在合作的操作系統的夥伴也都把 SEV-SNP 全都 enable,雲服務商在雲實例上已經發了帶 SEV-SNP,也就是加密的虛擬機。

未來,AMD 會逐漸和合作夥伴,包括操作系統的提供商以及其他的第三方把 SEV-SNP 功能以及其它的有關機密計算的功能全都 enable 在一起,變成一個端到端的解決方案。AMD 也會逐漸打通國內 confidential 的虛擬機,我們持續不斷地朝着這個方向努力,和合作夥伴一起讓用戶更好地用起這個功能。

主持人AMD 最開始從機密計算保護數據的機密性,到保護它的完整性,一直到後面的生態建設以及對 AI 等等新興領域的知識描繪了一幅 AMD 相關硬件的發展藍圖。接下來作爲全球領先的半導體設計及軟件平臺公司,Arm 在機密計算領域推出了相應的 Arm 機密計算架構 (Confidential Compute Architecture, CCA),請楊喜樂分享一下 Arm CCA 在機密計算領域的一些設計哲學。

楊喜樂:Arm 在幾年前發佈了新一代的架構—Armv9,其中 Arm CCA 作爲其中非常重要的架構特性之一,通過在 Arm 架構中引入了一個 realm 領地的安全世界,來保護用戶數據在計算中的安全,包含內存加密、寄存器加密、CPU TEE 等安全執行環境。Arm 在設計 CCA 過程有三點考量:第一個是要實現機密計算技術的普惠性,我們知道之前的 TEE 技術需要開發者對應用程序進行拆解,重構成安全和非安全的部分,對一般的應用開發者來講還是有比較高的使用門檻,CCA 真正實現了機密計算對於開發者的 lift and shift 的體驗,開發者無需對應用程序作出任何改動,就可以直接將其運行在基於CCA的可信執行環境中,實現數據在計算中的安全。第二點是可擴展性,我們都知道 Arm 技術的使用場景涵蓋了從數據中心到邊緣計算和 IoT, 從手機桌面終端到汽車消費電子,全球有 70% 的人在使用基於 Arm 技術的產品,因此在設計 CCA 的時候,我們要考慮的一個重要問題就是如何讓 CCA 真正的可擴展,實現各個場景下端到端的機密計算安全。第三個是開放和透明,大家在談到機密計算時經常會提到 TEE(Trust Execution Environment)這個名詞,其中的關鍵詞就是 Trust,那麼信任來自於什麼?我們認爲信任源自於開放和透明,Arm 從 CCA 發佈之初,就計劃將相關的 Firmware、 Kernel 和 Hypervisor,以及 CCA 中非常重要一部分遠程證明方案 Veraison 開源、開放,實現機密計算技術對於整個軟件棧端到端的可審計、可追溯。

主持人Arm 其實在強調三點,就是保證生態的開放,對開發者友好和整個架構,不管是對服務器端還是移動端的,都要有可擴展性。接下來,作爲國產機密計算的先行者,海光 CSV 其實也已經有了長足的發展,有請應志偉分享一下海光對機密計算解決方案的一些想法和思考。

應志偉:海光今天可能是這裏唯一的國產 CPU 廠商。安全對 CPU 廠商特別重要,第一個是供應鏈的安全,第二個是 CPU 本身的安全性。海光這兩年無論在密碼技術、可信計算、機密計算都投入了很大的人力和精力。時代在變化,數據安全變得越來越重要。海光在機密計算上做了很大投入,當初面臨選型的時候,一個要保證數據安全,第二個是怎麼讓新技術快速被接受。

最終海光選了把整個虛擬機加密這樣一個機密虛擬化的路徑,最近推出的海光 CSV3.0 上做了很多創新,如過去只做內存加密,而在海光CSV3.0 中不僅做了內存加密,也做了隔離。我們也通過各種各樣的手段提升機密虛擬機本身的安全性,前面提到的數據安全越來越重要,將來的大模型,人工智能的數據,而機密計算扮演一個非常重要的角色,所以我們也會堅定投入下去。

主持人海光作爲國產機密計算的先行者對安全方面有極高的追求,側信道攻擊等都是非常細緻的考慮,非常樂見海光 CSV 以後有更好的發展。最後一個問題留給龍蜥社區的張佳,作爲雲廠商,面臨這麼多硬件 TEE 技術路線的選擇下,面向用戶的產品應該怎麼發展?

張佳:龍蜥作爲一箇中立化的社區,又是一個開源組織,非常希望在機密計算上先行試水來幫助中國的研發人員瞭解、掌握機密計算的一些先進技術,主要原因是機密計算真正有助於通過數據流動性,解決數據孤島問題,是能進一步釋放數據的社會、經濟價值的一種突破性技術。關於多 TEE 平臺,做軟件的人都有一個梗,沒有什麼問題是不能通過在軟件 stack 中再加一層解決的,所以龍蜥社區把四家知名廠商的機密計算技術引進來,在社區軟件層提供一個良好的抽象。龍蜥社區最初專注於開發機密容器技術,與機密虛擬機相比,機密容器能夠自然地減輕用戶的工作負載,同時減少用戶對操作系統或硬件知識的依賴,實現快速部署和易於掌握。因此,以機密容器爲基礎,在龍蜥社區內形成了針對不同 TEE 平臺的多種解決方案,後來社區又做遠程證明,這項將新技術是一個基於融合新技術的服務,能夠讓用戶確信他們的工作負載和數據是在真正受 TEE 保護的安全環境下運行的。毫無疑問,遠程證明服務一定也是不偏不倚的,支持所有的 TEE 平臺。現在的遠程證明服務已經基本上覆蓋了所有的主流 CPU 的 TEE 技術。目前也正在對接和支持 Nvidia 的機密 GPU。未來更多的 TEE 硬件平臺都會均衡、公平地支持 TEE 平臺,爲廣大用戶提供龍蜥方案,解決各自場景的通用遠程證明問題。

主持人從剛纔的對話中,我們從幾位專家這裏,對硬件廠商和軟件廠商對自己的產品設計思想以及背後的理念有了新的認識。接下來進入一些比較有趣的問題,進一步探討一下當前面臨的實際情況,機密計算這個方向是叫好不叫座,具體來說各位認爲當前機密計算領域存在哪些主要的挑戰。

張佳:關於機密計算叫好不叫座的問題,本質還是機密計算技術現在尚處於早期。我做機密計算已經有四、五年了,但是對於用戶來說,他們對機密計算技術還很陌生。另外,這個問題還涉及到很多其它的原因,在這裏我就列舉個人切身體感,或者我認爲最重要的原因,就是是在數據合規機密計算是一種安全可信技術,大家在使用安全技術時,用戶的需求有點被動。機密計算做得比較好的,比如金融領域,確實正在如火如荼地快速推進展開。但是,機密計算作爲一種通用可編程 TEE,屬於通用計算基礎設施的一部分,從這個觀點來說,機密計算未來應該成爲繼虛擬化技術之後的通用雲計算基礎設施的一部分。爲什麼目前還沒有達到這個階段?主要原因是公有云場景下數據合規問題,俗稱數據出域問題。如果機密計算在合規角度缺乏對數據出域的解釋,在公有云場景下,機密計算進度一定是緩慢的。不過好消息是,現在信安標委會已經提出了一個國家的機密計算標準,目前這個標準還在草案編寫中,是一個整體的技術架構標準。在具備數據合規可解釋性的事情完備之前,作爲技術人員,我們還是應該有一個技術判斷,相信技術合規的問題一定會給一個傾向性的正確評估。在此前提下,可以提前打造和構建機密計算軟件生態,做技術先行,而不必等着合規完備了纔去做。

應志偉:我個人理解,除了機密計算本身的技術外,較大的問題硬件廠商、軟件廠商都已經解得差不多了,但是現在機密計算距離大規模推廣還有三個問題,第一個是生態上的問題,從主流的社區拉代碼或者從龍蜥社區拉代碼,如海光 CPU 或者其他 CPU 能不能變成默認的選項。第二個是最終客戶的培育問題,目前行業中能理解機密計算到底是什麼,但對於金融、運維、運營商的客戶很難真正理解 TEE 是什麼技術。第三點是標準問題,國內的生態和國外不太一樣,比如金融企業或者運營商要用到機密計算技術,首先得證明安全,得有國家檢測的標準,不是技術人員說安全他就認爲安全。行業中有行業主管機構認可,能夠解決某些問題。前面提到機密計算的標準還在制定中,假以時日,等到檢測標準、行業規則落地後,基本會有一個爆發式的發展。

楊喜樂:剛纔的嘉賓分別從合規方面,應用場景和標準等方面談了機密計算目前存在的挑戰。我這邊從開發者的角度談一下,因爲我們知道一個技術的落地,最終需要開發者能將其非常容易地使用起來。現在主流的機密計算技術,可以實現開發者無需修改應用程序本身,但這裏面有個問題是,如何解決遠程證明問題?首先,開發者的應用程序怎麼無縫的和現有的遠程證明流程結合在一起。其次,現在不同架構都有各自的 TEE 實現,那麼對開發者來說怎麼應對這種複雜度,讓應用可以更加容易的適配不同的 TEE 技術,這裏面就需要很多相關的標準化工作。Arm 作爲機密計算聯盟(Confidential Computing Consortium)的重要成員持續和合作夥伴 一起推動相關標準的建立(如 EAT, EAR 等),我們也期待和業界同仁在這方面進行更多交流。

曲大健:剛纔各位專家都從技術、開發、產品上做出了很多闡述。我個人覺得機密計算停留在開發者、產品的研發者層面上比較多。隨着 AI 技術和各種各樣的數字技術開發越來越廣泛,在終端用戶側,很多人對技術一無所知,但是慢慢對自己的私密信息的泄露,私密信息被別人濫用方面的憂慮越來越強烈。另一方面,除了積極開發產品,積極使能機密計算的應用時,也要開始積極同步終端用戶,讓其知道機密計算到底是什麼流程,通俗來說就是能帶來什麼好處。若通過龍蜥社區的open source平臺,用戶來買虛擬機或者實例時,詢問支持機密計算嗎,feature是不是都能 enable 起來,能達到以上目的,機密計算下一步的推動掃除了絕大部分障礙,就是機密計算平臺大發展的分水嶺。

王立剛:首先我從技術方面來聊一聊。技術方面的第一個挑戰就是 CPU TEE 和外設協同機密計算能力,這個能力現在比較薄弱,外設包括 GPU、網絡設備、其他的加速引擎,CPU TEE 和外設協同起來做機密計算,整個系統的機密計算能力纔會更加強大。現在我們可以看到業界已經在做這方面的工作,比如 Nvidia 推出了擁有 TEE 能力的 GPU,H100、H800。第二個來自於技術方面的挑戰是對於機密計算應用的開發和部署的平民化、易用化:讓開發、部署機密計算應用變得更簡單。這需要多方的努力,包括 TEE 的提供商、OS 提供商、獨立軟件的開發商。第三個技術挑戰是機密計算應用開發部署的規範性。針對一些典型的應用場景,如公有云租戶對於機密虛擬機的構建和部署,遠程認證在幾個經典應用場景的需求,應該深刻理解場景各方的需求,共同錘鍊出一些能夠被各方接受的、規範化的、經典的開發部署方式。技術方面的挑戰算是機密計算市場的供給端,那我再介紹一下需求端。需求端從合規方面、終端用戶方面,我非常認同以上嘉賓的分享觀點。雖然近幾年用戶對機密計算認識也提高了很多,但是仍然不夠,需要投入比較大的力量推廣機密計算,尤其是終端用戶。讓數據安全的意識植根於終端用戶的思維中,讓他們充分認識到機密計算的作用,只有達到這樣的效果,整個生態鏈、產業鏈纔會活躍起來。

主持人:非常感謝幾位專家分享自己對機密計算挑戰的一些看法和見解,大概有三個方面的內容:首先是用戶市場方面,整個機密計算市場的用戶還缺少心智,可能還不太清楚機密計算能夠做什麼。第二方面是產品和技術研發方面。第三個是法律合規方面。在整個過程中,我聽到一個很關鍵的信任問題,那就是用戶爲什麼相信機密計算技術,它爲什麼能保護自己的信息。那行業也有人說通過開源的方式就能解決信任問題,邀請各位專家分享一下自己關於開源技術和機密計算之間的關係有什麼看法。

王立剛開源是機密計算成功的前提,也是必由之路。爲什麼這麼說?用戶在用機密計算時,忍受了一些成本損失,比如性能的損失,開發部署的不方便。那爲什麼大家還要用機密計算?機密計算帶來了額外的價值,就是機密可信,這個可信依賴於機密計算軟硬件實現的可信。這就需要整個機密計算軟件模塊、各個層面都需要開源,包括底層 TEE 的實現、操作系統、上層應用。只有代碼開源了,別人纔會信任。英特爾在機密計算開源方面一直在身體力行,比如在開發 SGX 和 TDX 時,軟件模塊都是開源的,包括核心的 TDX Module、SGX 的 architectural enclave。SGX 的 architectural enclave 在最初設計中放到硬件中實現,最終還是決定以開源軟件的形式實現。在這裏非常感謝龍蜥提供一個開源平臺推廣機密計算,英特爾最初也投入了比較大的資源和社區合作很多項目。SGX 和 TDX 底層軟件系統軟件對龍蜥適配,中間層的機密容器和容器適配,更上層的應用場景的參考方案。針對一些典型的場景,推出的解決方案,比如 PPML,也是和龍蜥合作的。今後也希望和龍蜥社區保持緊密合作,推進機密計算的開源工作。

曲大健:開源分兩部分來看。第一部分是加密原理和加密流程是開源的。現在所有的 confidential computing,不管用什麼加密原理都是公共的數學加密原理。第二個是通過開源社區建立生態環境時,所有的加密原理和加密流程都是開源的。讓大家都可以來利用加密原理和加密流程 API 建立起自己的加密計算環境。這一點至少在開發者層面建立信任,通過難以破解的加密算法實現。從各個層面建立可信性,對加密流程和加密算法的信任,再進一步推廣。接觸的開發者都知道,加密原理、算法比較繞,再一步推廣是讓最終的用戶充分理解加密是怎麼實現的,這也非常重要。龍蜥社區是一個很好的平臺,建議龍蜥社區做一個 Demo,不管在嗶哩嗶哩上或者在其他平臺上做一個 Demo,社區應該想個辦法做一個直觀的東西提供教育場景,對機密計算的整個原理和流程產生信任感。

主持人龍蜥社區如果能有這樣一個 Demo,對於如何培養用戶心智非常有幫助。

楊喜樂:前面的嘉賓從開源軟件,加密方式的開源談了很多,我這邊接着剛纔談一下信任和開源。最好的信任是開放和透明,開源是實現開放和透明的一個非常好的方式,比如我剛纔提到的 Arm 從底層固件到上層軟件棧的開源。另外,我們也針對機密計算相關的開源項目(如機密容器)和阿里等合作伙伴也開展了很多社區層面的深入合作,最終將開源貢獻輸出或者落地到龍蜥社區中。

開源作爲一種協作方式,提供了不同廠家開放合作的機會。開發者需要面臨很多不同架構、不同 TEE 技術的差異,各個架構廠商可以通過開源社區進行合作來屏蔽不同技術的複雜度。最近在 Linux Kernel 社區中,已經實現了不同架構下統一獲取 attestation token 的機制,這是一個非常好的開始。希望在開源社區中能看到更多類似的事情,給開發者提供更多統一的接口。

應志偉:前面幾位專家講得特別好,我完全同意。安全不能用黑盒子或者模糊性來代表,這是兩碼事。無論是加密的算法、原理、流程、架構本身都需要開源,和大家把所有東西講清楚,最後把密鑰掌握在手中,保證安全才是真正的安全,才能經得起考驗。

說到海光,過去兩年和開源社區打了很多交道,去年給整個開源社區大概貢獻了 30 萬行代碼支撐海光所有的安全技術,相信通過開源的方案能把機密計算社區建立起來,總有一天在開源社區下載代碼、一鍵使能,機密生態纔可能通過擁抱開源生態的方式真正發展起來。

張佳:前面的嘉賓解釋了開源軟件對機密計算的必要性。龍蜥社區也正在開源社區,尤其上游社區籌備,通過技術手段把開源軟件和軟件供應鏈安全問題協同,一併解決運行在 TEE 內的開源軟件的用戶信任問題。

這一部分會在龍蜥以及開源社區有後續動作,我們會身體力行地應用技術手段,以自動化的方式把這個問題解決掉。

主持人最近成立了國家數據局,國內外也制定了一系列的數據安全法。從法律法規的角度來看,機密計算作爲一個底層技術來支持商業化落地等各種場景都成爲了一個發展路徑,請各位嘉賓用一些比較簡短的話暢談一下機密計算的未來。

張佳:機密計算未來肯定是前途無量。最關鍵的點還是人的問題,目前僅靠我們以及我們身後的人是不夠的,關鍵因素是大家對技術的認知,它能解決的問題,以及是否有真正能觸達終端用戶的案例、方案、開源代碼等等。這些問題其實是一個開源軟件或者機密計算系統新興技術都要面對的。

作爲龍蜥社區機密計算 SIG Owner,我採取的策略更多的還是通過身體力行地以 engineering 的方式,從代碼、開源解決方案、用戶體感幾個方面上,爲用戶提供一個入門級的開源機密計算解決方案,幫助用戶快速部署和使用機密計算,並且在這個框架上繼續適配迭代,形成符合自己業務落地的方案。也歡迎大家攜手,能把所有的國內相關機密計算的開發資源彙總統一,在各個層面做到不內卷、不內耗、不重複造輪子,以統一標準的方式協同共建,以最小的代價快速把國產機密計算推到高峯。

應志偉:最後我講兩個故事。第一個故事是前面介紹機密計算都談到數據安全,但事實上我在和某些國內的開發者討論,國內的軟件行業大概發生發展 20 多年,發展得並不好。國內盜版問題盛行,但是我們現在發現機密計算技術能幫助解決軟件盜版問題

國內有很多非常有才華的開發者一定能用好工具,能在各方面提供安全性,產業更好地發展。第二個故事,過去上網所有的都是上 http、比如新浪、百度網絡傳輸都不加密,但是現在上的網站都是支持 https,如果網站不支持 https, 瀏覽器會顯示網站是不安全的,它會提示是不是還要繼續點進去。

最終用戶可能未必知道二者的區別,但是通過整個社區產業界的合作,把過去不安全的方法淘汰了。機密計算、隱私計算、國家數據局的成立都需要把數據流動起來,隨着大家的努力,一定能看到類似的場景。比如虛擬機起來如果沒有加密,標記一下這個信息不安全,這樣機密計算生態就可以成了。

楊喜樂:最近半年多以 GPT 爲應用的浪潮,感覺進入了 AI 時代。AI 時代中如何保證 AI從數據的產生、模型的訓練、部署、推理,如何保證整個端到端的安全。

我相信機密計算應該會成爲接下來整個 AI 時代非常重要的安全底座,我也希望國內的龍蜥社區能成爲機密計算落地的前沿陣地。

曲大健:關於 AI 的事情,但是 AI 的現在所有的模型都是數據驅動的模型。模型可能沒有太大的祕密,training 得好與不好取決於數據怎麼樣。AI 的三要素,算力、算法、數據。

未來,數據的交易和數據可能會變得越來越重要,尤其是做AI 應用的時候,怎麼樣利用加密計算保護數據,更有效地利用數據資產是一個非常重要的方面。我希望通過開源設計技術、工程師、開源社區的努力,讓機密計算的應用更快更好地走向大衆。

王立剛:我簡單分享一下我對機密計算未來的一個願景,希望不久的將來,每一臺計算設備,不管是個人設備還是雲端的服務器,都具備機密計算的能力。

機密計算服務唾手可得,數據共享,安全通暢,各位用戶不再擔心自己的隱私被竊取,企業用戶不再爲數據泄露而煩惱。

原文鏈接

本文爲阿里雲原創內容,未經允許不得轉載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章