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

?

基于分布式區(qū)塊鏈和RSA 加密的醫(yī)療檔案信息共享策略研究

2022-11-18 14:01:40董婉婷
電子設(shè)計(jì)工程 2022年22期
關(guān)鍵詞:私鑰公鑰密文

董婉婷

(濟(jì)寧市第一人民醫(yī)院,山東濟(jì)寧 272011)

當(dāng)前,醫(yī)院對(duì)信息安全的要求逐漸提高,對(duì)患者個(gè)人隱私數(shù)據(jù)保護(hù)的需求也越來越多。因此,需要關(guān)注如何更好地利用便捷的互聯(lián)網(wǎng)進(jìn)行醫(yī)療服務(wù),且還能夠防止醫(yī)療信息系統(tǒng)受到攻擊和竊取[1]。隨著區(qū)塊鏈和云計(jì)算的推廣,相關(guān)技術(shù)在醫(yī)療衛(wèi)生服務(wù)領(lǐng)域也得到了迅速發(fā)展,包括醫(yī)療信息化、移動(dòng)醫(yī)療、醫(yī)療電子商務(wù)、可穿戴設(shè)備、在線醫(yī)療服務(wù)等。區(qū)塊鏈以點(diǎn)對(duì)點(diǎn)的方式連接參與者,而參與者通過共識(shí)機(jī)制和智能合約共同維護(hù)同一系統(tǒng),并實(shí)現(xiàn)較為靈活的合作模式[2-3]。

在傳統(tǒng)的加密方法中,客戶端首先下載并解密本地加密的文本數(shù)據(jù)。在發(fā)送到指定客戶機(jī)前,客戶機(jī)將使用公鑰對(duì)數(shù)據(jù)進(jìn)行加密。指定客戶機(jī)能夠?qū)?shù)據(jù)進(jìn)行解密,但這需要大量的網(wǎng)絡(luò)開銷和操作成本,且還占用了客戶機(jī)有限的內(nèi)存,從而使其成本成倍增加[4]。Rivest Shamir Adelman(RSA)是一種基于私鑰的算法,該算法用于為電子郵件、Web 和ATM機(jī)傳輸安全數(shù)據(jù)。在RSA 算法中,公鑰的加密是已知的,而私鑰的解密是秘密的。因此,文本的加密和解密主要是基于密鑰中需要分解質(zhì)數(shù)的數(shù)量[5-6]的。隨著智能醫(yī)療的普及,醫(yī)療機(jī)構(gòu)可以將數(shù)據(jù)存儲(chǔ)在云端,以節(jié)省設(shè)備成本。為了數(shù)據(jù)安全和保護(hù)患者的個(gè)人隱私,一些醫(yī)療機(jī)構(gòu)需要事先對(duì)數(shù)據(jù)進(jìn)行加密,形成密文。此外,還需要經(jīng)常與其他醫(yī)療機(jī)構(gòu)共享某些密文,并防止他人破解該數(shù)據(jù)密文。

基于上述內(nèi)容,該文提出了在區(qū)塊鏈與云計(jì)算中,將區(qū)塊鏈的去中心化和防篡改與分布式云計(jì)算節(jié)點(diǎn)相結(jié)合[7-9],同時(shí)利用基于Mersenne 質(zhì)數(shù)的改進(jìn)RSA 算法進(jìn)行加密的解決方案。其能夠幫助衛(wèi)生機(jī)構(gòu)以較低的成本對(duì)患者數(shù)據(jù)進(jìn)行保護(hù),并實(shí)現(xiàn)醫(yī)療機(jī)構(gòu)之間的數(shù)據(jù)交互。

1 分布式區(qū)塊鏈及云計(jì)算

