|0x00 什么是安全多方計算
多方安全計算最近很火,不僅是因為歐盟出了一個資料隱私法規《通用資料保護條例》(General Data Protection Regulation,簡稱GDPR),也在于存量市場競爭下,大家都有了更多資料合作的場景,例如:兩家公司都有一份用戶資料,但不想讓對方知道自己的用戶是誰,但又想知道自己的用戶跟對方的用戶,有多少是重疊的,這時候我們通過怎樣的演算法,才能讓自己用戶資訊不泄露的情況下,獲得自己想要的結果?
安全多方計算起源于著名的“百萬富翁”問題:有兩個富翁想比較一些誰更富有,彼此的財產都是0-10之間的整數,問如何在不透露自己財產的情況下,比較誰更富有?
有人提出一個解決方案:找一個天平,兩邊各放上一個封閉的盒子,讓富翁在盒子里放上等重的蘋果,有多少財富,就放幾個蘋果,最后看哪邊重就行了,很簡單,
真的簡單嗎?
這個方案有一個很致命的問題,就是天平是誰來提供的?試想這兩個富翁,如果兩個人沒有共同信任的第三人,那么這個問題要怎么解決?天平的提供方會不會同時知道兩個人的財富?如果天平不是公平的,那么什么才能保證公平呢?
這里面就涉及到了一個非常關鍵的問題:“可信第三方”,這個問題雖然簡單,但解決起來很復雜,
在1982年,姚期智先生在其發表的文章《安全計算協議》里,提出了“安全多方計算”(英文:Secure Multi-Party Computation)的概念,來解決這個問題,研究的主要內容,是針對無可信第三方的情況下,如何安全地計算一個約定函式的問題,
作為密碼學的一個子領域,“安全多方計算協議”允許多個資料所有者在互不信任的情況下進行協同計算,輸出計算結果,并保證任何一方均無法得到除應得的計算結果之外的其他任何資訊,換句話說,各方的輸入資料只有自己知道,通過一種加密的演算法,讓各方得到自己想要的結果,
隨著用戶隱私、資料安全的問題被越來越多的重視,“安全多方計算”也就越來越火熱了起來,為解決資料孤島問題,打破資料在行業、企業間流動的壁壘,提供了一種技術上的實作思路,
|0x01 多方安全計算有哪些演算法
主流的多方安全計算,目前有四種實作方式:
- 第一種是“混淆電路”,又稱姚氏電路,這是一種密碼學協議,歷史非常悠久,1986年由姚期智教授提出,核心是將安全計算函式編譯成布爾電路的形式,
- 第二種是“秘密分享”演算法,因為電路設計總是非常復雜的,因此通過簡單的數學思路將這個問題簡化,“秘密分享”演算法的基本思路是將每個數字拆散成多個數,并將這些數分發到多個參與方,每個參與方拿到的都是原始資料的一部分,只有大家把各自的資料湊在一起時才能還原真實資料,
- 第三種是“同態加密”,同態加密是指這樣一種加密函式,對明文進行加法和乘法運算再加密,與加密后對密文進行相應的運算,結果是等價的,由于這個良好的性質,人們可以委托第三方對資料進行處理而不泄露資訊,
- 第四種是“茫然隨機訪問機”,英文是“ORAM”,一種可以用來完全隱藏IO操作的資料加密方案,完全消除了記憶體訪問軌跡中的資訊泄漏,除了交集外的雙方集合的任何元素不會被泄露,
以上演算法都可以在網上搜到,這里就不展開講了,其實還有一些其他的方法,比如差分隱私,有興趣的可以自行搜索,
但不論是哪種方法,最終目標,都是在保護資料隱私的前提下,盡可能的提升計算性能,并提供更加豐富的資料加工手段,
|0x02 多方安全計算的特點
多方安全計算的特點是什么呢?簡單講,有三種:
- 去中心化:多方安全計算各個資料的輸入方,在不泄露各自資料的情況下,完成相應的計算,各參與方地位平等,不存在任何有特權的參與方;這個原理與區塊鏈的理念比較類似,避免了大型的中心化節點,也就防止了資料被幾家巨頭所壟斷,而資料的擁有者成為了資料交換的主體;
- 計算高效:過去復雜的密碼學策略,并不適用于海量資料,但隨著近年來越來越多的人參與進來,提升了相關演算法的效率,使得一些演算法的復雜度能夠達到線性,已經能夠適應當今大資料的海量計算需求;
- 輸入隱私:多方安全計算包括了很多種型別的加密協議和演算法,基于不同的加密學原理而得到,詳情見|0x02,理論上,安全性與我們熟悉的加密演算法,沒有什么不同,
自2018年后,工業界已經能夠在海量資料的場景下,解決資料的隱私保護為題,這是一個非常明確的轉折點信號,國家可以通過這項技術,來真正落實個人的資料隱私問題,歐洲的GDPR、中國的密碼法、美國加州的CCPA,也都是在這種背景下誕生的,
|0xFF 多方安全計算的應用場景
首先,多方安全計算最重要的應用場景,就是個人隱私了,大量的互聯網服務都需要個人的隱私資料,這都需要隱私演算法來完成對個人的保護,
其次,不僅是企業內部需要解決資料互通的問題,各個政府、大企業之間,也有資料互通的需求,但也都互相需要進行相應資料的保密,過去因為技術問題,被動導致了很多“資料孤島”問題,隨著今天多方安全計算的發展,已經能夠得到解決了,
再次,即便是企業內部,也存在資料泄露的風險,自己人權限設定不當,很容易導致企業自己的核心資料泄露,而多方安全計算能夠將原始資料加密,即便你拿到了資料,也無法破解,
當然,多方安全計算的性能,畢竟還是存在局限的,需要消耗更多的機器算力來支持,這對于成本也是一種巨大的挑戰,
不管怎樣,我們還是要適應GDPR以后的互聯網行業,資料隱私問題將會長期受到關注,而懂一些資料安全演算法,很有必要,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/252725.html
標籤:區塊鏈
