数据库敏感信息可变保序加密安全算法研究

2021-11-17 12:36吕海翠
计算机仿真 2021年9期
关键词:明文密文加密算法

吕海翠,郭 玲

(1.陕西科技大学镐京学院,陕西 西安 712046;2.陕西理工大学,陕西 汉中 723000)

1 引言

数据信息在生产和生活中表现出越来越重要的地位,无论是企业还是个人,产生的数据信息越来越多,这些数据通常被保存在本地数据库或者云端数据库。由于数据能够体现用户的基本信息和服务偏好,所以对敏感信息的保护很重要[1]。为降低数据被攻击篡改的风险,现在的通用做法是对数据进行认证、审计或者加密处理。带来的好处就是提高了数据信息安全性,同时,不计代价的安全处理也可能会造成数据访问的效率降低[2]。于是,如何能够在有效保护数据信息安全的同时,获得良好的数据访问速度[3],是数据库信息加密算法研究的难点问题。

何文才[4]等人在CAS框架基础上,提出了Logistic-Henon混沌加密。仿真结果表明,该方法能够防止内部威胁,但是存在一定程度的初值敏感。朱沙沙[5]在对一些独立算法优缺点分析的基础上,提出了融合3DES-RSA加密算法。仿真主要针对数据库存储和查询进行分析,没有对安全性进行具体说明。何文才[6]等人针对Andriod的SQLite提出了AES-128加密算法。该算法通过二轮密钥提升了AES的加密性能,且加解密效率也得到优化,但是只适用于Andriod移动设备本地。周艺华[7]等人为提高加密算法的查询效率,设计了优化mOPE算法。该算法过于注重数据库查询开销的优化,同样缺乏对算法安全性的考虑。周福才[8]等人设计了多层嵌套加密,可以实现多种SQL查询。该算法对用户的隐私性较好,但是多层嵌套导致了效率的下降。上述研究成果存在各自的优缺点,考虑到加密算法在敏感信息保护方面的优势,本文在保序加密基础上设计了可变保序加密,应用于明文域加密。消除了明文顺序相同对加密性能的影响,同时随机函数的非均匀特性和明文域等分有利于增强加密。随后针对敏感信息采取量子加密,并对加密过程进行了设计优化。整个加密算法充分考虑了数据库操作效率和数据信息安全性。

2 保序加密原理

传统保序加密算法是把密文和保序编码同时持久化到数据库中,为了确保安全,普遍遵循IND-OCPA规定。根据IND-OCPA标准要求,编码为明文的序列映射,也就是对编码的攻击过程中,仅可以获取明文顺序信息。但是如果存在排序一致的编码,明密文映射情况将会被破解。因此,还是具有很大的风险。于是,本文在保序加密的框架下,对明文数据进行加密设计,再持久化到数据库。

根据加密系统的元素,可以将加密模型描述为{P,M,K,A}。其中元素P={p1,p2,…,pn}为等差数列,用于表示明文域;M={m1,m2,…,mn}表示密文域,mi是Pi的映射;K表示密钥,利用K可以完成密文域的构造;A表示算法,通过A算法完成Pi至mi的映射,即加密过程,可以描述如下:

(1)

A算法映射过程中会形成结果集,需要在集合内选择出最终的加密结果。

3 可变保序密文域

为防止因明文顺序相同而影响加密性能,本文采取随机发生函数构建密钥,进而使明密文域形成统计差异。将随机函数表示为R(),通过R()可以获得l个任意数,并保证这l个任意数符合非均匀散布。在函数计算时,为加强非均匀特性,R()设计为如下非线性函数:

(2)

式中Pmax表示明文域最大值;Pmin表示明文域最小值;P表示明文域公差;0<ω<1表示权重系数;0

(3)

由于R()结果的非均匀分布,导致序列r呈现非等差。将r内的任意相邻元素ri和ri+1进行组合,得到区间为[ri,ri+1)。利用构造密钥ki,于是K的公式表示为

(4)

mi=map(K,p),i∈[1,n]

(5)

对于任意d∈P,需要确定d在等分后域中的位置,且对应区间内元素数量。当d对应区间内仅包含一个元素,输出密文map(Ki,pi)。整个保序加密处理流程描述如图1所示。

图1 可变保序加密

4 敏感信息加密

为了给数据库敏感信息提供更高级别的保护,对敏感信息采取二次加密。设定明文域中一共包含m条敏感信息,在构造其密钥的时候,引入量子计算。得到对应的量子纠缠态,表示如下

(6)

(7)

将明文域中敏感信息对应的编码表示为U={u1,u2,…,ui}。结合密钥生成函数,得到其加密稀疏程度为OU=-U/G,密钥生成时的振荡函数表示为

V=R(x)+λb

(8)

式中R(x)表示非线性随机函数;λ表示振荡因子;b表示编码因子。设定原始加密矩阵为E,采取加密处理后有

(9)

Jij=E(β+Di/Ki)

(10)

这里的β表示解密系数;Di表示敏感信息数量;ki表示解密密钥数量。依据式(10)可以获得解密密钥的特征,结合加密过程中的模糊状态,可以计算出加密传函如下

