基于混合加密算法的医院信息系统秘钥存储管理

2022-04-20 11:15沈贝敏
微型电脑应用 2022年3期
关键词:明文加密算法解密

沈贝敏

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

0 引言

近年来国内的医疗质量以及医疗水平达到新的高度,这种高度充分反映在医疗数据较之于以往出现的爆炸式或高幅度增长上[1]。按照此种情势来看,倘若继续沿用医院传统医疗数据存储模式,势必会增大医院建设成本,而这无疑与现代医院追求信息化的发展趋势相背离。基于当下云数据库技术的迅速发展以及相关产品能够充分解决医院信息建设化难题的特点,因此,可以将该技术具体应用到医院信息管理系统之中。其主要优势表现在,既可以促使医院获得庞大的存储空间,同时又可以通过减少硬件投入的方式降低医院建设或运营的成本[2]。然而,云数据库既给医院建设提供便捷,也给医院建设带来风险。因此,将云数据库应用到医院信息系统的同时更需要应用相应的加密技术,以确保在医院云数据库中更好完成对医疗数据的加密存储。可以说研究与元数据库息息相关的数据加密技术,并在医院信息管理系统中落实数据加密技术,既具有强大的社会需求又具有重要的社会意义。

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种算法或混合算法能够保障医院信息系统中医疗数据的安全性。

猜你喜欢
明文加密算法解密
解密电视剧 人世间
加密文档排序中保序加密算法的最优化选取
炫词解密
炫词解密
炫词解密
基于整数矩阵乘法的图像加密算法
奇怪的处罚
教育云平台的敏感信息保护技术研究
奇怪的处罚