一种基于关键词语义排序的可搜索加密方法技术

技术编号:19858612 阅读:37 留言:0更新日期:2018-12-22 11:56
本发明专利技术公开了一种基于关键词语义排序的可搜索加密方法,包含以下步骤:数据拥有者生成加密密钥并发送给授权用户,然后从明文文档集中抽取关键词,根据关键词构建文档标记向量发送给私有云服务器,创建安全索引树发送给公有云服务器;授权用户将搜索关键词生成的查询标记向量发送给私有云服务器,将生成的查询陷门发送给公有云服务器;私有云服务器对查询标记向量与文档标记向量进行匹配,将可能满足用户查询请求的安全索引标识符集合发送给公有云服务器;公有云服务器计算文档相似度,对计算结果排序,并将相似度最高的密文文档集返回给授权用户。本发明专利技术通过实现多关键词语义排序方法,在保障数据隐私安全的同时,有效提高检索效率。

【技术实现步骤摘要】
一种基于关键词语义排序的可搜索加密方法
本专利技术涉及云安全领域,特别涉及一种基于关键词语义排序的可搜索加密方法。
技术介绍
随着云技术的飞速发展,越来越多的用户将自己的数据外包给云服务器,但是云服务器在为用户提供高质量的数据存储服务的同时,也对用户的数据隐私产生了很大的威胁。为了保证用户的敏感数据不被泄露,数据拥有者在将数据上传到云服务器之前,大多采用密码技术,将数据加密存储,于是,一些关于加密数据的搜索技术应运而生。将数据加密后存储在云服务器中,无论是云服务器管理员还是外部攻击者都无法获取数据真实内容,保护了用户的隐私性。但这给密文数据的信息检索带来了极大挑战,特别是在非可信环境下,如何对密文提供高效安全的搜索方案引起了普遍关注。可搜索加密技术最早被提出时,是使用对称密钥对文档中的每个单词采用双层结构加密,但是全文搜索的方式效率太低,后又被提出基于关键词的公钥可搜索加密系统,使得任何拥有公钥的用户都可以向服务器存储数据,只有拥有私钥的用户才可以搜索关键词,但是这种基于双线性对的结构使得检索效率很低,不适合大规模数据的云计算环境。为了更好满足搜索请求,关键词模糊搜索方案被提出,通过构造关键词模糊集,来容忍用户搜索时输入拼写错误和格式不一致的情况,但是缺点是无法搜索与关键词语义相关的文档。现有的研究方法中虽然有些加密方法支持语义模糊搜索、多关键词搜索、并行搜索、相似性检索等检索方法,但是却不能将语义相似度参与到文档的评分中。
技术实现思路
本专利技术的目的在于提供一种基于关键词语义排序的可搜索加密方法,在带关键词语义模糊搜索的基础上,通过对关键词进行提取,构建索引向量,使用关键词语义作为文档特征,实现了多关键词排序密文检索,使得用户能够快速找到最相关数据,减轻了网络流量方面的开销,提高了搜索的精确性。此外,通过利用混合云模型,即系统模型中包含一个公有云服务器和一个私有云服务器,最大限度地利用服务器资源,降低终端的计算开销,同时使模型具有较高的安全性。为了达到以上目的,本专利技术提供了一种基于关键词语义排序的可搜索加密方法,该方法包含以下步骤:S1、数据拥有者从明文文档集中抽取关键词,得到关键词集合,再生成一个加密明文文档集的密钥SK,并将生成的加密明文文档集的密钥SK发送给授权用户;S2、数据拥有者根据关键词集合构建文档标记向量并创建安全索引树,然后将文档标记向量发送给私有云服务器,将安全索引树发送给公有云服务器;S3、数据拥有者使用密钥SK对明文文档集进行加密,得到密文文档集,将得到的该密文文档集发送给公有云服务器;S4、授权用户输入要搜索的关键词集合,根据要搜索的关键词集合得到查询标记向量和陷门,然后将该查询标记向量发送给私有云服务器,将该陷门发送给公有云服务器;S5、私有云服务器对授权用户发送的查询标记向量与数据拥有者发送的文档标记向量进行匹配,得到可能包含关键词的候选索引标识符集合,然后将该候选索引标识符集合发送给公有云服务器;S6、公有云服务器接收到私有云服务器发送的候选索引标识符集合,根据候选索引标识符集合和数据拥有者发送的安全索引树,将对应的加密后的文档索引向量和授权用户发送的陷门计算文档的相似度分数并排序,返回给授权用户前k篇密文文档,其中安全索引树的每一个叶子节点都对应一个文档索引向量,叶子结点中存放的文档索引向量每一维的值是该维向量对应关键词的TF值;其中,k为满足授权用户需求的密文文档数目,该TF值表示某一给定关键词在一个文档中出现的频率;S7、授权用户使用密钥SK,对公有云服务器返回的前k篇密文文档进行解密,得到相应明文文档。优选地,所述步骤S1中进一步包含以下步骤:S1.1、数据拥有者从明文文档集F=(f1,f2,…,fm)中抽取关键词,得到关键词集合W=(w1,w2,…,wn),其中w1,w2,…,wn分别为抽取的各个关键词;S1.2、数据拥有者随机产生一个n维向量S,该向量S每一维的值都是随机生成,取值只能为1或0;S1.3、数据拥有者随机产生两个n×n维的可逆矩阵M1和M2,两个矩阵每一维的值也是随机生成的,n为关键词集合中的关键词个数;S1.4、数据拥有者随机选择两个密钥sk1和sk2;其中加密明文文档集F的密钥SK是一个五元组,表示为{S,M1,M2,sk1,sk2}。优选地,所述步骤S2中进一步包含以下步骤:S2.1、构建文档标记向量B:对于明文文档集F中每个文档fi,首先生成一个n维文档向量D=(D1,D2,…,Di,…,Dn),其中i∈{1,2,…,n},该n为关键词集合中的关键词个数,文档向量D中的Di的值设置为对应关键词在当前明文文档集F中的TF值;若明文文档集F不包含该关键词,则将Di设为0;文档标记向量的每一维对应关键词集合中的一个关键词,将文档向量D均分为u块,如果某个块全为0,则标记值bbi=0,否则bbi=1,得到文档标记向量B=(bb1,bb2,…,bbi,…,bbu),其中i∈{1,2,…,u};S2.2、构建安全索引树I:安全索引树I的每个叶子节点对应一个n维文档索引向量V=(V1,V2,…,Vi,…,Vn),对于明文文档集F中的每个文档fi生成一个叶子节点,由于明文文档集F中有m个文档,则安全索引树I中有m个叶子节点,叶子节点中存放每个文档对应的文档索引向量V,若该叶子节点对应的文档fi包含该关键词,则V中Vi的值为1,否则为0;对于安全索引树I中的每个中间节点v,均存放一个n维文档索引向量V=(Vv[1],Vv[2],…,Vv[i],…,Vv[n]),若中间节点v的左孩子或右孩子节点中存放的文档索引向量不等于0,Vv[i]=1,否则Vv[i]=0,i为关键词wi在关键词集合W中的顺序;若Vv[i]=1,则表示至少存在一条从中间节点v到某一包含关键词wi的叶子节点的路径;S2.3、数据拥有者对安全索引树I叶子节点中的文档索引向量V进行加密:对于每个叶子节点中文档索引向量V=(V1,V2,…,Vi,…,Vn)中的Vi被分裂成两个随机变量{Vi',Vi”};该分裂方法为:使用数据拥有者随机产生的n维向量S作为分裂指示器,如果S的第j维值为0,则将Vi'[j]和Vi”[j]的值设置为与Vi[j]相同,如果S的第j维值为1,则随机设置Vi'[j]和Vi”[j]的值,保证两者之和等于Vi[j],然后用密钥SK对Vi'和Vi”加密,得到加密后的文档索引向量将加密后的文档索引向量V存放在文档索引向量V的叶子节点中,并删除相应的Vi;其中,由于V被分裂成两个随机变量,密钥SK对Vi'加密结果为Vi',对Vi”加密结果为Vi”,M1和M2为数据拥有者随机产生的两个n×n维的可逆矩阵;S2.4、数据拥有者将安全索引树I发送给公有云服务器,将文档标记向量B发送给私有云服务器。优选地,所述步骤S4中进一步包含以下步骤:S4.1、授权用户输入要搜索的关键词集合W'=(w1',w'2,…,w'n),并为该搜索请求生成一个n维查询标记向量Q=(Q1,Q2,…,Qi,…,Qn),其中查询标记向量Q=(Q1,Q2,…,Qi,…,Qn)的每一维对应关键词集合中的一个关键词,即Qi对应W中的关键词Wi,其中i∈{1,2,…,n},如果关键词Wi在要搜索的关键词集合W’中,则将Q本文档来自技高网...

