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

摘要:

权利要求书:

1.一种面向混合云的隐私保护多关键词Top-k密文检索方法,其特征在于该方法包括:

(1)数据提供端从提供的文档集中提取关键词集合,并通过聚簇分块生成关键词词典序列;再根据关键词词典序列为文档集中每个文档生成一对应的明文文档向量,并依据关键词词典序列的分块情况将明文文档向量分块,形成文档过滤向量;之后将明文文档向量加密形成加密文档向量,将文档集中的每一文档加密形成加密文档集;最后将文档过滤向量传输至私有云服务器,将加密文档向量和加密文档集传输至公有云服务器;

(2)数据检索端根据用户提供的多个关键词生成检索向量,进行归一化后采用安全算法生成检索陷门,连同用户需要检索的文档个数k传输至公有云服务器;再依据关键词词典序列中关键词的分块情况,将用户提供的多个关键词生成检索过滤向量,并传输至私有云服务器;

(3)私有云服务器将接收到的检索过滤向量和每个文档的文档过滤向量分别进行与运算,若运算得到的向量所有位不全为0,则将对应的文档编号添加到候选文档集中,并将候选文档集传输至公有云服务器;

(4)公有云服务器根据接收到的候选文档集、检索陷门和检索文档个数k,分别计算候选文档集中每个文档对应的加密文档向量和检索陷门之间的安全内积,根据安全内积选取候选文档集中与用户提供的关键词最相关的k个密文文档,将该k个密文文档返回至数据检索端;

(5)数据检索端对接收的k个密文文档进行解密,得到最相关的k个明文文档。

2.根据权利要求1所述的面向混合云的隐私保护多关键词Top-k密文检索方法,其特征在于:步骤(1)具体包括:(1-1)数据提供端从提供的文档集DS中提取关键词,得到关键词集合{w1,w2,…,wn};

(1-2)将关键词集合中的关键词根据相关关系进行聚簇操作,得到若干个聚类子簇{c1,c2,…,ct};

