999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于區塊鏈的外包安全多方統計計算可驗證隱私保護方案

2024-07-17 00:00:00夏虎田雯高建彬張天義高然夏琦
無線電工程 2024年4期

摘 要:安全多方求和/ 乘積是安全多方計算(Secure MultiParty Computation,MPC) 的一種典型問題,近年來在智能電網、電子投票和聯合征信等場景中有諸多應用。如何實現數據隱私保護是安全多方求和/ 乘積計算應用領域的一個關鍵性問題。針對此問題,引入了區塊鏈構建可信數據共享環境,以此為基礎結合可驗證秘密共享協議設計了簡單可行的基于區塊鏈的外包安全多方統計計算可驗證隱私保護方案。應用實例證明了方案的安全性和可行性,理論分析和實驗測試表明該方案可實現安全多方統計計算過程中數據的可驗證隱私保護,且較Feldman 方案在數據驗證過程中有更小的計算開銷。

關鍵詞:區塊鏈;安全多方計算;智能合約;隱私保護;秘密共享

中圖分類號:TP311 文獻標志碼:A 開放科學(資源服務)標識碼(OSID):

文章編號:1003-3106(2024)04-0835-13

0 引言

隨著信息技術的發展,網絡中的數據種類和規模正以前所未有的速度增大,數據從簡單的處理對象開始轉變為一種基礎性資源[1],已經成為眾多企業和研究者的重點關注對象,數據分析和數據挖掘的廣泛應用成為了一個發展趨勢。企業、運營商等為了提高自己的利潤或其他服務目的,積極地在各自擁有的數據或互聯網上發布的數據中挖掘其中潛在的價值[2],但隱私泄露的問題也隨之愈加突出。

安全多方計算(Secure MultiParty Computation,MPC)的出現給數據挖掘中的隱私保護問題提供了一種可行辦法。MPC 是隱私計算技術的一種表現形式,能夠在多個實體共享數據、進行聯合多方計算的同時,實現在不暴露加密密鑰的基礎上保護數據機密性,最終實現數據的所有權和使用權的分離。近四十年來,許多密碼學家對其進行了廣泛而具體的研究,包括計算模型、計算協議設計、可行性分析、實際應用和擴展等方面[3-17],但是大多MPC 協議的設計著重于對每個場景制定單一實踐方案,導致協議不易于擴展,且MPC 協議的計算復雜度和通信復雜度較大,存在數據計算過程結果不可驗證、計算過程不透明導致計算方不易追責等問題。

區塊鏈(Blockchain)技術是一種分布式的互聯網數據庫技術,具有去中心化、去信任化和公開透明等特點,可以使陌生節點在不依賴于可信第三方的情況下建立點對點的可信價值傳遞[18],實現數據的安全共享。隱私計算與區塊鏈技術的結合,既能保證輸入數據可信,又能隱藏運算過程,可以很好地進行互補。區塊鏈與MPC 的結合[19]最早始于零知識證明在區塊鏈中的應用,隨著智能合約將區塊鏈從僅附加分布式分類賬轉換為了可編程狀態機,隱私智能合約不斷發展,進一步增大了區塊鏈對MPC 的需求。

近年來,國內外學者對基于區塊鏈的MPC 進行了深入研究。Enigma 協議[20]允許互不信任的多個參與方共同對數據進行存儲和計算,并能徹底地保證數據的隱私,其計算模型建立在MPC 之上,采用了高度優化的可驗證秘密分享體系,一個外部的區塊鏈Catalys 被用作該存儲計算網絡的控制器,管理著數據的訪問控制權限和數字身份,并充當一個防篡改的事件日志庫。Andrychowicz 等[21]利用比特幣構造了限時承諾,設計激勵機制對參與者的行為進行限制,防止兩方或多方共謀獲取非法的信息。Guon 等[22]提出了一種基于區塊鏈的邊緣智能電網雙側隱私保護多方計算方案,利用秘密共享的方法來保證邊緣節點中多方計算的安全性,并提出了一種基于環簽名的數據混淆方法和一種新的一次性地址方案以保護數據通信雙方的隱私。Gao等[3]用一種激勵機制來鼓勵各方合作解決了MPC中的公平性和健壯性問題,并用博弈論證明了方案的公平性。以上研究關注的更多是安全多方和協議中的數據隱私和正確性、半誠實模型下的數據公平性和魯棒性以及數據外包MPC 過程的隱私性,而忽略了實際應用場景下個人節點計算資源有限需要利用專有計算節點進行輔助計算時專有計算節點的計算資源利用率問題。以下是對相關問題的詳細補充內容:

① 計算資源稀缺性問題:引入區塊鏈和MPC結合后,計算資源的稀缺性變得尤為明顯,特別是在分布式網絡中。由于個人節點計算資源有限,如何更有效地利用區塊鏈系統中的節點算力成為一個緊迫的問題。盡管某些研究已經關注了這一問題,但在實際應用中的解決方案仍然需要更深入的研究。例如,一些方案可能嘗試通過任務調度和資源分配的方式來最大化節點的計算能力。

② 專有計算節點利用率挑戰:大部分研究側重于多方參與的計算過程,而忽略了在實際應用中,個人節點可能需要借助專有計算節點進行輔助計算的情況。在這種情況下,如何優化專有計算節點的利用率成為一個關鍵問題。尚未有充分解決專有計算節點利用率的成熟方案。未來的研究可以考慮設計智能合約或機制,以更有效地整合和利用專有計算節點,從而提高整體計算資源的利用率。

③ 分布式計算效率問題:區塊鏈本質上是一種分布式系統,而MPC 需要多個參與方的合作。在此背景下,如何設計計算任務的分發和協調機制,以提高整體計算效率,降低通信復雜度,是需要深入研究的方向。已有一些關注分布式計算效率的研究,通過改進任務分發和協調機制來提高整體效率。然而,這仍然是一個不斷發展的領域,需要更多關于分布式計算優化的研究。

