首页 > 专利 > 西南交通大学 > 一种可验证搜索结果的布尔检索属性基加密方法专利详情

一种可验证搜索结果的布尔检索属性基加密方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2020-04-17
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2020-09-08
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2021-12-28
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2040-04-17
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN202010306235.9 申请日 2020-04-17
公开/公告号 CN111541535B 公开/公告日 2021-12-28
授权日 2021-12-28 预估到期日 2040-04-17
申请年 2020年 公开/公告年 2021年
缴费截止日
分类号 H04L9/08H04L29/06H04L29/08G06F16/245 主分类号 H04L9/08
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 8
权利要求数量 9 非专利引证数量 1
引用专利数量 1 被引证专利数量 0
非专利引证 1、2019.07.04CN 110390203 A,2019.10.29CN 106357395 A,2017.01.25CN 107622212 A,2018.01.23仲红等《.高效且可验证的多授权机构属性基加密方案》《.软件学报》.2017,赵志远《.面向云存储的密文策略属性基加密方案研究》《.中国博士学位论文全文数据库信息科技辑》.2019,An-Ping Xiong et al.《.A searchableencryption of CP-ABE scheme in cloudstorage》《.2013 10th InternationalComputer Conference on Wavelet ActiveMedia Technology and InformationProcessing(ICCWAMTIP)》.2013,Praveen Kumar Premkamal et al.《.A newverifiable outsourced ciphertext-policyattribute based encryption for big dataprivacy and access control in cloud》. 《Journal of Ambient Intelligence andHumanized Computing》.2018,;
引用专利 US2019207763A 被引证专利
专利权维持 2 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 西南交通大学 当前专利权人 西南交通大学
发明人 张文芳、许燕、王小敏 第一发明人 张文芳
地址 四川省成都市二环路北一段111号 邮编 610031
申请人数量 1 发明人数量 3
申请人所在省 四川省 申请人所在市 四川省成都市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
成都正华专利代理事务所 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
陈选中
摘要
本发明公开了一种可验证搜索结果的布尔检索属性基加密方法,采用密文策略的属性基算法和线性秘密分享LSSS结构,将关键词看作其中的参与者,由用户制定搜索策略,匹配过程中通过计算恢复LSSS秘密值,实现布尔检索。本发明的方法具有较高的计算效率,兼顾了灵活的搜索语句和效率,在实现布尔检索的同时,实现了高效的搜索结果验证,算法表达灵活、安全性高。
  • 摘要附图
    一种可验证搜索结果的布尔检索属性基加密方法
  • 说明书附图:图1
    一种可验证搜索结果的布尔检索属性基加密方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2022-08-09 著录事项变更 发明人由张文芳 许燕 王小敏 变更为许燕 张文芳 王小敏 
2 2021-12-28 授权
3 2020-09-08 实质审查的生效 IPC(主分类): H04L 9/08 专利申请号: 202010306235.9 申请日: 2020.04.17
4 2020-08-14 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种可验证搜索结果的布尔检索属性基加密方法,其特征在于,包括以下步骤:
S1:对密钥生成中心、可信第三方和云服务器分别进行初始化,完成系统初始化;
S2:利用初始化后的密钥生成中心为用户颁发属性私钥;
S3:通过颁发属性私钥后的用户,利用初始化后的可信第三方为密文生成相关数据;
所述步骤S3包括以下子步骤:
S31:通过数据拥有者DO制定线性秘密分享LSSS授权搜索访问结构(M,ρ),其中,M表示L×N的矩阵,ρ表示属性映射函数,L表示矩阵M的行数,N表示矩阵M的列数;
S32:根据线性秘密分享LSSS授权搜索访问结构,利用初始化后的系统随机选择第一向量V=(s,v'2,...,v'm)∈Zp,其中,s表示秘密分享值,v'2,...,v'm表示有限域Zp中的m‑1个随机数,Zp为有限域;
S33:基于第一向量,通过数据拥有者DO为矩阵M的每一行随机选择第九随机数*
其中,Zp为不含有零元素的有限域;
S34:根据第九随机数计算秘密分享值的第一公开承诺C'、秘密分享值的第二公开承诺C”和子秘密密文 其计算公式分别为:
s
C'=g
αs
C”=g
其中,s表示秘密分享值,α表示第一随机数,ηl表示第九随机数,g表示生成元,V表示第一向量,ρ(l)表示线性秘密分享LSSS授权搜索访问结构的属性,T表示属性公钥, 表示授权搜索访问结构属性的随机化公开承诺;
S35:根据线性秘密分享LSSS授权搜索访问结构、秘密分享值的第一公开承诺和秘密分享值的第二公开承诺生成搜索权限sp,其表达式为
S36:基于搜索权限,利用初始化后的系统提取关键词集合W,其表达式为W={Na:wa},其中,Na表示第a个关键字名,wa表示第a个关键字值;
S37:根据关键词集合,将数据拥有者DO和初始化后的可信第三方进行交互,生成关键词索引Index;
S38:基于关键词索引,通过数据拥有者DO生成验证标签Tag,其计算公式为:
其中, 表示文件密文的哈希值, 表示密文,g表示生成元,α表示第一随机数,e()表示双线性映射运算,t1表示第十随机数,H0表示关键字集合的哈希值,H'()表示第二碰撞哈希函数运算;
S39:将搜索权限sp、关键词索引Index和验证标签Tag作为相关数据;
S4:基于生成相关数据后的密文,利用初始化后的可信第三方生成搜索请求;
S5:利用初始化后的云服务器,通过搜索请求执行搜索操作,将搜索匹配成功的密文返回给数据用户;
S6:通过数据用户检验搜索结果,完成布尔检索属性基加密。

2.根据权利要求1所述的可验证搜索结果的布尔检索属性基加密方法,其特征在于,所述密钥生成中心的初始化包括以下子步骤:
A11:利用密钥生成中心选择两个p阶循环群,即第一循环群G和第二循环群GT;
A12:利用密钥生成中心选择第一循环群G上的生成元g和双线性映射e:G×G→GT;
*
A13:基于生成元和双线性映射,利用密钥生成中心选择第一抗碰撞哈希函数H:{0,1}*
→G、第二抗碰撞哈希函数H':{0,1}→Zp、安全参数λ'和全体属性集合U,其中,Zp为有限域;
A14:根据全体属性集合,利用密钥生成中心随机选择第一随机数 和第二随机数*
其中Zp为不含有零元素的有限域,i∈U;
A15:根据生成元和第二随机数计算系统属性的公开承诺Ti,其计算公式为:
其中,g表示生成元,si表示第二随机数;
A16:根据双线性映射、第一循环群、第二循环群、生成元、第一随机数、第一抗碰撞哈希函数、第二抗碰撞哈希函数和全体属性集合,公开系统参数PM和系统主密钥MSK,完成密钥生成中心的初始化,其表达式分别为:
α
MSK={g ,α}
其中,e表示双线性映射;G表示第一循环群,GT表示第二循环群,p表示循环群阶数,g表示生成元,α表示第一随机数,e()表示双线性映射运算,Ti表示系统属性的公开承诺,H表示第一抗碰撞哈希函数,H'表示第二抗碰撞哈希函数,i表示全体属性集合的每个属性,U表示全体属性集合。

