APP下载

关于云数据的多关键字权值安全查询仿真研究

2021-11-17李晓会白雨靓

计算机仿真 2021年3期
关键词:关键字权值近义词

李晓会,白雨靓,刘 峰

(1.辽宁工业大学电子与信息工程学院,辽宁 锦州 121001;2.中国科学院沈阳计算技术研究所,辽宁 沈阳 110168)

1 引言

云存储为用户的文件持久化提供了便捷可靠的实现方案,为了保护数据隐私,存储到云服务器的文件将会被转换为密文形式[1],安全性提高的同时,也带来了数据查询困难的问题。如何精确高效查询数据,同时又防止信息泄露[2-4],是当前研究面临的主要难点。

文献[5]针对密文查询效率,设计了属性基安全查询方法,利用属性基加密增强索引的描述性,该方法具有良好的隐私保障,但是查询精度欠佳;文献[6]引入合数阶双线性群对数据进行加密,并通过两级系统完成数据的查询任务,该方法着重优化查询的安全性,虽然密文长度减小,但是两次线性运算仍然无法保证多关键字查询时的效率;文献[7]针对关键字设计了相关度计算,根据排序情况截取相关度较好的文件作为查询结果,同时采用虚假陷门对保护数据安全,该方法实现了关键字模糊查询,但是由于没有考虑关键字的特性,查询结果精确度较差;文献[8]针对语义与容错问题,利用输入关键字的模糊音与近义词设计了模糊查询,同时引入了伪随机函数来管理私钥,取得了较好的查询精度与安全性。现有方法大多基于多关键字的模糊查询进行相应的改进优化,但却忽视了用户输入的多关键字彼此之间可能存在的主次和语法相关性,因此本文提出关键字权值计算,控制查询的倾向。另外由于现有关键字扩展方法针对的是所有关键字,导致计算向量与构建时间大幅增加,查询结果精确性能下降,为此,提出了核心词扩展方法。另外,设计了子矩阵加密与索引动态更新,增加了查询安全性的同时,也有效控制了算法复杂度。

2 云数据安全查询模型

如图1所示,云存储数据安全查询系统通常可以划分为三个部分,包括云服务器,数据用户与授权用户。数据用户首先把需要上传到云系统上的文件F=(f1,f2…fm)采取加密处理,得到结果C=(c1,c2…cm),然后从文件中抽取出包含的关键字W=(ω1,ω2,…ωm),并利用其建立陷门和索引,最终将其传入服务器。服务器负责存储文件,以及利用索引查询出用户密文。而授权用户会通过请求取得陷门对应的密钥,从而查询出服务器中的密文。

图1 云存储数据安全查询系统描述图

3 多关键字扩展权值的安全密文查询设计

3.1 多关键字的权值计算

用户输入的查询关键字,在主次和语义方面通常具有一定的区别和联系,也各自具有不同的查询重点,因此,这里引入权值来描述每个关键字的重要程度。假定系统将任意关键字ω的原始重要程度默认是1,在输入的其它关键字中,如果ω1其具有语法相关性,则ω此时的重要程度应该提升至1+r(·),增量表达式为

(1)

式中,d代表ω与ω1对应的语法距离,d1代表ω至公共节点的最小距离。假定系统输入的原始关键字集合表示为Q={ω1,ω2,ωn},则查询关键字的累计权值是n,于是其中任一关键字ω的权值表达式可以描述为

(2)

3.2 扩展查询核心词

输入的关键字集合中,每一个关键字都可能存在一个或多个近义词,考虑到近义词模糊 搜索可以增加查询的完整性,这里设计扩展查询方法,但是如果对所有关键字都进行近义词的检索,则会产生大量的扩展关键字,从而需要大量的陷门去处理,这无疑提高了查询开销,因此,这里首先确定关键字集合中的核心词,然后针对核心词采取近义词扩展,降低查询次数的同时,也避免了出现大量无用查询结果。利用前述方法计算得到每个关键字的对应权值,即可表示各自在结果查询时的重要程度,将权值进行排序,从中截取若干权值较大的作为查询核心词扩展。