④ 可擴展性問題:現有的MPC 協議設計通常局限于對每個場景的單一實踐方案,導致協議不易擴展。在區塊鏈MPC 中,如何設計具有良好可擴展性的協議,以適應不同規模和復雜度的計算任務,是一個需要解決的問題。目前已有一些嘗試提高可擴展性的工作,但這仍然是一個挑戰。未來的研究可以探索更靈活的協議結構或算法,以實現更好的可擴展性。

⑤ 計算過程可驗證性問題:區塊鏈要求計算過程具有可驗證性,以確保計算結果的正確性和透明性。在MPC 過程中實現計算結果的可驗證性是一個亟待解決的挑戰。一些研究已經開始考慮如何確保MPC 過程中計算結果的可驗證性,以滿足區塊鏈的公開透明要求。然而,這仍然需要更多的工作來建立更強大的機制,確保計算的合法性。

針對上述問題,本文提出了一種基于區塊鏈的外包安全多方統計計算隱私保護方案(OutsourcingSecure Multiparty Statistical Computing Privacy Protection Scheme based on Blockchain,OSPPS)。該方案將外包計算節點進行分簇,可以同時響應多項外包計算請求,從而充分利用區塊鏈系統中節點的算力;針對聯合統計計算任務外包過程中的數據不透明問題,引入區塊鏈構建可信執行環境,將執行外包計算任務的節點納入區塊鏈系統中,構建一套帶懲罰機制的節點管理智能合約,加強對節點的可控管理;針對聯合統計計算任務外包過程的數據隱私保護問題,提出基于秘密共享的外包MPC 機制,使用隨機參數對秘密輸入進行混淆,設計基于可驗證秘密共享協議的數據驗證機制保障MPC 方案的公平性,保證數據在傳遞和計算的過程中始終以秘密的方式進行呈現。

1 相關技術

1. 1 MPC

MPC 最早是由華裔計算機科學家、圖靈獎獲得者姚期智教授通過百萬富翁問題[23]提出的,而后經過Goldreich 等[24]的不斷研究,通過GMW 協議給出了實質性的描述。百萬富翁問題指的是,在沒有可信第三方的前提下,2 個百萬富翁如何不泄露自己的真實財產狀況來比較誰更有錢。姚教授將兩方的數據計算抽象為一個邏輯電路,對電路輸入進行混淆后由一方發送給另一方進行計算最后公布輸出,計算過程中雙方不進行私有輸入數據的交互,雙方除最終的比較結果外得不到任何中間結果。經過眾多學者的努力,其已成為密碼學研究的一個重要分支,協議參與者個數也由兩方擴展到多方。

MPC 模型如圖1 所示,可概括如下:P = {P1 ,P2 ,…,PN }是N 個參與者集合,他們想要共同“安全地”計算某個給定的有N 個輸入和N 個輸出的函數f(x1 ,x2 ,…,xN )= (y1 ,y2 ,…,yN )。其中,函數f 的N 個輸入x1 ,x2 ,…,xN 分別由N 個參與者P1 ,P2 ,…,PN 秘密地掌握而不被他人知道,在計算結束后,P1 ,P2 ,…,PN 分別得到輸出y1 ,y2 ,…,yN 。同時MPC 的安全性要求即使在某些參與者存在欺騙行為的情況下,仍然保證計算結果的正確性,即計算結束后每個誠實的參與者Pi 都能得到正確的輸出yi,同時還要求保證參與者輸入的保密性,即每個參與者Pi 除了知道(xi,yi)以及從中推導出的信息之外,得不到任何其他信息。

秘密共享是許多MPC 協議的核心,是必不可少的密碼原語。最早被提出的秘密共享模型是門限類的秘密共享模型,如著名的Shamir[25](t,n)門限秘密共享體制,在(t,n)門限秘密共享體制中,秘密的持有者把秘密分割成n 個份額,分別分配于n 個參與者,使得只有獲得這n 個份額中的至少t 個才可能有效地恢復出原來的秘密,而任何少于t 個的份額集合都不能恢復出原來的秘密,得不到關于原秘密任何有用的信息。如果要共享有限域K 上的元素a,則密鑰管理中心選擇K 上至多t-1 次的隨機多項式f(x)滿足f(0)= a,然后將ai = f(i)通過秘密信道發送給Pi(1≤i≤n)。該方式可使得任何t-1 份秘密信息都不能恢復出關于a 的任何信息,而任意t 份子秘密重構都可以得到元素a。

為了檢驗秘密共享的正確性,出現了可驗證的秘密共享方案。一個正常執行的可驗證秘密共享方案能夠保證:在秘密分發階段,分發者發送給參與者的共享是正確的;在秘密恢復階段,參與者提交的共享也是正確的[26]。Feldman VSS[27] 是一種基于Shamir 秘密共享構造的可驗證秘密共享方案。用戶要共享一個秘密s,分給n 個參與者,其中任意t 個參與者可以重構秘密s,尋找一個t - 1 次多項式f(x)= a0 +a1 x+…+at-1 xt-1 ,其中a0 = s;用戶為每一個參與者任意選擇非0 的xi 計算si = f(xi )為i 的子秘密發送給參與者Pi,同時該用戶計算Ai = gaj,其中j= 0,1,…,t-1,并公開這些參數;參與者收到秘密si后,t 通過式(1)是否成立驗證si 的有效性。

1. 2 區塊鏈技術

區塊鏈是分布式數據存儲、點對點傳輸、共識機制和加密算法等技術的集成應用,是使用密碼技術將共識確認過的區塊按順序追加而形成的分布式賬本[28]。區塊鏈的意義在于消除對中心化實體的需求,以協調網絡中交易方之間的交易或流程[29]。2008 年,比特幣的誕生標志著區塊鏈技術的第一次落地應用,此后,區塊鏈技術不斷發展,其應用從最初的金融領域,已經延伸到物聯網、智能制造、供應鏈管理和數字資產交易等多個領域。

