基于区块链的敏感数据库属性加密算法

2024-03-01 08:39程大勇
通化师范学院学报 2024年2期
关键词:敏感数据密钥加密

程大勇

数据安全是当前信息技术领域的一个重要课题,也是许多专家、软件工作者共同关心的问题.目前的信息化环境下,所有的数据都是通过数据库进行储存和处理,因此,数据库的安全性就是最终的保障[1].虽然当前大多数主流的数据库产品都具备了比较完备的安全保护措施,但随着软件系统的日益复杂化,一些漏洞也随之显现,导致数据库的安全性问题频发[2−5].一旦使用者将资料上传至云端服务器,便会丧失对资料的实际控制权,资料的安全性则由云端服务器决定.所以,常规的技术和方法只能提高黑客攻击云服务器的难度,很难从根源上阻止用户的信息泄露[6].因此,为避免云端数据出现泄露风险,保持数据库的机密是至关重要的.

刘格昌等[7]介绍了一种以可检索密码为基础的区块链密钥保密机制.利用区块链技术对关键资料进行存储,能有效地阻止明文信息的泄露.通过引入双线性图的数学性质,构建一个区块链码的交易单,并在该交易单中添加一个密钥,以实现对关键字的检索.使用者可以利用可搜寻的私有密钥建立特定的关键字搜寻.此方案在个人健康数据区块链中应用,可有效地避免个人健康资料泄露问题,在11.23 s 内完成2 400 字的检索.张人上等[8]针对扩展频谱通信中存在的问题,提出了一种新的基于混沌的多源异质信息加密方法.基于多源异构的混沌映射,在混沌图的路径上,建立了多源异构的混沌序列,并由Merlay状态机对其进行控制.在控制过程中给出一个子键发生的信号,在时间限制下通过特殊的阈值功能生成子键,然后使用该子键对多源异构的数据进行正向、反向异或和模式化,从而完成多源异构的扩频异构信息编码.实验结果显示:+10−13 的密钥误差不能对正确的资料进行解码;图像和音频数据加密后相关性显著降低;该算法的编码时间从16.451 s到18.630 s 不等,均在上限以下.

基于以上研究背景,本文将区块链技术应用到敏感数据库属性加密算法中,从而提高敏感数据的安全性.

1 敏感数据库属性加密算法设计

1.1 检索敏感数据库属性

在加密敏感数据库的属性之前,先按照顺序对敏感数据库的属性进行储存[9],通过计算检索关键词出现的概率,实现敏感数据库的属性检索,具体步骤如下:

Step1:在敏感数据库中,采集属性信息pi,经过文档转换之后,获取敏感数据库属性的信息层次,将其表示为:

其中:y代表敏感数据库属性信息的表征,Ωy代表不同属性信息之间产生的映射集合,℧y代表敏感数据库中属性信息的聚类中心,ϕ代表敏感性属性在敏感数据库中所占的比例.

Step2:分类处理敏感数据库的属性信息,建立属性检索格式,即:

其中:Uk表示敏感数据库中属性信息的类别函数,φ(k)表示敏感数据库中存在k种敏感属性的概率.

Step3:假设数据库中敏感属性为S,将其划分为Si={s1,s2,…,sn},保证敏感 属性满足任意两个数据的划分.

Step4:将敏感数据库属性信息的划分函数定义为f(sn),该函数可以将敏感属性sn分为两个类别[10],而且可以保证每一个类别中的敏感属性值都比最初设定的阈值大.敏感数据库中敏感属性划分的期望值为qi(qi∈sn),计算公式为:

其中:(qs−qi)表示敏感数据库属性信息检索的范畴参数,ℓ表示敏感数据库属性信息的值,i表示敏感数据库属性的方位向量.

Step5:根据敏感数据库中敏感属性划分的期望值,构建敏感数据库属性的检索序列[11],即:

其中:Φ(k,b) 表示敏感数据库属性在检索过程中的时间序列表示敏感数据库属性检索的时间间隔.

Step6:利用敏感数据库属性的检索序列,建立敏感数据库属性集合,表示为:

根据以上过程,检索出敏感数据库的属性,为敏感数据库中重复属性的删除提供依据.

1.2 删除敏感数据库内的重复属性

根据敏感数据库属性的检索情况,删除敏感数据库内的重复属性.假设R=[R1,R2,…,Rk,…,Rn]T表示待删除的重复属性样本集合,为了保证敏感数据库的安全性,通常将备份的属性保存在远程终端[12],得到变换处理后的属性信息,即:

其中:G−a代表变换处理算子.如果敏感数据库内的属性信息存在非高斯性,通过公式(7)计算出属性信息的混合累积情况:

其中:K表示敏感数据库内属性信息的带宽,g(j)代表滤波函数,j表示敏感数据库的属性信息,ε表示敏感数据库中存在非高斯性的属性信息.

采用Fourier 变换方法[13],对敏感数据库的属性特征进行累积,实现敏感数据库属性信息之间分配关系的配比,利用式(8)可以得到期望输出,即:

其中:HO代表分配敏感数据库属性信息之间关系的配比,k代表属性信息的训练样本数量,J代表总训练样本数量.

根据敏感数据库属性信息之间分配关系的配比[14],可以得到删除重复属性的输出,即:

通过敏感数据库属性信息的变换处理,计算出属性信息的混合累积情况,根据敏感数据库属性信息之间分配关系的配比,删除敏感数据库内的重复属性.

1.3 设计敏感数据库属性加密算法

