国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于區(qū)塊鏈的外包安全多方統(tǒng)計(jì)計(jì)算可驗(yàn)證隱私保護(hù)方案

2024-07-17 00:00:00夏虎田雯高建彬張?zhí)炝x高然夏琦
無(wú)線電工程 2024年4期
關(guān)鍵詞:智能合約隱私保護(hù)區(qū)塊鏈

摘 要:安全多方求和/ 乘積是安全多方計(jì)算(Secure MultiParty Computation,MPC) 的一種典型問(wèn)題,近年來(lái)在智能電網(wǎng)、電子投票和聯(lián)合征信等場(chǎng)景中有諸多應(yīng)用。如何實(shí)現(xiàn)數(shù)據(jù)隱私保護(hù)是安全多方求和/ 乘積計(jì)算應(yīng)用領(lǐng)域的一個(gè)關(guān)鍵性問(wèn)題。針對(duì)此問(wèn)題,引入了區(qū)塊鏈構(gòu)建可信數(shù)據(jù)共享環(huán)境,以此為基礎(chǔ)結(jié)合可驗(yàn)證秘密共享協(xié)議設(shè)計(jì)了簡(jiǎn)單可行的基于區(qū)塊鏈的外包安全多方統(tǒng)計(jì)計(jì)算可驗(yàn)證隱私保護(hù)方案。應(yīng)用實(shí)例證明了方案的安全性和可行性,理論分析和實(shí)驗(yàn)測(cè)試表明該方案可實(shí)現(xiàn)安全多方統(tǒng)計(jì)計(jì)算過(guò)程中數(shù)據(jù)的可驗(yàn)證隱私保護(hù),且較Feldman 方案在數(shù)據(jù)驗(yàn)證過(guò)程中有更小的計(jì)算開銷。

關(guān)鍵詞:區(qū)塊鏈;安全多方計(jì)算;智能合約;隱私保護(hù);秘密共享

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)志碼:A 開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):

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

0 引言

隨著信息技術(shù)的發(fā)展,網(wǎng)絡(luò)中的數(shù)據(jù)種類和規(guī)模正以前所未有的速度增大,數(shù)據(jù)從簡(jiǎn)單的處理對(duì)象開始轉(zhuǎn)變?yōu)橐环N基礎(chǔ)性資源[1],已經(jīng)成為眾多企業(yè)和研究者的重點(diǎn)關(guān)注對(duì)象,數(shù)據(jù)分析和數(shù)據(jù)挖掘的廣泛應(yīng)用成為了一個(gè)發(fā)展趨勢(shì)。企業(yè)、運(yùn)營(yíng)商等為了提高自己的利潤(rùn)或其他服務(wù)目的,積極地在各自擁有的數(shù)據(jù)或互聯(lián)網(wǎng)上發(fā)布的數(shù)據(jù)中挖掘其中潛在的價(jià)值[2],但隱私泄露的問(wèn)題也隨之愈加突出。

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

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

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

① 計(jì)算資源稀缺性問(wèn)題:引入?yún)^(qū)塊鏈和MPC結(jié)合后,計(jì)算資源的稀缺性變得尤為明顯,特別是在分布式網(wǎng)絡(luò)中。由于個(gè)人節(jié)點(diǎn)計(jì)算資源有限,如何更有效地利用區(qū)塊鏈系統(tǒng)中的節(jié)點(diǎn)算力成為一個(gè)緊迫的問(wèn)題。盡管某些研究已經(jīng)關(guān)注了這一問(wèn)題,但在實(shí)際應(yīng)用中的解決方案仍然需要更深入的研究。例如,一些方案可能嘗試通過(guò)任務(wù)調(diào)度和資源分配的方式來(lái)最大化節(jié)點(diǎn)的計(jì)算能力。

② 專有計(jì)算節(jié)點(diǎn)利用率挑戰(zhàn):大部分研究側(cè)重于多方參與的計(jì)算過(guò)程,而忽略了在實(shí)際應(yīng)用中,個(gè)人節(jié)點(diǎn)可能需要借助專有計(jì)算節(jié)點(diǎn)進(jìn)行輔助計(jì)算的情況。在這種情況下,如何優(yōu)化專有計(jì)算節(jié)點(diǎn)的利用率成為一個(gè)關(guān)鍵問(wèn)題。尚未有充分解決專有計(jì)算節(jié)點(diǎn)利用率的成熟方案。未來(lái)的研究可以考慮設(shè)計(jì)智能合約或機(jī)制,以更有效地整合和利用專有計(jì)算節(jié)點(diǎn),從而提高整體計(jì)算資源的利用率。

③ 分布式計(jì)算效率問(wèn)題:區(qū)塊鏈本質(zhì)上是一種分布式系統(tǒng),而MPC 需要多個(gè)參與方的合作。在此背景下,如何設(shè)計(jì)計(jì)算任務(wù)的分發(fā)和協(xié)調(diào)機(jī)制,以提高整體計(jì)算效率,降低通信復(fù)雜度,是需要深入研究的方向。已有一些關(guān)注分布式計(jì)算效率的研究,通過(guò)改進(jìn)任務(wù)分發(fā)和協(xié)調(diào)機(jī)制來(lái)提高整體效率。然而,這仍然是一個(gè)不斷發(fā)展的領(lǐng)域,需要更多關(guān)于分布式計(jì)算優(yōu)化的研究。

④ 可擴(kuò)展性問(wèn)題:現(xiàn)有的MPC 協(xié)議設(shè)計(jì)通常局限于對(duì)每個(gè)場(chǎng)景的單一實(shí)踐方案,導(dǎo)致協(xié)議不易擴(kuò)展。在區(qū)塊鏈MPC 中,如何設(shè)計(jì)具有良好可擴(kuò)展性的協(xié)議,以適應(yīng)不同規(guī)模和復(fù)雜度的計(jì)算任務(wù),是一個(gè)需要解決的問(wèn)題。目前已有一些嘗試提高可擴(kuò)展性的工作,但這仍然是一個(gè)挑戰(zhàn)。未來(lái)的研究可以探索更靈活的協(xié)議結(jié)構(gòu)或算法,以實(shí)現(xiàn)更好的可擴(kuò)展性。

