亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        區(qū)塊鏈電子病歷中基于密鑰聚合的密文檢索方案

        2021-05-17 05:30:34牛淑芬王彩芬杜小妮
        計(jì)算機(jī)工程 2021年5期
        關(guān)鍵詞:關(guān)鍵字密文密鑰

        牛淑芬,韓 松,于 斐,王彩芬,杜小妮

        (1.西北師范大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,蘭州 730070;2.深圳技術(shù)大學(xué) 大數(shù)據(jù)與互聯(lián)網(wǎng)學(xué)院,廣東 深圳 518118;3.西北師范大學(xué) 數(shù)學(xué)與統(tǒng)計(jì)學(xué)院,蘭州 730070)

        0 概述

        病歷是醫(yī)務(wù)人員對(duì)病人患病經(jīng)過(guò)和治療情況所作的文字記錄,是醫(yī)生診斷和治療疾病的依據(jù)。隨著醫(yī)院現(xiàn)代化建設(shè)的發(fā)展和計(jì)算機(jī)信息技術(shù)的普及,電子病歷(Electronic Medical Record,EMR)逐步取代紙質(zhì)病歷,在病人信息的收集、儲(chǔ)存、分析、傳遞和利用中得到廣泛應(yīng)用,解決了紙質(zhì)病歷易丟失、易損壞等問(wèn)題。對(duì)于疾病的研究[1],醫(yī)生或醫(yī)療機(jī)構(gòu)需對(duì)大量相同或類(lèi)似的EMR 進(jìn)行系統(tǒng)分析對(duì)比以找出準(zhǔn)確的病因和更好的醫(yī)療辦法[2-4]。隨著大量EMR 的生成,不僅占用醫(yī)院本地服務(wù)器資源,而且難以進(jìn)行數(shù)據(jù)共享和計(jì)算[5-7],因此越來(lái)越多的醫(yī)院選擇存儲(chǔ)空間大、計(jì)算效率高和響應(yīng)速度快的云服務(wù)器進(jìn)行存儲(chǔ)[8-10]。但是,如果云服務(wù)器受到攻擊或缺乏監(jiān)控,數(shù)據(jù)可能會(huì)被竊取、泄露或篡改,而且云服務(wù)器可能存在未經(jīng)授權(quán)訪問(wèn)等安全問(wèn)題,所以云服務(wù)器不能被用戶(hù)完全信任,而去中心化分布式存儲(chǔ)的區(qū)塊鏈技術(shù)[11-13]為EMR 提供了安全不可修改的記錄,然而很多EMR 文件數(shù)據(jù)由于具有高度保密性和敏感性,因此不能直接存儲(chǔ)在區(qū)塊鏈中,以太坊[14]是一個(gè)具備圖靈完備性的開(kāi)源區(qū)塊鏈平臺(tái),為實(shí)現(xiàn)EMR 在區(qū)塊鏈上的存儲(chǔ)提供了技術(shù)支持[15]。

        在文件上傳存儲(chǔ)前必須將數(shù)據(jù)文件進(jìn)行加密,以保證數(shù)據(jù)的安全性和隱私性,但在搜索大量數(shù)據(jù)時(shí),數(shù)據(jù)使用者需要將全部數(shù)據(jù)文件下載并解密,然后進(jìn)行數(shù)據(jù)搜索,因此該方法的搜索效率極低。文獻(xiàn)[16]提出在密文上實(shí)現(xiàn)關(guān)鍵字搜索的可搜索加密(Searchable Encryption,SE)方案,該方案的搜索效率較高并保證了服務(wù)器執(zhí)行搜索操作時(shí)的隱私性和保密性,但在存放加密數(shù)據(jù)時(shí)對(duì)不同文檔通常使用不同的密鑰,用戶(hù)持有的密鑰會(huì)隨文檔數(shù)量的增多而增加,因此用戶(hù)必須生成大量的陷門(mén)進(jìn)行搜索,導(dǎo)致工作效率低下。文獻(xiàn)[17]提出一種可搜索的聚合密鑰加密方案,解決了用戶(hù)持有大量不同密鑰時(shí)的復(fù)雜困難搜索問(wèn)題,但在用戶(hù)得到數(shù)據(jù)后一般需要在相關(guān)文檔集上進(jìn)行驗(yàn)證,當(dāng)用戶(hù)完成對(duì)大量文檔集的搜索后也會(huì)擁有大量的可驗(yàn)證令牌,因此文獻(xiàn)[18]提出一種可驗(yàn)證的可搜索聚合密鑰加密方案,該方案實(shí)現(xiàn)了對(duì)通過(guò)密鑰聚合得到數(shù)據(jù)的簡(jiǎn)單快速驗(yàn)證。本文提出一種面向區(qū)塊鏈電子病歷的基于密鑰聚合的密文檢索方案。該方案利用密鑰聚合技術(shù),當(dāng)數(shù)據(jù)用戶(hù)請(qǐng)求多個(gè)文件數(shù)據(jù)時(shí),僅需生成一個(gè)聚合陷門(mén)即可進(jìn)行數(shù)據(jù)檢索,同時(shí)通過(guò)智能合約技術(shù)確保用戶(hù)進(jìn)行數(shù)據(jù)驗(yàn)證,從而得到正確完整的文件。

        1 基礎(chǔ)知識(shí)

        1.1 雙線性映射和困難性假設(shè)

        定義1令G1和G2為兩個(gè)階為素?cái)?shù)p的乘法循環(huán)群,定義一個(gè)雙線性映射e:G1×G1→G2滿(mǎn)足如下性質(zhì):

        1)雙線性:對(duì)任意的u,v∈G1,存在a,b∈?*p,使得e(ua,vb)=e(u,v)ab。

        2)非退化性:存在u,v∈G1,使得e(u,v)≠1。

        3)可計(jì)算性:對(duì)任意的u,v∈G1,存在有效算法計(jì)算e(u,v)。

        定義2基于l階的雙線性Diffie-Hellman 指數(shù)假設(shè)(l-BDHE)問(wèn)題給定包含(2l+1)個(gè)元素的向量作為輸入,輸出為。在本文中為便于描述,使用gi表示。

        1.2 同態(tài)向量哈希函數(shù)

        定義3設(shè)G是一個(gè)階為p的循環(huán)群,隨機(jī)選取公共參數(shù)g1,g2,…,gd∈G,則向量v=(v1,v2,…,vd)∈?p的哈希函數(shù)為:

        向量哈希函數(shù)滿(mǎn)足以下性質(zhì):

        1)同態(tài)性:對(duì)任意2 個(gè)向量m1、m2和2 個(gè)實(shí)數(shù)l1、l2,滿(mǎn)足。

        2)免碰撞性:不存在一個(gè)多項(xiàng)式時(shí)間的攻擊者偽造一個(gè)向量m3,同時(shí)滿(mǎn)足m3≠l1m1+l2m2且。

        定理1同態(tài)向量哈希函數(shù)在離散對(duì)數(shù)問(wèn)題是困難問(wèn)題假設(shè)下是安全的[19]。

        1.3 密鑰聚合的密文檢索方案

        為防止數(shù)據(jù)在上傳過(guò)程中的信息泄露,通常采用加密云存儲(chǔ)[20],具體方法為:在數(shù)據(jù)上傳至云端前數(shù)據(jù)擁有者將所有文件加密,加密數(shù)據(jù)只能被解密密鑰擁有者進(jìn)行搜索和解密。假如文件擁有者希望通過(guò)云服務(wù)器安全共享敏感文件,同時(shí)擁有者希望向部分用戶(hù)授權(quán),使得用戶(hù)可以在擁有者提供的子集中搜索文件。針對(duì)該關(guān)鍵字搜索問(wèn)題,文獻(xiàn)[21-22]提出可搜索加密技術(shù),保證了服務(wù)器執(zhí)行搜索時(shí)的隱私性和保密性。

        如圖1 所示,在傳統(tǒng)密文檢索方案中,Alice 對(duì)其不同的文檔集使用不同的密鑰加密并上傳至云服務(wù)器,當(dāng)Bob 想獲取部分文檔S(|S|=m)的搜索時(shí),Alice 需要將密鑰通過(guò)安全信道發(fā)送給Bob進(jìn)行授權(quán)。為搜索S中的目標(biāo)文檔,Bob 需要生成包含關(guān)鍵字w的大量陷門(mén)并提交給云服務(wù)器獲得文件進(jìn)行結(jié)果驗(yàn)證。當(dāng)m足夠大時(shí),對(duì)于Bob 而言,密鑰的分配和存儲(chǔ)以及陷門(mén)的生成會(huì)變得非常困難,這違背了使用云服務(wù)器存儲(chǔ)和計(jì)算的初衷。本文使用改進(jìn)的聚合密鑰檢索方案,將大量計(jì)算和存儲(chǔ)轉(zhuǎn)移至云服務(wù)器且不會(huì)造成信息泄露。如圖2 所示,在聚合密鑰的密文檢索方案中,Alice 和Bob 只需發(fā)送一個(gè)聚合密鑰kagg和一個(gè)聚合陷門(mén)Tr,利用密鑰聚合技術(shù)將大量文件進(jìn)行聚合并發(fā)送給用戶(hù),用戶(hù)通過(guò)生成聚合陷門(mén)得到請(qǐng)求數(shù)據(jù)從而提高搜索效率。

        圖1 傳統(tǒng)密文檢索方案Fig.1 Traditional ciphertext retrieval scheme

        圖2 密鑰聚合的密文檢索方案Fig.2 Ciphertext retrieval scheme of key aggregation

        1.4 區(qū)塊鏈中的智能合約技術(shù)

        智能合約由密碼學(xué)家尼克·薩博于1995 年提出[23],是一套以數(shù)字形式定義的承諾,承諾控制著數(shù)字資產(chǎn)并包含了合約參與者約定的權(quán)利和義務(wù)。智能合約的工作理論遲遲沒(méi)有實(shí)現(xiàn),一個(gè)重要原因是因?yàn)槿狈δ軌蛑С挚删幊毯霞s的數(shù)字系統(tǒng)和技術(shù),區(qū)塊鏈技術(shù)的出現(xiàn)解決了該問(wèn)題。區(qū)塊鏈系統(tǒng)中的每個(gè)節(jié)點(diǎn)用戶(hù)可以通過(guò)發(fā)布一筆交易創(chuàng)建智能合約[24],并利用編程方式將智能合約設(shè)置為自己的所有權(quán)轉(zhuǎn)移規(guī)則、交易方式和狀態(tài)轉(zhuǎn)換函數(shù)。本文利用以太坊區(qū)塊鏈中的智能合約技術(shù),并使用Solidity語(yǔ)言編寫(xiě)智能合約,第三方數(shù)據(jù)用戶(hù)將結(jié)果提供給完成部署的智能合約以驗(yàn)證醫(yī)療云服務(wù)器返回的檢索結(jié)果是否正確和完整,函數(shù)將正確的檢索結(jié)果返回給用戶(hù),通過(guò)智能合約技術(shù)確保用戶(hù)獲得的文件數(shù)據(jù)未被云服務(wù)器惡意篡改或丟失信息。

        2 算法形式化定義和系統(tǒng)模型

        2.1 算法形式化定義

        算法形式化定義如下:

        1)系統(tǒng)建立SetUp(1λ)→params:輸入安全參數(shù)λ和公開(kāi)的雙線性映射B=(p,G1,G2,e(·,·)),醫(yī)療云服務(wù)器運(yùn)行該算法輸出系統(tǒng)參數(shù)params=(B,Ppub,H)。

        2)密鑰生成KeyGen(γ)→(pk,msk):輸入隨機(jī)數(shù)γ∈?*p,醫(yī)生執(zhí)行該算法輸出密鑰對(duì)、公鑰pk 和主密鑰msk。

        3)數(shù)據(jù)加密Encrypt(Dm,w,I,H)→(Cm,Cw,Δi,A,hi):輸入電子病歷文件Dm、關(guān)鍵字w和文件索引Im,醫(yī)生執(zhí)行該算法輸出加密文件Cm、關(guān)鍵字密文Cw和輔助值Δi并上傳至云服務(wù)器,同時(shí)輸出文件地址Ai。醫(yī)生對(duì)每一個(gè)Cmi∈Cm計(jì)算hi=H(Cmi),并將每一個(gè)Cmi∈Cm對(duì)應(yīng)的文件地址Ai與hi共同構(gòu)建為新交易,同時(shí)將交易廣播至聯(lián)盟鏈。

        4)聚合密鑰提取Extract(msk,S)→kagg:輸入主密鑰msk 和集合S,通過(guò)醫(yī)院授權(quán)后醫(yī)生執(zhí)行該算法輸出聚合密鑰kagg。

        5)陷門(mén)生成Trapdoor(kagg,wi)→Tr:輸入聚合密鑰kagg和待搜索關(guān)鍵字wi,數(shù)據(jù)用戶(hù)執(zhí)行該算法輸出聚合陷門(mén)Tr。

        6)搜索驗(yàn)證Test(Tr,Δi,S)→(Ai,Cmi):輸入陷門(mén)Tr、輔助值Δi和集合S,醫(yī)療云服務(wù)器執(zhí)行該算法進(jìn)行搜索,當(dāng)驗(yàn)證結(jié)果為正確時(shí)則輸出密文文件Cmi和對(duì)應(yīng)的文件地址Ai,否則檢索失敗。

        7)數(shù)據(jù)驗(yàn)證Verify(A′i,h′i)→δ:輸入文件地址A′i和h′i,聯(lián)盟鏈通過(guò)智能合約執(zhí)行該算法進(jìn)行驗(yàn)證,若輸出結(jié)果為δ則代表驗(yàn)證結(jié)果為正確,否則返回錯(cuò)誤結(jié)果。

        2.2 系統(tǒng)模型

        本文電子病歷系統(tǒng)模型如圖3 所示,該系統(tǒng)主要包括患者、數(shù)據(jù)擁有者、數(shù)據(jù)用戶(hù)、醫(yī)療云服務(wù)器和聯(lián)盟鏈5 個(gè)實(shí)體:

        1)患者:患者在醫(yī)院就醫(yī)時(shí)需要用個(gè)人身份證/醫(yī)??ㄟM(jìn)行醫(yī)院注冊(cè),當(dāng)患者在醫(yī)院注冊(cè)后,醫(yī)生會(huì)根據(jù)對(duì)患者的診斷創(chuàng)建其個(gè)人的電子病歷,本文中當(dāng)患者在醫(yī)院就醫(yī)并創(chuàng)建了電子病歷,即默認(rèn)患者將個(gè)人的電子病歷授權(quán)給了醫(yī)院和醫(yī)生。

        2)數(shù)據(jù)擁有者:數(shù)據(jù)擁有者指的是醫(yī)院和醫(yī)生。醫(yī)生在得到患者的授權(quán)后負(fù)責(zé)生成電子病歷,在電子病歷中提取并生成一系列關(guān)鍵字,將電子病歷和關(guān)鍵字進(jìn)行加密并計(jì)算加密文件的哈希值,并將加密文件和加密的關(guān)鍵字共同上傳至醫(yī)療云服務(wù)器,然后將醫(yī)療云服務(wù)器返回的文件地址和密文的哈希值構(gòu)建為新交易廣播至聯(lián)盟鏈。

        3)數(shù)據(jù)用戶(hù):數(shù)據(jù)用戶(hù)指的是醫(yī)療機(jī)構(gòu)和政府等權(quán)威機(jī)構(gòu),且包括醫(yī)院和醫(yī)生在內(nèi)的聯(lián)盟鏈中的成員。數(shù)據(jù)用戶(hù)向醫(yī)院進(jìn)行數(shù)據(jù)請(qǐng)求,當(dāng)醫(yī)院授權(quán)給醫(yī)生后,醫(yī)生生成相關(guān)文件的聚合密鑰,數(shù)據(jù)用戶(hù)將生成的聚合陷門(mén)發(fā)送給醫(yī)療云服務(wù)器得到數(shù)據(jù)文件,獲取數(shù)據(jù)后計(jì)算密文的哈希值并發(fā)送給聯(lián)盟鏈,同時(shí)通過(guò)智能合約驗(yàn)證數(shù)據(jù)是否完整正確。

        4)醫(yī)療云服務(wù)器:醫(yī)療云服務(wù)器主要負(fù)責(zé)存儲(chǔ)醫(yī)生上傳的加密文件和加密關(guān)鍵字,并將存儲(chǔ)的數(shù)據(jù)文件地址返回給數(shù)據(jù)擁有者。當(dāng)數(shù)據(jù)用戶(hù)上傳聚合陷門(mén)時(shí),醫(yī)療云服務(wù)器會(huì)進(jìn)行搜索驗(yàn)證,只有當(dāng)結(jié)果為正確時(shí)才會(huì)將數(shù)據(jù)文件和文件地址一起返回給數(shù)據(jù)用戶(hù),否則檢索失敗。

        5)聯(lián)盟鏈:聯(lián)盟鏈節(jié)點(diǎn)負(fù)責(zé)將醫(yī)生上傳的對(duì)應(yīng)密文哈希值和文件地址構(gòu)建的新交易進(jìn)行驗(yàn)證并打包放入?yún)^(qū)塊中,當(dāng)用戶(hù)發(fā)送密文哈希值和相應(yīng)的文件地址時(shí),聯(lián)盟鏈通過(guò)已部署好的智能合約驗(yàn)證用戶(hù)得到的數(shù)據(jù)正確性和完整性,當(dāng)數(shù)據(jù)正確時(shí)觸發(fā)智能合約返回正確驗(yàn)證結(jié)果,否則返回錯(cuò)誤驗(yàn)證。

        圖3 電子病歷系統(tǒng)模型Fig.3 System model of electronic medical record

        2.3 方案設(shè)計(jì)目標(biāo)

        2.3.1 功能性需求

        本文方案需滿(mǎn)足以下3 個(gè)功能性需求:

        1)緊湊性,確保聚合密鑰的大小獨(dú)立于分享的文件數(shù)量。對(duì)于一組密鑰{ki}(i∈S),將其密鑰聚合Extract(msk,S)→kagg,在設(shè)計(jì)方案時(shí)需要在后續(xù)步驟不失效的情況下將密鑰集聚合為單個(gè)密鑰。

        2)可搜索性,使用戶(hù)提供的任何關(guān)鍵字在可搜索加密文檔上生成所需的陷門(mén),即在減少密鑰數(shù)量的同時(shí)保留搜索功能。對(duì)于每一個(gè)包含關(guān)鍵字w的文檔集,要求其如果得到陷門(mén)Trapdoor(kagg,wi)→Tr,則應(yīng)計(jì)算出Test(Tr,Δi,S)→(Ai,Cmi),并且通過(guò)驗(yàn)證。

        3)安全授權(quán),通過(guò)聚合密鑰將關(guān)鍵字的搜索權(quán)委托給數(shù)據(jù)用戶(hù)。為確保任何擁有委托聚合密鑰的用戶(hù)都可以執(zhí)行關(guān)鍵字搜索,要求陷門(mén)生成算法的輸入是不能公開(kāi)的,即這些輸入不應(yīng)該依賴(lài)任何用戶(hù)的私人信息。

        2.3.2 安全性需求

        任何可搜索的聚合密鑰加密方案應(yīng)滿(mǎn)足以下兩個(gè)安全性需求:

        1)聚合密鑰安全性,攻擊者無(wú)法搜索沒(méi)有數(shù)據(jù)擁有者授權(quán)的任意關(guān)鍵字,即攻擊者不能對(duì)已知聚合密鑰但無(wú)關(guān)的文檔進(jìn)行關(guān)鍵字搜索,也不能根據(jù)已知密鑰為其他文檔集生成新的聚合加密密鑰。

        2)陷門(mén)和關(guān)鍵字安全性,攻擊者無(wú)法從陷門(mén)中確定檢索中使用的關(guān)鍵字,只能通過(guò)觀察獲得關(guān)鍵字信息,即用戶(hù)可能會(huì)要求不受信任的云服務(wù)器搜索敏感詞,但不會(huì)將該敏感詞透露給云服務(wù)器。

        3 基于密鑰聚合的密文檢索方案

        基于密鑰聚合的密文檢索流程具體如下:

        1)系統(tǒng)建立:醫(yī)療云服務(wù)器輸入安全參數(shù)λ和公開(kāi)的雙線性映射B=(p,G1,G2,e(·,·)),定義一個(gè)雙線性映射e:G1×G1→G2和抗碰撞的哈希函數(shù)H:{0,1}*→G1,且循環(huán)群G1的階為p(2λ≤p≤2λ+1),隨機(jī)選取生成元g∈G1和,計(jì)算。假設(shè)n為醫(yī)療云服務(wù)器可存儲(chǔ)的最大電子病歷數(shù),醫(yī)療云服務(wù)器輸出系統(tǒng)參數(shù)params=(B,Ppub,H),其中。

        3)數(shù)據(jù)加密:醫(yī)生使用該算法加密數(shù)據(jù),將每個(gè)患者的電子病歷加密為Cm=,并將電子病歷中出現(xiàn)的所有癥狀提取生成一系列關(guān)鍵字w={w1,w2,…,wn}。為生成關(guān)鍵字密文,該算法需輸入文件索引Im∈{ 1,2,…,n},醫(yī)生需要進(jìn)行以下操作:

        (2)對(duì)每一個(gè)關(guān)鍵字wi輸出所有關(guān)鍵字密文,并將Cm和Cw上傳至醫(yī)療云服務(wù)器,醫(yī)療云服務(wù)器向醫(yī)生返回每個(gè)文件在服務(wù)器中的存儲(chǔ)地址A={A1,A2,…,An}。

        圖4 聯(lián)盟鏈區(qū)塊數(shù)據(jù)結(jié)構(gòu)Fig.4 Consortium chain block data structure

        4)聚合密鑰提?。横t(yī)生使用該算法生成一個(gè)可搜索聚合加密密鑰kagg。當(dāng)數(shù)據(jù)用戶(hù)向醫(yī)生請(qǐng)求相關(guān)電子病歷時(shí),醫(yī)生需要先向醫(yī)院進(jìn)行申請(qǐng),在醫(yī)院對(duì)醫(yī)生授權(quán)后,對(duì)于任何包含關(guān)鍵字索引的文檔子集S?{1,2,…,n},醫(yī)生需要輸入主密鑰msk 并輸出聚合密鑰,為將電子病歷中關(guān)鍵字搜索權(quán)委托給數(shù)據(jù)用戶(hù),需要將聚合密鑰kagg和集合S同時(shí)發(fā)送給數(shù)據(jù)用戶(hù)。

        5)陷門(mén)生成:數(shù)據(jù)用戶(hù)使用該算法生成可搜索的關(guān)鍵字陷門(mén)。當(dāng)數(shù)據(jù)用戶(hù)得到聚合密鑰kagg后,對(duì)于聚合密鑰kagg所有相關(guān)的文檔,該算法將會(huì)對(duì)搜索關(guān)鍵字wi={w1,w2,…,wn}僅生成一個(gè)聚合陷門(mén)Tr且計(jì)算公式為。數(shù)據(jù)用戶(hù)在生成陷門(mén)后,將陷門(mén)Tr 以及集合S發(fā)送至醫(yī)療云服務(wù)器進(jìn)行搜索驗(yàn)證算法,只有通過(guò)搜索驗(yàn)證,用戶(hù)才可以獲得數(shù)據(jù)。

        6)搜索驗(yàn)證:云服務(wù)器使用該算法執(zhí)行關(guān)鍵字搜索。根據(jù)該算法輸入陷門(mén)Tr 與可搜索加密密鑰ki的輔助值Δi=(c1,c2,μ),云服務(wù)器進(jìn)行計(jì)算驗(yàn)證,當(dāng)結(jié)果正確時(shí)向用戶(hù)返回加密的密文文件Cmi和相對(duì)應(yīng)的文件地址Ai,若驗(yàn)證結(jié)果錯(cuò)誤則檢索失敗,其中,計(jì)算公式為,正確性驗(yàn)證過(guò)程為:

        7)數(shù)據(jù)驗(yàn)證:將服務(wù)器部署的智能合約相關(guān)變量和函數(shù)接口采用Solidity 語(yǔ)言編寫(xiě),智能合約提供一個(gè)函數(shù)接口進(jìn)行數(shù)據(jù)驗(yàn)證并保證數(shù)據(jù)用戶(hù)得到的文件未被云服務(wù)器篡改。當(dāng)數(shù)據(jù)用戶(hù)得到云服務(wù)器返回的數(shù)據(jù)文件C′mi和相應(yīng)的文件地址A′i,數(shù)據(jù)用戶(hù)通過(guò)公共參數(shù)計(jì)算h′i=H(C′mi)并將A′i和H(C′mi)發(fā)送給聯(lián)盟鏈,聯(lián)盟鏈節(jié)點(diǎn)通過(guò)地址找到包含此交易的相應(yīng)區(qū)塊,并使用智能合約算法進(jìn)行驗(yàn)證,數(shù)據(jù)驗(yàn)證階段的智能合約算法具體流程如算法1 所示,當(dāng)H(C′mi)=H(Cmi)和A′i=Ai時(shí),返回正確驗(yàn)證結(jié)果δ,否則返回錯(cuò)誤結(jié)果。

        算法1驗(yàn)證階段的智能合約算法

        4 安全性分析

        為滿(mǎn)足本文方案的安全需求,假設(shè)醫(yī)療云服務(wù)器僅根據(jù)本文方案提供合法的服務(wù),授權(quán)用戶(hù)可以嘗試訪問(wèn)權(quán)限范圍內(nèi)或權(quán)限范圍外的數(shù)據(jù)。此外,涉及醫(yī)療云服務(wù)器的通信通道被認(rèn)為是不安全的?;谝陨峡紤],本節(jié)將在聚合密鑰以及陷門(mén)和關(guān)鍵字安全性方面進(jìn)行具體分析。

        4.1 聚合密鑰安全性分析

        本文要求任何擁有聚合密鑰的用戶(hù)都可以對(duì)集合S中的文檔進(jìn)行關(guān)鍵字搜索,但不能對(duì)集合S之外的文檔進(jìn)行關(guān)鍵字搜索。用戶(hù)也不能從已知的集合S中生成新的集合S′并生成其他的可搜索聚合加密密鑰。每個(gè)擁有聚合密鑰的數(shù)據(jù)用戶(hù)都可以成功地執(zhí)行關(guān)鍵字檢索。數(shù)據(jù)用戶(hù)將得到的聚合密鑰生成一個(gè)聚合陷門(mén)Tr,然后執(zhí)行搜索驗(yàn)證算法進(jìn)行關(guān)鍵字檢索,通過(guò)下式可以驗(yàn)證檢索算法的正確性:

        由此可知,擁有聚合密鑰的數(shù)據(jù)用戶(hù)可以成功地執(zhí)行關(guān)鍵字檢索。攻擊者無(wú)法對(duì)任何不在聚合密鑰范圍內(nèi)的文檔執(zhí)行關(guān)鍵字檢索,即使服務(wù)器與惡意授權(quán)用戶(hù)串通,也無(wú)法對(duì)任何不在聚合密鑰范圍內(nèi)的文檔執(zhí)行關(guān)鍵字檢索。攻擊者A可能為云服務(wù)器或惡意授權(quán)用戶(hù),此類(lèi)攻擊者可能試圖對(duì)不在其聚合密鑰范圍內(nèi)的文檔執(zhí)行關(guān)鍵字搜索。從中可以看出,如果PS是由錯(cuò)誤的文檔集j∈S′生成,則e(kagg,gt)與e(PS,gt)在等式中無(wú)法消除,因此必須在聚合密鑰相同的文檔集合S上進(jìn)行計(jì)算?;谏鲜銮闆r,攻擊者可能使用目標(biāo)集合S′作為輸入,但會(huì)因?yàn)槲臋n索引Im?S,在搜索驗(yàn)證算法中返回錯(cuò)誤結(jié)果。

        攻擊者無(wú)法通過(guò)已知的聚合密鑰為任何新文檔集合生成新的聚合密鑰。假設(shè)一個(gè)擁有文檔集合S′的聚合密鑰kagg的攻擊者A想要嘗試為一組新的集合S′生成新的聚合密鑰。A需要已知任意文檔j∈S′的值,即使A已知聚合密鑰的值,由于每個(gè)乘數(shù)的值由數(shù)據(jù)擁有者的主密鑰γ生成,因此A無(wú)法從獲得的kagg值中獲取其中每個(gè)加密的乘數(shù),因此攻擊者A無(wú)法從已知的聚合密鑰中為任何新的文檔集合生成新的聚合密鑰。

        4.2 陷門(mén)和關(guān)鍵字安全性分析

        假設(shè)攻擊者A可能會(huì)獲得相關(guān)信息來(lái)發(fā)起攻擊,例如當(dāng)云服務(wù)器獲取到存儲(chǔ)的關(guān)鍵字密文、可搜索加密密鑰ki的輔助值Δi和提交的陷門(mén)Tr 等時(shí),對(duì)于惡意的授權(quán)用戶(hù)假設(shè)擁有聚合密鑰以及可在文檔集合S中執(zhí)行關(guān)鍵字搜索的權(quán)力,然而即使云服務(wù)器能獲取到這些信息,本文方案仍具備查詢(xún)隱私安全性。

        4.2.1 陷門(mén)安全性

        假設(shè)攻擊者A在獲得提交的陷門(mén)Tr=kagg·后,只有取得聚合密鑰kagg才能在搜索時(shí)獲得關(guān)鍵字,在此情況下由于攻擊者A已知系統(tǒng)參數(shù)以及文檔集合S,為計(jì)算kagg,攻擊者A需先計(jì)算每一個(gè)文檔j∈S的,其中γ為數(shù)據(jù)擁有者的主密鑰且為保密值,而A計(jì)算得到γ的概率可以忽略不計(jì),因此攻擊者A無(wú)法發(fā)起攻擊,可見(jiàn)本文方案具備陷門(mén)安全性。

        4.2.2 關(guān)鍵字安全性

        假設(shè)云服務(wù)器和攻擊者A試圖在存儲(chǔ)的數(shù)據(jù)中學(xué)習(xí)且假設(shè)已知以及cw=,A可能?chē)L試發(fā)起以下攻擊:

        1)從已知的c1和c2中檢索t的值,但在離散對(duì)數(shù)問(wèn)題中A不能計(jì)算得到t的值。

        5 性能分析

        將本文方案與文獻(xiàn)[17-18,23]方案在區(qū)塊鏈應(yīng)用、安全搜索、密鑰聚合和可驗(yàn)證性方面進(jìn)行對(duì)比,如表1 所示,其中,“√”表示具備該功能特性,“×”表示不具備該功能特性,文獻(xiàn)[17-18,23]方案的應(yīng)用環(huán)境均為云服務(wù)器,而本文方案是云服務(wù)器和區(qū)塊鏈的結(jié)合??梢钥闯觯墨I(xiàn)[17,23]方案不具備可驗(yàn)證功能,而本文方案通過(guò)應(yīng)用區(qū)塊鏈智能合約技術(shù)可驗(yàn)證醫(yī)療云服務(wù)器是否惡意修改信息或丟失數(shù)據(jù),保證了用戶(hù)獲取文件的正確性和完整性,相比其他方案在區(qū)塊鏈應(yīng)用、安全搜索、密鑰聚合和可驗(yàn)證性方面更具優(yōu)勢(shì)。

        表1 4 種方案的功能特性對(duì)比Table 1 Comparison of functional characteristics of four schemes

        表2 為本文方案與文獻(xiàn)[17-18]方案的運(yùn)算時(shí)間對(duì)比結(jié)果,其中,Tp表示雙線性映射配對(duì)運(yùn)算時(shí)間,Te表示指數(shù)運(yùn)算時(shí)間,Tm表示乘法運(yùn)算時(shí)間,Th表示哈希函數(shù)運(yùn)算時(shí)間。已知常用的密碼操作時(shí)間排序?yàn)門(mén)p>Te>Tm>Th且雙線性映射配對(duì)Tp的運(yùn)算時(shí)間遠(yuǎn)大于其他密碼操作的時(shí)間。結(jié)合數(shù)據(jù)加密階段和數(shù)據(jù)搜索階段的運(yùn)算時(shí)間可以看出,本文方案的整體運(yùn)算時(shí)間最少。

        表2 3 種方案的運(yùn)算時(shí)間對(duì)比Table 2 Comparison of computing time of three schemes

        為更準(zhǔn)確地評(píng)估密文檢索方案的實(shí)際性能,本文基于2.60 GHz CPU、8 GB 內(nèi)存的聯(lián)想筆記本和Linux 虛擬機(jī),并在真實(shí)數(shù)據(jù)集和由C 語(yǔ)言編寫(xiě)的PBC 庫(kù)上進(jìn)行模擬實(shí)驗(yàn)。在實(shí)驗(yàn)中,將最大文件值n設(shè)置為500,關(guān)鍵字個(gè)數(shù)設(shè)置為1、10、20、30、40 和50,實(shí)驗(yàn)取50 次運(yùn)行結(jié)果的平均值。為體現(xiàn)本文方案的性能優(yōu)勢(shì),將本文方案和文獻(xiàn)[17]方案數(shù)據(jù)加密和數(shù)據(jù)搜索階段的時(shí)間開(kāi)銷(xiāo)進(jìn)行對(duì)比,如圖5、圖6 所示??梢钥闯觯?yàn)楸疚姆桨咐枚嚓P(guān)鍵字加密算法,所以在數(shù)據(jù)加密階段的時(shí)間開(kāi)銷(xiāo)隨著關(guān)鍵字的增加而增長(zhǎng),且在關(guān)鍵字個(gè)數(shù)大于10 時(shí),本文方案的數(shù)據(jù)加密開(kāi)銷(xiāo)低于文獻(xiàn)[17]方案。在數(shù)據(jù)搜索階段,本文方案和文獻(xiàn)[17]方案的時(shí)間開(kāi)銷(xiāo)隨著關(guān)鍵字個(gè)數(shù)的增加成正相關(guān)變化,且時(shí)間開(kāi)銷(xiāo)低于文獻(xiàn)[17]方案,可見(jiàn)本文方案的搜索效率更高,系統(tǒng)性能更優(yōu)。

        圖5 數(shù)據(jù)加密階段的時(shí)間開(kāi)銷(xiāo)Fig.5 Time cost of data encryption phase

        圖6 數(shù)據(jù)搜索階段的時(shí)間開(kāi)銷(xiāo)Fig.6 Time cost of data search phase

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

        本文提出一種面向區(qū)塊鏈電子病歷的基于密鑰聚合的密文檢索方案。該方案基于云服務(wù)器和聯(lián)盟鏈進(jìn)行構(gòu)建,將醫(yī)院醫(yī)生和醫(yī)療機(jī)構(gòu)、政府等權(quán)威機(jī)構(gòu)在內(nèi)的聯(lián)盟成員分別定義為數(shù)據(jù)擁有者和數(shù)據(jù)用戶(hù),使數(shù)據(jù)加密上傳至醫(yī)療云服務(wù)器,并將數(shù)據(jù)密文哈希值打包至聯(lián)盟鏈,同時(shí)使用密鑰聚合技術(shù)對(duì)多個(gè)文件生成一個(gè)聚合陷門(mén)進(jìn)行安全檢索,并利用聯(lián)盟鏈的智能合約技術(shù)實(shí)現(xiàn)數(shù)據(jù)驗(yàn)證,防止醫(yī)療云服務(wù)器的惡意攻擊行為。通過(guò)理論分析與數(shù)值模擬實(shí)驗(yàn)驗(yàn)證了該方案的安全性與高效性。

        猜你喜歡
        關(guān)鍵字密文密鑰
        探索企業(yè)創(chuàng)新密鑰
        一種針對(duì)格基后量子密碼的能量側(cè)信道分析框架
        履職盡責(zé)求實(shí)效 真抓實(shí)干勇作為——十個(gè)關(guān)鍵字,盤(pán)點(diǎn)江蘇統(tǒng)戰(zhàn)的2021
        一種支持動(dòng)態(tài)更新的可排名密文搜索方案
        基于模糊數(shù)學(xué)的通信網(wǎng)絡(luò)密文信息差錯(cuò)恢復(fù)
        密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
        成功避開(kāi)“關(guān)鍵字”
        一種對(duì)稱(chēng)密鑰的密鑰管理方法及系統(tǒng)
        基于ECC的智能家居密鑰管理機(jī)制的實(shí)現(xiàn)
        云存儲(chǔ)中支持詞頻和用戶(hù)喜好的密文模糊檢索
        探花国产精品三级在线播放| 消息称老熟妇乱视频一区二区| 日本又黄又爽gif动态图| 国产在线不卡免费播放| 激情偷拍视频一区二区| 99视频在线精品免费观看6| 免费特级毛片| 婷婷第四色| 国产免费一区二区三区在线观看| 国产精品亚洲专区无码不卡| 国产真实偷乱视频| 欧美xxxx新一区二区三区| 女同性恋看女女av吗| 80s国产成年女人毛片| 日本成本人三级在线观看| 亚洲第一无码精品久久| 日本在线一区二区在线| 在线观看av网站永久| 国产精品久久久| 亚洲电影一区二区| 亚洲不卡av一区二区三区四区| 99久久99久久精品免费看蜜桃| 窝窝影院午夜看片| 久久精品综合国产二区| 白白色发布会在线观看免费| 国产乱国产乱老熟300部视频 | 午夜亚洲www湿好大| 亚洲情精品中文字幕有码在线| 日本不卡的一区二区三区中文字幕 | 日韩亚洲av无码一区二区不卡| 午夜福利影院不卡影院| 高清国产国产精品三级国产av| 国产成人av综合色| 国产在线一91区免费国产91| 一区二区三区熟妇人妻18| 国产自拍视频在线观看网站| 亚洲精品aa片在线观看国产| 亚洲无码性爱视频在线观看| av网站免费在线浏览| 国产喷水1区2区3区咪咪爱av| 成人xx免费无码|