基于云数据外包系统的高效可验证的模糊关键词搜索方法

文档序号:7865530阅读:256来源:国知局
专利名称:基于云数据外包系统的高效可验证的模糊关键词搜索方法
技术领域
本发明属于云计算安全领域,涉及外包计算和可搜索加密,具体地说是提出了一种新的可验证的模糊关键词搜索方案,可用于实现云计算中对密文安全而有效地进行关键词搜索。
背景技术
随着云计算的流行,存储外包已经被广泛的用于降低数据维护或备份成本。通过外包数据到云端,数据拥有者可以获得高质量的数据存储服务,同时降低了数据存储和维护的负担。为了将外包数据安全地存储在不被信任的云服务器上,敏感数据在外包前必须进行加密。然而,这样就使得数据拥有者想要在服务器上有效地搜索加密的数据变得非常棘手。由于需要庞大的通信和计算代价,下载整个数据库进行解密显然是不切实际的。此夕卜,数据拥有者可能将自己的外包数据共享给大量用户,在一次特定的会话中,单个用户可能只想要检索某些特定的自己感兴趣的数据。这就需要在不解密数据和泄露数据保密性的前提下,实现服务器对加密数据的搜索。一种常用的解决方法是可搜索加密,它能够通过关键词搜索来为用户返回所需要的文档。当然,关键词的隐私必须被有效地保护,因为关键词包含了数据文件的重要信息。虽然目前有许多可搜索加密方案可以在不解密情况下实现安全而高效地搜索功能,但是其大多数都是基于对称可搜索加密方案的。并且方案中的云服务器被认为是可信但是好奇的。也就是说,服务器忠实地执行所有的搜索操作并且返回所有的搜索结果,但是它也试图挖掘加密数据的潜在信息。考虑到服务器为了节省自己的计算量和带宽可能是自私的。另外有一种称为半可信但好奇的服务器模型,在这种模型下,服务器可能只执行一小部分的搜索操作并且返回搜索结果的一部分内容。Chai等人首次提出了这个问题,并且给出了一个可验证的关键词搜索方案。然而,这个方案只支持精确关键词搜索。在2010年,Li等人提出了一个基于密文的模糊关键字搜索方案,但是其中并没有考虑关键词搜索的可验证性的问题。

