螞蟻集團宣佈雲原生大規模叢集化機密計算框架 KubeTEE 開源

宗恩發表於2020-10-01

螞蟻集團宣佈雲原生大規模叢集化機密計算框架 KubeTEE 開源

近日螞蟻集團在上海外灘大會可信原生技術論壇上宣佈開源 KubeTEE。

KubeTEE 是一個雲原生大規模叢集化機密計算框架,旨在解決在雲原生環境中 TEE 可信執行環境技術特有的從開發、部署到運維整體流程中的相關問題。這是業界首個開源的 TEE 大規模叢集整體解決方案。

背景:

2018年,螞蟻集團開始全面轉型雲原生架構。2020 年,該集團又提出了“可信原生(Trust-Native)”的理念,將可信任性滲透到雲原生架構的各層之中,打造全棧可信賴的雲端計算基礎設施。

而作為保護應用的執行安全的技術,機密計算理念以及可信執行環境TEE (Trusted Execution Environment) 也被螞蟻引入並積極實踐,形成了 SOFAEnclave 機密計算技術棧。

SOFAEnclave 包括三大元件:

  • Occlum LibOS:解決業務開發過程中的問題,如傳統TEE應用開發需要切分重構,依賴SDK特定程式語言等問題;
  • HyperEnclave:解決TEE部署環境問題,如硬體TEE不普及、軟硬體TEE使用一致性等問題;
  • KubeTEE:解決TEE叢集問題,包括雲原生環境特有的從開發、部署到運維整體流程中的相關問題。

此前,Occlum LibOS 已經開源,並捐獻給了 CCC(Confidential Computing Consortium)機密計算聯盟。CCC 機密計算聯盟隸屬於 Linux 基金會,由業界多家科技巨頭髮起,致力於保護計算資料安全。Occlum 捐獻給 CCC,則將成為 CCC 社群首箇中國發起的開源專案。

提到KUbeTEE的話,首先要了TEE代表什麼?

隨著雲端計算的快速發展,越來越多的關鍵性服務和高價值資料被遷移到了雲端。雲安全也因此成為學術界和工業界關注的一個焦點。

近年來,雲安全領域最重要的一項技術進展名為機密計算(Confidential Computing)。機密計算填補了當前雲安全的一項空白——使用中資料(Data-in-use)的加密。過去通行的做法是對資料在儲存中(比如硬碟)和傳輸中(比如網路)加密,而在使用中(比如記憶體)解密,以便處理。而機密計算可以保護使用中資料的機密性和完整性。

目前,多家雲端計算巨頭都在不約而同地推廣這項技術:微軟已於 2017 年 7 月宣佈開始接受 Azure 機密計算的早期試用申請;IBM 於 2017 年 12 月宣佈 IBM 雲資料保護(Cloud Data Guard)的預覽版;谷歌也於 2018 年 5 月開源了名為 Asylo 的機密計算框架。

那麼,機密計算究竟是如何實現的呢?

實際上,上述所有云計算巨頭在實現機密計算時都離不開一種稱為“可信執行環境(TEE)”的技術。

顧名思義,TEE 提供一種與不可信環境隔離的安全計算環境,正是這種隔離和可信驗證機制使得機密計算成為可能。

TEE 一般是直接基於硬體實現的,比如 Intel SGX,AMD SEV,ARM TrustZone,以及 RISC-V Keystone 等;基於虛擬化技術也可以構造 TEE,比如微軟的 VSM,Intel 的 Trusty for iKGT & ACRN,但尚不能匹敵硬體 TEE 的安全性。

其中,Intel 軟體防護擴充(Software Guard Extensions,簡稱 SGX)是目前商用 CPU 中最為先進的 TEE 實現,它提供了一套新的指令集使得使用者可以定義稱為 Enclave 的安全記憶體區域。CPU 保證 Enclave 與外界隔離,從而保護其中的程式碼和資料的機密性、完整性和可驗證性。不同於之前的 TEE 實現,比如 ARM TrustZone,SGX 每個 APP 都可以有自己獨立的 TEE,甚至可以建立多個 TEE,而 TrustZone 是整個系統有一個 TEE;這裡也省去了向裝置廠商申請將 TA 裝入 TEE 的過程。由於 SGX 的先進性,目前雲端機密計算領域甚至已公認用 Enclave 這個詞來指代 TEE。

KubeTEE 則是雲原生場景下如何使用 TEE 技術的一套整體解決方案,包括多個框架、工具和微服務的集合。其結合了 Kubernetes 和 TEE 兩個重要技術方向,解決可信應用從單點到容器化叢集實施過程中的相關問題。

KubeTEE 的目標之一是提供 Serverless 形態的機密計算服務,比如 Trusted FaaS,讓業務方只需要實現業務核心邏輯,就可以簡單地將之提交到 TEE 環境中執行,而不用重複整套的業務服務開發、部署和運維的流程。

KubeTEE:金融級雲原生的機密計算叢集

針對 Enclave 叢集化方面的問題,螞蟻集團去年就開始思考如何能更高效和簡潔的使用 TEE 資源提供機密計算服務,他們的解決方法是 KubeTEE——結合雲原生,提供機密計算叢集服務。

一方面避免了業務使用者重複進行基礎設施建設,另一方面使用者註冊賬號即可使用機密計算叢集服務,大大降低了機密計算門檻,提高了易用性和利用率。KubeTEE 為了更高效的使用物理資源,基於 k8s + container 更優雅地部署和管理機密計算映象和 EPC 資源。基於 k8s 的容器排程能力,KubeTEE 可以快速實現機密計算服務資源的橫向擴縮容。概括來說,他們希望以一種更加雲原生的方式來使用 Enclave 和機密計算叢集資源。

提供基於 Enclave Container 的業務部署能力,基礎設施運維和業務無感知升級等能力;

提供 Serverless 機密計算服務,基於通用的機密計算資源池支援業務服務;

基於通用的機密計算元件、中介軟體服務和研發流程結合提供平臺化的業務開發能力;

image

實現 Serverless 機密計算叢集的過程,我們一方面提供最終態的機密計算服務,同時將過程中積累的元件抽象化為可複用模組,應對不同業務的定製化需求,提升機密計算業務的 Enclave 開發效率。


螞蟻集團方面表示,目前,雖然 KubeTEE 已經可以較大程度幫助業務方降低 TEE 開發複雜度,但還有很大的進步空間。KubeTEE 下一階段將更多關注雲原生場景和機密計算的結合,持續貢獻更多元件以及通用服務,讓 TEE 的使用更高效、更簡單、更雲原生化。也 KubeTEE 能和業界攜手,共建更完整的雲端安全計算生態。

image.png

相關文章