智能合約是由Nick Szabo 在20 世紀90 年代提出的概念,由于缺乏可信環境而未能實現實際應用,區塊鏈技術本身包含的可信執行環境特性與智能合約要求天然契合,在區塊鏈2. 0 時代,智能合約賦予區塊鏈可編程的特性,可以存儲價值和維持自己的狀態。基于區塊鏈技術的智能合約不僅使流程自動化,而且使結果難以篡改,這確保了對系統的信任[30]。將智能合約以數字化的形式寫入區塊鏈中,通過區塊鏈技術的特性來保障數據的存儲、讀取和執行,實現整個過程透明可跟蹤、不可篡改。同時,由區塊鏈自帶的共識算法構建出的一套狀態機系統將使得智能合約的運行非常高效。

2 方案模型

方案的總體體系結構如圖2 所示,該系統為滿足數據外包計算過程中的隱私保護,改變了傳統貨幣區塊鏈系統中礦工的算力打包區塊獲取利益的方式,部分節點可作為MPC 節點按照不同的計算需要作為服務提供方完成鏈下節點的外包計算過程從而獲得收益,因此本系統除了數據外有3 種角色,分別是MPC 參與方、計算節點和驗證節點。

MPC 參與方:MPC 參與方是系統的被服務方,享受區塊鏈系統中的節點提供的安全計算的服務并支付一定量的傭金,負責將數據以秘密共享的形式傳到服務方節點中,參與方集合要求人數至少為2,他們需要對數據進行預處理以保證數據分發過程中的安全性。

計算節點:MPC 數據計算過程由計算節點參與,既要從區塊鏈上讀取和計算任務相關的參數,如參與者的公鑰集合,還要負責與驗證節點就數據處理過程的有效性進行確認。

驗證節點:驗證節點需要對MPC 參與方的計算任務進行審核,包括任務的傭金是否滿足需要,并決定管理的計算節點是否參與計算任務以及哪些節點參與計算任務。

3 基于區塊鏈的外包安全多方統計計算可驗證隱私保護模型設計理念

3. 1 計算節點管理

計算節點可以看作是區塊鏈系統中特殊的“礦工”,區塊鏈系統中的正常事務處理的打包由記賬節點負責,而計算節點可以利用自己的計算資源“承接”外包計算任務,由于是鏈上節點,其數據處理全過程受區塊鏈監管,處理過程透明且自動化執行,保證了系統的安全可信。針對計算節點在模型中參與的通信過程設計了3 類智能合約來實現對計算節點的全生命周期管控,下面是這3 類智能合約及其各自詳細設計說明。

(1)初始化合約(IeC)

為了充分利用計算節點的計算資源,在系統創世區塊產生后需要執行IeC 的內容,將區塊鏈系統中滿足信譽值條件且計算能力足夠的節點進行分簇,在每簇中選取一個簇頭節點負責外包計算任務的轉接響應、維護簇內可通信列表等任務。

合約邏輯如下:

① 驗證節點發布多項簡易計算任務以及任務最晚完成時限。

② 時限截止時,驗證節點收集已完成所有計算任務的礦工節點,并將其組成計算節點集合。

③ 驗證節點基于圖的算法指定N 個計算節點簇的簇組節點。其余計算節點根據通信響應時長最短原則自動加入某個計算節點簇。節點選擇完成后,計算節點簇內共同維護一個可通信列表和簇狀態數組。

④ 初始化各計算節點簇的平均信譽值為系統初始值。

(2)計算節點簇選取合約(SeC)

為了保證承擔數據用戶發起的外包計算請求時選取的計算節點簇的公平性,對于每一個驗證通過的外包計算請求,驗證節點需要通過SeC 選取出執行該請求的計算節點簇。該合約的設計理念是平均信譽值越高的計算節點簇被選取的概率越大。

合約偽代碼如下:

function Select(SigGWit,GG _ Com,P _ H,rand,task _ID)

if Verify(SigGWit)= = true then

# 用于存儲符合條件的計算節點簇及其權重

validNodes = []

# 計算符合條件的計算節點簇的總權重

totalWeight = 0

# 遍歷計算節點簇數組,篩選出信譽值大于等于閾值的節點簇

for each node inGG_Com do

if node. score ≥ P_H then

validNodes. push(node)

totalWeight + = node. score - P_H

end if

end for

#生成范圍在[0,totalWeight]的隨機數

selectNum = rand(0,totalWeight)

∥根據隨機數選擇計算節點簇

selectedNode = null

cumulativeWeight = 0

for each node invalidNodes do

cumulativeWeight + = node. score - P_H

if selectNum < cumulativeWeight then

selectedNode = node

break

end if

end for

# 返回選取的計算節點簇

return selectedNode

end if

end function

(3)計算節點獎懲合約(ReC)

為了實現對計算節點行為的正向激勵、維護系統穩定,設計了ReC,其設計理念是計算節點正確執行外包計算任務要求的數據交互和數據計算后將獲得任務對應的獎勵費用并提升信譽值;反之則扣除承擔任務時抵付的押金并降低信譽值。

合約邏輯如下:節點激勵機制旨在通過激勵層分配獎勵,推動節點正確執行區塊鏈協議。機制貫穿MPC 合約執行全過程,確保計算節點簇和鏈下用戶節點數據計算正確。對鏈下用戶,驗證輸入正確性,不通過將沒收押金。對鏈上計算節點,按輪次驗證計算結果,通過則獎勵信譽值和服務費用,不通過則扣信譽值和押金。驗證通過的計算節點獲得獎勵,未通過的節點受到懲罰。

3. 2 共識算法

本模型中驗證節點按照共識算法完成對外包計算請求的響應、計算節點簇的選取和計算節點的行為監督等工作。針對驗證節點在模型中參與的通信過程設計了共識算法來實現對驗證節點的行為監督和區塊鏈事務的狀態同步。共識算法按輪次T1 進行,在每一個輪次T1 中有一個proposer 節點負責當前輪次的任務并發起投票,其余驗證節點做出投票響應和彼此間狀態同步。對于每一個外包安全多方統計計算任務,驗證節點是否接受任務請求的響應算法如算法1 所示。

