利索能及
我要发布
收藏
专利号: 2022102750242
申请人: 江苏大学
专利类型:发明专利
专利状态:授权未缴费
更新日期:2025-07-12
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于安全倒排索引的可搜索加密方法,其特征在于,包括以下步骤:

1)初始化系统参数,其中,系统参数包括系统公共参数PK和系统的主私钥MK;

2)构建倒排索引结构I,倒排索引结构记为I={Ts,As};其中Ts为搜索表,用于存放搜索数组的头指针和索引标志;As为搜索数组,表示所有包含关键字wi的文件形成的一个链表,由多个节点构成;这些节点随机保存在As的各个位置;

3)加密外包数据并存储,

4)注册用户并获得相应属性密钥,用户向可信授权机构以属性集合S和关键词集合W进行注册,可信授权机构为注册用户提供相应的搜索陷门其中 H1为随机多项式函数,wi为关键词;

5)搜索数据,用户向云端服务器发送从可信授权机构注册获得的搜索陷门TD进行数据的搜索,通过搜索表Ts定位存储在搜索表中的搜索数组As的头指针和搜索标记Yw;

6)对搜索结果进行解密,包括对密钥Kw的解密和对密文集合 的解密;

7)正确解密获得索引更新密钥,并进行索引的更新,包括添加文件时索引的更新和删除文件时索引的更新;

8)验证获得的云存储数据,包括对索引 的验证和对数据完整性的验证。

2.如权利要求书1所述的一种基于安全倒排索引的可搜索加密方法,其特征在于,所述步骤1)中的初始化系统参数包括以下内容:

1.1)初始化安全参数k;

1.2)定义G0,G1,G0,G1是 上的两个乘法循环群, 为1……p的整数,阶p为一个大的安全素数;

1.3)令g为群G0的生成元,定义双线性映射e:G0×G0→G1;

* * *

1.4)选取哈希函数H1:{0,1} →{0,1} ,选取哈希函数H2:{0,1} →G0作为一个随机预言机,用于将任意字符串描述的属性映射为一个随机群元素;

k

1.5)生成随机数q←{0,1};

1.6)定义无冲突散列函数

k1,k2,k3是随机选择的三个k位的向量;

1.7)随机选取两个k×k维的可逆矩阵(Q′,Q″);

1.8)随机选择

1.9)构建系统公共参数 系统主私钥MK=(β,gα

,k1,k2,Q′,Q″,H1)。

3.如权利要求书1所述的一种基于安全倒排索引的可搜索加密方法,其特征在于,所述步骤2)中构建倒排索引结构I包括如下步骤:

2.1)构建搜索表Ts,包括:

2.1.1)建立一个大小为n的字典,记为Ts;

2.1.2)存储信息到搜索表Ts中,其信息为:其中,Yw为 的索引标志位;Iw用于标识文件存储在链表中的位置,也是一个更新标识位; 为加密的索引更新密钥;wi为关键词;Iw为表示文件存储位置的标识;Pi为搜索数组As的头指针;

2.2)建立搜索数组As,包括:

2.2.1)定义下一节点位置为 其中, 为伪随机函数;

2.2.2)定义节点格式:

其中,idt表示文件标识符集合中的第t个文件标志符;

2.3)建立标识文件存储在链表中位置的Iw,初始值全为0,长度为 #Di表示明文文件数量,当文档集合Di的相应文件出现关键词wi时,Iw[t]=1,t∈[1,L];如果Iw[t]=1则将相应的idt存储到Ai,j,j∈[1,#wi]中,#wi表示包含关键词的文件数量,idt为文件标志符。

4.如权利要求书1所述的一种基于安全倒排索引的可搜索加密方法,其特征在于,所述步骤3)的加密数据具体包括以下步骤:

3.1)加密搜索数组As的头指针Pi,加密公式为:

3.2)加密文件标志符idt,通过哈希函数H1进行,加密公式为:

3.3)加密链表中下一节点位置的,通过伪随机函数φ进行,加密公式为:k

3.4)生成索引标记Yw,选择向量S←{0,1},令

3.5)使用两个k×k维的可逆矩阵(Q′Q″)加密k

3.6)加密明文文件集合Di,选择Kf←{0,1}作为明文加密密钥,得到密文集合Ci,选择Ksk←{0,1}作为索引的更新密钥,将密文文档集合Ci发送给云存储服务器;

