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

?

在線問診環(huán)境下細(xì)粒度雙邊訪問控制方案

2022-09-06 11:08:44李藝昕張應(yīng)輝胡凌云
計算機(jī)工程與應(yīng)用 2022年17期
關(guān)鍵詞:哈希解密攻擊者

李藝昕,張應(yīng)輝,胡凌云,鄭 東,3

1.西安郵電大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,西安 710121

2.西安郵電大學(xué) 無線網(wǎng)絡(luò)安全技術(shù)國家工程實(shí)驗(yàn)室,西安 710121

3.衛(wèi)士通摩石實(shí)驗(yàn)室,北京 100070

云存儲[1]憑借其便捷、存儲空間大、低成本、自動容錯等一系列的優(yōu)點(diǎn),被廣泛應(yīng)用在個人健康記錄(personal health records,PHR)系統(tǒng)中,越來越多的患者選擇將自己的電子病歷存儲至云服務(wù)器上。然而,云存儲存在著許多問題。首先,云服務(wù)器并非完全可信,云服務(wù)器可能會在用戶不知情的情況下篡改、刪除用戶存儲在云端的隱私數(shù)據(jù),導(dǎo)致數(shù)據(jù)不完整。其次由于云存儲是集中式存儲,即由一臺或多臺計算機(jī)組成中心節(jié)點(diǎn)負(fù)責(zé)集中存儲數(shù)據(jù)信息,因此中心節(jié)點(diǎn)一旦遭受攻擊,將會造成數(shù)據(jù)信息的泄漏,存在較大的安全隱患。

近年來,星際文件系統(tǒng)(interplanetary file system,IPFS)得到了廣泛的研究與應(yīng)用。IPFS[2]是一個全球的、點(diǎn)對點(diǎn)分布式文件系統(tǒng)。在IPFS系統(tǒng)中,內(nèi)容會分塊存放,并分散存儲在IPFS 系統(tǒng)中的節(jié)點(diǎn)上。系統(tǒng)會根據(jù)文件的內(nèi)容分塊生成不同的哈希值,對所有的哈希值再次進(jìn)行哈希,從而得到最終的哈希值。當(dāng)文件的內(nèi)容發(fā)生改變時,生成的哈希值也會隨之改變,這樣可以確認(rèn)要訪問的文件是否被經(jīng)過篡改。由于IPFS采用的是分布式存儲,文件被存儲在不同的網(wǎng)絡(luò)節(jié)點(diǎn)之中,有效避免了分布式拒絕服務(wù)攻擊。文件可以同時從多個網(wǎng)絡(luò)節(jié)點(diǎn)之間同步進(jìn)行下載,大大提高了通信的效率。IPFS提高了存儲空間的利用率,減少網(wǎng)絡(luò)帶寬,實(shí)現(xiàn)了彈性擴(kuò)展,降低了運(yùn)營成本從而避免了資源的浪費(fèi)[3]。

隨著互聯(lián)網(wǎng)技術(shù)在各行各業(yè)的不斷滲透,醫(yī)療行業(yè)也逐漸地尋求改變,在線醫(yī)療健康技術(shù)使得病人可以更快捷方便地獲取醫(yī)療衛(wèi)生信息資源,也為醫(yī)護(hù)人員提供了知識共享的場所。越來越多的病人選擇在線咨詢自己的病情,在線問診這一技術(shù)在一定程度上促進(jìn)了醫(yī)學(xué)的進(jìn)步。而由于互聯(lián)網(wǎng)具有開放性、共享性、交換性、受眾性,病人的病歷信息可能發(fā)生泄露的風(fēng)險,嚴(yán)重威脅到病人的隱私,并且醫(yī)護(hù)人員針對數(shù)以億計的互聯(lián)網(wǎng)用戶,無法做到針對性地解決某些或者某個病人的病情。上述問題在當(dāng)前在線問診技術(shù)迅猛發(fā)展的如今成為了一個具有挑戰(zhàn)性的問題。

在現(xiàn)有的解決方案中,病人上傳自己的病歷后,可以通過控制訪問策略有條件地選擇將自己的病歷信息授權(quán)給相關(guān)的醫(yī)護(hù)人員讀取下載,而醫(yī)護(hù)人員往往需要從眾多被授權(quán)的病歷中篩選出自己需要進(jìn)行問診病人的病歷,這樣使得醫(yī)護(hù)人員的工作效率極大降低,嚴(yán)重影響了病人的治療。此外,在病歷上傳或者下載讀取的過程中,可能會發(fā)生數(shù)據(jù)篡改、刪除、泄漏等威脅到患者隱私的問題。因此,如何在保證患者隱私安全的前提下,使醫(yī)護(hù)人員針對性地選擇病人的病歷從而減輕工作負(fù)擔(dān)是當(dāng)前研究中一個具有挑戰(zhàn)性的問題。

