蔣凱元
(國家公共信用信息中心 北京 100045)
在數據作為生產要素的大背景下,數據安全治理成為數字經濟發展的重要前提和保障[1].為了提高數據安全能力,建設數據健康生態,各類專家學者探索和研究了不同的技術路線.多方安全計算由于其較高的理論價值和廣闊的應用前景,成為近年來密碼學界乃至科技行業的研究熱點,國外研究團隊將多方安全計算與云計算、大數據等技術結合進行研究探索,并嘗試商業化落地.
傳統的安全計算是指能夠對數據進行計算同時還能保護數據隱私的計算方式,常用的算法有差分隱私、同態加密等.而多方安全計算由我國的姚期智教授在1982年首次提出,它主要研究的問題是如何在無可信第三方的情況下設計一個函數,可以讓多方在不透露任何信息的前提下安全地得到輸出.多方安全計算的組成利用了許多密碼學知識,如零知識證明、數字簽名等,也利用了分布式計算原理,如廣播問題和Byzantine問題.但多方安全計算與傳統的密碼學、分布式計算之間又存在很大差異.
文獻[2]研究了多方安全計算特定應用場景的匿名化認定,分析了目前匿名化與去標識化相關規定在適用上可能面臨的問題,并從個人信息保護與數據流通的角度,對匿名化與去標識化及其相關規定提出建議.文獻[3]構造了一個安全計算集合成員關系問題的多方協議.通過將判定集合成員關系問題轉化為范德蒙行列式求值問題,該協議解決了已有研究成果中集合階數的泄露問題,提高了安全性.
為了設計安全的多方計算(multi-party computation, MPC)協議,人們進行了許多研究,如不經意傳輸、亂碼電路、同態加密和線性秘密共享方案[4].安全的MPC提供了增強的隱私性、正確性和輸入的獨立性,并保證了輸出的交付.區塊鏈非常適合安全的MPC協議,因為它們都處理分布式環境中的安全和信任問題[5-6].利用基于區塊鏈的安全MPC受益的實際場景很多,如健康數據統計分析、匿名電子投票、首次公開發行(IPO)和邊緣計算等[7].許多研究人員一直嘗試將安全MPC與區塊鏈結合起來處理隱私和信任問題.Zhou等人[8]使用同態加密、秘密共享和零知識證明構造了一個公開可驗證的安全MPC協議,該協議由2部分組成,主要包括鏈上計算階段和鏈外預處理階段,并將該協議作為鏈碼的一部分集成,以此保護交易數據的隱私.
多方安全計算早期用于電子選舉、門限簽名、電子競拍等場景.隨著研究的深入,現已拓展至面向分布式場景的協同計算,包括隱私信息查詢、計算預測、聯邦機器學習等,并且在政務、醫療、金融等領域具有廣闊的應用前景.例如,2019年8月,谷歌(Google)開源了多方安全計算工具——Private Join and Compute,以幫助組織和機構協同處理機密數據集;2019年10月,臉書(Facebook)將安全機器學習(secure machine learning)框架CrypTen進行開源.我國相關機構和組織積極推動多方安全計算核心技術研發、標準規范制定以及商業應用落地.例如,螞蟻金服推出了螞蟻鏈摩斯多方安全計算平臺;華控清交基于多方安全計算技術,實現了高性能通用的安全計算框架PrivPy平臺;矩陣元推出了隱私機器學習開源框架Rosetta.
多方安全計算數學定義:假設存在n個參與方P1,P2,…,Pn,每個參與方都有一個私有輸入數據xi,所有參與方共同計算某個函數f(x1,x2,…,xn),且要求在計算結束時,每個參與方Pi只能得到私有輸入數據xi的輸出,而不能獲取其他參與方的輸入信息及輸出結果信息[9].多方安全計算技術架構如圖1所示.