3.根据权利要求2所述的可验证搜索结果的布尔检索属性基加密方法,其特征在于,所述可信第三方的初始化包括以下子步骤:
B11:利用可信第三方随机选择第三随机数 第四随机数 第五随机数
*
和第六随机数 其中Zp为不含有零元素的有限域;
B12:根据生成元、第三随机数、第四随机数、第五随机数和第六随机数,公开可信第三方参数PKt和可信第三方私钥SKt,完成可信第三方的初始化,其表达式分别为:
f x y d
PKt={g ,g ,g ,e(g,g) }
SKt={d,f,x,y}
其中,g表示生成元,d表示第三随机数,f表示第四随机数,x表示第五随机数,y表示第六随机数,e()表示双线性映射运算。

4.根据权利要求3所述的可验证搜索结果的布尔检索属性基加密方法,其特征在于,所述云服务器的初始化包括以下子步骤:
*
C11:利用云服务器随机选择第七随机数 其中Zp为不含有零元素的有限域;
C12:根据第七随机数公开云服务器公钥PKs和云服务器私钥SKs,完成可信第三方的初始化,其计算公式分别为:
b
PKs=g
SKs=b
其中,b表示第七随机数,g表示生成元。

5.根据权利要求4所述的可验证搜索结果的布尔检索属性基加密方法,其特征在于,所述步骤S2包括以下子步骤:
*
S21:利用初始化后的密钥生成中心随机选取第八随机数 其中Zp为不含有零元素的有限域;
S22:根据第一随机数、第八随机数和生成元计算用户第一私钥K、用户第二私钥K0和用户第三私钥Ki,其计算公式分别为:
ααt
K=gg
t
K0=g
其中,g表示生成元,α表示第一随机数,t表示第八随机数,ξ表示用户属性集合,Ti表示系统属性的公开承诺,i表示全体属性集合的每个属性,U表示全体属性集合;
S23:根据用户第一私钥、用户第二私钥和用户第三私钥为用户颁发属性私钥SK,其表达式为:

6.根据权利要求5所述的可验证搜索结果的布尔检索属性基加密方法,其特征在于,所述步骤S37包括以下子步骤:
*
S371:通过数据拥有者DO选择第十随机数 和第十一随机数 其中,Zp 为
不含有零元素的有限域;
S372:根据第十随机数和第十一随机数计算文件关键词盲化信息,其表达式为其中,g表示生成元,H0表示关键字集合的哈希值,α表
示第一随机数,t1表示第十随机数,t2表示第十一随机数,wa表示第a个关键字值,W表示关键词集合,H()表示第一碰撞哈希函数运算;
S373:将文件关键词盲化信息发送给初始化后的可信第三方;
S374:向初始化后的可信第三方输入可信第三方私钥并计算关键子集合哈希值密文第十随机数和第十一随机数的密文I和文件关键词密文Ia,其计算公式分别为:
其中,g表示生成元,d表示第三随机数,f表示第四随机数,x表示第五随机数,y表示第六随机数,H0表示关键字集合的哈希值,wa表示第a个关键字值,W表示关键词集合;
S375:将关键子集合哈希值密文、第十随机数和第十一随机数的密文和文件关键词密文发送给数据拥有者DO;
S376:向数据拥有者DO输入云服务器公钥,计算第十随机数的随机化保护I'、第十一随机数的随机化保护I”和关键字集合的随机化保护I0,其计算公式分别为:
其中,g表示生成元,d表示第三随机数,x表示第五随机数,y表示第六随机数,t1表示第十随机数,t2表示第十一随机数,H0表示关键字集合的哈希值,b表示第七随机数;
S377:根据第十随机数的随机化保护、第十一随机数的随机化保护和关键字集合的随机化保护生成关键词索引Index,其表达式为

7.根据权利要求6所述的可验证搜索结果的布尔检索属性基加密方法,其特征在于,所述步骤S4包括以下子步骤:
S41:通过数据用户DU选择想要搜索的关键词集合W',其表达式为W'={N'a:w'a},其中,N'a表示想要搜索的第a个关键字名,w'a表示想要搜索的第a个关键字值;
S42:基于想要搜索的关键词集合,通过数据用户DU制定线性秘密分享LSSS搜索策略结构 其中, 表示E×k的矩阵, 表示关键词映射函数,E表示矩阵 的行数,k表示矩阵 的列数;
S43:通过数据用户DU为矩阵 的每一行选择第十二随机数 第
*
十三随机数 和第十四随机数 其中,Zp为不含有零元素的有限域;
S44:根据第十二随机数、第十三随机数和第十四随机数计算第十四随机数的第一公开θ αθ
承诺 g 、第 十四随 机 数的 第二 公开 承诺g 和随 机 化请 求关 键词 值其中,α表示第一随机数,γe'表示第十二随机数,g表示生成元,θ表示第十四随机数,H()表示第一碰撞哈希函数运算,W'表示想要搜索的关键词集合,e表示双线性映射,表示对想要搜索的关键词集合的隐藏, 表示根据关键词映射函数确定想
要搜索的关键词集合;
S45:将第十四随机数的第一公开承诺、第十四随机数的第二公开承诺和随机化请求关键词值发送给初始化后的可信第三方;
S46:向初始化后的可信第三方输入可信第三方私钥并计算第十四随机数的第一密文Tv、第十四随机数的第二密文T”和请求关键词密文T′e′,1,其计算公式分别为:
xyθ
Tv=g
αdθ
T”=g
其中,g表示生成元,α表示第一随机数,d表示第三随机数,x表示第五随机数,y表示第六随机数,θ表示第十四随机数,W'表示想要搜索的关键词集合,e表示双线性映射,表示对想要搜索的关键词集合的隐藏, 表示线性秘密分享LSSS搜索策略
结构的属性,f表示第四随机数;
S47:将第十四随机数的第一密文、第十四随机数的第二密文和请求关键词密文发送给数据用户DU;
S48:通过数据用户DU随机选择第二向量 其中,θ表示第十四随
机数,v2,...,vz表示有限域Zp中的z‑1个随机数;
S49:根据第二向量计算秘密值的公开承诺T'、密文T0、想要搜索的关键词集合的密文Te',1、第十二随机数的公开承诺Te',2、数据用户第一转换密钥K'、数据用户第二转换密钥K'0和数据用户第三转换密钥K′i,其计算公式分别为:
θ
T'=g
z′ αz′αtz′
K'=K =g g
其中,g表示生成元,e()表示双线性映射运算,α表示第一随机数,d表示第三随机数,f表示第四随机数,γe'表示第十二随机数,θ表示第十四随机数,z'表示第十三随机数,H()表示第一抗碰撞哈希函数运算,ξ表示用户属性集合,i表示全体属性集合的每个属性,表示对想要搜索的关键词集合的隐藏, 表示第二向量,t表示第八随机数,H'表示第二抗碰撞哈希函数,K表示用户第一私钥,K0表示用户第二私钥,Ki表示用户第三私钥;
S410:通过数据用户生成搜索请求trapdoor和转换密钥TK,其表达式为