【技术保护点】
1.一种基于关键词语义排序的可搜索加密方法,其特征在于,该方法包含以下步骤:S1、数据拥有者从明文文档集中抽取关键词,得到关键词集合,再生成一个加密明文文档集的密钥SK,并将生成的加密明文文档集的密钥SK发送给授权用户;S2、数据拥有者根据关键词集合构建文档标记向量并创建安全索引树,然后将文档标记向量发送给私有云服务器,将安全索引树发送给公有云服务器;S3、数据拥有者使用密钥SK对明文文档集进行加密,得到密文文档集,将得到的该密文文档集发送给公有云服务器;S4、授权用户输入要搜索的关键词集合,根据要搜索的关键词集合得到查询标记向量和陷门,然后将该查询标记向量发送给私有云服务器,将该陷门发送给公有云服务器;S5、私有云服务器对授权用户发送的查询标记向量与数据拥有者发送的文档标记向量进行匹配,得到可能包含关键词的候选索引标识符集合,然后将该候选索引标识符集合发送给公有云服务器;S6、公有云服务器接收到私有云服务器发送的候选索引标识符集合,根据候选索引标识符集合和数据拥有者发送的安全索引树,将对应的加密后的文档索引向量和授权用户发送的陷门计算文档的相似度分数并排序,返回给授权用户前k篇密文文档,其中安全索引树的每一个叶子节点都对应一个文档索引向量,叶子结点中存放的文档索引向量每一维的值是该维向量对应关键词的TF值;其中,k为满足授权用户需求的密文文档数目,该TF值表示某一给定关键词在一个文档中出现的频率;S7、授权用户使用密钥SK,对公有云服务器返回的前k篇密文文档进行解密,得到相应明文文档。...