圖1 MPC技術架構圖
當MPC計算任務開啟時,通過路由尋址的方式,根據所需類型選擇數據進行協同計算,根據MPC節點的計算,從本地數據庫中查詢數據,進行計算.整個計算任務過程中,數據始終存在于本地數據庫中,因此不存在數據泄露問題,且能根據數據參與方的需求進行數據的共享,確保各個參與方都能得到真實數據,保證計算的正確性.
多方安全計算理論主要解決的是各個數據參與者的信息保護和計算正確性問題,能夠實現在無第三方的條件下,在保護數據不泄露的前提下保證計算的正確性,所以多方安全計算的特點有:
1)輸入隱私性.多方安全計算在進行計算任務時根據MPC節點的計算,從本地查詢數據,再根據計算任務進行數據計算,整個過程中,數據都在本地數據庫中保存,不存在數據泄露問題,因此保證了輸入數據的隱私性.
2)計算正確性.多方安全計算數據參與方根據約定進行任務計算,通過多方安全計算協議進行計算數據的查詢、協同計算,因此可以保證計算的正確性.
農村地區在實行鄉村振興政策的進程中,面臨著包括農村金融體制完善性缺失、金融風險化解機制缺失和資源配置不均衡等方面的問題。在這樣的背景下,就需要我國政府通過提升農村金融服務管理體系的科學性和創建完善的農村金融風險承擔和應對機制的方式,來實現農村地區經濟的發展,進而促進整個中國經濟的發展,為中國人民享受更好的生活品質而努力。
3)去中心化.多方安全計算不存在有特權的參與方或可信第三方,而是采用協議的方式代替第三方,通過協議保證各數據參與方地位權力平等,任何數據擁有者都可開啟計算任務.
多方安全計算的組成模型主要由4個部分組成:協議參與者、協議攻擊者、網絡條件和通信信道.
按照協議參與者在協議執行過程中的行為,可以把協議參與者分為[10-11]:
1)誠實的協議參與者.這類參與者是最理想的協議參與者,根據計算任務時約定好的過程,對照協議執行每個步驟.
2)半誠實的協議參與者.這類參與者不會像誠實參與者一樣按照協議進行每個步驟,它根據現實情況私下收集所需數據,推導其他參與者的輸入數據和輸入值,但不會主動攻擊或聯合其他數據參與者破壞協議.這類參與者由于不主動攻擊和聯合其他參與者,一般很難被檢測到,這對協議的安全性影響很大,一旦半誠實參與者被買通或攻破,其收集到的數據就會被泄露.
3)惡意參與者.這類參與者容易被攻擊者買通,或者就是攻擊者偽裝形成的參與者,以此非法獲取有用數據.
在現實情況下,主要存在的是半誠實協議參與者和惡意參與者,因此設計了半誠實模型和惡意敵手模型[12-13].
1)半誠實模型(the semi-honest model).在協議執行時參與者按照協議規定的流程執行,但是可能會被惡意攻擊者監聽獲取到在協議執行過程中參與者的輸入輸出以及在協議運行過程中獲得的信息.
2)惡意敵手模型(the malicious model).在協議執行時,攻擊者可以通過在其控制下的參與方進行不合法的輸入,或者惡意篡改輸入等方法來分析誠實參與者的隱私信息.還可以通過提前終止和拒絕參與等方式導致協議的終止.
協議攻擊者和協議惡意參與者參與協同計算的目的相同,都是通過非法途徑來獲取數據.與惡意參與者行為不同的是,它可以控制參與者,篡改協議參與者的步驟,使參與者按照其意愿繼續執行協議來獲取信息.
攻擊者對不誠實參與者的控制可以分為以下2種情況:
1)被動攻擊/竊聽者.僅僅竊聽信道或者獲取不誠實參與者在協同計算過程中所得到的信息,不誠實參與者仍然按照協議約定執行協議步驟.
2)主動攻擊者.攻擊者會改變不誠實參與者的行為,不僅僅竊聽或者獲取不誠實參與者在協議進行中所得到的信息,還使其按照自己的意愿參與協議來達到竊取信息的目的.
多方安全計算的各數據所有者在進行協同計算任務時都需要通過網絡媒介進行連接,在同步網絡媒介中,所有的數據參與者將共同擁有同一個、全局性的時鐘.所有的信息會在同一個時間段內送達,并且每個數據參與者都能在下一時間段內收到屬于自己的數據信息.但在非同步網絡媒介中,所有數據參與者無法擁有同一個、全局性的時鐘.信息從某個數據參與者的本地數據庫中發出去,需要經過若干個時間段,數據參與者的接收方才能收到屬于自己的數據信息,并且收到的數據信息由于來自不同參與者,接收到的數據信息順序可能不是真實的發送順序.
多方安全計算的參與者之間的網絡媒介需要信道相連,來完成與其他參與者的數據交換.由于協議攻擊者會對不誠實協議參與者進行一定程度的控制,所以將通信信道分為3個級別:安全信道、非安全信道、未認證信道[14].攻擊者對于安全信道沒有控制能力;對非安全信道可以竊聽參與者的通信信息,但不能篡改內容;對未認證信道可以完全控制,甚至可以偽裝成誠實的參與者參與協議.
政務數據的公開共享與數據交易可促進政府部門和商業機構的共同發展,但在數據的公開交換過程中會導致政務數據和商業機構查詢信息的泄露,利用多方安全計算技術,可以使數據一直存在于政務系統的本地數據庫中,在不泄露數據的前提下實現政務數據共享.
多方安全計算為商業機構提供了統一的數據標準,可實現在協同計算中的信息檢索、查詢、數據跟蹤等功能,保證了數據的安全性、隱私性,解決了“數據孤島”問題.
金融領域的營銷、風控、反詐騙等,需要機構形成用戶的完整畫像來評判用戶信用,因此需要跨機構聯合共同刻畫用戶畫像.跨機構獲取數據需要從多個數據結構中獲取數據,然后進行數據挖掘與分析.但在數據的獲取過程中可能導致數據信息的泄露,數據被復制粘貼,數據所有者的所有權被復制.多方安全計算技術可以在數據無需歸集與共享的情況下實現計算,保護目標數據所有方的隱私及數據資產安全[15-16].
對病患來說,醫療數據具有一定的敏感性、隱私性,也導致醫療數據得不到最大限度的使用,使得醫院、藥企、設備供應商之間難以實現數據的交換和共享.利用多方安全技術,在相對封閉的醫療數據參與方之間建立一個統一的、安全可信的數據交換網絡,可在不泄露醫療數據的前提下,各參與方都可獲取其需要的數據,由此實現醫療數據的有效使用[17].
多方安全計算技術在與邊緣計算、區塊鏈、聯邦學習、5G等新技術的融合中,能夠創造更多的新應用.如基于多方安全計算和區塊鏈技術的聯合征信[18],可實現在無可信中心節點保護各參與方商業秘密及隱私數據的前提下,開展征信查詢業務,對于解決多頭借貸和過度授信問題具有重要意義;如“聯邦學習+區塊鏈”多方安全計算引擎系統研究[19],可實現多方隱私數據共享,構建數據生態,打破數據孤島,挖掘數據聯合價值,從而實現多方安全計算.
多方安全計算技術的研究是為了解決數據擁有者和數據使用者的矛盾,數據擁有者不想泄露數據資源,而數據所有者需要正確的計算結果.一般情況下數據的擁有者也是其他數據的使用者,這就需要數據參與方協同計算,各取所需.多方安全計算在無第三方的條件下,采用協議標準的解決辦法,讓多個參與方共同合作,協同完成計算,計算所需的數據在整個計算過程中始終保存在本地數據庫,這就保證了輸入數據的隱私性,各個參與方協同計算,任務完成后返回各自的計算結果,保證了計算的正確性.多方計算安全適用于政務、金融、醫療等多個領域,能夠實現數據共享交換、數據查詢、數據聯合分析、數據安全存儲等多個功能.