8.根据权利要求7所述的可验证搜索结果的布尔检索属性基加密方法,其特征在于,所述步骤S5包括以下子步骤:
S51:利用初始化后的云服务器判断数据拥有者DO的属性集是否满足线性秘密分享LSSS授权搜索访问结构(M,ρ),若不满足则匹配失败,否则进入步骤S52;
S52:根据线性秘密分享LSSS授权搜索访问结构(M,ρ)定义Ω={l:ρ(l)∈L},其中,L表示矩阵M的行数,ρ(l)表示线性秘密分享LSSS授权搜索访问结构的属性;
S53:计算满足∑i∈UλiM=(1,0,...,0)的常数λi∈Zp,其中,Zp为有限域,M表示L×N的矩阵;
S54:基于常数,判断数据用户DU的关键词名是否满足线性秘密分享LSSS搜索策略结构若不满足则匹配失败,否则进入步骤S55,其中, 表示E×k的矩阵, 表示关键词映射函数;
S55:计算满足线性秘密分享LSSS搜索策略结构 的最小子集
S56:根据最小子集计算第一搜索匹配值R1、第二搜索匹配值R2、第三搜索匹配值E'和第四搜索匹配值 其计算公式分别为:
其中,g表示生成元,e()表示双线性映射运算,α表示第一随机数,d表示第三随机数,b表示第七随机数,t表示第八随机数,z'表示第十三随机数,θ表示第十四随机数,(Cl,Dl)表示子秘密密文,l∈{1,...,L},L表示矩阵M的行数,H()表示第一碰撞哈希函数运算,H'()表示第二碰撞哈希函数运算,ρ(l)表示线性秘密分享LSSS授权搜索访问结构的属性,I”表示第十一随机数的随机化保护,T”表示第二向量计算秘密值的公开承诺,K'0表示数据用户第二转换密钥,λi表示常数, 表示最小子集,Te',1表示想要搜索的关键词集合的密文,Te',2表示第十二随机数的公开承诺,K'ρ(l)表示用户第四转换密钥,I0表示关键字集合的随机化保护,Ia表示文件关键词密文,μj表示常数,j表示最小子集的元素,I表示第十随机数和第十一随机数的密文,T0表示密文;
S57:判断等式 是否成立,若不成立则匹配失败,否则进入步骤
S58,其中,C”表示秘密分享值的第二公开承诺;
S58:利用初始化后的云服务器计算Compte=(ver1,ver2)并返回给数据用户DU,Compte表示搜索计算证明,ver1表示第一证明值,ver2表示第二证明值,其计算公式分别为:
其中,K'表示数据用户第一转换密钥,g表示生成元,α表示第一随机数,d表示第三随机数,x表示第五随机数,y表示第六随机数,t1表示第十随机数,θ表示第十四随机数,T'表示秘密值的公开承诺,R2表示第二搜索匹配值,H0表示关键字集合的哈希值,C'表示秘密分享值的第一公开承诺,s表示秘密分享值,I'表示第十随机数的随机化保护。

9.根据权利要求8所述的可验证搜索结果的布尔检索属性基加密方法,其特征在于,所述步骤S6中,通过数据用户DU计算等式 是否成立,若成立则完成布尔检
索属性基加密,否则拒绝搜索密文;其中Tv表示第十四随机数的第一密文,其中,e()表示双线性映射运算,Tag表示验证标签,ver2表示第二证明值, 表示文件密文的哈希值。
说明书

技术领域

[0001] 本发明属于数据安全技术领域,具体涉及一种可验证搜索结果的布尔检索属性基加密方法。

背景技术

[0002] 云存储作为一种全新的信息存储技术,因其存储容量大和价格低廉等优点,越来越多的用户将数据存储在云端。用户在享受云存储带来的便捷服务的同时,也承担着数据的安全风险。传统的加密技术虽然能够保证数据的机密性,却降低了数据的可用性。可搜索加密技术在保障数据安全性的同时支持对加密数据进行检索,极大的提高了数据的可用性。早期的可搜索加密方案仅支持单关键词或多关键词等值搜索,搜索语句表达形式单一,用户体验差。基于以上情况,本发明提出了一种可验证搜索结果的布尔检索属性基加密方法。

发明内容

