蚂蚁资深算法专家周俊:从原理到落地,支付宝如何打造保护隐私的共享智能?...
中生代技術
鏈接技術大咖,分享技術干貨
全文:6000字
隨著互聯網技術發展,人們對于隱私保護的要求不斷提升,世界各國紛紛都出臺法律法規保護人們的隱私。前段時間我國發布了《民法典》,明確了個人隱私權和信息保護的辦法。而這對于數據時代的技術提出了更高要求。
?
本月初,螞蟻資深算法專家周俊在2020年AI開發者大會上,分享了支付寶如何利用共享智能技術保護數據安全與用戶隱私,我們將內容整理分享給大家。
?
背景介紹
在金融服務當中,核心三要素是場景、數據和智能化,在場景里面有大量微貸、保險、支付、財富等等相應金融場景,由于海量用戶跟場景有大量的交互,所以會形成大量的數據。
?
在金融場景里處理海量數據里面臨幾項大挑戰:
?
第一是對時間敏感,用戶隨著時間在金融場景下的興趣會發生比較大的變化。
?
第二由于交互量很大,所以會沉淀下來非常多的數據,并且數據跟傳統電商不太一樣,由于金融業務多樣化,有支付、保險各式各樣的服務,帶來數據本身也有很大多樣性。并且金融場景是互相聯系的,要想解決保險、支付、微貸等問題,必須站在更高角度,給出系統性的解法。
?
最后是安全和隱私,安全跟隱私是整個金融服務邁向智能時代最關鍵核心的技術,有了對安全和數據隱私理解之后,才能夠給大家提供更好金融智能服務,才能將普惠金融服務更多的人。
?
當前,各家企業與機構都積累了大量的數據,但是由于政策與技術的原因,數據無法打通,形成了一個個的數據孤島。打造開放平臺、共享數據、創造更大價值成為了很多互聯網企業的一個迫切的需求。但是,開放平臺的建立需要解決以下幾個難點:
?
第一,數據共享在引入巨大價值的同時,也存在泄露的風險。比如說國外社交網絡巨頭5000萬用戶數據隱私泄露事件,告訴我們如果數據共享鏈路不安全,會帶來巨大的風險。
?
第二,公眾和政府對隱私保護和數據安全重視程度越來越高,所以歐盟GDPR法律正式實施之后,有很多國家紛紛效仿,立法保護大家的隱私。
?
第三,對于整個金融科技行業而言,怎么樣設計滿足安全、隱私和新監管要求下的模式,是擺在所有科技行業從業者面前一道難題。
?
作為一個科技公司,我們迫切希望能有相應的技術承擔社會責任,能夠給到用戶更好、更安全的隱私保護技術,從而給用戶提供更好的服務。
?
?
從技術角度來抽象我們遇到的問題,則是:如何讓各自擁有數據的雙方或多方機構,在不泄露數據隱私的前提下,進行數據融合建模?
?
在建模里主要有兩個大場景,一是水平切分,多個數據方之間特征空間是一樣的,每個數據方持有不同的數據。二是垂直切分,數據方持有不同特征空間,每一小塊都是完整的多維空間。水平切分主要出現在面向C端用戶的場景和一些圖像、語音數據的場景,而金融機構之間的合作,則往往以垂直切分為主。
?
怎么樣達到水平切分和垂直切分情況下構建安全保護隱私聯合建模方案呢?我們希望達到三個目標,第一隱私數據不能出域,第二模型隱私不能泄漏,第三中間交互信息不能反推隱私信息。
?
這里面臨很大挑戰,首先隱私保護機器學習是交叉學科,它面臨著又要懂機器學習、密碼學,還要對工程系統有更好理解才能打造夠工業界的系統。第二,這對工業界來說屬于比較前沿的方向,可借鑒的工業級方案非常少。第三,對于工業界追求安全和效率有一個平衡,這樣才能更好處理海量用戶和海量數據。
螞蟻共享智能主要技術
我們提出的方案是共享智能隱私保護解決方案,它需要解決問題是多個參與方,并且每個參與方跟數據方不是信任情況下,能夠聚合多方信息進行數據分析和機器學習等AI運算,并且能夠確保各個參與方之間隱私不能泄漏、數據不能濫用。涉及主要技術包括可信執行環境、安全多方計算、差分隱私等技術。
接下來看一下技術主要涉及一些技術點,首先是差分隱私,差分隱私這個技術提出來時間不短了。顧名思義,差分隱私主要是用來防范差分攻擊,即攻擊者對數據庫進行多次略有差異的查詢來推測出原始數據的信息。差分隱私的目標,就是讓攻擊者在相似數據庫上的查詢結果難以區分。那么最常用的方法,就是對結果添加噪音。噪音的強度,可以通過需要隱私保護的級別計算得到。隱私保護級別越高,添加的噪音就越大,對結果的擾動就越大。
?
差分隱私可以有效地保護計算結果的隱私,但是對于多方聯合計算過程中的隱私保護,還需要用其他的技術。
?
?
共享智能第二項技術是可信執行環境,它是基于硬件的解決方案,主要解決兩個大的問題,一個是內存窺探和軟件篡改問題,通過內存中開辟加密空間,稱為飛地(Enclave)保護來自虛擬機、操作系統和惡意程序的攻擊。其次為了確保軟件篡改涉及遠程認證RA機制,確保在這里執行程序是經過用戶認證和授權的程序,通過密碼箱飛地的設計,可以在這里完成大量的保護隱私計算。
?
?
第三項是多方安全計算技術,包括秘密分享、同態加密和混淆電路。用的比較多的有兩個,一個是秘密分享,秘密分享通過原始數據隨機拆分,得到密態數據之后,多方協同密態下面進行計算,之后得到相應計算結果,整個優勢是計算復雜度比較小,因為有大量密態數據交互,所以網絡通訊比較大,同時需要多個參與方參與。
?
第二同態加密,在密態下面對密態數據進行加密,在密態下面進行計算得到結果,跟明文下得到結果是一樣的,通過這樣一個原理來實現密態下計算得到相應結果,相對來說計算復雜度要大,因為加減密計算復雜度是非常高的,但是網絡通訊相對比較少,因為中間只需要單次通訊就OK了。
?
這兩個技術中間有很強的安全性和封閉性,安全性是這里沒有任何信息泄漏,可以很好進行復合運算。
共享智能實施架構概述
介紹完前面背景信息和主要技術之后,我們看一下共享智能怎么實施,怎么用技術解決前面提到的核心問題。
?
基于TEE的共享智能
首先是基于TEE共享智能,首先利用SGX搭建分布式的TEE可信計算環境,里面有相應計算模塊和認證模塊,各個參與方之間相應的數據密文傳到可信計算環境中完成分布式的計算。
?
這里面有幾個關鍵技術點,怎么樣搭建出來可信異構計算集群,第二怎么在可信計算環境實現各式各樣機器學習的框架,從而達到實現機器學習的完整工作流。它的優勢是集中式部署,所以部署計算效率相對比較高,第二安全性比較高,即使集群里存在惡意的服務器也有比較好的防護能力,并且支持所有算法,這是TEE共享智能的優勢。
?
?
如何搭建TEE可信集群呢?我們的目標是對普通用戶提供和單機一樣的可信執行環境,通過原來方式進行管理,將數據通過認證方式傳到可信執行環境進行相應計算。里面有幾個點,一是密鑰同步中心,通過密鑰同步中心用戶只需要和同步中心做認證,由同步中心完成集群中其他節點的認證,而不需要用戶自己與集群中所有節點做認證。第二,Kubernetes云原生技術,可以很好的實現負載均衡、故障轉移的機制,使得可信執行環境本身具備負載均衡,動態擴縮容特性,從而更好支持復雜計算和大數據計算能力,有了復雜計算和大數據計算能力,從而更好實現各式各樣分布式AI計算能力。
?
?
有了可信計算環境之后,我們看一下怎么實現大規模分布式XGB的算法。在上圖中,首先數據提供方通過兩個飛地將數據傳到可信計算集群里,在集群里對XGB進行了相應的改造,一是所以模型訓練的計算都在飛地中完成,保證計算時數據安全;第二飛地之間的通訊通過TLS進行加密,保證了通信的安全;第三對飛地中的內存訪問做了Oblivious加固,以防御側信道攻擊。通過這樣方式得到分布式XGB模型,在模型發布的時候同樣通過權限控制方式,使模型發布也是安全的。
?
所以從數據提供到訓練最后到模型發布,整個端到端的過程都是高安全的。我們通過構造了分布式可信質量空間跟算法進行加固之后,使得大規模數據在這樣一個框架里可以實現多種機器學習算法,比如神經網絡等方法都可以,同時因為中間每一步都進行了安全加固,所以整個過程是安全可信的。
?
基于MPC的共享智能
第二是基于MPC的共享智能技術,它主要通過多個協作方之間傳遞隨機數和加密數的方式完成神經網絡或者模型構建,所有模型本身都是加密,在密態計算空間完成計算,主要會涉及秘密分享、同態加密和混淆電路等技術。
?
這里關鍵技術是密態存儲和計算,并且確保這些機器學習算法的安全性,不會泄露信息,在確保安全性之后高效實現大規模深度學習算法。它的優勢是數據不需要出域,安全性非常高,這里由于算法復雜度比較高,對于加密函數的性能消耗是非常高的,部分實現難度也很大,因為party A和party B都需要進行部署,降低部署成本也是需要解決的問題。
?
?
為了解決這個問題,我們搭出了這樣一個架構。主要分了這么幾層,最底層是密碼學的原語,通過秘密分享、同態加密、混淆電路密碼學的原語,同時對底下密碼學原語進行了工程效率優化,使得原語本身有更高的效率。基于密碼學原理之上,測算出來像矩陣加法、矩陣乘法、數值比較、安全求交的安全算子層,在這之上通過DSL的分裝提供了類似Python語言給算法層實現類似于線性模型、樹模型、深度模型和圖神經網絡先進模型,從而更好利用底下三層能力,實現安全版本保護的隱私學習。
?
?
我們來看一個具體神經網絡的例子,業界在這個問題上主要有兩種做法。一種稱為安全神經網絡,這種方法把訓練數據轉成密態存儲,所有的訓練過程都由密態完成,這個方法當然很安全,但是計算效率非常低,不具實用性。另一種方法稱為拆分學習,這個方法是數據提供方基于自己的數據單獨訓練幾層網絡,之后集中到一個中心化節點上做后續網絡的聯合訓練,這個方法雖然效率高,但是由于淺層網絡由數據提供方自己訓練,無法聯通全局數據,所以在模型效果上大打折扣。
?
我們提出的基于共享智能的神經網絡學習框架方案能夠更好保護隱私,并且效率也比較高,在安全、效率、效果之間取得比較好的折中。
?
具體方式是,數據擁有方之間通過多方計算能夠更安全計算出一個中間結果,對這個中間結果能夠比較好實現特征之間交互,有了特征之間交互放到一個服務器上,進行隱層相關計算。
?
我們提出了基于對抗學習的防御機制。該防御機制目的是讓數據擁有者自己訓練一個防御者模型,目的是模擬攻擊者的行為,即盡可能的訓練一個模型用于恢復出各自的輸入,如上圖所示。基于這個框架能搭出DNN、CNN、RNN、GNN等深度學習的模型,并且也有多篇高質量頂會論文產出,有了這個框架之后能夠更好實現隱私保護神經網絡。
?
?
前面講了MPC下共享智能主要依賴于混合協議密態計算,怎么設計出來更高效的混合協議密態計算呢?這是我們設計出來相應密態計算協議框架,相對已經有框架如ABY框架,一是比較靈活,可以在同態加密和秘密分享之下進行相應轉換。第二比較高效,提供DSL的語言提高開發效率,自動進行轉換,不需要關注在哪個協議進行轉換,這樣算法開發同學可以很好屏蔽密態計算特性。第三,給出算法分析和證明,有了這樣一個設計之后能夠很好支持各式各樣機器學習的算法。
?
?
介紹完共享智能技術架構進展后,下面來介紹一下共享智能在技術影響力方面的一些進展。
?
首先是專利方面,今年5月份第三方機構發布全球新興隱私技術發明專利數量,可以看到阿里巴巴加上支付寶有419個專利,共享智能團隊貢獻了其中的165個。同時,這兩年共享智能受到中國計算機協會、世界人工智能大會等專業機構、權威學術團隊和科研機構的認可,在國際標準和聯盟標準,以及國家層面取得相關認證,讓技術更好地在行業落地。
?
共享智能落地案例探討
在過去幾年,共享智能在多個實際項目中得到應用。在共享智能業務落地的用戶關注點方面,比較TEE和MPC的訓練和預測方案,可以看到它們各有優劣。在用戶感受到的安全感方面,MPC方面數據不用出域,安全感更強,但在成本、性能和功能方面,TEE方案的表現要比MPC方案更好。
?
在我們的實踐過程中發現,TEE和MPC在同一個項目中可以做一些結合。比如用TEE訓練接MPC預測,可以降低前期評估成本;用TEE為MPC加速,可以提升MPC的性能;甚至我們還可以把MPC協議放到TEE里執行,可以進一步的提升安全等級。通過選擇不同方案,可以給用戶提供更安全,成本更低,性能跟效果更好的隱私計算方案。
?
?
在具體案例方面,首先介紹一下共享智能×中和農信案例。中和農信是中國農村做普惠金融最大機構之一,主要服務比較偏遠山區的農民,大部分農民以前沒有享受過金融服務,我們通過中和農信希望能夠讓它服務更多偏遠山區農民。
?
原來傳統方法是讓信貸員通過線下信貸走訪方式,去收集信息,然后去判定這個用戶是不是應該享受這個服務,這種方式人力成本高、速度比較慢,一個用戶大概需要花一個多月時間才能看能不能得到服務,同時可拓展范圍比較有限。
?
通過共享智能的技術,能夠讓金融服務從原來一個月降到5分鐘,同時違約率大幅下降,使更多農民在家里就能夠更好享受普惠金融農村服務。
?
第二個案例,是江蘇銀行使用MPC共享智能聚合雙方信息,提供更好聯合模型改進模型的性能,使得合作方能夠更精準判定給予更好的決策結果。
?
?
第三個案例是聯合風控,將螞蟻安全能力通過共享智能分享到外界,能夠將風控模型量化策略和實時計算能力通過跟外部機構進行共建模型、共建樞紐、共同決策的方式,提高風險管控的效率,在反欺詐、虛假交易、團伙作案打擊上面提供更有效的方式,使得生態伙伴能夠有更強的能力。通過共享智能聯合風控方式使得雙方平均交易額,每可以新增1500萬以上,并且整個風險防控性能準確率提升30%以上,月均資損率降低90%,通過這樣技術方案將螞蟻安全能力提供給全社會、整個行業,讓整個行業更好利用螞蟻安全能力構造更安全、更加好的服務。
?
共享智能未來展望
對于共享智能的未來,我們的愿景是,讓共享智能成為未來數據共享的基礎設施。
?
?
我們希望能搭建出來一張數據或者信息網絡,通過多方安全計算、差分隱私、可信執行環境的技術,能夠比較好將各式各樣數據商、保險商、傳統金融機構等,還有政府機構等各式各樣的數據連通起來,能夠更好保護隱私和數據安全,同時將數據聯合起來獲得更好的智能化效果。
?
有了數據網絡之后,在這基礎之上提供幾個大核心能力。一是共享分析BI能力,我們知道AI預測之前,需要做數據處理、數據分析、自動建模等等相關操作,我們希望這樣操作能夠含在共享分析技術里面,通過安全版本生命周期,提供給數據分析方,讓他們在不感知比較復雜密態隱私技術情況下,能夠很好進行共享分析。有了BI能力之后,能夠更好構建模型,不怎么損失模型精度,同時能更進一步提升模型速度。我們希望通過密碼學、工程系統的研究以及算法優化,能夠使得整個過程中AI能力能夠更強,更友好高效提供給外部合作方。同時在信息融合方面,我們希望能共建共享圖譜,將用戶積累下來經驗、知識沉淀下來,產生更高效、更準確、更能保護隱私的知識圖譜。
?
通過共享平臺,我們可以更好服務業務。包括今天已經在做的聯合風控、聯合營銷、聯合政務、聯合醫療等。能夠解決社會民生中的一些核心棘手問題。
?
在技術側,我們希望通過DSL+編譯器,能夠讓算法同學研發更加高效,讓很多AI算法通過DSL和編譯器直接轉成安全版本的AI技術,使得開發效率進一步提升。在接入成本上面,我們希望通過更好產品化,統一化運維部署,降低成本,讓整個產品迭代更快、運維成本更低、一鍵部署能力更強。計算能力上面,希望在算法、工程、協議三者協同優化,使系統的計算方面有進一步的提升,使能力更完備,我們希望讓隱私計算AI能力跟明文計算AI能力一樣,甚至做得更好。
?
業務側我們希望跟更多機構合作立下標桿,并且建立共享智能技術聯盟,能夠更好的應用和分享共享智能技術,同時期望能夠收到更多反饋,形成正向循環,從而推動相應標準的建設。同時在規模層面,和相關機構進一步合作,擴大技術應用規模,實現共享智能成為未來數據共享的基礎設施。
-?END?-
推薦閱讀
阿里巴巴閑魚架構負責人王樹彬:萬億交易規模技術架構實踐2020-09-05
58轉轉技術總監駱俊武:監控系統選型?必讀本篇!2020-09-04
螞蟻集團高級架構師郭援非:分布式數據庫是金融機構數字化轉型的最佳路徑2020-09-03
平安銀行吳建峰:RocketMQ 在銀行的應用和實踐2020-09-01
阿里高級技術專家張建飛:應用架構分離業務邏輯和技術細節之道2020-08-31
知道創宇總監姚昌林:敏捷開發-如何打破研發交付過程中的“墻”2020-08-28
天弘基金首席架構師李鑫:微服務接口限流的算法及架構實現2020-08-25
阿里P9專家右軍:大話軟件質量穩定性2020-08-03
阿里高級技術專家邱小俠:微服務架構的理論基礎 - 康威定律2020-05-09
阿里技術專家三畫:如何畫出一張合格的技術架構圖?2020-03-16
阿里高級技術專家簫逸:如何畫好一張架構圖? 2020-09-07
? ?END ? ?? #接力技術,鏈接價值# 點分享點點贊點在看
總結
以上是生活随笔為你收集整理的蚂蚁资深算法专家周俊:从原理到落地,支付宝如何打造保护隐私的共享智能?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图解 Kafka,看本篇就足够啦
- 下一篇: hdu - 4027 Can you a