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

螞蟻集團宣佈雲原生大規模集羣化機密計算框架 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 社區首箇中國發起的開源項目。less

提到KUbeTEE的話,首先要了TEE表明什麼?運維

隨着雲計算的快速發展,愈來愈多的關鍵性服務和高價值數據被遷移到了雲端。雲安全也所以成爲學術界和工業界關注的一個焦點。編程語言

近年來,雲安全領域最重要的一項技術進展名爲機密計算(Confidential Computing)。機密計算填補了當前雲安全的一項空白——使用中數據(Data-in-use)的加密。過去通行的作法是對數據在存儲中(好比硬盤)和傳輸中(好比網絡)加密,而在使用中(好比內存)解密,以便處理。而機密計算能夠保護使用中數據的機密性和完整性。ide

目前,多家雲計算巨頭都在不約而同地推廣這項技術:微軟已於 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