?

基于混合加密算法的醫院信息系統秘鑰存儲管理

2022-04-20 11:15沈貝敏
微型電腦應用 2022年3期
關鍵詞:明文加密算法解密

沈貝敏

(上海市精神衛生中心,上海 200030)

0 引言

近年來國內的醫療質量以及醫療水平達到新的高度,這種高度充分反映在醫療數據較之于以往出現的爆炸式或高幅度增長上[1]。按照此種情勢來看,倘若繼續沿用醫院傳統醫療數據存儲模式,勢必會增大醫院建設成本,而這無疑與現代醫院追求信息化的發展趨勢相背離?;诋斚略茢祿旒夹g的迅速發展以及相關產品能夠充分解決醫院信息建設化難題的特點,因此,可以將該技術具體應用到醫院信息管理系統之中。其主要優勢表現在,既可以促使醫院獲得龐大的存儲空間,同時又可以通過減少硬件投入的方式降低醫院建設或運營的成本[2]。然而,云數據庫既給醫院建設提供便捷,也給醫院建設帶來風險。因此,將云數據庫應用到醫院信息系統的同時更需要應用相應的加密技術,以確保在醫院云數據庫中更好完成對醫療數據的加密存儲??梢哉f研究與元數據庫息息相關的數據加密技術,并在醫院信息管理系統中落實數據加密技術,既具有強大的社會需求又具有重要的社會意義。

1 基于P-AES算法的醫院信息系統的數據加密算法

1.1 AES加密算法

高級加密標準(AES)是繼數據加密標準(DES)算法以及彌補秘鑰長度過短的3DES 算法之后。新推出的加密標準[3]。當下均用高級加密標準算法替代數據加密標準算法。較之于DES算法,高級加密標準(AES)算法無論在加解密效率上還是在安全性層面上均取得巨大突破。該算法廣泛應用于各領域。簡而言之,高級加密標準(AES)算法是基于分組迭代的加密算法,該加密算法成分結合了靈活性與安全性以及效率與性能,抵抗現有攻擊方法效果顯著。其中,AES-128 加密與解密流程圖具體如圖1所示。

由圖1所示,加密流程為圖的左側,其內容主要涉及輪秘鑰加、列混合變化、行移位、字節替代等4個部分。解密流程為圖的右側,主要內容包括逆向列混合變換、逆向行移位、逆向字節替代、輪秘鑰加等4個部分。秘鑰擴展操作位于圖的中間,其主要作用在于生成輪秘鑰,且在操作執行輪秘鑰加時完成相應的子秘鑰傳入。高級加密標準算法的加密過程核心思想是在名為State的字節矩陣中添加128 bit的明文區塊[4],且在State中完成或者實現AES算法的所有操作。需要注意的是,在加密與解密過程中,唯一需要用到秘鑰的的操作是輪秘鑰加,此過程中的XOR操作通過State分組與當前輪數相對應的輪秘鑰完成。

圖1 AES-128 加密與解密流程圖

1.2 P-AES 算法

鑒于高級加密標準(AES)算法的優勢,此次研究選取AES-128算法。但是,將該算法具體應用到醫療數據時,發現該高級加密標準算法并不直接適于醫院信息系統。鑒于此,為了實現加解密效率的優化,通過對AES算法的體系結構、秘鑰擴展以及雙向列混合變換的運算過程進行優化,提出P-AES 算法,以此適用醫療信息管理系統。在體系結構上,此次研究借助于串行結構的AES算法,因此State分組的加密也是串行引入的。然而數據長度較小的明文信息才適用于串行結構,因此,此次研究提出并行結構的P-AES算法,其加密流程圖具體如圖2所示。

圖2 P-AES算法并行結構加密流程圖

