• 
    

    
    

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

      區(qū)塊鏈數(shù)據(jù)隱私的可信任監(jiān)管技術(shù)研究

      2022-01-07 01:23:00王正華代文昊
      軟件導(dǎo)刊 2021年12期
      關(guān)鍵詞:監(jiān)管者公鑰密鑰

      史 瑋,藍(lán) 龍,王正華,代文昊

      (1.國防科技大學(xué)計(jì)算機(jī)學(xué)院;2.國防科技大學(xué)量子信息研究所兼高性能計(jì)算國家重點(diǎn)實(shí)驗(yàn)室,湖南長沙 410073;3.中國科學(xué)院大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,北京 100101)

      0 引言

      區(qū)塊鏈技術(shù)于2008 年在中本聰發(fā)表的論文《Bitcoin:A peer-to-peer electronic cash system》中被首次提出[1]。區(qū)塊鏈作為對(duì)等式網(wǎng)絡(luò)中的一種去中心化的分布式賬本技術(shù),近些年受到企業(yè)、科研機(jī)構(gòu)、政府的廣泛關(guān)注和研究。區(qū)塊鏈采用鏈?zhǔn)降慕Y(jié)構(gòu)進(jìn)行驗(yàn)證并存儲(chǔ)數(shù)據(jù),并使用可信的共識(shí)機(jī)制以保證數(shù)據(jù)更新,從而創(chuàng)建出一個(gè)用于存儲(chǔ)和共享數(shù)據(jù)的防篡改數(shù)字平臺(tái)[2]。區(qū)塊鏈具有去中心化、公開透明和不可篡改等特性,這些特性使得區(qū)塊鏈在金融資產(chǎn)結(jié)算、數(shù)字政務(wù)、存證防偽數(shù)據(jù)服務(wù)等領(lǐng)域具有廣闊的應(yīng)用場景[3]。但是,在實(shí)際應(yīng)用中公開透明等特性也帶來了隱私保護(hù)問題,主要包括用戶的匿名性和用戶數(shù)據(jù)隱私保護(hù)[4]。用戶數(shù)據(jù)的隱私泄露問題不勝枚舉,例如Facebook 自成立以來惡意收集300PB 的用戶數(shù)據(jù)并造成5 000萬用戶數(shù)據(jù)泄露[5-7]。在公開透明的區(qū)塊鏈中,用戶數(shù)據(jù)的隱私保護(hù)顯得更為重要。2018 年,由中國信息通信研究院與中國通信標(biāo)準(zhǔn)化協(xié)會(huì)牽頭,聯(lián)合多家合作單位共同研究編制的《區(qū)塊鏈安全白皮書——技術(shù)應(yīng)用篇》中指出,為了促進(jìn)技術(shù)安全應(yīng)用,需創(chuàng)新監(jiān)管手段,強(qiáng)化區(qū)塊鏈平臺(tái)應(yīng)用監(jiān)管力度,打造安全監(jiān)測和監(jiān)管平臺(tái)技術(shù)實(shí)力[8]??梢钥吹剑诳杀O(jiān)管的前提下,保護(hù)區(qū)塊鏈中數(shù)據(jù)的隱私信息仍然是一個(gè)極富實(shí)用價(jià)值和挑戰(zhàn)性的研究課題。

      從立法和技術(shù)的角度出發(fā),很多方案嘗試解決該問題。Dwork 等[9]使用差分隱私技術(shù)在分享數(shù)據(jù)時(shí)注入噪聲,通過引入噪聲達(dá)到數(shù)據(jù)隱私保護(hù)目的;Gentry 等[10]使用全同態(tài)加密技術(shù)處理數(shù)據(jù),使得可以對(duì)加密后的數(shù)據(jù)進(jìn)行任意運(yùn)算。雖然Dwork 和Gentry 的方案極具開拓性,但僅僅保證了數(shù)據(jù)的隱私性,除非將噪聲規(guī)律/同態(tài)私鑰暴露給監(jiān)管者,否則無法做到可監(jiān)管特性;Zyskind 等[11]提出一種去中心化的用戶隱私數(shù)據(jù)管理方案,該方案中用戶完全擁有和控制自己的數(shù)據(jù),可使用該方案中的訪問授權(quán)功能實(shí)現(xiàn)可監(jiān)管,但授權(quán)權(quán)限完全掌握在用戶手中,弱化了可監(jiān)管的概念以及存在訪問授權(quán)變更時(shí)無法改變加密密鑰等問題;Rahulamathavan 等[12]使用屬性加密技術(shù)提出一種適用于物聯(lián)網(wǎng)的可授權(quán)的數(shù)據(jù)隱私保護(hù)方案,在該方案中可通過為監(jiān)管者賦予多標(biāo)簽實(shí)現(xiàn)可監(jiān)管功能,但屬性加密需要基于身份的密碼體制,與目前區(qū)塊鏈中使用的密碼體制不同,需要重新維護(hù)一套基于身份的密碼體制;Xiao 等[13]提出一種名為超級(jí)鏈的支持智能合約并行執(zhí)行的方案,超級(jí)鏈開源項(xiàng)目中的分層確定性加密可以很好地進(jìn)行加密數(shù)據(jù)監(jiān)管,但額外暴露了用戶的歸屬關(guān)系等隱私信息以及用戶的任一上級(jí)均可進(jìn)行監(jiān)管,即用戶無法控制監(jiān)管授權(quán)權(quán)限[14]。

      為了解決上述問題,本文提出一種適用于區(qū)塊鏈的數(shù)據(jù)隱私保護(hù)及其可信任監(jiān)管技術(shù),在保護(hù)用戶數(shù)據(jù)隱私的同時(shí),只有被用戶授權(quán)的監(jiān)管機(jī)構(gòu)可以訪問數(shù)據(jù),并且用戶可以動(dòng)態(tài)地改變監(jiān)管授權(quán)策略,被回收權(quán)限的機(jī)構(gòu)則無法繼續(xù)訪問用戶隱私數(shù)據(jù),使得用戶數(shù)據(jù)真正掌握在用戶手中。

      1 背景知識(shí)

      1.1 區(qū)塊鏈

      本文引用《區(qū)塊鏈技術(shù)及應(yīng)用》一書中對(duì)區(qū)塊鏈的定義[15]。區(qū)塊鏈?zhǔn)且环N數(shù)據(jù)以區(qū)塊為單位產(chǎn)生和存儲(chǔ),并按照時(shí)間順序首尾相連形成鏈?zhǔn)浇Y(jié)構(gòu),同時(shí)通過密碼學(xué)保證不可篡改、不可偽造及數(shù)據(jù)傳輸訪問安全的去中心化分布式賬本。

      為了便于理解,以比特幣為例,在比特幣問世之前,傳統(tǒng)的金融系統(tǒng)需要可信賴的、中心化的權(quán)威第三方進(jìn)行維護(hù),而比特幣沒有中心化的可信第三方維護(hù)這個(gè)賬本,系統(tǒng)中每個(gè)用戶的地位都是平等的,共同維護(hù)賬本且可以解決雙重支付和賬本一致性問題[16-18]。區(qū)塊鏈根據(jù)讀寫權(quán)限可以被分為3 種類型:公有鏈、私有鏈和聯(lián)盟鏈。顧名思義,在公有鏈中任何人都可以讀取和寫入?yún)^(qū)塊鏈的數(shù)據(jù)。私有鏈與公有鏈恰恰相反,私有鏈中的寫入權(quán)限僅被一個(gè)組織/機(jī)構(gòu)所擁有,讀取權(quán)限則可根據(jù)需求選擇性地對(duì)外開放。聯(lián)盟鏈則是介于公有鏈與私有鏈之間的區(qū)塊鏈,其寫入權(quán)限是由預(yù)先選定的多個(gè)組織/機(jī)構(gòu)控制,讀取權(quán)限按需求選擇性地對(duì)外開放。

      區(qū)塊鏈通過鏈?zhǔn)浇Y(jié)構(gòu)存儲(chǔ)數(shù)據(jù),每個(gè)數(shù)據(jù)區(qū)塊包括區(qū)塊頭和區(qū)塊體兩部分,每個(gè)區(qū)塊擁有唯一的哈希值作為其標(biāo)識(shí),當(dāng)前區(qū)塊通過存儲(chǔ)前一區(qū)塊哈希值與前一區(qū)塊相連,從而形成鏈?zhǔn)浇Y(jié)構(gòu),如圖1 所示。區(qū)塊頭中封裝了前一區(qū)塊的哈希值、時(shí)間戳、Merkle 樹根值等信息[19];區(qū)塊體存儲(chǔ)交易信息,即由區(qū)塊鏈記錄的數(shù)據(jù)信息,每筆交易都由交易方對(duì)其進(jìn)行數(shù)字簽名,從而確保數(shù)據(jù)未被偽造且不可篡改,每一筆已完成的交易都將被永久性地記錄在區(qū)塊體中,供參與者查詢。

      1.2 BIP32 密鑰生成協(xié)議

      比特幣改進(jìn)建議32(Bitcoin Improvement Proposals32,BIP32)是一個(gè)密鑰生成協(xié)議,用戶可以通過一個(gè)隨機(jī)種子生成一對(duì)擴(kuò)展公私鑰,然后通過公鑰/私鑰生成多對(duì)子擴(kuò)展公私鑰,并且這些子擴(kuò)展公私鑰也可以衍生出自己的擴(kuò)展公私鑰對(duì),因此也被稱為分層確定性密鑰衍生協(xié)議[20]。

      Fig.1 Data structure of blockchain圖1 區(qū)塊鏈的數(shù)據(jù)結(jié)構(gòu)

      在BIP32 中,擴(kuò)展密鑰的數(shù)據(jù)結(jié)構(gòu)被定義為(Key,ChildNumber,ChainCode,Depth,IsPrivate,F(xiàn)ingerPrint),其中Key為密鑰、ChildNumber為序列號(hào)、ChainCode 為鏈碼、Depth 為該擴(kuò)展密鑰所在的深度、IsPrivate 為區(qū)分公鑰和私鑰的標(biāo)識(shí)符、FingerPrint 為父擴(kuò)展密鑰的哈希值。BIP32 中的密鑰衍生算法分為兩種:普通衍生和強(qiáng)化衍生,兩者的區(qū)別在于普通衍生是使用擴(kuò)展公鑰衍生子密鑰,強(qiáng)化衍生是使用擴(kuò)展私鑰衍生子密鑰。圖2 為BIP32 密鑰生成協(xié)議示意圖。

      Fig.2 Schematic diagram of BIP32 key generation protocol圖2 BIP32 密鑰生成協(xié)議

      2 區(qū)塊鏈數(shù)據(jù)隱私保護(hù)與可監(jiān)管方案

      本方案在BIP32 協(xié)議的基礎(chǔ)上進(jìn)行了補(bǔ)充和優(yōu)化,用戶可以控制中間機(jī)構(gòu)的監(jiān)管權(quán)限,并且適用于多層次數(shù)據(jù)監(jiān)管場景。本文設(shè)計(jì)的可信任監(jiān)管方案整體流程如圖3 所示,整個(gè)監(jiān)管過程分為5 個(gè)具體步驟。首先由監(jiān)管者衍生出加密密鑰并下發(fā)給用戶;用戶根據(jù)加密密鑰生成完整的密鑰對(duì);使用加密公鑰對(duì)消息加密并上鏈;在消息上鏈過程中用戶能夠靈活地增加或刪除中間機(jī)構(gòu)的監(jiān)管權(quán)限;最后,中間機(jī)構(gòu)可通過密文信息查看自身是否被授權(quán),如果被授權(quán),則合規(guī)地解密數(shù)據(jù)并訪問,其中,被授權(quán)的中間機(jī)構(gòu)相互無法獲知對(duì)方身份信息,保證了監(jiān)管者的匿名性。

      2.1 整體架構(gòu)

      本文提出的可信任監(jiān)管技術(shù)方案基于成熟的標(biāo)準(zhǔn)密碼學(xué)組件和可監(jiān)管組件。其中使用到的標(biāo)準(zhǔn)密碼學(xué)組件包括:非對(duì)稱加密算法,簽名算法和哈希算法。具體而言,非對(duì)稱加密算法Genc、?enc、Denc包括生成算法、加密算法和解密算法;簽名算法Gsig、Ssig、Vsig包括生成算法、簽名算法和驗(yàn)證算法;哈希算法? 包括兩種實(shí)現(xiàn)方式:SHA-256 和SHA-512[21],分別表示為?256和?512。在實(shí)際實(shí)驗(yàn)中,非對(duì)稱加密算法和簽名算法分別由ECIES 和ECDSA 實(shí)現(xiàn)[22-23]。上述標(biāo)準(zhǔn)密碼學(xué)組件是本文提出的可信任監(jiān)管技術(shù)方法的重要組成部分,但是密碼學(xué)組件本身無法實(shí)現(xiàn)可監(jiān)管目標(biāo),為實(shí)現(xiàn)本文提出的可信任監(jiān)管功能,下文將重點(diǎn)介紹可監(jiān)管組件。

      Fig.3 Overall flow of trusted regulatory scheme圖3 可信任監(jiān)管方案整體流程

      構(gòu)建的可監(jiān)管組件包括 :加密密鑰對(duì)Addressenc=(pkenc,skenc),其中pkenc為加密公鑰,skenc為加密私鑰;完整密鑰對(duì)Address=(Addresssig,Addressenc),其中Addresssig為簽名密鑰對(duì),Addressenc為加密密鑰對(duì);輔助函數(shù)(pksig,pkenc,c,σ) ←Parse(tx),該函數(shù)用于交易解析??杀O(jiān)管組件由算法1-3 實(shí)現(xiàn),本方案以標(biāo)準(zhǔn)密碼學(xué)組件和可監(jiān)管組件為支撐,共同構(gòu)建了可信任監(jiān)管方案;2.3 節(jié)對(duì)方案算法進(jìn)行說明,具體由算法4-6 實(shí)現(xiàn),其中算法4 實(shí)現(xiàn)了用戶數(shù)據(jù)加密上鏈;算法5-6 實(shí)現(xiàn)了被授權(quán)的監(jiān)管機(jī)構(gòu)對(duì)用戶加密數(shù)據(jù)的監(jiān)管以及用戶通過修改加密公鑰中的訪問控制字段以增加或刪除監(jiān)管者的監(jiān)管權(quán)限;2.4 節(jié)將闡述安全性說明。整體架構(gòu)如圖4 所示。

      Fig.4 Overall architecture of trusted regulatory approach圖4 可信任監(jiān)管方法整體架構(gòu)

      2.2 可監(jiān)管組件構(gòu)建

      對(duì)方案中使用的組件進(jìn)行簡要介紹,同時(shí)假設(shè)讀者熟悉區(qū)塊鏈技術(shù)[24]。

      2.2.1 加密密鑰對(duì)

      每個(gè)用戶都有一對(duì)由上級(jí)衍生的加密密鑰,該加密密鑰對(duì)具有層次關(guān)系。當(dāng)用戶需要保護(hù)敏感數(shù)據(jù)的隱私時(shí),可使用加密公鑰對(duì)數(shù)據(jù)進(jìn)行加密處理后上鏈。當(dāng)數(shù)據(jù)量

      較大時(shí),出于加密效率考慮,可使用加密公鑰加密一個(gè)隨機(jī)選取的對(duì)稱密鑰,然后使用對(duì)稱密鑰加密數(shù)據(jù)。本文對(duì)加密密鑰進(jìn)行了擴(kuò)展,數(shù)據(jù)結(jié)構(gòu)如下:

      相較于BIP32,新增了密文血緣關(guān)系字段EncBloodline和訪問控制字段AccessControl,其中EncBloodline字段為鍵值對(duì)集合,鍵為深度,值為該層中序列號(hào)的密文或明文。用戶可以通過修改這兩個(gè)字段動(dòng)態(tài)改變監(jiān)管方的授權(quán),使被監(jiān)管的權(quán)力掌握在自己手中。用戶u的加密密鑰對(duì)為:

      如算法1 所示,闡述上級(jí)監(jiān)管者s衍生用戶u加密密鑰的過程。其中,I是SHA-512 算法計(jì)算得到的一個(gè)大小為512 位的哈希值,哈希的原像為上級(jí)監(jiān)管者的私鑰信息、上級(jí)監(jiān)管者的鏈碼以及序列號(hào),哈希值I的前256 位作為用戶的加密密鑰,后256 位作為用戶加密密鑰的鏈碼,當(dāng)中間機(jī)構(gòu)衍生出加密密鑰后,通過秘密通道將密鑰發(fā)送給用戶,本文的衍生算法僅允許安全性更強(qiáng)的強(qiáng)化衍生。

      算法1 加密密鑰衍生算法

      2.2.2 完整密鑰對(duì)

      在傳統(tǒng)的區(qū)塊鏈中使用偽匿名機(jī)制,即用公鑰哈希后的地址標(biāo)識(shí)用戶,每個(gè)用戶擁有至少一對(duì)用于簽名交易的公私鑰對(duì)。在本文中,用戶不僅擁有用于簽名交易的公私鑰對(duì),還擁有由上級(jí)監(jiān)管者衍生出的加密密鑰。因此,用戶的完整密鑰對(duì)為:

      其中,簽名公私鑰對(duì)Addresssig=(pksig,sksig),加密公私鑰對(duì)Addressenc=(pkenc,skenc)。用戶u從上級(jí)監(jiān)管者收到加密公私鑰對(duì)后,需要對(duì)加密密鑰進(jìn)行初始化,進(jìn)行訪問控制設(shè)置(其中最高級(jí)監(jiān)管者為必選項(xiàng),其余上級(jí)監(jiān)管者為可選項(xiàng))。

      如算法2 所示,闡述了用戶初始化加密公鑰的過程。該算法將用戶的加密公鑰和訪問控制字段作為輸入,生成含有訪問控制屬性的加密公鑰。首先通過隨機(jī)選取的大整數(shù)異或用戶公鑰對(duì)血緣關(guān)系進(jìn)行加密,然后通過訪問控制字段調(diào)整監(jiān)管策略,進(jìn)行授權(quán)設(shè)置。

      算法2 加密公鑰初始化算法

      如算法3 所示,闡述了用戶完整密鑰對(duì)的生成過程。該算法調(diào)用算法1 和算法2,當(dāng)中間機(jī)構(gòu)衍生出加密密鑰后,用戶對(duì)加密密鑰進(jìn)行初始化,最終生成完整公私鑰對(duì),其中一對(duì)公私鑰用于簽名,另一對(duì)公私鑰用于消息加密。

      算法3 完整密鑰對(duì)生成算法

      2.2.3 輔助函數(shù)

      Parse(tx)表示對(duì)交易進(jìn)行反序列化,由于本文方案內(nèi)容與接收者無關(guān),故省略接收者的地址,得到交易發(fā)起人的簽名公鑰、加密公鑰、密文信息和簽名。形式化地表示為:(pksig,pkenc,c,σ) ←Parse(tx)。

      2.3 可信任監(jiān)管方法

      當(dāng)用戶發(fā)起一筆附有加密數(shù)據(jù)的交易時(shí),用戶執(zhí)行算法4。當(dāng)上級(jí)監(jiān)管者對(duì)一筆附有加密數(shù)據(jù)的交易進(jìn)行監(jiān)管時(shí),監(jiān)管者執(zhí)行算法5。當(dāng)用戶想更換加密數(shù)據(jù)的訪問權(quán)限時(shí),用戶執(zhí)行算法6。同時(shí),為了便于闡述方案,本文簡化了交易的定義,僅包括發(fā)送者的簽名公鑰、發(fā)送者的加密公鑰、加密密文和簽名信息。

      2.3.1 數(shù)據(jù)加密上鏈算法

      本方案允許用戶對(duì)需要隱藏的數(shù)據(jù)進(jìn)行加密處理,處理后的密文以交易的形式上鏈。更進(jìn)一步地說,就是使用用戶的加密公鑰對(duì)消息進(jìn)行加密。因?yàn)楸疚姆桨甘菍?duì)區(qū)塊鏈中需要存儲(chǔ)的數(shù)據(jù)進(jìn)行加密,數(shù)據(jù)一般存儲(chǔ)在交易的附加字段,該字段在共識(shí)階段無需驗(yàn)證,因此本文方案適用于各種共識(shí)機(jī)制。如有特殊需求可對(duì)共識(shí)機(jī)制進(jìn)行額外補(bǔ)充,例如在聯(lián)盟鏈的共識(shí)階段加入對(duì)密態(tài)數(shù)據(jù)的合法驗(yàn)證,即數(shù)據(jù)上鏈前進(jìn)行監(jiān)管。如算法4 所示,闡述了用戶執(zhí)行的數(shù)據(jù)加密上鏈算法。該算法將用戶完整密鑰對(duì)和需要加密的消息作為輸入,得到解析后的加密公鑰和簽名私鑰,用公鑰對(duì)消息加密,私鑰對(duì)交易簽名,整合起來生成附有加密數(shù)據(jù)的交易信息,隨后用戶可將該交易信息提交至區(qū)塊鏈。

      算法4 數(shù)據(jù)加密上鏈算法

      2.3.2 加密數(shù)據(jù)監(jiān)管算法

      用戶對(duì)數(shù)據(jù)進(jìn)行加密上鏈后,被授權(quán)的上級(jí)監(jiān)管者可對(duì)加密數(shù)據(jù)進(jìn)行解密監(jiān)管,未被授權(quán)的上級(jí)監(jiān)管者則無權(quán)訪問解密數(shù)據(jù)。如算法5 所示,闡述了監(jiān)管者執(zhí)行的加密數(shù)據(jù)監(jiān)管算法。該算法將監(jiān)管者加密私鑰和附有加密數(shù)據(jù)的交易信息作為輸入,監(jiān)管者從鏈上獲取交易信息并解析,驗(yàn)證簽名的正確性。如果驗(yàn)證未通過,返回失??;如果驗(yàn)證成功,則根據(jù)加密公鑰的訪問控制字段判斷自己是否被授權(quán),若沒有授權(quán)則無法進(jìn)行下一步操作。若被授權(quán)則正確恢復(fù)用戶加密公鑰的血緣關(guān)系,然后根據(jù)監(jiān)管者自身的加密私鑰和恢復(fù)后的血緣關(guān)系推導(dǎo)出用戶的加密私鑰,最后使用推導(dǎo)出的加密私鑰解密數(shù)據(jù)密文,生成消息,進(jìn)行監(jiān)管。

      算法5 加密數(shù)據(jù)監(jiān)管算法

      2.3.3 訪問授權(quán)變更算法

      用戶可以通過修改加密公鑰中的訪問控制字段增加或刪除監(jiān)管者的監(jiān)管權(quán)限。如算法6 所示,闡述了用戶執(zhí)行的訪問授權(quán)變更算法。該算法將用戶加密密鑰、變更行為字段和監(jiān)管者加密公鑰作為輸入,生成用戶的加密密鑰。其中變更行為字段可以起到變更訪問授權(quán)的作用,當(dāng)用戶增加監(jiān)管者的權(quán)限時(shí),僅需在用戶公私鑰對(duì)中的訪問控制字段追加監(jiān)管者信息即可;當(dāng)用戶刪除監(jiān)管者的權(quán)限時(shí),為防止不誠實(shí)的監(jiān)管者在被刪除權(quán)限后,仍查看用戶信息,需調(diào)用算法2,不僅改變訪問控制字段,也要更新密文血緣關(guān)系。其中,用戶加密私鑰存儲(chǔ)的血緣關(guān)系為明文,存儲(chǔ)的訪問控制字段為監(jiān)管者們的公鑰信息和附加信息。

      算法6 訪問授權(quán)變更算法

      2.4 可信任監(jiān)管安全性說明

      機(jī)密性:數(shù)據(jù)的機(jī)密性是基于非對(duì)稱加密算法ECIES實(shí)現(xiàn)的機(jī)密性。敵手攻擊交易數(shù)據(jù)的機(jī)密性,意味著從密文中恢復(fù)有關(guān)消息m 的信息,可以直接規(guī)約到攻擊ECIES。因此,數(shù)據(jù)的機(jī)密性基于非對(duì)稱加密ECIES 的安全性。

      可監(jiān)管性:數(shù)據(jù)的可監(jiān)管性是基于橢圓曲線點(diǎn)乘運(yùn)算實(shí)現(xiàn)的可監(jiān)管性。敵手攻擊交易的可監(jiān)管性,即增加未被授權(quán)的監(jiān)管者,意味著需要從r·G中恢復(fù)出r以及從?256(pathKey)中恢復(fù)出pathKey,可以直接規(guī)約到攻擊橢圓曲線的離散對(duì)數(shù)問題ECDLP[25]和單向散列函數(shù)。因此,數(shù)據(jù)的可監(jiān)管性是基于ECDLP 和SHA256 的安全性。

      3 性能測試

      本方案適用于區(qū)塊鏈中隱私數(shù)據(jù)的多層級(jí)監(jiān)管場景,因此對(duì)該方案進(jìn)行性能測試和分析。實(shí)驗(yàn)環(huán)境為:處理器Intel Core i7-4770 @ 2.2GHz、內(nèi)存16GB 1 600 MHz、操作系統(tǒng)macOS Catalina 10.13.3、編程語言為Golang[26]。

      3.1 方案實(shí)現(xiàn)

      本方案擴(kuò)展了加密密鑰的存儲(chǔ)結(jié)構(gòu),其數(shù)據(jù)結(jié)構(gòu)如表1 所示。

      Table 1 Data structure of the extended key表1 擴(kuò)展密鑰的數(shù)據(jù)結(jié)構(gòu)

      擴(kuò)展密鑰的主要方法如表2 所示,包含主密鑰的生成、子密鑰的衍生、加密血緣關(guān)系、解密血緣關(guān)系、訪問控制設(shè)置等功能,用于實(shí)現(xiàn)密鑰的生成、加密、存儲(chǔ)、訪問控制和讀取等功能。

      Table 2 Main methods of extending the key表2 擴(kuò)展密鑰的主要方法

      本方案使用EncryptDataToBlockchain 函數(shù)實(shí)現(xiàn)數(shù)據(jù)加密上鏈算法。首先調(diào)用Encrypt 方法對(duì)消息進(jìn)行加密,然后調(diào)用SHA-256 方法對(duì)加密消息進(jìn)行哈希計(jì)算,最后調(diào)用Sign 方法對(duì)加密消息摘要進(jìn)行簽名,主要代碼如下所示。

      本方案使用SuperviseEncrytedData 函數(shù)實(shí)現(xiàn)加密數(shù)據(jù)監(jiān)管算法。首先調(diào)用Verify 方法驗(yàn)證簽名和數(shù)據(jù)的完整性,接著調(diào)用DecryptionKeyDerivation 方法判斷是否被授權(quán)以及恢復(fù)血緣關(guān)系,然后調(diào)用CorrespondingPrivateChild 方法衍生出用戶加密私鑰,最后調(diào)用Decrypt 方法解密消息,進(jìn)行監(jiān)管,主要代碼如下所示。

      3.2 測試結(jié)果

      本文對(duì)方案的性能進(jìn)行了測試,測試結(jié)果為100 次實(shí)驗(yàn)?zāi)M的均值,并且方差不大于5%。其中,訪問授權(quán)變更算法開銷很小,可忽略不計(jì),因此本文對(duì)用戶數(shù)據(jù)加密上鏈算法和加密數(shù)據(jù)監(jiān)管算法的性能進(jìn)行說明。

      數(shù)據(jù)加密上鏈算法測試調(diào)用EncryptDataToBlockchain函數(shù),計(jì)算交易生成所耗時(shí)間,該算法所用時(shí)間包括用戶使用加密公鑰加密消息的時(shí)間、對(duì)消息進(jìn)行哈希運(yùn)算的時(shí)間和簽名消息的時(shí)間。測試結(jié)果如圖5 所示,橫坐標(biāo)為用戶加密公鑰的深度,縱坐標(biāo)為時(shí)間。隨著加密密鑰深度的增加,加密時(shí)間無明顯變化,基本為恒定值,在0.55ms 附近震蕩,說明本文加密方案的性能十分穩(wěn)定,不會(huì)隨著子密鑰層數(shù)的變化而變化。

      Fig.5 Encryption performance test圖5 加密性能測試

      加密數(shù)據(jù)監(jiān)管算法測試調(diào)用SuperviseEncrytedData 函數(shù),該算法所用時(shí)間包括監(jiān)管機(jī)構(gòu)使用自身加密私鑰恢復(fù)用戶加密公鑰衍生路徑的時(shí)間、監(jiān)管中心推導(dǎo)用戶加密私鑰的時(shí)間以及監(jiān)管機(jī)構(gòu)解密消息的時(shí)間。測試結(jié)果如圖6所示,隨著加密密鑰深度的增加,監(jiān)管時(shí)間緩慢上升,幅度很小,每單位的時(shí)間增量為0.03ms(每深度單位可監(jiān)管2^32位用戶),說明本文監(jiān)管方案性能較優(yōu),適用于大規(guī)模監(jiān)管系統(tǒng)部署。

      Fig.6 Supervision performance test圖6 監(jiān)管性能測試

      3.3 性能對(duì)比

      為了說明本文方案的實(shí)用性,在相同的實(shí)驗(yàn)環(huán)境下,本文與開源項(xiàng)目超級(jí)鏈中的分層確定性加密方案做了性能比較。超級(jí)鏈的分層確定性加密方案和本文方案都可以實(shí)現(xiàn)對(duì)加密數(shù)據(jù)的監(jiān)管,但本文方案隱藏了用戶的歸屬關(guān)系以及用戶可以控制監(jiān)管授權(quán),實(shí)現(xiàn)層級(jí)化隱私保護(hù)監(jiān)管能力,加密密鑰對(duì)是基于現(xiàn)有的BIP32 協(xié)議優(yōu)化生成,無需額外引入第三方復(fù)雜的密鑰管理和分配服務(wù),減少了系統(tǒng)開銷。本文對(duì)數(shù)據(jù)加密算法的性能和監(jiān)管算法的性能進(jìn)行了比較,橫坐標(biāo)為用戶加密公鑰的深度,縱坐標(biāo)為時(shí)間,結(jié)果如圖7 和圖8 所示。如預(yù)期,本文的用戶加密算法與超級(jí)鏈的用戶加密算法耗時(shí)大致相同,但本文花費(fèi)了更多的監(jiān)管耗時(shí)以增強(qiáng)用戶的隱私保護(hù)和增加用戶控制監(jiān)管授權(quán)功能,大約多花費(fèi)0.15ms,相較于整個(gè)系統(tǒng)開銷,本文認(rèn)為這部分額外開銷是在可接受范圍內(nèi)。

      Fig.7 Encryption performance comparison圖7 加密性能比較

      Fig.8 Supervision performance comparison圖8 監(jiān)管性能比較

      4 結(jié)語

      本文提出一種適用于區(qū)塊鏈的數(shù)據(jù)隱私保護(hù)和大規(guī)模監(jiān)管技術(shù)方案。用戶可以將數(shù)據(jù)加密后上傳至區(qū)塊鏈,監(jiān)管機(jī)構(gòu)無需與用戶交互即可對(duì)密文消息進(jìn)行監(jiān)管。并且,除最高監(jiān)管機(jī)構(gòu)外,用戶可以對(duì)任意上級(jí)監(jiān)管者的監(jiān)管權(quán)限進(jìn)行訪問控制,有效地保障了用戶鏈上數(shù)據(jù)的機(jī)密性和數(shù)據(jù)的可授權(quán)監(jiān)管性。安全性分析說明了本方案在一定的密碼學(xué)假設(shè)下是安全的。最后,通過性能測試可以看出,本方案簡單高效且具有很強(qiáng)的實(shí)用性。與傳統(tǒng)分層確定性加密方案相比,本文提出的方案有效地增強(qiáng)了數(shù)據(jù)隱私的分層保護(hù)和監(jiān)管能力,可降低監(jiān)管溯源難度,從而克服現(xiàn)有技術(shù)缺陷。

      猜你喜歡
      監(jiān)管者公鑰密鑰
      探索企業(yè)創(chuàng)新密鑰
      密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
      一種基于混沌的公鑰加密方案
      一種對(duì)稱密鑰的密鑰管理方法及系統(tǒng)
      基于ECC的智能家居密鑰管理機(jī)制的實(shí)現(xiàn)
      HES:一種更小公鑰的同態(tài)加密算法
      SM2橢圓曲線公鑰密碼算法綜述
      基于格的公鑰加密與證書基加密
      商業(yè)銀行員工績效考核與操作風(fēng)險(xiǎn)防范的博弈研究*
      信息不對(duì)稱情況下金融監(jiān)管的博弈分析
      南陵县| 镇安县| 孟村| 滨州市| 郑州市| 呼伦贝尔市| 天津市| 陆良县| 博白县| 南充市| 湖州市| 玉树县| 巴青县| 龙山县| 霍州市| 神池县| 建阳市| 贡嘎县| 曲阳县| 黑山县| 志丹县| 萝北县| 微博| 南京市| 汉中市| 原阳县| 长春市| 宣武区| 苏尼特左旗| 通渭县| 罗城| 青龙| 龙陵县| 普陀区| 北宁市| 安平县| 潼南县| 望奎县| 沈丘县| 扶沟县| 遂平县|