2017年第4淛 y信息疼术文章编号=1009 -2552 (2017)04 -0013 -04 DOI:10.ki.hdzj.2017. 04. 004
廖亮,邵玉斌,杜庆治
(昆明理工大学信息与自动化学院,昆明650504)
摘要:云计算的诞生创造了一个随时随地都能把任何东西存储并提取出来的通用平台。应用 这项技术意味着所有的敏感信息都必须在存储前进行加密,以此来克服可能存在的安全问题,那么此问题的关键是对加密数据的查询。现有的系统只支持精确关键字的查询,这样一来要想 得到有效的查询就变得非常困难。多关键字的分类查询提供了一个有效的机制来对云中加密数 据进行查询,与此同时还保证了关键字的私密性和用户输入时可能出现的拼写错误或键盘输入 错误。文中提出的多关键字查询,查询结果是以关键字的输入序列和适当标准进行分类的一组 文件。 关键词:云计算;加密数据;多关键字;分类查询
中图分类号:TP301.5 文献标识码:A
Classification and query of multiple key words based
on cloud data encryption
LIAO Liang,SHAO Yu-bin,DU Qing-zhi
(School of Information and Automation,Kunming University of Science and Technology,Kunming650504,China) Abstract :The birth ol cloud computing creates a universal plat form that can store and extract anything at anytime.It means that all sensitive information must be encrypted ago the storage for applying this technology,in order to over come the possible security problems,the key is to query the encrypt data.The exsiting systems only support the precise key words query,which is very d ifficult to query effectively.
Mutiple key words classification provides an effective mechanism for querying the cloud encryyption data efficiently;at the same tim e,it also ensures the key words privacy and the users possible input spelling errors or keyboard input errors.This paper presents the m ultiple key words query,the query results are a set of documents to be classified according to the key words of the input sequence and appropriate standards.
Key words:cloud computing;encryption data;m ultiple key words;classification and query
0引言
随着大规模云环境的普及,用户把自己的数据 存储到云中并分享,从一个结构化的计算资源分享 池中共享高品质的应用程序和服务。通过数据外 包,数据拥有者可以从本地数据存储和数据维护中 解除[|],以此大大的减少了本地工作的工作量。但 是云服务器并非我们想象中安全,因此敏感信息应 该在对其外包之前进行加密。然而数据的加密会使 我们很难使用有效数据,这样对于用户拥有者来说,在云服务器中有效地从一个庞大的外包数据中搜索 一个加密数据是非常困难的。并且下载整个数据库 再加上解密庞大的本地数据成本太高甚至是不可能 的[2]。因此系统应该对于用户来说分配好的外包 数据应该是可见的,只有管理员身份和特殊用户[3]
收稿日期:2016 -04 -13
基金项目:云南省科技厅面上基金资助(2013FZ010)
作者简介:廖亮(1989-),男,在读硕士研究生,研究方向为电子与 通信工程.。通讯作者:邵玉斌。
—13 —
才允许得到数据并恢复它们。
在一些传统的可搜索加密技术中,搜索时间会 随着数据的长度线性增加,并且这样会暴露一些数 据的信息甚至一些原始文本信息。一些技术允许用 户通过关键字把加密的数据进行搜索,这种相对安
全但是这些技术只能使用确定的关键字。要想把云
中加密数据安全的搜索,就必须提供一种有效的机 制来保证在私密性的条件下对云中加密数据检索,并且技术还必须忽略键盘输入关键字时可能出现的 错误、拼写错误、排版错误等。此技术不仅可以实现 单一关键字的查询,还可实现多关键字的查询[4]。当用户输入一组关键字后,每个关键字会根据用户 输入查询的顺序进行查询,查询的结果也会从云中 存储的文件中根据与关键字的相关性进行排序。
1背景
以前,数据拥有者绝大数做的工作是把数据上传 到云中,然后在云中进行数据的加密。其中一些方案 中能保护数据的保密性和完整性,但是查询时需要下 载现存云中所有的数据,然后在这些数据中搜索。一 些方案提供了控制查询和孤立查询,但它们的工作机 制都是按顺序依次浏览查询,这样一来对于很长的数 据来数效率是最大的问题。另一种方案是用了一种 索引的新数据结构[1],它能让用户查询大量的文本数 据,但是这些索引必须频繁的更新。总的来说有些技 术会暴露部分数据信息,又或者必须搜索特定关键字 的信息或它们只对私钥进行设置,以上大多数的技术 都有通信复杂和开销大的缺点。
2总体结构
数据拥有者上传文件到云中的过程如图1所 示。数据拥有者对文件进行加密后存储到云服务器 中,从上传的文档中生成的一组关键字和加密文件 一起保存在云中,并且每一个关键字都有一个模糊 集。当用户需要对云中的文本进行检索时,用户只 需要输入他们想要下载文本的相应关键字。通过这 种方法能有效的查询需要的文档,最终会把检索结 果返回给用户。如果用户给出的关键字刚好与预先 计算的模糊关键字相匹配,那么意味着检索到了相 应的文档数据。如果用户输入时出现任何格式错误 或键盘输入错误,那么检索后是以给出关键字最匹 配的结果返回给用户。
3云数据加密中多关键字分类查询用户把他们的数据远程存储到云中,因此当他 们想要从云中检索所有确定的数据文件几乎是不可 能的。所以基于关键字的检索方法可以有效地选择
图i检索云中加密数据结构
出我们需要的文件,而这种关键字的检索方法是建 立在每个有效关键字为索引的基础上,这种索引是 由所有文件特性、文件相应关键字和编辑距离决定 的。索引文件是用于联系从用户端通过输入关键字 后得到的文件,而模糊关键字集就是使用了通配符 技术得到的[6]。云中加密数据的安全关键字查询 中,如果用户给出的关键字恰好与预留的关键字相 匹配,那么就会返回匹配的文件,若用户输入的关键 字中有拼写错误或者键盘错误,那么就会通过模糊 关键字集匹配最接近的检索文件返回给用户。
3.1系统模型
实现云数据托管服务需要三个实体:数据拥有 者(DO),数据使用者(DU)和云服务器(C S)。C是 数据拥有者对文件外包加密存储到云服务器中的一 组数据文件,这组文件c可表示为c= (/i,/2,…,A),其中〃为文件的个数。在外包之前,数据拥有者 必须从集合c中设置m个不同词组组成集合W = …1,%,…,I),作为可搜索索引工作/。所有的关 键字集合加密文件都必须存储到云服务器中,只有 拥有管理员身份的用户才能检索这些文件,因此管 理员也必须是用户和数据拥有者之间选择。^为不同关键字W预先设定好的编辑距离,为基于通 配符技术的模糊关键字集,实际上也就是一^组关键 字。定义搜索输入(^,幻,其中编辑距离为< = ^)。返回文件为ID s,定义包含输入词组从 的相应文件为具体符号及含义如表1所示。
表1符号含义
符号含义
DO数据拥有者
DU数据使用者
c s云服务器
c = (/1/2,…,/…)^组加密文件c
W =(W1,W2,—,w m)c中不同词组成的集合W
I索引文件
FID提交文件
优日
ed(w1,w2)编辑距离由W1转换到W2
S w,ed基于通配符的模糊关键字理论
(w,k)检索输人,k< =ed
FID w提交文件中包含W
一14
一
3.2编辑距离
编辑距离是用来测量两个字符串之间相似性的 算法,把编辑距离定义为W(w l,w2),含义为从从1 置换为^2所需要的最少编辑操作次数。它的三种 基本操作为:①置换:将一个字符置换成另一字符。
②删除:从一个词中删除一个字符。③插入:插入单 个字符到一个词中。
3.3模糊关键字集结构
通配符技术是用来构造模糊关键字集的。即使 查询关键字没有任何编辑操作,也同样需要构造模 糊关键字集。一组模糊关键字定义为模糊集^,,= 1^,〇,^,1,…人,J。如果关键字篇的长度为^,编 辑距离为1,使用通配符技术后则^,i的长度为2Z+ 1 +1。定义这个编辑运算的三部分,通配符“定义为所有的编辑运算。如果编辑距离比本文构建的 模糊集算法长则递归调用直到为〇[7]。此算法基于 模糊关键字构建集[8],算法如下:
输入:关键字^和编辑距离^
输出:模糊关键字集合^,,
if d> = 1then
Generate Fuzzy Set sw i d-1,
end if
if d= 0 then
刹车蹄块
Fuzzy Set Swi,d= {wi};
else
for—1to I swi,d I do
for—1to2( I swi,d[k]I+ 1) do
if j is odd then
Set Temp= ISwi,d[k]I;
Insert at position j + 1/2;
else
Set Temp= Iswi,d[k]I;
Replace j/2 - th character w ith'*';
end if
if Temp is not in swi,d- 1then
Set swi,d= swi,dU|Temp}
end if
end for龙芯3b
end for
end if
return swi,d
3.4模糊关键字查询
安全关键字查询流程如图2所示。图中反应 了管理员和用户的查询步骤。管理员能上传和查询文件,用户只能查询文件。当管理员上传文件 时需要检验其有效性,然后提取与文件有关联的 关键字并为编辑距离赋值。产生的索引文件中需 存储关键字、编辑距离和包含这些关键字文件的文件过滤器,通过这些关键字使用编辑距离产生模糊关键字集。因此在查询阶段,管理员或用户 能准确输入匹配的关键字,则它们就能下载这些 文件。
图2安全关键字搜索流程
4结果与分析
4.1通配符集结构
所有的模糊关键字都是由基本通配符技术生产 的,主要依赖于关键字的长度。如果x为关键字长 度,那么关键字的个数就为(2*x) +1 +1。例如:输入关键字“DATA”,编辑距离为1,则使用通配符 产生的模糊关键字包含如下:
S DATA1 ={DATA,*DATA,*ATA,D*ATA,D* TA,DA * TA,DA * A,DAT * A,DAT*,DATA * } 4.2 AES加密
使用AES算法对文件加密可以提高上传和下 载文件的安全性,并且它不易受密码分析学的影响,因此数据不易受到攻击。数据拥有者应在数据外包 给云服务器之前对它进行AES加密,云存储加密文 件时,当用户请求任何云中文件时,云服务器对此文 件进行AES解密后再返回给用户。下面是在云平 台下的对不同文件长度和不同文件格式加密与解密 所需时间做的比较。表2与表3为比较后的结果。
一15
—
三相电机保护器表2在20k b文件加密解密所需时间
文件类型(20kb)加密和上传所需时间解密和下载所需时间DOC1s1s
DOCX1s1s
PDF2s1s
TXT4s4s
JPG1s1s
PNG1s1s
GIF1s1s
表3在75kb文件加密解密所需时间
文件类型(75kb)加密和上传所需时间解密和下载所需时间DOC3s2s
DOCX9s2s
PDF7s3s
TXT34s30s
JPG2s2s
PNG2s2s
GIF2s2s
4.3搜索结果的相关性等级与排序
分离式导电滑环搜索的输入可以为相同文件或不同文件的一系 列关键字。搜索的结果根据文档中输入关键字出现 的关联性进行排序,排序的结果根据出现优先级的 不同分为不同等级。若文件按次序包含所有输入关 键字,那么该搜索结果就拥有最高优先级,则显示在 返回结果的最前面。如果包含输入序列关键字的个 数在两个以上或者输入序列包含随机组合关键字则 这些文件分为第二优先级,并且排列在搜索结果列 表的第二位。若文件包含单一的关键字则分为最低 级别,出现在搜索结果的最后。
4.4多文件检索的性能分析
多文件检索会随着编辑距离的加长呈线性增加 的状态,如图3所示。以输入搜索关键字“cloud”为 例,设有以下几个编辑距离:ed = 0,ed = 1,ed = 2,ed=3,ed=4,ed=5。若云中文件有“cloud”相似关 键字的文件,图3表明了不同编辑距离检索到的不 同文件数量。
5结束语
本文提出了通过用户输入文件关键字来查询云
20(个)
编辑距离=0编辑距离=1编辑距离=2编辑距离=3编辑距离=4编辑距离=5
图3不同编辑距离检索到的文件数
中数据的解决办法。该方法克服了用户可能出现的 拼写错误、键盘错误、错别字和文件格式不一致问 题。该检索机制不仅支持单一关键字查询,还支持 多关键字查询,当输入一组关键字后,查询结果也会 根据与文件中关键字的相关程度进行排序,实现个 别人的权限也提高了系统的安全性,从而成功地实 现了云托管服务。该文还有不足之处,比如可以改 进不同类型文件并混有多种语言的查询。
参考文献:
[1]余志斌,周彦辉.基于关键字的云加密数据隐私保护检索[J].
计算机科学,2015,42(6A) :365 -369.
[2 ] Seny Kamara,Kristin LauterJuang. Cryptographic Cloud Storage
[C]. FC^10 Proceedings of 14th international conference on Finan
cial cryptofraphy and data security,2010,6054 : 134 -149.
[3] Song D,Wagner D. Practical Techniques for Searches on Encrypted
Data[ C].SP00Proceedings of the 2000 IEEE Symposium on Security and Privacy,2000,IEEE,USA.
[4]胡德敏,张明英.多关键字云资源搜索算法研究[J].计算机应
用研究,2016(9) :2615 -2618.
[5 ] Chang Y C,Mitzenmacher M. Privacy preserving keyword searches on
同轴电缆接头remote encrypted daata[ J]. Appilied Cryptography and Network Security ,2010 :442 -455.
[6]周军峰,孟晓峰.XML关键字查询处理研究[J].计算机学报,
2012,35(12) :2459 -2478.
[7 ]李志红.基于遗传迭代优化的云计算下海量数据分类查询[J].
科技通报,2015,31(6):34 -36.
[8 ] Wang Jian-feng,Ma Hua,Tang Qiang,et al. Efficient verifiable Fuzzy
Keyword Search over Encrypted Data in Cloud Computing [ J ]. Special Issue on Advances on Mobile Collaborative Systems,2013,10(2) :667 -684. 责任编辑:张荣香
於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於於
(上接第12页)
[2]王晶,傅丰林,陈建.基于小波变换多阈值语音增强处理研
究[J].声学与电子工程,2004(4) :32 -35.
[3] Pati YC,Krishnaprasad PS. Analysis and synthesis of feedforward
neural networks using discrete affine wavelet transformations [ J] .
IEEE Transactions on Neural Networks,1993,4( 1) :73 -85. [4] 丁世飞,齐丙娟,谭红艳.支持向量机理论与算法研究综
述[J].电子科技大学学报,2011(1 ):2-10.[5]刘晋,QiangH,王义民.粒子算法在水位流量关系拟合中的
应用[】].水电能源科学,2008,26(4):11 -13.
[6]孙承意,谢克明,程明琦.基于思维进化机器学习的框架及新
进展[J].太原理工大学学报,1999(5) :3 -7.
[7 ] Sciuto G,Bonaccorso B,Cancelliere A,Rossi G. Probabilistic
quality control of daily temperature data[ J]. International Journal of Climatology,2010( 12) :15.
责任编辑:薛慧心
一16
—