應用AES算法的體系結構為串行結構可以同步完成處理State明文分組的操作。受此啟發,此次研究異步的方式完成處理State明文分組的操作,以此實現同時處理多個State明文組,同時避免而各組之間相互影響,即完成從串行結構的高級加密標準算法向并行結構的P-AES算法的變幻。由圖2可知,P-AES算法進行具體的加密與解密時,在State分組較少時,通過減少多余線程提升算法的執行效率,而在State分組過多時,可以通過同時處理多個分組以及使用多線程提升執行效率并以此優化加解密的耗時。

2 混合加密的秘鑰存儲體制與數據加解密程序

2.1 混合加密的秘鑰存儲體制

通過結合實際的醫院信息系統,以及為了實現醫護人員的便捷,對于P-AES算法的秘鑰的安全存儲此次研究選取記錄介質存儲法,核心思想即是在數據庫儲存P-AES算法秘鑰。其中,P-AES加密算法作為該方法的對稱加密算法,RSA算法作為該方法的非對稱加密算法,因此,此次研究選取的記錄介質儲存法是基于兩層秘鑰管理模式[5]。鑒于RSA算法的私鑰與P-AES算法同樣存在如何存儲的問題,且在數據庫直接存儲用戶的私鑰并不可取。此次研究分2部分進行秘鑰管理,一是P-AES算法的秘鑰存儲,二是對用戶私鑰的存儲。以此形成三級秘鑰管理機制的混合加密算法,統一實現數據加密秘鑰與用戶私鑰的有效管理。其中,數據加密過程具體如圖3所示。

圖3 數據加密過程

如圖3所示,假設醫院信息系統的數據庫用戶為n個,在數據表、數據庫以及字段的權限層面n個用戶具有差異,且非對稱秘鑰均勻分配到每個用戶中,即每個用戶均有公鑰與私鑰。其中n個數據庫用戶整體記為Usern。用戶公鑰記為PK,用戶的私鑰記為SKn。同時假設在表M中,用戶對全部字段擁有全部操作權限。加密字段Mi的屬性值為明文q。應用P-AES加密算法對Mi加密的秘鑰為K。用戶Useri對明文q加密,即可完成首次對Mi的屬性值q的加密存儲。其中,數據解密過程具體如圖4所示。

圖4 數據解密過程

具體如圖4所示,對明文q解密時,在M表中,由于加密時已保存用戶對Mi字段的秘鑰,因此具體解密時僅需完成秘鑰明文K讀取即可。鑒于選取非對稱以及對稱算法進行具體加密時必然要重新考慮新出現的秘鑰。因此,此次研究另外選擇具有不可逆特性的SHA-512加密算法對之重新儲存。

2.2 數據加解密程序

作為醫院數據庫與醫院信息系統之間橋梁的數據加解密程序,對于數據的加解密至關重要,并將得到的結果重新投入系統與數據庫。鑒于在加解密時此程序無具體的界面,因此只需對客戶端程序加密或者解密信息時調用即可。其中,數據加解密程序具體如圖5所示。

圖5 數據加解密程序

如圖5所示,數據加解密程序想要正常實現加解密操作,另外需要加解密模塊、數據庫操作接口、加密字典以及秘鑰管理的支持。其中,數據庫接口的主要作用體現在查詢數據庫中秘鑰以及加密字典的信息。維護加密字段的信息通過加密字典管理來實現,而在本質上加解密處理模塊則體現了P-AES算法的加解密算法。

3 結果分析

3.1 可行性分析

為了證明此次研究提出的加密算法的可行性與P-AES算法的效率問題,在平均時間上,此次研究對比分析了加密和解密10次的4種加密算法,其結果具體如圖6所示。

(a)加密時間對比

由圖6(a)和6(b)可知,使用3DES加密算法之后能夠增加DES的安全性,在耗時更長的情況下,其加密和解密,3DES加密算法最強,且由于AES算法耗時最少,故此次研究選取此加密算法。由圖6(c)和6(d)可知,較之于AES1與AES2算法,AES3耗時最少,故此次研究選取AES算法完成對數據的加解密操作。

3.2 AES優化對比分析

