入選“十大硬核科技”,詳解可信密態計算(TECC)技術點
數據要素安全流通,已成為行業面臨的新挑戰。隱私計算能在數據提供方不泄露原始數據的前提下,對數據進行分析計算。但現有單一的隱私計算技術路線難以支撐大規模、復雜多變的應用需求,且面臨著實戰場景的安全風險挑戰。
在《國務院辦公廳關于印發要素市場化配置綜合改革試點總體方案的通知》中“原始數據不出域、數據可用不可見”、“可控可計量”等相關指導原則下,螞蟻集團首創推進的新型隱私計算技術--可信密態計算(TECC),將可信計算技術與密碼學技術深入融合,能在1小時內完成億級樣本XGB建模,在安全性、適用性、性能、可靠性等維度上形成跨越式提升,突破單一技術的局限,獲得更高的綜合能力。TECC幾乎是當前唯一能夠在性能、安全性、可靠性、成本和適用性等方面都滿足數據密態時代要求的技術,能夠成為數據密態時代的重要技術支撐。

7月24日,第五屆數字中國建設峰會公布了“十大硬核科技”獎,螞蟻集團可信密態計算技術(TECC)入選。

本文將分享數據流通新挑戰背景下,螞蟻對于隱私計算技術的思考,詳解可信密態計算(TECC)技術點。
1. 隱私計算技術現狀
隱私計算技術是密態數據流通的核心技術,能夠允許數據提供方在不泄露原始數據的前提下,多個參與方共同進行計算。
現有隱私計算技術能夠滿足特定的、少量場景的應用需求,但是對于全面進入數據密態時代后,面對大規模、復雜多變的應用需求,存在著一定的瓶頸。現有隱私計算技術主要分為以下兩類:
一類是密碼協議,包括多方安全計算、安全聯邦學習、同態算法等。由于隱私計算技術任務的難度非常大,這類密碼協議通常都需要復雜的密碼運算。并且這些復雜的密碼運算并不是一次性的,而是目標運算的每一個基礎單元(例如乘法、矩陣乘)都需要復雜的密碼運算,使得整體計算量膨脹特別大。另一方面,多方安全計算和聯邦學習每一個基礎單元還需要一次公網交互,公網交互的成本(10ms級)遠大于簡單的計算操作(ns級)。總地來說,這類密碼協議的消耗膨脹在5-7個數量級,不適合大規模應用。
一類是可信計算技術,包括TPM、可信執行環境。這類技術一般會提供一個安全的隔離環境,并且設備的擁有者也難以破壞該環境的隔離性,使得各方可以放心地將數據明文放置到該隔離環境。可信計算技術在隔離環境內執行的是明文運算,所以幾乎沒有消耗膨脹。缺點是一旦環境的隔離性因代碼實現疏忽等產生瑕疵,內部的明文數據就會直接遭受威脅。另外,可信執行環境也面對著側信道攻擊與供應鏈攻擊而產生信息泄露的風險。
2. 可信密態計算(TECC)概況
經我們研究發現,將可信計算技術和密碼學技術結合,能夠很好地相互揚長避短,獲得更為優秀的綜合能力。我們將這一想法實踐和總結,形成了一個新的隱私計算路線,即可信密態計算(Trusted-Environment-based Cryptographic Computing,簡稱TECC)。
TECC的核心理念是在可信計算環境中將數據以密態方式進行計算。這樣的密態計算能夠有效緩解可信計算環境的一些安全隱患,例如側信道攻擊、明文泄露風險等等。而可信計算技術能夠提供防惡意敵手攻擊、防合謀攻擊等能力。在可信計算技術的加持下,密碼協議可以有效地輕量化,大幅度降低性能障礙。這樣,可信環境和密碼協議可以有效相互彌補對方的弱點。
下圖是TECC典型的示例圖,見圖1:
- 數據提供者在本地將數據拆分成多個密態分片數據。單個密態分片數據不泄露原始數據的任何信息。繼而將每個分片數據傳遞給不同分區的可信計算節點。
- 每個可信計算分區的計算節點不接觸完整的密態分片數據。多個可信計算分區通過密碼協議(MPC、安全聯邦學習等)完成目標計算。在計算過程中任何計算節點都無法恢復出數據明文。
- 可信計算節點受可信計算技術(TEE/TPM/全棧可信等)保護,運營者無法窺探。
- 密碼協議的同一個角色由一個可信計算分區集群承擔,可以進行并行化加速。
- TECC使用數據密態膠囊形式進行存儲,包括數據密態分片、以及與其綁定的訪問規則,運營者無法濫用密態數據。