将敏感数据库内的重复属性删除之后,区块链可以通过对敏感数据库属性进行加密[15],达到保护敏感数据库的目的.假设s−Key代表区块链生成的私有密钥,g−Key表示区块链生成的公有密钥,每个区块的产生速率会对区块链的安全产生影响[16],如果利用V表示每个区块的产生速率,可以反映出每次组队所需的工作负荷与期望结果.每个区块的产生速率与区块链的安全程度呈现相反的关系,因此可以使用1/V描述区块的安全程度.假设B表示一个区块链中的交易量,σs表示区块的尺寸,td表示每个加密回合所用的时长,其关系可以表示为:

区块在敏感数据库中生成的时间间隔为ti,与每个加密回合所用的时长之间属于正比例关系[17],因此将上式改写为:

通过上式可以发现,区块链中的交易量、区块在敏感数据库中生成的时间间隔和区块的尺寸都会影响敏感数据库的安全性[18].

区块在敏感数据库中生成的时间间隔与区块的尺寸之间存在着如下关系:

其中:N表示敏感属性在敏感数据库中的平均尺寸,B*表示单位时间内敏感数据库中某一属性的检索数量,F(X,V)表示敏感数据库中敏感属性的聚类函数.

根据每个加密回合所用的时长、区块的尺寸、区块链中的交易量、区块在敏感数据库中生成的时间间隔与区块链安全性之间的关系,合理调整其中一个指标,通过私有密钥和公有密钥完成敏感数据库属性的加密.

2 实验分析

2.1 搭建实验平台

为了验证文中算法在实际应用中的性能,采用DRM 系统作为测试平台,对DRM 系统的敏感数据库进行属性加密,实验平台页面如图1 所示.

实验过程中,选择Windows7 操作系统执行实验平台,实验平台运行的环境参数如下:

硬件环境:PC 主频2 GHz.

处理器:Intel(R)Core(TM)2 Duo T6500 2.10 GHz 的CPU.

内存:4 GB.

编程环境:Eclipse+Oracle9 数据库.

2.2 实验数据

实验所使用的数据来自某一大型企业员工的基本信息,以员工的姓名、电话、电子邮箱和月基本工资共同组成敏感数据库,在敏感数据库中,一共包括5 000 份员工基本信息的敏感数据样本,选择其中1 000 份敏感数据样本用于实验测试,其中部分敏感数据如表1所示.

表1 实验数据样本

通过对敏感数据库的属性进行加密,可以保证表1 中员工基本信息的敏感数据具有较高的安全性.

2.3 加密效果测试

分别在噪声干扰和滤波干扰下,模拟恶意攻击行为,对敏感数据进行攻击,采用文中算法对敏感数据库的属性进行加密之后,测试了攻击拦截比例,结果如图2 所示.

图2 攻击拦截比例测试结果

由图2 的结果可知,文中算法在区块链的支撑下,对员工基本信息的敏感数据进行加密之后,不会受到噪声和滤波的干扰,对攻击的拦截比例均在80%以上,说明文中算法对敏感数据库的属性加密效果较好.

2.4 性能对比分析

为了突出文中算法在敏感数据库属性加密性能中的优势,引入基于可搜索加密的算法和基于混沌系统的算法作对比,进行安全性测试和鲁棒性测试.

2.4.1 安全性对比

安全性测试中,以DRM 系统为依据,测试敏感数据遭受攻击的成功率,结果如图3 所示.

图3 攻击成功率测试结果

由图3 的结果可知,当敏感数据库的属性被攻击的时候,利用基于可搜索加密的算法对敏感数据库的属性进行加密,使得攻击者的成功率超过了25%,原因是可搜索加密对敏感数据库的属性搜索存在一定误差,导致攻击成功率偏高,降低了敏感数据库的安全性;采用基于混沌系统的加密算法时,对敏感数据库的属性加密之后,攻击成功率虽然有所下降,但是仍然超过了20%;然而采用文中算法对敏感数据库的属性加密时,攻击成功率可以控制在10%以内,提高了敏感数据库的安全性.

2.4.2 鲁棒性测试

敏感数据遭受攻击之后,利用信息损失率衡量加密的鲁棒性,结果如图4 所示.

图4 敏感数据的信息损失率测试结果

从图4 的结果可以看出,当敏感数据受到攻击之后,会出现信息损失严重的现象,采用基于可搜索加密的算法和基于混沌系统的算法时,随着敏感数据量的增加,其信息损失率也在不断增加,说明这两种方法会导致敏感数据的信息大量损失,造成敏感数据的质量下降;而采用文中算法时,由于使用了区块链,随着敏感数据量的增加,虽然敏感数据的信息损失率有上升的趋势,但是始终在20%以内,说明文中算法通过引入区块链可以保护敏感数据的安全性.

3 结语

本文研究将区块链应用于敏感数据库属性加密算法设计,通过实验测试发现,该算法具有较好的加密效果和性能,可以保护敏感数据的安全性.但是本文的研究还存在诸多不足,在今后的研究中,应考虑到用户之间的可信度因素.对于可信用户而言,由于不同的用户需要不同的密钥,所以要对密钥的设置进行特殊处理;对于不可信用户而言,多密钥管理值得进一步研究.

猜你喜欢
敏感数据密钥加密
探索企业创新密钥
干扰条件下可检索数字版权管理环境敏感数据的加密方法
密码系统中密钥的状态与保护*
实现虚拟机敏感数据识别
基于透明加密的水下通信网络敏感数据防泄露方法
一种基于熵的混沌加密小波变换水印算法
基于4A平台的数据安全管控体系的设计与实现
一种对称密钥的密钥管理方法及系统
基于ECC的智能家居密钥管理机制的实现
认证加密的研究进展