当前位置: 首页 > 专利查询>福州大学专利>正文

一种排序可验证的语义模糊可搜索加密方法技术

技术编号:15910821 阅读:26 留言:0更新日期:2017-08-01 22:30
本发明专利技术涉及一种排序可验证的语义模糊可搜索加密方法,首先,引入相关度分数和域加权得分,获得了更加准确的索引结构。接着,基于WordNet词典集对查询关键词进行语义拓展,并综合语义相似度和加密分数,设计了双因子排序算法对搜索结果进行精确排序。最后,运用布隆过滤器和消息认证码,对关键词、索引、密文进行全面而有效的验证。本发明专利技术不仅实现了语义模糊搜索,并且能够对搜索结果进行排序,特别是在现有可验证方案验证结果精确性、完整性的基础上,补充了排序可验证功能。

A sort of verifiable semantic fuzzy searchable encryption method

The present invention relates to a sort of verifiable semantic fuzzy searchable encryption method. Firstly, a correlation index and a domain weighted score are introduced, and a more accurate index structure is obtained. Then, based on the WordNet dictionary set, semantic expansion of query keywords, and the combination of semantic similarity and encryption scores, a two factor sorting algorithm is designed to sort the search results accurately. Finally, using Bloom filter and message authentication code, to conduct a comprehensive and effective verification of keywords, and the ciphertext index. The invention not only realizes semantic fuzzy search, and can sort the search results, especially in the existing results verified the accuracy and integrity of the foundation, added the sort of verifiable function.