此次研究分別對比了P-AES算法與標準AES算法,并對之進行優化對比分析,同時考慮數據長度問題并對之進行分別驗證。具體實驗結果如圖7所示。

(a)短數據加密時間對比

由圖7可知,驗證短數據的加解密結果為圖7(a)和7(b)所示,而驗證長數據的加解密結果為圖7(c)和7(d)所示。通過優化對比分析可知,P-AES算法的加解密效率在長數據以及短數據兩個層面均高于標準AES算法。

3.3 擴散性與利用率對比分析

鑒于此次研究提出的算法最大程度上降低了能操作的次數,故需要在P-AES算法的擴散性和混淆性上進行對比分析,即需要完成在秘鑰不變時,通過生成密文的變化驗證此次研究提出算法的擴散性。同時需要在明文不變時通過觀察對密文結果驗證此次研究提出算法的混淆性。此外,鑒于AES算法為單線程的串行結構,優化后的P-AES算法為多線程的并行結構,因此需要對比分析2種加密算法的內存使用率與CPU使用率。具體結果如圖8所示。

(a)擴散性對比

由圖8可知,驗證對比2種算法的混淆性與擴散性結果為圖8(a)和8(b)所示,無論是標準AES算法抑或是P-AES算法,其密文改變位數保持在66位,故可以說明此次研究提出的優化P-AES算法并沒有因為減少輪操作次數而產生混淆性與擴散性。此外,由圖8可知,驗證對比2種算法的內存使用率與CPU使用率結果為圖8(c)和8(d)所示,隨著數據長度的不斷增大,2種加密算法的內存使用率保持在20%左右,故2種加密算法的內存使用率情況基本相同。但是,通過比較2種加密算法的CPU利用率,得出P-AES加密算法的CPU利用率更大。

3.4 加密后的安全性評價

最后需要完成對此次研究提出算法的安全性進行評價,因此實現保護患者隱私的要求。即保證查詢條件相同的情況下,在查找信息層面完成未加密與加密的耗時對比分析。具體結果如圖9所示。

秘鑰長度算法秘鑰個數每納秒執行一次解密所需的時間每納秒執行1萬次所需的時間56DES256≈7.2×1016255ns≈1.125年1小時125AES2128≈3.4×10382127ns≈5.3×1021年5.3×1017年1683DES2168≈3.7×10502167ns≈5.8×1033年5.8×1029年

圖9 加密與未加密2種情況的查詢耗時

由圖9可知,在信息條數不斷增加的情況下,雖然較之于加密,未加密的耗時低于加密,但是兩者耗時相差并不大,故可以不做考慮。另一方面,進一步對此次研究提出的3種算法進行安全性評價時,得3種算法均具有極高的安全性,故在保護患者的隱私層面甚佳。簡而言之,此次研究提出的3種算法或混合算法能夠保障醫院信息系統中醫療數據的安全性。

4 總結

為了能夠確保在醫院云數據庫中更好完成對醫療數據的加密存儲,此次研究在P-AES算法的基礎上提出了混合加密算法,以此提升醫療數據的加密和解密速度。研究結果表明,P-AES算法的加解密效率在長數據以及短數據2個層面均高于標準AES算法,且并沒有因為減少輪操作次數而產生混淆性與擴散性。同時在內存使用率和CPU使用率上優化后的P-AES算法效果更為顯著。最后,通過對比分析DES算法、AES算法以及3DES算法的安全性,得出3種算法均具有極高的安全性,故在保護患者的隱私層面甚佳。此次研究提出的3種算法或混合算法能夠保障醫院信息系統中醫療數據的安全性。

猜你喜歡
明文加密算法解密
解密電視劇 人世間
加密文檔排序中保序加密算法的最優化選取
炫詞解密
炫詞解密
炫詞解密
基于整數矩陣乘法的圖像加密算法
奇怪的處罰
教育云平臺的敏感信息保護技術研究
奇怪的處罰
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合