在确定查询核心词后,对核心词进行语义扩展,此时需要计算出扩展词的对应权值。这里,采取语义相似度作为权值计算的基础,即先要得到扩展的近义词和核心词之间的相似程度,影响相似度的主要因素为编辑距离和特征信息,因此相似度计算公式设计如下

fsim=adwi+(1-a)iωft,f

(3)

其中,dw′i表示扩展词ω′i与ωi的编辑距离,iωft,f表示特征信息,它的计算公式为

(4)

式中ftt,f代表词项特征信息量,通过文件特征计算得到,根据相似度公式,由于编辑距离dw′i的范围不超过检索出的文件数量,且iωft,f∈(0,1),所以,在计算相似度时,应该保证dw′i的权值高于iωft,f。

3.3 空间向量转换

在采用关键字查询云数据时,需要在向量空间进行实现,即将索引与查询信息建立为空间向量,因此,这里针对索引向量与查询向量依次进行处理。将查询文档集内所有文档分别标记为具有nbit元素的向量Ii,n表示文档中包含的关键字数量,如果Ii中的某关键字出现在字典内,就将Ii中该关键字设置成1,反之设置成0,从而将索引转换为向量形式。当得到一组输入关键字时,也将其标记为具有nbit元素的向量Q,如果其中某关键字出现在字典内,就将Q中该关键字设置成1,否则设置成0。据此,完成查询输入的空间向量转换,通过空间向量的操作,完成输入查询与文件索引的相关处理。

3.4 相关性操作

当系统输入查询关键字后,要将每个关键字对应的权值追加在查询向量内,同时,在追加过程中将关键字采取排序处理。考虑到关键字的重要程度,根据相关性来做序列重排,比较查询向量,当其中的元素出现在字典时,把该元素对应位置的1改写成它的权值,而通过查询与索引内积计算可以得到累计权值,由于相关性分别受关键字权值与相似度影响,于是将相关性公式描述为

(5)

根据该公式,便可以计算得到查询与索引之间的相关性。

3.5 密钥操作

在对加密的云存储数据进行查询时,引入子矩阵来产生密钥,从而使系统能够动态更新处理。首先利用最近加入字典里的Z个关键字组成z×z矩阵Mz和Mz′,同时组成zbit向量Sz;然后根据Mz、Mz′和Sz更新得到矩阵:

由于处理矩阵被切割成易于计算的子矩阵,在动态更新时,不仅能够保证加密安全性,而且能够改善加密处理的效率。以n维矩阵为例,它的复杂度是o(n2),当拆分成两个n/2维子矩阵后,其复杂度是o(2*(n2/2))=o(n2/2),可见复杂度被压缩了一半。

4 多关键字扩展权值安全查询流程

1)初始化密钥:云存储系统针对字典里的关键字矩阵与向量产生相应的密钥,描述为K(M1,M2,S),这里的M1和M2均为可逆矩阵,且维度为(n+u+1)×(n+u+1),n代表关键字个数。

(6)

(7)

3)扩展查询向量:针对系统输入查询向量Q={ω1,ω2…ωi},采取权值计算,同时筛选出其中的核心词,搜索出其近义词构建得到新查询向量Q′={ω1,ω2,…ωi+z}。

(8)

于是,经过加密处理后的查询向量表示为

(9)

这里,采用加密后的Enc_sk(Q)构建安全陷门。

5)查询:查询过程中,通过求解查询与索引的内积,得到查询的匹配程度,计算如下:

(10)

为了保证安全性,εi为随机数,且服从正态分布,σi表示标准差,它用于调剂查询精度与查询安全。根据该公式,可以判定文件与查询关键字的匹配性,从而完成查询任务。

5 仿真分析