【技术实现步骤摘要】
一种排序可验证的语义模糊可搜索加密方法
本专利技术涉及云计算领域,特别是一种排序可验证的语义模糊可搜索加密方法。
技术介绍
随着云计算的发展,越来越多用户将数据外包给公有云服务器,极大减轻了本地的计算和存储开销。然而如果将敏感数据,例如:未发表的论文或专利、私人电子健康记录、公司财税报告等,以明文的形式存储在云服务器中,则有可能面临被云端管理员或攻击者窥视和窃取的风险。因此,为了保障数据安全和用户隐私,许多敏感数据在外包之前需要进行加密。但这又使得传统的明文搜索技术难以使用,给高效的数据利用带来了挑战。为了解决在密文中进行搜索的难题,Song率先开始进行可搜索加密技术的研究并提出了可行的方案。早先的可搜索加密方案主要致力于精确关键词搜索,当用户输入的关键词匹配上预定义的关键词时,就能返回搜索结果。然而在用户输入搜索关键词时,由于粗心或遗忘等原因,很可能出现拼写错误或格式不匹配的情况。为此,Li率先提出模糊关键词可搜索加密方案,即使查询条件无法完全匹配预定义关键词,也能以较大的概率找到相关文档,极大改善了用户的搜索体验。但是,现有的模糊搜索方案中,大部分只考虑了关键词字符上的模糊,而忽视了关键词语义上的模糊。为了实现语义模糊搜索,Fu对文档关键词进行同义词拓展,通过计算内积的方式,实现了支持同义词查询的多关键词排序搜索方案。Xia为文档集创建倒排索引,再结合语义相似库对查询关键词进行语义拓展,实现了语义拓展的排序搜索方案。然而,这些方案无法对返回的搜索结果进行验证。在密文搜索的环境下,Chai提出了“半诚实且好奇”的云服务器模型,服务器提供商为了节省计算量和带宽资源,可能仅仅执行了部分搜索操作或返回部分搜索结果。为此文章提出了基于单词查找树索引结构的可验证的可搜索加密方案。Wang在关键词模糊搜索的基础上,通过构造符号索引树,提出了可验证的关键词模糊搜索方案。Sun采用向量空间模型和MDB树结构,实现了可验证的多关键词排序搜索方案。虽然这些方案都支持可验证功能,却无法支持语义模糊搜索。Lin基于通过构造校验和的方式,实现了可验证的语义模糊搜索。Fu通过TST树对关键词进行语义拓展,并同样借助符号索引树结构,提出了可验证的语义模糊搜索方案。然而,以上可验证方案都无法验证搜索结果排序后的次序是否正确,即无法实现排序可验证的功能。
技术实现思路
有鉴于此,本专利技术的目的是提出一种排序可验证的语义模糊可搜索加密方法,既支持语义模糊搜索,又能够对搜索结果的排序进行验证。本专利技术采用以下方案实现:一种排序可验证的语义模糊可搜索加密方法,包括数据拥有者,授权用户和云服务器,具体包括以下步骤:步骤S1:数据拥有者输入一个安全参数λ,生成文档加密密钥sk、单向哈希函数的密钥hk,保序加密函数的密钥ek;将密钥sk、hk发送给授权用户;步骤S2:依次进行抽取关键词、计算相关度分数、计算域加权得分、创建倒排索引、加密倒排索引;所述抽取关键词为:数据拥有者对文档集F=(f1,f2,…,fm)抽取关键词,得到关键词集合W=(w1,w2,…,wn);所述计算相关度分数为:引入tf-idf权值计算方法计算关键词相关度分数S:其中,|f|表示文档f的长度,tft,f表示关键词t在某篇文档f中出现的频率;N表示所有文档数量,dft表示包含关键词t的文档数量;所述计算域加权得分为:在不同域中的关键词通常具有不同的重要性,标题、摘要、正文中的关键词重要性依次递减;给定一系列文档,假定每篇文档有t个域,其对应权重系数分别是k1,…kt∈[0,1],它们满足:令si为查询关键词和文档的第i个域的匹配得分,其中,1和0分别表示匹配上和没匹配上,定义域加权评分为:所述创建倒排索引为:为关键词wi∈W创建索引其中,idj表示包含wi的文档fj的标识符,表示wi在fj中的相关度分数,表示wi在fj中的域加权得分;所述加密倒排索引为:为了保护相关度分数与域加权得分的隐私性,需要进行加密操作;引入密钥为ek的非线性保序加密函数OPE(·),将加密为即使处于密文状态,云服务器仍然可以对其进行高效排序;为了保障关键词wi∈W的隐私安全,使用带密钥hk的哈希函数将其加密为h(wi);因此,经过加密后的索引为最后,数据拥有者将索引集合上传给云服务器;步骤S3:数据拥有者使用密钥为sk的对称加密算法对文档集合F=(f1,f2,…,fm)进行加密,得到密文集合C=(c1,c2,…,cm)并上传给云服务器;步骤S4:当授权用户搜索时,首先输入u个感兴趣的关键词Λ=(q1,q2,…,qu),基于WordNet创建语义拓展树,考虑关键词qi多词性多词义的情况,并且进行上义词、同义词、下义词的语义拓展;计算原单词qi和拓展词之间的语义相似度只选取最相关的前σ个拓展词,最后得到语义拓展集合Q=(q1,q2,…,qu,α1,…,ασ);将Q中的元素qi(1≤i≤u)或αj(1≤j≤σ)统一表示为βz(1≤z≤u+σ),即Q=(β1,β2,…,βu+σ);使用密钥hk生成陷门TQ=(h(β1),h(β2),…,h(βu+σ));最后,将TQ上传到云服务器;步骤S5:依次进行遍历倒排索引与双因子排序;所述遍历倒排索引为:云服务器接收到陷门TQ后,依次将h(βz)∈TQ与倒排索引中的h(wi)进行匹配;若h(βz)=h(wi),则找到对应的索引所述双因子排序为:首先根据查询关键词h(βz)对应的语义相似度Zz由大到小的顺序,对h(βz)匹配到的索引Ii进行排序;再根据每个索引Ii中的加密分数对文档标识符idj进行排序;最后,根据idj返回top-k篇密文C'=(c1,c2,…,ck);步骤S6:授权用户使用数据拥有者分发的密钥sk,将top-k篇密文C'=(c1,c2,…,ck)解密,获得所需的明文。进一步地,所述步骤S4具体包括以下步骤:步骤S41:创建语义拓展树:给定关键词Λ=(q1,q2,…,qu),利用WordNet进行语义拓展;步骤S42:进行语义相似度计算:计算原单词和拓展词之间的语义相似度Z,只选取最相关的前σ个拓展词,得到语义拓展集合Q=(q1,q2,…,qu,α1,…,ασ);计算两个关键词之间的相似度分数:其中,F(w)表示关键词w包含的特征集合,IC(S)表示特征集合S中包含的信息内容,其计算方法如下:IC(S)=-Σf∈SlogP(f);其中,P(f)是特征f的出现概率,通过计算含有特征f的关键词在语料库中的百分比,可以得到P(f);当两个关键词有完全相同的特征时,它们的相似度分数为最大值1,而两个关键词没有任何相同的特征时,它们的相似度分数为0。进一步地,还包括一验证过程,数据拥有者首先构造出验证信息,连同索引上传给云服务器;接着,用户提交陷门进行搜索,云服务器返回搜索结果以及相应验证信息;最后,用户在本地对搜索结果进行验证;具体包括以下步骤:步骤S11:验证信息的准备:数据拥有者在构建完安全索引后,为了能让搜索用户快速检测搜索集合Q=(β1,β2,…,βu+σ)中的查询关键词βz(1≤z≤u+σ)是否存在于关键词集合W=(w1,w2,…,wn)中,将所有密文关键词h(wi)插入布隆过滤器BLW中,并使用密钥为mk的函数Mac(·)计算消息认证码另外,为了实本文档来自技高网
...
一种排序可验证的语义模糊可搜索加密方法