1 相關(guān)研究

數(shù)據(jù)加密技術(shù)近年來得到較多的關(guān)注,包括同態(tài)加密、可搜索加密、屬性基加密、廣播加密等[4],其中屬性基加 密[5(]attribute-based encryption,ABE)應(yīng) 用 最 為 廣泛。ABE實(shí)現(xiàn)了一對多加、解密,在屬性加密中,身份被看作是一組屬性,當(dāng)用戶所具有的屬性集滿足加密者所制定的訪問控制策略時,用戶則可對加密數(shù)據(jù)進(jìn)行解密。ABE的概念首先由Sahai和Waters在文獻(xiàn)[6]提出,用戶的身份信息被看作一組屬性。隨后,Waters 等人[7]提出了用戶具有多個屬性這一特性,根據(jù)此特性,推廣出了基于密文策略的屬性加密(ciphertext policy attribute based encryption,CP-ABE)方案,即訪問控制策略與密文相互關(guān)聯(lián),而用戶的屬性集被嵌入加密密鑰之中。Goyal 等人[8]又提出了基于密鑰策略的屬性加密(key policy attribute based encryption,KP-ABE),在該方案中,密文與用戶的屬性集相互關(guān)聯(lián),而訪問控制策略被嵌入加密密鑰之中。Cheung 等人[9]利用“與門”的訪問控制策略,第一次在DBDH假設(shè)下證明了CP-ABE的安全性。Bhartiva 等人[10]提出了屬性基模糊簽名加密,將屬性基加密技術(shù)用于移動醫(yī)療傳感網(wǎng)中,對數(shù)據(jù)進(jìn)行訪問控制,但由于采用了簽名技術(shù),導(dǎo)致運(yùn)行效率較低。Attrapadung 和Imai[11]提出了雙重策略ABE,在該方案中,發(fā)送方通過選擇訪問控制策略和一組屬性對消息進(jìn)行加密,接收方可以使用一個描述接收方策略和屬性的解密密鑰來解密密文,但這樣僅僅保護(hù)了明文的安全性。Attrapadung 和Yamada 提出了文獻(xiàn)[12],該方案中,若解密不成功,則有可能會泄漏發(fā)送方的隱私。隨后,Ateniese等人[13]提出了匹配加密,將屬性基加密與簽名算法相互結(jié)合,降低了計算效率。Xu 等人[14]基于KP-ABE 與文獻(xiàn)[13]提出了云霧計算下的雙邊訪問控制,接收方也可以通過制定訪問控制策略來解密符合自己要求的密文,但在加密過程中,由于密文與屬性相關(guān)聯(lián)導(dǎo)致計算效率較低。苗田田等人[15]所提出的方案僅僅保護(hù)了發(fā)送方的隱私安全,無法提高接收方的工作效率。

區(qū)塊鏈技術(shù)在多個領(lǐng)域得到了廣泛的研究與應(yīng)用。區(qū)塊鏈?zhǔn)且粋€分布式賬本,它是以區(qū)塊為單位構(gòu)成的鏈?zhǔn)浇Y(jié)構(gòu),每一個區(qū)塊由區(qū)塊頭和區(qū)塊體兩部分所構(gòu)成。區(qū)塊鏈具有去中心化、不可篡改、可追溯等特點(diǎn)[16-17]。區(qū)塊鏈技術(shù)可以在不依賴第三方可信機(jī)構(gòu)的情況下建立點(diǎn)對點(diǎn)的可信價值傳遞,可以降低信任成本,提高交互效率。但由于區(qū)塊鏈公開透明的特點(diǎn),存儲在區(qū)塊鏈中的數(shù)據(jù)會遭受隱私泄漏的風(fēng)險,具有一定的威脅性。同時,存儲在區(qū)塊鏈中的數(shù)據(jù)缺少靈活的訪問控制,例如:在基于區(qū)塊鏈的醫(yī)療系統(tǒng)中,病人可以選擇將自己的病歷信息發(fā)布在區(qū)塊鏈中,但由于病人的病歷信息屬于隱私信息,只有經(jīng)過授權(quán)的醫(yī)護(hù)人員才可以讀取訪問,因此需要對此類隱私信息進(jìn)行安全保護(hù)并給予靈活的訪問控制[18],保證被授權(quán)的醫(yī)護(hù)人員可以安全掌握病人的全部病歷信息。Zheng 等人[19]提出了一種基于IPFS的比特幣網(wǎng)絡(luò)存儲機(jī)制。數(shù)據(jù)信息被存儲在IPFS系統(tǒng)中,并且由IPFS 系統(tǒng)生成的哈希值被存儲在區(qū)塊鏈的塊中以減少存儲空間。Xu等人[20]提出了一種基于以太坊和IPFS 的社交網(wǎng)絡(luò)系統(tǒng),該系統(tǒng)允許用戶上傳他們的文件,如圖片或音頻到IPFS 系統(tǒng)進(jìn)行存儲。Pham 等人[21]提出了一個結(jié)合IPFS 系統(tǒng),屬性基加密以及區(qū)塊鏈的分布式存儲系統(tǒng)。邵奇峰等人[16]將區(qū)塊鏈與ABE 進(jìn)行結(jié)合,解決了區(qū)塊鏈中保護(hù)數(shù)據(jù)隱私的問題。Wang等人[22]提出IPFS存儲系統(tǒng)與ABE結(jié)合,并且引入可搜索技術(shù)使接收方工作量增加。

