一种移动云中高效安全的支持多关键字的搜索方法

文档序号:6517401阅读:241来源:国知局
一种移动云中高效安全的支持多关键字的搜索方法
【专利摘要】本发明公布了一种移动云中高效安全的支持多关键字的搜索方法,该方法基于TF-IDF搜索模型,数据拥有者将加密的文档和加密的文档索引存储在云端,数据使用者输入经FastAccumulatedHashing加密的关键词对存储在云端的加密文档进行搜索,实现搜索的安全性。通过加入噪声实现搜索的隔离。通过用户注册验证实现搜索控制。通过一次通讯、关键字压缩、建立搜索缓存和二分集合实现搜索的高效性。本发明从安全性角度保证了搜索过程中涉及的文档集,关键字,以及索引的安全,从效率的角度,简化了搜索过程,提升了搜索效率,压缩了通信总量,减少了通信带宽。解决了加密搜索在移动云平台上的带宽瓶颈问题。
【专利说明】一种移动云中高效安全的支持多关键字的搜索方法
【技术领域】
[0001]本发明提出了一种基于移动云平台的高效的多关键字搜索模型,具体地,从安全性角度保证了搜索过程中涉及的文档集,关键字,以及索引的安全,从效率的角度,简化了搜索过程,提升了搜索效率,压缩了通信总量,减少了通信带宽。解决了加密搜索在移动云平台上的带宽瓶颈问题。
【背景技术】
[0002]随着云计算的发展,越来越多的服务提供商更加愿意将自己的服务部署到云平台中而不是自己购置和维护自己的硬件。服务商将自己的数据也存储到云端。同时随着移动设备的发展,越来越多的情况是直接使用移动客户端来访问云端的资源。但是云端作为第三方并不是完全可信的。所以直接将数据尤其是敏感数据存储到云端势必带来很多安全的隐患。所以在把数据放到云端的同时要保证数据的安全性和搜索的安全性。整个通信模型如图1。
[0003]同时,由于移动客户端的自身特点,如计算能力的限制,带宽的限制和能耗的限制等等。因此在搜索过程的设计显得尤为重要,一方面要保证数据的安全性和搜索过程的安全性,另一方面使得通信过程适合移动客户端。数据的安全性即数据集合的安全性和索引的安全性,使得云端对文档内容和索引内容的细节不知道。搜索过程的安全性包括搜索关键字的安全性,使得云端不知道搜索关键字内容的同时也不能够对搜索关键字进行统计。
[0004]随着云服务的发展,云端数据的安全性显得尤为重要,本发明旨在建立一种搜索过程使得在移动客户端低带宽,低计算能力的前提下能够高效地并安全地进行搜索。保证用户和服务提供商的数据的安全性。同时也要使得搜索词和搜索的结果具有更好地相关度。
[0005]现在国内外主要的搜索技术主要分为布尔检索和排名搜索,其中布尔检索时根据关键词在文档中出现与否给出文档的评分,这种方法得出的结果和排名搜索的得出的结果的相关度有一定的差距,但是在加密搜索的实现难度上更容易。
[0006]另一方面是排名搜索,排名搜索提供了更好地相关性,从而得出的结果也与搜索的意图相匹配,目前很多的加密搜索也实现了基于排名搜素的搜索算法。其中主要分为单关键字搜索和多关键字搜索,顾名思义,单关键字搜索就是每次用户只输入一个关键字,然后系统加密后发送给云端。但是单关键字不能够提供更好地相关性。
[0007]此外便是多关键字搜索,目前学术界有采用不同的方法解决加密的多关键字搜索问题。在安全性方面都达到了要求,但是在效率的角度都不能够适应于移动云平台。
[0008]在功能性方面,在安全性方面,本发明采用学术界和工业界比较成熟的TF-1DF模型,TF-1DF模型即词项频率-逆文档频率模型,该模型可以有效地解决多关键字的相关度搜索。
[0009]安全性方面,本发明采用了学术界比较成熟的Fast Accumulated Hashing的方法,使得在安全性得到保证的同时,效率得到了很大的提升。[0010]综上所述,现在存在的解决方案中,都是针对主流云平台的,对移动云的支持都有限,这些方法都不可以直接搬到移动云平台上。

