[发明专利]一种密文的多关键字分级安全检索方法在审

专利信息
申请号: 201710827310.4 申请日: 2017-09-14
公开(公告)号: CN107704768A 公开(公告)日: 2018-02-16
发明(设计)人: 蒋雁梅;韩德志;毕坤;王军;田秋亭 申请(专利权)人: 上海海事大学
主分类号: G06F21/62 分类号: G06F21/62;G06F17/30;H04L9/00;H04L9/30;H04L29/06;H04L29/08
代理公司: 上海三和万国知识产权代理事务所(普通合伙)31230 代理人: 陈伟勇
地址: 201306 上海市*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要: 一种密文的多关键字分级安全检索方法,通过对云存储服务器中数据拥有者上传的密文文件集和索引进行分级检索。数据使用者发送一个检索请求生成一个陷门向量后,数据拥有者使用同态加密算法将该陷门向量形成安全陷门向量并上传云存储服务器,被授权的数据使用者能获取解密秘钥并对云存储服务器计算陷门和安全索引内积的密文,返回加密的相关性分数序列并解密排序,选取前k个相关性分数最高的文件标识符发送给云存储服务器,最后通过云存储服务器返回最相关的文件到数据的使用者。本发明不仅解决了云环境下用户的隐私与数据安全的问题,而且降低了通信开销,解决了密文的检索问题。
搜索关键词: 一种 关键字 分级 安全 检索 方法
【主权项】:
一种密文的多关键字分级安全检索方法,其特征在于,该方法包括以下步骤:步骤1、使用同态加密算法生成公私钥:数据拥有者要将文件集中包含的所有文件上传至云存储服务器,上传之前需要对文件集进行加密,数据拥有者调用KeyGen生成同态加密算法的公私钥PK,SK,调用KeyGen生成同态加密算法的公私钥PK,SK的算法为;g=1+kn  (2)y=ga mod n2  (3)y”=z1az2tn mod n2  (4)λ=lcm(p‑1,q‑1)  (5)则公钥PK=(y,y’,y”,z1,N),私钥SK=(a,t,λ,λ/t),其中,g指的是算法的基,k是系统参数,p和q是n比特长度的大素数,指的是同态加密方案,包含密钥生成算法,加密算法和解密算法,p,q,n是通过运行获取得到,且满足n=pq,a,k是随机选取的,λ指的是求取其最小公倍数,t指的是λ的任意一个因子,z1,z2∈Zn*,y’=(g’)a mod n2,而g’=gab mod n2,可以带入运算所得;其中加密算法Enc具体如下:Bx=yb mod n2  (6)B’x=(y’)b mod n2  (7)C1=Z1b(r+1)mod n2  (8)C=Bxmt B’x(y”)br mod n2  (9)其中r,r1是随机选取的,b∈Zn*;其中解密算法Dec具体如下:m=(Γ((C·C1tn-a)λt)Γ(C2λmodn2)modn)-a---(10)]]>其中m指的是根据解密算法得到的密钥,Γ指的是数学上的与阶乘有关的运算的函数;所述的KGen算法指的是同态加密方案中的密钥生成算法;所述的PK指的是同态算法生成的公钥,SK指的是同态算法生成的私钥;步骤2、对文件向量构成可搜索索引:数据拥有者从包含的所有数据集中提取所有关键字集合,并且计算每个关键字的词频和逆文件频率,计算每个关键字的词频和逆文件频率计算公式为:ti,j=tf‑idfwj,fi(1≤j≤l)  (11)其中tf指的是每个关键字的词频,idf指的是逆文件频率;F:收集的n个纯文本数据文档表示为:F={Fi,i=1,…,n};C:收集的存储在云存储服务器端的n个加密数据文档集合表示为:C={fi,i=1,…,n};W:数据拥有者设定了n个关键字集合,与其对应的数据文档表示为:W={Wi,i=1,…n};对每个文件生成文件向量,对所有的文件向量构成可搜索索引并使用同态加密算法进行加密生成安全的可搜索索引,构建索引为BuildIndex(C,PK)其中C指的是基于文件的数据集合;对于每个文件fi∈C,数据拥有者生成一个l+1维的文件向量vi=(idi,ti,1,ti,2,…,ti,i),所有的文件向量构成可搜索索引,其计算公式为:I={vi|1≤i≤n}  (12)数据拥有者使用同态加密算法加密可搜索索引后生成的安全的可搜索索引为:I'={v'i|1≤i≤n},具体的计算公式为:V’i={id’i,t’i,1,t’i,2,…,t’i,i}  (13)id’i=Henc(Ri,0,idi)  (14)t’i,j=Henc(Ri,j,ti,j)  (15)其中,I指的是数据拥有者构建的索引,I'指的是使用同态加密算法加密后生成的安全的可搜索索引,数据拥有者选取一个对称密码算法Enc(·),例如AES,对文件集合进行加密,最后加密的文件集合C'={f'1,f'2,...,f'n}和安全索引I'被发送到云存储服务器端;所述可搜索索引指的是为文件集合中每一个文件生成一个它所包含的所有关键字的序列;所述的词频指的是某一个关键字在该文件中出现的频率;所述的逆文件频率指的是对一个关键字普遍重要性的度量;所述的同态加密算法指的是允许直接对密文进行操作的加密变换算法。步骤3、将检索请求生成陷门向量:当数据使用者想要检索某些包含特定关键字的文件时,检索请求向量被扩展成陷门向量,数据拥有者使用同态加密算法加密陷门向量,得到安全的陷门向量,经授权的数据使用者调用TrapdoorGen(REQ,PK)算法通过发送请求的通道使用获取的公私钥,当数据使用者发送一个检索请求REQ={(w’1,w’2,…w’s)丨w’i∈W,1≤s≤l}其计算公式为,调用TrapdoorGen算法生成陷门向量:Tw=(w1w2…wl)  (16)数据使用者使用同态加密算法加密陷门向量,得到安全的陷门向量:TW‾=(W1‾W2‾...Wl‾)(Wi‾=Henc(Ri,wi),Ri⊆PK)---(17)]]>最后,安全的陷门向量传送给云存储服务器,云存储服务器当接收到安全的陷门后计算内积,内积的计算公式为:pi=vi[l]·TW‾---(18)]]>其中vi指的是安全索引,是l+1维向量,指的是安全陷门,是l维向量;所述的TrapdoorGen(REQ,PK)算法指的是将数据使用者的检索请求向量REQ生成陷门向量TW然后发送给数据拥有者,数据拥有者使用同态加密算法加密该陷门向量得到安全的的陷门向量,然后数据拥有者将其发送给云存储服务器;所述的陷门向量指的是数据使用者利用密钥生成的与他输入的关键字集合相对应的安全门限;步骤4、用户选择前k个相关性最高的文件进行检索:云存储服务器在接收到安全的陷门后计算该文件与该请求的相关性分数的密文,若相关性分数越高,则文件中含有的被检关键字数量越多,云存储服务器返回加密的相关性分数的序列,数据使用者解密相关性分数序列,排序后把前k个分级的文件标识符发送给云存储服务器,然后数据使用者便可以检索到相关的文件,云存储服务器在接收到安全的陷门后计算该文件与该请求的相关性分数的密文的计算公式为:Score=(Q,fd)=Σt∈Q1|fd|·(1+lnfd)---(19)]]>其中,Q表示需要检索的关键字,fd,t表示包含关键字t的文件的数目,N表示文件总数,|fd|表示文件fd长度;当授权用户发送检索请求时,若此请求也为向量形式时,文件与请求的相关性分数的另一种计算公式为:Score=vf·q  (20)其中,vf指的是文件向量,q指的是查询向量;云存储服务器把相关性分数的序列Ⅱ={(id'1,p1),(id'2,p2),...,(id'n,pn)}发送给数据使用者,数据使用者通过解密获得.Ⅱ={(id'1,p'1),(id'2,p'2),...,(id'n,p'n)},(p'i=Hdec(SK,pi))对相关性分数进行分级使用Rank(Ⅱ,SK,k),随后数据使用者调用top‑kSelect(Ⅱ’,k)选取前k个相关性分数最高的文件,然后把它们的标识符{i1,i2,…,ik}发送给云存储服务器;随后数据使用者可以根据云存储服务器返回的标识符检索到相关的数据文件;所述的相关性分数指的是文件向量和查询向量的内积;所述的文件标识符指的是唯一的能够标识文档的ID符号,此标识符是由服务器提供;所述的文件向量vf指的是在已构造的的向量空间模型中将一个文件表示为一个关键字向量的形式;所述的查询向量q指的是当授权用户发送的检索请求也通过向量空间模型表示为向量的形式。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海海事大学,未经上海海事大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201710827310.4/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top