利索能及
我要发布
收藏
专利号: 2022102225184
申请人: 南京邮电大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-10-10
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种面向外包云环境的动态可验证关键词密文检索方法,其特征在于:该方法基于数据预处理模块、更新模块和搜索模块,其中,数据预处理模块负责对外包数据预处理并生成索引;更新模块负责外包数据和索引的更新;搜索模块负责完成密文上的关键词搜索和对搜索结果的验证,三个模块均由数据拥有者、云服务器和数据使用者共同协作完成;

所述数据预处理模块的操作包括以下步骤:

(1a)数据拥有者生成文档加密密钥sk、素数生成器P以及哈希函数H并将sk、P和H与数据使用者共享;然后,数据拥有者从文档集D={d1,d2,…,dn}中提取关键词,生成关键词字典W={w1,w2,…,wm},并为每个关键词wi生成倒排列表Li={ID(dj)|wi∈dj},其中ID(dj)表示文档dj的ID;然后利用对称加密算法和密钥sk对D中每一个文档进行加密,生成加密文档集(1b)数据拥有者生成本地证据Ψ,并为每个关键词wi生成认证码πi,同时初始化更新记录码Θ;

(1c)数据拥有者为W中的每个关键词生成键值对数据,并用于构造RAP‑tree索引I;

(1d)数据拥有者将索引I和加密文档集 发送至云服务器,并将证据Ψ和更新记录码Θ发送给数据使用者;

所述更新模块的操作包括以下步骤:

(2a)数据拥有者根据更新操作的类型,包括增加文档或删除文档,为更新文档集DU生成更新陷门TU,并生成新的证据Ψ'和更新记录码Θ';如果更新操作为增加文档操作,则对DU中的文档进行加密,生成加密文档集合 如果是删除操作,则直接转步骤(2b);

(2b)数据拥有者将证据Ψ'和更新记录码Θ'发送给数据使用者;如果更新操作为增加文档操作,则将加密文档集合 和更新陷门TU发送给云服务器发送给云服务器;如果更新操作为删除文档操作,则将更新陷门TU发送给云服务器发送给云服务器;

(2c)云服务器根据数据拥有者发来的数据更新索引I和加密文档集所述搜索模块的操作包括以下步骤:

(3a)数据使用者针对检索关键词wi∈W,生成搜索陷门TS={coken(wi)},然后将搜索陷门发送给云服务器;

(3b)云服务器接收到搜索陷门TS={token(wi)}后,在索引I中搜索token(wi),获取token(wi)对应的节点Ni,然后将Ni中的倒排列表Li对应的加密文档构成的集合 更新记录值RLi和认证码πi作为检索结果 发送给数据使用者;

(3c)当接收到云服务器返回的检索结果消息 数据使用者重构证据其中 然后将重构生成的证

* *

据Ψ与本地存储的证据Ψ进行比对,如果Ψ=Ψ成立,则检索结果满足完整性要求,解密即获得合法的明文检索结果;否则,检索结果不满足完整性要求,搜索结果不合法。

2.根据权利要求1所述的一种面向外包云环境的动态可验证关键词密文检索方法,其特征在于,步骤(1b)包括以下步骤:(1b1)数据拥有者创建一个m×n维的辅助矩阵PL,该矩阵中所有元素的初始值为0;然后,为W中的每一个关键词wi及包含该关键词的每一个加密文档 利用素数生成器P生成素数 并设置PL[i][j]=pi,j;

(1b2)数据拥有者选取满足RSA累加器要求的基数a和模数N=p×q,其中a与N互质,p和q是两个大素数;然后,生成本地证据 其中D(wi)表示包含关键词wi的文档组成的集合;

(1b3)数据拥有者初始化更新记录码Θ=1并为每个关键词wi计算一个认证码其中

3.根据权利要求1所述的一种面向外包云环境的动态可验证关键词密文检索方法,其特征在于,步骤(1c)包括以下步骤:(1c1)数据拥有者为每个关键词wi生成一个键值对,其中token(wi)是关键词wi对应的十六进制形式的令牌,πi是wi的认证码,RLi是wi的更新记录值,RLi的初始值为1;

(1c2)数据拥有者以W中每个关键词对应的键值对数据为输入,构造压缩前缀树RAP‑tree,该RAP‑tree即为索引I,且每个关键词对应的键值对数据在索引I中均有一个节点与之对应。

4.根据权利要求1所述的一种面向外包云环境的动态可验证关键词密文检索方法,其特征在于,步骤(2a)包括以下步骤:(2a1)数据拥有者从更新文档集DU中抽取关键词构成集合WU,并为WU中的每一个关键词wi构建一个更新倒排列表(2a2)如果更新操作为增加文档操作,DU为需要增加的文档构成的集合,此时,数据拥有者利用密钥sk对DU中的文档进行加密得到 然后,再为WU中每一个关键词wi和在 中包含该关键词的每一个加密文档 利用素数生成器P生成素数并设置PL[i][j]=pi,j;紧接着,计算更新记录码其中DU(wi)表示文档集DU中包含关键词wi的文

档构成的集合;最后,计算本地证据

(2a3)如果更新操作为删除文档操作,DU为需要删除的文档构成的集合,此时,数据拥有者计算更新记录码 然后,计算本地证据最后,根据WU中每一个关键词wi和包含该关

键词的在DU中的每一个文档dj,设置PL[i][j]=0;

(2a4)数据拥有者为WU中每一个关键词wi,计算更新记录值然后计算新的认证码

(2a5)数据拥有者为WU中的每一个wi生成令牌token(wi),最后生成更新陷门其中TYPE表示更新陷门类型,TYPE∈{ADD,DEL},分别表示增加和删除。

5.根据权利要求1所述的一种面向外包云环境的动态可验证关键词密文检索方法,其特征在于,步骤(2c)中根据更新陷门的不同,云服务器执行如下步骤:(2c1)如果更新陷门是增加陷门

则云服务器在索引I中查询TU中的每一个

token(wi),并根据其存在性执行如下操作:如果索引I中存在token(wi),则获取token(wi)在索引I中对应的节点Ni,设置Ni中的倒排列表 并用TU中的π'i和RL'i替换Ni中原先存储的认证码πi和更新记录值RLi,然后将 添加到加密文档集 中;如果索引I中不存在token(wi),则生成新的键值对 并插入到索引I中,然后将 添加到加密文档集 中;

(2c2)如果更新陷门是删除陷门

则云服务器在索引I中查询TU中的每一个

token(wi),并获取token(wi)在索引I中对应的节点Ni;然后设置Ni中的倒排列表并用TU中的π'i和RL'i替换Ni中原先存储的认证码πi和更新记录值RLi;最后,在加密文档集 中删除 对应的加密文档。