一種云存儲醫(yī)療數據的安全傳輸方法
【專利摘要】本發(fā)明公開了一種云存儲醫(yī)療數據的安全傳輸方法,包括以下步驟:獲取醫(yī)療數據;對醫(yī)療數據進行哈夫曼壓縮,生成壓縮數據包和哈夫曼編碼包;采用RSA算法的公鑰對哈夫曼編碼包進行加密;將壓縮數據包以及加密后的哈夫曼編碼包傳輸到云端服務器;采用RSA算法的私鑰對加密后的哈夫曼編碼包進行解密;基于哈夫曼編碼包,對壓縮數據包進行解壓縮。本發(fā)明減少了數據傳輸過程中對網絡資源的占用,在確保加密和解密的效率前提下,提高了數據傳輸的安全性。
【專利說明】一種云存儲醫(yī)療數據的安全傳輸方法
【技術領域】
[0001]本發(fā)明涉及數據傳輸【技術領域】,特別涉及一種云存儲醫(yī)療數據的安全傳輸方法。
【背景技術】
[0002]隨著計算機和通訊技術發(fā)展,為數字化影像和傳輸奠定基礎,實現徹底無膠片放射科和數字化醫(yī)院,已經成為現代化醫(yī)療不可阻擋的潮流。目前國內眾多醫(yī)院已完成醫(yī)院信息化管理,其影像設備逐漸更新為數字化,網絡互聯和綜合圖像信息數據庫系統(tǒng)建設變得尤為重要,針對海量醫(yī)療數據的管理和存儲,更是成為重中之重。
[0003]隨著云計算技術的飛速發(fā)展,為構建低成本、高可用、高性能的區(qū)域醫(yī)學圖像存儲協作平臺提供了一條有效的途徑。通過高性能、大容量云存儲系統(tǒng),為無法單獨購買大容量存儲設備的醫(yī)院提供方便快捷的空間服務,滿足不斷增加的海量醫(yī)學數據存儲和管理服務。
[0004]為了保障醫(yī)療數據的安全性,醫(yī)院與云存儲系統(tǒng)進行數據傳輸時,通常需要對醫(yī)療數據進行加密處理。
[0005]目前通用的加密算法主要分為對稱算法和非對稱算法。對稱算法采用相同的密鑰進行加密和解密,其最大的困難是密鑰分發(fā)問題,必須通過當面或在公共傳送系統(tǒng)中使用安全的方法交換密鑰。對稱加密由于加密速度快、硬件容易實現,因此仍被廣泛用來加密各種信息。但對稱加密也存在著固有的缺點:密鑰更換困難,經常使用同一密鑰進行數據加密,給攻擊者提供了攻擊密鑰的信息和時間,安全性差。非對稱算法,采用公鑰進行加密而利用私鑰進行解密,主要包括RSA、DH、EC、DSS等。公鑰是可以公開的,任何人都可以獲得,數據發(fā)送人用公鑰將數據加密后再傳給數據接收人,接收人用自己的私鑰解密。非對稱加密的安全性主要依賴難解的數學問題,密鑰的長度比對稱加密大得多。因此非對稱加密算法雖然具有很高的安全性,但其加密效率較低,不適合大量數據的加密傳輸。
【發(fā)明內容】
[0006]本發(fā)明的目的在于提供一種云存儲醫(yī)療數據的安全傳輸方法,其減少了數據傳輸過程中對網絡資源的占用,在確保加密和解密的效率前提下,提高了數據傳輸的安全性。
[0007]為實現上述目的,本發(fā)明采用以下技術方案:
[0008]一種云存儲醫(yī)療數據的安全傳輸方法,包括以下步驟:
[0009]S1、獲取醫(yī)療數據;
[0010]S2、對醫(yī)療數據進行哈夫曼壓縮,生成壓縮數據包和哈夫曼編碼包;
[0011]S3、采用RSA算法的公鑰對哈夫曼編碼包進行加密;
[0012]S4、將壓縮數據包以及加密后的哈夫曼編碼包傳輸到云端服務器;
[0013]S5、采用RSA算法的私鑰對加密后的哈夫曼編碼包進行解密;
[0014]S6、基于哈夫曼編碼包,對壓縮數據包進行解壓縮。
[0015]進一步地,所述公鑰和私鑰通過以下方法產生:
[0016](I)取兩個互異的大質數P、q ;
[0017](2)計算 η = P X q ;
[0018](3)隨機選取整數e,且e與(p_l) X (q_l)互為素數;
[0019](4)選擇數d,使其滿足(eXd)mod[(p_l) X (q-1)] = I,從而確定(n,e)為公鑰,(n, d)為私鑰。
[0020]更進一步地,所述加密的算法為C = Me mod η,所述解密的算法為M = Cdmod η,其中,C為加密后的哈夫曼編碼包,M為加密前的哈夫曼編碼包。
[0021]優(yōu)選地,在步驟S2中,所述哈夫曼壓縮通過以下方法實現:
[0022](I)統(tǒng)計醫(yī)療數據文件中每種字符出現的概率P (Si),i = 1,2,3,...,q,其中,q為醫(yī)療數據中含有的種類數,Si為第i種字符;
[0023](2)將q種字符作為q個信源符號,按出現的概率大小遞減排列;
[0024](3)用字符‘0’和‘I’分別代表概率最小的2個信源符號,并將這2個概率最小的信源符號合并成I個信源符號,從而得到只包含q-Ι個符號的新信源,稱為縮減信源SI ;
[0025](4)把縮減信源SI的符號仍按概率大小遞減次序排列,再將其最后兩個概率最小的信源符號分別用字符‘0’和‘I’表示,并且合并成一個符號,這樣又形成了 q-2個信源符號的縮減信源S2;
[0026](5)依次繼續(xù)下去,直至信源最后只剩下兩個信源符號為止,將這最后兩個信源符號分別用字符‘0’和‘I’表示;
[0027](6)從最后一級縮減信源開始,進行回推得到每種字符所對應的由字符‘0’和‘I’組成的字符串序列,作為偽碼字;
[0028](7)基于每種字符對應的偽碼字,建立一個映射,f (Si) = Ci,i = 1,2,3,...,q,其中,Si代表不同的字符,Ci代表與字符Si對應的偽碼字;
[0029](8)建立另一個映射,g (Ci) = = l,2,3,...,q,其中,Ci代表與字符Si對應的偽碼字,Oi代表與偽碼字Ci對應的碼字。利用該映射將每個偽碼字轉換成對應的二進制的碼字,從而獲得哈夫曼編碼表,即生成了所述哈夫曼編碼包;
[0030](9)對于醫(yī)療數據文件中的每個字符,找到在哈夫曼編碼表中與其對應的碼字,并用該碼字對其進行替換,遍歷醫(yī)療數據文件中的所有字符,從而完成了對醫(yī)療數據文件的壓縮,即生成了所述壓縮數據包。
[0031]優(yōu)選地,在步驟S6中,所述解壓縮通過以下方法實現:對于壓縮數據包中的每個碼字,找到在哈夫曼編碼表中與其對應的字符,并用該字符對其進行替換,遍歷壓縮數據包中的所有碼字,即完成了對壓縮數據包中的解壓縮。
[0032]優(yōu)選地,所述醫(yī)療數據包括醫(yī)療影像數據、檢驗數據以及患者信息數據。
[0033]采用上述技術方案后,本發(fā)明與【背景技術】相比,具有如下優(yōu)點:
[0034]1.通過對醫(yī)療數據進行哈夫曼壓縮,減少了數據傳輸過程中對網絡資源的占用。
[0035]2.由于只對哈夫曼編碼樹進行加密,加密和解密需要處理的數據量將大大減少,克服了不對稱加密算法難以處理大量數據的限制,在確保加密和解密的效率前提下,提高了數據傳輸的安全性。
【專利附圖】
【附圖說明】
[0036]圖1為本發(fā)明的工作流程示意圖。
【具體實施方式】
[0037]為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0038]實施例
[0039]請參閱圖1,本發(fā)明公開了一種云存儲醫(yī)療數據的安全傳輸方法,包括以下步驟:
[0040]S1、獲取醫(yī)療數據
[0041]醫(yī)療數據包括醫(yī)療影像數據、檢驗數據、患者信息數據等醫(yī)療數據,醫(yī)療數據的可利用醫(yī)院現有的PACS系統(tǒng)、檢驗管理系統(tǒng)、HIS系統(tǒng)等醫(yī)療信息系統(tǒng)進行獲取。
[0042]S2、哈夫曼壓縮
[0043]對醫(yī)療數據進行哈夫曼壓縮,生成壓縮數據包和哈夫曼編碼包。該步驟具體通過以下方法實現:
[0044](I)統(tǒng)計醫(yī)療數據文件中每種字符出現的概率P (Si),i = 1,2,3,...,q,其中,q為醫(yī)療數據中含有的種類數,Si為第i種字符;
[0045](2)將q種字符作為q個信源符號,按出現的概率大小遞減排列;
[0046](3)用字符‘0’和‘I’分別代表概率最小的2個信源符號,并將這2個概率最小的信源符號合并成I個信源符號,從而得到只包含q-Ι個符號的新信源,稱為縮減信源SI ;
[0047](4)把縮減信源SI的符號仍按概率大小遞減次序排列,再將其最后兩個概率最小的信源符號分別用字符‘0’和‘I’表示,并且合并成一個符號,這樣又形成了 q-2個信源符號的縮減信源S2;
[0048](5)依次繼續(xù)下去,直至信源最后只剩下兩個信源符號為止,將這最后兩個信源符號分別用字符‘0’和‘I’表示;
[0049](6)從最后一級縮減信源開始,進行回推得到每種字符所對應的由字符‘0’和‘I’組成的字符串序列,作為偽碼字;
[0050](7)基于每種字符對應的偽碼字,建立一個映射,f (Si) = Ci,i = 1,2,3,...,q,其中,Si代表不同的字符,Ci代表與字符Si對應的偽碼字;
[0051](8)建立另一個映射,g (Ci) = = l,2,3,...,q,其中,Ci代表與字符Si對應的偽碼字,Oi代表與偽碼字Ci對應的碼字。利用該映射將每個偽碼字轉換成對應的二進制的碼字,從而獲得哈夫曼編碼表,即生成了哈夫曼編碼包;
[0052](9)對于醫(yī)療數據文件中的每個字符,找到在哈夫曼編碼表中與其對應的碼字,并用該碼字對其進行替換,遍歷醫(yī)療數據文件中的所有字符,從而完成了對醫(yī)療數據文件的壓縮,即生成了壓縮數據包。
[0053]S3、RSA公鑰加密哈夫曼編碼包
[0054]采用RSA算法的公鑰對哈夫曼編碼包進行加密,加密算法為C = Me mod n,其中,C為加密后的哈夫曼編碼包,M為加密前的哈夫曼編碼包。
[0055]本領域技術人員應該理解的是,RSA算法的公鑰和私鑰都是預先生成的,其具體通過以下方法產生:
[0056](I)取兩個互異的大質數P、q ;
[0057](2)計算 η = P X q ;
[0058](3)隨機選取整數e,且e與(p_l) X (q-Ι)互為素數;
[0059](4)選擇數d,使其滿足(eXd)mod[(p_l) X (q-1) ] = I,從而確定(n,e)為公鑰,(n, d)為私鑰。
[0060]S4、數據傳輸
[0061]將壓縮數據包以及加密后的哈夫曼編碼包傳輸到云端服務器。由于醫(yī)療數據是以壓縮包的形式進行數據傳輸,從而減少了數據傳輸過程中對網絡資源的占用,提高了數據傳輸的效率。
[0062]S5、RSA私鑰解密
[0063]采用RSA算法的私鑰對加密后的哈夫曼編碼包進行解密,解密算法為M = Cd modn,其中,C為加密后的哈夫曼編碼包,M為加密前的哈夫曼編碼包。
[0064]S6、哈夫曼解壓縮
[0065]基于解密后的哈夫曼編碼包,對壓縮數據包進行解壓縮。解壓縮的具體方法為:對于壓縮數據包中的每個碼字,找到在哈夫曼編碼表中與其對應的字符,并用該字符對其進行替換,遍歷壓縮數據包中的所有碼字,即完成了對壓縮數據包中的解壓縮,獲得醫(yī)療數據。
[0066]通過哈夫曼壓縮、解壓縮的具體過程可以看出,經過壓縮的醫(yī)療數據必須使用壓縮過程中形成的哈夫曼編碼包(即哈夫曼編碼樹)才能解壓縮。對于不同的醫(yī)療數據文件,由于文件內容的不同,形成的哈夫曼編碼包也不同。數據傳輸的過程中需要同時傳輸壓縮數據包和相應的哈夫曼編碼包。相對于壓縮數據包,哈夫曼編碼樹的節(jié)點數大大小于數據文件的數據量,如果只對哈夫曼編碼樹進行加密,加密和解密需要處理的數據量將大大減少,對于不對稱加密算法無法處理大量數據的限制也可被克服。在數據傳輸中需要傳輸的數據量比壓縮之前需要傳輸的數據量大大降低,可以節(jié)省大量的網絡資源。在大規(guī)模的數據安全傳輸中,可以提高數據傳輸的效率和安全性。
[0067]以上所述,僅為本發(fā)明較佳的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本【技術領域】的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應該以權利要求的保護范圍為準。
【權利要求】
1.一種云存儲醫(yī)療數據的安全傳輸方法,其特征在于,包括以下步驟: 51、獲取醫(yī)療數據; 52、對醫(yī)療數據進行哈夫曼壓縮,生成壓縮數據包和哈夫曼編碼包; 53、采用RSA算法的公鑰對哈夫曼編碼包進行加密; 54、將壓縮數據包以及加密后的哈夫曼編碼包傳輸到云端服務器; 55、采用RSA算法的私鑰對加密后的哈夫曼編碼包進行解密; 56、基于哈夫曼編碼包,對壓縮數據包進行解壓縮。
2.如權利要求1所述的一種云存儲醫(yī)療數據的安全傳輸方法,其特征在于,所述公鑰和私鑰通過以下方法產生: (1)取兩個互異的大質數P、q;
(2)計算η = P X q ; (3)隨機選取整數e,且e與(p-1)X (q_l)互為素數; (4)選擇數d,使其滿足(eXd)mod[(p_l)X (q-1)] = I,從而確定(n, e)為公鑰,(η,d)為私鑰。
3.如權利要求2所述的一種云存儲醫(yī)療數據的安全傳輸方法,其特征在于:所述加密的算法為C = Me mod η,所述解密的算法為M = Cd mod η,其中,C為加密后的哈夫曼編碼包,M為加密前的哈夫曼編碼包。
4.如權利要求1-3任一項所述的一種云存儲醫(yī)療數據的安全傳輸方法,其特征在于,在步驟S2中,所述哈夫曼壓縮通過以下方法實現: (1)統(tǒng)計醫(yī)療數據文件中每種字符出現的概率P(Si),i = 1,2,3,...,q,其中,q為醫(yī)療數據中含有的種類數,Si為第i種字符; (2)將q種字符作為q個信源符號,按出現的概率大小遞減排列; (3)用字符‘0’和‘I’分別代表概率最小的2個信源符號,并將這2個概率最小的信源符號合并成I個信源符號,從而得到只包含q-Ι個符號的新信源,稱為縮減信源SI ; (4)把縮減信源SI的符號仍按概率大小遞減次序排列,再將其最后兩個概率最小的信源符號分別用字符‘0’和‘I’表示,并且合并成一個符號,這樣又形成了 q_2個信源符號的縮減信源S2 ; (5)依次繼續(xù)下去,直至信源最后只剩下兩個信源符號為止,將這最后兩個信源符號分別用字符‘0’和‘I’表示; (6)從最后一級縮減信源開始,進行回推得到每種字符所對應的由字符‘0’和‘I’組成的字符串序列,作為偽碼字; (7)基于每種字符對應的偽碼字,建立一個映射,f(Si) = Ci,i = 1,2,3,...,q,其中,Si代表不同的字符,Ci代表與字符Si對應的偽碼字; (8)建立另一個映射,g(Ci) = ?pi = 1,2,3,...,q,其中,Ci代表與字符應的偽碼字,Oi代表與偽碼字Ci對應的碼字。利用該映射將每個偽碼字轉換成對應的二進制的碼字,從而獲得哈夫曼編碼表,即生成了所述哈夫曼編碼包; (9)對于醫(yī)療數據文件中的每個字符,找到在哈夫曼編碼表中與其對應的碼字,并用該碼字對其進行替換,遍歷醫(yī)療數據文件中的所有字符,從而完成了對醫(yī)療數據文件的壓縮,即生成了所述壓縮數據包。
5.如權利要求4所述的一種云存儲醫(yī)療數據的安全傳輸方法,其特征在于,在步驟S6中,所述解壓縮通過以下方法實現:對于壓縮數據包中的每個碼字,找到在哈夫曼編碼表中與其對應的字符,并用該字符對其進行替換,遍歷壓縮數據包中的所有碼字,即完成了對壓縮數據包中的解壓縮。
6.如權利要求1所述的一種云存儲醫(yī)療數據的安全傳輸方法,其特征在于:所述醫(yī)療數據包括醫(yī)療影像數據、檢驗數據以及患者信息數據。
【文檔編號】H04L1/00GK104394144SQ201410683018
【公開日】2015年3月4日 申請日期:2014年11月24日 優(yōu)先權日:2014年11月24日
【發(fā)明者】蔡志明, 全筱筱, 潘軍杰, 熊文舉, 郭岱琦 申請人:蔡志明, 全筱筱, 潘軍杰, 熊文舉, 郭岱琦