⑤ 計(jì)算過(guò)程可驗(yàn)證性問(wèn)題:區(qū)塊鏈要求計(jì)算過(guò)程具有可驗(yàn)證性,以確保計(jì)算結(jié)果的正確性和透明性。在MPC 過(guò)程中實(shí)現(xiàn)計(jì)算結(jié)果的可驗(yàn)證性是一個(gè)亟待解決的挑戰(zhàn)。一些研究已經(jīng)開始考慮如何確保MPC 過(guò)程中計(jì)算結(jié)果的可驗(yàn)證性,以滿足區(qū)塊鏈的公開透明要求。然而,這仍然需要更多的工作來(lái)建立更強(qiáng)大的機(jī)制,確保計(jì)算的合法性。

針對(duì)上述問(wèn)題,本文提出了一種基于區(qū)塊鏈的外包安全多方統(tǒng)計(jì)計(jì)算隱私保護(hù)方案(OutsourcingSecure Multiparty Statistical Computing Privacy Protection Scheme based on Blockchain,OSPPS)。該方案將外包計(jì)算節(jié)點(diǎn)進(jìn)行分簇,可以同時(shí)響應(yīng)多項(xiàng)外包計(jì)算請(qǐng)求,從而充分利用區(qū)塊鏈系統(tǒng)中節(jié)點(diǎn)的算力;針對(duì)聯(lián)合統(tǒng)計(jì)計(jì)算任務(wù)外包過(guò)程中的數(shù)據(jù)不透明問(wèn)題,引入?yún)^(qū)塊鏈構(gòu)建可信執(zhí)行環(huán)境,將執(zhí)行外包計(jì)算任務(wù)的節(jié)點(diǎn)納入?yún)^(qū)塊鏈系統(tǒng)中,構(gòu)建一套帶懲罰機(jī)制的節(jié)點(diǎn)管理智能合約,加強(qiáng)對(duì)節(jié)點(diǎn)的可控管理;針對(duì)聯(lián)合統(tǒng)計(jì)計(jì)算任務(wù)外包過(guò)程的數(shù)據(jù)隱私保護(hù)問(wèn)題,提出基于秘密共享的外包MPC 機(jī)制,使用隨機(jī)參數(shù)對(duì)秘密輸入進(jìn)行混淆,設(shè)計(jì)基于可驗(yàn)證秘密共享協(xié)議的數(shù)據(jù)驗(yàn)證機(jī)制保障MPC 方案的公平性,保證數(shù)據(jù)在傳遞和計(jì)算的過(guò)程中始終以秘密的方式進(jìn)行呈現(xiàn)。

1 相關(guān)技術(shù)

1. 1 MPC

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

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

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

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

1. 2 區(qū)塊鏈技術(shù)

區(qū)塊鏈?zhǔn)欠植际綌?shù)據(jù)存儲(chǔ)、點(diǎn)對(duì)點(diǎn)傳輸、共識(shí)機(jī)制和加密算法等技術(shù)的集成應(yīng)用,是使用密碼技術(shù)將共識(shí)確認(rèn)過(guò)的區(qū)塊按順序追加而形成的分布式賬本[28]。區(qū)塊鏈的意義在于消除對(duì)中心化實(shí)體的需求,以協(xié)調(diào)網(wǎng)絡(luò)中交易方之間的交易或流程[29]。2008 年,比特幣的誕生標(biāo)志著區(qū)塊鏈技術(shù)的第一次落地應(yīng)用,此后,區(qū)塊鏈技術(shù)不斷發(fā)展,其應(yīng)用從最初的金融領(lǐng)域,已經(jīng)延伸到物聯(lián)網(wǎng)、智能制造、供應(yīng)鏈管理和數(shù)字資產(chǎn)交易等多個(gè)領(lǐng)域。

智能合約是由Nick Szabo 在20 世紀(jì)90 年代提出的概念,由于缺乏可信環(huán)境而未能實(shí)現(xiàn)實(shí)際應(yīng)用,區(qū)塊鏈技術(shù)本身包含的可信執(zhí)行環(huán)境特性與智能合約要求天然契合,在區(qū)塊鏈2. 0 時(shí)代,智能合約賦予區(qū)塊鏈可編程的特性,可以存儲(chǔ)價(jià)值和維持自己的狀態(tài)?;趨^(qū)塊鏈技術(shù)的智能合約不僅使流程自動(dòng)化,而且使結(jié)果難以篡改,這確保了對(duì)系統(tǒng)的信任[30]。將智能合約以數(shù)字化的形式寫入?yún)^(qū)塊鏈中,通過(guò)區(qū)塊鏈技術(shù)的特性來(lái)保障數(shù)據(jù)的存儲(chǔ)、讀取和執(zhí)行,實(shí)現(xiàn)整個(gè)過(guò)程透明可跟蹤、不可篡改。同時(shí),由區(qū)塊鏈自帶的共識(shí)算法構(gòu)建出的一套狀態(tài)機(jī)系統(tǒng)將使得智能合約的運(yùn)行非常高效。

2 方案模型

方案的總體體系結(jié)構(gòu)如圖2 所示,該系統(tǒng)為滿足數(shù)據(jù)外包計(jì)算過(guò)程中的隱私保護(hù),改變了傳統(tǒng)貨幣區(qū)塊鏈系統(tǒng)中礦工的算力打包區(qū)塊獲取利益的方式,部分節(jié)點(diǎn)可作為MPC 節(jié)點(diǎn)按照不同的計(jì)算需要作為服務(wù)提供方完成鏈下節(jié)點(diǎn)的外包計(jì)算過(guò)程從而獲得收益,因此本系統(tǒng)除了數(shù)據(jù)外有3 種角色,分別是MPC 參與方、計(jì)算節(jié)點(diǎn)和驗(yàn)證節(jié)點(diǎn)。