在目前現(xiàn)有方案中,主要存在以下問題:

(1)只有發(fā)送方可以通過制定訪問控制策略對接收方進(jìn)行選擇,接收方需要從大量的密文中逐一識別檢索出自己所需要的數(shù)據(jù),嚴(yán)重地降低了接收方的工作效率。

(2)大多數(shù)發(fā)送方將加密后的數(shù)據(jù)上傳至云服務(wù)器,云服務(wù)器是一個獨(dú)立的實(shí)體,由于其自身價值,經(jīng)常會遭受黑客攻擊,存在數(shù)據(jù)泄露的風(fēng)險,嚴(yán)重威脅到了用戶的隱私安全。

(3)上傳至存儲系統(tǒng)的數(shù)據(jù),可能會發(fā)生被篡改或者刪除等一系列惡性操作,從而無法保證數(shù)據(jù)的完整性,嚴(yán)重影響到了原始數(shù)據(jù)的正確性。

針對上述問題,本文提出了一個適用于在線問診環(huán)境下的支持細(xì)粒度雙邊訪問控制的CP-ABE 方案。本方案利用屬性基加密技術(shù),不僅發(fā)送方可以制定訪問控制策略來篩選滿足條件的接收方,并且也允許接收方制定訪問控制策略來對密文進(jìn)行篩選,接收方僅僅只需要解密滿足自己訪問控制策略的密文,不需要逐一對大量密文進(jìn)行解密來選取需要的數(shù)據(jù),這樣極大地減少工作量。并利用IPFS存儲系統(tǒng)根據(jù)數(shù)據(jù)內(nèi)容分塊生成哈希值的特點(diǎn),會將加密后的電子病歷生成唯一的哈希字符串,將其視作加密病歷的存儲“地址”,并將這串“地址”存放在區(qū)塊鏈中,利用區(qū)塊鏈的不可篡改性保證數(shù)據(jù)不會被進(jìn)行篡改、刪除,確保了數(shù)據(jù)的完整性。

本文貢獻(xiàn)如下:

(1)細(xì)粒度的雙邊訪問控制:病人加密自己的病歷并制定相應(yīng)的訪問控制策略,只有屬性滿足該訪問控制策略的醫(yī)護(hù)人員才有權(quán)查看病歷信息。而醫(yī)護(hù)人員也制定相應(yīng)的訪問控制策略,只有病人的屬性滿足該訪問控制策略,其病歷才可以被經(jīng)過授權(quán)的醫(yī)護(hù)人員讀取下載。提高了醫(yī)護(hù)人員的工作效率,減少了病患就診的時間。

(2)隱私安全的保護(hù):病人將加密后的病例上傳至IPFS系統(tǒng),將得到唯一的一串哈希字符串,即加密病歷的存儲“地址”。本文利用IPFS 存儲加密后的病歷,將得到的哈希字符串使用ABE 加密后存儲至區(qū)塊鏈,確保了數(shù)據(jù)不會被篡改或刪除。只有醫(yī)護(hù)人員的屬性滿足病人所設(shè)置的訪問控制策略,才可以解密存儲在區(qū)塊鏈中的IPFS 地址,從而在IPFS 系統(tǒng)中下載病歷進(jìn)行解密,讀取數(shù)據(jù)。保證了病患的隱私信息不會被泄露以及篡改。

(3)數(shù)據(jù)的完整性保護(hù):加密后的數(shù)據(jù)上傳至IPFS系統(tǒng),由于IPFS 的性質(zhì),一旦數(shù)據(jù)發(fā)生更改,生成的哈希值也會隨著發(fā)生變化,可以確保數(shù)據(jù)的原始性。將生成的哈希值存儲至區(qū)塊鏈之中,由于區(qū)塊鏈具有不可篡改性,可以保證數(shù)據(jù)的完整性。

2 預(yù)備知識

2.1 雙線性映射

假設(shè)G、G0是兩個階為素數(shù)p的循環(huán)群,g是群G的生成元,定義一個可有效計算的雙線性映射e:G×G→G0,該映射必須滿足如下性質(zhì):

(1)雙線性:對于任意的兩個數(shù)a,b∈Zp,存在e(ga,gb)=e(g,g)ab。

