


摘 要:為了改善國內醫療云數據存儲與共享中患者隱私泄露問題,加快互聯網+醫療與醫療云建設,提出一種針對醫療大數據安全共享的隱私保護模型。模型將數據共享過程劃分為3個階段,明確各部分功能。采用一種適合醫療云數據加密場景的RS-Blowfish混合加密算法用于模型數據傳輸,在數據安全共享的同時兼具數字加密及身份認證功能。增添明文與密鑰的Z形置換,改善初始密鑰安全性,增添密鑰認證,將傳統的RSA算法、Blowfish算法和SHA-256算法結合為一個整體。實驗結果表明, RS-Blowfish混合加密算法在增強Blowfish安全性的同時,加密速度較3DES快30%,較AES快10%。
關鍵詞:醫療大數據;隱私保護;密碼學算法;數據安全;混合加密
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-),男,山東科技大學計算機科學與工程學院碩士研究生,研究方向為云計算、大數據、隱私保護、數據挖掘。本文通訊作者:劉浩然。
0 引言
大數據已經滲透到社會各個領域,醫學[1]也不例外。醫療大數據作為大數據的一種,具有與大數據[2]相同的4V特征。一般醫療機構每年產生的醫療數據達1TB-20TB,一些大型醫院數據量甚至達到300TB-1PB。
隨著互聯網+醫療[3]、電子病歷[4]以及openEMR[5-6]等云上醫療服務的發展,互聯網+醫療成為一種發展趨勢。許多大型三甲醫院都有自己的數據庫,但日益膨脹的醫療數據[7]需要投入更多的服務器。每個醫院內部的屬性標識符不統一,極大制約了電子健康數據記錄工作發展[8]。
與此同時,醫療數據至云服務器的安全性問題[9]日益顯露,將醫療數據以明文方式或者以明文的方式存儲在云上是極不安全的。如果醫院只將電子病歷存儲在本地服務器上,在病人轉院等情況下卻不利于醫療數據共享。
惠榛等[10]提出一種基于風險的訪問控制模型,能夠自適應地限制醫生訪問,保護患者隱私;黃尤江等[11]分析了當前醫療行業大數據存在的利與弊,針對其平衡發展及隱私保護提出了相關策略;張靜等[12]提出通過數據加密技術實現結構化數據加密、存儲和利用的方案,創新地從事前、事中、事后3個角度,保障醫療健康大數據安全;姬博歆[13]對目前醫療大數據的現狀進行分析,整理了用于醫療大數據的保護技術;Vinod Sharma等[14]分析了部分hadoop項目以及大數據安全性標準與技術。
以上方法都沒有針對醫療大數據提出一整套切實可行的共享方案,也沒有針對國內醫療認證以及數據安全設計與優化國際密碼學技術。
本文結合國內外醫療大數據技術發展情況,整合現有技術,提出一套具有隱私保護的醫療大數據共享模型,主要內容如下:
(1)提出一種新的、致力于解決國內醫療數據外包同時兼顧隱私保護的醫療大數據模型,對模型的可行性進行必要的驗證。
(2)提出一種適用于醫學信息的快速壓縮加密算法,結合RSA[15]、SHA-256[16]、Blowfish[17-21]等優點,增添輸入端密鑰、明文分組置換以及密鑰驗證應用于本文模型,并與當代密碼學中AES、3DES的加密算法進行加密時間對比分析。
1 醫療大數據隱私保護模型
本模型分為4個主體,如圖1所示。明確各主體職能,模型中的用戶提供基本的個人信息并享受云服務商提供的服務;醫療云指云服務商提供與醫療有關的計算資源,同時兼顧存儲用戶數據;醫院是電子病歷的中心,醫院的本地數據庫存儲大量的醫療數據;公共基礎設施負責醫院與用戶密鑰的產生以及相關身份認證。
圖1 醫療大數據隱私保護模型
在醫療大數據產生及共享階段需確保電子病歷安全。
(1)用戶密鑰的建立和個人信息加密。用戶向公鑰基礎設施請求建立密鑰的基本參數,生成非對稱密鑰對(包含公鑰、私鑰),其中生成的公鑰由公鑰基礎設施保存,與此同時生成信息加密的對稱密鑰。隨后用戶的個人信息被復制成兩份,一份利用對稱密鑰加密,并用非對稱私鑰對對稱密鑰加密;另一份進行數據匿名化處理。這兩部分均上傳至醫療云,由醫療云存儲管理。加密數據提供給醫院,使醫院可以得到準確的用戶信息;匿名數據提供給云服務提供商,用于為用戶提供更好的個性化定制服務。
(2)用戶與醫院共享密文用戶信息。用戶請求醫院A的醫療服務,并向醫療云傳遞此請求;醫療云將用戶請求的信息反饋醫院A,隨后醫院A向公鑰基礎設施查詢用戶的公鑰,在醫療云端下載用戶的密文信息并向用戶反饋。醫院A在得到用戶的密文信息后,首先利用用戶公鑰將對稱密鑰密文解密,得到對稱密鑰,再利用對稱密鑰解密用戶的密文信息,以此得到用戶的全部個人信息。
(3)醫院之間共享用戶密文醫療數據。用戶在到達醫院A后,進行相關醫療檢驗產生電子病歷,由醫院A利用用戶的對稱密鑰加密電子病歷信息,上傳至醫療云。倘若用戶對醫院的治療效果不滿意,要求轉院到醫院B,則醫療云將向醫院B傳達用戶的請求信息,醫院B隨后在醫療云端下載用戶的密文信息和在醫院A產生的密文醫療數據,解密后得到明文數據。
2 RS-Blowfish混合加密
本文提出混合加密算法作為醫療大數據安全共享模型的加密算法,在證明其安全性的同時利用實驗驗證加密算法的加密速度。
2.1 RS-Blowfish混合加密算法
傳統的密碼學聯合加密方案,是利用對稱密碼對明文文本進行加密,非對稱密碼用于對對稱密碼密鑰的加密,以達到安全傳輸密文的目的。本文在這種傳統結構模型上進行改進,通過對明文的預處理以及密鑰處理,在保證加密速度的同時增強傳輸的安全性,并增添密鑰認證,從而確保傳輸的密文沒有經過惡意篡改。
RS-Blowfish混合加密算法以Blowfish、RSA以及SHA-256為基礎,將密鑰處理分為兩部分,分別為密鑰預處理一與密鑰預處理二。在密鑰預處理一中,密鑰首先經過Z形變換,密鑰K1用于加密明文,密鑰K2用于擾亂密鑰K1,以增強密鑰組合的隨機性,隨后作為Blowfish的加密密鑰;在密鑰預處理二中,將原密鑰經過哈希函數處理得到哈希驗證摘要,再將兩者加密,得到密文Blowfish密鑰與密鑰驗證,如圖2所示。
本文在Blowfish加密階段也作了修改,將明文劃分后的左右子塊先進行左右置換,加大暴力破解密文的難度,增強明文組合的隨機性,然后再進行Feistel結構、核心函數處理以及相關的異或運算。
圖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混合加密算法在時間復雜度上與待加密的明文數據有著線性關系,即隨著數據量的增大加密時間也會增大,但相比3DES有較大優勢,時間復雜度約為3DES的1/3。安全性上,得益于密鑰驗證、密鑰Z形變換以及明文的輸入置換,增強了密鑰與加密算法的復雜程度,增強了加密密文的安全性。
2.2 實驗結果及分析
實驗分析結果如圖3所示。從圖3可以看出,本文設計的混合密鑰算法在增添驗證以及對blowfish輸入進行略微改動后,在加密速度上比AES算法快10%,比3DES算法快30%。
實驗證明,當RSA算法的密鑰長度達到1024位時具有良好的安全性,同時增添哈希函數用于密鑰認證,能確保接收方驗證密鑰是否被篡改。SHA-256算法同時具有不可破解的單向哈希性。經過16輪變換后證明Blowfish是安全的,能夠有效抵御已知明文攻擊、選擇明文攻擊和弱密鑰攻擊。
圖3 加密速度對比
3 結語
本文分析了醫療云及互聯網+醫療共享中的安全問題,對醫療大數據共享中的隱私泄露和醫療數據安全傳輸問題進行了深入研究,提高了醫療大數據共享的安全性,減少了用戶隱私泄露問題。
(1)針對醫療大數據共享與患者信息泄露問題,提出了一套切實可行的醫療大數據電子病歷共享方案,詳細闡述了用戶在求醫各個階段的信息同步與安全方案,第三方醫療云服務商在不知道用戶密鑰的情況下無法完成對用戶信息的嗅探,在最大化共享電子病歷的同時保護用戶私人信息。
(2)利用并適當修改Blowfish、RSA、SHA-256技術,提出基于這三者的RS-Blowfish混合加密算法,利用實驗驗證了加密算法的加密效率,解析了破解該算法面臨的難題。
當然,模型還存在部分尚未解決的問題:①模型中的應用場景敘述有限,未加入醫療場景和醫院中醫護人員職能,將來在模型構建中應該完善;②雖然本文提出的增強RS-Blowfish加密算法有著較好的加密性能,但對于醫療圖像尚未考慮,下一步將把重點放在醫療圖像的加密性能上,增強加密算法的應用領域。
參考文獻:
[1] 于廣軍,楊佳泓. 醫療大數據[M]. 上海:上海科學技術出版社, 2015.
[2] CHEN M, MAO S, LIU Y. Big data: a survey[J]. Mobile Networks and Applications, 2014, 19(2):171-209.
[3] 呂曉娟, 張麟, 陳瑩,等. 互聯網+醫療面臨的機遇與挑戰[J]. 中國衛生信息管理雜志, 2016, 13(2):124-127.
[4] 陳金雄. 電子病歷與電子病歷系統[J]. 醫療衛生裝備,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] 汪冬,秦利,魏洪河,等. 健康醫療大數據發展現狀與應用[J]. 電子技術與軟件工程, 2018, 133(11): 225-226.
[8] 張振,周毅,杜守洪,等. 醫療大數據及其面臨的機遇與挑戰[J]. 醫學信息學雜志, 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] 惠榛,李昊,張敏,等. 面向醫療大數據的風險自適應的訪問控制模型[J]. 通信學報,2015, 36(12): 1-10.
[11] 黃尤江,賀蓮,蘇煥群,等. 醫療大數據的應用及其隱私保護[J]. 中華醫學圖書情報雜志,2015, 24(9): 43-45.
[12] 張靜, 張洪亮. 基于密碼技術的健康醫療大數據安全保障體系研究[J]. 信息安全研究,2017,3(7): 652-656.
[13] 姬博歆. 醫療大數據應用中的隱私權保護研究[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.
(責任編輯:杜能鋼)