一种基于双陷门的混合密文检索方法与流程

文档序号:13532584阅读:313来源:国知局
本发明涉及数据库检索领域,具体涉及一种基于双陷门的混合密文检索方法。
背景技术
:密文检索是云计算中数据可用性的标志性体现。目前,云计算中的多关键词模糊检索方案存在效率低、安全性差等问题。本次提出的一种基于双陷门技术的混合密文检索方案在性能上更有优势:一方面引入的双索引结构可用来支持多关键词检索;其次,引入的霍夫曼(huffman)编码树和dfsc(dictionarybasedonfuzzysetcon‐struction,基于字典的模糊集结构)改良了索引结构,提高了检索效率且减小了索引存储空间;最后,通过tf‐idf(termfrequency–inversedocumentfrequency)规则隐藏了关键词词频,增加检索过程的安全性。该方法的综合优势体现在能够提高检索的效率和降低索引存储开销。然而,随着云计算技术的不断发展,许多涉及用户隐私信息的数据被上传到云中,使得用户丧失了对这些隐私数据的绝对控制权,这些隐私数据遭到恶意破坏和泄露的安全问题使得用户对存储在云中的数据表示极大的担忧。如云服务提供商saleforce.com受到安全攻击使得大量的云租户的隐私数据遭到泄露与丢失、谷歌公司的两名员工成功侵入租户的googlevoice、gtalk等账户获取隐私信息、苹果icloud的泄露门事件和dropbox的账户密码泄漏事件等。这些隐私数据泄露事件使得云服务提供商对隐私数据的保护也缺乏自信。为了在保护用户隐私,给用户提供有效的检索服务。数据拥有者在上传数据时,本方案为适应多关键词检索和模糊检索生成了双陷门,采取双索引对每个关键词生成一个霍夫曼(huffman)值,数据拥有者在对数据文件和索引加密并上传云服务器端后,由可信第三方向云服务器端返回根据数据使用者的检索请求转换后生成的陷门,最后云服务器向数据用户返回满足检索条件且相关度最高的文件,该过程中云服务器全程都无法获知文件和索引的内容,做到了对数据文件的高度保密性,而目前还少见文献报道。技术实现要素:本发明的目的在于提供一种基于双陷门的混合密文检索方法,应用于多关键词和模糊词密文检索,保护了用户的查询隐私,实现了高效的支持排序的关键词加密搜索,增加了检索过程的安全性并提高了检索的效率和查准率。为了达到上述目的,本发明提供一种基于双陷门的混合密文检索方法,包含以下步骤:s1、数据文件预处理;s2、数据文件加密;s3、索引构造及加密;s4、将检索请求生成陷门向量;s5、用户下载检索文件。上述的一种基于双陷门的混合密文检索方法,其中,所述步骤s1中,对数据文件的预处理包括关键词提取和模糊词集合构造。上述的一种基于双陷门的混合密文检索方法,其中,所述步骤s1中,对初始数据文件集f=(f1,f2,f3,…,fn)和相应的关键词集w=(w'1w'2w'3,...,w'n)进行相关度评分:sc(w′i,f)=∑fn∈fsc(w′i,fn)其中,sc(wi’,f’)为文件集f的总评分,sc(w′i,fn)为文件集f中每一个子集的评分。上述的一种基于双陷门的混合密文检索方法,其中,所述步骤s2中,输入初始数据文件集f=(f1,f2,f3,…,fn),通过对称加密算法对f加密输出密文f’,同时生成相应的指示向量和两个可逆矩阵,最后生成一个三元组密钥sk。上述的一种基于双陷门的混合密文检索方法,其中,所述步骤s3中,数据拥有者先构造单关键词模糊索引和多关键词检索索引,并对所述两个索引进行加密处理,再将加密处理后的索引上传至云服务器。上述的一种基于双陷门的混合密文检索方法,其中,所述步骤s4中,通过单关键词模糊检索的被授权用户向可信第三方发送检索关键词,可信第三方调用陷门生成算法构造陷门集合,其中包括霍夫曼(huffman)编码值。上述的一种基于双陷门的混合密文检索方法,其中,所述步骤s4中,通过多关键词检索的被授权用户发送一系列关键词,可信第三方将多个关键词组合成检索向量,并乘以随机数后加密。上述的一种基于双陷门的混合密文检索方法,其中,所述步骤s5中,通过单关键词模糊检索的数据使用者将霍夫曼(huffman)编码值发送至云服务器,云服务器通过此霍夫曼(huffman)编码值结合索引检索出相应的节点,再将节点下加密的模糊词映射密文,检索该节点下是否含有该密文。上述的一种基于双陷门的混合密文检索方法,其中,所述步骤s5中,多关键词模糊检索中求出评分值,并构建矩阵,计算检索向量和索引的相关度评分,并将评分求和得到最后的相关度评分,最后二者都是利用堆排序返回给用户评分值最高的密文文件的id,并由用户下载检索。本发明的优点和有益效果是:(1)支持多关键词和模糊词密文检索,增加了检索过程的安全性。通过tf‐idf(termfrequency–inversedocumentfrequency)规则隐藏了关键词词频,引入霍夫曼(huffman)树结构并构造双索引结构,通过增加矩阵的维数将索引信息模糊化,云服务器中攻击者若没有密钥无法推断出索引信息,同时陷门的生成和索引关键词计算也有一定的差异,攻击者即使破了陷门加密密码,也无法准确获知真实的关键词,使得除了数据拥有者和被授权的用户以外的任何一方都无法获知数据和索引信息。因此,这大大地保护了数据的安全和用户的查询隐私,增加了检索过程的安全性。(2)实现了高效的支持排序的关键词可加密搜索。通过构造双索引,引入了霍夫曼(huffman)树,对每个关键词进行编码,根据数据用户的检索条件对霍夫曼(huffman)树进行高效的遍历,当遍历到叶子节点时检索条件映射到字典l中,以判断关键词的评分,最后返回给用户评分最高的数据文件。因此,实现了高效的支持排序的关键词加密搜索。(3)提高了检索的效率和查准率。此次提出的设计目标不仅能够实现模糊词检索,而且设计的多关键词检索框架,返回给用户文件同关键词相关度排序的结果,当检索条件不断增多时,检索所用的时间也随之越来越低,效率也就随之提高了。因此,提高了数据文件检索的效率和查准率。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本发明实施例的内容和这些附图获得其他附图。图1是本发明的流程图。具体实施方式以下结合附图,通过详细说明一个较佳的具体实施例,对本发明做进一步阐述。如图1所示,一种基于双陷门的混合密文检索方法,包含以下步骤:s1、数据文件预处理;s2、数据文件加密;s3、索引构造及加密;s4、将检索请求生成陷门向量;s5、用户下载检索文件。进一步地,所述步骤s1中,对数据文件的预处理包括关键词提取和模糊词集合构造。对初始数据文件集f=(f1,f2,f3,…,fn)和相应的关键词集w=(w′1w′2w′3,...,w′n)进行相关度评分。具体的构造过程为:s11、关键词提取:以初始数据文件集f=(f1,f2,f3,…,fn)为输入,通过分词算法提取相应的关键词集w=(w′1w′2w′3,...,w′n),并通过如下所示的公式(1)计算每一个子集的相关度评分sc(w′i,fn),则文件集f的总评分为文件中包含关键词wi的标识符集合为id={id1,id2,id3,…idn}。其中wi指的是关键词,w′i指的是采取分词算法提取后的关键词,|fj|指的是文件的长度,fj,t指的是关键词wi在文件中出现的频率,n表示文件集合中的文件总数,ft表示文件集合中出现关键词wi的频率,sc(w′i,fn)指的是相关度评分,idn指的是由包含关键词的文件标识符,w指的是索引和检索条件中的关键词,对关键词采取分词算法后提取的关键词集合。s12、模糊词集构造:利用dfsc技术为每个关键词w′i构造一个模糊集合其中,d为编辑距离,l为规约所有模糊词wn的字典,指的是编辑距离为d,关键词w′i的模糊词集合。进一步地,所述步骤s2中,输入初始数据文件集f=(f1,f2,f3,…,fn),通过对称加密算法对f加密输出密文f’,同时生成相应的指示向量和两个可逆矩阵,最后生成一个三元组密钥sk。所述的指示向量是通过对称加密算法对文件f生成的具有指示性的向量。数据文件加密的具体方法是:输入初始数据文件集f=(f1,f2,f3,…,fn),通过对称加密算法对f加密输出密文f’,同时生成一个(i+2)位的指示向量y和两个l×l可逆矩阵{n1,n2},最后生成一个三元组密钥sk,为:sk={y,n1,n2}其中f’指的是对文件采取对称加密算法输出后的密文,y指的是生成的一个指示向量,n1,n2指的是生成的两个可逆矩阵。进一步地,所述步骤s3中,数据拥有者先构造单关键词模糊索引和多关键词检索索引,并对所述两个索引进行加密处理,再将加密处理后的索引上传至云服务器。具体的索引构造及加密方法为:s31、构造模糊索引i1,该索引构造中引入霍夫曼(huffman)树来实现。根节点为关键词w′1在文件集f的评分sc(w′1,f),叶子节点为关键词w′1在编辑距离为1到d的模糊关键词,即叶子节点和其根节点构成了霍夫曼(huffman)树的子树将子树进行合并操作,在子树集合中选取sc值最小的两棵子树合并,生成新的节点为左、右子树值sc之和,以此进行合并直到被合并到树中,直到构造成一棵树为止。对每个节点进行霍夫曼(huffman)编码,从sc值最低的叶子结点开始,左、右子树分别标记0、1,然后对每个节点进行编码,构造成最后的霍夫曼(huffman)索引树。其中sc指的是关键词基于tf‐idf规则的相关度评分,即sc(w′1,f),指的是构造的霍夫曼(huffman)树中的子树。s32、构造多关键词检索索引i2,根据预处理步骤中对数据文件集f提取的关键词集合w构造矩阵a'(i×n),计算方法如公式(2)所示。公式(2)中,对矩阵a'(i×n)进行奇异值分解,得a'=c'×d'×e',其中c'(i×s),d'(s×s),e'(s×n),d'为对角矩阵,对角线上为a'的奇异值,在d'中选取较大的k个奇异值(k≤s),在c'中选取k列并且在e'中选取k行,并对矩阵c'和e'降维为k空间大小,然后重新构建矩阵a,a=c'×d'×e'≈a'。最后对对矩阵a的第(i+1)维扩展为随机数θ,θ≠0,第(i+1)维扩展为1,则矩阵变为:其中a'为关键词集w相关数据文件集f的评分矩阵,c'、d'、e'指的是对矩阵a'进行奇异值分解后所得到的矩阵,a指的是根据空间大小所重新构造的矩阵,θ指的是对矩阵扩展的随机数。s33、对索引i1,i2进行加密。i1输出霍夫曼(huffman)编码值;i2输出将加密后的数据文件和索引上传至云服务器。其中指的是求取n1,n2矩阵的转置矩阵。进一步地,所述步骤s4中,通过单关键词模糊检索的被授权用户向可信第三方发送检索关键词,可信第三方调用陷门生成算法构造陷门集合,其中包括霍夫曼(huffman)编码值。所述的陷门指的是数据使用者利用密钥生成的与他输入的关键字集合相对应的安全门限。单关键词模糊检索陷门生成的过程为:被授权用户向可信第三方发送检索关键词q,可信第三方调用陷门生成算法构造陷门集合tq,发送至云服务器的为{tq,f{q}}。其中q指的是数据用户发送的检索关键词,tq指的是陷门集合,为霍夫曼(huffman)码值,由可信第三方通过数据拥有者发送的索引将q转换得出。进一步地,所述步骤s4中,通过多关键词检索的被授权用户发送一系列关键词,可信第三方将多个关键词组合成检索向量,并乘以随机数后加密。所述的检索向量指的是将检索请求通过数学中的向量模式来表达。多关键词模糊检索陷门生成的过程为:被授权用户给出了一系列关键词,首先可信第三方将给出的多个关键词组合成检索向量p,将p扩展成第(i+1)维为1,再乘以随机数τ,(τ≠0),再将第(i+2)维设为随机数σ,则向量p扩展为(i+2)维,加密后得其中p指的是检索向量,p1,p2指的是扩展后的随机向量,τ,σ指的是选取的随机数。进一步地,所述步骤s5中,通过单关键词模糊检索的数据使用者将霍夫曼(huffman)编码值发送至云服务器,云服务器通过此霍夫曼(huffman)编码值结合索引检索出相应的节点,再将节点下加密的模糊词映射密文,检索该节点下是否含有该密文。单关键词检索中数据使用者发送陷门集合至云服务器,云服务器通过数据使用者发送的陷门tq中含有的霍夫曼(huffman)编码,并根据索引i1,检索出相应的节点,再将节点下加密的模糊词映射密文q,检索该节点下是否含有该密文q。此时,相应的sc值已被检索到。利用堆排序算法返回给用户sc值最高的密文文件的id,用户进行下载解密。其中q指的是使用霍夫曼(huffman)编码对模糊词加密后映射的密文。进一步地,所述步骤s5中,多关键词模糊检索中求出评分值,并构建矩阵,计算检索向量和索引的相关度评分,并将评分求和得到最后的相关度评分,最后二者都是利用堆排序返回给用户评分值最高的密文文件的id,并由用户下载检索。所述的相关度评分指的是基于tf‐idf规则的用于度量关键词和文件之间的关联程度的标准。所述的id指的是唯一的能够标识文档的id符号,此标识符是由服务器提供。多关键词模糊检索中按照上述的单关键词模糊检索的步骤求出每个关键词的评分值记为sc',并将sc'构建成如公式(3)所示的矩阵a″,计算检索向量p和索引i2的相关度得分sc,如公式(4)所示。并将评分求和得到最后的相关度评分sc如公式(5)所示。将sc值进行堆排序,返回给用户sc值最高的密文文件id,由用户最后从云服务器下载检索即可。具体计算公式如下:sc=τ(a·pt+θ)+σ+a″(5)实施例假定目前从springer,elsevier和中国知网上随机下载了50000份英文文献作为测试数据,以ram为4g,cpu主频2.40ghz的pc机作为测试平台进行仿真实验,设置文件份数为5000、10000、20000、30000、40000、50000检索关键词个数为5、10、20、30、40、50时对密文检索中索引生成时间、存储开销、检索效率这三个重要参数进行仿真实验,并与代表性的lijin(音译:李进)所提出适用于云计算的模糊关键词检索方案进行对比,所得数据如下表所示。表1索引生成时间文件数/份50001000020000300004000050000本发明/s0.350.521.021.331.622.2lijin的方案/s0.240.280.340.510.721由表1可以看出随着检索文件份数的增加,本发明索引生成时间持续增长,而lijin的方案索引生成的时间增长较慢,因本发明为满足多关键词模糊检索,生成双索引,而lijin的方案仅支持单模糊词检索,因此本发明生成索引时间耗损大,在50000份文件时耗损为lijin的方案的2倍多。表2索引存储空间文件数/份50001000020000300004000050000本发明/gb2.84.98.212.316.820.4lijin的方案/gb2.55.111.416.822.427.8表2中就两种方案就索引开销进行比较,尽管本发明采用双索引,但如步骤s31中所构造的索引i1采用霍夫曼(huffman)编码树构建索引,且叶子节点模糊词均为如步骤s12中所述的同一字典l映射,减少引入模糊集合存储空间。lijin的方案则是随着文件数增长,产生的模糊集合所占用的存储空间也变大。由表2可见lijin的方案索引占用空间随着文件数增长,比本发明高出接近50%。表3检索效率检索条件/个51020304050本发明/s1.491.511.641.731.872.01lijin的方案/s1.481.622.212.723.233.83根据表3可看出,随着检索条件的增多,本发明的优势充分展示出来。其特点是随着提供的检索条件的增多,检索所用时间越来越低。而lijin的方案因需要对关键词逐个检索,检索时间损耗随着检索条件增多而增多。由表3可见当检索条件为5时所用时间相同,当检索条件为50时,本发明检索效率提高了50%。以上结合附图详细说明了本发明的技术方案,尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1