3.7)加密密钥Kw=(Kf,Kε),通过访问树结构 公钥PK,加密密钥Kw:

3.8)生成验证权限σ,计算关键词集合W={w1,w2…wn}中的每个关键词的签名,生成集合 其中签名集合σ发送给数据使用者。

5.如权利要求书1所述的一种基于安全倒排索引的可搜索加密方法,其特征在于,所述步骤4)中用户注册包括以下步骤:

4.1)注册并获得属性私钥SKU,可信授权中心选择一个随机数 对于每一个属性j∈S,随机选择 按下列公式计算相应属性私钥:

4.2)发放陷门;用户注册后,数据使用者获得相应的搜索陷门

6.如权利要求书1所述的一种基于安全倒排索引的可搜索加密方法,其特征在于,所述步骤5)搜索过程包括以下步骤:

5.1)查询密文集合 云服务器接收到TD后,定位 恢复搜索表Ts中搜索数组As的头指针Pi;获得节点存储的文件标志符idt,找到对应的文档;

5.1.1)定位 如果F(wi)不在Ts中,结束;否则转步骤5.1.2)进行查询;

5.1.2)计算 恢复搜索表rs中搜索数组As的头指针Pi=Addrs(Ai,1)和 通过 获得节点中存储的文件标识符;得到第一个节点位置后,通过 找到下一节点位置,直到 对应找出文件标志符集合即可获得密文文件集合

5.2)生成验证信息 云服务器根据查询所得文件的文件标识符计算签名 其中表示文件个数,将计算结果发送给数据使用者。

7.如权利要求书1所述的一种基于安全倒排索引的可搜索加密方法,其特征在于,所述步骤6)中到的解密方法包括以下步骤:

6.1)解密密钥Kw,i=att(x)表示用户属性,如x为非叶子节点,则转到步骤6.2);如x为叶子节点,i∈S,转到步骤6.3),如 转到步骤6.4);

6.2)对于非叶子节点的所有孩子节点z,调用函数并且存储结果为Fz,令Sx为一个任意的大小为kx的孩子节点z的集合,并且满足Fz存在;

计算Fx:

其中

其中 为拉格朗日系数, qx为访问树结构 的每一个节点x所选择的多项式;qparent(x)表示qx的父节点;

6.3)定义

6.4)解密终止;

6.5)判断属性集合S,如果属性集合S仅能够满足访问结构 则转步骤6.6),如果属性集合S仅能满足访问结构 则转步骤6.7),如果属性集合S不能满足任一访问结构,则解密终止;

6.6)令 恢复密钥

获得密文解密密钥Kf;

6.7)令 恢复密钥

获得索引更新密钥Ks;

6.8)使用密钥Kf解密密文文档集合 得到包含关键词wi明文文档Di。

8.如权利要求书1所述的一种基于安全倒排索引的可搜索加密方法,其特征在于,所述步骤7)的索引更新方法包括以下步骤:k

7,1)随机选择k′s←{0,1} ,以 形式发送更新内容标识符Um至搜索表Ts中

7.2)计算更新后的用于标识文件存储在链表中的位置的I′w即 更新后的Iw包含新的密文存储信息;

7.3)获得新的搜索数组As;计算如果Inew[t]=0且I′w[t]=0,转步骤7.4),如果Inew[t]=0且I′w[t]=1,转步骤7.5);

7.4)计算Iw中前t‑1个数中1的个数Count(t‑1);如果t‑1=0,则Ai,1节点中存储的文件标识符idt变为Null;否则Ai,Count(t‑1)+1节点中存储的文件标识符idt变为Null;

7.5)计算Inew中前t‑1个数中0的个数Count0(t‑1);如果t‑1=0, 节点中存储文件标识符idt;否则,Ai,Count0(t‑1)+1节点中存储文件标识符idt。

9.如权利要求书1所述的一种基于安全倒排索引的可搜索加密方法,其特征在于,所述步骤8)中的数据验证包括如下步骤:

8.1)令 利用S向量对β进行分割,Sj=1时,β必须满足β′+β″=β;

若Sj=0,分割成两个与原向量相同的子向量,即β′=β″=β;使用Q′,Q″加密这两个向量得

8.2)计算公式

判断等式是否成立,如果成立转步骤8.3),否则转提示验证失败;

8.3)验证数据的完整性,计算

如果上述公式成立,则说明服务器没有恶意,数据完整性得到保证,验证通过;否则转提示验证失败。