APP下载

基于分支混淆算法的隐私数据库自适应加密方法

2022-04-07骆春山谢委员李蓓蓓

计算机与现代化 2022年3期
关键词:等值加密算法密文

张 黎,骆春山,谢委员,李蓓蓓

(闪捷信息科技有限公司,浙江 杭州 311100)

0 引 言

数据加密是保障数据库内数据安全的重要途径。以往采用传统方式加密数据后,难以实现密文的有效检索,令密文数据计算较为复杂[1]。字符型、数值型数据的自适应加密方法极为重要。现代Web应用系统对于数据库的使用模式相对固定[2],可根据数据具体特性、使用方式选择使用特定加密方法,避免加密带来的效率问题。

不同加密方法的密文或使用方式特点存在较大差异。保序加密的密文仍保留明文顺序特征[3];等值加密的明文与密文相等;辅助全文检索加密需通过对明文进行分词,加密索引可支持全文检索[4-5]。

在目前已有的加密方法中,较为常用的为同态加密方法[6]以及混沌映射实现数据加密方法[7]。前者在容错学习假设下,设计了一种多私钥的全同态加密方法。该方法的核心思想是采用对偶加密的方式,在每一次解密运算时都产生一个“一次”私钥。攻击者即便能够通过查询得到该一次私钥的部分特征信息,但无法计算噪声的某些比特,因而不能计算出一个有效的私钥。通过这样的方式可以实现对数据的加密处理。后者基于二维Logistic混沌映射与DNA计算过程构建了一种自适应加密方法。该方法包括扩散和置乱2个过程。在扩散过程中,首先利用二维Logistic混沌系统产生伪随机序列和掩码,然后利用DNA编码规则对明文及掩码实施随机编码,在此基础上,通过DNA运算得到扩散编码。在置乱过程中,为抵御差分攻击,选择明文攻击,该方法建立了明文与密文间相关联的置乱结构,以扩散编码的DNA碱基数量为种子代入到二维Logistic混沌系统中形成伪随机序列,从而确定置乱顺序,再通过将置乱后的编码解码来得到密文,完成数据加密。尽管上述传统方法取得了一定的应用效果,但在利用传统加密方法保存敏感数据后,难以完成基于范围、匹配等条件的数据查询,导致其仍存在数据泄露的情况。

分支混淆算法是混淆技术中的重要部分,利用朴素贝叶斯分类器分类分支控制信息,针对分支信息选取合适的加密方法,保障隐私数据库的数据安全性。为此,本文提出一种基于分支混淆算法的隐私数据库自适应加密方法。该方法结合数据库使用状况和数据库自身数据,能够自动实施加密方案,加密后数据能够保持其可检索性。该方法收集应用程序对数据库的请求内容,记录日志,分析对具体字段的使用和操作方式,扫描数据库模式(Schema)、分表结构、字段类型、关联约束等实际数据特征,利用分支混淆算法确定数据库中字段的数据类型,据此选择不同加密算法。数值类型数据采用保序加密算法,等值比较类型的数据采用等值加密算法,文本类型数据采用分词辅助索引的加密算法。对数值型、时间类型、字符型等字段加密的同时,保留偏序特性和可检索特性。

1 自适应加密方法设计

1.1 隐私数据库数据特征分类

本文选取贝叶斯定理分类隐私数据库的数据特征,贝叶斯定理是解决先验概率与后验概率关系的重要定理。通过已知历史条件可获取在某事件概率时,所获取概率为先验概率,通过推导先验概率可获取后验概率[8-9]。后验概率是指基于固定条件下修正原结果的概率。

贝叶斯定理表达式如下:

(1)

其中,P(A)与P(B)分别表示事件A以及事件B的先验概率,P(A|B)与P(B|A)分别表示当事件A与B已知时,事件B与事件A的后验概率。