【技术保护点】
一种排序可验证的语义模糊可搜索加密方法,其特征在于:包括数据拥有者,授权用户和云服务器,包括以下步骤:步骤S1:数据拥有者输入一个安全参数λ,生成文档加密密钥sk、单向哈希函数的密钥hk,保序加密函数的密钥ek;将密钥sk、hk发送给授权用户;步骤S2:依次进行抽取关键词、计算相关度分数、计算域加权得分、创建倒排索引、加密倒排索引;所述抽取关键词为:数据拥有者对文档集F=(f1,f2,…,fm)抽取关键词,得到关键词集合W=(w1,w2,…,wn);所述计算相关度分数为:引入tf‑idf权值计算方法计算关键词相关度分数S:

【技术特征摘要】
1.一种排序可验证的语义模糊可搜索加密方法,其特征在于:包括数据拥有者,授权用户和云服务器,包括以下步骤:步骤S1:数据拥有者输入一个安全参数λ,生成文档加密密钥sk、单向哈希函数的密钥hk,保序加密函数的密钥ek;将密钥sk、hk发送给授权用户;步骤S2:依次进行抽取关键词、计算相关度分数、计算域加权得分、创建倒排索引、加密倒排索引;所述抽取关键词为:数据拥有者对文档集F=(f1,f2,…,fm)抽取关键词,得到关键词集合W=(w1,w2,…,wn);所述计算相关度分数为:引入tf-idf权值计算方法计算关键词相关度分数S:其中,|f|表示文档f的长度,tft,f表示关键词t在某篇文档f中出现的频率;N表示所有文档数量,dft表示包含关键词t的文档数量;所述计算域加权得分为:在不同域中的关键词通常具有不同的重要性,标题、摘要、正文中的关键词重要性依次递减;给定一系列文档,假定每篇文档有t个域,其对应权重系数分别是k1,…kt∈[0,1],它们满足:令si为查询关键词和文档的第i个域的匹配得分,其中,1和0分别表示匹配上和没匹配上,定义域加权评分为:所述创建倒排索引为:为关键词wi∈W创建索引其中,idj表示包含wi的文档fj的标识符,表示wi在fj中的相关度分数,表示wi在fj中的域加权得分;所述加密倒排索引为:为了保护相关度分数与域加权得分的隐私性,需要进行加密操作;引入密钥为ek的非线性保序加密函数OPE(·),将加密为即使处于密文状态,云服务器仍然可以对其进行高效排序;为了保障关键词wi∈W的隐私安全,使用带密钥hk的哈希函数将其加密为h(wi);因此,经过加密后的索引为最后,数据拥有者将索引集合上传给云服务器;步骤S3:数据拥有者使用密钥为sk的对称加密算法对文档集合F=(f1,f2,…,fm)进行加密,得到密文集合C=(c1,c2,…,cm)并上传给云服务器;步骤S4:当授权用户搜索时,首先输入u个感兴趣的关键词Λ=(q1,q2,…,qu),基于WordNet创建语义拓展树,考虑关键词qi多词性多词义的情况,并且进行上义词、同义词、下义词的语义拓展;计算原单词qi和拓展词之间的语义相似度只选取最相关的前σ个拓展词,最后得到语义拓展集合Q=(q1,q2,…,qu,α1,…,ασ);将Q中的元素qi(1≤i≤u)或αj(1≤j≤σ)统一表示为βz(1≤z≤u+σ),即Q=(β1,β2,…,βu+σ);使用密钥hk生成陷门TQ=(h(β1),h(β2),…,h(βu+σ));最后,将TQ上传到云服务器;步骤S5:依次进行遍历倒排索引与双因子排序;所述遍历倒排索引为:云服务器接收到陷门TQ后,依次将h(βz)∈TQ与倒排索引中的h(wi)进行匹配;若h(βz)=h(wi),则找到对应的索引所述双因子排序为:首先根据查询关键词h(βz)对应的语义相似度Zz由大到小的顺序,对h(βz)匹配到的索引Ii进行排序;再根据每个索引Ii中的加密分数对文档标识符idj进行排序;最后,根据idj返回top-k篇密文C'=(c1,c2,…,ck);步骤S6:授权用户使用数据拥有者分发的密钥sk,将top-k篇密文C'=(c1,c2,…,ck)解密,获得所需的明文。2.根据权利要求1所述的一种排序可验证的语义模糊可搜索加密方法,其特征在于:所述步骤S4具体包括以下步骤:步骤S41:创建语义拓展树:给定关键词Λ=(q1,q2,…,qu),利用W...

【专利技术属性】
技术研发人员:杨旸杨书略刘西蒙钟尚平蔡圣暐刘佳李光滟柯闽
申请(专利权)人:福州大学
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1