驗證節點若同意了MPC 參與方集體發起的外包計算任務請求,則在選擇好具體的計算節點簇后需要將計算節點簇的有關信息告知給MPC 參與方集體,MPC 參與方集體將自己的秘密輸入分配給計算節點簇中的各計算節點,再由驗證節點隨機選取t個計算節點,逐一對它們從MPC 參與方集體處獲取到的秘密份額和可驗證秘密份額做份額驗證,驗證共識算法如算法2 所示。

若MPC 參與方集體提供的秘密輸入均通過驗證后則計算節點開始按照外包安全多方統計計算的任務需要執行數據交互和數據計算,數據交互按輪次T2 進行,在每個T2 輪次中由驗證節點按照算法執行對計算節點的行為監督。

若MPC 參與方集體在一定時限內沒有收到外包計算請求的響應結果或者被通知需要重新發起外包計算請求,則可以重新發起一條費用為0 的相同任務編號的外包計算請求,由新輪次的proposer 節點按照共識算法執行響應,具體算法如算法3 所示。

3. 3 數據驗證機制

為了增強對數據用戶即MPC 參與方集體的行為約束設計的數據驗證機制是本方案的重要內容,也是保證MPC 參與方集體正確執行數據預處理操作的重要支撐。其設計理念是借助可驗證秘密共享方案對基于同態秘密共享方案的秘密份額進行驗證,旨在在保護秘密輸入的隱私安全的前提下以較小的驗證計算消耗完成數據驗證。數據驗證機制包含如下3 個過程。

① 數據秘密共享。MPC 參與方集體從驗證節點獲取到所選的計算節點簇的有關信息和一組隨機數后,利用隨機數將自己的真實秘密輸入做混淆處理,再利用類似文獻[31]中的方法和同態Shamir 算法分別生成可驗證秘密份額和秘密份額Sinput _share 一起分發出去。

② 可驗證秘密份額驗證。proposer 節點從計算節點簇中隨機選擇t 個計算節點,t 個所選計算節點利用各自的私鑰和MPC 參與方集體的公鑰計算出各自的Y 給驗證節點,驗證節點對t 個計算節點提供的Y 逐一作判斷驗證計算節點提供的可驗證秘密份額是否正確。

③ 秘密份額重構驗證。只有所選的t 個計算節點均通過可驗證秘密份額驗證時才執行秘密份額重構驗證。其設計理念是將所選t 個計算節點的Y、公鑰連同MPC 參與方集體提供的已知參數一起作為輸入,按照插值公式構建出可驗證秘密重構結果,所得結果與t 個計算節點的秘密份額Sinput_share 的重構結果做對比,一致則驗證通過;反之則不通過。

3. 4 安全目標

本方案的目標是設計一種基于區塊鏈的外包并行MPC 隱私保護方案。特別地,本文所提的方案需要達到以下幾點需求。

① 高效性。本文所提出的方案可以同時實現多組外包MPC 的快速響應需要,且不降低MPC 結果的準確性。

② 安全性。參與方的秘密輸入數據、MPC 協議中間計算結果的隱私安全應該得到保證。參與方不能“偽造”秘密輸入份額、計算節點不能“偽造”中間計算結果且驗證節點不能“偽造”計算請求的響應結果和計算節點的輪次交互驗證結果。

③ 準確性。在滿足一定數量的可信計算節點的情況下MPC 的結果具有確定性和準確性。

4 方案流程

前述的模型設計理念給出了方案成立的基本條件,即驗證節點受共識算法鉗制能夠對外包計算請求的響應、秘密輸入的有效性驗證、計算節點的行為驗證3 個過程做出正確響應結果;MPC 參與方受數據驗證機制影響需要嚴格執行方案要求;計算節點受計算節點管理合約的管控,出于長期利益考慮將正確執行外包計算任務。方案共分為MPC 任務請求的發起階段、MPC 任務請求的響應階段、秘密輸入的共享及驗證階段、輔助驗證階段和結果輸出階段。具體符號說明如表1 所示。

4. 1 MPC 任務請求的發起階段

某一MPC 參與方集體Puser 經過協商一致完成某一統計計算智能合約MPCContract 的設計,合約包含兩部分;一部分是統計計算函數;另一部分是輔助驗證函數。隨后發送帶有群簽名的合約信息給集體中的某一位確定成員PM 進行合約部署。PM 驗證群簽名是否正確,驗證通過PM 將該合約編譯部署到區塊鏈上,并返回合約標識task_ID 等信息。

隨后MPC 參與方集體Puser 中的任意一個參與方需要將自己的秘密輸入通過秘密共享的方式分發給計算節點。這里以一個參與方的秘密輸入的共享及驗證涉及的參數進行舉例。一個參與方生成2 個大素數p、q,計算N = p×q;進一步選擇數Q 和g,其中Q 為大于N 的任意一個整數,g 為異于p、q 的[根號下N ,N]的一個整數;隨后隨意地選擇一個與p-1和q-1 都互素的整數SK0 ∈[2,N]作為該參與者的私鑰,計算PK0 = gSK0 modN 作為公鑰;進一步計算滿足SK0 ×M = 1modφ(N)。