仿真采用Enron数据集作为查询文件集,它具有的文件数量达到了11008个,并基于Java与大数据处理框架的Storn实现安全查询算法和功能。为了有效验证本文方法的性能,引入文献[8]中的关键字模糊查询作为对比,分别从查询精度,安全性,以及时间效率三方面进行仿真与结果分析。

5.1 查询精确度结果分析

查询精度是衡量查询性能的首要指标,因此首先通过仿真验证本文方法的查询精确度。假定以Pk代表查询精度,则它的计算公式为

PK=k′/k

(11)

其中,k′为查询结果里的正确文件量,k为云存储系统中的全部文件量。通过仿真,得到查询精度与文件规模之间的关系,如图2所示。根据结果曲线可知,本文方法的查询精度基本不受文件规模的影响,而且查询精度显著高于对比方法,始终在90%上下轻微波动。这是由于方法在查询过程中,采用了多关键字权值技术,通过权值确定核心词,并对其进行扩展,合理的分配了各关键字对查询结果的影响程度;同时还采用了匹配程度计算,通过该计算中的σ来调剂查询精度,当合理降低σ值时,即可避免精度受干扰。

图2 查询精度实验结果曲线

5.2 查询安全性结果分析

(12)

图3 查询安全性实验曲线

根据图3结果分析可知,随着文件规模的增加,各方法的安全性都受到相应的影响,但是本文方法的受影响程度最小,安全性始终保持最好,且下降很慢。其原因是由于加密过程中设计了匹配度计算,通过调节σ值,可以有效保护排序信息,而且设计了子矩阵拆分与动态索引更新,提高了加密处理速度,也使得索引能够符合各种情况的隐私需求。

5.3 查询时间结果分析

为了验证本文方法对于云数据查询的高效性,在保证字典参数N=5000不变的前提下,首先只改变云存储文件规模的大小,仿真得到查询时间与文件数量之间的关系,如图4所示。根据实验曲线可知,各方法对于云数据的安全查询效率均受云存储数文件数量的多少影响,但是在同一文件规模下,本文方法的执行时间要优于对比方法。导致该结果的原因是:各方法都需要对文件建立索引,而文件规模的增加导致索引向量的增加,算法复杂度随之增加,但是由于本文方法提出了核心词扩展,无需像对比方法一样搜索出所有关键字的近义词,大幅度节省了查询时间;另外在查询加密的过程中设计了子矩阵拆分,直接将原始矩阵加密处理的复杂度降低了一半,从而有效提高了查询效率。

图4 查询时间与文件数量之间的关系曲线

在只改变查询关键字数量的情况下,通过仿真得到查询时间与关键字数量之间的关系,如表1所示。根据表中结果数据可知,各方法对于云数据的查询效率基本不受查询关键字数量的影响,但是本文方法的执行时间具有明显优势。导致该结果的原因是:在查询过程中,各方法都是基于向量内积计算,由于关键字数量的改变并不影响向量维度,所以不会影响到查询执行的时间。

表1 查询时间与关键字数量之间的关系

6 结束语

为了提高云存储数据的查询性能,基于现有研究结果及存在的问题,提出并设计了多关键字扩展权值安全查询方法。考虑到用户输入的多关键字可能存在的主次倾向和语义联系,计算出各关键字的相应权值,并基于权值搜索出其中的核心词,对核心词采取语义扩展,增加搜索范围的同时,也避免了对所有关键字扩展可能出现的高负载。在加密处理时,设计了子矩阵拆分方法计算密钥,并引入索引动态更新机制,提高查询安全性的同时也有利于查询的效率。通过仿真结果,表明多关键字扩展权值查询方法能够有效提高云加密数据的查询精度与查询效率,同时显著改善隐私数据查询的安全性。

猜你喜欢

关键字权值近义词
履职尽责求实效 真抓实干勇作为——十个关键字,盘点江苏统战的2021
怎样辨析近义词
成功避开“关键字”
找找近义词
财务风险跟踪评价方法初探
基于洪泛查询的最短路径算法在智能交通系统中的应用
智能垃圾箱