傳統(tǒng)的醫(yī)療數(shù)據(jù)訪問控制技術(shù),建立并實(shí)現(xiàn)了一種可靠的服務(wù)器安全訪問策略,但其難以適應(yīng)現(xiàn)代分布式的網(wǎng)絡(luò)環(huán)境。而區(qū)塊鏈通過分布式數(shù)據(jù)存儲(chǔ)、可靠的點(diǎn)對(duì)點(diǎn)傳輸、共識(shí)機(jī)制以及加密算法,帶來了新的解決思路[10-11]。傳統(tǒng)的ABE 機(jī)制既不能完全保證數(shù)據(jù)的機(jī)密性,也無法有效防止沖突攻擊且未能滿足屬性撤銷所帶來的巨大計(jì)算開銷[12-13]。將區(qū)塊鏈應(yīng)用于云計(jì)算,利用區(qū)塊鏈的安全機(jī)制提升云計(jì)算的安全存儲(chǔ)和性能是一個(gè)重要的研究核心。區(qū)塊鏈與云計(jì)算的融合,再加上適當(dāng)?shù)陌踩呗?,即可解決數(shù)據(jù)共享與隱私之間的矛盾[14-16]。

2 授權(quán)管理和訪問控制

當(dāng)云醫(yī)院與其他醫(yī)院進(jìn)行共享數(shù)據(jù)授權(quán)時(shí),需要獲取其他醫(yī)院的公鑰。因此其應(yīng)為每個(gè)用戶生成相應(yīng)的密鑰,然后將該密鑰發(fā)送到云。當(dāng)用戶請(qǐng)求訪問這些數(shù)據(jù)資源時(shí),云會(huì)在驗(yàn)證身份認(rèn)證與授權(quán)認(rèn)證后,根據(jù)用戶的公鑰返回?cái)?shù)據(jù)的加密文本,并與相應(yīng)的密鑰、密文進(jìn)行解密,從而得到相應(yīng)數(shù)據(jù)的原始明文資源。

云需要為每個(gè)授權(quán)用戶生成一個(gè)重新加密的密文,而未授權(quán)用戶則無法獲得其他用戶重新加密密文的權(quán)利。即使未經(jīng)授權(quán)的用戶獲得了重新加密的密文,其也無法解密相應(yīng)的明文數(shù)據(jù)。將ABE 應(yīng)用于代理重加密時(shí),可以同時(shí)授權(quán)多個(gè)具有同一組屬性的用戶。

如圖1 所示,代理重加密過程減輕了醫(yī)院A 的負(fù)擔(dān),其只需生成代理密鑰;而具體醫(yī)療數(shù)據(jù)的傳輸、加密轉(zhuǎn)換、文件存儲(chǔ)均由云服務(wù)提供商完成。代理重加密能夠?qū)崿F(xiàn)密文醫(yī)療數(shù)據(jù)在云中的共享,且不會(huì)泄露數(shù)據(jù)所有者的解密密鑰。該數(shù)據(jù)僅存儲(chǔ)一次,但卻能夠共享多次,而為了控制權(quán)限只需生成共享密鑰即可。

3 醫(yī)療數(shù)據(jù)隱私保護(hù)

該文采用Paillier 同態(tài)的代理重加密和RSA 算法來防止共享醫(yī)療數(shù)據(jù)的泄漏。若加密函數(shù)僅滿足加法同態(tài),則只能進(jìn)行加法和減法運(yùn)算;若一個(gè)加密函數(shù)僅滿足乘法同態(tài),則其只能執(zhí)行乘法和除法運(yùn)算。因此Paillier 算法與加法同態(tài),RSA 算法與乘法同態(tài)。在不可信的云存儲(chǔ)中,當(dāng)數(shù)據(jù)的機(jī)密性無法保證時(shí),代理重加密部分用于重加密和授權(quán)。在第三方不可信的開放環(huán)境下,能夠保證云存儲(chǔ)中敏感數(shù)據(jù)的機(jī)密性。在同態(tài)加密中,私鑰加密醫(yī)療數(shù)據(jù),僅有客戶端才具有公鑰。在使用代理重加密生成的密鑰中,即使惡意攻擊者獲得其中一個(gè)密鑰,其仍需另一個(gè)不同的密鑰才可進(jìn)行解密。若攻擊者獲得所有加密數(shù)據(jù),其也無法解密并獲取客戶端和服務(wù)器之間的原始明文數(shù)據(jù),從而也確保了即使是處理器也無法訪問數(shù)據(jù)的信息。該文使用基于Mersenne 質(zhì)數(shù)的改進(jìn)RSA 重加密算法進(jìn)行加密,從中央認(rèn)證中心輸出公鑰和密鑰對(duì)、中心主密鑰、系統(tǒng)公鑰和公共參數(shù)的具體實(shí)施步驟如下:

1)生成一對(duì)公鑰和私鑰。醫(yī)院A 和醫(yī)院B 分別請(qǐng)求云服務(wù)提供商生成其公鑰與私鑰。在提供商分別為二者生成一對(duì)公鑰和私鑰后,云服務(wù)提供商將秘鑰返回給醫(yī)院A 及醫(yī)院B。

2)隨機(jī)選取三個(gè)相對(duì)較大且相互獨(dú)立的質(zhì)數(shù)p、q和h進(jìn)行組合,使得下列組合互質(zhì),即如式(1)所示:

3)計(jì)算p、q和h的公共模數(shù)n=p·q·h,并選擇整數(shù)e(1 <e<φ(n)),使得e和φ(n) 互為質(zhì)數(shù),從而有式(2)-(4)所示的數(shù)理關(guān)系:

式中,m是要加密的信息,即明文;c為加密后的信息,即密文。

4)隨機(jī)選取η,使得

5)利用式(4)計(jì)算模反元素的存在性,從n中因式分解出η對(duì)應(yīng)參數(shù)的γ,計(jì)算方法為:

L定義為:

6)得出公鑰(n,η)和私鑰(λ,γ)。

7)生成加密文件。醫(yī)院A 首先使用RSA 來計(jì)算并加密數(shù)據(jù),以生成加密文件c1。然后醫(yī)院A 根據(jù)第二層進(jìn)行加密,用其公鑰對(duì)RSA 的密鑰進(jìn)行加密,以生成加密文件c2。最終醫(yī)院A 將兩個(gè)加密文件上傳到服務(wù)器。

8)使加密的信息m∈Zn。

9)隨機(jī)選取r并使得

10)計(jì)算密文。

11)構(gòu)造代理重加密密鑰。

醫(yī)院A 向云服務(wù)提供商請(qǐng)求醫(yī)院B 的公鑰,提供商將醫(yī)院B 的公鑰返回給醫(yī)院A。醫(yī)院A 再使用醫(yī)院B 的公鑰和自己的私鑰生成重加密密鑰,然后醫(yī)院A 將新生成的重加密密鑰上傳到服務(wù)器。

12)計(jì)算公鑰和私鑰。

13)Paillier 算法生成重新加密的密文,并將公鑰發(fā)送到云計(jì)算服務(wù)器。對(duì)于給定的公鑰和第二層密文,該算法可以使用重加密密鑰生成公鑰的第一層密文。服務(wù)器使用醫(yī)院A 上傳的重加密密鑰和密文進(jìn)行代理重加密計(jì)算,從而生成新的密文。

14)醫(yī)院B 請(qǐng)求數(shù)據(jù)并解密。醫(yī)院B 請(qǐng)求云服務(wù)器解密數(shù)據(jù)和相應(yīng)的密文,云服務(wù)器將重新加密的文本發(fā)送到醫(yī)院B。醫(yī)院B 解密密文,并得到密鑰。然后使用RSA 進(jìn)行解密,從而得到原始明文數(shù)據(jù)。

16)計(jì)算信息的方法如式(7)所示:

4 模擬實(shí)驗(yàn)與分析