(2)非退化性:對于群G的生成元g,有e(g,g)≠1。

(3)可計算性:對于所有的g1,g2∈G,均存在多項(xiàng)式時間算法計算e(g1,g2)。

2.2 訪問結(jié)構(gòu)

假設(shè){S1,S2,…,Sn} 是由n個屬性組成的集合,訪問結(jié)構(gòu)? 是指由{S1,S2,…,Sn} 的非空子集組成的集合,即為? ?2{S1,S2,…,Sn}{? } 。若集合D∈? ,則稱D為授權(quán)集合,若集合D?? ,則稱D為非授權(quán)集合。訪問結(jié)構(gòu)? 是單調(diào)的,對于任意集合B和C,若B∈? ,B?C,則有C∈? 。

2.3 線性秘密共享方案

線性秘密共享方案(linear secret sharing scheme)的定義是參與實(shí)體集合P上的一個密鑰共享方案若滿足以下兩個條件,則稱Π為定義在ZP上的線性秘密共享方案:

(1)一個參與實(shí)體所具有的秘密份額都可以構(gòu)成ZP上的向量。

(2)每個LSSS 的Π都對應(yīng)一個l行n列的生成矩陣M,映射函數(shù)ρ:{1,2,…,l} →P將M中的每一行(i=1,2,…,l)映射到參與實(shí)體ρ(i),隨機(jī)選取v={s,l2,…,ln} ∈Zp,s∈ZP是需要共享的秘密,那么Mv是根據(jù)Π得到的關(guān)于s的l個共享組成的向量,λi=(Mv)i表示秘密值s的第i個秘密份額,并分配給參與實(shí)體ρ(i)。

線性秘密共享方案具有線性重構(gòu)的性質(zhì)。假設(shè)Π是訪問策略A的一個線性秘密共享,設(shè)訪問授權(quán)集合S∈A,均存在一個常數(shù){wi∈Zp}i∈I,使得成立,其中I={i:ρ(i)∈S} 。

2.4 困難問題

判定性雙線性Diffie-Hellman(DBDH)問題。假設(shè)a,b,c,z∈Zp,g是階為p的乘法循環(huán)群G的生成元。DBDH 問題定義為:區(qū)分兩個四元組(A=ga,B=gb,C=gc,D=e(g,g)abc)與(A=ga,B=gb,C=gc,Z=e(g,g)z)。如果對于多項(xiàng)式時間內(nèi)解決DBDH 的概率是可以忽略的,那么就DBDH問題是困難的。

3 模型定義

本章主要對系統(tǒng)模型、安全模型進(jìn)行詳細(xì)的介紹。

3.1 常用符號

表1 中顯示了在線問診環(huán)境下細(xì)粒度雙邊訪問控制方案中的常用符號。

表1 系統(tǒng)常用符號Table 1 Common symbols in system

3.2 系統(tǒng)模型

在系統(tǒng)模型中,主要介紹了在線問診環(huán)境下細(xì)粒度雙邊訪問控制方案的各個參與實(shí)體,各個參與實(shí)體的功能與特點(diǎn)以及各個參與實(shí)體之間的交互流程。各參與實(shí)體的特點(diǎn)和功能說明具體如下:

本方案系統(tǒng)中具體包括5 個實(shí)體,密鑰生成中心(key generation center,KGC)、病人、醫(yī)護(hù)人員、IPFS、區(qū)塊鏈。系統(tǒng)模型如圖1所示。

圖1 系統(tǒng)模型圖Fig.1 System model diagram

各實(shí)體的功能詳細(xì)說明如下:

(1)KGC:密鑰生成中心主要負(fù)責(zé)為系統(tǒng)生成公開參數(shù)以及主密鑰,并將密鑰秘密的分發(fā)給病人與醫(yī)護(hù)人員。

(2)病人(patient):病人將自己加密后的電子病歷上傳至IPFS系統(tǒng),獲得訪問路徑L,并對L再次進(jìn)行加密;病人制定醫(yī)護(hù)人員需滿足的訪問控制策略,并將自己的屬性集合、制定的訪問控制策略、發(fā)布時間以及加密后的路徑L上傳至區(qū)塊鏈。

(3)醫(yī)護(hù)人員(medical staff):醫(yī)護(hù)人員將自己的屬性集合、訪問時間,以及病人需要滿足的訪問控制策略上傳至區(qū)塊鏈;在滿足醫(yī)護(hù)人員的屬性集合與病人所制定的訪問控制策略匹配的條件下,病人的屬性集合同時也需滿足醫(yī)護(hù)人員所制定的訪問控制策略時,醫(yī)護(hù)人員則可解密獲得路徑L,并根據(jù)L從IPFS 中下載對應(yīng)的密文,從而解密獲得密文。