(1-3)将每个子簇作为一个分块,从而得到t个分块,分别为b1,b2,…,bt,再根据分块生成关键词词典序列W={w(b1,1),w(b1,2),…,w(b2,1),w(b2,2),…,w(bt,1),w(bt,2),…},其中w(bj,x)表示属于分块bj中的第x个关键词,每个块中的关键词无序;分块bj={w(bj,x)|0

(1-4)采用TF-IDF算法和空间向量模型,根据关键词词典序列中关键词的位置,为文档集DS={D1,D2,…,Dm}中每个文档Di生成一个对应的明文文档向量Vi,并进行归一化处理;其中,Vi的维度为n,每位取值为该位对应的关键词在文档Di中的词频TF值;

(1-5)根据关键词词典序列的分块情况,将明文文档向量Vi分成t个分块,分块边界和关键词词典序列的分块边界相同,得到每个文档Di的文档过滤向量DFi={b1,b2,…,bt};其中,若Vi中分块bj对应的所有关键词所在的位置取值都为0,则bj块的取值为0,否则bj块的取值为1,DFi是t维的每位取值为0/1的向量;

(1-6)生成加密密钥SK(S,M1,M2,kf);其中,S是一个每位取值为0/1的随机向量,M1和M2是两个n×n可逆矩阵,n是关键词词典序列的长度,kf是文档加密密钥;

(1-7)通过安全KNN技术采用生成的加密密钥对每个明文文档向量Vi加密,得到对应的加密文档向量 其中,当随机向量S中第j个元素S[j]=0时,V′i+V″i=Vi,当S[j]=1时,V′i=V″i=Vi;

(1-8)通过对称加密算法加密文档集DS中每个文档,得到加密文档集ES={e1,e2,…,em};

(1-9)将文档过滤向量传输至私有云服务器进行存储,将加密文档向量和加密文档集传输至公有云服务器进行存储。

3.根据权利要求1所述的面向混合云的隐私保护多关键词Top-k密文检索方法,其特征在于:步骤(2)具体包括:(2-1)数据检索端根据用户提供的多个关键词{w1,w2,…,wx},采用TF-IDF算法和空间向量模型生成检索向量Q,并进行归一化;其中,Q的第j个元素Q[j]为第j位关键词wj在数据提供端提供的文档集DS中的逆文档频率IDF值;

(2-2)基于检索向量Q,采用安全KNN算法,生成检索陷门 其中,其中

当数据提供端生成的加密密钥中的随机向量的第j位S[j]=0时,Q′[j]=Q″[j]=Q[j],当S[j]=1时,Q′[j]+Q″[j]=Q[j];

(2-3)根据关键词词典序列中关键词的分块情况,生成检索过滤向量QF,QF={b1,b2,…,bt},QF是t维每位取值0/1的向量,若分块bj对应的所有关键词在检索向量Q中对应的所有位的取值都是0,则QF[j]=0,否则QF[j]=1;

(2-4)将检索陷门和用户需要检索的文档个数k传输至公有云服务器,将检索过滤向量传输至私有云服务器。

4.根据权利要求1所述的面向混合云的隐私保护多关键词Top-k密文检索方法,其特征在于:步骤(3)具体包括:(3-1)私有云服务器将接收到的检索过滤向量QF和每个文档的文档过滤向量DFi分别进行与运算,若QF&DFi的运算得到的向量所有位不全为0,则将DFi对应的文档编号Didi添加到候选文档集中,得到候选文档集CDS={d1,d2,…};

(3-2)将候选文档集CDS发送至公有云服务器。

5.一种面向混合云的隐私保护多关键词Top-k密文检索系统,其特征在于该系统包括数据提供端、数据检索端、私有云服务器和公有云服务器,其中:数据提供端用于从提供的文档集中提取关键词集合,并通过聚簇分块生成关键词词典序列;以及根据关键词词典序列为文档集中每个文档生成一对应的明文文档向量,并依据关键词词典序列的分块情况将明文文档向量分块,形成文档过滤向量;以及将明文文档向量加密形成加密文档向量,将文档集中的每一文档加密形成加密文档集;以及将文档过滤向量传输至私有云服务器,将加密文档向量和加密文档集传输至公有云服务器;

数据检索端用于根据用户提供的多个关键词生成检索向量,进行归一化后采用安全算法生成检索陷门,连同用户需要检索的文档个数k传输至公有云服务器;以及依据关键词词典序列中关键词的分块情况,将用户提供的多个关键词生成检索过滤向量,并传输至私有云服务器;

私有云服务器用于将接收到的检索过滤向量和每个文档的文档过滤向量分别进行与运算,若运算得到的向量所有位不全为0,则将对应的文档编号添加到候选文档集中,并将候选文档集传输至公有云服务器;

公有云服务器用于根据接收到的候选文档集、检索陷门和检索文档个数k,分别计算候选文档集中每个文档对应的加密文档向量和检索陷门之间的安全内积,根据安全内积选取候选文档集中与用户提供的关键词最相关的k个密文文档,将该k个密文文档返回至数据检索端;

数据检索端还用于对接收的k个密文文档进行解密,得到最相关的k个明文文档。

6.根据权利要求5所述的面向混合云的隐私保护多关键词Top-k密文检索系统,其特征在于:所述数据提供端具体包括:关键词提取模块,用于从提供的文档集DS中提取关键词,得到关键词集合{w1,w2,…,wn};

聚簇模块,用于将关键词集合中的关键词根据相关关系进行聚簇操作,得到若干个聚类子簇{c1,c2,…,ct};

关键词词典生成模块,用于将每个子簇作为一个分块,从而得到t个分块,分别为b1,b2,…,bt,再根据分块生成关键词词典序列W={w(b1,1),w(b1,2),…,w(b2,1),w(b2,2),…,w(bt,1),w(bt,2),…};其中w(bj,x)表示属于分块bj中的第x个关键词,每个块中的关键词无序;分块bj={w(bj,x)|0

明文文档向量生成模块,用于采用TF-IDF算法和空间向量模型,根据关键词词典序列中关键词的位置,为文档集DS={D1,D2,…,Dm}中每个文档Di生成一个对应的明文文档向量Vi,并进行归一化处理;其中,Vi的维度为n,每位取值为该位对应的关键词在文档Di中的词频TF值;

文档过滤向量生成模块,用于根据关键词词典序列的分块情况,将明文文档向量Vi分成t个分块,分块边界和关键词词典序列的分块边界相同,得到每个文档Di的文档过滤向量DFi={b1,b2,…,bt};其中,若Vi中分块bj对应的所有关键词所在的位置取值都为0,则bj块的取值为0,否则bj块的取值为1,DFi是t维的每位取值为0/1的向量;

密钥生成模块,用于生成加密密钥SK(S,M1,M2,kf);其中,S是一个每位取值为0/1的随机向量,M1和M2是两个n×n可逆矩阵,n是关键词词典序列的长度,kf是文档加密密钥;

文档向量加密模块,用于通过安全KNN技术采用生成的加密密钥对每个明文文档向量Vi加密,得到对应的加密文档向量 其中,当随机向量S中第j个元素S[j]=

0时,V′i+V″i=Vi,当S[j]=1时,V′i=V″i=Vi;

文档加密模块,用于通过对称加密算法加密文档集DS中每个文档,得到加密文档集ES={e1,e2,…,em};

传输模块,用于将文档过滤向量传输至私有云服务器进行存储,将加密文档向量和加密文档集传输至公有云服务器进行存储。

7.根据权利要求5所述的面向混合云的隐私保护多关键词Top-k密文检索系统,其特征在于:所述数据检索端具体包括:检索向量生成模块,用于根据用户提供的多个关键词{w1,w2,…,wx},采用TF-IDF算法和空间向量模型生成检索向量Q,并进行归一化;其中,Q的第j个元素Q[j]为第j位关键词wj在数据提供端提供的文档集DS中的逆文档频率IDF值;

检索陷门生成模块,用于基于检索向量Q,采用安全KNN算法,生成检索陷门其中,其中当数据提供端生成的加密密钥中的随机向量的第j位S[j]=

0时,Q′[j]=Q″[j]=Q[j],当S[j]=1时,Q′[j]+Q″[j]=Q[j];

检索过滤向量生成模块,用于根据关键词词典序列中关键词的分块情况,生成检索过滤向量QF,QF={b1,b2,…,bt},QF是t维每位取值0/1的向量,若分块bj对应的所有关键词在检索向量Q中对应的所有位的取值都是0,则QF[j]=0,否则QF[j]=1;

传输模块,用于将检索陷门和用户需要检索的文档个数k传输至公有云服务器,将检索过滤向量传输至私有云服务器。

8.根据权利要求5所述的面向混合云的隐私保护多关键词Top-k密文检索系统,其特征在于:所述私有云服务器具体包括:与运算模块,用于将接收到的检索过滤向量QF和每个文档的文档过滤向量DFi分别进行与运算,若QF&DFi的运算得到的向量所有位不全为0,则将DFi对应的文档编号Didi添加到候选文档集中,得到候选文档集CDS={d1,d2,…};

传输模块,用于将候选文档集CDS发送至公有云服务器。