(11)

式中i∈[1,m];T表示检测周期。如果模糊状态ai大于零,即有传函结果大于等于所有模糊状态之和,说明对应的密钥有效,此时可得传递密钥表示为

(12)

式中f′表示敏感函数;χ表示融合特征;ωχ表示χ的权重系数。至此,便完成了敏感信息的整个加密过程。对应的流程描述如图2所示。

图2 敏感信息加密

5 实验与结果分析

5.1 实验环境设置

在实际使用中,很多时候采用多条数据同时管理,这种情况下一般存在若干个字段。要想获得最好的数据安全性,应该采取一次一密的方式存取。于是,基于提出的数据库敏感信息可变保序加密算法,通过JaVa编程来实现。同时还实现了mOPE算法模型,与本文算法进行比较。关于构建安全算法模型的环境及参数如表1所示。

表1 实现环境及参数

实验过程中,在Mysql中通过批量操作商品信息产生包含1万条数据的测试表,每条数据包含12个字段。为模拟敏感信息,设定“商品ID”、“分类ID”、“创建人”和“修改人”字段为敏感信息。数据表信息的具体描述如表2所示。

表2 测试数据表

5.2 效率分析

对加密安全算法的效率进行实验分析,分别从加密时间、数据插入时间以及查询时间三个方面考虑。利用mOPE算法对测试数据进行加密,同时利用本文算法对测试数据进行可变保序加密和对敏感信息加密。实验过程中,分别得到1000条数据与5000条数据两种情况下,不同算法的加密时间。每组情况的最终结果为多次实验的平均值,每次从数据库中随机抽取测试数据。加密时间结果如表3所示。

本文加密安全算法一共由两部分组成:可变保序加密和敏感信息加密。经过表3中的时间对比可以发现,可变保序加密阶段完成的任务量与mOPE加密的任务量基本是一致的,mOPE算法采用二叉树完成明文序列,本文采用等差数列完成明文序列,加之明文域的等分处理提高了加密效率,使得可变保序加密过程比mOPE加密用时有所降低。虽然本文方法增加了对敏感信息的加密处理,但是敏感信息计算复杂度不高,使得对总加密时间的影响不是很大。在1000条数据和5000条数据情况下,仅比mOPE加密模型用时多了2.2ms和13ms。

表3 加密时间比较

向测试数据表中插入数据,插入数据量从1000至10000,得到两种算法的插入时间,如图3所示。经过曲线对比可以发现,本文算法的插入时间较mOPE明显缩短,这是因为本文算法无需遍历二叉树,也无需对所有数据形成新密钥。

图3 插入时间比较

对测试数据表进行查询操作,查询数据量从1000至10000,得到两种算法的查询时间曲线,如图4所示。对比可以发现,本文算法在查询数量增加时,查询时间较mOPE也有明显降低,说明加密安全算法具有更高的查询效率,更适合批量处理。

图4 查询时间比较

5.3 安全分析

为描述加密算法的安全性,通过抗攻击度进行衡量。该指标描述了加密处理时数据的抗扰程度。抗攻击度越高,代表加密算法的安全性越高。通过模拟得到10次攻击对应的抗攻击度结果,如图5所示。经过比较可知,mOPE算法的抗攻击度平均为82.66%,本文算法的抗攻击度平均为93.23%,较mOPE有显著提升。这是由于本文在可变保序加密算法基础上,对数据库敏感信息采用了量子加密,提高了加密的稳定性。

图5 抗攻击比较

为表述对数据库敏感信息的保护程度,通过对敏感信息披露率衡量加密算法性能。披露率越低,代表对敏感信息的保护效果越好。模拟得到10次攻击对应的敏感信息披露结果,如图6所示。比较可以发现,mOPE算法的披露率大部分处于10%以上,经过本文算法加密后,披露率大幅缩减,整体不超过5%,敏感信息能够得到有效保护。

图6 敏感信息安全比较

6 结束语

为了增强数据库信息的操作性和安全性,本文将数据库信息采用两次加密。第一次对整个明文域进行可变保序加密,第二次对敏感信息进行量子加密。基于批量操作产生包含1万条数据的数据库测试表,分别从效率和安全性两方面对加密算法进行性能验证。通过Mysql数据库的实验,得到如下结果:

1)本文方法的加密时间基本与mOPE相差无几,插入时间和查询时间则明显优于mOPE,当操作数据量为10000时,插入时间为420ms,查询时间为37ms。

2)本文方法的抗攻击度可达93.23%,敏感信息披露率仅为4.14%。

实验结果充分表明本文方法能够获得更好的加密效果,对数据库敏感信息具有更好的保护性能;并且获得了良好的数据插入和查询速度,操作效率得到显著提升。

猜你喜欢
明文密文加密算法
一种支持动态更新的可排名密文搜索方案
加密文档排序中保序加密算法的最优化选取
一种新的密文策略的属性基加密方案研究
一种抗攻击的网络加密算法研究
奇怪的处罚
教育云平台的敏感信息保护技术研究
条件型非对称跨加密系统的代理重加密方案
一种改进的加密算法在空调群控系统中的研究与实现
奇怪的处罚