(4)IPFS:病人上傳加密后的病歷至IPFS 系統(tǒng)后,通過文件內(nèi)容獲得一串獨(dú)立的哈希字符串來標(biāo)識文件,這串哈希字符串可被看作是病歷的存儲“路徑”。

(5)區(qū)塊鏈:病人將病歷加密后存儲至IPFS 系統(tǒng),將獲得的存儲“路徑”加密后保存在區(qū)塊鏈之中。

3.3 安全模型

在安全模型中,將描述隨機(jī)諭言機(jī)模型中的選擇明文攻擊下的不可區(qū)分性,來抵御發(fā)送者猜測攻擊,合謀攻擊。

通過一個攻擊游戲來定義支持細(xì)粒度雙邊訪問控制的CP-ABE方案的安全模型。

(1)初始化:攻擊者A 選擇想要挑戰(zhàn)的訪問結(jié)構(gòu),并提交給挑戰(zhàn)者B。

(2)系統(tǒng)建立:挑戰(zhàn)者B 執(zhí)行本文方案中的Setup算法,將生成的公鑰發(fā)送給攻擊者A 。

(3)詢問階段1:攻擊者A 可以詢問某個屬性集合所對應(yīng)的密鑰,要求該屬性集合不滿足訪問控制策略。挑戰(zhàn)者B 運(yùn)行密鑰生成算法后,將生成的密鑰發(fā)送給攻擊者A 。

(4)挑戰(zhàn)階段:攻擊者A 向挑戰(zhàn)者B 提交相等長度的消息以及挑戰(zhàn)屬性集合,要求該挑戰(zhàn)屬性集合在詢問階段1 中不曾被詢問過對應(yīng)的密鑰。挑戰(zhàn)者B 隨機(jī)選取b∈{0,1} ,并運(yùn)行加密算法對其進(jìn)行加密,將生成的密文Mb發(fā)送給攻擊者A 。

(5)詢問階段2:重復(fù)執(zhí)行詢問階段1。

(6)猜測階段:攻擊者A 輸出一個對于b的猜測b′,若兩者相等,則攻擊者A 贏得游戲。其中攻擊A 的優(yōu)勢定義為

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

本章主要介紹加密支持細(xì)粒度的雙邊訪問控制的密文策略屬性基加密方案的具體實(shí)現(xiàn)。

4.1 工作流程

本節(jié)主要詳細(xì)說明病人將加密病歷上傳至存儲系統(tǒng)以及醫(yī)護(hù)人員從存儲系統(tǒng)下載加密病歷的具體流程。

4.1.1 上傳流程

首先,病人將加密后的病歷上傳至IPFS存儲系統(tǒng),會得到一串來自IPFS 存儲系統(tǒng)返回的哈希字符串,可將其視為加密病歷的存儲路徑“L”。之后,病人將得到的路徑“L”、自己的屬性集合Ss以及所制定的訪問控制策略Rr上傳至區(qū)塊鏈。具體流程如圖2所示。

圖2 病人上傳電子病歷具體流程Fig.2 Specific flow of patient uploading electronic medical record

4.1.2 下載流程

首先,醫(yī)護(hù)人員上傳自己的屬性集合Sr、訪問時間以及所制定的訪問控制策略Rs至區(qū)塊鏈中。若該屬性集合滿足Rr,則可獲得加密病歷的存儲路徑“L”。之后,驗(yàn)證病人的屬性集合Ss是否滿足Rs,若滿足,醫(yī)護(hù)人員即可對存儲路徑“L”進(jìn)行解密。最終,獲得病人的病歷信息。具體流程如圖3所示。

圖3 醫(yī)護(hù)人員下載電子病歷具體流程Fig.3 Specific process of medical staff downloading electronic medical records

4.2 具體算法

本節(jié)將構(gòu)造一個支持細(xì)粒度雙邊訪問控制的CP-ABE 方案。基于Waters 所提出ABE 方案[7],設(shè)計出一種新的方案,在保證發(fā)送方可以制定接收方需滿足的訪問控制策略同時,使接收方也可以通過制定的訪問控制策略對發(fā)送方進(jìn)行驗(yàn)證與篩選。方案具體算法細(xì)節(jié)如下:

(1)系統(tǒng)初始化算法Setup(λ)

KGC運(yùn)行該算法,輸入安全參數(shù)λ。生成兩個階為素數(shù)p的群G、G0,構(gòu)成雙線性映射e:G×G→G0,g是群G的生成元。隨機(jī)選擇α,β∈Zp,以及一個穩(wěn)定抗碰撞的哈希函數(shù):H:{0,1}*→G。該算法輸出一個公鑰以及一個主密鑰:

(2)密鑰生成算法

①加密密鑰生成算法EKGen(MSK,Ss)。分析發(fā)送者屬性集合Ss,加密密鑰生成算法隨機(jī)選擇t∈Zp,?x∈Ss,可計算得:

