對話螞蟻摩斯:多方安全計算與聯邦學習的差異性是什麼?

人工智能目前存在的難題是魚與熊掌不可兼得,也就是隱私性跟可用性難以兼顧。如果想要 AI 系統發揮作用,就可能需要犧牲隱私。但是,在大量真實場景中,如果做不到同時兼顧隱私和可用性,會導致很多 AI 落地的困境。

在安全領域, Facebook 劍橋門事件(Facebook被報道不正當分享其用戶信息來影響美國總統大選的結果)讓很多企業和機構意識到數據隱私安全保護的重要性。過往,多機構數據聯合使用更多是依靠法律層面的合同文書來限制使用方的行爲,一旦出事,再多賠償也無法有效彌補用戶隱私泄露的損失。因此,技術手段是必要的,從技術角度保證數據的多方使用者無法拿到原始數據,無法超範圍使用數據是避免數據泄漏和濫用的有效手段,這也是最近幾年相關技術在市面上影響力越來越高的原因,比如聯邦學習和多方安全計算。InfoQ採訪到了螞蟻摩斯安全計算‍‍平臺研發人員逸昊,瞭解螞蟻集團所使用的多方安全計算與聯邦學習的差異性和技術難度。

多方安全計算是什麼?

隨着 2C互聯網紅利日益遇到瓶頸,越來越多的創業公司走向2B創業。與國外相比, 我國的2B行業尚有很大發展空間。在此背景下,機構之間的互聯合作技術也越發重要,這是實現2B 商業模式的橋樑和基礎設施。

傳統機構之間的合作形態一般是提供方-使用者,即一方是服務提供方,另外一方是服務使用者,他們是上下游形態的商業關係,比如一家在線旅途OTA 公司需要接入酒店預定的服務以優化旅遊體驗,旅遊公司會採購酒店預定服務提供商,技術上一般會使用 Web Service API來連接。

但是,隨着2B應用的深入發展,出現了新型分佈式商業的業務形態,傳統的中心化CS 技術已經不能滿足需要。以金融領域的聯合風控爲例:某銀行要做互聯網貸款業務,不同於傳統的線下貸款,壞賬率對於業務成敗非常關鍵,需要對用戶進行更精準的風控刻畫,但是銀行本身關於用戶的數據是片面和匱乏的,需要和更多銀行、政府等機構進行合作。在此業務中,數據不再由一方提供,整體的風控算法和參數需要多方協同一起完成計算。

在這種情況下,我們需要構建分佈式的商業形態來解決機構合作的信任和數據安全兩大問題。採訪中,逸昊表示多方安全計算是密碼學很重要的一個分支,其作用是在不泄露數據情況下實現協同計算,即讓多方基於共同的數據進行計算得到最終結果,但數據和中間計算結果在這個過程中不會泄漏給任何一方。這裏提到的計算是廣義層面的含義,可以指計算任務、機器學習任務、數據檢索等。

與聯邦學習的差異性

聯邦學習是谷歌於2016年提出的,初衷是用聯邦學習解決中心方(例如谷歌)使用大量手機終端用戶數據建模的問題,其設計目標是保護終端數據和個人數據隱私,終端數據不離開本地的前提下在中心方協調下完成建模。但聯邦學習自被提出之後,其場景範圍越來越廣泛。目前只要是基於多方數據進行聯合建模,且各自原始數據不對外輸出的建模都可以稱爲聯邦學習。實際上業內2000年提出並一直在進行的多方數據機器學習工作都符合聯邦學習定義,谷歌在去年的文章中也承認了這一點。跟之前的這些工作相比,目前的聯邦學習也有其顯著特點,如C端場景爲主、大多依賴中心方、大多采用部分隱私換取高性能的思路。

逸昊認爲,聯邦學習和多方安全計算既有共同點也有區別。雙方場景有共同點,比如涉及多方數據的聯合計算,但多方安全計算不限定是機器學習建模,也可以進行機器學習預測,或者統計分析等;‍‍二者之間的聯繫是很多聯邦學習方案其實用到了多方‍‍安全計算來保護數據隱私,但大多方案只保護了部分數據、部分計算過程,泄露了中間計算結果,只有少數‍‍方案是保護所有數據的整個運算過程‍‍。‍‍

另外,聯邦學習也可能不使用多方安全計算,而是其他隱私保護技術,甚至類似普通的分佈式建模不用隱私保護技術,跟多方安全計算的機器學習相比是犧牲隱私保護的程度換取性能提升、實現簡化。

多方安全計算的應用場景