該文通過使用某醫(yī)院患者常規(guī)體檢的數(shù)據(jù)來對(duì)整個(gè)方案進(jìn)行模擬實(shí)驗(yàn),以討論影響該方案可靠性的因素,其數(shù)據(jù)是一個(gè)25 維向量。為了完成每個(gè)加密任務(wù)τ,加密任務(wù)ρT的處理器將首先接收一個(gè)25維醫(yī)學(xué)數(shù)據(jù)向量。然后該處理器對(duì)向量中的每個(gè)元素進(jìn)行加密,并將加密結(jié)果發(fā)送到其所在的云節(jié)點(diǎn)ENT。由于該方案在云計(jì)算方面采用了Hadoop 和Spark 框架,因此具有更優(yōu)的存儲(chǔ)和計(jì)算能力,可及時(shí)響應(yīng)用戶的請(qǐng)求,并完成用戶的上傳、計(jì)算、下載操作,以達(dá)到動(dòng)態(tài)共享和患者隱私保護(hù)的目的。

對(duì)于每個(gè)云端用戶,其可靠性被初始化為0.5,而根據(jù)上文所述,用戶的可靠性隨著數(shù)據(jù)準(zhǔn)確性的提高而增強(qiáng)。

參數(shù)γ的不同值對(duì)可靠性的影響可以從n增加時(shí)用戶可靠性的變化中反映出來,n表示客戶端要實(shí)現(xiàn)的加密任務(wù)數(shù)。如圖2 所示,若用戶端能夠不斷地提供正確的數(shù)據(jù),則γ決定其可靠性收斂到1的速度,且γ值越大,其可靠性收斂到1 的速度越快;但當(dāng)γ值較大時(shí),容易受到內(nèi)部與外部的攻擊。因此,通常設(shè)置γ∈[2,3]。

當(dāng)步長為0.05 時(shí),η的值從初始值0.03 變?yōu)?.28,如圖3 所示。η決定了可靠性收斂到0 的速度,且η的值不能較大;否則,由于各種意外因素,當(dāng)產(chǎn)生錯(cuò)誤數(shù)據(jù)時(shí),可靠性會(huì)急劇下降,因此應(yīng)避免這種情況。此外,η的值也不能較??;否則,其將對(duì)不可靠情形給予過少的懲罰,并導(dǎo)致進(jìn)一步的惡意攻擊。γ和η的值應(yīng)滿足exp{-γ} <1-exp(-η)的要求,該文將其設(shè)置為η=0.13。

為了分析更新參數(shù)u、v對(duì)可靠性的影響,該文設(shè)置了包含100 個(gè)加密任務(wù)的場景。這100 個(gè)用戶端需要處理100 個(gè)加密任務(wù)。在初始階段,處理加密任務(wù)的每個(gè)用戶端的初始可靠性為0.5。在所有加密處理中,假設(shè)存在10 個(gè)不可靠的用戶端,則設(shè)置λ=0.15。

在分析參數(shù)u對(duì)可靠性更新的影響時(shí),隨機(jī)選取一個(gè)正常的用戶端,觀察可靠性隨任務(wù)數(shù)n的變化。這里,u的值包括5、20、50、80 和100。對(duì)于每個(gè)u值,進(jìn)行100 次實(shí)驗(yàn)。總結(jié)當(dāng)n從1 增加到100 時(shí),可靠性的平均值變化,如圖4 所示。從圖中可知,u的值越小,可靠性收斂到1 的速度越快。更新可靠性時(shí),u值越小則exp{-u·di-γ}值越大,在給出一個(gè)合適的數(shù)據(jù)后,可靠性就越高。而當(dāng)u為0 時(shí),可靠性的增加完全由γ決定。因此,u值不能過小;否則,容易造成潛在的安全風(fēng)險(xiǎn),通常設(shè)置為u∈[50,100]。