該算法返回加密密鑰ek={ek1,ek2}。

②解密密鑰生成算法DKGen(MSK,Sr)。分析接收者屬性集合Sr,解密密鑰生成算法隨機(jī)選擇t*∈Zp,?y∈Sr,可計算得:

該算法返回解密密鑰dk=(dk1,dk2,dk3,y)。

(3)加密算法Enc(ek,M,Ss,Rr)

分析接收者需要滿足的訪問控制策略Rr,Rr=(M1,P1),其中M1是lM1×nM1矩陣,P1:[lM1] →Sr是一個映射函數(shù)。該加密算法隨機(jī)選取v=(s,y2,…,ynM1)⊥∈Zp,其中s是待分享的秘密,計算λ=(λ1,λ2,…,λlM1)=M1v。對于所有i∈[lM1] ,隨機(jī)選擇ri∈ZP,計算:

(4)解密算法Dec(dk,CT,Rs)

分析發(fā)送者需要滿足的訪問控制策略Rs,其中M2是lM2×nM2矩陣,P2:[lM2] →Ss是一個映射函數(shù)。該解密算法隨機(jī)選擇,計 算k=k1,k2,…,klM2。

令I(lǐng)滿足I={i|i∈[lM2],P2(i)=Ss} ,可找到{ωi}i∈I滿足計算下式:

若上述等式成立,則繼續(xù)解密,否則結(jié)束解密。

令F滿足F={f|f∈[lM1],P2(i)=Ss} ??烧业絳θ}f∈F滿足,計算下式:

其中,i是P1,i在y中的索引,即P1,i=y。該解密算法可通過上式分離得到消息M。

4.3 正確性分析

若4.2節(jié)中的解密算法Dec中的式(1)如下計算,即認(rèn)為發(fā)送者屬性集合Ss滿足接收者所制定的訪問控制策略Rs,接收者則可繼續(xù)對消息進(jìn)行解密:

若4.2節(jié)中的解密算法Dec中的式(2)如下計算,即認(rèn)為接收者屬性集合Sr滿足發(fā)送者所指定的訪問控制策略Rr,接受者則可解密得到原始消息:

5 安全性分析

定理1假設(shè)DBDH 問題是困難的,本方案在隨機(jī)諭言機(jī)模型下夠滿足選擇明文攻擊下的不可區(qū)分性。

證明假設(shè)攻擊者A 可以在一個概率多項(xiàng)式時間內(nèi)以不可忽略的優(yōu)勢ε在安全模型IND-CPA 下打破本文所提出的方案,那么就能構(gòu)建一個挑戰(zhàn)者B 能夠以不可忽略的優(yōu)勢解決DBDH問題。因此,提供了一個挑戰(zhàn)者與攻擊者之間的真實(shí)方案的正確模擬。

假設(shè)挑戰(zhàn)者隨機(jī)翻轉(zhuǎn)一枚二進(jìn)制的硬幣μ∈{0,1} 。當(dāng)μ=0 時,四元組為{A=gα,B=gb,C=gc,T=e(g,g)abc} ,當(dāng)μ=1,四元組為{A=gα,B=gb,C=gc,T=e(g,g)t} 。挑戰(zhàn)者B 輸出μ′作為μ的猜測。

(1)Setup。挑戰(zhàn)者B 隨機(jī)選擇β∈Zp以及一個抗碰撞哈希函數(shù):H:{0,1}*→G,生成公鑰給攻擊者A:

其中,gb是生成元,

(2)查詢階段1。攻擊者A 向挑戰(zhàn)者B 通過諭言機(jī)發(fā)起私鑰詢問。

①令L={att,r,r*} 為哈希列表,攻擊者A 向隨機(jī)諭言機(jī)詢問att,如果att之前被詢問過,則返回Brigri*,如果att∈Ss,挑戰(zhàn)者B 選擇r=0,r*∈Zq,如果att?Ss,挑戰(zhàn)者B 選擇r,r*∈Zq。之后,挑戰(zhàn)者B 更新哈希列表L={att,r,r*} 。

②攻擊者A 通過加密密鑰諭言機(jī)詢問加密密鑰,攻擊者A 提供發(fā)送者屬性集合Ss,挑戰(zhàn)者B 隨機(jī)選取t∈Zp,?x∈Ss,計算:

挑戰(zhàn)者B 將加密密鑰發(fā)送給挑戰(zhàn)者A。

③攻擊者A 通過解密密鑰諭言機(jī)詢問解密密鑰,攻擊者A 提供發(fā)送者屬性集合Sr,挑戰(zhàn)者B 隨機(jī)選取t*∈Zp,?x∈Sr,計算:

挑戰(zhàn)者B 將解密密鑰發(fā)送給挑戰(zhàn)者A。