MPC 參與方:MPC 參與方是系統(tǒng)的被服務(wù)方,享受區(qū)塊鏈系統(tǒng)中的節(jié)點(diǎn)提供的安全計(jì)算的服務(wù)并支付一定量的傭金,負(fù)責(zé)將數(shù)據(jù)以秘密共享的形式傳到服務(wù)方節(jié)點(diǎn)中,參與方集合要求人數(shù)至少為2,他們需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理以保證數(shù)據(jù)分發(fā)過(guò)程中的安全性。

計(jì)算節(jié)點(diǎn):MPC 數(shù)據(jù)計(jì)算過(guò)程由計(jì)算節(jié)點(diǎn)參與,既要從區(qū)塊鏈上讀取和計(jì)算任務(wù)相關(guān)的參數(shù),如參與者的公鑰集合,還要負(fù)責(zé)與驗(yàn)證節(jié)點(diǎn)就數(shù)據(jù)處理過(guò)程的有效性進(jìn)行確認(rèn)。

驗(yàn)證節(jié)點(diǎn):驗(yàn)證節(jié)點(diǎn)需要對(duì)MPC 參與方的計(jì)算任務(wù)進(jìn)行審核,包括任務(wù)的傭金是否滿足需要,并決定管理的計(jì)算節(jié)點(diǎn)是否參與計(jì)算任務(wù)以及哪些節(jié)點(diǎn)參與計(jì)算任務(wù)。

3 基于區(qū)塊鏈的外包安全多方統(tǒng)計(jì)計(jì)算可驗(yàn)證隱私保護(hù)模型設(shè)計(jì)理念

3. 1 計(jì)算節(jié)點(diǎn)管理

計(jì)算節(jié)點(diǎn)可以看作是區(qū)塊鏈系統(tǒng)中特殊的“礦工”,區(qū)塊鏈系統(tǒng)中的正常事務(wù)處理的打包由記賬節(jié)點(diǎn)負(fù)責(zé),而計(jì)算節(jié)點(diǎn)可以利用自己的計(jì)算資源“承接”外包計(jì)算任務(wù),由于是鏈上節(jié)點(diǎn),其數(shù)據(jù)處理全過(guò)程受區(qū)塊鏈監(jiān)管,處理過(guò)程透明且自動(dòng)化執(zhí)行,保證了系統(tǒng)的安全可信。針對(duì)計(jì)算節(jié)點(diǎn)在模型中參與的通信過(guò)程設(shè)計(jì)了3 類智能合約來(lái)實(shí)現(xiàn)對(duì)計(jì)算節(jié)點(diǎn)的全生命周期管控,下面是這3 類智能合約及其各自詳細(xì)設(shè)計(jì)說(shuō)明。

(1)初始化合約(IeC)

為了充分利用計(jì)算節(jié)點(diǎn)的計(jì)算資源,在系統(tǒng)創(chuàng)世區(qū)塊產(chǎn)生后需要執(zhí)行IeC 的內(nèi)容,將區(qū)塊鏈系統(tǒng)中滿足信譽(yù)值條件且計(jì)算能力足夠的節(jié)點(diǎn)進(jìn)行分簇,在每簇中選取一個(gè)簇頭節(jié)點(diǎn)負(fù)責(zé)外包計(jì)算任務(wù)的轉(zhuǎn)接響應(yīng)、維護(hù)簇內(nèi)可通信列表等任務(wù)。

合約邏輯如下:

① 驗(yàn)證節(jié)點(diǎn)發(fā)布多項(xiàng)簡(jiǎn)易計(jì)算任務(wù)以及任務(wù)最晚完成時(shí)限。

② 時(shí)限截止時(shí),驗(yàn)證節(jié)點(diǎn)收集已完成所有計(jì)算任務(wù)的礦工節(jié)點(diǎn),并將其組成計(jì)算節(jié)點(diǎn)集合。

③ 驗(yàn)證節(jié)點(diǎn)基于圖的算法指定N 個(gè)計(jì)算節(jié)點(diǎn)簇的簇組節(jié)點(diǎn)。其余計(jì)算節(jié)點(diǎn)根據(jù)通信響應(yīng)時(shí)長(zhǎng)最短原則自動(dòng)加入某個(gè)計(jì)算節(jié)點(diǎn)簇。節(jié)點(diǎn)選擇完成后,計(jì)算節(jié)點(diǎn)簇內(nèi)共同維護(hù)一個(gè)可通信列表和簇狀態(tài)數(shù)組。

④ 初始化各計(jì)算節(jié)點(diǎn)簇的平均信譽(yù)值為系統(tǒng)初始值。

(2)計(jì)算節(jié)點(diǎn)簇選取合約(SeC)

為了保證承擔(dān)數(shù)據(jù)用戶發(fā)起的外包計(jì)算請(qǐng)求時(shí)選取的計(jì)算節(jié)點(diǎn)簇的公平性,對(duì)于每一個(gè)驗(yàn)證通過(guò)的外包計(jì)算請(qǐng)求,驗(yàn)證節(jié)點(diǎn)需要通過(guò)SeC 選取出執(zhí)行該請(qǐng)求的計(jì)算節(jié)點(diǎn)簇。該合約的設(shè)計(jì)理念是平均信譽(yù)值越高的計(jì)算節(jié)點(diǎn)簇被選取的概率越大。

合約偽代碼如下:

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

if Verify(SigGWit)= = true then

# 用于存儲(chǔ)符合條件的計(jì)算節(jié)點(diǎn)簇及其權(quán)重

validNodes = []

# 計(jì)算符合條件的計(jì)算節(jié)點(diǎn)簇的總權(quán)重

totalWeight = 0

# 遍歷計(jì)算節(jié)點(diǎn)簇?cái)?shù)組,篩選出信譽(yù)值大于等于閾值的節(jié)點(diǎn)簇

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]的隨機(jī)數(shù)