同時(shí),該文還分析了v對(duì)可靠性更新的影響,v值為0.001、0.005、0.01、0.05 和0.1。需要注意的是,v比u的值小得多,而這正是因?yàn)橥愑脩舻臄?shù)據(jù)差通常較為接近。如圖5 所示,圖中v的值越大,可靠性收斂到0 的速度越快,而當(dāng)v接近0 時(shí),可靠性的降低由參數(shù)η決定。為了避免由于偶爾提供少量錯(cuò)誤數(shù)據(jù)而導(dǎo)致用戶可靠性下降過多,因此v值不能過小,通常設(shè)置為v∈[0.005,0.01]。

模擬實(shí)驗(yàn)討論了方案中關(guān)鍵參數(shù)對(duì)方案可靠性的影響,同時(shí)給出了方案參數(shù)的合理范圍,并驗(yàn)證了所提出方案的可靠性。

5 結(jié)束語

區(qū)塊鏈?zhǔn)且环N全新的分散分布式數(shù)據(jù)庫,其是一系列采用密碼方法的數(shù)據(jù)塊。該文結(jié)合代理重加密和基于屬性的加密兩種加密方法,構(gòu)建了基于區(qū)塊鏈的云計(jì)算關(guān)鍵技術(shù)解決方案,并應(yīng)用于分布式醫(yī)療數(shù)據(jù)的安全與隱私保護(hù)。其不僅可以實(shí)現(xiàn)云數(shù)據(jù)的完整性測試,還能夠?qū)崿F(xiàn)更廣泛的安全加密計(jì)算。智能醫(yī)院只需向云服務(wù)器提供代理密鑰,云服務(wù)器即可將醫(yī)療數(shù)據(jù)轉(zhuǎn)換為指定格式的加密文本。固定用戶端可以隨時(shí)使用其私鑰訪問這些共享數(shù)據(jù)資源,且無需下載。由于醫(yī)療數(shù)據(jù)較容易獲取、被壟斷、篡改且難以共享,若第三方不值得信任,則無法實(shí)現(xiàn)安全共享和存儲(chǔ)分布式、分散、可跟蹤和不可更改的醫(yī)療數(shù)據(jù)的目的。在未來將考慮改進(jìn)共識(shí)機(jī)制,研究如何實(shí)現(xiàn)云數(shù)據(jù)的細(xì)粒度控制,以及如何減少冗余數(shù)據(jù)的存儲(chǔ)開銷,從而使區(qū)塊鏈的性能可滿足智能醫(yī)院的更多需求。

猜你喜歡
私鑰公鑰密文
一種針對(duì)格基后量子密碼的能量側(cè)信道分析框架
一種支持動(dòng)態(tài)更新的可排名密文搜索方案
比特幣的安全性到底有多高
基于模糊數(shù)學(xué)的通信網(wǎng)絡(luò)密文信息差錯(cuò)恢復(fù)
基于改進(jìn)ECC 算法的網(wǎng)絡(luò)信息私鑰變換優(yōu)化方法
一種基于混沌的公鑰加密方案
一種基于虛擬私鑰的OpenSSL與CSP交互方案
HES:一種更小公鑰的同態(tài)加密算法
SM2橢圓曲線公鑰密碼算法綜述
云存儲(chǔ)中支持詞頻和用戶喜好的密文模糊檢索
河津市| 凤庆县| 陇川县| 姚安县| 临泉县| 金平| 汝南县| 容城县| 全州县| 望奎县| 宜黄县| 灵宝市| 威远县| 额敏县| 留坝县| 永城市| 桂东县| 柳江县| 彝良县| 贵州省| 宿州市| 凌源市| 叶城县| 岗巴县| 江陵县| 永和县| 营山县| 溧阳市| 稻城县| 梁山县| 瓮安县| 灵寿县| 蓬安县| 丹凤县| 兴安盟| 德保县| 伊宁县| 怀安县| 怀柔区| 兴隆县| 徐水县|