• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      可編輯且可追責的區(qū)塊鏈方案

      2022-10-10 16:21:10趙曉琦張正昊
      信息安全學報 2022年5期
      關(guān)鍵詞:編輯者公鑰哈希

      趙曉琦,張正昊,李 勇

      北京交通大學電子信息工程學院 北京 中國 100044

      1 前言

      區(qū)塊鏈技術(shù)在信息監(jiān)管、隱私保護、數(shù)據(jù)更新等方面存在切實的編輯需求[1]。從信息監(jiān)管角度出發(fā),由于互聯(lián)網(wǎng)上的每個人都可以寫到無許可的區(qū)塊鏈,所以一些惡意用戶可能濫用發(fā)布任意交易消息的能力[2],存儲在分類帳中的數(shù)據(jù)可能是敏感、有害或非法的。例如,區(qū)塊鏈包含泄露的私鑰[3],甚至是違法亂紀的謠言等。這使得區(qū)塊鏈在涉及政府記錄和社交媒體等數(shù)據(jù)的領(lǐng)域中更廣泛地應用受到限制。

      從隱私保護角度出發(fā),歐盟于2018 年5 月出臺通用數(shù)據(jù)保護條例(General data protection regulation,GDPR),它不再有利于當前的區(qū)塊鏈去記錄個人數(shù)據(jù),比如比特幣和以太坊。GDPR 將“被遺忘的權(quán)利”作為關(guān)鍵的數(shù)據(jù)主體權(quán)利[4],即數(shù)據(jù)所有者有權(quán)利從控制者處去除私人信息,所以在遵守有關(guān)私人數(shù)據(jù)的新法規(guī)的同時如何促進區(qū)塊鏈的廣泛使用已成為一個新的挑戰(zhàn)。

      從數(shù)據(jù)更新角度出發(fā),區(qū)塊鏈不可篡改這一特性限制了區(qū)塊鏈在多領(lǐng)域的廣泛應用,比如金融領(lǐng)域、版權(quán)領(lǐng)域。一旦在區(qū)塊鏈中創(chuàng)建了記錄或者塊,傳統(tǒng)區(qū)塊鏈的特性保證其不可更改,但在某些情況下應進行修改或者刪除內(nèi)容,必須有一定的靈活性來應對用戶的錯誤或事故,以保護系統(tǒng)的完整性。

      因此,在確保區(qū)塊鏈安全可信等優(yōu)勢的同時,對數(shù)據(jù)進行可控編輯具有現(xiàn)實意義。實現(xiàn)區(qū)塊鏈的可編輯性和可追責性的結(jié)合,將進一步促進區(qū)塊鏈實現(xiàn)更廣泛的落地應用。為了滿足區(qū)塊鏈在信息監(jiān)管、隱私保護、數(shù)據(jù)更新等方面存在的編輯需求,本文提出可編輯且可追責的區(qū)塊鏈方案,在數(shù)據(jù)失效或錯誤時,只要超過閾值數(shù)節(jié)點同意便可實現(xiàn)區(qū)塊數(shù)據(jù)的合法編輯,同時保持區(qū)塊鏈接不變,且可對數(shù)據(jù)合法性進行驗證。若驗證不通過,則可進行相關(guān)責任方的追責。

      2 相關(guān)工作

      在可編輯區(qū)塊鏈研究中,埃森哲公司獲得了可編輯區(qū)塊鏈專利,通過使用變色龍哈希來對鏈中的某個區(qū)塊進行更改,但存在編輯權(quán)中心化的問題。Ateniese 等人[5]提出可修改區(qū)塊鏈的概念,該方案是基于變色龍哈希的許可區(qū)塊鏈方案[6],在編輯區(qū)塊時,使用帶陷門的變色龍哈希函數(shù),因此可以有效地計算出變色龍哈希函數(shù)的碰撞,并在任意修改后保持哈希一致性。李佩麗等人[7]對可修改區(qū)塊鏈技術(shù)進行改進,利用秘密共享方案,將陷門分配給系統(tǒng)各節(jié)點,當且僅當閾值節(jié)點聯(lián)合時方可恢復陷門,進而編輯。但是該方案需要秘密通道,將陷門子密鑰發(fā)送給鏈中的各個成員,而且,當修改后的數(shù)據(jù)出現(xiàn)問題時并沒有考慮追責。Ashritha[8]提出使用增強型變色龍哈希的可編輯區(qū)塊鏈,在該方案中,使用了非線性秘密共享方案來防止惡意參與者共享虛假份額,每次修改需經(jīng)過發(fā)布者同意。

      Marsalek 等人[9]提出基于共識投票機制的可編輯區(qū)塊鏈,在投票過程需要各個節(jié)點驗證編輯是否合法,進而達成共識,但編輯顆粒較粗,是面向整個區(qū)塊的修改。任艷麗等人[10]基于抗碰撞哈希函數(shù),提出可刪除區(qū)塊鏈系統(tǒng),利用安全的門限簽名方案,在超過門限值的節(jié)點同意時,可對單個區(qū)塊的全部交易數(shù)據(jù)進行刪除。但該方案無法刪除指定交易數(shù)據(jù),也無法進行數(shù)據(jù)修改。為了支持細顆粒的可控區(qū)塊鏈編輯,Derler 等人[11]提出基于策略的變色龍哈希的概念,其中滿足策略的任何人都可以找到給定哈希的碰撞實現(xiàn)區(qū)塊鏈的編輯。Puddu 等人[12]提出了一種可編輯的區(qū)塊鏈,稱為μ鏈。在μ鏈中,交易發(fā)送方可以加密交易的不同版本,用“變異”表示,解密密鑰在礦工之間秘密共享,交易的未加密版本被視為活動交易。但是,惡意用戶可能會錯誤編輯,甚至破壞交易的穩(wěn)定性。此外,在通過多方計算協(xié)議重建解密密鑰時,μ 鏈還面臨可伸縮性問題。

      Deuber 等人[13]提出了第一個在無許可情況下的可編輯區(qū)塊鏈協(xié)議,它不依賴繁重的加密協(xié)議或其他信任假設(shè)。一旦用戶提出了修訂建議,該協(xié)議便開始基于共識的投票期,并且只有在獲得足夠的投票批準修訂之后,該版本才會在區(qū)塊鏈上執(zhí)行。Thyagarajan 等人[14]提出了通用協(xié)議Reparo 來編輯區(qū)塊鏈,通過引入外部數(shù)據(jù)結(jié)構(gòu)來存儲區(qū)塊內(nèi)容,保持區(qū)塊結(jié)構(gòu)不變。但是,新加入的用戶必須在投票期內(nèi)檢查所有區(qū)塊,以驗證對區(qū)塊鏈的修改。并且投票期長,難以實際應用。任艷麗等人[15]提出可修改的區(qū)塊鏈方案,引入機動因子,從而保證簽名子塊不變,滿足哈希一致性,但該方案建立在基于空間證明的區(qū)塊鏈,不適用于普通的區(qū)塊鏈結(jié)構(gòu)。Jia 等人[16]提出了具有可撤銷子密鑰的有狀態(tài)變色龍哈希(Stateful chameleon hash with revocable subkey,sCHRS),進而在此基礎(chǔ)上提出了一種新型的可編輯區(qū)塊鏈構(gòu)造。在該構(gòu)造中存在一個半可信的監(jiān)管方對編輯行為進行監(jiān)管,避免出現(xiàn)惡意修改的情況。同時,用戶也可以監(jiān)督監(jiān)管方是否正確行使權(quán)力。該方案實現(xiàn)了一定程度的監(jiān)管功能,但是沒有研究當確實出現(xiàn)非法行為之后,如何進行追責的問題。

      3 系統(tǒng)框架

      可編輯且可追責的區(qū)塊鏈系統(tǒng)由三類角色組成:用戶、領(lǐng)導者、監(jiān)管方。

      (1) 用戶(User): 聯(lián)盟區(qū)塊鏈中的成員,即交易的參與方;

      (2) 領(lǐng)導者(Leader): 聯(lián)盟鏈中的管理者,也是陷門子密鑰的分發(fā)者;

      (3) 監(jiān)管方(Regulator): 聯(lián)盟鏈中的監(jiān)管者,具有監(jiān)管和追責的功能。

      系統(tǒng)框架如圖1 所示:

      圖1 系統(tǒng)框架Figure 1 System framework

      具體過程如下:

      (1) 領(lǐng)導者分發(fā)陷門密鑰給各用戶;

      (2) 用戶發(fā)起編輯請求,其他用戶對請求投票,并將投票結(jié)果發(fā)送給領(lǐng)導者;

      (3) 在系統(tǒng)用戶中,選出具有編輯權(quán)的編輯者;

      (4) 編輯者對需要修改的數(shù)據(jù)進行編輯;

      (5) 用戶對編輯后的區(qū)塊進行驗證,是否可被接受;

      (6) 若編輯后的區(qū)塊未通過驗證,則向監(jiān)管方請求追責。

      4 可編輯且可追責的區(qū)塊鏈方案

      4.1 方案定義

      可編輯且可追責的區(qū)塊鏈方案由秘密分享、投票、尋找編輯者、編輯、驗證追責5 個階段構(gòu)成。

      (1) 在秘密分享階段,該階段包含4 個算法:

      2)Share(S)→(Y1,Y2,Y3,…,Yn,C0,C1,…,Ct-1,πl(wèi)):密鑰分發(fā)算法,由Leader 執(zhí)行,以陷門S作為輸入,輸出n份加密后的陷門子密鑰、t個承諾值和證明πl(wèi)。

      3)Verifykey(Y1,Y2,Y3,…,Yn,C0,C1,…,Ct-1,πl(wèi))→b: 驗證子密鑰算法,由用戶執(zhí)行,以n份加密后的陷門子密鑰、t個承諾值和證明πl(wèi)作為輸入,若驗證成功,則輸出1,證明子密鑰分發(fā)成功;若驗證失敗,則輸出0,表明分發(fā)的子密鑰錯誤。

      4)Dec(Yi,upki,uski)→解密子密鑰算法,由用戶執(zhí)行,以用戶收到的加密子密鑰Yi,用戶的公鑰upki和用戶的私鑰uski作為輸入,輸出解密后的子密鑰Si和相對應的證據(jù)

      (2) 在投票階段,該階段包含3 個算法:

      2)Vote(req,rdi,b,lpk)→(enci): 投票算法,由用戶執(zhí)行,以編輯請求req、用戶選擇的隨機數(shù)rdi、用戶投票意見b、Leader 的公鑰lpk作為輸入,其中,若用戶同意修改,則b為1,輸出加密后的投票信息enci,并將其發(fā)送至Leader。

      3)Vresult(enci,lsk)→(deci,result,rdsum): 結(jié)果算法,由Leader 執(zhí)行,以用戶加密的投票信息enci、Leader 私鑰lsk作為輸入,輸出明文deci、投票結(jié)果result和計算所得的隨機數(shù)總和rdsum。

      (3) 尋找編輯者階段,該階段包含尋找編輯者算法。

      Find(rdsum,upki)→(hashmin,upkmin): 尋 找編輯者算法,由用戶執(zhí)行,以Leader 所廣播的隨機數(shù)總和rdsum、用戶的公鑰upki作為輸入,每個用戶計算個人公鑰和rdsum的哈希值廣播到鏈中。經(jīng)排序后,輸出最小的哈希值hashmin和所對應的用戶公鑰upkmin,與最小哈希值對應的用戶即為具有編輯權(quán)的編輯者。

      (4) 在編輯階段,包含兩個算法:

      1)Recover(S1,S2,…,Si(i≥t))→(S): 恢復密鑰算法,由用戶中的編輯者執(zhí)行,以子密鑰S1,S2,…,Si(i≥t)作為輸入,輸出陷門密鑰S。

      2)Edit(S,m,m',r)→(r'): 編輯算法,由用戶中的編輯者執(zhí)行,以陷門密鑰S、編輯的原內(nèi)容m、編輯后的新內(nèi)容m、以及變色龍哈希所使用的隨機數(shù)r作為輸入,輸出計算所得的新隨機數(shù)r',以保證哈希一致性。

      (5) 驗證追責階段,該階段包含驗證算法。

      →(b1,b2,b3,b4): 驗證算法,由用戶執(zhí)行,若驗證投票和隨機數(shù)正確,則b1輸出1,若不正確,則輸出0;若驗證編輯區(qū)塊信息的用戶具有編輯權(quán),則b2輸出1,若不正確,則輸出0;若驗證哈希一致性成立,則b3輸出1,若不正確,則輸出0;若驗證鏈中用戶發(fā)送的子密鑰值正確,即驗證為真,則b4輸出1,若不正確,則輸出0。

      4.2 安全模型

      定義1.陷門安全性。如果滿足下列條件,則任何t-1個用戶利用他們的子密鑰都不能恢復出陷門值,任何t個用戶利用他們的子密鑰都可以恢復陷門值。

      其中,v(λ)為可忽略函數(shù)。

      或者

      即任何t-1個用戶利用他們的子密鑰不能恢復出陷門值的概率接近1;任何t個用戶利用他們的子密鑰恢復出陷門值的概率同樣接近1。

      定義2.可編輯性。如果方案滿足下列條件,則編輯者可以對請求編輯的內(nèi)容進行修改,具有可編輯性。

      即在編輯者恢復出陷門密鑰后,可計算出新隨機數(shù)進行編輯的概率接近于1。

      定義3.可追責性。如果方案滿足下列條件,則可以進行追責。

      令事件B 為:

      即編輯塊符合編輯規(guī)則,可被區(qū)塊鏈接受,不需要進行追責。

      或者

      即當Leader 投票結(jié)果和所計算的隨機數(shù)不正確時,用戶可驗證到這一情況,向監(jiān)管者匯報對Leader進行追責的概率接近于1。

      或者

      即當編輯者不具有編輯權(quán)時,用戶可驗證到這一情況,向監(jiān)管者匯報對編輯者進行追責的概率接近于1。

      或者

      即當編輯前后哈希不一致,且子密鑰分享正確時,用戶可驗證到這一情況,向監(jiān)管者匯報對編輯者進行追責的概率接近于1。

      或者

      即當編輯前后哈希不一致,且子密鑰分享不正確時,用戶可驗證到這一情況,向監(jiān)管者匯報對該密鑰擁有者進行追責的概率接近于1。

      5 方案設(shè)計

      首先給出可編輯且可追責的區(qū)塊鏈方案(Editable and accountable blockchain scheme,EAB)的概述,然后給出各個算法的具體實現(xiàn)過程。

      5.1 方案概述

      在EAB 方案中,Leader首先將陷門作為秘密,作公開可驗證的秘密分享給鏈中的各個用戶,并附帶證明πl(wèi),以保證Leader 正確發(fā)送各個用戶的陷門子密鑰。鏈中用戶對編輯請求投票后,利用用戶公鑰和Leader 所計算的隨機數(shù)進行哈希并排序哈希值,選出具有編輯權(quán)的編輯者,該隨機數(shù)的使用保證了編輯者的隨機性,避免惡意攻擊者攻擊固定編輯者情況的發(fā)生。其他用戶發(fā)送相應的子密鑰給編輯者,并附帶相應的證明πu,以保證各用戶正確分享子密鑰。編輯者至少收到t個子密鑰后,利用拉格朗日插值函數(shù)恢復出陷門密鑰并進行編輯,保證編輯前后的哈希一致性。對編輯后的區(qū)塊進行驗證,并對相關(guān)責任方進行追責。

      5.2 方案具體構(gòu)建

      EAB 方案的具體算法構(gòu)建如下:

      (1) 秘密分享階段:

      2)Share(S)→(Y1,Y2,Y3,…,Yn,C0,C1,…,Ct-1,πl(wèi)):密鑰分發(fā)算法,由Leader 執(zhí)行,具體步驟如下:

      步驟一: 隨機選擇s ∈Zq,令陷門S=hs∈G。選 擇(t-1)次 的多項 式f(x)=其中a0=s,aj∈Zq;

      步驟二: Leader 計算系數(shù)的承諾值Cj=,j=0,1,…,t-1;

      步驟三: 對子密鑰進行加密,Yi=yif(i),i=1,2,…,n;

      步驟四: 構(gòu)建證據(jù)。對于每個i ∈1,2,…,n,Leader 隨機選擇數(shù)值wi∈Zq,并計算a1i=利用Xi,Yi,a1i,a2i計算公共值c1=H(X1‖X2‖…‖Xn‖Y1‖…‖Yn‖a11‖…‖a1n‖a21‖…‖a2n),其中‖表示兩個比特串的連接。計算對每個用戶的應答ri=wif(i)c1mod q,證明πl(wèi)=(c1,r1,r2,…,rn)。

      輸出加密后的子密鑰Y1,Y2,Y3,…,Yn,系數(shù)承諾值C0,C1,…,Ct-1,證明πl(wèi)=(c1,r1,r2,…,rn),并廣播到鏈中。

      3) Verifykey(Y1,Y2,Y3,…,Yn,C0,C1,…,Ct-1,πl(wèi))→b: 驗證子密鑰算法,由用戶執(zhí)行,以n份加密后的陷門子密鑰、t個承諾值和證明πl(wèi)作為輸入。具體步驟如下:

      4)Dec(Yi,upki,uski)→解密子密鑰算法,由用戶執(zhí)行,以用戶收到的加密子密鑰Yi,用戶的公鑰upki和用戶的私鑰uski作為輸入,具體步驟如下:

      (2) 投票階段:

      2)Vote(req,rdi,b,lpk)→(enci): 投票算法,由用戶執(zhí)行,以編輯請求req、用戶選擇的隨機數(shù)rdi、用戶投票意見b、Leader 的公鑰lpk作為輸入,其中,若用戶同意修改,則b為1。若同意修改,則進行以下操作: 首先,驗證用戶的編輯請求與金融交易信息無關(guān),驗證編輯請求符合編輯策略,不會使鏈中下一個塊無效。若請求內(nèi)容無效,則丟棄該請求。若請求內(nèi)容有效,則針對編輯請求進行投票。若同意修改,用戶Ui隨機選擇一個數(shù)rdi,計算hi=H(rdi,b,req),用Leader公鑰lpk加密后的密文enci=E(rdi,hi,lpk),輸出加密后的投票信息enci,并將其發(fā)送至Leader。

      若不同意修改,則略過投票步驟。

      3)Vresult(enci,lsk)→(deci,result,rdsum): 結(jié)果算法,由Leader 執(zhí)行,以用戶加密的投票信息enci、Leader 私鑰lsk作為輸入,使用Leader 私鑰解密密文enci,得deci=D(enci,lsk)=(rdi,hi)。統(tǒng)計收到的投票信息,收到半數(shù)以上的投票則同意修改。并計算rdsum=∑rdi,輸出明文deci、投票結(jié)果result和計算所得的隨機數(shù)總和rdsum。

      (3) 尋找編輯者階段:

      Find(rdsum,upki)→(hashmin,upkmin):尋找編輯者算法,由用戶執(zhí)行,以Leader所廣播的隨機數(shù)總和rdsum、用戶的公鑰upki作為輸入,計算hashi=H(upki,rdsum),各個用戶將自己計算的hashi和個人公鑰廣播到鏈中,將哈希值按從小到大的順序排序,輸出最小的哈希值hashmin和所對應的用戶公鑰upkmin,最小哈希值所對應的公鑰即為尋找到的編輯者。

      (4) 編輯階段:

      2)Edit(S,m,m',r)→r': 編輯算法,由用戶中的編輯者執(zhí)行,以陷門密鑰S、編輯的原內(nèi)容m、編輯后的新內(nèi)容m'、以及變色龍哈希所使用的隨機數(shù)r作為輸入,計算使 得CH(*)表示變色龍哈希算法,保證編輯前后哈希一致性,輸出r。

      (5) 驗證追責階段:

      1)根據(jù)Leader 公布的明文deci和收到的隨機數(shù)總和rdsum,計算隨機數(shù)總和是否正確,投票用戶的哈希值是否正確,若驗證投票和隨機數(shù)正確,則b1輸出1,若不正確,則輸出0,并追責Leader;

      2) 判斷具有編輯權(quán)的編輯者公鑰是否對應最小哈希值,計算hashmin=H(upkmin,rdsum)等式是否成立,若成立,則編輯區(qū)塊信息的用戶具有編輯權(quán),b2輸出1,若不成立,則編輯者并不具備編輯權(quán),b2輸出0,并追責編輯者。同時,為了防范擁有陷門密鑰的Leader 進行非法編輯,也會計算Leader 的公鑰和隨機數(shù)和的hash 值,并驗證是否等于最小hash 值,當驗證不通過時,追責Leader;

      3) 判斷編輯前后的哈希一致性,計算等式CH(m,r)=是否成立,若成立,則b3輸出1,若不正確,則輸出0;

      4) 驗證鏈中用戶發(fā)送的子密鑰值的正確性,即驗證πui是否為真,計算等式c2=是否成立,若成立,則b4輸出1,若不正確,則輸出0。在b3為0,b4為1 的情況下,追責編輯者;在b3為0,b4為0 的情況下,追責該密鑰的擁有者。

      6 安全性分析

      定理1(陷門安全性).若Diffie-Hellman假設(shè)成立,則任何(t-1)個用戶利用他們的子密鑰不能通過計算恢復出陷門密鑰,任何t個用戶利用他們的子密鑰能恢復出陷門密鑰。

      證明.首先證明任何(t-1)個用戶利用他們的子密鑰不能通過計算恢復出陷門密鑰。假設(shè)(t-1)個用戶利用他們的子密鑰能恢復出陷門密鑰S,不妨設(shè)這(t-1)個用戶就是前(t-1)個用戶Ui(i=1,2,…,t-1)。即證明,對于任給的gα和gβ,攻擊者A 利用這(t-1)個用戶作為預言機,能算出gαβ。

      現(xiàn)在為攻擊者設(shè)置一個模擬系統(tǒng),使得攻擊者將前(t-1)個用戶作為預言機,就能算出gαβ。具體過程如下:

      (1)攻擊者A 令h=gα,C0=gβ(=gf(0)),隱含確定了f(0)=β;

      (2)A 隨機選?。╰-1)個值: f(1),f(2),f(3),…,f(t-1)∈Zq,則確定了f(x)函數(shù);

      (3) A 計算前(t-1)個Xi和Yi的值,Xi=gf(i)i=1,2,…,t-1;Yi=yif(i)i=1,2,…,t-1。

      (4) 由于f(0)是隱含確定的,所以攻擊者A 無法計算出f(t),f(t+1),…,f(n)。但是可以利用拉格朗日插值函數(shù)計算出剩余的Xi值:

      其中,i=t,t+1,…,n;j=0,1,…,t-1。

      上述線性方程組中,攻擊者A 知道f(1),f(2),…,f(t-1),但不知道f(0),所以無法求出(a0,a1,…,at-1)。但是 A 可以求出,即各個Cj(j=1,2,…,t-1)。

      若上述線性方程組的系數(shù)矩陣為J,因為J是范德蒙矩陣,所以J存在逆矩陣。設(shè)J-1為

      由于攻擊者A 知道C0和各個Xi(i=1,2,…,t-1),所以計算得:

      在這一模擬系統(tǒng)中,前(t-1)個用戶可以計算出相關(guān)信息,根據(jù)假設(shè)這(t-1)個用戶可以計算出密鑰hf(0),攻擊者A 將這前(t-1)個用戶作為預言機,所以A 可以得知hf(0)。由于h=gα且f(0)=β,因此A 就可以計算出gαβ。這就與Diffie-Hellman 假設(shè)矛盾。

      所以任何(t-1)個用戶利用他們的子密鑰不能通過計算恢復出陷門密鑰。

      其次,證明任何t個用戶利用他們的子密鑰能恢復出陷門密鑰。假設(shè)(t-1)個用戶的子密鑰為Si(i ∈B,B=且|B|=t),有:

      綜上,若Diffie-Hellman 假設(shè)成立,任何(t-1)個用戶利用他們的子密鑰不能通過計算恢復出陷門密鑰,任何t個用戶利用他們的子密鑰能恢復出陷門密鑰S,滿足陷門安全性。

      定理2(可編輯性).當具有編輯權(quán)的編輯者收到至少t個子密鑰,正確恢復出陷門密鑰后,編輯者進行編輯,并保證哈希一致性,即具有可編輯性。

      證明.當編輯者收到至少t個子密鑰Si(i∈B,B=且|B|=t)利用拉格朗日插值函數(shù)恢復得出的陷門密鑰S。

      由變色龍哈希的構(gòu)建CH(m,r)=gmhrmod p,其中,h=gS為陷門公鑰,S為陷門私鑰,m為消息,r為隨機數(shù)。當CH(m,r)=CH(m',r')時,有進而得出m+Sr=因此

      定理3(可追責性).當編輯后的內(nèi)容廣播到區(qū)塊鏈中,用戶可驗證是否可被接受,在出現(xiàn)錯誤時,可向相關(guān)責任方進行追責,即具有可追責性。

      證明.若方案具有追責性,即在用戶驗證到區(qū)塊不被接受時,可以追責到相關(guān)責任方。即存在以下幾種情況:

      情況一: 鏈中用戶可根據(jù)Leader 廣播的公開信息,即投票信息的明文deci、投票結(jié)果result和隨機數(shù)總和rdsum,判斷用戶的投票信息hi是否存在于Leader 所公開的信息中,計算rdsum=∑rdi等式是否成立,即是否存在與鏈中用戶串通作弊,通過更改隨機數(shù)和從而內(nèi)定編輯者的可能性。若等式不成立,運行驗證算法輸出(0,1,1,1),表明Leader 所計算的隨機數(shù)和不正確,則可追責到Leader;

      情況二: 鏈中用戶計算hashi=H(upki,rdsum),并進行排序,得到計算hashmin=H(upkmin,rdsum),判斷=hashmin等式是否成立,若不成立,運行驗證算法輸出(1,0,1,1),表明編輯者的哈希值不是最小哈希值,實際并不具備編輯權(quán),則可以追責到編輯者;

      若上式成立,運行驗證算法輸出(1,1,0,1),表明鏈中用戶發(fā)送的子密鑰值為真,則可追責編輯者;若不成立,則為情況四;

      情況四: 運行驗證算法輸出(1,1,0,0),表明子密鑰值為假,則可追責子密鑰值的擁有者。

      綜上所述,若編輯后的內(nèi)容經(jīng)公共驗證后不被接受,則可根據(jù)驗證算法的輸出結(jié)果追究到Leader、編輯者、子密鑰的擁有者等相關(guān)責任方,因此該方案具有可追責性。

      7 方案對比及性能分析

      本方案與文獻[7,10,15]進行對比,如表1 所示??梢钥闯?本方案實現(xiàn)了可編輯性和可追責性,且不需要秘密通道,在陷門子密鑰分發(fā)時保證了安全性。

      表1 各方案對比Table 1 Comparison of the schemes

      為了更好的驗證本方案,通過仿真實驗對方案中各階段的算法進行性能評估,并在不同密鑰長度的情況下進行時間對比。算法的運行時間為十次實驗中去掉最大值和最小值后的平均運行時間。本實驗用Java語言編寫,實驗所用環(huán)境具體配置如表2 所示。

      表2 實驗環(huán)境配置Table 2 Experimental environment configuration

      本實驗實現(xiàn)了秘密分享、投票、尋找編輯者、編輯、驗證追責五個階段的具體算法。其中,將系統(tǒng)用戶設(shè)置為10 人,閾值為5 人,密鑰長度為1024 比特。

      方案中各階段算法的運行時間如圖2 所示,其中所用的密鑰長度為1024 比特,Setup 算法運行時間為20317ms,即20.317s,雖然與其他步驟相比時間較長,但是在該算法中生成了系統(tǒng)參數(shù)、用戶的公私鑰對以及Leader 的公私鑰對,僅執(zhí)行一次,不用反復執(zhí)行。密鑰分發(fā)算法的運行時間1517ms,即1.517s;尋找編輯者算法運行時間僅630ms,即0.63s;恢復密鑰算法運行時間僅 6.2ms;編輯算法運行時間265ms;驗證算法僅需34ms。

      圖2 各算法的運行時間Figure 2 Running time of each algorithm

      在密鑰長度分別為512 比特、1024 比特以及2048 比特時,秘密分享階段和投票階段主要算法的運行時間如圖3 所示。圖中顯示,在驗證子密鑰以及執(zhí)行投票結(jié)果算法時,不同比特的算法運行時間大致相同。在2048 比特時,解密子密鑰約為2s,投票約為3.7s,投票結(jié)果算法的執(zhí)行時間約為94ms。

      圖3 秘密分享階段和投票階段算法的運行時間Figure 3 Running time of the algorithm for the secret sharing phase and the voting phase

      在密鑰長度分別為512 比特、1024 比特以及2048 比特時,尋找編輯者階段、編輯階段以及驗證追責階段算法的運行時間如圖4 所示。圖中顯示,在尋找編輯者、恢復密鑰以及進行編輯操作時,雖然密鑰長度不同,但是算法的執(zhí)行時間相近,在尋找編輯者的時間均不到1ms。在2048 比特時,恢復密鑰時間約為8ms,驗證追責時間約為145ms,時間成本較低。從整體看,這三個階段算法的執(zhí)行時間偏低,均為毫秒級,具有較高的效率。

      圖4 尋找、編輯以及驗證追責階段算法運行時間Figure 4 Finding,editing and verifying the running time of the recourse phase algorithm

      8 結(jié)論

      本文提出了可編輯且可追責的區(qū)塊鏈方案,可以對區(qū)塊鏈中的非交易數(shù)據(jù)進行編輯,修改區(qū)塊鏈中錯誤數(shù)據(jù)、更新陳舊數(shù)據(jù),該編輯不影響前后區(qū)塊。若該區(qū)塊在編輯之后不被公共接受,可對編輯過程中的相關(guān)責任方進行追責,實現(xiàn)可追責性。該方案結(jié)合公開可驗證秘密共享、零知識證明、變色龍哈希等工具,針對編輯中心化、編輯者的選定以及編輯塊的追責問題,實現(xiàn)了編輯權(quán)的去中心化和編輯者的隨機化以及已編輯塊不能通過驗證時的可追責性,且在陷門值分發(fā)時不需要秘密通道,滿足陷門安全性。最后對方案進行了安全性證明與性能分析,該方案滿足陷門安全性、可編輯性和可追責性,仿真實驗表明方案中各算法效率較高。下一步工作將考慮編輯者的編輯權(quán)更新和方案效率提升之間的平衡和優(yōu)化的問題。

      猜你喜歡
      編輯者公鑰哈希
      數(shù)字化時代新聞編輯的角色轉(zhuǎn)換
      融媒體編輯創(chuàng)新意識與融合能力提升研究
      試論編輯與廣播電臺形象之間的關(guān)系
      記者觀察(2019年23期)2019-11-17 14:54:50
      淺談新時代如何做好財政類期刊的編輯工作
      山西財稅(2019年9期)2019-02-19 20:49:49
      一種基于混沌的公鑰加密方案
      HES:一種更小公鑰的同態(tài)加密算法
      基于OpenCV與均值哈希算法的人臉相似識別系統(tǒng)
      SM2橢圓曲線公鑰密碼算法綜述
      基于維度分解的哈希多維快速流分類算法
      計算機工程(2015年8期)2015-07-03 12:20:04
      基于格的公鑰加密與證書基加密
      泸西县| 当阳市| 兰西县| 富平县| 叙永县| 营口市| 西乌珠穆沁旗| 博乐市| 泗洪县| 富源县| 蓝山县| 稷山县| 武安市| 巴南区| 诏安县| 温州市| 甘谷县| 当阳市| 高唐县| 衡阳市| 高陵县| 萍乡市| 含山县| 巢湖市| 游戏| 汉中市| 宽城| 平陆县| 关岭| 桐乡市| 阿拉善左旗| 左贡县| 宝坻区| 松潘县| 安多县| 泰来县| 章丘市| 鄂托克前旗| 石泉县| 昌平区| 泗阳县|