摘 要:為了改善國內醫(yī)療云數(shù)據(jù)存儲與共享中患者隱私泄露問題,加快互聯(lián)網(wǎng)+醫(yī)療與醫(yī)療云建設,提出一種針對醫(yī)療大數(shù)據(jù)安全共享的隱私保護模型。模型將數(shù)據(jù)共享過程劃分為3個階段,明確各部分功能。采用一種適合醫(yī)療云數(shù)據(jù)加密場景的RS-Blowfish混合加密算法用于模型數(shù)據(jù)傳輸,在數(shù)據(jù)安全共享的同時兼具數(shù)字加密及身份認證功能。增添明文與密鑰的Z形置換,改善初始密鑰安全性,增添密鑰認證,將傳統(tǒng)的RSA算法、Blowfish算法和SHA-256算法結合為一個整體。實驗結果表明, RS-Blowfish混合加密算法在增強Blowfish安全性的同時,加密速度較3DES快30%,較AES快10%。
關鍵詞:醫(yī)療大數(shù)據(jù);隱私保護;密碼學算法;數(shù)據(jù)安全;混合加密
DOI:10. 11907/rjdk. 191678 開放科學(資源服務)標識碼(OSID):
中圖分類號:TP309文獻標識碼:A 文章編號:1672-7800(2019)008-0200-04
A High Security Medical Big Data Privacy Protection Model
LIU Hao-ran
(College of Computer Science and Engineering, Shandong University of Science and Technology, Qingdao 266590, China)
Abstract: In order to improve the patient privacy leakage in the domestic medical cloud data storage and sharing, and accelerate the construction of the Internet + medical and medical cloud, this paper first proposes a privacy protection model for medical big data security sharing. Through the establishment of the model, the data sharing process is divided into three stages, and the role of each part in the model is clarified, so that the model has both digital encryption and identity authentication functions in the secure data sharing. Then for the medical cloud data encryption problem, an RS-Blowfish hybrid encryption algorithm suitable for medical scenarios is proposed for model data transmission. The algorithm first adds Z-shaped permutation of plaintext and key, improves the security of the initial key, and then adds key authentication. Finally, the traditional RSA algorithm, Blowfish algorithm and SHA-256 algorithm are combined into one. The experimental results show that the proposed RS-Blowfish hybrid encryption algorithm enhances the security of Blowfish, and the encryption speed has a 30% advantage over 3DES; compared with AES, it has a 10% advantage.
Key Words: medical big data; privacy protection; cryptography algorithms; data security; hybrid encryption
作者簡介:劉浩然(1994-),男,山東科技大學計算機科學與工程學院碩士研究生,研究方向為云計算、大數(shù)據(jù)、隱私保護、數(shù)據(jù)挖掘。本文通訊作者:劉浩然。
0 引言
大數(shù)據(jù)已經(jīng)滲透到社會各個領域,醫(yī)學[1]也不例外。醫(yī)療大數(shù)據(jù)作為大數(shù)據(jù)的一種,具有與大數(shù)據(jù)[2]相同的4V特征。一般醫(yī)療機構每年產(chǎn)生的醫(yī)療數(shù)據(jù)達1TB-20TB,一些大型醫(yī)院數(shù)據(jù)量甚至達到300TB-1PB。
隨著互聯(lián)網(wǎng)+醫(yī)療[3]、電子病歷[4]以及openEMR[5-6]等云上醫(yī)療服務的發(fā)展,互聯(lián)網(wǎng)+醫(yī)療成為一種發(fā)展趨勢。許多大型三甲醫(yī)院都有自己的數(shù)據(jù)庫,但日益膨脹的醫(yī)療數(shù)據(jù)[7]需要投入更多的服務器。每個醫(yī)院內部的屬性標識符不統(tǒng)一,極大制約了電子健康數(shù)據(jù)記錄工作發(fā)展[8]。
與此同時,醫(yī)療數(shù)據(jù)至云服務器的安全性問題[9]日益顯露,將醫(yī)療數(shù)據(jù)以明文方式或者以明文的方式存儲在云上是極不安全的。如果醫(yī)院只將電子病歷存儲在本地服務器上,在病人轉院等情況下卻不利于醫(yī)療數(shù)據(jù)共享。
惠榛等[10]提出一種基于風險的訪問控制模型,能夠自適應地限制醫(yī)生訪問,保護患者隱私;黃尤江等[11]分析了當前醫(yī)療行業(yè)大數(shù)據(jù)存在的利與弊,針對其平衡發(fā)展及隱私保護提出了相關策略;張靜等[12]提出通過數(shù)據(jù)加密技術實現(xiàn)結構化數(shù)據(jù)加密、存儲和利用的方案,創(chuàng)新地從事前、事中、事后3個角度,保障醫(yī)療健康大數(shù)據(jù)安全;姬博歆[13]對目前醫(yī)療大數(shù)據(jù)的現(xiàn)狀進行分析,整理了用于醫(yī)療大數(shù)據(jù)的保護技術;Vinod Sharma等[14]分析了部分hadoop項目以及大數(shù)據(jù)安全性標準與技術。
以上方法都沒有針對醫(yī)療大數(shù)據(jù)提出一整套切實可行的共享方案,也沒有針對國內醫(yī)療認證以及數(shù)據(jù)安全設計與優(yōu)化國際密碼學技術。
本文結合國內外醫(yī)療大數(shù)據(jù)技術發(fā)展情況,整合現(xiàn)有技術,提出一套具有隱私保護的醫(yī)療大數(shù)據(jù)共享模型,主要內容如下:
(1)提出一種新的、致力于解決國內醫(yī)療數(shù)據(jù)外包同時兼顧隱私保護的醫(yī)療大數(shù)據(jù)模型,對模型的可行性進行必要的驗證。
(2)提出一種適用于醫(yī)學信息的快速壓縮加密算法,結合RSA[15]、SHA-256[16]、Blowfish[17-21]等優(yōu)點,增添輸入端密鑰、明文分組置換以及密鑰驗證應用于本文模型,并與當代密碼學中AES、3DES的加密算法進行加密時間對比分析。
1 醫(yī)療大數(shù)據(jù)隱私保護模型
本模型分為4個主體,如圖1所示。明確各主體職能,模型中的用戶提供基本的個人信息并享受云服務商提供的服務;醫(yī)療云指云服務商提供與醫(yī)療有關的計算資源,同時兼顧存儲用戶數(shù)據(jù);醫(yī)院是電子病歷的中心,醫(yī)院的本地數(shù)據(jù)庫存儲大量的醫(yī)療數(shù)據(jù);公共基礎設施負責醫(yī)院與用戶密鑰的產(chǎn)生以及相關身份認證。
圖1 醫(yī)療大數(shù)據(jù)隱私保護模型
在醫(yī)療大數(shù)據(jù)產(chǎn)生及共享階段需確保電子病歷安全。
(1)用戶密鑰的建立和個人信息加密。用戶向公鑰基礎設施請求建立密鑰的基本參數(shù),生成非對稱密鑰對(包含公鑰、私鑰),其中生成的公鑰由公鑰基礎設施保存,與此同時生成信息加密的對稱密鑰。隨后用戶的個人信息被復制成兩份,一份利用對稱密鑰加密,并用非對稱私鑰對對稱密鑰加密;另一份進行數(shù)據(jù)匿名化處理。這兩部分均上傳至醫(yī)療云,由醫(yī)療云存儲管理。加密數(shù)據(jù)提供給醫(yī)院,使醫(yī)院可以得到準確的用戶信息;匿名數(shù)據(jù)提供給云服務提供商,用于為用戶提供更好的個性化定制服務。
(2)用戶與醫(yī)院共享密文用戶信息。用戶請求醫(yī)院A的醫(yī)療服務,并向醫(yī)療云傳遞此請求;醫(yī)療云將用戶請求的信息反饋醫(yī)院A,隨后醫(yī)院A向公鑰基礎設施查詢用戶的公鑰,在醫(yī)療云端下載用戶的密文信息并向用戶反饋。醫(yī)院A在得到用戶的密文信息后,首先利用用戶公鑰將對稱密鑰密文解密,得到對稱密鑰,再利用對稱密鑰解密用戶的密文信息,以此得到用戶的全部個人信息。
(3)醫(yī)院之間共享用戶密文醫(yī)療數(shù)據(jù)。用戶在到達醫(yī)院A后,進行相關醫(yī)療檢驗產(chǎn)生電子病歷,由醫(yī)院A利用用戶的對稱密鑰加密電子病歷信息,上傳至醫(yī)療云。倘若用戶對醫(yī)院的治療效果不滿意,要求轉院到醫(yī)院B,則醫(yī)療云將向醫(yī)院B傳達用戶的請求信息,醫(yī)院B隨后在醫(yī)療云端下載用戶的密文信息和在醫(yī)院A產(chǎn)生的密文醫(yī)療數(shù)據(jù),解密后得到明文數(shù)據(jù)。
2 RS-Blowfish混合加密
本文提出混合加密算法作為醫(yī)療大數(shù)據(jù)安全共享模型的加密算法,在證明其安全性的同時利用實驗驗證加密算法的加密速度。
2.1 RS-Blowfish混合加密算法
傳統(tǒng)的密碼學聯(lián)合加密方案,是利用對稱密碼對明文文本進行加密,非對稱密碼用于對對稱密碼密鑰的加密,以達到安全傳輸密文的目的。本文在這種傳統(tǒng)結構模型上進行改進,通過對明文的預處理以及密鑰處理,在保證加密速度的同時增強傳輸?shù)陌踩裕⒃鎏砻荑€認證,從而確保傳輸?shù)拿芪臎]有經(jīng)過惡意篡改。
RS-Blowfish混合加密算法以Blowfish、RSA以及SHA-256為基礎,將密鑰處理分為兩部分,分別為密鑰預處理一與密鑰預處理二。在密鑰預處理一中,密鑰首先經(jīng)過Z形變換,密鑰K1用于加密明文,密鑰K2用于擾亂密鑰K1,以增強密鑰組合的隨機性,隨后作為Blowfish的加密密鑰;在密鑰預處理二中,將原密鑰經(jīng)過哈希函數(shù)處理得到哈希驗證摘要,再將兩者加密,得到密文Blowfish密鑰與密鑰驗證,如圖2所示。
本文在Blowfish加密階段也作了修改,將明文劃分后的左右子塊先進行左右置換,加大暴力破解密文的難度,增強明文組合的隨機性,然后再進行Feistel結構、核心函數(shù)處理以及相關的異或運算。
圖2 RS-Blowfish密鑰認證
增強RS-Blowfish加密算法如下:
輸入:Blowfish密鑰K(K1,K2)、明文p、RSA私鑰AK
輸出:Blowfish密鑰密文CK、密文c、密鑰驗證VK
(1)密鑰填充
初始化 P盒、S盒r=0
CK = EAK(K)? ? //E代表RSA加密過程
for j = 0 to n-1? //n為密鑰K(K1,K2)的長度
if j mod 2 = 0 then i =j/2
else i = n-((j + 1)/2)
r=(r+K1[i]+K2[i]mod n)? 交換K1[i],K1[r]的位置
VK = H(K)? ? //H代表SHA-256加密過程
建立子秘鑰
(2)加密階段
將64位的明文p劃分為分別為32位的pL與pR
交換pL與pR的位置
for i = 1 to 16:
pR = pR⊕P[i]
pL = F(pR)⊕pL
交換pR, pL
pR = pR⊕P[17]
pL = pL⊕P[18]
將pR, pL重新組合,得到密文c
本文提出的RS-Blowfish混合加密算法在時間復雜度上與待加密的明文數(shù)據(jù)有著線性關系,即隨著數(shù)據(jù)量的增大加密時間也會增大,但相比3DES有較大優(yōu)勢,時間復雜度約為3DES的1/3。安全性上,得益于密鑰驗證、密鑰Z形變換以及明文的輸入置換,增強了密鑰與加密算法的復雜程度,增強了加密密文的安全性。
2.2 實驗結果及分析
實驗分析結果如圖3所示。從圖3可以看出,本文設計的混合密鑰算法在增添驗證以及對blowfish輸入進行略微改動后,在加密速度上比AES算法快10%,比3DES算法快30%。
實驗證明,當RSA算法的密鑰長度達到1024位時具有良好的安全性,同時增添哈希函數(shù)用于密鑰認證,能確保接收方驗證密鑰是否被篡改。SHA-256算法同時具有不可破解的單向哈希性。經(jīng)過16輪變換后證明Blowfish是安全的,能夠有效抵御已知明文攻擊、選擇明文攻擊和弱密鑰攻擊。
圖3 加密速度對比
3 結語
本文分析了醫(yī)療云及互聯(lián)網(wǎng)+醫(yī)療共享中的安全問題,對醫(yī)療大數(shù)據(jù)共享中的隱私泄露和醫(yī)療數(shù)據(jù)安全傳輸問題進行了深入研究,提高了醫(yī)療大數(shù)據(jù)共享的安全性,減少了用戶隱私泄露問題。
(1)針對醫(yī)療大數(shù)據(jù)共享與患者信息泄露問題,提出了一套切實可行的醫(yī)療大數(shù)據(jù)電子病歷共享方案,詳細闡述了用戶在求醫(yī)各個階段的信息同步與安全方案,第三方醫(yī)療云服務商在不知道用戶密鑰的情況下無法完成對用戶信息的嗅探,在最大化共享電子病歷的同時保護用戶私人信息。
(2)利用并適當修改Blowfish、RSA、SHA-256技術,提出基于這三者的RS-Blowfish混合加密算法,利用實驗驗證了加密算法的加密效率,解析了破解該算法面臨的難題。
當然,模型還存在部分尚未解決的問題:①模型中的應用場景敘述有限,未加入醫(yī)療場景和醫(yī)院中醫(yī)護人員職能,將來在模型構建中應該完善;②雖然本文提出的增強RS-Blowfish加密算法有著較好的加密性能,但對于醫(yī)療圖像尚未考慮,下一步將把重點放在醫(yī)療圖像的加密性能上,增強加密算法的應用領域。
參考文獻:
[1] 于廣軍,楊佳泓. 醫(yī)療大數(shù)據(jù)[M]. 上海:上??茖W技術出版社, 2015.
[2] CHEN M, MAO S, LIU Y. Big data: a survey[J]. Mobile Networks and Applications, 2014, 19(2):171-209.
[3] 呂曉娟, 張麟, 陳瑩,等. 互聯(lián)網(wǎng)+醫(yī)療面臨的機遇與挑戰(zhàn)[J]. 中國衛(wèi)生信息管理雜志, 2016, 13(2):124-127.
[4] 陳金雄. 電子病歷與電子病歷系統(tǒng)[J]. 醫(yī)療衛(wèi)生裝備,2010,31(10):1-4.
[5] ACHARYA S,YIN Y,MAK A. Towards the design of a secure and compliant framework for openEMR[C]. IEEE International Conference on Bioinformatics & Biomedicine, 2017: 992-999.
[6] AKOWUAH F, LAKE J, YUAN X, et al. Testing the security vulnerabilities of openEMR 4.1.1: a case study[J]. Journal of Computing Sciences in Colleges, 2015, 30(3):26-35.
[7] 汪冬,秦利,魏洪河,等. 健康醫(yī)療大數(shù)據(jù)發(fā)展現(xiàn)狀與應用[J]. 電子技術與軟件工程, 2018, 133(11): 225-226.
[8] 張振,周毅,杜守洪,等. 醫(yī)療大數(shù)據(jù)及其面臨的機遇與挑戰(zhàn)[J]. 醫(yī)學信息學雜志, 2014, 35(6): 2-8.
[9] SHANMUGAPRIYA E, KAVITHA R. Medical big data analysis: preserving security and privacy with hybrid cloud technology[J]. Soft Computing, 2019, 23(8): 2585–2596.
[10] 惠榛,李昊,張敏,等. 面向醫(yī)療大數(shù)據(jù)的風險自適應的訪問控制模型[J]. 通信學報,2015, 36(12): 1-10.
[11] 黃尤江,賀蓮,蘇煥群,等. 醫(yī)療大數(shù)據(jù)的應用及其隱私保護[J]. 中華醫(yī)學圖書情報雜志,2015, 24(9): 43-45.
[12] 張靜, 張洪亮. 基于密碼技術的健康醫(yī)療大數(shù)據(jù)安全保障體系研究[J]. 信息安全研究,2017,3(7): 652-656.
[13] 姬博歆. 醫(yī)療大數(shù)據(jù)應用中的隱私權保護研究[D]. 哈爾濱:黑龍江大學, 2017.
[14] VINOD S,PROF N K? J. The evolution of big data security through hadoop incremental security model[J]. International Journal of Innovative Research in Science, Engineering and Technology, 2015, 4(5): 3489-3493.
[15] YELLAMMA P,NARASIMHAM C,SREENIVAS V. Data security in cloud using RSA[C]. Fourth International Conference on Computing, 2014: 1-6.
[16] GUERON S,JOHNSONS,WALKER J. SHA-512/256[C]. Eighth International Conference on Information Technology:New Generations, 2011: 354-358.
[17] ALABAICHI A,AHMAD F,MAHMOD R. Security analysis of blowfish algorithm[C]. Second International Conference on Informatics & Applications, 2013: 12-18.
[18] NIE T, SONG C, ZHI X. Performance evaluation of DES and blowfish algorithms[C]. International Conference on Biomedical Engineering & Computer Science,2010: 1-4.
[19] NEHAKHATRI V,KSHIRSAGAR K. Blowfish algorithm[J]. IOSR Journal of Computer Engineering, 2014, 16(2): 80-83.
[20] AVINASH M G,HARSHAVARDHAN T. The blowfish algorithm simplified[J]. International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering,2016,5(4): 3343-3351.
[21] 尚華益,姚國祥,官全龍. 基于Blowfish和MD5的混合加密方案[J]. 計算機應用研究,2010,27(1):231-233.
(責任編輯:杜能鋼)