selectNum = rand(0,totalWeight)

∥根據(jù)隨機(jī)數(shù)選擇計(jì)算節(jié)點(diǎn)簇

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

# 返回選取的計(jì)算節(jié)點(diǎn)簇

return selectedNode

end if

end function

(3)計(jì)算節(jié)點(diǎn)獎(jiǎng)懲合約(ReC)

為了實(shí)現(xiàn)對(duì)計(jì)算節(jié)點(diǎn)行為的正向激勵(lì)、維護(hù)系統(tǒng)穩(wěn)定,設(shè)計(jì)了ReC,其設(shè)計(jì)理念是計(jì)算節(jié)點(diǎn)正確執(zhí)行外包計(jì)算任務(wù)要求的數(shù)據(jù)交互和數(shù)據(jù)計(jì)算后將獲得任務(wù)對(duì)應(yīng)的獎(jiǎng)勵(lì)費(fèi)用并提升信譽(yù)值;反之則扣除承擔(dān)任務(wù)時(shí)抵付的押金并降低信譽(yù)值。

合約邏輯如下:節(jié)點(diǎn)激勵(lì)機(jī)制旨在通過(guò)激勵(lì)層分配獎(jiǎng)勵(lì),推動(dòng)節(jié)點(diǎn)正確執(zhí)行區(qū)塊鏈協(xié)議。機(jī)制貫穿MPC 合約執(zhí)行全過(guò)程,確保計(jì)算節(jié)點(diǎn)簇和鏈下用戶節(jié)點(diǎn)數(shù)據(jù)計(jì)算正確。對(duì)鏈下用戶,驗(yàn)證輸入正確性,不通過(guò)將沒(méi)收押金。對(duì)鏈上計(jì)算節(jié)點(diǎn),按輪次驗(yàn)證計(jì)算結(jié)果,通過(guò)則獎(jiǎng)勵(lì)信譽(yù)值和服務(wù)費(fèi)用,不通過(guò)則扣信譽(yù)值和押金。驗(yàn)證通過(guò)的計(jì)算節(jié)點(diǎn)獲得獎(jiǎng)勵(lì),未通過(guò)的節(jié)點(diǎn)受到懲罰。

3. 2 共識(shí)算法

本模型中驗(yàn)證節(jié)點(diǎn)按照共識(shí)算法完成對(duì)外包計(jì)算請(qǐng)求的響應(yīng)、計(jì)算節(jié)點(diǎn)簇的選取和計(jì)算節(jié)點(diǎn)的行為監(jiān)督等工作。針對(duì)驗(yàn)證節(jié)點(diǎn)在模型中參與的通信過(guò)程設(shè)計(jì)了共識(shí)算法來(lái)實(shí)現(xiàn)對(duì)驗(yàn)證節(jié)點(diǎn)的行為監(jiān)督和區(qū)塊鏈?zhǔn)聞?wù)的狀態(tài)同步。共識(shí)算法按輪次T1 進(jìn)行,在每一個(gè)輪次T1 中有一個(gè)proposer 節(jié)點(diǎn)負(fù)責(zé)當(dāng)前輪次的任務(wù)并發(fā)起投票,其余驗(yàn)證節(jié)點(diǎn)做出投票響應(yīng)和彼此間狀態(tài)同步。對(duì)于每一個(gè)外包安全多方統(tǒng)計(jì)計(jì)算任務(wù),驗(yàn)證節(jié)點(diǎn)是否接受任務(wù)請(qǐng)求的響應(yīng)算法如算法1 所示。

驗(yàn)證節(jié)點(diǎn)若同意了MPC 參與方集體發(fā)起的外包計(jì)算任務(wù)請(qǐng)求,則在選擇好具體的計(jì)算節(jié)點(diǎn)簇后需要將計(jì)算節(jié)點(diǎn)簇的有關(guān)信息告知給MPC 參與方集體,MPC 參與方集體將自己的秘密輸入分配給計(jì)算節(jié)點(diǎn)簇中的各計(jì)算節(jié)點(diǎn),再由驗(yàn)證節(jié)點(diǎn)隨機(jī)選?。魝€(gè)計(jì)算節(jié)點(diǎn),逐一對(duì)它們從MPC 參與方集體處獲取到的秘密份額和可驗(yàn)證秘密份額做份額驗(yàn)證,驗(yàn)證共識(shí)算法如算法2 所示。

若MPC 參與方集體提供的秘密輸入均通過(guò)驗(yàn)證后則計(jì)算節(jié)點(diǎn)開始按照外包安全多方統(tǒng)計(jì)計(jì)算的任務(wù)需要執(zhí)行數(shù)據(jù)交互和數(shù)據(jù)計(jì)算,數(shù)據(jù)交互按輪次T2 進(jìn)行,在每個(gè)T2 輪次中由驗(yàn)證節(jié)點(diǎn)按照算法執(zhí)行對(duì)計(jì)算節(jié)點(diǎn)的行為監(jiān)督。

若MPC 參與方集體在一定時(shí)限內(nèi)沒(méi)有收到外包計(jì)算請(qǐng)求的響應(yīng)結(jié)果或者被通知需要重新發(fā)起外包計(jì)算請(qǐng)求,則可以重新發(fā)起一條費(fèi)用為0 的相同任務(wù)編號(hào)的外包計(jì)算請(qǐng)求,由新輪次的proposer 節(jié)點(diǎn)按照共識(shí)算法執(zhí)行響應(yīng),具體算法如算法3 所示。

3. 3 數(shù)據(jù)驗(yàn)證機(jī)制