圖1 可信密態計算示例圖
3. 可信密態計算(TECC)主要特征
1)安全性
在TECC中,參與方可以與可信計算節點直接建立安全通道,并將數據端到端傳入到可信計算節點的隔離環境中。在可信計算節點的隔離保護下,TECC的運維方也無法直接觸達數據。計算參與方還可以通過可信計算的遠程驗證技術,驗證可信計算節點上運行的代碼,進而確認這些代碼不會將數據惡意輸出,只會執行指定的計算行為。TECC自身實現也高度重視代碼安全,綜合使用內存安全編程語言和形式化驗證技術,避免因軟件漏洞導致整體系統安全性被突破。
TECC能夠抵御惡意敵手、合謀攻擊等常見的算法層攻擊。經過遠程驗證后,可信計算節點內只能執行驗證過的代碼,不能篡改協議,所以TECC能夠抵御惡意敵手攻擊。同樣地,一個可信計算節點在執行過程中,也不能通過輸出中間值、篡改協議等方式與另一個可信計算節點合謀,所以TECC能夠抵御合謀攻擊。
使用內存安全編程語言Rust并結合形式化驗證技術,可以避免TEE內部的代碼產生內存安全等高危漏洞。Rust是一種專為高安全應用設計的編程語言,在開發的時候需要多付出更高的研發成本,例如顯性化標識變量的所屬關系及所屬關系的轉移等。在此基礎之上再結合抽象解釋和NbSP安全范式驗證,可以有效確保整體系統代碼中不會有常見的高危安全漏洞,包括內存越界、多線程沖突等。
TECC的密態計算模式能夠大幅緩解硬件漏洞、供應鏈攻擊等風險。密態數據是不會作為地址(比如數組下標)、判斷依據(if語句的判斷條件)的,類似的操作會轉換成運算操作。這使得TECC能夠很好地抵御以這些信息為跳板的側信道攻擊、分支預測攻擊等。單一TECC分區無法獲得恢復明文數據所需的所有密態分片,這使得TECC能夠很好地抵御和大幅緩解微體系采樣攻擊、供應鏈隱患。
TECC還可以通過與全棧可信技術相結合,保障TEE的運行環境,增大防御縱深。全棧可信包括防竊啟的機箱,能夠阻止攻擊者在物理上接近TEE。特別的,TECC可以基于全棧可信技術將有風險的可信計算節點(比如返修過的設備)部署在同一個分區,可以有效緩解供應鏈攻擊風險,因為單分區無法獲取明文數據。全棧可信包括一般還包括軟件鏈(BIOS、Bootloader、OS、應用)驗證,能夠阻止攻擊者獲得操作系統Root權限。而這些往往是攻擊TEE的先決條件。
2)性能
TECC中的密碼協議是內網交互。內網一般可以達到25gbps,網絡瓶頸很小。TECC中密碼協議的主要任務是保證可信環境內是密態數據,可采用輕量級的密碼協議,計算量膨脹很小。TECC中多個計算節點可以并行執行,加速整體效率。
在超高的網絡帶寬、輕量級的密碼協議、允許并行化的情況,TECC可以達到與明文相近的計算性能。例如,TECC能夠在1個小時內完成億級樣本的樹模型訓練,以及在10分鐘完成億級行數的密態數據分析。
3)適用性
在TECC中,包括輸入輸出的全部過程都是密態的,可以使用單一的算法覆蓋任意多個參與方、數據任意歸屬的情況,有很強的場景適用性。
在此對比一下,缺乏可信計算技術支持的密碼協議往往出于性能壓力,同一個場景的細分情況通常會使用不同的算法,比如根據不同數量的參與方、不同的數據歸屬劃分方式設計不同的加速算法,這經常導致算法缺乏很好的適用性。
4)成本
TECC允許用戶在性能和成本之間進行選擇。如果要達到類似明文的性能,設備成本只需增加不到一個量級。并且設備成本可以通過分時復用TECC計算中心被充分攤薄。TECC不需要額外的公網或者專線成本,而這樣的帶寬成本往往非常昂貴。整體TECC計算成本與明文分布式計算成本相比增加可以控制在一個數量級之內。
5)可靠性
與依賴于公網或者專線交互的跨網式隱私計算不同,TECC沒有這樣大量的跨網交互,可靠性風險大幅度降低。特別對于多個參與方的場景下這點格外突出。
一個TECC中心可以部署大量可信計算節點。當少數設備發生問題的時候,可以使用其他設備完成任務。并且可以按照成熟的數據中心方式建設異地容災、多地多中心等,可靠性可達99.99%-99.999%。
小結
下圖展示了TECC的綜合性質,我們可以看出,雷達圖的面積非常大,這說明TECC的綜合性質非常好。
- 參與方能夠通過技術手段確保TECC運營方難于作惡,并且TECC通過安全編程語言、密態計算形式等大幅度緩解了TEE內部代碼漏洞風險與TEE硬件安全脆弱性等安全風險。
- 超高的內網帶寬、輕量級的密碼協議、并行化技術,使得在適度的資源成本下,TECC可達到卓越的計算性能。
- 支持任意多參與方與任意數據歸屬劃分方式,使得TECC的場景適用性非常好。
- 無公網交互、數據中心級的災備,使得TECC的可靠性達到明文數據中心的水平。
TECC可以根據安全需求選擇合適的方案,對于安全性要求一般的場景,可以采用軟件可信的方案,不需要依賴特殊的硬件。在安全性要求高的場景,可以根據情況選擇“TEE+密態”,該方案基本解決了TEE內部代碼和自身的漏洞。在一些對安全性要求特別高的場景,可以采用“全棧可信+TEE+密態”、“全棧可信+異構TEE+密態”等方式,其安全性逐漸接近極致。