多方安全計算應用場景很廣泛,不限於機器學習。多方安全計算和聯邦學習在隱私保護程度上的差別使它們在機器學習上的應用也有所區別。

在實際應用中,大多數聯邦學習方案的特點是犧牲部分隱私換取性能‍‍提升。‍‍‍‍這種方式是否合適?逸昊認爲需要結合具體的應用場景來判斷。比如在實際使用中,應用場景是否能夠允許用這種比較弱的隱私保護方案;多方安全計算在應用中的重點是性能是否能夠滿足業務需求,因爲多方安全計算對隱私要求非常嚴格,弱點在於性能上面有損失‍。 ‍‍‍‍

聯邦學習最開始是‍‍谷歌提出來的,起初主要應用在C端,這個場景是非常合適的。‍首先,最終訓練出來的模型是給中心方谷歌的,方案中中心方獲得模型是合理的‍‍。其次,在谷歌最初定義的場景中,數據來源於每個終端,各終端間的數據是同質關係。在聯邦學習裏面通常叫做‍‍橫向聯邦學習,這種情況下的方案一般泄露的中間計算結果是批量樣本的匯聚信息(比如批量樣本的梯度信息),泄露的敏感信息相對較少。

如果是機構之間的合作,就需要根據不同的應用場景進行選擇,比如與上述類似的橫向聯邦學習問題不大。但如果是縱向聯邦,‍‍‍‍不同參與方之間的數據‍‍維度不同,隱私保護上就要特別小心。例如,不少縱向方案沿用了上述橫向方案的思路,模型讓一箇中心方得到或各方都得到部分模型,同時也泄露中間計算結果。在很多2B場景這種模型輸出方式是不可接受的,尤其是訓練敏感的金融風控模型。

多方安全計算的技術難點

在算法方面,多方安全計算涉及的隱私保護技術和算法非常多,其由四大類截然不同的‍‍基礎隱私保護算法組成,還包含一些小類但功能不多的算法。這四大類分別是祕密分享、‍‍混淆電路、不經意傳輸、‍‍同態加密‍,其中又可細分出很多不同的算法,‍‍功能不一,能做的運算不同,‍‍性能優缺點等都不一樣。‍‍通常,對於不同的計算任務,比如不同的統計指標還會有‍‍各種各樣的算法。‍‍‍‍在商業應用中,爲滿足性能和安全性要求,還需要配合使用一些其他技術。‍‍比如爲了滿足安全性要求,還需要配合使用零知識證明算法。要掌握這些算法、靈活組合運用、實現它們以及設計新的算法去滿足業務要求,其實難度很高。‍‍‍‍以螞蟻摩斯多方安全計算平臺爲例,它使用了30多種‍‍隱私保護算法,‍‍且這些算法實現難度很大。不像很多AES、RSA大家非常熟知的通用密碼算法都有成熟的開源庫,螞蟻摩斯用的很多算法大多數是沒有開源庫的,或者開源庫達不到商用要求。螞蟻摩斯用了三年多時間來‍開發和優化,‍‍才最終滿足各種業務要求。

在當前的多方機構數據合作場景中,多方安全計算節點會部署到各個機構,實現“數據‍‍不出域、數據隱私不泄露”的安全合作。那麼,除多方安全計算算法外,異構網絡下的分佈式計算也是一大難度。

在逸昊看來,多方安全計算平臺是一個‍‍分佈式大數據系統,‍‍這個大數據系統與很多互聯網公司或企業內部的大數據系統差別很大:首先這涉及多管理域,多管理域的大數據分佈式拓展是一個難點。‍‍更復雜的是,每個機構的網絡架構不同,網絡安全策略不一,‍‍計算資源和網絡資源都差異很大,‍‍要把整個系統‍‍的性能和可靠性‍‍維持到很好的程度,挑戰很大,甚至還要把各機構之間的節點做到網絡互聯互通。‍‍‍‍

此外,在當前的機構環境下做到遠程部署、維護和升級也是一大難題。‍‍綜上,多方安全計算的技術難點一是體現在算法層面;二是涉及多機構的分佈式系統管理。

人才緊缺

如上文言,多方安全計算的技術難度和落地難度均不容忽視,螞蟻集團從2017年開始對此進行探索,初涉足時同樣面臨着上述問題。逸昊坦言,類似當初業界的AI人才短缺,多方安全計算目前也存在類似問題,以前業界需要密碼人才少,高校培養的密碼學專業的人才就比較少,其中多方安全計算方向的更是少之又少,相信更多人認識這個領域的價值後,這個問題會不斷改善。