MPC 參與方集體Puser 各自生成了有關參數并成功部署了統計計算智能合約以后即可發起MPC計算請求message(Siguser,task_ID,gas,{[gi,Ni,Qi,Mi],i∈[1, Puser ]},請求由合約部署者PM 發起,請求內容包含簽名、合約標識和任務支付費用等信息。

4. 2 MPC 任務請求的響應階段

鏈上驗證節點收到請求以后調用算法1 驗證請求是否通過,驗證內容包括對簽名的有效性驗證及參與方對該任務的支付費用gas 是否大于任務難度映射的費用e(task_ID). gas,映射關系為任務難度越大支付費用越高,任務難度由統計計算智能合約轉化為布爾電路的電路層級數和門數決定。驗證通過后驗證節點將調用計算節點SeC,選取出用于執行計算任務的計算節點簇select_N。

選取以后驗證節點需要發送通知消息給計算節點簇select_N 通知其準備執行任務,計算節點簇中的每個計算節點按照MPC 參與方集體Puser 提供的系統參數生成一次性公私鑰用于對秘密輸入份額的驗證。首先計算節點Pselect_Ni,隨機選擇一個互異的整數SKi∈[2,N]作為該計算節點的私鑰也就是可驗證秘密共享份額,計算PKi = gSKi modN 作為公鑰。發送公鑰給驗證節點,驗證節點接收以后返回任務請求的響應message(pk_select_N,true,{nonce})給MPC 集體Puser。{nonce}是統計計算結果為0 或1的一組數集合。

4. 3 秘密輸入的共享及驗證階段

MPC 參與方集體Puser 收到來自驗證節點的接受請求響應以后各參與方隨機選取noncei,需要將自己的秘密輸入與noncei 計算后通過秘密共享的方式分發給選定的計算節點。這可以保證秘密共享份額驗證時的正確性。以一個參與者將自己的秘密輸入利用秘密共享進行共享及驗證舉例說明。假定所選的計算節點簇的計算節點總數為n,秘密共享門限閾值為t。一個擁有秘密輸入的參與方Puseri 計算Ri = PKSKi I modN 并使用n +1 個點(0,S +noncei ),(PK1 ,R1 ),…,(PKn,Rn )去構建n 階多項式f(x)modQ,如式(2)所示:

f(x) = a0 + a1 x + a2 x2 + … + an xn modQ。(2)

緊接著參與方借助shamir 秘密共享方案利用不同的計算節點公鑰生成不同的秘密份額Sinput_sharei 和輔助驗證份額assist_sharei 發送出去。然后參與方向驗證節點發送消息message({[hi,f(hi )],i∈[1,n+1-t]})以驗證秘密份額的正確性,其中hi為集合[1,Q-1]-{PKi i∈[1,n]}中第i 小的整數。驗證節點需要任意選取所選計算節點簇select_N中的t 個節點進行秘密份額的輔助驗證,該t 個所選計算節點A = {Pv 1 ,Pv 2 ,…,Pvt }各自計算Yvi =PK0 SKvi modN 并發送給驗證節點,驗證節點利用t 個Yvi 進行式(3)的互相驗證以決定是否相信MPC 參與方的身份驗證。

YMvi = PKvi modN。(3)

所選t 個計算節點提供的Yvi 均滿足式(3)時,認為該t 個計算節點可以成功構建出參與方的秘密。利用該t 個參與方的Sinput_sharei 借助shamir秘密共享方案重構出的秘密值與利用n + 1 個點{[hi,f(hi )],i∈[1,n +1 -t],[(PKvj,Yvj ),j∈ [1,t]]},按照式(4)構建出的秘密值S = f(0)modQ 進行比對,一致則認為MPC 參與方秘密份額共享正確。

4. 4 輔助驗證階段

秘密輸入份額驗證通過后的計算節點從區塊鏈上下載MPC 計算智能合約MPCContract,按照MPC計算智能合約MPCContract 轉化為布爾電路的電路層級數作為數據交互計算的輪次數T2 ,在每一輪T2 中對輔助驗證份額按照輔助驗證函數要求做一定計算,計算函數滿足同態性,計算結果份額提交給驗證節點做驗證,驗證節點在每一輪次收到計算份額以后做同態結果驗證。本方案假定每輪中計算節點輔助計算驗證通過則表明計算節點正確執行了MPC 計算智能合約;若驗證不通過則終止合約執行并通知MPC 參與方集體Puser 重新發起計算請求并調用節點獎懲合約對計算節點簇的信譽值做一定更改。

4. 5 結果輸出階段

計算節點簇中的計算節點完成MPC 計算智能合約操作以后返回給各參與方計算結果份額Soutput_share,各參與方收到t 個Soutput_share 以后利用秘密共享方案進行秘密統計計算結果重構,重構結果即為真實輸出結果。此時proposer 節點將該MPC 計算請求從待處理的外包計算請求池中進行剔除。

5 隱私安全分析

5. 1 身份隱私保護

為了隱藏MPC 參與方集體共識通過后發起計算任務請求的發起者身份,使用了Chaum 提出的群簽名技術,群簽名既可以實現一個參與者代表群體進行簽名,又能實現在群管理者的參與下對簽名者身份的可追蹤性。

5. 2 數據安全

MPC 中的數據隱私安全主要是保證數據所有者將私有數據進行聯合計算過程中各方數據的私密性、計算過程及結果的公平性,因此可以將數據隱私安全分為三方面:一是輸入數據的有效性;二是輸入數據的隱私性;三是協議的抗合謀攻擊能力。輸入數據的有效性是保證MPC 計算結果公平性的必要條件,而輸入數據的隱私性和抗合謀攻擊能力是MPC 協議/ 方案的必備特性。

(1)MPC 參與方提供的秘密輸入份額的有效性

在本方案中,MPC 參與方可能出于自身利益需要偽造秘密份額,本方案采取的借助可驗證秘密共享方案驗證秘密共享份額的方法可以有效解決該問題。

假設MPC 參與方集體中的一個參與方Pi 從驗證節點返回的隨機數參數中隨機選取出一個,和自身的私密輸入數據做統計計算所得結果為混淆秘密輸入Si。則該參與方可能進行的偽造秘密份額操作的情況有以下幾種:

① 參與方提供給驗證節點的可驗證秘密份額集合[hi,f(hi )],i∈[1,n+1-t]正確而對秘密共享份額中的一個或多個進行偽造。

證明:根據文獻[29]證明計算節點簇中的任意t 個計算節點的可驗證秘密份額做一定計算需要滿足式(3)才被認為可驗證秘密份額正確可知,只要驗證節點隨機選取一組包含t 個計算節點的集合A = {Pv 1 ,Pv 2 ,…,Pvt},每個計算節點計算Yvi 并發送給驗證節點,則可將Yvi 做式(5)的變化驗證計算節點是否為誠實節點。

若該t 個計算節點提供的Yvi 均滿足上式即認為該t 個計算節點可以用于重構出秘密,又由于參與方提供給驗證節點的可驗證秘密份額集合正確,則由插值公式特點可知按照式(4)可以重構出真實秘密輸入S′= Si。而假設該t 個計算節點包含擁有偽造的秘密份額的節點,則利用shamir 秘密重構算法可得S″≠Si,即證明參與方提供的秘密輸入份額有誤,對參與方進行追責。

根據該證明的假設條件可知,當秘密份額存在偽造時參與方未被追責的概率為((n -x)!· (n -t)! / (n-x-t)!),其中x 為偽造的秘密份額個數。

② 參與方提供給驗證節點的可驗證秘密份額集合[hi,f(hi )],i∈[1,n+1-t]中的一個或多個偽造份額而shamir 秘密份額為正確的。

證明:根據文獻[31]中的安全性證明可知,參與方提供給驗證節點的可驗證秘密份額存在一個或多個偽造份額時,驗證節點從計算節點簇中隨機選取t 個計算節點,這些節點各自計算Yvi = PKSKvi 0 modN 并發送給驗證節點,由于可驗證秘密份額均正確故可得到Yvi 滿足式(3)。

此時驗證節點認為該t 個計算節點可以重構出真實秘密,而由于插值公式的特性可知重構出的n 階多項式不等同于原來的多項式,所得結果與shamir 重構結果不一致故可證得參與方提供的秘密份額有誤,即可對參與方進行追責。

③ 參與方提供的可驗證秘密份額集合[hi,f(hi)],i∈[1,n+1-t]和shamir 秘密份額均存在一個或多個偽造的情況。

證明:同②的證明。

(2)MPC 參與方秘密輸入的隱私性

如5. 1 節的描述,MPC 參與方集體中的每個參與方將自己的秘密輸入Sinput 聯合隨機選取的參數nonce 一起進行統計計算得到最終秘密輸入S,該秘密輸入經過可驗證秘密共享和shamir 秘密共享后發送出去,再由驗證節點對秘密份額做重構可得到S′= S″= S 。

由于S≠Sinput 且驗證節點不能確定參與方各自選取的nonce 參數的具體數值,故不能得到參與方的真實輸Sinput,只能猜測出參與方的真實秘密輸入為S′-{nonce}集合中的任意一個,即可得到參與方輸入泄露的概率為1 / Puser 。參與方人數較多時1 / Puser 可忽略不計。可證得參與方的真實秘密輸入在數據傳輸和數據計算過程中始終不會暴露,做到了參與方輸入的數據安全。

(3)數據抗參與者合謀攻擊能力

由5. 1 節可知,驗證節點將生成一組統計計算結果為0 或1 的隨機數參數集合{nonce},而MPC參與方集體Puser 中的參與方隨機選取一個參數與自身秘密輸入進行統計計算得到最終秘密輸入S。由方案的安全模型可知,驗證節點是誠實節點其不會與參與方串通公布參與方的最終秘密輸入S。涉及利益需要的參與者合謀攻擊是針對隨機數參數的一類攻擊,是指攻擊者與MPC 參與方集體Puser 中的一個或多個參與者聯合起來,根據計算節點返回的計算結果以及各自的隨機數參數{noncepi },試圖破解出誠實參與方的秘密輸入Sinput。

由上述(2)所描述的秘密輸入的隱私性分析可知,這種參與者合謀攻擊成功的概率隨攻擊者串通的人數呈曲線形式增大,且只有攻擊者勾結人數為MPC 參與方的總人數減1 時攻擊成功概率為1。顯然,這種合謀攻擊成功的概率很低,能在很大程度上保證參與方輸入的數據安全。

6 實驗分析

為了測試本文提出的外包安全多方統計計算,進行了理論分析和實驗評估。根據方案流程說明的具體運行步驟,將數據流通過程涉及的數據計算分為3 個過程,分別是可驗證秘密份額和秘密份額的分發(Setup)、可驗證秘密份額的驗證和可驗證秘密份額重構結果與秘密份額重構結果進行比較的完整驗證過程(Verify)、同態秘密共享的秘密份額計算與秘密結果重構的完整重構過程(Get)。

在本文提出的方案中,一個擁有m 個參與方的MPC 參與方集體生成(t,n)可驗證秘密份額和(tn)同態秘密份額共進行了m(E+(t-1)F+2G+(2n+1-t)H)的計算量,其中E 為n 次模乘計算的計算量,F為一個隨機數系數選取的計算量,G 為已知系數的情況下多項式構造的計算量,H 為一次多項式計算的計算量。而一個Feldman 可驗證秘密份額需要m((t / n)E+(t-1)F+G+nH)的計算量。本文方案中n 個計算節點收到m 組秘密份額以后的驗證過程共進行了m((2t / n)E+2S+2H)的計算量,而Feldman可驗證秘密份額和(t,n)同態秘密份額要進行m(tE+S+H)的計算量,其中S 為t 個秘密子份額構造的重構算法多項式的計算量。本文方案和Feldman 方案的重構的計算量一致,均為nm+S+H。即本文方案與Feldman 方案的計算量性能比較如表2 所示。

從分發的秘密份額份數和3 個過程的計算時間消耗的關系進行性能測試。實驗環境搭載在配備2. 6 GHz 六核Intel Core i7 處理器的MacBook Pro(2019)上,用Nodejs 創建了一個包含5 個服務器的對等網絡,而3 個數據計算代碼是用python 編寫的。實驗設置MPC 參與方數量為30,秘密共享方案的閾值數t = 3,得到3 個計算過程對應的計算時間消耗結果如圖3 所示。

由表2 和圖3 可知,本文方案在Setup 階段的計算復雜性略高于Feldman 方案在該階段的計算量,而在Verify 階段Feldman 方案隨著秘密份額份數的增大與本文方案的計算差異也越大,這是因為模乘計算對計算量的影響較大。圖3 中3 個階段與秘密份額份數大小呈線性增長關系是因為秘密份額份數越大,Setup 階段本文方案產生的可驗證秘密份額的模乘次數和秘密份額的計算次數呈線性比例越大,而Verify 階段本文方案選取的驗證節點數固定所以模乘計算量差別不大,總的計算量增長緩慢。

為了確保MPC 的準確性,采取以下措施進行檢驗與證明。首先,在計算過程中每一步都經過一定數量的可信計算節點的確認,確保每個階段的計算結果都經過了足夠的驗證,防止潛在的錯誤或惡意操作;然后,引入可驗證秘密份額的驗證過程(Verify),對生成的秘密份額進行驗證,確保其符合預期的數學屬性,檢查在Setup 階段生成的可驗證秘密份額是否滿足規定的條件,從而提高計算結果的可信度;最后,在同態秘密共享的秘密份額計算與重構的過程(Get)中,強調對計算結果的驗證,確保在最終結果的計算中沒有錯誤,且結果是基于正確的秘密份額進行的。

通過以上準確性驗證與證明措施,可以確保該MPC 方案在滿足一定數量的可信計算節點的情況下,結果具有高度的準確性和可信度。

7 結束語

本文主要介紹了基于區塊鏈的外包安全多方統計計算可驗證隱私保護方案,首先針對數據外包MPC 過程中數據不透明問題,依托區塊鏈構建可信執行環境,將執行外包計算任務的節點納入區塊鏈系統中,利用智能合約實現對節點的全行為監督;針對聯合統計計算任務外包過程的數據隱私保護問題,提出了一種基于秘密共享的外包MPC 機制,該機制通過引入一組nonce 參數來對參與方的秘密輸入做“加密計算”,借助可驗證秘密共享方案對秘密共享份額做驗證,一方面保證了統計計算結果對各個參與方的公平性,另一方面實現了對參與方輸入的隱私保護。隨后分析了方案的安全性和可行性,理論分析和實驗測試表明,本方案可實現安全多方統計計算過程中數據的可驗證隱私保護,且較Feldman 方案在數據驗證過程中有更小的計算開銷。本方案在實現隱私保護的情況下采用的一次性生成參數方法對參與方和計算節點的本地計算和存儲能力要求比較高,使得本方案的實際應用還有待考慮,未來將針對此問題繼續研究。

參考文獻

[1] 孟小峰,慈祥. 大數據管理:概念、技術與挑戰[J]. 計算機研究與發展,2013,50(1):146-169.

[2] 方濱興,賈焰,李愛平,等. 大數據隱私保護技術綜述[J]. 大數據,2016,2(1):1-18.

[3] GAO H M,MA Z F,LUO S S,et al. BFRMPC:A Blockchainbased Fair and Robust Multiparty ComputationScheme[J]. IEEE Access,2019,7:110439-110450.

[4] QAOSAR M,ZAMAN A,SIDDIQUE M A,et al. Secure kskyband Computation Framework in Distributed Multiparty Databases [J]. Information Sciences,2020,515:388-403.

[5] HOLZER A,FRANZ M,KATZENBEISSER S,et al.Secure Twoparty Computations in ANSI C [C]∥ Proceedings of the 19th ACM Conference on Computer andCommunications Security. Raleigh:Association for Computing Machinery,2012:772-783.

[6] WANG X,MALOZEMOFF A J,KATZ J. EMPtoolkit:Efficient MultiParty Computation Toolkit[EB / OL]. [2023-06-13]. https:∥github. com / emp-toolkit.

[7] JI Z X,ZHANG H G,WANG H Z,et al. QuantumProtocols for Secure Multiparty Summation[J]. QuantumInformation Processing,2019,18(6):168.

[8] VU D H,LUONG T D,HO T B. An Efficient Approach forSecure Multiparty Computation Without AuthenticatedChannel[J]. Information Sciences,2020,527:356-368.

[9] KELLER M. MPSPDZ:A Versatile Framework for Multiparty Computation [C]∥ Proceedings of the 27th ACMSIGSAC Conference on Computer and CommunicationsSecurity. [S. l. ]:Association for Computing Machinery,2020:1575- 1590.

[10] BENOR M,GOLDWASSER S,WIGDERSON A. Completeness Theorems for Noncryptographic FaulttolerantDistributed Computation [C ] ∥ Proceedings of theTwentieth Annual ACM Symposium on Theory of Computing. Chicago:ACM,1988:1-10.

[11] BOGDANOV D,KAMM L,LAUR S,et al. Rmind:A Toolfor Cryptographically Secure Statistical Analysis[J]. IEEETransactions on Dependable & Secure Computing,2014:15(3):481-495.

[12] DE COCK M,DOWSLEY R,NASCIMENTO A C A,et al.Fast, Privacy Preserving Linear Regression overDistributed Datasets Based on Predistributed Data[C]∥In Proceedings of the 8th ACM Workshop on Artificial Intelligence and Security. Denver:Association for ComputingMachinery,2015:3-14.

[13] LIU J,TIAN Y,ZHOU Y,et al. Privacy Preserving Distributed Data Mining Based on Secure Multiparty Computation[J]. Computer Communications,2020,153:208-216.

[14] DU W L,HAN Y S,CHEN S G. Privacypreserving Multivariate Statistical Analysis:Linear Regression and Classification[C]∥Proceedings of the 4th SIAM International Conference on Data Mining. Bethesda:SIAM,2004:222-233.

[15] BOGDANOV D,NIITSOO M,TOFT T,et al. Highperformance Secure Multiparty Computation for Data MiningApplications[J]. International Journal of Information Security,2012,11(6):403-418.

[16] DU W L,ATALLAH M J. Privacypreserving CooperativeStatistical Analysis [C]∥ Seventeenth Annual ComputerSecurity Applications Conference. New Orleans:IEEE,2001:102-110.

[17] 王旭升. 基于區塊鏈的安全多方計算研究與分析[D].蘭州:蘭州理工大學,2021.

[18] 祝烈煌,董慧,沈蒙. 區塊鏈交易數據隱私保護機制[J]. 大數據,2018,4(1):46-56.

[19] SASSON E B,CHIESA A,GARMAN C,et al. Zerocash:Decentralized Anonymous Payments from Bitcoin[C]∥InProc of the 35th IEEE Symposium on Security andPrivacy. Berkeley:IEEE,2014:459-474.

[20] The Enigma Project Team. EnigmaWas Created to Solvethe Privacy Crisis[EB / OL]. [2023 - 10 - 04]. https:∥www. enigma. co / about / Andrychowicz.

[21] ANDRYCHOWICZ M,DZIEMBOWSKI S,MALINOWSKID,et al. Fair Twoparty Computations via Bitcoin Deposits[C]∥ International Conference on Financial Cryptographyand Data Security. Barbados:Springer,2014:105-121.

[22] GUAN Z T,ZHOU X,LIU P,et al. A BlockchainbasedDualside Privacypreserving Multiparty ComputationScheme for Edgeenabled Smart Grid[J]. IEEE Internetof Things Journal,2022,9(16):14287-14299.

[23] YAO A C. Protocols for Secure Computations[C]∥ 23rdAnnual IEEE Symposium on Foundations of ComputerScience. Chicago:IEEE,1982:160-164.

[24] GOLDREICH O,MICALI S,WIGDERSON A. How toPlay ANY Mental Game[C]∥ STOC’87:Proceedings ofthe Nineteenth Annual ACM Symposium on Theory ofComputing. New York:Association for Computing Machinery,1987:218-229.

[25] SHAMIR A. How to Share a Secret[J]. Communicationsof the ACM,1979,22(11):612-613.

[26] 石潤華,黃劉生. 一種簡單的可驗證秘密共享方案[J]. 計算機應用,2006(8):1821-1823.

[27] FELDMAN P. A Practical Scheme for NoninteractiveVerifiable Secret Sharing[C]∥ 28th Annual Symposiumon Foundations of Computer Science. Los Angeles:IEEE,1987:427-438.

[28] 夏琦,高建彬. 區塊鏈數據主權技術[M]. 北京:科學出版社,2020.

[29] SIFAH E B,XIA Q,XIA H,et al. Selective Sharing of Outsourced Encrypted Data in Cloud Environments[J]. IEEEInternet of Things Journal,2021,8(18):14141-14155.

[30] GAO J B,ADJEIARTHUR B,SIFAH E B,et al. SupplyChain Equilibrium on a Game Theoryincentivized Blockchain Network[J]. Journal of Industrial Information Integration,2022,26:100288.

[31] WANG N,CAI Y Y,FU J S,et al. Information PrivacyProtection Based on Verifiable (t,n)Threshold Multisecret Sharing Scheme [J ]. IEEE Access,2020,8:20799-20804.

作者簡介

夏 虎 男,(1981—),博士,副研究員。主要研究方向:區塊鏈理論與應用、大數據安全。

田 雯 女,(2000—),碩士研究生。主要研究方向:區塊鏈可擴展性。

高建彬 男,(1976—),博士,副教授。主要研究方向:區塊鏈理論與應用、網絡數據安全。

張天義 男,(1996—),碩士研究生。主要研究方向:區塊鏈跨鏈技術。

高 然 男,(2002—)。主要研究方向:區塊鏈共識機制研究。

(通信作者)夏 琦 女,(1979—),博士,教授,博士生導師。主要研究方向:區塊鏈理論與應用、網絡數據安全、大數據安全。

基金項目:國家自然科學基金(U22B2029);四川省科技計劃項目(2023JDRC0001);基礎加強計劃技術領域基金項目(2021JCJQ-JJ0463)

主站蜘蛛池模板: 五月综合色婷婷| 久久久久青草大香线综合精品| 国产女主播一区| 99er这里只有精品| 国产粉嫩粉嫩的18在线播放91| 国产丝袜第一页| 四虎国产精品永久一区| 国产成人亚洲精品色欲AV| 日本午夜三级| 日韩最新中文字幕| 欲色天天综合网| 亚洲人在线| 国产精品视频公开费视频| 亚洲欧美综合另类图片小说区| jizz亚洲高清在线观看| 日韩欧美中文| 日本a级免费| 3344在线观看无码| 久久无码av三级| 久久综合伊人 六十路| 日本伊人色综合网| 91欧洲国产日韩在线人成| 超碰91免费人妻| 婷婷色一二三区波多野衣| 好吊妞欧美视频免费| 国产欧美日韩综合在线第一| 国产精品无码影视久久久久久久| 亚洲欧美不卡视频| 国产精品国产三级国产专业不 | 久久青草精品一区二区三区| 国产亚洲精品无码专| 国产国语一级毛片在线视频| 不卡午夜视频| 精品久久久久久中文字幕女| av尤物免费在线观看| 97视频免费在线观看| 在线看片免费人成视久网下载| 干中文字幕| 全部免费特黄特色大片视频| 国产午夜福利在线小视频| 国产青榴视频| 亚洲精品动漫| 91年精品国产福利线观看久久| 538精品在线观看| 男女猛烈无遮挡午夜视频| 欧美日韩激情在线| 亚洲无码熟妇人妻AV在线| 2020极品精品国产 | 制服丝袜无码每日更新| 久草网视频在线| 美女高潮全身流白浆福利区| 国产成人精品男人的天堂下载| 亚洲日本中文字幕乱码中文 | 欧美成在线视频| 重口调教一区二区视频| 亚洲国产成人精品一二区| 美女国产在线| 日韩欧美视频第一区在线观看| 精品国产自在在线在线观看| 亚洲成在人线av品善网好看| 日本高清有码人妻| 亚洲一级毛片在线观播放| 少妇极品熟妇人妻专区视频| 国产精品欧美日本韩免费一区二区三区不卡| 青青草一区二区免费精品| 亚洲视频二| 人妻丝袜无码视频| 国产一区成人| 香蕉99国内自产自拍视频| 国产在线拍偷自揄拍精品| 2048国产精品原创综合在线| 国产理论最新国产精品视频| 色老头综合网| 久久久久无码国产精品不卡| 国产无码性爱一区二区三区| 久久人与动人物A级毛片| 免费观看成人久久网免费观看| 国产成人区在线观看视频| 成年人福利视频| 久久精品视频亚洲| 免费人成黄页在线观看国产| 久综合日韩|