朴素贝叶斯分类器是贝叶斯定理中的高效算法,朴素贝叶斯分类器包括准备阶段、训练阶段以及计算阶段。样本属性通过准备工作进行划分[10],训练样本通过所划分样本的属性产生,完成准备阶段再利用训练样本计算差异类别样本出现概率与不同类别样本中各属性出现的条件概率。依据训练阶段所获取概率进行推理,推理待分类项来获取分类结果。

设存在某分类样本集,样本集合中随机属性将该分类设置为父节点,样本集中不同属性无关联[11-12]。用C={C1,C2,…,Cn}表示分类样本集合,集合中包含类别数量为n,S={A1,A2,…,Am}表示其中包含属性数量为m的待分类样本,采用朴素贝叶斯分类算法分类目标来获取P(Ci|S)的最大值。依据贝叶斯定理可知其求解公式如下:

(2)

针对随机分类的P(S)为相同状态,计算过程中仅需分析最大值分子即可。样本集S内各属性集合均为独立状态,可将公式(2)转化为:

(3)

样本集S在i=c时P(S|Ci)具有最大值,此时目标分类为c。

朴素贝叶斯利用已知信息获取最终分类结果,将其应用于隐私数据库中,可在程序语义无需修改情况下,修改程序特定模块,实现隐私数据库内数据混淆目的。采用朴素贝叶斯分类隐私数据库内数据属性时,可通过划分数据库内分支控制信息实现最终分类[13]。本文选取隐私数据库内关键分支语句,利用所选取关键分支语句临界点建立令该分支分别为成立状态以及不成立状态的范围集合,依据分类集合构造分类结果。

图1 朴素贝叶斯分类流程

在完成对样本集的构建后,训练所构建样本集,并计算样本集中不同属性以及分类概率。

针对隐私数据库中的分支语句,将朴素贝叶斯分类器输入值设置为待分类变量,朴素贝叶斯分类器的输出即为该样本集的分类结果。数据库中字段的数据类型主要包括数值类型、等值比较类型以及文本类型3种[14-15]。针对不同类型分支结果采用相应加密算法实现隐私数据库自适应加密,数值类型数据采用保序加密算法,等值比较类型的数据采用等值加密算法,文本类型数据采用分词辅助索引的加密算法。

1.2 保序加密算法

利用随机间隔的保序加密算法对隐私数据库中数值类型数据实施加密,该算法可实现隐私数据库内加密数据运算,该算法主要包括数据初始化、数据加密、数据解密以及数据还原4个部分。

设存在原始数据集用D表示,划分原始数据,将完成划分的数据利用映射函数映射至空间C内,实现数据分布隐藏,并调整数据分布概率[16]。依据密钥key以及空间C的大小获取数据初始间隔interval以及值域V={vmin,vmax}。平均划分值域V为n份,随机划分数据初始间隔为m份,再次计算vmin与vmax值,重复迭代以上过程,迭代过程中调整值域V的大小,完成l次迭代后,确定密文值范围为{xminx,xmaxx},依据随机数最终确定保序加密算法密文值。

保序数值数据是常见的数据方式,要确定其加密方案,需要通过分析数据库使用方式,确定其语义上数据类型[17-18]。保序加密算法包括记录数据、解析数据、分析数据3个步骤,结构如图2所示。

图2 保序加密算法结构图

记录数据是用来监听数据库和应用服务器间通信,过滤数据库协议相关的通讯数据。由于数据库服务器的通讯流量较大,需采用缓存机制。在磁盘上以文件形式保存,记录一段时间,使得其中数据包含应用程序对数据库使用的所有模式[19-20]。解析数据阶段是用来逐条读取保存的通讯记录,首先进行协议层面的解析,通过特定的数据库协议解析出相应SQL语句,然后对SQL语句进行词法分析、语法分析,最终形成语法树。基于此,分析数据阶段建立一个字段数据库,遍历语法树,语法树中节点包括表名、字段名、操作符等,通过遍历将发现的字段加入字段数据库,附加数据包括模式名、表名、操作方式等。循环解析数据,分析数据,将特定字段所有使用方式记录下来。

加密实施后,保序加密算法运行流程如图3所示。