為了增強(qiáng)對(duì)數(shù)據(jù)用戶即MPC 參與方集體的行為約束設(shè)計(jì)的數(shù)據(jù)驗(yàn)證機(jī)制是本方案的重要內(nèi)容,也是保證MPC 參與方集體正確執(zhí)行數(shù)據(jù)預(yù)處理操作的重要支撐。其設(shè)計(jì)理念是借助可驗(yàn)證秘密共享方案對(duì)基于同態(tài)秘密共享方案的秘密份額進(jìn)行驗(yàn)證,旨在在保護(hù)秘密輸入的隱私安全的前提下以較小的驗(yàn)證計(jì)算消耗完成數(shù)據(jù)驗(yàn)證。數(shù)據(jù)驗(yàn)證機(jī)制包含如下3 個(gè)過(guò)程。

① 數(shù)據(jù)秘密共享。MPC 參與方集體從驗(yàn)證節(jié)點(diǎn)獲取到所選的計(jì)算節(jié)點(diǎn)簇的有關(guān)信息和一組隨機(jī)數(shù)后,利用隨機(jī)數(shù)將自己的真實(shí)秘密輸入做混淆處理,再利用類似文獻(xiàn)[31]中的方法和同態(tài)Shamir 算法分別生成可驗(yàn)證秘密份額和秘密份額Sinput _share 一起分發(fā)出去。

② 可驗(yàn)證秘密份額驗(yàn)證。proposer 節(jié)點(diǎn)從計(jì)算節(jié)點(diǎn)簇中隨機(jī)選擇t 個(gè)計(jì)算節(jié)點(diǎn),t 個(gè)所選計(jì)算節(jié)點(diǎn)利用各自的私鑰和MPC 參與方集體的公鑰計(jì)算出各自的Y 給驗(yàn)證節(jié)點(diǎn),驗(yàn)證節(jié)點(diǎn)對(duì)t 個(gè)計(jì)算節(jié)點(diǎn)提供的Y 逐一作判斷驗(yàn)證計(jì)算節(jié)點(diǎn)提供的可驗(yàn)證秘密份額是否正確。

③ 秘密份額重構(gòu)驗(yàn)證。只有所選的t 個(gè)計(jì)算節(jié)點(diǎn)均通過(guò)可驗(yàn)證秘密份額驗(yàn)證時(shí)才執(zhí)行秘密份額重構(gòu)驗(yàn)證。其設(shè)計(jì)理念是將所選t 個(gè)計(jì)算節(jié)點(diǎn)的Y、公鑰連同MPC 參與方集體提供的已知參數(shù)一起作為輸入,按照插值公式構(gòu)建出可驗(yàn)證秘密重構(gòu)結(jié)果,所得結(jié)果與t 個(gè)計(jì)算節(jié)點(diǎn)的秘密份額Sinput_share 的重構(gòu)結(jié)果做對(duì)比,一致則驗(yàn)證通過(guò);反之則不通過(guò)。

3. 4 安全目標(biāo)

本方案的目標(biāo)是設(shè)計(jì)一種基于區(qū)塊鏈的外包并行MPC 隱私保護(hù)方案。特別地,本文所提的方案需要達(dá)到以下幾點(diǎn)需求。

① 高效性。本文所提出的方案可以同時(shí)實(shí)現(xiàn)多組外包MPC 的快速響應(yīng)需要,且不降低MPC 結(jié)果的準(zhǔn)確性。

② 安全性。參與方的秘密輸入數(shù)據(jù)、MPC 協(xié)議中間計(jì)算結(jié)果的隱私安全應(yīng)該得到保證。參與方不能“偽造”秘密輸入份額、計(jì)算節(jié)點(diǎn)不能“偽造”中間計(jì)算結(jié)果且驗(yàn)證節(jié)點(diǎn)不能“偽造”計(jì)算請(qǐng)求的響應(yīng)結(jié)果和計(jì)算節(jié)點(diǎn)的輪次交互驗(yàn)證結(jié)果。

③ 準(zhǔn)確性。在滿足一定數(shù)量的可信計(jì)算節(jié)點(diǎn)的情況下MPC 的結(jié)果具有確定性和準(zhǔn)確性。

4 方案流程

前述的模型設(shè)計(jì)理念給出了方案成立的基本條件,即驗(yàn)證節(jié)點(diǎn)受共識(shí)算法鉗制能夠?qū)ν獍?jì)算請(qǐng)求的響應(yīng)、秘密輸入的有效性驗(yàn)證、計(jì)算節(jié)點(diǎn)的行為驗(yàn)證3 個(gè)過(guò)程做出正確響應(yīng)結(jié)果;MPC 參與方受數(shù)據(jù)驗(yàn)證機(jī)制影響需要嚴(yán)格執(zhí)行方案要求;計(jì)算節(jié)點(diǎn)受計(jì)算節(jié)點(diǎn)管理合約的管控,出于長(zhǎng)期利益考慮將正確執(zhí)行外包計(jì)算任務(wù)。方案共分為MPC 任務(wù)請(qǐng)求的發(fā)起階段、MPC 任務(wù)請(qǐng)求的響應(yīng)階段、秘密輸入的共享及驗(yàn)證階段、輔助驗(yàn)證階段和結(jié)果輸出階段。具體符號(hào)說(shuō)明如表1 所示。

4. 1 MPC 任務(wù)請(qǐng)求的發(fā)起階段

某一MPC 參與方集體Puser 經(jīng)過(guò)協(xié)商一致完成某一統(tǒng)計(jì)計(jì)算智能合約MPCContract 的設(shè)計(jì),合約包含兩部分;一部分是統(tǒng)計(jì)計(jì)算函數(shù);另一部分是輔助驗(yàn)證函數(shù)。隨后發(fā)送帶有群簽名的合約信息給集體中的某一位確定成員PM 進(jìn)行合約部署。PM 驗(yàn)證群簽名是否正確,驗(yàn)證通過(guò)PM 將該合約編譯部署到區(qū)塊鏈上,并返回合約標(biāo)識(shí)task_ID 等信息。

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