【发明内容】

[0011]鉴于上述既有方法应用于移动云平台的缺陷,本发明所要解决的问题是提供一种高效的安全的移动云平台的加密搜索方式,克服加密搜索过程中的通信代价过高造成的性能和用户体验的缺失。
[0012]为了实现上述目的,归纳成系统性的设计目标即为:
I功能性
功能性是指系统必须能够根据用户输入的多关键字得出相关的文档集。
[0013]I可证明的安全性
可证明的安全性是所有放到云端和云端处理的数据必须是经过加密的,并且云端在有限的时间内不可能解密出结果的。
[0014]I搜索隔离
搜索隔离是指在搜索过程中云端不能够根据搜索关键字和返回的文档集推测关键字的内容或者文档集的主旨等信息。
[0015]I搜索控制
搜索控制是指云端不可以随意搜索任何关键字,所有的搜索操作必须是经过数据提供者认证的合法用户。
[0016]I搜索隐藏
搜索隐藏是指在搜索过程中用户发送到云端的关键字是经过加密处理的,即需要让云端在不知道具体关键字的同时为客户搜索出相关的文档。
[0017]I搜索高效性
搜索高效性就是根据移动云平台的特点,使得通信代价尽量少,这里通信代价分成两部分,第一是指通信的次数,第二是指通信的总带宽。要通过优化通信过程使得这两部分的通信代价尽量减少,使之能够适应移动云平台。
[0018]本发明采用如下技术方案:
一种移动云中高效安全的支持多关键字的搜索方法,基于TF-1DF搜索模型,数据拥有者将加密的文档和加密的文档索引存储在云端,数据使用者输入加密的关键词对存储在云端的加密文档进行搜索,并返回搜索到的文档。该搜索模型保证了系统的功能性,多关键字的排名搜索的准确度得到了保证。
[0019]其文档索引和关键字加密的方法包括下述步骤:
(1)基于信息检索中的TF-1DF搜索模型,用TF-1DF生成文档索引;
(2)将TF-1DF生成的两张索引表,TF表和IDF表根据每一个词项乘起来,每一个词项对应于每个文档就会得到一个具体的分数;得到的处理后的Score表,根据Score表,对Score表的分数进行聚类,处于一个聚类的词项,应用Fast Accumulated Hashing进行加
LU ο
[0020]上述可搜索的加密方法保证了搜索的安全性。
[0021]其进一步特征在于:在加密的关键字中加入噪声,在加密的文档索引中加入噪声全集。从而实现搜索的隔离。
[0022]进一步的:用户在搜索之前向数据的拥有者进行注册,数据拥有者给用户发送结果文档集的密钥;用户在进行搜索的同时必须向云端提供自己的身份信息,云端在进行搜索的时候再根据用户提供的身份信息向数据拥有者进行验证,验证通过后再进行检索,并返回搜索的加密文档集,用户根据先前的密钥对返回的加密文档集进行解密知道返回文档的具体内容。从而实现搜索的控制。
[0023]为了保证搜索的高效性,本发明采用下述方法:
1.所述关键字加密过程在数据使用者处完成。
[0024]2.所述加密关键字传输前经过压缩。
[0025]3.所述数据使用者输入的加密关键字存储在缓存内,供下次搜索调用。
[0026]4.所述Score表的搜索分片采用二分的集合。
[0027]本发明通过关键字的加密、噪声的加入以及用户注册等方法,从安全性角度保证了搜索过程中涉及的文档集,关键字,以及索引的安全,从效率的角度,简化了搜索过程,提升了搜索效率,压缩了通信总量,减少了通信带宽。解决了加密搜索在移动云平台上的带宽瓶颈问题。
【专利附图】