[0003] 本发明的目的是为了解决布尔检索属性基加密的问题,提出了一种可验证搜索结果的布尔检索属性基加密方法。
[0004] 本发明的技术方案是:一种可验证搜索结果的布尔检索属性基加密方法包括以下步骤:
[0005] S1:对密钥生成中心、可信第三方和云服务器分别进行初始化,完成系统初始化;
[0006] S2:利用初始化后的密钥生成中心生成用户属性私钥;
[0007] S3:通过颁发属性私钥后的用户,利用初始化后的可信第三方为密文生成相关数据;
[0008] S4:基于生成相关数据后的密文,利用初始化后的可信第三方生成搜索请求;
[0009] S5:利用初始化后的云服务器,通过搜索请求执行搜索操作,将搜索匹配成功的密文返回给数据用户;
[0010] S6:通过数据用户检验搜索结果,完成布尔检索属性基加密。
[0011] 进一步地,密钥生成中心的初始化包括以下子步骤:
[0012] A11:利用密钥生成中心选择两个p阶循环群,即第一循环群G和第二循环群GT;
[0013] A12:利用密钥生成中心选择第一循环群G上的生成元g和双线性映射e:G×G→GT;
[0014] A13:基于生成元和双线性映射,利用密钥生成中心选择第一抗碰撞哈希函数H:* *
{0,1} →G、第二抗碰撞哈希函数H':{0,1} →Zp、安全参数λ'和全体属性集合U,其中,Zp为有限域;
[0015] A14:根据全体属性集合,利用密钥生成中心随机选择第一随机数 和第二随*机数 其中Zp为不含有零元素的有限域,i∈U;
[0016] A15:根据生成元和第二随机数计算系统属性的公开承诺Ti,其计算公式为:
[0017]
[0018] 其中,g表示生成元,si表示第二随机数;
[0019] A16:根据双线性映射、第一循环群、第二循环群、生成元、第一随机数、第一抗碰撞哈希函数、第二抗碰撞哈希函数和全体属性集合,公开系统参数PM和系统主密钥MSK,完成密钥生成中心的初始化,其表达式分别为:
[0020]
[0021] MSK={gα,α}
[0022] 其中,e表示双线性映射;G表示第一循环群,GT表示第二循环群,p表示循环群阶数,g表示生成元,α表示第一随机数,e()表示双线性映射运算,Ti表示系统属性的公开承诺,H表示第一抗碰撞哈希函数,H'表示第二抗碰撞哈希函数,i表示全体属性集合的每个属性,U表示全体属性集合。
[0023] 进一步地,可信第三方的初始化包括以下子步骤:
[0024] B11:利用可信第三方随机选择第三随机数 第四随机数 第五随机*
数 和第六随机数 其中Zp为不含有零元素的有限域;
[0025] B12:根据生成元、第三随机数、第四随机数、第五随机数和第六随机数,公开可信第三方参数PKt和可信第三方私钥SKt,完成可信第三方的初始化,其表达式分别为:
[0026] PKt={gf,gx,gy,e(g,g)d}
[0027] SKt={d,f,x,y}
[0028] 其中,g表示生成元,d表示第三随机数,f表示第四随机数,x表示第五随机数,y表示第六随机数,e()表示双线性映射运算。
[0029] 进一步地,云服务器的初始化包括以下子步骤:
[0030] C11:利用云服务器随机选择第七随机数 其中Zp*为不含有零元素的有限域;
[0031] C12:根据第七随机数公开云服务器公钥PKs和云服务器私钥SKs,完成可信第三方的初始化,其计算公式分别为:
[0032] PKs=gb
[0033] SKs=b
[0034] 其中,b表示第七随机数,g表示生成元。
[0035] 进一步地,步骤S2包括以下子步骤:
[0036] S21:利用初始化后的密钥生成中心随机选取第八随机数 其中Zp*为不含有零元素的有限域;
[0037] S22:根据第一随机数、第八随机数和生成元计算用户第一私钥K、用户第二私钥K0和用户第三私钥Ki,其计算公式分别为:
[0038] K=gαgαt
[0039] K0=gt
[0040]
[0041] 其中,g表示生成元,α表示第一随机数,t表示第八随机数,ξ表示用户属性集合,Ti表示系统属性的公开承诺,i表示全体属性集合的每个属性,U表示全体属性集合;
[0042] S23:根据用户第一私钥、用户第二私钥和用户第三私钥为用户颁发属性私钥SK,其表达式为:
[0043] 进一步地,步骤S3包括以下子步骤:
[0044] S31:通过数据拥有者DO制定线性秘密分享LSSS授权搜索访问结构(M,ρ),其中,M表示L×N的矩阵,ρ表示属性映射函数,L表示矩阵M的行数,N表示矩阵M的列数;
[0045] S32:根据线性秘密分享LSSS授权搜索访问结构,利用初始化后的系统随机选择第一向量V=(s,v'2,...,v'm)∈Zp,其中,s表示秘密分享值,v'2,...,v'm表示有限域Zp中的m‑1个随机数,Zp为有限域;
[0046] S33:基于第一向量,通过数据拥有者DO为矩阵M的每一行随机选择第九随机数*其中,Zp为不含有零元素的有限域;
[0047] S34:根据第九随机数计算秘密分享值的第一公开承诺C'、秘密分享值的第二公开承诺C″和子秘密密文 其计算公式分别为:
[0048] C'=gs
[0049] C″=gαs
[0050]
[0051] 其中,s表示秘密分享值,α表示第一随机数,ηl表示第九随机数,g表示生成元,V表示第一向量,ρ(l)表示线性秘密分享LSSS授权搜索访问结构的属性,T表示属性公钥,表示授权搜索访问结构属性的随机化公开承诺;
[0052] S35:根据LSSS授权搜索访问结构、秘密分享值的第一公开承诺和秘密分享值的第二公开承诺生成搜索权限sp,其表达式为
[0053] S36:基于搜索权限,利用初始化后的系统提取关键词集合W,其表达式为W={Na:wa},其中,Na表示第a个关键字名,wa表示第a个关键字值;
[0054] S37:根据关键词集合,将数据拥有者DO和初始化后的可信第三方进行交互,生成关键词索引Index;
[0055] S38:基于关键词索引,通过数据拥有者DO生成验证标签Tag,其计算公式为:
[0056]
[0057]
[0058] 其中, 表示文件密文的哈希值, 表示密文,g表示生成元,α表示第一随机数,e()表示双线性映射运算,t1表示第十随机数,H0表示关键字集合的哈希值,H'()表示第二碰撞哈希函数运算;
[0059] S39:将搜索权限sp、关键词索引Index和验证标签Tag作为相关数据。
[0060] 进一步地,步骤S37包括以下子步骤:
[0061] S371:通过数据拥有者DO选择第十随机数 和第十一随机数 其中,*Zp为不含有零元素的有限域;
[0062] S372:根据第十随机数和第十一随机数计算文件关键词盲化信息,其表达式为其中,g表示生成元,H0表示关键字集合的哈希值,α表示第一随机数,t1表示第十随机数,t2表示第十一随机数,wa表示第a个关键字值,W表示关键词集合,H()表示第一碰撞哈希函数运算;
[0063] S373:将文件关键词盲化信息发送给初始化后的可信第三方;
[0064] S374:向初始化后的可信第三方输入可信第三方私钥并计算关键子集合哈希值密文 第十随机数和第十一随机数的密文I和文件关键词密文Ia,其计算公式分别为:
[0065]
[0066]
[0067]
[0068] 其中,g表示生成元,d表示第三随机数,f表示第四随机数,x表示第五随机数,y表示第六随机数,H0表示关键字集合的哈希值,wa表示第a个关键字值,W表示关键词集合;
[0069] S375:将关键子集合哈希值密文、第十随机数和第十一随机数的密文和文件关键词密文发送给数据拥有者DO;
[0070] S376:向数据拥有者DO输入云服务器公钥,计算第十随机数的随机化保护I'、第十一随机数的随机化保护I″和关键字集合的随机化保护I0,其计算公式分别为:
[0071]
[0072]
[0073]
[0074] 其中,g表示生成元,d表示第三随机数,x表示第五随机数,y表示第六随机数,t1表示第十随机数,t2表示第十一随机数,H0表示关键字集合的哈希值;
[0075] S377:根据第十随机数的随机化保护、第十一随机数的随机化保护和关键字集合的随机化保护生成关键词索引Index,其表达式为
[0076] 进一步地,步骤S4包括以下子步骤:
[0077] S41:通过数据用户DU选择想要搜索的关键词集合W',其表达式为W'={N'a:w'a},其中,N'a表示想要搜索的第a个关键字名,w'a表示想要搜索的第a个关键字值;
[0078] S42:基于想要搜索的关键词集合,通过数据用户DU制定LSSS搜索策略结构其中, 表示E×k的矩阵, 表示关键词映射函数,E表示矩阵 的行数,k表示矩阵 的列数;
[0079] S43:通过数据用户DU为矩阵 的每一行选择第十二随机数 第*
十三随机数 和第十四随机数 其中,Zp为不含有零元素的有限域,i∈U,i表示全体属性集合的每个属性,U表示全体属性集合;
[0080] S44:根据第十二随机数、第十三随机数和第十四随机数计算第十四随机数的第一θ αθ公开承诺g 、第十四随机数的第二公开承诺g 和随机化请求关键词值
[0081] 其中,α表示第一随机数,γe'表示第十二随机数,g表示生成元,θ表示第十四随机数,H()表示第一碰撞哈希函数运算,W'表示想要搜索的关键词集合,e表示双线性映射,表示对想要搜索的关键词集合的隐藏, 表示根据关键词映射函数确定想要搜索的关键词集合;
[0082] S45:将第十四随机数的第一公开承诺、第十四随机数的第二公开承诺和随机化请求关键词值发送给初始化后的可信第三方;
[0083] S46:向初始化后的可信第三方输入可信第三方私钥并计算第十四随机数的第一密文Tv、第十四随机数的第二密文T″和请求关键词密文Te″,1,其计算公式分别为:
[0084] Tv=gxyθ
[0085] T″=gαdθ
[0086]
[0087] 其中,g表示生成元,α表示第一随机数,d表示第三随机数,x表示第五随机数,y表示第六随机数,θ表示第十四随机数,W'表示想要搜索的关键词集合,e表示双线性映射,表示对想要搜索的关键词集合的隐藏, 表示LSSS搜索策略结构的属性;
[0088] S47:将第十四随机数的第一密文、第十四随机数的第二密文和请求关键词密文发送给数据用户DU;
[0089] S48:通过数据用户DU随机选择第二向量 其中,θ表示第十四随机数,v2,...,vz表示有限域Zp中的z‑1个随机数;
[0090] S49:根据第二向量计算秘密值的公开承诺T'、密文T0、想要搜索的关键词集合的密文Te',1、第十二随机数的公开承诺Te',2、数据用户第一转换密钥K'、数据用户第二转换密钥K'0和数据用户第三转换密钥Ki',其计算公式分别为:
[0091] T'=gθ
[0092]
[0093]
[0094]
[0095] K'=Kz′=gαz′gαtz′
[0096]
[0097]
[0098] 其中,g表示生成元,e()表示双线性映射运算,α表示第一随机数,d表示第三随机数,f表示第四随机数,γe'表示第十二随机数,θ表示第十四随机数,z'表示第十三随机数,H()表示第一抗碰撞哈希函数运算,ξ表示用户属性集合,i表示全体属性集合的每个属性,表示对想要搜索的关键词集合的隐藏, 表示第二向量,t表示第八随机数,H'表示第二抗碰撞哈希函数,K表示用户第一私钥,K0表示用户第二私钥,Ki表示用户第三私钥;
[0099] S410:通过数据用户生成搜索请求和转换密钥TK,其表达式分别为[0100] 进一步地,步骤S5包括以下子步骤:
[0101] S51:利用初始化后的云服务器判断数据拥有者DO的属性集是否满足LSSS授权搜索访问结构(M,ρ),若不满足则匹配失败,否则进入步骤S52;
[0102] S52:根据线性秘密分享LSSS授权搜索访问结构(M,ρ)定义Ω={l:ρ(l)∈L},其中,L表示矩阵M的行数,ρ(l)表示线性秘密分享LSSS授权搜索访问结构的属性;
[0103] S53:计算满足∑i∈UλiM=(1,0,...,0)的常数λi∈Zp,其中,Zp为有限域,M表示L×N的矩阵;
[0104] S54:基于常数,判断数据用户DU的关键词名是否满足线性秘密分享LSSS搜索策略结构 若不满足则匹配失败,否则进入步骤S55,其中, 表示E×k的矩阵, 表示关键词映射函数;
[0105] S55:计算满足LSSS搜索策略结构 的最小子集
[0106] S56:根据最小子集计算第一搜索匹配值R1、第二搜索匹配值R2、第三搜索匹配值E'和第四搜索匹配值 其计算公式分别为:
[0107]
[0108]
[0109]
[0110]
[0111] 其中,g表示生成元,e()表示双线性映射运算,α表示第一随机数,d表示第三随机数,b表示第七随机数,t表示第八随机数,z'表示第十三随机数,θ表示第十四随机数,(Cl,Dl)表示子秘密密文,l∈{1,...,L},L表示矩阵M的行数,H()表示第一碰撞哈希函数运算,H'()表示第二碰撞哈希函数运算,ρ(l)表示LSSS授权搜索访问结构的属性,I″表示第十一随机数的随机化保护,T″表示第二向量计算秘密值的公开承诺,K'0表示数据用户第二转换密钥,λi表示常数, 表示最小子集,Te',1表示想要搜索的关键词集合的密文,Te',2表示第十二随机数的公开承诺,K'ρ(l)表示用户第四转换密钥,I0表示关键字集合的随机化保护,Ia表示文件关键词密文,μj表示常数,j表示最小子集的元素,I表示第十随机数和第十一随机数的密文,T0表示密文;
[0112] S57:判断等式 是否成立,若不成立则匹配失败,否则进入步骤S58;
[0113] S58:利用初始化后的云服务器计算Compte=(ver1,ver2)并返回给数据用户DU,Compte表示搜索计算证明,ver1表示第一证明值,ver2表示第二证明值,其计算公式分别为:
[0114]
[0115]
[0116] 其中,K'表示数据用户第一转换密钥,g表示生成元,α表示第一随机数,d表示第三随机数,x表示第五随机数,y表示第六随机数,t1表示第十随机数,θ表示第十四随机数,T'表示秘密值的公开承诺,R2表示第二搜索匹配值,H0表示关键字集合的哈希值,C'表示秘密分享值的第一公开承诺,s表示秘密分享值,I'表示第十随机数的随机化保护。
[0117] 进一步地,步骤S6中,通过数据用户DU计算等式 是否成立,若成立则完成布尔检索属性基加密,否则拒绝搜索密文;其中Tv表示第十四随机数的第一密文。
[0118] 本发明的有益效果是:
[0119] (1)本发明采用密文策略的属性基算法和线性秘密分享LSSS结构,将关键词看作其中的参与者,由用户制定搜索策略,匹配过程中通过计算恢复LSSS秘密值,实现布尔检索。本发明的方法具有较高的计算效率,在生成加密文件的过程中,引入关键词随机数,将关键词索引与加密文件绑定,保证密文与索引的关联性。
[0120] (2)本发明能够抵御服务器的离线关键词猜测攻击。通过可信第三方协助用户生成密文索引和关键词陷门,使得索引和陷门中含有可信第三方的私钥,从而可以抵抗一般恶意用户和指定云服务器的离线关键字猜测攻击。除此之外,方案还借助盲化的思想,使得关键词对于可信第三方而言也是不可见的。
[0121] (3)本发明能够对布尔检索的密文结果进行验证。利用属性基外包解密的思想,通过判断搜索服务器计算的结果是否能恢复LSSS秘密值,以此验证搜索结果的正确性与完整性。
[0122] (4)该方法兼顾了灵活的搜索语句和效率,在实现布尔检索的同时,实现了高效的搜索结果验证,算法表达灵活、安全性高。