圖2 TECC特性雷達圖
4. 可信密態計算(TECC)應用場景
TECC在性能和安全上的突破,為各行業數據流通和隱私保護的大規模落地提供可靠解決方案。TECC解決了海量數據規模、高數據安全性、復雜計算邏輯、多數據參與方的復雜難題,進一步拓寬隱私計算的數據規模量級和計算能力。TECC滿足聯合營銷、聯合風控、數據共建等經典隱私計算場景,還突破性地支持大數據和跨地域隱私計算場景。
以東數西算為例,“東數西算”是把東部密集的算力需求有序引導到西部,需要數據要素安全可控的跨域流動。打通“數”動脈,織就全國算力一張網,既緩解了東部能源緊張的問題,也給西部開辟一條發展新路。東數西算至少會面臨以下幾個難題:
一是計算復雜,數據量大。東數西算的數據使用場景和數據規模巨大,傳統隱私計算難以支撐。TECC計算集群可以在數分鐘內完成億級數據隱私求交,1小時內完成億級樣本的XGB模型訓練。TECC還支持用戶在底層算子上自定義計算邏輯,TECC對排序、亂序、數學函數等都進行優化設計。TECC可以有效支撐東數西算場景的計算能力需求。
二是數據不泄漏。如果放在西部的數據被規模化竊取,造成的損失將無法估量。傳統的數據中心方案,受操作系統漏洞、管理員作惡影響,攻擊面大,被攻破的風險大。以TECC為基礎的數據中心方案,通過密態計算和可信執行環境融合,云運維人員也難以竊取數據,非常適合有高安全需求的數據。
三是參與方眾多,且大量計算不依賴跨網交互。不是所有的隱私計算技術都適用于東數西算,MPC/FL等要求數據提供方同時作為計算方承擔計算職責,也就是作為數據方的東部,必須同時作為計算方,這顯然不符合東數西算轉移算力的初衷。而TECC的計算方和數據提供方是分離的,可以最大程度上發揮西部能源和算力優勢。

圖 3 TECC東數西算示意圖
總結
可信密態計算(TECC)將密碼學協議、可信計算技術、全棧可信等技術相結合,綜合能力顯著高于傳統單一隱私計算技術。
- 高安全性:提供可信計算技術及密碼學技術深入融合的雙重安全保障;
- 高可靠性:支持99.99%~99.999%基礎設施級可靠性要求;
- 高性能:1小時完成億級樣本XGB建模卓越性能表現;
- 高適用性:適用于任意多方參與、任意數據歸屬劃分的出色靈活性;
- 低成本:比明文分布式計算增加不超過一個數量級。
可信密態計算(TECC)是綜合螞蟻在隱私計算技術和可信計算技術等領域6年多研究的創新成果,是螞蟻可信隱私計算技術體系重要構成。
螞蟻非常愿意與社會共享技術成果,共同推動行業安全和隱私技術體系前行,為數據要素流通領域提供技術基礎設施服務。今年7月螞蟻集團已開源了可信隱私計算框架“隱語”,可信密態計算(TECC)也將作為隱語的關鍵構件在主管部門指導下進行開源。希望行業各界人士共同參與,攜手推進行業生態建設。