(3)挑戰(zhàn)。攻擊者A 提交m0,m1,S0,S1,挑戰(zhàn)者B隨機(jī)選擇b∈{0,1} ,假設(shè)Sb=Ss,挑戰(zhàn)者B 隨機(jī)選擇t∈Zp,?x∈Sb,計算:

挑戰(zhàn)者B 通過加密算法對消息進(jìn)行加密,c0=MbT,c1=gc。并將密文發(fā)送給挑戰(zhàn)者A。

如果μ=0,則T=e(g,g)abc,如果令s=c,則e(A,B)=(e(g,g)ab)s=e(g,g)abs,c1=gs=gc。因此,密文是對Mb的有效加密。

如果μ=1,則T=e(g,g)t,則c0=Mb e(g,g)t,由于t是隨機(jī)產(chǎn)生的,攻擊者A 不能得出任何有關(guān)于消息的信息。

(4)查找階段2。重復(fù)查找階段1的過程。

(5)猜測。攻擊者A 輸出對于b的猜測b′,如果b′=b,挑戰(zhàn)者B 輸出μ′=0 表示它是一個DBDH 的四元組,否則,它是一個隨機(jī)四元組。

當(dāng)μ=1 時,攻擊者A 沒有得到任何有用信息,因此可以得到,因?yàn)楫?dāng)b′=b時,挑戰(zhàn)者B 猜測μ′=1,則

當(dāng)μ=0 時,攻擊者A 可以得到關(guān)于Mb的有效信息,在此情況下,攻擊者A擁有優(yōu)勢ε。因此可以得到。因?yàn)楫?dāng)b′=b,挑戰(zhàn)者B 猜測μ′=0,則因此挑戰(zhàn)者B 贏得DBDH游戲的整體優(yōu)勢是:

若攻擊者在一個概率多項(xiàng)式時間內(nèi)贏得游戲的優(yōu)勢為ε,則其可以以不可忽略的優(yōu)勢解決DBDH困難問題。

在安全模型IND-CPA中,攻擊者存在不可忽略的優(yōu)勢ε才能打破本文的方案,因此,本文的方案是IND-CPA安全的。證畢。

6 功能對比與性能分析

6.1 功能對比分析

將本文方案與文獻(xiàn)[7]、文獻(xiàn)[14]、文獻(xiàn)[15]、文獻(xiàn)[23]進(jìn)行對比,對比結(jié)果如表2所示。

表2 不同方案的功能對比Table 2 Function comparison of different schemes

從表2的對比可知,本文方案在保證選擇明文攻擊下的不可區(qū)分性的前提下,不僅使發(fā)送方可以通過制定訪問控制策略對接收方進(jìn)行選擇,而且使接收方同樣可以制定訪問控制策略對發(fā)送方進(jìn)行驗(yàn)證,不需要從大量密文中逐一進(jìn)行檢索,提高了接收方的工作效率。并且引入了區(qū)塊鏈技術(shù)以及IPFS 存儲系統(tǒng),將加密后的數(shù)據(jù)上傳至IPFS 存儲系統(tǒng),避免了分布式拒絕攻擊。再將由IPFS 生成的唯一哈希索引上傳至區(qū)塊鏈,實(shí)現(xiàn)了數(shù)據(jù)的不可篡改性。

6.2 安全性對比分析

將本文方案與文獻(xiàn)[15]、文獻(xiàn)[23]進(jìn)行對比分析,對比結(jié)果如表3所示。

表3 不同方案的安全性對比Table 3 Safety comparison of different schemes

從表3可知,由于本文方案將加密后的數(shù)據(jù)上傳至IPFS分布式存儲系統(tǒng),即可有效地抵抗分布式拒絕服務(wù)攻擊。此外,本文方案允許發(fā)送方選擇隨機(jī)數(shù)來加密密鑰,因此除發(fā)送方之外的任何一方都無法知道這個隨機(jī)數(shù)的值,可有效地抵抗發(fā)送者猜測攻擊。最后,本文方案中解密密鑰都具有隨機(jī)性。多個解密密鑰的組合不能幫助攻擊者獲得有效的解密密鑰。因此,可有效地抵抗合謀攻擊。

6.3 對比仿真結(jié)果分析

在本節(jié)中,分析密鑰生成、加密過程以及解密過程的計算開銷,將本文提出的方案與文獻(xiàn)[13]、文獻(xiàn)[14]中提出的方案進(jìn)行比較。本文進(jìn)行仿真的實(shí)現(xiàn)設(shè)備為Intel?Core?i5-5250U CPU@1.60 GHz,4 GB 內(nèi)存。操作系統(tǒng)為macOS Catalina 10.15.5,編程語言為Java,使用的密碼庫為jPBC 2.0.0。

TE表示指數(shù)計算時間,TP表示雙線性對計算時間,TH→G表示哈希到群G的計算時間,TH→Zq*表示哈希到Zq*的計算時間。由于在本設(shè)備中,乘法運(yùn)算、逆運(yùn)算與除法運(yùn)算的計算時間與其他運(yùn)算的計算時間相比微不足道,所以可忽略不計。