实施方案

[0124] 下面结合附图对本发明的实施例作进一步的说明。
[0125] 如图1所示,本发明提供了一种可验证搜索结果的布尔检索属性基加密方法,包括以下步骤:
[0126] S1:对密钥生成中心、可信第三方和云服务器分别进行初始化,完成系统初始化;
[0127] S2:利用初始化后的密钥生成中心生成用户属性私钥;
[0128] S3:通过颁发属性私钥后的用户,利用初始化后的可信第三方为密文生成相关数据;
[0129] S4:基于生成相关数据后的密文,利用初始化后的可信第三方生成搜索请求;
[0130] S5:利用初始化后的云服务器,通过搜索请求执行搜索操作,将搜索匹配成功的密文返回给数据用户;
[0131] S6:通过数据用户检验搜索结果,完成布尔检索属性基加密。
[0132] 在本发明实施例中,如图1所示,密钥生成中心的初始化包括以下子步骤:
[0133] A11:利用密钥生成中心选择两个p阶循环群,即第一循环群G和第二循环群GT;
[0134] A12:利用密钥生成中心选择第一循环群G上的生成元g和双线性映射e:G×G→GT;
[0135] A13:基于生成元和双线性映射,利用密钥生成中心选择第一抗碰撞哈希函数H:* *
{0,1} →G、第二抗碰撞哈希函数H':{0,1} →Zp、安全参数λ'和全体属性集合U,其中,Zp为有限域;
[0136] A14:根据全体属性集合,利用密钥生成中心随机选择第一随机数 和第二随*机数 其中Zp为不含有零元素的有限域,i∈U;
[0137] A15:根据生成元和第二随机数计算系统属性的公开承诺Ti,其计算公式为:
[0138]
[0139] 其中,g表示生成元,si表示第二随机数;
[0140] A16:根据双线性映射、第一循环群、第二循环群、生成元、第一随机数、第一抗碰撞哈希函数、第二抗碰撞哈希函数和全体属性集合,公开系统参数PM和系统主密钥MSK,完成密钥生成中心的初始化,其表达式分别为:
[0141]
[0142] MSK={gα,α}
[0143] 其中,e表示双线性映射;G表示第一循环群,GT表示第二循环群,p表示循环群阶数,g表示生成元,α表示第一随机数,e()表示双线性映射运算,Ti表示系统属性的公开承诺,H表示第一抗碰撞哈希函数,H'表示第二抗碰撞哈希函数,i表示全体属性集合的每个属性,U表示全体属性集合。
[0144] 在本发明实施例中,如图1所示,可信第三方的初始化包括以下子步骤:
[0145] B11:利用可信第三方随机选择第三随机数 第四随机数 第五随机*
数 和第六随机数 其中Zp为不含有零元素的有限域;
[0146] B12:根据生成元、第三随机数、第四随机数、第五随机数和第六随机数,公开可信第三方参数PKt和可信第三方私钥SKt,完成可信第三方的初始化,其表达式分别为:
[0147] PKt={gf,gx,gy,e(g,g)d}
[0148] SKt={d,f,x,y}
[0149] 其中,g表示生成元,d表示第三随机数,f表示第四随机数,x表示第五随机数,y表示第六随机数,e()表示双线性映射运算。
[0150] 在本发明实施例中,如图1所示,云服务器的初始化包括以下子步骤:
[0151] C11:利用云服务器随机选择第七随机数 其中Zp*为不含有零元素的有限域;
[0152] C12:根据第七随机数公开云服务器公钥PKs和云服务器私钥SKs,完成可信第三方的初始化,其计算公式分别为:
[0153] PKs=gb
[0154] SKs=b
[0155] 其中,b表示第七随机数,g表示生成元。
[0156] 在本发明实施例中,如图1所示,步骤S2包括以下子步骤:
[0157] S21:利用初始化后的密钥生成中心随机选取第八随机数 其中Zp*为不含有零元素的有限域;
[0158] S22:根据第一随机数、第八随机数和生成元计算用户第一私钥K、用户第二私钥K0和用户第三私钥Ki,其计算公式分别为:
[0159] K=gαgαt
[0160] K0=gt
[0161]
[0162] 其中,g表示生成元,α表示第一随机数,t表示第八随机数,ξ表示用户属性集合,Ti表示系统属性的公开承诺,i表示全体属性集合的每个属性,U表示全体属性集合;
[0163] S23:根据用户第一私钥、用户第二私钥和用户第三私钥为用户颁发属性私钥SK,其表达式为:
[0164] 在本发明实施例中,如图1所示,步骤S3包括以下子步骤:
[0165] S31:通过数据拥有者DO制定线性秘密分享LSSS授权搜索访问结构(M,ρ),其中,M表示L×N的矩阵,ρ表示属性映射函数,L表示矩阵M的行数,N表示矩阵M的列数;
[0166] S32:根据线性秘密分享LSSS授权搜索访问结构,利用初始化后的系统随机选择第一向量V=(s,v'2,...,v'm)∈Zp,其中,s表示秘密分享值,v'2,...,v'm表示有限域Zp中的m‑1个随机数,Zp为有限域;
[0167] S33:基于第一向量,通过数据拥有者DO为矩阵M的每一行随机选择第九随机数*其中,Zp为不含有零元素的有限域;
[0168] S34:根据第九随机数计算秘密分享值的第一公开承诺C'、秘密分享值的第二公开承诺C″和子秘密密文 其计算公式分别为:
[0169] C'=gs
[0170] C″=gαs
[0171]
[0172] 其中,s表示秘密分享值,α表示第一随机数,ηl表示第九随机数,g表示生成元,V表示第一向量,ρ(l)表示线性秘密分享LSSS授权搜索访问结构的属性,T表示属性公钥,表示授权搜索访问结构属性的随机化公开承诺;
[0173] S35:根据LSSS授权搜索访问结构、秘密分享值的第一公开承诺和秘密分享值的第二公开承诺生成搜索权限sp,其表达式为
[0174] S36:基于搜索权限,利用初始化后的系统提取关键词集合W,其表达式为W={Na:wa},其中,Na表示第a个关键字名,wa表示第a个关键字值;
[0175] S37:根据关键词集合,将数据拥有者DO和初始化后的可信第三方进行交互,生成关键词索引Index;
[0176] S38:基于关键词索引,通过数据拥有者DO生成验证标签Tag,其计算公式为:
[0177]
[0178]
[0179] 其中, 表示文件密文的哈希值, 表示密文,g表示生成元,α表示第一随机数,e()表示双线性映射运算,t1表示第十随机数,H0表示关键字集合的哈希值,H'()表示第二碰撞哈希函数运算;
[0180] S39:将搜索权限sp、关键词索引Index和验证标签Tag作为相关数据。
[0181] 在本发明实施例中,如图1所示,步骤S37包括以下子步骤:
[0182] S371:通过数据拥有者DO选择第十随机数 和第十一随机数 其中,*Zp为不含有零元素的有限域;
[0183] S372:根据第十随机数和第十一随机数计算文件关键词盲化信息,其表达式为其中,g表示生成元,H0表示关键字集合的哈希值,α表示第一随机数,t1表示第十随机数,t2表示第十一随机数,wa表示第a个关键字值,W表示关键词集合,H()表示第一碰撞哈希函数运算;
[0184] S373:将文件关键词盲化信息发送给初始化后的可信第三方;
[0185] S374:向初始化后的可信第三方输入可信第三方私钥并计算关键子集合哈希值密文 第十随机数和第十一随机数的密文I和文件关键词密文Ia,其计算公式分别为:
[0186]
[0187]
[0188]
[0189] 其中,g表示生成元,d表示第三随机数,f表示第四随机数,x表示第五随机数,y表示第六随机数,H0表示关键字集合的哈希值,wa表示第a个关键字值,W表示关键词集合;
[0190] S375:将关键子集合哈希值密文、第十随机数和第十一随机数的密文和文件关键词密文发送给数据拥有者DO;
[0191] S376:向数据拥有者DO输入云服务器公钥,计算第十随机数的随机化保护I'、第十一随机数的随机化保护I″和关键字集合的随机化保护I0,其计算公式分别为:
[0192]
[0193]
[0194]
[0195] 其中,g表示生成元,d表示第三随机数,x表示第五随机数,y表示第六随机数,t1表示第十随机数,t2表示第十一随机数,H0表示关键字集合的哈希值;
[0196] S377:根据第十随机数的随机化保护、第十一随机数的随机化保护和关键字集合的随机化保护生成关键词索引Index,其表达式为
[0197] 在本发明实施例中,如图1所示,步骤S4包括以下子步骤:
[0198] S41:通过数据用户DU选择想要搜索的关键词集合W',其表达式为W'={N'a:w'a},其中,N'a表示想要搜索的第a个关键字名,w'a表示想要搜索的第a个关键字值;
[0199] S42:基于想要搜索的关键词集合,通过数据用户DU制定LSSS搜索策略结构其中, 表示E×k的矩阵,表示关键词映射函数,E表示矩阵 的行数,k表示矩阵的列数;
[0200] S43:通过数据用户DU为矩阵 的每一行选择第十二随机数*
第十三随机数 和第十四随机数 其中,Zp为不含有零元素的有限域,i∈U,i表示全体属性集合的每个属性,U表示全体属性集合;
[0201] S44:根据第十二随机数、第十三随机数和第十四随机数计算第十四随机数的第一θ αθ公开承诺g 、第十四随机数的第二公开承诺g 和随机化请求关键词值
[0202] 其中,α表示第一随机数,γe'表示第十二随机数,g表示生成元,θ表示第十四随机数,H()表示第一碰撞哈希函数运算,W'表示想要搜索的关键词集合,e表示双线性映射,表示对想要搜索的关键词集合的隐藏, 表示根据关键词映射函数确定想要搜索的关键词集合;
[0203] S45:将第十四随机数的第一公开承诺、第十四随机数的第二公开承诺和随机化请求关键词值发送给初始化后的可信第三方;
[0204] S46:向初始化后的可信第三方输入可信第三方私钥并计算第十四随机数的第一密文Tv、第十四随机数的第二密文T″和请求关键词密文Te″,1,其计算公式分别为:
[0205] Tv=gxyθ
[0206] T″=gαdθ
[0207]
[0208] 其中,g表示生成元,α表示第一随机数,d表示第三随机数,x表示第五随机数,y表示第六随机数,θ表示第十四随机数,W'表示想要搜索的关键词集合,e表示双线性映射,表示对想要搜索的关键词集合的隐藏, 表示LSSS搜索策略结构的属性;
[0209] S47:将第十四随机数的第一密文、第十四随机数的第二密文和请求关键词密文发送给数据用户DU;
[0210] S48:通过数据用户DU随机选择第二向量 其中,θ表示第十四随机数,v2,...,vz表示有限域Zp中的z‑1个随机数;
[0211] S49:根据第二向量计算秘密值的公开承诺T'、密文T0、想要搜索的关键词集合的密文Te',1、第十二随机数的公开承诺Te',2、数据用户第一转换密钥K'、数据用户第二转换密钥K'0和数据用户第三转换密钥Ki',其计算公式分别为:
[0212] T'=gθ
[0213]
[0214]
[0215]
[0216] K'=Kz′=gαz′gαtz′
[0217]
[0218]
[0219] 其中,g表示生成元,e()表示双线性映射运算,α表示第一随机数,d表示第三随机数,f表示第四随机数,γe'表示第十二随机数,θ表示第十四随机数,z'表示第十三随机数,H()表示第一抗碰撞哈希函数运算,ξ表示用户属性集合,i表示全体属性集合的每个属性,表示对想要搜索的关键词集合的隐藏, 表示第二向量,t表示第八随机数,H'表示第二抗碰撞哈希函数,K表示用户第一私钥,K0表示用户第二私钥,Ki表示用户第三私钥;
[0220] S410:通过数据用户生成搜索请求和转换密钥TK,其表达式分别为[0221] 在本发明实施例中,如图1所示,步骤S5包括以下子步骤:
[0222] S51:利用初始化后的云服务器判断数据拥有者DO的属性集是否满足LSSS授权搜索访问结构(M,ρ),若不满足则匹配失败,否则进入步骤S52;
[0223] S52:根据线性秘密分享LSSS授权搜索访问结构(M,ρ)定义Ω={l:ρ(l)∈L},其中,L表示矩阵M的行数,ρ(l)表示线性秘密分享LSSS授权搜索访问结构的属性;
[0224] S53:计算满足∑i∈UλiM=(1,0,...,0)的常数λi∈Zp,其中,Zp为有限域,M表示L×N的矩阵;
[0225] S54:基于常数,判断数据用户DU的关键词名是否满足线性秘密分享LSSS搜索策略结构 若不满足则匹配失败,否则进入步骤S55,其中, 表示E×k的矩阵, 表示关键词映射函数;
[0226] S55:计算满足LSSS搜索策略结构 的最小子集
[0227] S56:根据最小子集计算第一搜索匹配值R1、第二搜索匹配值R2、第三搜索匹配值E'和第四搜索匹配值 其计算公式分别为:
[0228]
[0229]
[0230]
[0231]
[0232] 其中,g表示生成元,e()表示双线性映射运算,α表示第一随机数,d表示第三随机数,b表示第七随机数,t表示第八随机数,z'表示第十三随机数,θ表示第十四随机数,(Cl,Dl)表示子秘密密文,l∈{1,...,L},L表示矩阵M的行数,H()表示第一碰撞哈希函数运算,H'()表示第二碰撞哈希函数运算,ρ(l)表示LSSS授权搜索访问结构的属性,I″表示第十一随机数的随机化保护,T″表示第二向量计算秘密值的公开承诺,K'0表示数据用户第二转换密钥,λi表示常数, 表示最小子集,Te',1表示想要搜索的关键词集合的密文,Te',2表示第十二随机数的公开承诺,K'ρ(l)表示用户第四转换密钥,I0表示关键字集合的随机化保护,Ia表示文件关键词密文,μj表示常数,j表示最小子集的元素,I表示第十随机数和第十一随机数的密文,T0表示密文;
[0233] S57:判断等式 是否成立,若不成立则匹配失败,否则进入步骤S58;
[0234] S58:利用初始化后的云服务器计算Compte=(ver1,ver2)并返回给数据用户DU,Compte表示搜索计算证明,ver1表示第一证明值,ver2表示第二证明值,其计算公式分别为:
[0235]
[0236]
[0237] 其中,K'表示数据用户第一转换密钥,g表示生成元,α表示第一随机数,d表示第三随机数,x表示第五随机数,y表示第六随机数,t1表示第十随机数,θ表示第十四随机数,T'表示秘密值的公开承诺,R2表示第二搜索匹配值,H0表示关键字集合的哈希值,C'表示秘密分享值的第一公开承诺,s表示秘密分享值,I'表示第十随机数的随机化保护。
[0238] 在本发明实施例中,如图1所示,步骤S6中,通过数据用户DU计算等式是否成立,若成立则完成布尔检索属性基加密,否则拒绝搜索密文;其中Tv表示第十四随机数的第一密文。
[0239] 验证过程的推导如下:
[0240] 验证阶段,搜索服务器将部分计算结果ver1和ver2返回给数据用户DU,只有当文件的关键词索引满足数据用户DU制定的搜索策略时,ver2的值才等于 其中θ为DU选择的秘密随机数值,而t1,H0只有文件上传者才知道,所以当某份文件的索引并不满足数据用户DU的搜索策略时,服务器无法通过公开信息计算出 同理,关于计算结αsz果ver1,只有当数据用户DU的属性满足文件的授权搜索策略时,其值才为e(g,g) ,其中s,z分别为DO、DU所选的秘密随机值,在用户属性不满足文件访问策略时,搜索服务器无法通αsz
过公开信息计算出e(g,g) 。由于 其中 为加密文件,搜索
服务器无法通过篡改加密文件而伪造一个合法的标签。从而还可以实现对文件的完整性保护。
[0241] 因此,当搜索服务器返回的加密文件符合用户的搜索要求时,有
[0242]
[0243]
[0244] 本发明的工作原理及过程为:本发明提供的一种可验证搜索结果的布尔检索属性基加密方法,涉及数据安全领域,其包括系统初始化,生成系统的公开参数PM和主密钥MSK,以及云服务器和可信第三方的公私钥对;为用户颁发属性私钥SK;生成文件密文 的相关数据:搜索权限sp、验证标签Tag以及与可信第三方联合计算的关键词索引Index,将生成的数据组 上传至云服务器;提出搜索请求,计算转换密钥TK,选择关键词并制定由逻辑“与”“或”连接的关键词搜索策略,联合可信第三方计算搜索陷门Trapdoor,将生成的TK和Trapdoor发送给云服务器;权限验证和执行搜索运算,根据TK、Trapdoor和文件密文及索引进行权限验证和搜索匹配计算;如果匹配成功,则返回相应的密文文件 的Tag给用户;用户做最后的相关性与完整性验证,决定是否解密该文件。
[0245] 本发明的有益效果为:(1)本发明采用密文策略的属性基算法和线性秘密分享LSSS结构,将关键词看作其中的参与者,由用户制定搜索策略,匹配过程中通过计算恢复LSSS秘密值,实现布尔检索。本发明的方法具有较高的计算效率,在生成加密文件的过程中,引入关键词随机数,将关键词索引与加密文件绑定,保证密文与索引的关联性。
[0246] (2)本发明能够抵御服务器的离线关键词猜测攻击。通过可信第三方协助用户生成密文索引和关键词陷门,使得索引和陷门中含有可信第三方的私钥,从而可以抵抗一般恶意用户和指定云服务器的离线关键字猜测攻击。除此之外,方案还借助盲化的思想,使得关键词对于可信第三方而言也是不可见的。
[0247] (3)本发明能够对布尔检索的密文结果进行验证。利用属性基外包解密的方法,通过判断搜索服务器计算的结果是否能恢复LSSS秘密值,以此验证搜索结果的正确性与完整性。
[0248] (4)该方法兼顾了灵活的搜索语句和效率,在实现布尔检索的同时,实现了高效的搜索结果验证,算法表达灵活、安全性高。
[0249] 本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

附图说明

[0123] 图1为布尔检索属性基加密方法的流程图。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号