MPC 參與方集體Puser 各自生成了有關(guān)參數(shù)并成功部署了統(tǒng)計(jì)計(jì)算智能合約以后即可發(fā)起MPC計(jì)算請(qǐng)求message(Siguser,task_ID,gas,{[gi,Ni,Qi,Mi],i∈[1, Puser ]},請(qǐng)求由合約部署者PM 發(fā)起,請(qǐng)求內(nèi)容包含簽名、合約標(biāo)識(shí)和任務(wù)支付費(fèi)用等信息。

4. 2 MPC 任務(wù)請(qǐng)求的響應(yīng)階段

鏈上驗(yàn)證節(jié)點(diǎn)收到請(qǐng)求以后調(diào)用算法1 驗(yàn)證請(qǐng)求是否通過(guò),驗(yàn)證內(nèi)容包括對(duì)簽名的有效性驗(yàn)證及參與方對(duì)該任務(wù)的支付費(fèi)用gas 是否大于任務(wù)難度映射的費(fèi)用e(task_ID). gas,映射關(guān)系為任務(wù)難度越大支付費(fèi)用越高,任務(wù)難度由統(tǒng)計(jì)計(jì)算智能合約轉(zhuǎn)化為布爾電路的電路層級(jí)數(shù)和門數(shù)決定。驗(yàn)證通過(guò)后驗(yàn)證節(jié)點(diǎn)將調(diào)用計(jì)算節(jié)點(diǎn)SeC,選取出用于執(zhí)行計(jì)算任務(wù)的計(jì)算節(jié)點(diǎn)簇select_N。

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

4. 3 秘密輸入的共享及驗(yàn)證階段

MPC 參與方集體Puser 收到來(lái)自驗(yàn)證節(jié)點(diǎn)的接受請(qǐng)求響應(yīng)以后各參與方隨機(jī)選?。睿铮睿悖澹?,需要將自己的秘密輸入與noncei 計(jì)算后通過(guò)秘密共享的方式分發(fā)給選定的計(jì)算節(jié)點(diǎn)。這可以保證秘密共享份額驗(yàn)證時(shí)的正確性。以一個(gè)參與者將自己的秘密輸入利用秘密共享進(jìn)行共享及驗(yàn)證舉例說(shuō)明。假定所選的計(jì)算節(jié)點(diǎn)簇的計(jì)算節(jié)點(diǎn)總數(shù)為n,秘密共享門限閾值為t。一個(gè)擁有秘密輸入的參與方Puseri 計(jì)算Ri = PKSKi I modN 并使用n +1 個(gè)點(diǎn)(0,S +noncei ),(PK1 ,R1 ),…,(PKn,Rn )去構(gòu)建n 階多項(xiàng)式f(x)modQ,如式(2)所示:

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

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

YMvi = PKvi modN。(3)

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

4. 4 輔助驗(yàn)證階段

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

4. 5 結(jié)果輸出階段

計(jì)算節(jié)點(diǎn)簇中的計(jì)算節(jié)點(diǎn)完成MPC 計(jì)算智能合約操作以后返回給各參與方計(jì)算結(jié)果份額Soutput_share,各參與方收到t 個(gè)Soutput_share 以后利用秘密共享方案進(jìn)行秘密統(tǒng)計(jì)計(jì)算結(jié)果重構(gòu),重構(gòu)結(jié)果即為真實(shí)輸出結(jié)果。此時(shí)proposer 節(jié)點(diǎn)將該MPC 計(jì)算請(qǐng)求從待處理的外包計(jì)算請(qǐng)求池中進(jìn)行剔除。

5 隱私安全分析

5. 1 身份隱私保護(hù)

為了隱藏MPC 參與方集體共識(shí)通過(guò)后發(fā)起計(jì)算任務(wù)請(qǐng)求的發(fā)起者身份,使用了Chaum 提出的群簽名技術(shù),群簽名既可以實(shí)現(xiàn)一個(gè)參與者代表群體進(jìn)行簽名,又能實(shí)現(xiàn)在群管理者的參與下對(duì)簽名者身份的可追蹤性。

5. 2 數(shù)據(jù)安全

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

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

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

假設(shè)MPC 參與方集體中的一個(gè)參與方Pi 從驗(yàn)證節(jié)點(diǎn)返回的隨機(jī)數(shù)參數(shù)中隨機(jī)選取出一個(gè),和自身的私密輸入數(shù)據(jù)做統(tǒng)計(jì)計(jì)算所得結(jié)果為混淆秘密輸入Si。則該參與方可能進(jìn)行的偽造秘密份額操作的情況有以下幾種:

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

證明:根據(jù)文獻(xiàn)[29]證明計(jì)算節(jié)點(diǎn)簇中的任意t 個(gè)計(jì)算節(jié)點(diǎn)的可驗(yàn)證秘密份額做一定計(jì)算需要滿足式(3)才被認(rèn)為可驗(yàn)證秘密份額正確可知,只要驗(yàn)證節(jié)點(diǎn)隨機(jī)選取一組包含t 個(gè)計(jì)算節(jié)點(diǎn)的集合A = {Pv 1 ,Pv 2 ,…,Pvt},每個(gè)計(jì)算節(jié)點(diǎn)計(jì)算Yvi 并發(fā)送給驗(yàn)證節(jié)點(diǎn),則可將Yvi 做式(5)的變化驗(yàn)證計(jì)算節(jié)點(diǎn)是否為誠(chéng)實(shí)節(jié)點(diǎn)。

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

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

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

證明:根據(jù)文獻(xiàn)[31]中的安全性證明可知,參與方提供給驗(yàn)證節(jié)點(diǎn)的可驗(yàn)證秘密份額存在一個(gè)或多個(gè)偽造份額時(shí),驗(yàn)證節(jié)點(diǎn)從計(jì)算節(jié)點(diǎn)簇中隨機(jī)選?。?個(gè)計(jì)算節(jié)點(diǎn),這些節(jié)點(diǎn)各自計(jì)算Yvi = PKSKvi 0 modN 并發(fā)送給驗(yàn)證節(jié)點(diǎn),由于可驗(yàn)證秘密份額均正確故可得到Yvi 滿足式(3)。

此時(shí)驗(yàn)證節(jié)點(diǎn)認(rèn)為該t 個(gè)計(jì)算節(jié)點(diǎn)可以重構(gòu)出真實(shí)秘密,而由于插值公式的特性可知重構(gòu)出的n 階多項(xiàng)式不等同于原來(lái)的多項(xiàng)式,所得結(jié)果與shamir 重構(gòu)結(jié)果不一致故可證得參與方提供的秘密份額有誤,即可對(duì)參與方進(jìn)行追責(zé)。

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

證明:同②的證明。

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

如5. 1 節(jié)的描述,MPC 參與方集體中的每個(gè)參與方將自己的秘密輸入Sinput 聯(lián)合隨機(jī)選取的參數(shù)nonce 一起進(jìn)行統(tǒng)計(jì)計(jì)算得到最終秘密輸入S,該秘密輸入經(jīng)過(guò)可驗(yàn)證秘密共享和shamir 秘密共享后發(fā)送出去,再由驗(yàn)證節(jié)點(diǎn)對(duì)秘密份額做重構(gòu)可得到S′= S″= S 。

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

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

由5. 1 節(jié)可知,驗(yàn)證節(jié)點(diǎn)將生成一組統(tǒng)計(jì)計(jì)算結(jié)果為0 或1 的隨機(jī)數(shù)參數(shù)集合{nonce},而MPC參與方集體Puser 中的參與方隨機(jī)選取一個(gè)參數(shù)與自身秘密輸入進(jìn)行統(tǒng)計(jì)計(jì)算得到最終秘密輸入S。由方案的安全模型可知,驗(yàn)證節(jié)點(diǎn)是誠(chéng)實(shí)節(jié)點(diǎn)其不會(huì)與參與方串通公布參與方的最終秘密輸入S。涉及利益需要的參與者合謀攻擊是針對(duì)隨機(jī)數(shù)參數(shù)的一類攻擊,是指攻擊者與MPC 參與方集體Puser 中的一個(gè)或多個(gè)參與者聯(lián)合起來(lái),根據(jù)計(jì)算節(jié)點(diǎn)返回的計(jì)算結(jié)果以及各自的隨機(jī)數(shù)參數(shù){noncepi },試圖破解出誠(chéng)實(shí)參與方的秘密輸入Sinput。

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

6 實(shí)驗(yàn)分析

為了測(cè)試本文提出的外包安全多方統(tǒng)計(jì)計(jì)算,進(jìn)行了理論分析和實(shí)驗(yàn)評(píng)估。根據(jù)方案流程說(shuō)明的具體運(yùn)行步驟,將數(shù)據(jù)流通過(guò)程涉及的數(shù)據(jù)計(jì)算分為3 個(gè)過(guò)程,分別是可驗(yàn)證秘密份額和秘密份額的分發(fā)(Setup)、可驗(yàn)證秘密份額的驗(yàn)證和可驗(yàn)證秘密份額重構(gòu)結(jié)果與秘密份額重構(gòu)結(jié)果進(jìn)行比較的完整驗(yàn)證過(guò)程(Verify)、同態(tài)秘密共享的秘密份額計(jì)算與秘密結(jié)果重構(gòu)的完整重構(gòu)過(guò)程(Get)。

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

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

由表2 和圖3 可知,本文方案在Setup 階段的計(jì)算復(fù)雜性略高于Feldman 方案在該階段的計(jì)算量,而在Verify 階段Feldman 方案隨著秘密份額份數(shù)的增大與本文方案的計(jì)算差異也越大,這是因?yàn)槟3擞?jì)算對(duì)計(jì)算量的影響較大。圖3 中3 個(gè)階段與秘密份額份數(shù)大小呈線性增長(zhǎng)關(guān)系是因?yàn)槊孛芊蓊~份數(shù)越大,Setup 階段本文方案產(chǎn)生的可驗(yàn)證秘密份額的模乘次數(shù)和秘密份額的計(jì)算次數(shù)呈線性比例越大,而Verify 階段本文方案選取的驗(yàn)證節(jié)點(diǎn)數(shù)固定所以模乘計(jì)算量差別不大,總的計(jì)算量增長(zhǎng)緩慢。

