五分鐘技術趣談 | 隱私計算之安全多方計算
Labs 導讀
隨著5G技術的加速發展,我國的各個產業逐步進入數字化轉型階段。日益增長的數據作為數字時代的核心生產要素,對社會和企業的價值越來越重要。然而,在數據流通與共享的過程中卻存在數據泄漏的風險,數據安全和隱私保護問題愈發被重視,國家逐步完善管控制度,先后發布《數據安全法》,《網絡安全法》,這也意味著數據安全不容忽視。那是否有一種技術既可以保護用戶的個人數據不被濫用,同時又能滿足各行各業“實現數據共享,打破數據孤島”的需求呢?隱私計算在這種情況下應運而生,而安全多方計算作為隱私計算中最成熟的技術,是如何讓隱私計算逐步進入實用化場景的呢?本文將深入淺出的做一個介紹。
數字化轉型時代
企業對數據的渴求越來愈大
數據的價值越來越高
然而
數據流通和分享過程中
被泄漏的個人隱私數據也不在少數
【數據隱私】成為網絡熱詞
......
有沒有一種技術
能保護數據的私密性
又讓數據產生價值呢?
隱私計算或許就是一種選擇
本期Labs帶大家認識下隱私計算
以及隱私計算中的安全多方計算的那些事兒
Part 01什么是隱私計算
隱私計算(Privacy compute)是一種由多個參與方聯合計算的技術,參與方不需要泄漏各自的數據就能夠協作計算,聯合分析得出想要的結果。與傳統的數據協作相比,隱私計算提升了數據流通與分享的安全性,可以讓原來不愿意或者不敢于開放的數據,在隱私計算技術下得以開放;讓原來脫敏開放的數據,借助于隱私計算技術實現原始化數據的開放。各個行業能夠借助隱私計算打破數據孤島,促進數據的融合使用。
- 分支
隱私計算涉及到多方技術的融合,目前主流研究分為三個方向:
1、基于協議的安全多方計算:歷史最悠久,積累了大量底層的安全技術,其他兩個方向都或多或少用到了安全多方計算的底層技術,是我們今天討論的重點。
2、基于現代密碼的聯邦學習:后起之秀,結合密碼學和分布式計算實現了多方協作的機器學習,未來主要應用于人工智能領域。
3、基于硬件的可信執行環境:不同于前兩種軟件技術,可信執行環境是通過硬件技術對數據進行隔離保護的。
下圖展示了隱私計算的一個整體架構:
Part 02隱私計算下的“加密主軍”
- 起源
安全多方計算起源于姚明智教授提出的一個有趣的問題:
有兩個百萬富翁Alice和Bob,他們想比一比兩個人誰的財富更多,但是由于財產是比較隱私的問題,因此兩個人都不想向對方透露自己有多少財富;并且他們也不信任任何第三方。在這種前提下,該如何解決這個難題呢?
為解決這個問題,姚明智教授提出構建一種模型:在無可信第三方的前提下通過一個約定的函數,進行協同計算得到自己的計算結果,并且無法通過交互數據推測出其他任意一方的輸入和輸出數據?;谶@個模型,發展出的密碼學基礎理論后來經過技術人員的設計和運用逐步成長為安全多方計算。
- 組成
安全多方計算不是一種單一的技術,它是由一系列技術組成的集合,這些技術能幫助數據參與方在不泄露己方原始數據的前提下獲取到需要的整體數據信息。通用組成結構有以下兩層:
支撐技術層
支撐技術層作為底層結構提供了最基本的一些加密解密算法,構筑了安全多方計算的基礎。包括hash函數、密鑰交換、同態加密(Homomorphic Encryption)、偽隨機函數等,此外還包含安全多方計算中的基礎工具:秘密分享(Secret Sharing)、不經意傳輸協議(Oblivious Transfer)、不經意偽隨機函數(Oblivious Pseudorandom Function)等;
專用算法層
專用算法層是利用支撐技術層構建的安全多方計算協議,包括專用算法和通用框架。專用算法是指為了特殊問題所構建的特殊算法,效率較高,包括了四則運算,比較運算,矩陣運算等;通用架構是指可以滿足大部分需求的隱私計算邏輯,雖然效率相比專用算法較低,但是適用范圍更廣。
- 技術手段
秘密分享
秘密分享算法能夠將數據拆解成幾個沒有意義的數字,分發給多個參與方。每個參與方拿到數據的一部分,并且用這部分數據參與計算。這樣既保證了各個參與方無法還原出原始數據,又能得到正確的計算結果。我們以計算平均工資為例,A,B,C想計算一下他們的平均工資,但又不想暴露自己的薪資,用秘密分享可完美解決這個問題,具體看下表:
假設A工資10萬,他把自己的薪資信息拆分后,分發給了B(3萬)和C(5萬),B和C進行相同邏輯拆分,最后這些秘密分享的數據共同計算得到了正確結果。
不經意傳輸
不經意傳輸指數據發送方有N個數據,數據接收方請求接收一個數據,發送方收到請求后隨機發送一個數據,并且自己并不知道發送的是哪個數據。這種方法保護了被選擇之外數據的隱私性。
混淆電路
混淆電路將安全多方計算當做布爾電路進行處理,每一路的計算都進行加密,并且打亂加密順序達到混淆的目的。基于混淆電路技術可以構造出通用的安全多方計算協議。
同態加密
同態加密是指每個參與方的輸入數據首先經過同態加密算法之后再給到計算方,計算方在本地進行解密并計算。在返回計算結果時,同樣進行加密處理。參與方拿到計算結果后進行解密得出目標數據。同態加密的類型分為加法同態,乘法同態,全同態加密三種。
Part 03安全多方計算實用場景
醫療領域:安全多方計算在醫療領域的應用可以為原來相對封閉的醫療數據參與方建立起安全可信的數據交換網絡,如當前全國正在著力推動的全民病歷互通,在各個醫療機構針對用戶病歷進行共享的時候,安全多方計算可提供一種可靠,安全的方式構建一個交換網絡來保護用戶病歷數據的隱私性,從而實現醫療數據價值的最大效用
金融領域:安全多方計算支持的本地數據采集,秘密分享,多樣化的協調計算能幫助金融機構將用戶征信數據分析范圍從單純的金融信貸數據擴展到醫療,保險,交通等領域,獲得更完善和精準的用戶信用畫像
營銷領域:安全多方計算在移動家庭業務營銷中已經得到了運用。基于已有的大數據分析基礎,安全多方計算為家庭業務營銷提供了一種保護數據隱私的營銷方案:利用隱私數據求交集運算去判斷用戶畫像和消費意愿,只有交集部分用戶能夠被需求方獲得。這個方案能在保護用戶隱私信息的前提下判斷用戶的購買意愿和風險承受能力,達到改善用戶體驗和拓展市場的目的。
作者:李佳斌,單位:中國移動智慧家庭運營中心