多方安全計算(MPC)發展脈絡及應用實踐
多方安全計算(Secure Multi-Party Computation)是指在無可信第三方的情況下,多個參與方協同計算一個約定函數,除計算結果以外,各參與方無法通過計算過程中的交互數據推斷出其他參與方的原始數據。作為隱私計算的一種常用工具,多方安全計算在安全性和易用性方面有著天然的優勢。本文梳理了多方安全計算的發展脈絡、多方安全計算的經典應用實例以及多方安全計算的未來發展趨勢,供讀者學習參考。
一、多方安全計算的發展脈絡
多方安全計算起源于1982年姚期智院士提出的姚氏百萬富翁問題:兩個百萬富翁在街頭偶遇,雙方想要知道誰更有錢,但他們都不想暴露自身的資產金額,如何在不借助第三方的情況下,得出誰更富有的結論。
(一)百萬富翁問題經典解決方案
我們假設這兩個富翁為張三、李四,擁有資產分別為:張三擁有300萬,李四擁有500萬。
以上案例中,李四選了財富值對應的盒子并銷毀了其他盒子,張三打開“盲盒”看到香蕉就可以明白,李四比自己更富有。雙方在沒有暴露自身資產金額的情況下,比較出了誰更富有。
對姚氏百萬富翁問題不同的解答方式為多方安全計算技術提供了不同的研究思路。近幾十年來學術界對多方安全計算的研究蓬勃發展,多種技術路線齊頭并進,越來越多的可實用化的理論研究成果相繼出現,為多方安全計算在工業場景下的應用帶來了可能。
(二)多方安全計算的發展階段
多方安全計算的發展可以被分為四個代表性階段:
1. 20世紀80-90年代——理論研究階段
從百萬富翁問題被提出以后,多方安全計算的學術研究開始有少量的論文發表,這些論文主要集中在理論研究層面,驗證不同安全模型下多方安全計算的可行性。這些算法通常效率都比較低,離實用化有著較長的距離。
1978 Rivest[1] 首次提出同態加密這一概念
1979 Shamir[2] 提出門限秘密分享協議
1981 Rabin[3] 提出不經意傳輸協議
1982 Yao[4] 提出多方安全計算協議(解決百萬富翁問題)
1986 Yao[5]提出混淆電路
1987 Goldreich[6] 提出基于秘密分享的MPC
1995 Chor[7] 提出PIR協議
1999 Paillier[8] 提出半同態加密協議
2. 2000-2009年——實驗室階段
隨著協議的不斷改進和計算成本的不斷優化,此時開始出現理論研究與實際問題相結合,并有了一定的研究成果,其中比較著名的是Malkhi設計的多方安全計算平臺Fairplay。
2004 Freedman[9] 提出PSI協議
2004 Malkhi[10] 提出了一個名為Fairplay的多方安全計算平臺
2009 Gentry[11] 提出全同態加密協議
3. 2009-2017年——應用初創階段
這一階段出現了一些成功部署MPC的實例以及一些利用MPC實現隱私保護的應用程序,同時,一些行業巨頭開始在數據市場等領域嘗試使用多方安全計算解決多方數據安全交換的問題。
2009 Bogetoft[12] 丹麥甜菜拍賣
2010 Burkhart[13] 隱私保護網絡安全監控
2016 Doerner[14] 隱私保護穩定匹配
2017 Bestavros[15] 波士頓工資平等研究
4. 2018年-至今——規模化發展階段
由于多個國家和地區發布數據保護法規,導致業界希望用多方安全計算來解決數據使用的合規性問題,相關標準的制定工作也漸次展開,金融、醫療、政務等領域開始關注和嘗試多方安全計算技術。此外越來越多的公司開始關注到多方安全計算領域,多種支持多方安全計算的平臺、框架相繼被提出。
2018年3月 基于TensorFlow的多方安全計算框架開源
(https://github.com/tf-encrypted/tf-encrypted)

2019年6月 谷歌開源多方安全計算 (MPC) 工具 Private Join and Compute
(https://github.com/Google/private-join-and-compute)

2019年10月 Facebook開源多方安全計算框架CrypTen
(https://github.com/facebookresearch/CrypTen)

二、多方安全計算的應用
下面我們簡單介紹兩個多方安全計算經典應用實例及一個業務應用示例,通過這三個應用實例可以看出多方安全計算已經足夠高效,可以在實際場景中應用。
(一)丹麥甜菜拍賣系統
在這個場景中,售賣方是丹麥種甜菜的農民,而購買方只有一個,即丹麥唯一的一個甜菜加工公司。售賣方為甜菜出價,表示他們希望按照這個價格售賣甜菜,但不希望泄漏自己的具體出價。如果常年泄露出價,則其他人就會得知自己的甜菜種植能力和做生意的能力了。
購買方則希望得知市場出清價(即保證供求關系平衡的售賣價格)。因此,他們使用多方安全計算協議,在不泄露售賣方出價的條件下計算市場出清價。

(二)波士頓婦女勞動委員會與企業的合作項目
此項目研究員工性別、種族是否會影響到其實際的工資。合作企業不希望、從法律角度也不能夠對外泄露自己雇員的收入或相關金融類信息,但通過多方安全計算,企業可以在不給出具體數據的條件下計算相應的統計分析結果。

(三)洞見科技金融反欺詐案例
反欺詐是金融風控的重要環節,信貸業務往往面臨著多種欺詐行為,例如偽造身份、盜刷、騙貸等,保險機構也面臨著騙保等欺詐行為。最簡單和最常用的反欺詐方法就是建立反欺詐聯盟,對于聯盟機構的黑名單、多頭借貸、大額保單等風險信息進行共享查詢(見下圖示意)。

但是,出于數據隱私、商業機密以及合規安全等方面原因,各家金融和保險機構并不情愿將上述風險信息主動歸集于某個平臺(例如征信機構),以及提供分布式共享查詢服務。
針對上述問題,隱私計算技術能夠提供一種更為安全可信的風險信息共享方案,消除機構對于數據隱私和商業機密泄漏的擔憂,提高聯合反欺詐的效率。以某征信機構的反欺詐聯盟平臺為例,技術實現如下:
1.反欺詐需求方作為調度方發起MPC計算任務,同步需要查詢的主體身份信息,同時也作為MPC計算節點參與運算;
2.各個金融機構根據主體身份信息匹配本地查詢到的結果,并將此結果作為MPC輸入因子;
3.各個金融機構和反欺詐需求方的MPC計算節點之間,基于MPC協議完成風險信息聚合計算;
4.反欺詐需求方得到最終的風險信息聚合計算結果。

在上述方案中,可以在各家金融機構不泄漏目標主體具體風險信息的情況下完成其在反欺詐聯盟內的風險信息聚合計算。
三、多方安全計算標準與發展趨勢
(一)多方安全計算標準與相關評測
多方安全計算經歷多年發展,現在能成熟應用于隱私計算解決方案中,并且有了一系列技術標準和基于標準的產品評測認證。
在技術標準方面,中國通信標準化協會(CCSA)制定了《基于多方安全計算的數據流通產品技術要求與測試方法》、《隱私計算 多方安全計算產品性能要求與測試方法》、《隱私計算 多方安全計算安全要求與測試方法》等標準;在金融領域,中國人民銀行發布了《多方安全計算金融應用技術規范》(JR/T 0196-2020),中國支付清算協會發布了《多方安全計算金融應用評估規范》(T/PCAC 0009-2021);此外,國際上IEEE標準協會也發布了洞見科技參與制定的首個多方安全計算國際標準《Recommended Practice for Secure Multi-Party Computation》。
各大機構根據以上標準對多方安全計算相關隱私計算技術產品進行認證。現有的相關評測有:工信部中國信通院的多方安全計算產品功能、性能、安全評測;國家金融科技測評中心(銀行卡檢測中心)的多方安全計算金融應用技術測評;中國金融認證中心(CFCA)的多方安全計算產品測評等。
這些標準和評測,進一步推動了多方安全計算技術業界共識形成,加速多方安全計算技術應用落地,降低技術應用各方協作成本。然而,對技術本身來說,未來還有更多提升和發展的空間。
(二)多方安全計算技術發展趨勢
1. 提升系統的精度與性能
目前,多方安全計算的開銷依然遠大于明文計算,計算精度與明文計算相比也會有一定的損失。進一步優化模型框架,提升算法效率以及提升算法的準確率是未來多方安全計算繼續發展的必然方向。
2. 增強系統的易用性
當下在使用一些多方安全計算框架時,需要強大的密碼學團隊作為技術支撐,這限制了多方安全計算的大規模應用。因此,現有可用的多方安全計算框架需要變得更加簡單易用,讓不懂密碼學技術的人員也能輕松使用。
3. 提升系統的安全性
現在一些多方安全計算框架只能支持半誠實安全模型,對惡意模型或共謀模型等無法提供防御。在現實使用場景中,惡意攻擊以及共謀攻擊是常見的攻擊類型,只有提升現有框架的安全性才能更好地符合實際應用需求。另外,多方安全計算在理論角度保證了計算安全性,但在應用層面,輸入既定計算邏輯輸出計算結果,存在根據計算結果和己方數據推測其他參與方的數據方面的安全隱患,這也是未來系統需要解決的安全問題。
4. 多技術融合趨勢
在多方安全計算實際應用中,通常會融合其他隱私計算技術,以此來平衡隱私計算產品的精度、性能和安全。單一的技術路線無法完全應對復雜的計算場景及不同量級的計算規模,現在隱私計算行業較多地將多方安全計算與聯邦學習、可信執行環境等技術相融合,形成綜合應用方案或軟硬件一體方案,來適配不同計算場景和應用要求。
盡管多方安全計算技術存在提升空間,但作為隱私保護的主流技術之一,多方安全計算已經在政務、金融和醫療等領域都有了可復制的標桿案例,總體的實用性和安全性經過了實踐驗證。未來,多方安全計算技術應用需要政策法規進一步引導和統一的標準規范,促進隱私計算行業健康有序發展。