图3 保序加密算法加密流程

接下来查询待加密目标数据库,遍历数据库中所有字段的定义,获取其属性、类型、约束、触发器等。综合前面2种类型分析结果,确定加密方案及其原则[9],除了考虑字段定义、语义特性外,还需要考虑其约束和触发器等。

1.3 分词辅助索引加密算法

分词辅助索引的加密算法对隐私数据库内文本类型数据实施加密时,需选取低频分词。本文利用Jieba算法分词操作明文,计算各明文权重,依据权重计算结果选取频率较低的分词。依据隐私数据库实际应用需求选取某分词作为文本段落索引时,需保障各段文本所选取分词均不相同,本文通过以上过程可保障所选取分词具有较高唯一性,且为出现频率最低的分词。

Paillier算法对隐私数据库内文本明文实施加密时,首先通过Utf-8方法转码明文数据,加密文本通常情况下为十进制,转码结果需同样为十进制数字。利用Paillier算法加密文本明文获取密文C,采用该算法加密文本时,容易出现密文结果相同情况[21-22],无法实现隐私数据库有效索引。将Hash算法应用于其中,排序文本中不同汉字位置,获取不同汉字位置编号N,将所获取位置编号与密文实施Hash运算,Hash运算表达式如下:

Hi=hash(Ni‖Ci)

(4)

其中,1≤i≤n。

通过以上过程,利用Hash算法避免完成加密后文本密文相同,影响解密效果。

1.4 等值加密算法

等值加密算法对隐私数据库中文本数据实施加密时,其中隐私数据库中等值检索是数据库操作中极为频繁的操作,而等值检索是等值加密算法中的重要过程。隐私数据库应用于等值比较数据加密的等值加密算法主要包括客户端操作以及服务器操作2个部分,其中客户端操作流程如下:

步骤1 生成数据的安全大素数P与Q,计算2个安全大素数的积并用N表示。

步骤2 生成应用于等值加密算法中的随机数Rx。

步骤3 通过加密密钥对满足用户检索条件的关键字实施加密,获取关键字密文如下:

Cx=X+P×sign(X)+Rx×N×sign(X)

(5)

其中,Ci与Ri分别表示隐私数据库内所存储的密文以及随机数。

步骤4 生成加密密钥判断条件T,计算公式如下:

T=nmod ((Cx-Ci),Q)=nmod (((X-Mi)+

P×(sign(X)-sign(Mi))),Q)

(6)

判断条件在X=Mi时为0,通过判断条件是否为0判断隐私数据库内是否包含等值检索条件[23-24],通过客户端完成隐私数据库等值数据的加密操作。

步骤5 将查询语句以及判断条件结果重新编写,设置隐私数据库内数据限制条件为T=0,将完成编写的语句发送至服务器。

服务器操作主要包含以下步骤:

步骤1 依据所接收的等值检索语句实施匹配操作。

步骤2 将符合用户需求的密文数据集传回至客户端,客户端对所传回密文数据集实施解密操作。

2 实例分析

为验证本文设计的基于分支混淆算法的隐私数据库自适应加密方法的可行性,选取某数据安全企业的隐私数据库作为测试对象,数据库数据大小共15.86 GB,数据库包含10个数据集,采用本文方法对隐私数据集中数据实施加密处理。

混淆变换的抗攻击性能可划分为极强、较强、中等、较弱、极弱5个等级,通过开发反混淆工具所需花费的时间开销以及自动反混淆工具所花费开销衡量抗攻击强度。利用混淆作用范围决定工具开发者开销,工具开发者所花费开销主要包括本地化、全局化、内部过程以及内部进程4个部分;依据自动反混淆工具开销可将其分为指数级时间级别以及多项式时间级别。统计本文方法混淆变换的抗攻击性能如表1所示。

表1 混淆变换的抗攻击性能

分析表1实验结果可以看出,采用本文方法对保密数据库实施加密处理,本文方法利用朴素贝叶斯分类器实现混淆方案,可有效抵抗不同类型攻击,具有较高的抗攻击性能,可满足保密数据库的抗攻击性能。