為了確保MPC 的準(zhǔn)確性,采取以下措施進(jìn)行檢驗(yàn)與證明。首先,在計(jì)算過(guò)程中每一步都經(jīng)過(guò)一定數(shù)量的可信計(jì)算節(jié)點(diǎn)的確認(rèn),確保每個(gè)階段的計(jì)算結(jié)果都經(jīng)過(guò)了足夠的驗(yàn)證,防止?jié)撛诘腻e(cuò)誤或惡意操作;然后,引入可驗(yàn)證秘密份額的驗(yàn)證過(guò)程(Verify),對(duì)生成的秘密份額進(jìn)行驗(yàn)證,確保其符合預(yù)期的數(shù)學(xué)屬性,檢查在Setup 階段生成的可驗(yàn)證秘密份額是否滿足規(guī)定的條件,從而提高計(jì)算結(jié)果的可信度;最后,在同態(tài)秘密共享的秘密份額計(jì)算與重構(gòu)的過(guò)程(Get)中,強(qiáng)調(diào)對(duì)計(jì)算結(jié)果的驗(yàn)證,確保在最終結(jié)果的計(jì)算中沒(méi)有錯(cuò)誤,且結(jié)果是基于正確的秘密份額進(jìn)行的。

通過(guò)以上準(zhǔn)確性驗(yàn)證與證明措施,可以確保該MPC 方案在滿足一定數(shù)量的可信計(jì)算節(jié)點(diǎn)的情況下,結(jié)果具有高度的準(zhǔn)確性和可信度。

7 結(jié)束語(yǔ)