未來發展

從安全性來看,爲了簡化問題,‍‍學術界爲多方安全計算定義了一個安全模型,叫半誠實用戶模型,假設‍‍每個參與方‍‍都是老老實實的執行所規定的算法。‍‍一旦假設被違背,數據存在泄露風險。‍‍最近這幾年,學術界越來越多考慮更強的‍‍安全模型,假設參與方能夠隨意做惡、去偏離約定協議的,這種安全模型下的算法在最近這幾年逐漸成熟。螞蟻集團也在進行相關探索,目前已經有大部分功能達到這一強‍‍安全模型要求。‍‍未來是希望可以做到全面支持,這就意味着安全性層面會有較大提升。

多方安全計算技術發展了30多年,但由於它的隱私保護目標很高,性能挑戰大,性能雖然一直在提升,但可提升空間仍不小。以去年的國際隱私計算比賽iDASH爲例。去年有100多支參賽隊伍,不乏谷歌、IBM、微軟、斯坦福、MIT等名企名校,其中多方安全計算機器學習賽道各家方案性能差距巨大,螞蟻摩斯設計的方案最終奪得冠軍,其性能比其餘方案快幾倍到幾個數量級,‍‍甚至比業內隱私保護較弱的聯邦學習都快幾倍。今年,螞蟻摩斯又推出了新版本,性能又提高了數倍,大大縮小了跟本地明文計算系統的運行效率相比,但差距一直在縮小。

螞蟻集團在多方安全計算上的佈局

從技術路線上來看,螞蟻集團佈局的多方協同計算技術不限於多方安全計算,有共識計算和安全計算兩大方向。前者是區塊鏈技術爲代表的分佈式共識計算,以密碼學技術和共識算法爲基礎;後者是以 多方安全計算MPC和可信執行環境TEE爲代表的安全計算,分別以密碼學技術和可信硬件爲基礎。參與計算的數據類型也可以分爲公域數據和私域數據,共識計算主要是解決公域數據的一致性問題,而安全計算主要是解決私域數據計算的數據隱私和輸出可信問題,包含隱私計算和可信計算兩個特性。

  • 共識計算 :面向公域數據,解決多家機構對於賬本、計算 (合約) 的分佈式一致性問 題,最終多個機構對業務過程和結果達成共識,並且單一方不可篡改過程;

  • 安全計算 :面向私域數據,解決機構的數據安全和隱私保護問題,在不泄漏各自數據明細、中間計算結果的情況下僅僅公開最終計算結果。同時更進一步,最終結果也可以是可驗證的。

兩者解決的問題不同,但兩者具備很好的互補性。共識計算不能解決數據的隱私問題,安全計算也不能解決輸入數據造假等信任問題,兩者結合起來纔來兼顧信任和隱私問題。 此外,安全計算技術經常還需結合其他隱私計算技術(例如,差分隱私、零知識證明 ZKP、匿名化和脫敏技術)來使用。

跟MPC和TEE相比,這些隱私計算技術一般不支持多方數據計算,或者不具備可信計算特性,但各種技術都有其特點如下圖,對帶寬和計算要求都不盡相同,目前還沒有“銀彈技術”,需要針對場景選擇合適的技術。

除了單獨應用上述不同協同計算技術,螞蟻集團還靈活結合各種協同計算技術,全方位地保護數據隱私、保證數據可信。螞蟻的產品摩斯就集成上述各種技術,可根據實際場景和客戶需求靈活部署和運用各種技術。

目前,螞蟻摩斯已經服務於各行各業,‍‍典型的應用場景比如金融聯合風控、聯合營銷、聯合科研、政務數據安全計算等。‍‍以金融風控爲例,銀行通過該項技術與合作方做風控,效果提高了25%。‍

作者介紹:

逸昊,來自螞蟻集團‍‍智能科技事業羣,負責參與螞蟻集團摩斯安全計算‍‍平臺研發,主要是多方安全計算的算法和隱私保護機器學習的算法。‍‍‍‍於2017年加入螞蟻集團,過往曾在華爲新加坡研究所、南洋理工大學做過‍‍該領域和相關領域的算法研究工作。

螞蟻摩斯是螞蟻集團旗下的多方安全計算商用平臺,基於多方安全計算、隱私保護、區塊鏈等技術,實現數據可用不可見,解決企業數據協同計算過程中平臺/產品業務的數安全和隱私保護問題,助力機構安全高效地聯合風控、聯合營銷、聯合科研等,驅動業務增長。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章