发明内容
本发明提供一种基于云数据外包系统的高效可验证的模糊关键词搜索方法,通过云数据外包系统结合符号树提出了一种新的可验证的模糊关键词搜索方案,它不仅支持模糊关键词搜索,并且能够对搜索结果进行验证。为实现上述目的,本发明的技术方案为
一种基于云数据外包系统的高效可验证的模糊关键词搜索方法,首先构造云数据外包系统,该云数据外包系统包含数据拥有者,授权用户以及云服务器,其中数据拥有者有一个存储在云服务器上的由*个加密
数据文档组成的集合和精确关键字集合,,云服务器能够为授权用户提供加密文档集上的模糊关键词搜索服务,并且数据所有者和授权用户之间的已分配各自对应的权限,当需要进行模糊关键词搜索时,进入初始化阶段,该初始化阶段通过数据拥有者操作本地服务器上的密钥生成模块生成索引生成密钥S*和加密密钥i,以及数据拥有者操作索引建立模块创建索引,接着为了搜索包含精确关键词集JT的文件,授权用户操作本地服务器上的陷门生成模块生成精确关键词集 Τ中对应的模糊关键词集中的所有模糊关键词
w的陷门集&,并将该陷门集& =漱发送给云服务器,这样当云服务器
接收到搜索请求后,云服务器启动搜索模块在索引树Gp上执行搜索,并返回包含给定所有模糊关键词w的所有文档的地址集^^和证据集ProofSet,最后由授权用户操作本地服务
器上的验证模块用来检验是否云服务器是诚实的,如果通过验证则表示模糊关键词搜索成功且服务器是诚实的,否则表示模糊关键词搜索失败且服务器是不诚实的。所述的云服务器在半诚实模式下工作,即所述的云服务器不以预先提出的协议工作,而是只执行预设的部分操作或者只返回预设的部分搜索结果,并且云服务器分析预先 提出的协议执行过程中的信息流以便获得额外的信息。所述的密钥生成模块生成索引生成密钥s*和加密密钥的方法是采用随机密钥生成算法,该随机密钥生成算法用一个安全参数Λ作为输入。所述的数据拥有者操作索引建立模块创建索弓I的方式为利用索引创建算法将索引生成密钥化和文档集合C的精确关键词集F作为输入,输出文档集合σ的符号树Gr。所述的生成精确关键词隼τ中对应的所有模糊关键词w的陷门集方式为用索引生成密钥&和模糊关键词集作为输入,输出陷门集& =佩,4。所述的云服务器启动搜索模块在索引树Gp上执行搜索采用文档集合σ的符号树Gf和模糊关键词集的陷门集% =/C^wi)作为输入。所述的由授权用户操作本地服务器上的验证模块采用加密密钥*和证据集ProofSet作为输入,并利用伪随机函数的特性来检验云服务器是否诚实。通过构造云数据外包系统,数据拥有者操作密钥生成模块生成索引生成密钥 和加密密钥-以及数据拥有者操作索引建立模块创建索弓丨,授权用户操作陷门生成
模块生成精确关键词集『中对应的模糊关键词集Am中的所有模糊关键词w的陷门集
=/ 沁,并将该陷门集% =/Csfc,w;)发送给云服务器,云服务器启动搜索模块在索
引树Gii上执行搜索,并返回包含给定所有模糊关键词w的所有文档的地址集/ 和证据集ProofSet,最后由授权用户操作验证模块用来检验云服务器是否诚实,如果通过验证则表示模糊关键词搜索成功且服务器是诚实的,否则表示模糊关键词搜索失败且服务器是不诚实的。该方法不仅支持模糊关键词搜索,并且能够对搜索结果进行验证。并且还能实现如下目标
(I)建立了一个“高效存储”的模糊关键词集。并且设计一个高效的模糊关键词搜索方
案;(2 )防止服务器获得除了搜索模式和访问模式之外的关于加密数据或者检索关键词的任何信息;
(3)设计高效的可验证的模糊关键词搜索方案并且能够让用户验证搜索结果的完整性和正确性。
具体实施例方式下面通过实施例对本发明做进一步说明
基于云数据外包系统的高效可验证的模糊关键词搜索方法,首先构造云数据外包系统,该云数据外包系统包含数据拥有者,授权用户以及云服务器,其中数据拥有者有一个存储在云服务器上的由《个加密数据文档组成的集合C和精确关键字集合1T这是通过数据拥有者扫描加密文档C而后建立精确关键词集 Τ,数据拥有者将加密文件外包给服务器
并且得到每个文档的地址,对于所有包含精确关键词集JT中的对应精确关键词Wi 的文件将其地址集记为:4 =网别叫问)...,||网巧,1为大于等于1的整数,云服务器
能够为授权用户提供加密文档集C上的模糊关键词搜索服务,并且数据所有者和授权用户之间的已分配各自对应的权限,该云数据外包系统利用一个基于符号树的遍历搜索方案,即建立一个多叉树在有限的符号集上存储模糊关键词集。这个设计结构的主要思想是所有共享一个前缀的陷门拥有共同的节点。根节点与一个空集合相关,陷门中的符号能够通过从根节点到叶子节点的搜索被还原。所有的模糊关键词都能够通过深度优先搜索在树中被
找到。设定Δ = 是预先定义的符号集,不同的符号数共有|Δ|=2Κ个。并且每一个符号
能够用比特来表示,为大于等于I的整数。当需要进行模糊关键词搜索时,进入初始化阶段,该初始化阶段通过数据拥有者操作本地服务器上的密钥生成模块生成索引生成密钥Λ和加密密钥*,以及数据拥有者操作索引建立模块创建索引,接着为了搜索包含精确关键词集Ir的文件,授权用户操作本地服务器上的陷门生成模块生成精确关键词集,中对应的模糊关键词集中的所有模糊关键词W,而模糊关键词集根据预先设定的编辑距离d,编辑距离d为两个单词之间相似度的度量,两个单词W1及《2之间的编辑距离就是将其中任何一个转换成另一个所需的操作
数,一共有三种元操作(I)替换将单词中的一个字母替换成另一个字母;(2)删除删除单词中的一个字母;(3)插入在单词中插入一个字母,编辑距离d的值为整数。通过下述步骤完成生成
第一步首先将本地服务器中的模糊关键词集存储单元设置为空值集合;第二步当预先设定的编辑距离V大于或等于I时,本地服务器以对编辑距离V递减I方式逐次循环生成模糊关键词集,并将模糊关键词集的值填充到模糊关键词集Swj对应的存储单元中,直到编辑距离d的值为O ;
第三步当预先设定的编辑距离V的值为O时,本地服务器就将设定的精确关键词集w的值直接填充入模糊关键词集SVi存储单元中;
第四步当预先设定的编辑距离J的值小于ο时,本地服务器将第一临时整型存储变量单元I的值从初值I逐次递增I直到模糊关键词集Swi内元素个数为止作为外层循环
体,而将第二临时整型存储变量单元J的值从初值I逐次递增I直到模糊关键词集Sf1M内对应的第一临时整型存储变量单元i的值位置上的元素个数的双倍加I为止作为内层循环体,在这内层循环体和外层循环体控制下,在当第二临时整型存储变量单元/的值为奇数时,模糊关键词集Am内对应的第一临时整型存储变量单元i的值位置上的元素个数填充到第三临时整型存储变量单元% 夕中,并且将通配符*填充到模糊关键词集内对应的第一临时整型存储变量单元的值位置上的元素的对应的第二临时整型存储变量单元J的值加I除以2之商值的序列位置上;在当第二临时整型存储变量单元J的值为偶数时,将模糊关键词集Sim内对应的第一临时整型存储变量单元t的值位置上的元素个数填充到第三临时整型存储变量单中,并且将通配符*填充到模糊关键词集内对应 的第一临时整型存储变量单元、的值位置上的元素的对应的第二临时整型存储变量单元J的值除以2之商值的序列位置上。这样就利用通配符技术来建立起了模糊关键词集。我们用一个通配符*表示同一个位置上的所有编辑操作,精确关键词瑪的基于通配符且编辑
距尚为Or的|旲糊关键词集用符号表不为= {' ■ -^WtJ }其中SviJ表不与精确关
键词A距离为d的关键词集合。以此通过该模糊关键词集Sim中的所有模糊关键同 生成陷门集^ =/(·;)
,并将该陷门集发送给云服务器,这样当云服务器接收到搜索请求后,云服务器启动搜索模块在索引树Gir上执行搜索,并返回包含给定所有模糊关键词W的所有文档的地址集或证据集ProofSet,最后由授权用户操作本地服务器上的验证模块用来检
验是否云服务器是诚实的,如果通过验证则表示模糊关键词搜索成功,否则表示模糊关键词搜索失败。所述的云服务器在半诚实模式下工作,即所述的云服务器不以预先提出的协议工作,而是只执行预设的部分操作或者只返回预设的部分搜索结果,并且云服务器分析预先提出的协议执行过程中的信息流以便获得额外的信息。所述的密钥生成模块生成索引生成密钥欢和加密密钥I的方法是采用随机密钥生成算法,该随机密钥生成算法用一个安全参数J作为输入。所述的数据拥有者操作索引建立模块创建索引的方式为利用索引创建算法将索引生成密钥政和文档集合Ci的精确关键词集 Τ作为输入,输出文档集合的符号树Gfr,即数据拥有者建立一个包含所有模糊关键词的树Gw ,树中的每一个节点包含两个元组(H) , r0存的是符号i存的是伪随机函数值巧, path包含了从根节点到目前节点的符号序列,为长为2"的比特串,代表着子节点集,数据拥有者将pAij和CJm,连接在一起,本地服务器将符号树C w和加密文件外包给云服务
器,并且授权用户通过本地服务器暂时存储陷门集&:掀,以便用于后面的验证。所述的生成精确关键词隼τ中对应的所有模糊关键词W的陷门集方式为用索引生成密钥和模糊关键词集作为输入,输出陷门集& =/(&,¥),即数据拥有者用索
引生成密钥忒为每一个模糊关键词W'e建立陷门集4 =/(欢¥),然后将hash值分为一个I长的符号序列集%,%,...,,其中/是单向函数/⑴的输出长度,'为对应的模糊关键词W的陷门集。所述的云服务器启动搜索模块在索引树Gir上执行搜索采用文档集合的符号树Gfr和模糊关键词集^^的陷门集& =f(sk,w;)作为输入,即采用下列流程最后得到证据集ProofSet和文档地址集IDSet ; 第一步首先云服务器将第四临时整型存储变量单元 的值从初值I逐次递增I直到
陷门集^ =她 内元素个数为止作为外循环体,外循环体内设置当前节点为文档集合
的符号树Gfr的根节点;
第二步接着外循环体继续执行云服务器将临时节点类型存储变量单元currentnode的初值设定为符号树的根节点;
第三步云服务器将第五临时整型存储变量单元J1的值从初值I逐次递增I直到I1/H1作为内循环体,内循环体内依次运行将气的值置入第一临时符号存储变量单元α中,
I1是输出单向函数的长度,Ii1是每个字符代表的长度、表示陷门集'& =/C£i-wi)中第
彳个陷门中的符号序列中的第I个符号值,如果临时节点类型存储变量单元currentnode
中不包含为第一临时符号存储变量单元《值的节点,将临时节点类型存储变量单元currentnode的证据Proof值添加到证据集ProofSet中,随后跳出内循环体;
第四步内循环体结束后,云服务器设置临时节点类型存储变量单元currentnode的值为包含第一临时符号存储变量单元G值的子节点,如果临时节点类型存储变量单元currentnode是叶子节点,将临时节点类型存储变量单元currentnode的证据Proof值添加到证据集ProofSet中,以及将临时节点类型存储变量单元currentnode的文件验证值ID添加到文件验证IDSet中,随后导出证据集ProofSet和文档地址集IDSet。所述的由授权用户操作本地服务器上的验证模块采用加密密钥和证据集
ProofSet作为输入,并利用伪随机函数的特性来检验云服务器是否诚实,即根据符号树OW中的每个节点有一个独一无二的值,称之为证据,由于符号树Gfr的结构,每个节点的路径是唯一的,如果没有加密密钥I攻击者无法伪造一个有效的证据。数据拥有者与所有授权用户共享这个加密密钥I授权用户能够通过重建证据来验证数据的正确性,具体验证过程如下
(O当搜索成功时,首先,授权用户利用文档地址集来验证搜索结果的完整性,
授权用户导出一个&(/£g,验证&(/4·)是否和返回的&(/久·)相等,其中/久·是用户收到
的级联地址,如果相等,授权用户用证据集ProofSet来检查搜索结果的正确性。如果不相等,则授权用户认为云服务器是不诚实的。(2)当搜索不成功时,授权用户直接检查搜索结果的正确性,包含以下两个步骤 授权用户检查是否Fk{paih Ilmem) = Fk(^aik,如果不相等,授权用户认为云服务
器是不诚实的。 如果上步通过,授权用户检查是否。如果不相等,则认
为云服务器是不诚实的,其中表示一个hash值,其中p表示一个hash函数,Fk(path llmera)表示一个伪随机函数值,即hash函数值,path表示从根节点到当前节点的路径上的符号序列,mem是一个长度为2:B的比特串表示一个伪随机函数值,
即hash函数值歷,w是服务器返回的path | | mem值,n为整数值。通过本发明的基于云数据外包系统的高效可验证的模糊关键词搜索方法,经由与和可验证的对称可搜索加密方案的性能对比,得出如下表I所示的结果,其中N是搜索关键词的总数
权利要求
1.一种基于云数据外包系统的高效可验证的模糊关键词搜索方法,其特征在于首先构造云数据外包系统,该云数据外包系统包含数据拥有者,授权用户以及云服务器,其中数据拥有者有一个存储在云服务器上的由η个加密数据文档组成的集合C和精确关键字集合iF,云服务器能够为授权用户提供加密文档隼上的模糊关键词搜索服务,并且数据所有者和授权用户之间的已分配各自对应的权限,当需要进行模糊关键词搜索时,进入初始化阶段,该初始化阶段通过数据拥有者操作本地服务器上的密钥生成模块生成索引生成密钥政和加密密钥t,以及数据拥有者操作索引建立模块创建索引,接着为了搜索包含精确关键词集W的文件,授权用户操作本地服务器上的陷门生成模块生成精确关键词隼J中对应的模糊关键词集中的所有模糊关键词w的陷门集& =/(呔4),并将该陷门集& = JKw;)发送给云服务器,这样当云服务器接收到搜索请求后,云服务器启动搜索模块在索引树Gir上执行搜索,并返回包含给定所有模糊关键词w的所有文档的地址集队和证据集ProofSet,最后由授权用户操作本地服务器上的验证模块用来检验是否云服务器是诚实的,如果通过验证则表示模糊关键词搜索成功且服务器是诚实的,否则表示模糊关键词搜索失败且服务器是不诚实的。
2.根据权利要求I所述的基于云数据外包系统的高效可验证的模糊关键词搜索方法,其特征在于所述的云服务器在半诚实模式下工作,即所述的云服务器不以预先提出的协议工作,而是只执行预设的部分操作或者只返回预设的部分搜索结果,并且云服务器分析预先提出的协议执行过程中的信息流以便获得额外的信息。
3.根据权利要求I或权利要求2所述的基于云数据外包系统的高效可验证的模糊关键词搜索方法,其特征在于根据所述的密钥生成模块生成索引生成密钥决和加密密钥走的方法是采用随机密钥生成算法,该随机密钥生成算法用一个安全参数;!作为输入。
4.根据权利要求3所述的基于云数据外包系统的高效可验证的模糊关键词搜索方法,其特征在于所述的数据拥有者知作索引建立模块创建索引的方式为利用索引创建算法将索引生成密钥Λ和文档集合的精确关键词集 Τ作为输入,输出文档集合的符号树Gfr。
5.根据权利要求4所述的基于云数据外包系统的高效可验证的模糊关键词搜索方法,其特征在于所述的生成精确关键词隼I中对应的所有模糊关键词w的陷门集方式为用索引生成密钥欢和模糊关键词集公作为输入,输出陷门集&丨=/ _)。
6.根据权利要求5所述的基于云数据外包系统的高效可验证的模糊关键词搜索方法,其特征在于所述的云服务器启动搜索模块在索引树Gir上执行搜索采用文档集合的符号树%和模糊关键词集的陷门集 ;丨=/(^)作为输入。
7.根据权利要求6所述的基于云数据外包系统的高效可验证的模糊关键词搜索方法,其特征在于所述的由授权用户操作本地服务器上的验证模块采用加密密钥和证据集ProofSet作为输入,并利用伪随机函数的特性来检验云服务器是否诚实。
全文摘要
一种基于云数据外包系统的高效可验证的模糊关键词搜索方法,通过构造云数据外包系统,数据拥有者操作密钥生成模块生成索引生成密钥和加密密钥,以及数据拥有者操作索引建立模块创建索引,授权用户操作陷门生成模块生成精确关键词集中对应的模糊关键词集中的所有模糊关键词的陷门集,并将该陷门集发送给云服务器,云服务器启动搜索模块在索引树上执行搜索,并返回包含给定所有模糊关键词的所有文档的地址集和证据集ProofSet,最后由授权用户操作验证模块用来检验是否云服务器是诚实的,如果通过验证则表示模糊关键词搜索成功且服务器是诚实的,否则表示模糊关键词搜索失败且服务器是不诚实的。该方法不仅支持模糊关键词搜索,并且能够对搜索结果进行验证。
文档编号H04L29/06GK102938767SQ20121045239
公开日2013年2月20日 申请日期2012年11月13日 优先权日2012年11月13日
发明者王剑锋, 党晓, 陈晓峰, 朱辉, 马华 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1