本文主要介紹了基于區(qū)塊鏈的外包安全多方統(tǒng)計(jì)計(jì)算可驗(yàn)證隱私保護(hù)方案,首先針對(duì)數(shù)據(jù)外包MPC 過(guò)程中數(shù)據(jù)不透明問(wèn)題,依托區(qū)塊鏈構(gòu)建可信執(zhí)行環(huán)境,將執(zhí)行外包計(jì)算任務(wù)的節(jié)點(diǎn)納入?yún)^(qū)塊鏈系統(tǒng)中,利用智能合約實(shí)現(xiàn)對(duì)節(jié)點(diǎn)的全行為監(jiān)督;針對(duì)聯(lián)合統(tǒng)計(jì)計(jì)算任務(wù)外包過(guò)程的數(shù)據(jù)隱私保護(hù)問(wèn)題,提出了一種基于秘密共享的外包MPC 機(jī)制,該機(jī)制通過(guò)引入一組nonce 參數(shù)來(lái)對(duì)參與方的秘密輸入做“加密計(jì)算”,借助可驗(yàn)證秘密共享方案對(duì)秘密共享份額做驗(yàn)證,一方面保證了統(tǒng)計(jì)計(jì)算結(jié)果對(duì)各個(gè)參與方的公平性,另一方面實(shí)現(xiàn)了對(duì)參與方輸入的隱私保護(hù)。隨后分析了方案的安全性和可行性,理論分析和實(shí)驗(yàn)測(cè)試表明,本方案可實(shí)現(xiàn)安全多方統(tǒng)計(jì)計(jì)算過(guò)程中數(shù)據(jù)的可驗(yàn)證隱私保護(hù),且較Feldman 方案在數(shù)據(jù)驗(yàn)證過(guò)程中有更小的計(jì)算開銷。本方案在實(shí)現(xiàn)隱私保護(hù)的情況下采用的一次性生成參數(shù)方法對(duì)參與方和計(jì)算節(jié)點(diǎn)的本地計(jì)算和存儲(chǔ)能力要求比較高,使得本方案的實(shí)際應(yīng)用還有待考慮,未來(lái)將針對(duì)此問(wèn)題繼續(xù)研究。

參考文獻(xiàn)

[1] 孟小峰,慈祥. 大數(shù)據(jù)管理:概念、技術(shù)與挑戰(zhàn)[J]. 計(jì)算機(jī)研究與發(fā)展,2013,50(1):146-169.

[2] 方濱興,賈焰,李愛平,等. 大數(shù)據(jù)隱私保護(hù)技術(shù)綜述[J]. 大數(shù)據(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] 王旭升. 基于區(qū)塊鏈的安全多方計(jì)算研究與分析[D].蘭州:蘭州理工大學(xué),2021.

[18] 祝烈煌,董慧,沈蒙. 區(qū)塊鏈交易數(shù)據(jù)隱私保護(hù)機(jī)制[J]. 大數(shù)據(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] 石潤(rùn)華,黃劉生. 一種簡(jiǎn)單的可驗(yàn)證秘密共享方案[J]. 計(jì)算機(jī)應(yīng)用,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] 夏琦,高建彬. 區(qū)塊鏈數(shù)據(jù)主權(quán)技術(shù)[M]. 北京:科學(xué)出版社,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.

作者簡(jiǎn)介

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

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

高建彬 男,(1976—),博士,副教授。主要研究方向:區(qū)塊鏈理論與應(yīng)用、網(wǎng)絡(luò)數(shù)據(jù)安全。

張?zhí)炝x 男,(1996—),碩士研究生。主要研究方向:區(qū)塊鏈跨鏈技術(shù)。

高 然 男,(2002—)。主要研究方向:區(qū)塊鏈共識(shí)機(jī)制研究。

(通信作者)夏 琦 女,(1979—),博士,教授,博士生導(dǎo)師。主要研究方向:區(qū)塊鏈理論與應(yīng)用、網(wǎng)絡(luò)數(shù)據(jù)安全、大數(shù)據(jù)安全。

基金項(xiàng)目:國(guó)家自然科學(xué)基金(U22B2029);四川省科技計(jì)劃項(xiàng)目(2023JDRC0001);基礎(chǔ)加強(qiáng)計(jì)劃技術(shù)領(lǐng)域基金項(xiàng)目(2021JCJQ-JJ0463)

猜你喜歡
智能合約隱私保護(hù)區(qū)塊鏈
區(qū)塊鏈技術(shù)在互聯(lián)網(wǎng)保險(xiǎn)行業(yè)的應(yīng)用探討
大數(shù)據(jù)環(huán)境下用戶信息隱私泄露成因分析和保護(hù)對(duì)策
大數(shù)據(jù)安全與隱私保護(hù)的必要性及措施
區(qū)塊鏈技術(shù)的應(yīng)用價(jià)值分析
商情(2016年40期)2016-11-28 11:24:12
“區(qū)塊鏈”的茍且、詩(shī)和遠(yuǎn)方
社交網(wǎng)絡(luò)中的隱私關(guān)注及隱私保護(hù)研究綜述
基于區(qū)塊鏈技術(shù)的數(shù)字貨幣與傳統(tǒng)貨幣辨析
區(qū)塊鏈技術(shù)在會(huì)計(jì)中的應(yīng)用展望
大數(shù)據(jù)時(shí)代的隱私保護(hù)關(guān)鍵技術(shù)研究
智能合約與金融合約
商(2016年6期)2016-04-20 17:50:36
淮北市| 鞍山市| 武汉市| 苏州市| 沙雅县| 卢氏县| 阳泉市| 冷水江市| 河曲县| 安化县| 墨竹工卡县| 东源县| 凤冈县| 湟中县| 南和县| 孝感市| 龙山县| 淮北市| 光泽县| 原阳县| 南丰县| 宣恩县| 望奎县| 清徐县| 洪洞县| 桑日县| 绥阳县| 万年县| 环江| 丹巴县| 通化市| 泾阳县| 宜春市| 会东县| 娱乐| 铜梁县| 台南县| 岳普湖县| 呼图壁县| 牙克石市| 宁蒗|