时间开销是衡量分支混淆算法的重要指标,时间开销决定了分支混淆算法使用程度和执行效率。数据库经过混淆后时间开销较高将影响加密方法使用性,分支混淆算法应具有较高实用性,提升其保护强度。本文方法实施分支混淆的平均时间开销统计结果如表2所示。

表2 平均开销对比

分析表2实验结果可以看出,相比于混淆前,分支混淆算法的时间开销增加较少,说明采用本文方法对隐私数据库实施加密,对时间开销影响较小。分支混淆算法时间开销受混淆迭代次数、加密方案等众多因素影响,本文方法仅需较小的时间开销,即可实现分支混淆算法计算,实用性高。本文方法采用朴素贝叶斯分类器实现分支混淆算法的计算,程序执行过程中即可完成训练,因此时间开销较低。

选取具有特征性的数据x作为原始分布,将满足y=log(x)的对数分布数据设置为测试对象。为让数据分布更加广泛,设置自变量x的数据范围区间为[1,8000],获取y值后取整,通过原始数据分布以及加密后数据分布检验本文方法加密性能,对比结果如图4所示。

(a) 原始数据分布

(b) 加密后数据分布图4 数据分布对比

分析图4实验结果可以看出,经过本文方法加密后数据与原始数据分布存在较大差异,说明本文方法可有效隐藏原始隐私数据库内数据分布特征。采用本文方法加密隐私数据库具有较高的安全性,可保障隐私数据库内数据安全。

在此基础上,为直观地验证本文方法加密性能,也为了避免实验结果的单一性,将本文方法与文献[6]方法以及文献[7]方法对比。统计分别采用3种方法后,在不同数据长度下的加密、解密时间以及检索时间,对比结果如表3所示。

表3 不同方法加密时间对比

分析表3实验结果可以看出,采用3种方法对隐私数据库内数据实施加密,不同方法加密、解密、检索时间均随着数据长度的增加而有所增加,呈正态分布。采用本文方法加密、解密以及检索隐私数据库内数据的时间开销在不同数据长度时均为最低,表明本文方法具有较高加密有效性,加密性能优越,可保障隐私数据库内数据安全。

本文采用3种方法对隐私数据库内数据集实施多次加密测试,采用攻击方法攻击隐私数据库,统计3种方法的加密性能,统计结果如表4所示。

表4 不同方法实用性对比

分析表4实验结果可以看出,采用本文方法可保障隐私数据库的安全性。相比于2种传统方法,本文方法不仅安全性高,复杂度低,且无信息泄露情况。本文方法可依据数据库内数据类型自适应调整加密策略,依据应用需求提升数据库内数据安全性,满足高等级安全性,提升应用性能。因此,本文方法可应用于众多应用环境中,可兼顾隐私数据库加密的安全性以及加密效率,可在实际加密应用中充分发挥其优势。

3 结束语

本文将分支混淆算法应用于隐私数据库自适应加密中,利用分支混淆算法将隐私数据库中的数据划分为文本、数值等类型,针对所划分不同类型数据选取相应的加密算法,提升隐私数据库加密性能。将本文方法应用于隐私数据库加密测试中,通过实验结果验证了所研究方法具有较高的加密性能,提升了数据安全性。同时经过加密后的数据分布与原有分布相差较大,可有效抵抗各类攻击,达到了理想的加密效果。

但本文方法目前只能做到对数据库中字段的数据类型的基分类,而如何为基分类过程赋予合适的权重来加强对数据的特征分析效果还需进一步研究。

猜你喜欢

等值加密算法密文
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
基于DES加密算法的改进研究
德国城乡等值化的发展理念及其对中国的启示
异步电动机等值负载研究
基于网络报文流量的协议密文分析方法
密钥共享下跨用户密文数据去重挖掘方法*
DES加密算法的实现
基于整数矩阵乘法的图像加密算法
基于小波变换和混沌映射的图像加密算法