導讀:我們提出了一種隐私計算新思路,這種思路為業界提供了新的安全性和性能的平衡點。今天為大家講述這個平衡點,看能否給大家一些啟發,找到一些應用場景。
今天的介紹會圍繞下面四點展開:
- 背景
- TECC 技術路線
- TECC 實作現狀
- 總結和展望
分享嘉賓|潘無窮博士 螞蟻集團 進階專家
編輯整理|陳人琪 微衆信科
出品平台|DataFunTalk
01
背景
首先來看一下哪些事實促使了 TECC 的提出。
1. 邁入密态時代
我們認為單個機構用的資料,是事物的一個側面,要準确評估事物,就需要來自多個機構的資料。那麼,這個時候就需要全面的資料流通。從安全性上來講,明文流通肯定是沒有辦法控制安全性的,因為明文流通會導緻資料不斷擴散,最後導緻失控。是以,資料的流通方式未來發展趨勢一定是密态流通。
2. 密态計算的難度遠遠超過傳統密碼算法
這個技術的難度怎麼樣?傳統加密算法裡,通過傳統加密,基于密文的傳輸,最終解密。而密态流通算法的難度是遠遠超過傳統加密算法的。如果要做密态流通,就要實作密态計算,包括加減乘除、比較、移位、選擇、機器學習、資料學習等。目前還沒有非常完美、性能非常好的方案。
3. 部分算法存在惡意敵手攻擊、合謀攻擊
現有算法可能存在的問題:
- 惡意敵手攻擊:“惡意敵手攻擊”是指攻擊者(例如惡意的參與方)在執行時不遵守協定。目前部分算法是有假設前提的,即假設不會出現“惡意敵手”。也就是說這些算法隻有在不出現惡意敵手時才是安全的。然而在現實當中,我們認為大機率是會出現惡意敵手的,因為攻擊者沒有道理去遵守密碼協定。
- 合謀攻擊:多個攻擊者一起合作作惡。目前部分算法是有假設前提,即假設不會出現合謀攻擊。如果出現合謀攻擊,這些算法的安全性也是有問題的。我們認為,隻要資料利益足夠大時,攻擊者是有可能合作,導緻出現合謀攻擊的。
4. 部分算法存在資訊熵洩露
除了以上兩種問題,有些算法還有可能存在資訊熵洩露的問題。資訊熵洩露是指原始資訊沒有洩露,但是原始資訊的運算結果被洩露,導緻原始資訊的不确定性減少,即熵減少了。
那麼,要怎麼看待資訊熵洩露這個問題呢?資訊熵洩露不等價于可以倒推出原始資訊。我們認為它的安全問題跟洩露的規模相關。如果洩露量小,風險是可控的。如果洩露量大,大機率存在有效攻擊形式。而且,因為洩露量是累加的,在判斷洩露量時,需要考慮它的長期性。
5. 性能是算法類隐私計算技術最大障礙
綜上所述,算法存在各種安全問題,是因為我們設計不出沒有安全問題的算法嗎?其實不是,而是因為沒有安全問題的算法通常會受困于性能。
舉個例子,一個沒有安全問題簡單乘法運算的消耗量如下:
- 非對稱加解密:1ms級
- 網絡往返:10ms級
- 傳輸耗時:100us級
而這個算法在明文計算其實隻要 0.3ns。這兩者的差距在 5-7 個量級,差距是非常大的。這種耗時膨脹隻适用于非常少的場景,不适合大規模的密态資料中心。
6. 系統實作漏洞
另外,我們還觀察到了一些系統漏洞的問題:
- 軟體層面,有側信道攻擊、記憶體安全、開發的動态反序列化等問題。
- 硬體層面,有分支預測攻擊、微體系結構攻擊問題。
- 供應鍊層面,有 Plundervolt 問題。
這些系統漏洞,會導緻我們依賴系統實作的方案可能存在問題。
--
02
TECC 技術路線
下面介紹 TECC 的主要性質。
1. 可信密态計算 TECC
TECC 通過在多個高速互聯的可信執行環境中運作密碼協定,将兩者有機結合在一起,安全性可抵禦現實攻擊,成本低于一個量級,性能和穩定性接近明文。
它的主要原理是:
- 多個參與方将資料密态拆分,将每個分量傳遞給不同分區的可信計算節點
- 每個可信計算節點隻有分片資料,多個可信計算節點分區通過密碼協定完成目标計算
- 可信計算節點受 TEE、TPM、全棧可信保護,營運這無法窺探
- 密碼協定的同一個角色由一個可信計算節點分區叢集承擔,可以進行并行化加速
2. TECC 整體安全模型
首先營運者是拿不到參與方的資料的,并且參與方是可以知道自己的資料被執行了什麼邏輯的。這是通過 TEE 遠端認證實作的。
從安全性層面,TECC 可以提供三層縱深防禦,形成互補,即可以防禦黑客,也可以防禦 TECC 的營運者。
- 全棧可信,即硬體防竊取的機箱和系統軟體鍊的驗證。阻斷攻擊 TEE 的前提條件。
- TEE,可防禦惡意敵手攻擊、合謀攻擊。
- 密态分片,消除 TEE 的大部分安全隐患。
3. TECC 實作安全性(軟體層)
TECC 的核心代碼是 Rust 語言。采用 Rust 程式設計語言需要一些額外的開發成本,包括注明變量的所屬關系及所屬關系的轉移等。可以避免變量被非預期的代碼通路、以及因為記憶體越界或多線程沖突導緻的安全問題。
對于生态中的非 Rust 代碼,使用形式化的方法進行驗證,確定特定的安全問題不會出現。目前 TECC 的實作已經驗證了記憶體安全問題。
4. TECC 實作安全性(硬體層、供應鍊)
之是以 TECC 是密态的就能緩解一些硬體層面、供應鍊層面的安全漏洞,原因如下:
- 抵消側信道攻擊。正常情況下,側信道攻擊是通過攻擊 TEE 與外界的互動實作的,例如攻擊記憶體總線、電源線,得到位址資訊或者能量曲線資訊,判斷具體的通路位址,例如數組裡的下标等等,進一步推導敏感資訊。但是在 TECC 裡面,最後一步是不成立的,因為 TECC 裡的資料都是分片資料,它是比較長的随機數,不會作為位址和判斷條件出現。那麼拿到位址資訊和判斷資訊,其實無法推導出分片資料,是以無法形成攻擊。
- 抵消分支預測攻擊。正常情況下,分支預測是通過攻擊者操縱輸入,先讓 CPU 多次執行分支 1,然後突然轉向分支 2,這個時候,CPU 超前預測執行時會因為慣性的原因,繼續執行分支 1。這個時候就會造成短暫的攻擊視窗。那麼在 TECC 裡面,因為密态的原因,輸入的資料直接用于密态計算,輸入資料不會作為判斷條件,攻擊是以不成立。
- 緩解微體系采樣結構攻擊。多個 TEE 洩露的分片資料不對應同一個明文,是以攻擊不成立。
- 緩解供應鍊攻擊。将有隐患的 TEE 放到同一個分區,全部淪陷無安全問題。
5. TECC 性能可接近明文
TECC 性能可接近明文的三個原因:
- TECC 對密碼協定的需求僅為“密态資料”,并不需要全功能的密态協定,可采用輕量級的密碼協定。這時候整體的消耗會降低很多。
- 目前常見的内網帶寬高達 25gbps 以上,網絡傳輸不會造成非常大的性能障礙。
- 通過并行化再提升 1-2 數量級,這充分提升了性能。
6. 适用性
适用性的兩個優點:
- 多種安全和成本選擇
- 任意參與方數量、不同資料分割形式,代碼相同。相同邏輯的多種情形,代碼相同,比如 PIR、密态資料庫
适用性的缺點:
- 需要将邏輯密态化。通過提供通用接口相容現有生态,可緩解該缺點。
7. 成本和穩定性
從成本方面看:
- 裝置:膨脹 1 個量級,性能可接近明文。
- 網絡:無額外公網成本。
- 人力:接入、運維、部署成本低。
從穩定性看:無公網互動,穩定性高。
--
03
TECC 實作現狀
1. TECC 隐私機器學習
案例 TECC XGBoost 隐私機器學習訓練,總耗時 16.2 分鐘,召回率和準确率也符合要求。
- 全程密态運算、大運算全部分布式
- 密态壓縮傳輸、傳輸均衡技術
- 有效位精控、多版本比較
2. TECC 密态資料分析
密态資料分析場景是如何的?提供 TECC pandas 接口層,給使用者自定義Python 代碼。
--
04
總結與展望
1. TECC 将與計算生态進行深度融合
這是 TECC 的整體功能,目前基本實作。下一步将要與生态進行融合。将來我們還會做存儲的功能。
2. 總結
TECC 為業界提供了一種新的成本和安全性的選擇,它提供了非常優異的綜合能力:
- 安全:三層防禦,Rust,抵消硬體漏洞。
- 性能:輕量級密碼、内網、并行化,性能是接近明文的程度的。
- 适用性:多種成本選擇、通用算法,适用性稍低于明文,但也還是不錯的。
- 成本:一個量級以内。
- 穩定性:内網互動,是沒有問題的。
目前,TECC 能夠實作 1 小時處理億級樣本隐私機器學習、10 分鐘處理億級行數密态資料分析。
今天的分享就到這裡,謝謝大家。
|分享嘉賓|
潘無窮 博士|螞蟻集團 進階專家
潘無窮,資訊安全博士,螞蟻科技集團進階專家,曾獲黨政密碼科學技術進步獎勵一等獎、密碼學會優秀青年獎,發表論文和專利50多項。
|往期文章推薦|
|關于DataFun|
專注于大資料、人工智能技術應用的分享與交流。發起于2017年,在北京、上海、深圳、杭州等城市舉辦超過100+線下和100+線上沙龍、論壇及峰會,已邀請超過2000位專家和學者參與分享。其公衆号 DataFunTalk 累計生産原創文章800+,百萬+閱讀,15萬+精準粉絲。