本文方案與文獻(xiàn)[13]、文獻(xiàn)[14]方案的效率對比如表4所示。

表4 不同方案的效率對比Table 4 Comparison of efficiency of different schemes

本節(jié)實(shí)驗(yàn)仿真中分別測試了在10~50 個屬性集個數(shù)下文獻(xiàn)[13]、文獻(xiàn)[14]與本文的Setup、EKGen、DKGen、Enc、Dec運(yùn)算環(huán)節(jié)的運(yùn)算時間開銷,具體對比如圖4所示。

根據(jù)圖4(a)的對比可知,在系統(tǒng)初始化的計算中,本文方案僅采用了一個哈希運(yùn)算,所以隨著屬性個數(shù)的增加,本文方案的計算時間具有一定的優(yōu)勢。

根據(jù)圖4(b)的對比可知,在加密密鑰生成的計算中,本文方案與文獻(xiàn)[14]相比相差不大。

根據(jù)圖4(c)的對比可知,在解密密鑰生成計算中,本文方案與文獻(xiàn)[14]相比僅采用兩個指數(shù)運(yùn)算,從而隨著屬性個數(shù)的增加,具有顯著的優(yōu)勢。

根據(jù)圖4(d)的對比可知,在加密的計算中,文獻(xiàn)[13]、文獻(xiàn)[14]采用了較多的哈希以及指數(shù)運(yùn)算,而本文方案僅采用了1個哈希運(yùn)算,降低了計算時間。并且本文方案與文獻(xiàn)[14]相比,本文密文與訪問控制策略相關(guān)聯(lián),而文獻(xiàn)[14]密文與用戶屬性集合相互關(guān)聯(lián),隨著屬性集合的增加,文獻(xiàn)[14]需要花費(fèi)更多的計算時間,所以,本文的計算時間與文獻(xiàn)[14]相比具有一定的優(yōu)勢。

根據(jù)圖4(e)的對比可知,在解密的計算中,與文獻(xiàn)[13]、文獻(xiàn)[14]進(jìn)行對比,本文方案并未采用哈希計算,極大地降低了計算時間,具有顯著的優(yōu)勢。

圖4 計算時間Fig.4 Calculation time

綜合上述對比進(jìn)行分析可得,本文所提出的方案具有較高效率。

7 結(jié)束語

本文針對當(dāng)前在線問診環(huán)境中在保護(hù)患者隱私的前提下,提高醫(yī)護(hù)人員的工作效率的需求,提出了基于在線問診環(huán)境下的細(xì)粒度雙邊訪問控制,該方案通過ABE 對患者的病歷進(jìn)行加密后上傳至IPFS 系統(tǒng),并將生成的唯一哈希字符串加密上傳至區(qū)塊鏈。在本文方案中,不僅患者可以制定訪問控制策略來對醫(yī)護(hù)人員進(jìn)行查看病歷的授權(quán),醫(yī)護(hù)人員也可制定訪問控制策略進(jìn)一步地通過屬性匹配來篩選需要解密的病歷,既有效地保護(hù)了患者的個人隱私問題,也減輕了醫(yī)護(hù)人員的工作負(fù)擔(dān)。最后,在標(biāo)準(zhǔn)模型下基于判定性雙線性Diffie-Hellman問題證明了本文方案是IND-CPA安全的,并利用jPBC密碼庫進(jìn)行性能分析表明本文方案與其他方案相比具有較低的計算開銷。

猜你喜歡
哈希解密攻擊者
解密“熱脹冷縮”
基于微分博弈的追逃問題最優(yōu)策略設(shè)計
解密“一包三改”
炫詞解密
正面迎接批判
愛你(2018年16期)2018-06-21 03:28:44
基于OpenCV與均值哈希算法的人臉相似識別系統(tǒng)
有限次重復(fù)博弈下的網(wǎng)絡(luò)攻擊行為研究
基于維度分解的哈希多維快速流分類算法
解密“大調(diào)解”
基于同態(tài)哈希函數(shù)的云數(shù)據(jù)完整性驗(yàn)證算法
黑龙江省| 望奎县| 永安市| 保康县| 浙江省| 府谷县| 邹城市| 逊克县| 桂平市| 桃园县| 黄石市| 那曲县| 巴塘县| 新绛县| 蓬莱市| 松潘县| 黄陵县| 卢湾区| 如东县| 湖州市| 扎鲁特旗| 开原市| 花莲县| 陆良县| 城口县| 阳春市| 育儿| 永寿县| 新余市| 那曲县| 林西县| 会同县| 芜湖市| 荣昌县| 广灵县| 博兴县| 永年县| 无锡市| 朝阳市| 晋州市| 延庆县|