【附图说明】
[0028]图1为移动云平台的加密搜索的抽象出的通信模型。
[0029]图2为现有的生成查询过程通信过程。
[0030]图3为改进后的关键字查询过程。
[0031]图4为基于用户偏好的关键字密文生成过程。
【具体实施方式】
[0032]以下将结合实际过程对上述系统设计目标的关键步骤进行进一步阐述以充分地了解本发明的目的、特征和效果。
[0033]为了实现系统的功能性,本发明基于信息检索中的TF-1DF搜索模型,用TF-1DF生成文章索引,由于TF-1DF本身是不能保证索引安全性的,所以本发明对它进行可搜索的加密,这样保证了系统的功能性,多关键字的排名搜索的准确度得到了保证。
[0034]在可证明的安全性方面,本发明采用Fast Accumulated Hashing的方法,对上面步骤生成的索引进行加密,由于TF-1DF生成的索引是两张索引表,需要进行一些操作才能够应用Fast Accumulated Hashing加密方式,首先我们将TF表和IDF表根据每一个词项乘起来,这样每一个词项对应于每个文档就会得到一个具体的分数。得到的处理后的表我们称之为Score表,根据Score表,对Score表的分数进行聚类,处于一个聚类的词项,我们应用Fast Accumulated Hashing进行加密。通过以上步骤,就可以实现可证明的安全性,使得云端和第三方都没有办法知道索引和关键字的内容。而对于文档集的安全性,可以采用现有的对称加密方式进行加密就可以保证文档集的安全性。
[0035]从功能性方面,经过上述加密过程之后,加密搜索的算法也要做响应的变化,原先搜索时是根据每一个词项在每个文档中的得分来评分,现在由于应用了 Fast AccumulatedHashing加密方法,所以搜索算法也要进行改变,检索时不再是根据词项对于文档的得分进行评分,而是根据关键字落在的聚类进行评分。每一个聚类有一个分数,并且聚类是基于文档的,所以每个文档都有若干聚类,进一步地,评判关键字是否落在一个聚类中,只需要检验关键字的特征位是否落在一个聚类中就可以判断出来这个关键字是否处于这个聚类中,如果处于就会得到一定的分数,最终根据每个文档得到的分数总和进行排序即为返回的文档集。
[0036]在搜索隔离上,本发明主要解决了关键字和返回文档的相关性,因为尽管经过加密,每次搜索同样的关键字总会产生同样的关键字密文和相同的文档集密文,这样经过一定时间的统计学习之后,云端如果解密了关键字就可以猜测出文档集的主旨,同样如果云端知道了文档集的主旨也有可能猜测出关键字的内容进而可以学习到用户的搜索偏好和习惯。所以本发明旨在打破这种关键字和返回文档集之间的相关性。因为在同样的关键字的前提下返回的文档集是不可以改变的,所以可以通过改变关键字密文的方式来解决这个问题,鉴于以上分析,本发明在关键字的密文上加入了一定的噪声,是的同样的关键字生成的关键字密文是不同的。同样,因为在关键字密文中加入了噪声就必须在云端加入一定的去噪的方式,使得噪声不会影响搜索的正确性。本发明基于Fast Accumulated Hashing的特性,在索引中加入了噪声的全集,这样任何的噪声都将会是噪声全集的子集,他们依然满足关键字和文档集的从属关系。所以不会影响文档搜索的准确性。
[0037]在搜索控制方面,本发明采用的是传统的认证方式,即所有的用户必须在搜索之前向数据的拥有者进行注册,这样数据拥有者就会给用户发送结果文档集的密钥。这样用户在进行搜索的同时必须向云端提供自己的身份信息,云端在进行搜索的时候再根据用户提供的身份信息向数据拥有者进行验证,验证通过后在进行检索,并返回搜索的文档集。当然返回的文档集也是密文,用户必须根据先前的密钥对返回的文档集进行解密才可以知道返回文档的具体内容。
[0038]在搜索隐藏方面,本发明采用的是Fast Accumulated Hashing的生成单个元素的方式生成的,生成关键字密文的方式必须是与生成索引密文的方式相配合的,因为生成的关键字密文必须在加密后的索引中是可识别的,这样才能达到搜索的目的。
[0039]最终在搜索高效性上,本发明做了四点优化。
[0040]第一对于整个通信过程,本发明将现有的两次通信如图2改进成一次通信如图3,现有的加密搜索方法中,关键字生成密文的过程中,只能向数据的拥有者进行查询,用户自己没有能力生成关键字的索引,本发明改进后,用户在搜索的时候不需要向数据的拥有者进行查询,直接在本地生成关键字的密文。
[0041]第二是对于关键字密文的大小,由于Fast Accumulated Hashing对于安全性的要求,生成的关键字密文比较大,但是由于其中有效地信息仅仅是记录了关键字的特征位,所以本发明对关键字密文进行了压缩,使得压缩后需要传输的信息来量大大减少。
[0042]第三本发明对关键字生成关键字密文步骤进行了进一步的优化,由于单个用户在搜索过程中,总有一定的搜索偏好,所以一个用户经常搜索的关键字不会有特别大的差异,所以可以学习到用户的搜索偏好,并将用户经常搜索的一些关键字存储起来,这样每次搜索的时候就不需要每次都进行关键字加密过程,直接根据以前的缓存得到关键字密文,只需要加上一定的噪声就可以了。这个操作可以大大减少关键字生成过程中所需要的时间提升用户体验。具体流程如图4。[0043]第四点是在云端的搜索过程中,因为在对Score表应用Fast AccumulatedHashing的时候对Score表进行了分片,现在,在搜索的过程中,搜索的复杂度直接取决于搜索的分片的情况,所以这里对分片进行了二分的集合,这样可以将搜索的复杂度从原来的O(N)提升到O(logN)。这样搜索的效率也得到了很大的提升。
【权利要求】
1.一种移动云中高效安全的支持多关键字的搜索方法,该方法基于TF-1DF搜索模型,数据拥有者将加密的文档和加密的文档索引存储在云端,数据使用者输入加密的关键词对存储在云端的加密文档进行搜索,并返回搜索到的文档;其文档索引和关键字加密的方法包括下述步骤: (1)基于信息检索中的TF-1DF搜索模型,用TF-1DF生成文档索引; (2)将TF-1DF生成的两张索引表,TF表和IDF表根据每一个词项乘起来,每一个词项对应于每个文档就会得到一个具体的分数;得到的处理后的Score表,根据Score表,对Score表的分数进行聚类,处于一个聚类的词项,应用Fast Accumulated Hashing进行加LU ο
2.根据权利要求1所述的移动云中高效安全的支持多关键字的搜索方法,其特征在于:在加密的关键字中加入噪声,在加密的文档索引中加入噪声全集。
3.根据权利要求1或2所述的移动云中高效安全的支持多关键字的搜索方法,其特征在于:用户在搜索之前向数据的拥有者进行注册,数据拥有者给用户发送结果文档集的密钥;用户在进行搜索的同时必须向云端提供自己的身份信息,云端在进行搜索的时候再根据用户提供的身份信息向数据拥有者进行验证,验证通过后再进行检索,并返回搜索的加密文档集,用户根据先前的密钥对返回的加密文档集进行解密知道返回文档的具体内容。
4.根据权利要求1或2所述的移动云中高效安全的支持多关键字的搜索方法,其特征在于:所述关键字加密过程在数据使用者处完成。
5.根据权利要求1或2所述的移动云中高效安全的支持多关键字的搜索方法,其特征在于:所述加密关键字传输前经过压缩。
6.根据权利要求1或2所述的移动云中高效安全的支持多关键字的搜索方法,其特征在于:所述数据使用者输入的加密关键字存储在缓存内,供下次搜索调用。
7.根据权利要求1或2所述的移动云中高效安全的支持多关键字的搜索方法,其特征在于:所述Score表的搜索分片采用二分的集合。
【文档编号】G06F17/30GK103544301SQ201310530307
【公开日】2014年1月29日 申请日期:2013年10月31日 优先权日:2013年10月31日
【发明者】管海兵, 李健, 马汝辉, 顾振国 申请人:上海交通大学, 上海交通大学无锡研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1