• 
    

    
    

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

      基于區(qū)塊鏈的分布式EHR 細(xì)粒度可追溯方案

      2021-06-04 14:22:14應(yīng)作斌斯元平馬建峰劉西蒙
      通信學(xué)報(bào) 2021年5期
      關(guān)鍵詞:身份證明解密密鑰

      應(yīng)作斌,斯元平,馬建峰,3,劉西蒙

      (1.安徽大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥 230601;2.安徽大學(xué)物質(zhì)科學(xué)與信息技術(shù)研究院,安徽 合肥 230601;3.西安電子科技大學(xué)網(wǎng)絡(luò)與信息安全學(xué)院,陜西 西安 710071;4.福州大學(xué)數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,福建 福州 350108)

      1 引言

      目前,電子健康檔案(EHR,electronic health record)已經(jīng)成為提高醫(yī)療診斷效率的工具之一,其數(shù)據(jù)從可穿戴設(shè)備、智能傳感器等來源收集。隨著智慧醫(yī)療的逐步發(fā)展,EHR 數(shù)據(jù)量呈指數(shù)級(jí)增長。電子病歷的數(shù)據(jù)量將以每年48%的速度增長[1]。但是,EHR 數(shù)據(jù)共享面臨存儲(chǔ)安全性和隱私泄露的問題。密文策略屬性基加密(CP-ABE,ciphertext policy attribute based encryption)專門為一對多加密而設(shè)計(jì),適合作為EHR 的訪問控制解決方案。面對海量的EHR 數(shù)據(jù),本地存儲(chǔ)解決方案已不再適用,而集中式云存儲(chǔ)方案存在數(shù)據(jù)泄露和單點(diǎn)故障問題,區(qū)塊鏈技術(shù)成為EHR 數(shù)據(jù)管理的有前途的解決方案??紤]到區(qū)塊鏈的塊大小有限,將加密的EHR 文件存儲(chǔ)于分布式存儲(chǔ)系統(tǒng),如星際文件系統(tǒng)(IPFS,inter planetary file system),而將EHR 的密文及其IPFS 中的下載地址等數(shù)據(jù)上鏈,可以有效節(jié)省區(qū)塊鏈的存儲(chǔ)空間。

      基于區(qū)塊鏈的EHR 訪問控制方案的研究大多側(cè)重于隱私保護(hù)[2-3],而實(shí)現(xiàn)隱私保護(hù)的同時(shí)帶來了監(jiān)管問題。區(qū)塊鏈中強(qiáng)大的隱私保護(hù)滋生了許多安全問題,例如,所有勒索軟件攻擊中有88%發(fā)生在醫(yī)療保健系統(tǒng)中[4]。文獻(xiàn)[5]指出,2009—2017 年發(fā)生了約1 138 起違規(guī)事件,影響了1.64 億患者的醫(yī)療數(shù)據(jù)。這些安全問題不僅對用戶利益構(gòu)成嚴(yán)重威脅,而且嚴(yán)重阻礙了區(qū)塊鏈在EHR 大規(guī)模共享中的開發(fā)和應(yīng)用。跟蹤用戶身份是解決區(qū)塊鏈監(jiān)管問題的關(guān)鍵。

      為了應(yīng)對這些挑戰(zhàn),本文提出了一種基于區(qū)塊鏈的分布式EHR細(xì)粒度可追溯方案,能夠?qū)崿F(xiàn)EHR在分布式存儲(chǔ)中的隱私保護(hù)和細(xì)粒度的訪問控制,并完成用戶的追溯。此外,為了消除分布式存儲(chǔ)中密鑰管理的單點(diǎn)故障(SPoF,single point of failure)問題,本文設(shè)計(jì)了一種分布式CP-ABE 方案。本文主要的貢獻(xiàn)總結(jié)如下。

      1) 提出了一種基于區(qū)塊鏈的可追溯分布式EHR 細(xì)粒度訪問控制方案,解決分布式存儲(chǔ)中EHR數(shù)據(jù)的密鑰管理和惡意用戶的追溯問題。

      2) 融合變色龍哈希和零知識(shí)證明技術(shù)完成鏈上節(jié)點(diǎn)的注冊驗(yàn)證和生成身份證明,通過節(jié)點(diǎn)的公開信息可以追溯節(jié)點(diǎn)的身份證明,獲得注冊節(jié)點(diǎn)的真實(shí)ID,從而實(shí)現(xiàn)用戶的追溯。

      3) 結(jié)合分布式密鑰生成(DKG,distributed key generation)協(xié)議,設(shè)定多個(gè)解密機(jī)構(gòu)節(jié)點(diǎn)作為授權(quán)中心,設(shè)計(jì)分布式CP-ABE 方案。安全性證明表明,基于區(qū)塊鏈的可追溯分布式屬性基加密算法在隨機(jī)預(yù)言機(jī)模型下是自適應(yīng)安全的。

      2 相關(guān)工作

      2008 年,中本聰在比特幣中使用了哈希鏈和工作量證明[6]。區(qū)塊鏈[7]是按時(shí)間排序的數(shù)據(jù)區(qū)塊,包括完整和有效的交易記錄列表。近年來,區(qū)塊鏈技術(shù)已應(yīng)用于金融服務(wù)[8]、醫(yī)療保健[2,9]、物聯(lián)網(wǎng)[10-11]和車聯(lián)網(wǎng)[2,12]等領(lǐng)域。將區(qū)塊鏈應(yīng)用于醫(yī)療保健領(lǐng)域的趨勢正在增加[13-16]。文獻(xiàn)[13]提出了使用區(qū)塊鏈技術(shù)的去中心化電子病歷管理系統(tǒng)——MedRec,它是一種模塊化設(shè)計(jì),可管理參與者之間的權(quán)限和數(shù)據(jù)共享。與MedRec 類似,文獻(xiàn)[14]提出了一個(gè)基于以太坊的區(qū)塊鏈Ancile,它利用智能合約來增強(qiáng)訪問控制和數(shù)據(jù)混淆。文獻(xiàn)[15]構(gòu)建了云環(huán)境中電子病歷的基于區(qū)塊鏈的數(shù)據(jù)共享框架。文獻(xiàn)[16]提出通過區(qū)塊鏈進(jìn)行高效、安全的醫(yī)療數(shù)據(jù)共享,利用基于混合區(qū)塊鏈的架構(gòu)保護(hù)電子病歷。

      在基于區(qū)塊鏈的存儲(chǔ)EHR 數(shù)據(jù)的應(yīng)用中,研究者提出加密方案來增強(qiáng)EHR 的安全性和有效性。文獻(xiàn)[17]采用離散波長變換和遺傳算法來增強(qiáng)安全性并優(yōu)化系統(tǒng)性能。類似地,文獻(xiàn)[18]通過在密鑰的共享中采用密文策略的屬性基加密,并結(jié)合區(qū)塊鏈技術(shù),實(shí)現(xiàn)了云存儲(chǔ)中的細(xì)粒度訪問控制,并支持驗(yàn)證搜索。文獻(xiàn)[19]將基于分層身份的加密系統(tǒng)(HIBE,hierarchical identity based encryption)和CP-ABE 組合在一起,以實(shí)現(xiàn)在云服務(wù)器上有效的數(shù)據(jù)加密共享。文獻(xiàn)[20]提出了一種用于大數(shù)據(jù)訪問的有效可撤銷CP-ABE 方案,使用基于代理的更新在云中進(jìn)行控制。Lewko和Waters[21]提出在沒有中央授權(quán)的情況下提供分布式CP-ABE 方案。Hu 等[22]和Li 等[23]提出了具有隱私保護(hù)和基于雙方屬性的密鑰協(xié)議的多權(quán)限CP-ABE 方案。

      但是,上述應(yīng)用均集中在增強(qiáng)安全性和隱私保護(hù)方面,密鑰生成的單點(diǎn)故障問題依然影響安全,且對于區(qū)塊鏈的可追溯功能的研究是有限的。EHR數(shù)據(jù)具有高度敏感性,在此類數(shù)據(jù)的共享中,一旦發(fā)生非法訪問,將會(huì)造成極大的不良影響。文獻(xiàn)[24]中比特幣地址被認(rèn)證,只要用戶使用新的地址,就必須通過權(quán)威機(jī)構(gòu)獲取認(rèn)證,大大降低了方案的執(zhí)行效率。文獻(xiàn)[25]設(shè)計(jì)了新的分布式匿名支付系統(tǒng)以解決監(jiān)管問題,但系統(tǒng)只適用于Zerocash[26]。本文提出了一種靈活的基于區(qū)塊鏈的分布式EHR 細(xì)粒度可追溯方案。

      分布式密鑰生成。DKG 協(xié)議是(t,n)閾值密碼系統(tǒng)的組成部分之一[27]。它允許n方共同生成密鑰對(即公共密鑰和私有密鑰),而不需要讓任何一方重建或存儲(chǔ)密鑰。如果不超過t+1個(gè)參與方被破壞,則該協(xié)議是安全的。此外,文獻(xiàn)[28]通過統(tǒng)一的隨機(jī)性提高了DKG 協(xié)議的安全性。通過運(yùn)行DKG 協(xié)議,每個(gè)誠實(shí)方將擁有密鑰a的份額ai。對于N 組中t+1個(gè)正確份額,其中是集合N 的拉格朗日內(nèi)插系數(shù),t?安全DKG 協(xié)議將始終滿足以下特性。

      ①正確性。t+1份額的任何子集都定義相同的私鑰a(a∈Zp),并且各方共享相同的公鑰GP=ga。

      ② 保密性。除了GP=ga外,沒有關(guān)于a的任何信息。

      3 系統(tǒng)模型

      系統(tǒng)模型如圖1 所示,涉及7 個(gè)參與方:用戶節(jié)點(diǎn)、醫(yī)生節(jié)點(diǎn)、驗(yàn)證節(jié)點(diǎn)、仲裁節(jié)點(diǎn)、解密機(jī)構(gòu)節(jié)點(diǎn)、區(qū)塊鏈平臺(tái)、分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)。表1 列出了主要參數(shù)及含義。

      圖1 系統(tǒng)模型

      表1 主要參數(shù)及含義

      驗(yàn)證節(jié)點(diǎn)主要用于生成鏈上節(jié)點(diǎn)的身份證明。用戶生成注冊信息,并將其發(fā)送給驗(yàn)證節(jié)點(diǎn),完成注冊信息的驗(yàn)證。成功注冊的用戶將得到由驗(yàn)證節(jié)點(diǎn)生成的身份證明,身份證明和私人信息之間存在一一對應(yīng)的綁定關(guān)系。

      用戶節(jié)點(diǎn)由Pu標(biāo)識(shí),指可以提供EHR 健康數(shù)據(jù)的患者。用戶節(jié)點(diǎn)需要進(jìn)行節(jié)點(diǎn)注冊,從驗(yàn)證節(jié)點(diǎn)獲得身份證明。Pu提交電子健康記錄EHR,用對稱加密算法加密EHR 得到CEHR,并發(fā)送到鏈外的IPFS 中,IPFS 將返回一個(gè)下載鏈接τ用于檢索數(shù)據(jù),再用非對稱加密算法將對稱加密的密鑰ε加密得到Cε。Pu將傳送給仲裁節(jié)點(diǎn)F。經(jīng)F驗(yàn)證后上傳到區(qū)塊鏈B存儲(chǔ),且Pu節(jié)點(diǎn)的公開信息和身份證明在鏈上公開顯示。

      醫(yī)生節(jié)點(diǎn)由Du標(biāo)識(shí),指申請?jiān)L問EHR 的實(shí)體。醫(yī)生節(jié)點(diǎn)需要進(jìn)行節(jié)點(diǎn)注冊,從驗(yàn)證節(jié)點(diǎn)獲得身份證明,并將傳送給仲裁節(jié)點(diǎn)F。經(jīng)F驗(yàn)證后上傳到區(qū)塊鏈B存儲(chǔ)。當(dāng)醫(yī)生節(jié)點(diǎn)Du請求訪問數(shù)據(jù)文件時(shí),Du將自己的屬性集以及身份證明發(fā)送給鏈上仲裁節(jié)點(diǎn)F。驗(yàn)證通過后,F(xiàn)返回訪問憑證res。Du獲得訪問憑證后,發(fā)送給解密機(jī)構(gòu)節(jié)點(diǎn)Ai,獲得足夠的密鑰份額,獲得,完成解密操作。

      仲裁節(jié)點(diǎn)由F標(biāo)識(shí),是指可以驗(yàn)證用戶節(jié)點(diǎn)身份以及數(shù)據(jù)內(nèi)容的節(jié)點(diǎn),且可以為數(shù)據(jù)訪問節(jié)點(diǎn)生成訪問憑證。鏈上文件訪問異常時(shí),可通過查找用戶身份實(shí)現(xiàn)追溯。

      解密機(jī)構(gòu)節(jié)點(diǎn)由Ai標(biāo)識(shí),是指使用DKG 協(xié)議共同維護(hù)主密鑰的實(shí)體。他們提供密鑰份額以允許仲裁節(jié)點(diǎn)生成訪問憑證res。特別地,Du需要獲得至少t+1份額才能解密從區(qū)塊鏈獲得的數(shù)據(jù)。

      區(qū)塊鏈平臺(tái)由B標(biāo)識(shí),是由多個(gè)區(qū)塊鏈節(jié)點(diǎn)維護(hù)的許可區(qū)塊鏈。上述幾個(gè)角色都充當(dāng)區(qū)塊鏈節(jié)點(diǎn),允許獲得許可的參與者加入該區(qū)塊鏈系統(tǒng)。追溯記錄在B中,使公眾可以審計(jì)調(diào)查的有效性和合法性。

      分布式存儲(chǔ)系統(tǒng)是指存儲(chǔ)相關(guān)數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)系統(tǒng),本文方案采用了分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)IPFS。數(shù)據(jù)在加密后存入IPFS 中,如果Du想檢索數(shù)據(jù),則需要獲得訪問權(quán)限以獲得解密密鑰。

      設(shè)定仲裁節(jié)點(diǎn)F和驗(yàn)證節(jié)點(diǎn)比其他節(jié)點(diǎn)具有更高的權(quán)重來維護(hù)B的安全性,區(qū)塊鏈基于權(quán)益證明(PoS,proof of stake),如果存在可疑行為需要調(diào)查,F(xiàn)將在區(qū)塊鏈數(shù)據(jù)中追蹤用戶的真實(shí)身份,采用混合加密的方式加強(qiáng)數(shù)據(jù)保密性,提高加密效率。

      4 算法設(shè)計(jì)

      4.1 算法定義

      1) 初始化算法

      初始化算法輸入安全參數(shù)λ,得到公共參數(shù)pp,主密鑰MSK=a,全局參數(shù)GP=ga。

      2) 解密機(jī)構(gòu)和用戶節(jié)點(diǎn)初始化階段

      獲得每個(gè)解密機(jī)構(gòu)Ai的私鑰為,對應(yīng)的公鑰為以及屬性公鑰。用戶私鑰和公鑰為,且是解密機(jī)構(gòu)對應(yīng)用戶uid的屬性集。用戶uid發(fā)送密鑰份額申請app 給解密機(jī)構(gòu)Ai,解密機(jī)構(gòu)Ai將計(jì)算并返回屬性私鑰份額SKatt。

      3) 節(jié)點(diǎn)注冊與節(jié)點(diǎn)驗(yàn)證階段

      節(jié)點(diǎn)注冊階段。輸入公共參數(shù)pp 和用戶節(jié)點(diǎn)的真實(shí)身份uid,返回節(jié)點(diǎn)的注冊信息regmess=(CTmess,?mess)。

      節(jié)點(diǎn)驗(yàn)證階段。輸入公共參數(shù)pp、注冊信息regmess,以及注冊信息的私鑰skenrol,驗(yàn)證節(jié)點(diǎn)身份id 是否有效,驗(yàn)證有效,輸出1;否則輸出0。

      4) 身份證明的生成和驗(yàn)證階段

      身份證明的生成階段。輸入公共參數(shù)pp、節(jié)點(diǎn)的公開和保密信息對(conf,pers)、用戶身份的變色龍哈希值、變色龍哈希的公私鑰對pkchame和skchame、隨機(jī)值c、Merkle 樹根節(jié)點(diǎn)rt、樹葉節(jié)點(diǎn)到樹根節(jié)點(diǎn)的路徑,輸出節(jié)點(diǎn)的身份證明。

      身份證明的驗(yàn)證階段。輸入公共參數(shù)pp、節(jié)點(diǎn)的公開信息conf、節(jié)點(diǎn)的身份證明,輸出驗(yàn)證結(jié)果,若驗(yàn)證成功,則b=1。

      5) 數(shù)據(jù)生成階段

      在此階段使用混合加密算法加密數(shù)據(jù),且將數(shù)據(jù)密文存儲(chǔ)于分布式存儲(chǔ)系統(tǒng)IPFS 中。對稱加密算法,如AES(advanced encryption standard)加密原數(shù)據(jù),對稱加密算法的密鑰由CP-ABE 實(shí)現(xiàn)加密。為了消除單點(diǎn)故障,本文方案采用DKG 協(xié)議。假設(shè)有N個(gè)解密機(jī)構(gòu)(也屬于用戶節(jié)點(diǎn))分布于區(qū)塊鏈上,每個(gè)解密機(jī)構(gòu)Ai獲得a的一個(gè)秘密份額ai,將數(shù)據(jù)加密的密文存儲(chǔ)于IPFS 中,IPFS 返回?cái)?shù)據(jù)的下載鏈接。數(shù)據(jù)的密文CEHR、密文在IPFS 中的下載鏈接τ、數(shù)據(jù)加密的完成時(shí)間timestamp,以及密鑰加密結(jié)果都被上傳到區(qū)塊鏈中存儲(chǔ)。

      6) 數(shù)據(jù)訪問權(quán)請求和授權(quán)階段

      當(dāng)鏈上節(jié)點(diǎn)請求訪問數(shù)據(jù)文件時(shí),用戶節(jié)點(diǎn)將自己的屬性集合發(fā)送給鏈上仲裁節(jié)點(diǎn)F。如果用戶的屬性集合滿足訪問策略(M,ρ),則仲裁節(jié)點(diǎn)F將訪問授權(quán)憑證發(fā)送給用戶節(jié)點(diǎn)。

      7) 解密并獲取數(shù)據(jù)階段

      用戶節(jié)點(diǎn)得到授權(quán)后,將獲得憑證(包含足夠的密鑰份額),進(jìn)而有權(quán)獲得區(qū)塊鏈中存儲(chǔ)的,可以完成解密操作。首先,用戶節(jié)點(diǎn)利用訪問授權(quán)憑證解密密鑰密文,從而獲得對稱加密算法的密鑰;然后,利用IPFS下載鏈接得到密文CEHR;最后,利用對稱加密算法的密鑰解密數(shù)據(jù)密文,從而得到數(shù)據(jù)明文,完成訪問。

      8) 追溯階段

      仲裁節(jié)點(diǎn)F獲得鏈上數(shù)據(jù),解密后將得到其變色龍哈希公鑰,通過檢索驗(yàn)證節(jié)點(diǎn)上的記錄信息,從而獲得與用戶節(jié)點(diǎn)變色龍哈希公鑰對應(yīng)的用戶真實(shí)id,輸出用戶節(jié)點(diǎn)的身份序列ID。

      4.2 具體方案構(gòu)造

      1) 系統(tǒng)初始化階段

      Setup(1λ) → pp 。初始化算法輸入安全參數(shù)λ,得到公共參數(shù)pp 。公共參數(shù)組成如下:用于zk-SNARK(zero knowledge succinct non-interactive argument of knowledge)中的?mess的證明和驗(yàn)證密鑰對(pkmess,vkmess)、用于zk-SNARK 中?cert的證明和驗(yàn)證密鑰對(pkcert,vkcert)、注冊機(jī)構(gòu)的公鑰pkenrol以及用于變色龍哈希的公共參數(shù)ppchame。,其中,x為mess或cert,表明給定pkx、陳述dx和見證ox,ρnizk將返回一個(gè)證明?x。onizk(vkx,dx,?x)用于驗(yàn)證,給定驗(yàn)證密鑰vkx、陳述dx和ρnizk所得證明ξx,如果驗(yàn)證成功,則onizk返回1,否則返回0。

      選擇G1和G2是素?cái)?shù)階為q的循環(huán)群,且G1的生成元為g。設(shè)有雙線性映射e:G1×G1→G2、抗碰撞哈希函數(shù)H:{0,1}?→G1。N個(gè)解密機(jī)構(gòu)(也屬于用戶節(jié)點(diǎn))分布于區(qū)塊鏈上{Ai}i=1,2,…,N,運(yùn)行DKG 協(xié)議,得到主密鑰MSK=a,其中a∈Zq,每個(gè)解密機(jī)構(gòu)Ai獲得a的一個(gè)秘密份額ai。生成全局參數(shù)GP=ga。

      2) 解密機(jī)構(gòu)和用戶節(jié)點(diǎn)初始化階段

      隨機(jī)選取參數(shù)ηi,θi,κi∈Zq,每個(gè)解密機(jī)構(gòu)Ai的私鑰為,對應(yīng)的公鑰為。Ai隨機(jī)選取xj∈Zq,生成屬性公鑰。隨機(jī)選取y,z∈Zq,用戶私鑰公鑰為,且是解密機(jī)構(gòu)對應(yīng)用戶uid的屬性集。uid發(fā)送密鑰份額申請app 給解密機(jī)構(gòu)Ai,如式(1)所示。

      Ai將計(jì)算并返回屬性私鑰份額,如式(2)所示。

      3) 節(jié)點(diǎn)注冊與節(jié)點(diǎn)驗(yàn)證階段

      節(jié)點(diǎn)注冊階段可表示為

      用戶節(jié)點(diǎn)由ppchame生成自己的變色龍方案的公鑰和私鑰對(pkchame,skchame)。由uid計(jì)算其變色龍哈希 值,隨 機(jī) 選 取c,得 到(pkchame,uid,c)。此時(shí),用戶可以為以下NP 關(guān)系生成zk-SNARK 證明?mess。給定dmess=(uid,pkchame,),得到omess=(skchame,c)。其中,變色龍哈希的私鑰與公鑰的關(guān)系為pkchame=chamegen(skchame)。

      仲裁節(jié)點(diǎn)F得到?mess=ρnizk(pkmess,dmess,omess)。計(jì)算注冊信息的加密密文CTmess=Enc(pkenrol,dmess),驗(yàn)證節(jié)點(diǎn)存儲(chǔ),同時(shí)返回

      節(jié)點(diǎn)驗(yàn)證階段可表示為

      節(jié)點(diǎn)驗(yàn)證過程如圖2 所示,具體步驟如下。解析regmess 為(CTmess,?mess),由解密算法得到dmess,,并 解 析dmess為。如果所得uid不是有效身份,則輸出b值為0;否則判斷onizk(vkmess,dmess,?mess)=0是否成立,若成立,則輸出b=0,否則b=1。由仲裁節(jié)點(diǎn)存儲(chǔ)(pkchame,uid,),并通過Merkle 樹來發(fā)布。

      圖2 節(jié)點(diǎn)驗(yàn)證過程

      4) 身份證明的生成和驗(yàn)證階段

      身份證明的生成階段可表示為

      身份證明的驗(yàn)證階段可表示為

      身份證明的驗(yàn)證過程如圖3 所示,主要用來驗(yàn)證用戶節(jié)點(diǎn)的身份證明是否有效。分離為(wcert,?cert),設(shè)置dcert=(conf,wcert),若onizk(vkcert,dcert,?cert)=0,則返回b=0,否則b=1。

      圖3 身份證明的驗(yàn)證過程

      5) 數(shù)據(jù)生成階段

      假設(shè)患者Pu首先提交EHR,用對稱加密方法加密得到CEHR并發(fā)送到鏈外的IPFS 中,由IPFS 返回下載地址τ;然后用分布式CP-ABE 來加密對稱密鑰ε;最后,Pu向區(qū)塊鏈B提交一筆交易,將存儲(chǔ)到鏈上,可以使用區(qū)塊鏈中的防篡改交易記錄來驗(yàn)證數(shù)據(jù)的完整性。電子健康數(shù)據(jù)的生成存儲(chǔ)過程具體如下。

      ①數(shù)據(jù)加密

      為了對EHR 進(jìn)行加密,隨機(jī)生成ε∈G2作為對稱加密的密鑰運(yùn)行加密算法(例如AES),對數(shù)據(jù)EHR 進(jìn)行加密,并計(jì)算Encε(EHR)=CEHR。將CEHR存儲(chǔ)于IPFS 中,IPFS 返回?cái)?shù)據(jù)的下載鏈接τ給Pu。

      ②對稱加密算法中的密鑰加密

      其中,

      Pu公開信息conf、身份證明、身份id 的加密結(jié)果C、IPFS 中的密文下載地址τ、對稱密鑰加密結(jié)果Cε以及數(shù)據(jù)生成的時(shí)間戳timestamp,并上傳到區(qū)塊鏈中存儲(chǔ),即

      6) 數(shù)據(jù)訪問權(quán)請求和授權(quán)階段

      其中,

      訪問授權(quán)憑證為

      7) 解密并獲取數(shù)據(jù)階段

      Du得到授權(quán)后,將獲得由F發(fā)送的訪問權(quán)限憑證res,從而獲得區(qū)塊鏈中存儲(chǔ)的數(shù)據(jù),從足夠數(shù)量的解密機(jī)構(gòu)處獲得的擁有密鑰份額的解密憑證,從而可以完成解密操作。具體分為以下兩步完成。

      ①Du利用訪問授權(quán)憑證res 和全局私鑰對Cε解密,從而獲得對稱加密算法的密鑰ε。

      ②利用對稱加密算法和解密密鑰ε來解密CEHR從而得到數(shù)據(jù)明文

      8) 追溯階段

      追溯過程如圖4 所示,可表示為

      圖4 追溯過程

      5 性能分析

      本文方案與其他相關(guān)方案的功能對比如表2 所示。分別對安全、隱私、用戶認(rèn)證、密鑰管理以及可追溯性能進(jìn)行比較。

      表2 本文方案與其他方案的功能對比

      從表2 可以看出,文獻(xiàn)[15,29-30]方案都滿足安全與隱私性能,文獻(xiàn)[15,29]方案利用區(qū)塊鏈的不變性追溯鏈上數(shù)據(jù),但文獻(xiàn)[15,29-30]方案均缺乏密鑰管理功能,存在安全威脅。比較結(jié)果表明,本文方案優(yōu)于對比方案,可以為改善當(dāng)前的分布式EHR 應(yīng)用提供解決方案。

      5.1 設(shè)計(jì)實(shí)施

      在區(qū)塊鏈應(yīng)用程序中通過私人信息生成公開信息的主要方式是使用橢圓曲線標(biāo)量乘法,即conf=persG,其中,pers 是標(biāo)量,G是橢圓曲線的基點(diǎn),而conf 是橢圓曲線上的一個(gè)點(diǎn)。橢圓曲線標(biāo)量乘法的實(shí)現(xiàn)基于MNT6 橢圓曲線。使用Java 編程語言基于zk-SNARK 庫libsnark 實(shí)現(xiàn)本文方案的原型。在具體的實(shí)現(xiàn)中,使用提供128 bit 安全性的Barreto-Naehrig 橢圓曲線作為zk-SNARK 方案的基礎(chǔ)曲線。變色龍哈希和公鑰加密方案的實(shí)現(xiàn)基于254 bit 的質(zhì)數(shù)字段?;贘PBC(基于PBC 配對的密碼庫)在DKG協(xié)議和CP-ABE 上實(shí)現(xiàn)密碼算法,采用具有160 bitZq和512 bitG1的素?cái)?shù)雙線性群設(shè)置系統(tǒng)參數(shù)。

      本節(jié)實(shí)驗(yàn)在個(gè)人計(jì)算機(jī)上運(yùn)行,主要參數(shù)是IntelCore? i5-5200U、2.20 GHz CPU,以及4 GB RAM?;? 個(gè)授權(quán)機(jī)構(gòu)(5 個(gè)中的3 個(gè))設(shè)計(jì)DKG 協(xié)議,以評估通信性能和時(shí)間開銷。設(shè)置階段包括DKG 協(xié)議和CP-ABE 的初始化,使用混合加密方法計(jì)算加密和解密的時(shí)間性能。

      5.2 時(shí)間開銷與通信開銷

      設(shè)置Merkle樹支持的最大用戶數(shù)分別為210、220、230,評估算法性能。圖5和圖6展示了Setup、Genmess、Vermess、Gencert、Vercert和Trace 算法的時(shí)間開銷。其中,time 代表算法的運(yùn)行時(shí)間。|.|代表數(shù)據(jù)長度。例如表示注冊中用于zk-SNARK 中驗(yàn)證密鑰的長度。

      圖5 Setup 和Gencert 算法的時(shí)間開銷

      圖6 Genmess、Vermess、Vercert 和Trace 算法的時(shí)間開銷

      1) Setup 算法在Merkle 樹深度為10 時(shí),運(yùn)行時(shí)間為180 s;深度為20 時(shí),運(yùn)行時(shí)間為295 s;深度為30 時(shí),運(yùn)行時(shí)間為401 s。

      2) Genmess算法在Merkle 樹深度為10 時(shí),運(yùn)行時(shí)間為1 401 ms;深度為20時(shí),運(yùn)行時(shí)間為1 409 ms;深度為30時(shí),運(yùn)行時(shí)間為1525 ms。

      3) Vermess算法在Merkle 樹深度為10 時(shí),運(yùn)行時(shí)間為50.7 ms;深度為20時(shí),運(yùn)行時(shí)間為52.6 ms;深度為30時(shí),運(yùn)行時(shí)間為53.3 ms。

      4) Gencert算法在Merkle 樹深度為10 時(shí),運(yùn)行時(shí)間為53s;深度為20 時(shí),運(yùn)行時(shí)間為81 s;深度為30 時(shí),運(yùn)行時(shí)間為113 s。

      5) Vercert算法在Merkle 樹深度為10 時(shí),運(yùn)行時(shí)間為46.9 ms;深度為20 時(shí),運(yùn)行時(shí)間為48.1 ms;深度為30 時(shí),運(yùn)行時(shí)間為48.3 ms。

      6) Trace 算法運(yùn)行時(shí)間與Merkle 樹深度無關(guān),均為0.17 ms。

      生成證明和驗(yàn)證密鑰對的通信開銷如表3 所示。由表3 知,用于zk-SNARK 中的?mess的證明和驗(yàn)證密鑰對(pkmess,vkmess)的大小分別為663 KB 和665 B。在樹深度為30 時(shí),用于zk-SNARK 中的?cert的證明和驗(yàn)證密鑰對(pkcert,vkcert)的大小分別為237 MB 和11 KB。zk-SNARK 中?mess和?cert的大小為341 B。

      表3 生成證明和驗(yàn)證密鑰對的通信開銷

      設(shè)S為方案加密健康數(shù)據(jù)文件時(shí)選取的屬性集,為與用戶屬性私鑰相關(guān)的屬性集,分別為在群G1和G2上進(jìn)行模冪運(yùn)算消耗的時(shí)間,tp是雙線性配對操作消耗的時(shí)間。數(shù)據(jù)文件的加密解密與屬性私鑰和全局私鑰相關(guān),能夠有效避免解密機(jī)構(gòu)節(jié)點(diǎn)Ai之間的聯(lián)合攻擊。EHR 加密與解密時(shí)間開銷如圖7 所示。由圖7可知,方案加密數(shù)據(jù)的時(shí)間開銷與加密健康數(shù)據(jù)文件時(shí)選取的屬性集空間規(guī)模|S|成正相關(guān),表達(dá)式為。而解密數(shù)據(jù)的時(shí)間開銷與屬性無關(guān),表達(dá)式為。

      圖7 EHR 加密數(shù)據(jù)與解密數(shù)據(jù)時(shí)間開銷

      表4 EHR 加密數(shù)據(jù)與解密數(shù)據(jù)通信開銷

      6 安全性證明

      追溯算法的安全性證明主要通過節(jié)點(diǎn)身份證明的不可區(qū)分性來實(shí)現(xiàn)。攻擊游戲雙方分別是敵手A和挑戰(zhàn)者C,具有身份ID 的誠實(shí)用戶的行為由預(yù)言機(jī)Oid實(shí)現(xiàn)。假設(shè)實(shí)驗(yàn)中的誠實(shí)用戶和敵手已經(jīng)在注冊認(rèn)證機(jī)構(gòu)中成功注冊,可以生成任何身份證明。挑戰(zhàn)者C使用公共參數(shù)pp 初始化Oid。

      Oid存儲(chǔ)用于生成注冊信息的秘密信息persenrol、用戶生成的一組身份證明以及用戶用來生成身份證明的一組證據(jù)certpers。Oid接受2 種不同的查詢,具體如下。

      1) 查詢1。敵手不知道私人信息pers。Oid首先隨機(jī)選擇pers,生成公共信息conf 發(fā)布;然后,Oid調(diào)用Gencert算法以生成身份證明,并將發(fā)送給查詢者。

      2) 查詢2。敵手知道私人信息pers,Oid首先使用pers 生成公共信息conf 發(fā)布,然后調(diào)用Gencert算法來生成身份證明,Oid將發(fā)送給查詢者。

      攻擊游戲1Gameinden:身份證明不可區(qū)分

      步驟1挑戰(zhàn)者C選取隨機(jī)值b∈{0,1},通過運(yùn)行Setup(1λ)獲得公共參數(shù)pp,并發(fā)送給敵手A。C初始化2 個(gè)獨(dú)立的預(yù)言機(jī)

      步驟2敵手A發(fā)送一系列查詢。

      步驟 3挑戰(zhàn)者C對于A的查詢回復(fù)為

      步驟4查詢結(jié)束,A向C發(fā)送一個(gè)猜測b′∈{0,1}。如果b=b′,C輸出1,挑戰(zhàn)成功;否則,C輸出0。

      身份證明的不可區(qū)分性要求敵手A以極低的概率贏得上述游戲。正式定義如定義1 所示。

      定義1如果對于任意多項(xiàng)式時(shí)間敵手A,方案都滿足身份證明的不可區(qū)分性,則敵手A存在可忽略優(yōu)勢εinden,使

      定理1假設(shè)完全為零知識(shí),加密方案Enc 滿足IND-CCA2 安全性,則本方案滿足身份證明不可區(qū)分性。

      證明下面通過一系列混合游戲證明定理1。令Qm為敵手A發(fā)送的查詢數(shù)。定義一組游戲如下。

      Gamereal表示真實(shí)的IND-CCA2 游戲設(shè)置。

      Game0與Gamereal除了挑戰(zhàn)者C將模擬方案之外,其他設(shè)置相同。挑戰(zhàn)者C調(diào)用多項(xiàng)式時(shí)間模擬器Snizk(λ,ACcert)獲得證明和驗(yàn)證密鑰對(pkcert,vkcert)以及門限trap。由于本文方案完全是零知識(shí),因此模擬?cert的分布與證明在Gamereal中計(jì)算。因此,

      只需要證明不存在多項(xiàng)式時(shí)間的敵手A能夠以可忽略的概率區(qū)分Game0和Game1。

      基于對每個(gè)查詢密文的標(biāo)準(zhǔn)混合參數(shù),可以得出結(jié)論,在實(shí)驗(yàn)的隨機(jī)性上,C′必須以至少的優(yōu)勢在IND-CCA2 實(shí)驗(yàn)中成功。因此,

      證畢。

      定理2如果q-BDHE 假設(shè)成立,則方案在隨機(jī)預(yù)言機(jī)模型下是自適應(yīng)安全的。

      證明假設(shè)敵手任意選擇訪問結(jié)構(gòu)(M′,ρ′),其中M′的列數(shù)為n′,且n′<q。

      詢問預(yù)言機(jī)Odkg,挑戰(zhàn)者C響應(yīng)敵手的詢問。

      7 結(jié)束語

      本文針對EHR 在分布式存儲(chǔ)中的密鑰管理及用戶身份追溯問題,提出了一種基于區(qū)塊鏈的分布式EHR 細(xì)粒度可追溯方案;結(jié)合變色龍哈希和zk-SNARK 證明技術(shù)實(shí)現(xiàn)了鏈上節(jié)點(diǎn)的注冊與身份證明的生成,從而能夠?qū)︽溕嫌脩舻淖匪?。此外,本文通過設(shè)置多個(gè)解密機(jī)構(gòu)節(jié)點(diǎn)聯(lián)合分發(fā)用戶節(jié)點(diǎn)的屬性私鑰,消除了分布式系統(tǒng)中密鑰管理的單點(diǎn)故障問題,設(shè)計(jì)的分布式密文策略的屬性基加密方案實(shí)現(xiàn)了安全細(xì)粒度的訪問控制。安全性證明表明,本文方案在隨機(jī)預(yù)言機(jī)模型下是自適應(yīng)安全的。理論分析和實(shí)驗(yàn)結(jié)果表明了本文方案在電子健康數(shù)據(jù)傳輸和共享方面是可行且實(shí)用的。

      猜你喜歡
      身份證明解密密鑰
      探索企業(yè)創(chuàng)新密鑰
      解密“熱脹冷縮”
      不動(dòng)產(chǎn)登記中身份證明探析
      解密“一包三改”
      密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
      基于云平臺(tái)的部級(jí)開放基金課題管理系統(tǒng)
      炫詞解密
      一種對稱密鑰的密鑰管理方法及系統(tǒng)
      基于ECC的智能家居密鑰管理機(jī)制的實(shí)現(xiàn)
      數(shù)據(jù)庫系統(tǒng)身份證明安全方法應(yīng)用研究
      堆龙德庆县| 昌乐县| 中超| 桐梓县| 莱芜市| 绥芬河市| 卓尼县| 四川省| 易门县| 塘沽区| 体育| 资中县| 敦煌市| 宁强县| 科尔| 柯坪县| 乳源| 财经| 商丘市| 南皮县| 剑川县| 阳春市| 涞源县| 彭水| 盐山县| 黑山县| 中山市| 壶关县| 蒙自县| 太康县| 安康市| 建平县| 甘孜县| 建阳市| 宁远县| 西安市| 乌兰察布市| 托里县| 青龙| 清徐县| 鸡西市|