【技术特征摘要】
1.一种基于关键词语义排序的可搜索加密方法,其特征在于,该方法包含以下步骤:S1、数据拥有者从明文文档集中抽取关键词,得到关键词集合,再生成一个加密明文文档集的密钥SK,并将生成的加密明文文档集的密钥SK发送给授权用户;S2、数据拥有者根据关键词集合构建文档标记向量并创建安全索引树,然后将文档标记向量发送给私有云服务器,将安全索引树发送给公有云服务器;S3、数据拥有者使用密钥SK对明文文档集进行加密,得到密文文档集,将得到的该密文文档集发送给公有云服务器;S4、授权用户输入要搜索的关键词集合,根据要搜索的关键词集合得到查询标记向量和陷门,然后将该查询标记向量发送给私有云服务器,将该陷门发送给公有云服务器;S5、私有云服务器对授权用户发送的查询标记向量与数据拥有者发送的文档标记向量进行匹配,得到可能包含关键词的候选索引标识符集合,然后将该候选索引标识符集合发送给公有云服务器;S6、公有云服务器接收到私有云服务器发送的候选索引标识符集合,根据候选索引标识符集合和数据拥有者发送的安全索引树,将对应的加密后的文档索引向量和授权用户发送的陷门计算文档的相似度分数并排序,返回给授权用户前k篇密文文档,其中安全索引树的每一个叶子节点都对应一个文档索引向量,叶子结点中存放的文档索引向量每一维的值是该维向量对应关键词的TF值;其中,k为满足授权用户需求的密文文档数目,该TF值表示某一给定关键词在一个文档中出现的频率;S7、授权用户使用密钥SK,对公有云服务器返回的前k篇密文文档进行解密,得到相应明文文档。2.如权利要求1所述的一种基于关键词语义排序的可搜索加密方法,其特征在于,所述步骤S1中进一步包含以下步骤:S1.1、数据拥有者从明文文档集F=(f1,f2,…,fm)中抽取关键词,得到关键词集合W=(w1,w2,…,wn),其中w1,w2,…,wn分别为抽取的各个关键词;S1.2、数据拥有者随机产生一个n维向量S,该向量S每一维的值都是随机生成,取值只能为1或0;S1.3、数据拥有者随机产生两个n×n维的可逆矩阵M1和M2,两个矩阵每一维的值也是随机生成的,n为关键词集合中的关键词个数;S1.4、数据拥有者随机选择两个密钥sk1和sk2;其中加密明文文档集F的密钥SK是一个五元组,表示为{S,M1,M2,sk1,sk2}。3.如权利要求2所述的一种基于关键词语义排序的可搜索加密方法,其特征在于,所述步骤S2中进一步包含以下步骤:S2.1、构建文档标记向量B:对于明文文档集F中每个文档fi,首先生成一个n维文档向量D=(D1,D2,…,Di,…,Dn),其中i∈{1,2,…,n},该n为关键词集合中的关键词个数,文档向量D中的Di的值设置为对应关键词在当前明文文档集F中的TF值;若明文文档集F不包含该关键词,则将Di设为0;文档标记向量的每一维对应关键词集合中的一个关键词,将文档向量D均分为u块,如果某个块全为0,则标记值bbi=0,否则bbi=1,得到文档标记向量B=(bb1,bb2,…,bbi,…,bbu),其中i∈{1,2,…,u};S2.2、构建安全索引树I:安全索引树I的每个叶子节点对应一个n维文档索引向量V=(V1,V2,…,Vi,…,Vn),对于明文文档集F中的每个文档fi生成一个叶子节点,由于明文文档集F中有m个文档,则安全索引树I中有m个叶子节点,叶子节点中存放每个文档对应的文档索引向量V,若该叶子节点对应的文档fi包含该关键词,则V中Vi的值为1,否则为0;对于安全索引树I中的每个中间节点v,均存放一个n维文档索引向量V=(Vv[1],Vv[2],…,Vv[i],…,Vv[n]),若中间节点v的左孩子或右孩子节点中存放的文档索引向量不等于0,Vv[i]=1,否则Vv[i]=0,i为关键词wi在关键词集...

【专利技术属性】
技术研发人员:肖婷婷韩德志王军毕坤段乐天
申请(专利权)人:上海海事大学
类型:发明
国别省市:上海,31

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

1