CN111541535B - 一种可验证搜索结果的布尔检索属性基加密方法 - Google Patents
一种可验证搜索结果的布尔检索属性基加密方法 Download PDFInfo
- Publication number
- CN111541535B CN111541535B CN202010306235.9A CN202010306235A CN111541535B CN 111541535 B CN111541535 B CN 111541535B CN 202010306235 A CN202010306235 A CN 202010306235A CN 111541535 B CN111541535 B CN 111541535B
- Authority
- CN
- China
- Prior art keywords
- random number
- representing
- search
- attribute
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种可验证搜索结果的布尔检索属性基加密方法,采用密文策略的属性基算法和线性秘密分享LSSS结构,将关键词看作其中的参与者,由用户制定搜索策略,匹配过程中通过计算恢复LSSS秘密值,实现布尔检索。本发明的方法具有较高的计算效率,兼顾了灵活的搜索语句和效率,在实现布尔检索的同时,实现了高效的搜索结果验证,算法表达灵活、安全性高。
Description
技术领域
本发明属于数据安全技术领域,具体涉及一种可验证搜索结果的布尔检索属性基加密方法。
背景技术
云存储作为一种全新的信息存储技术,因其存储容量大和价格低廉等优点,越来越多的用户将数据存储在云端。用户在享受云存储带来的便捷服务的同时,也承担着数据的安全风险。传统的加密技术虽然能够保证数据的机密性,却降低了数据的可用性。可搜索加密技术在保障数据安全性的同时支持对加密数据进行检索,极大的提高了数据的可用性。早期的可搜索加密方案仅支持单关键词或多关键词等值搜索,搜索语句表达形式单一,用户体验差。基于以上情况,本发明提出了一种可验证搜索结果的布尔检索属性基加密方法。
发明内容
本发明的目的是为了解决布尔检索属性基加密的问题,提出了一种可验证搜索结果的布尔检索属性基加密方法。
本发明的技术方案是:一种可验证搜索结果的布尔检索属性基加密方法包括以下步骤:
S1:对密钥生成中心、可信第三方和云服务器分别进行初始化,完成***初始化;
S2:利用初始化后的密钥生成中心生成用户属性私钥;
S3:通过颁发属性私钥后的用户,利用初始化后的可信第三方为密文生成相关数据;
S4:基于生成相关数据后的密文,利用初始化后的可信第三方生成搜索请求;
S5:利用初始化后的云服务器,通过搜索请求执行搜索操作,将搜索匹配成功的密文返回给数据用户;
S6:通过数据用户检验搜索结果,完成布尔检索属性基加密。
进一步地,密钥生成中心的初始化包括以下子步骤:
A11:利用密钥生成中心选择两个p阶循环群,即第一循环群G和第二循环群GT;
A12:利用密钥生成中心选择第一循环群G上的生成元g和双线性映射e:G×G→GT;
A13:基于生成元和双线性映射,利用密钥生成中心选择第一抗碰撞哈希函数H:{0,1}*→G、第二抗碰撞哈希函数H':{0,1}*→Zp、安全参数λ'和全体属性集合U,其中,Zp为有限域;
A15:根据生成元和第二随机数计算***属性的公开承诺Ti,其计算公式为:
其中,g表示生成元,si表示第二随机数;
A16:根据双线性映射、第一循环群、第二循环群、生成元、第一随机数、第一抗碰撞哈希函数、第二抗碰撞哈希函数和全体属性集合,公开***参数PM和***主密钥MSK,完成密钥生成中心的初始化,其表达式分别为:
MSK={gα,α}
其中,e表示双线性映射;G表示第一循环群,GT表示第二循环群,p表示循环群阶数,g表示生成元,α表示第一随机数,e()表示双线性映射运算,Ti表示***属性的公开承诺,H表示第一抗碰撞哈希函数,H'表示第二抗碰撞哈希函数,i表示全体属性集合的每个属性,U表示全体属性集合。
进一步地,可信第三方的初始化包括以下子步骤:
B12:根据生成元、第三随机数、第四随机数、第五随机数和第六随机数,公开可信第三方参数PKt和可信第三方私钥SKt,完成可信第三方的初始化,其表达式分别为:
PKt={gf,gx,gy,e(g,g)d}
SKt={d,f,x,y}
其中,g表示生成元,d表示第三随机数,f表示第四随机数,x表示第五随机数,y表示第六随机数,e()表示双线性映射运算。
进一步地,云服务器的初始化包括以下子步骤:
C12:根据第七随机数公开云服务器公钥PKs和云服务器私钥SKs,完成可信第三方的初始化,其计算公式分别为:
PKs=gb
SKs=b
其中,b表示第七随机数,g表示生成元。
进一步地,步骤S2包括以下子步骤:
S22:根据第一随机数、第八随机数和生成元计算用户第一私钥K、用户第二私钥K0和用户第三私钥Ki,其计算公式分别为:
K=gαgαt
K0=gt
其中,g表示生成元,α表示第一随机数,t表示第八随机数,ξ表示用户属性集合,Ti表示***属性的公开承诺,i表示全体属性集合的每个属性,U表示全体属性集合;
进一步地,步骤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为有限域;
C'=gs
C″=gαs
其中,s表示秘密分享值,α表示第一随机数,ηl表示第九随机数,g表示生成元,V表示第一向量,ρ(l)表示线性秘密分享LSSS授权搜索访问结构的属性,T表示属性公钥,表示授权搜索访问结构属性的随机化公开承诺;
S36:基于搜索权限,利用初始化后的***提取关键词集合W,其表达式为W={Na:wa},其中,Na表示第a个关键字名,wa表示第a个关键字值;
S37:根据关键词集合,将数据拥有者DO和初始化后的可信第三方进行交互,生成关键词索引Index;
S38:基于关键词索引,通过数据拥有者DO生成验证标签Tag,其计算公式为:
S39:将搜索权限sp、关键词索引Index和验证标签Tag作为相关数据。
进一步地,步骤S37包括以下子步骤:
S372:根据第十随机数和第十一随机数计算文件关键词盲化信息,其表达式为其中,g表示生成元,H0表示关键字集合的哈希值,α表示第一随机数,t1表示第十随机数,t2表示第十一随机数,wa表示第a个关键字值,W表示关键词集合,H()表示第一碰撞哈希函数运算;
S373:将文件关键词盲化信息发送给初始化后的可信第三方;
其中,g表示生成元,d表示第三随机数,f表示第四随机数,x表示第五随机数,y表示第六随机数,H0表示关键字集合的哈希值,wa表示第a个关键字值,W表示关键词集合;
S375:将关键子集合哈希值密文、第十随机数和第十一随机数的密文和文件关键词密文发送给数据拥有者DO;
S376:向数据拥有者DO输入云服务器公钥,计算第十随机数的随机化保护I'、第十一随机数的随机化保护I″和关键字集合的随机化保护I0,其计算公式分别为:
其中,g表示生成元,d表示第三随机数,x表示第五随机数,y表示第六随机数,t1表示第十随机数,t2表示第十一随机数,H0表示关键字集合的哈希值;
进一步地,步骤S4包括以下子步骤:
S41:通过数据用户DU选择想要搜索的关键词集合W',其表达式为W'={N'a:w'a},其中,N'a表示想要搜索的第a个关键字名,w'a表示想要搜索的第a个关键字值;
其中,α表示第一随机数,γe'表示第十二随机数,g表示生成元,θ表示第十四随机数,H()表示第一碰撞哈希函数运算,W'表示想要搜索的关键词集合,e表示双线性映射,表示对想要搜索的关键词集合的隐藏,表示根据关键词映射函数确定想要搜索的关键词集合;
S45:将第十四随机数的第一公开承诺、第十四随机数的第二公开承诺和随机化请求关键词值发送给初始化后的可信第三方;
S46:向初始化后的可信第三方输入可信第三方私钥并计算第十四随机数的第一密文Tv、第十四随机数的第二密文T″和请求关键词密文Te″,1,其计算公式分别为:
Tv=gxyθ
T″=gαdθ
其中,g表示生成元,α表示第一随机数,d表示第三随机数,x表示第五随机数,y表示第六随机数,θ表示第十四随机数,W'表示想要搜索的关键词集合,e表示双线性映射,表示对想要搜索的关键词集合的隐藏,表示LSSS搜索策略结构的属性;
S47:将第十四随机数的第一密文、第十四随机数的第二密文和请求关键词密文发送给数据用户DU;
S49:根据第二向量计算秘密值的公开承诺T'、密文T0、想要搜索的关键词集合的密文Te',1、第十二随机数的公开承诺Te',2、数据用户第一转换密钥K'、数据用户第二转换密钥K'0和数据用户第三转换密钥Ki',其计算公式分别为:
T'=gθ
K'=Kz′=gαz′gαtz′
其中,g表示生成元,e()表示双线性映射运算,α表示第一随机数,d表示第三随机数,f表示第四随机数,γe'表示第十二随机数,θ表示第十四随机数,z'表示第十三随机数,H()表示第一抗碰撞哈希函数运算,ξ表示用户属性集合,i表示全体属性集合的每个属性,表示对想要搜索的关键词集合的隐藏,表示第二向量,t表示第八随机数,H'表示第二抗碰撞哈希函数,K表示用户第一私钥,K0表示用户第二私钥,Ki表示用户第三私钥;
进一步地,步骤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的矩阵;
其中,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表示密文;
S58:利用初始化后的云服务器计算Compte=(ver1,ver2)并返回给数据用户DU,Compte表示搜索计算证明,ver1表示第一证明值,ver2表示第二证明值,其计算公式分别为:
其中,K'表示数据用户第一转换密钥,g表示生成元,α表示第一随机数,d表示第三随机数,x表示第五随机数,y表示第六随机数,t1表示第十随机数,θ表示第十四随机数,T'表示秘密值的公开承诺,R2表示第二搜索匹配值,H0表示关键字集合的哈希值,C'表示秘密分享值的第一公开承诺,s表示秘密分享值,I'表示第十随机数的随机化保护。
本发明的有益效果是:
(1)本发明采用密文策略的属性基算法和线性秘密分享LSSS结构,将关键词看作其中的参与者,由用户制定搜索策略,匹配过程中通过计算恢复LSSS秘密值,实现布尔检索。本发明的方法具有较高的计算效率,在生成加密文件的过程中,引入关键词随机数,将关键词索引与加密文件绑定,保证密文与索引的关联性。
(2)本发明能够抵御服务器的离线关键词猜测攻击。通过可信第三方协助用户生成密文索引和关键词陷门,使得索引和陷门中含有可信第三方的私钥,从而可以抵抗一般恶意用户和指定云服务器的离线关键字猜测攻击。除此之外,方案还借助盲化的思想,使得关键词对于可信第三方而言也是不可见的。
(3)本发明能够对布尔检索的密文结果进行验证。利用属性基外包解密的思想,通过判断搜索服务器计算的结果是否能恢复LSSS秘密值,以此验证搜索结果的正确性与完整性。
(4)该方法兼顾了灵活的搜索语句和效率,在实现布尔检索的同时,实现了高效的搜索结果验证,算法表达灵活、安全性高。
附图说明
图1为布尔检索属性基加密方法的流程图。
具体实施方式
下面结合附图对本发明的实施例作进一步的说明。
如图1所示,本发明提供了一种可验证搜索结果的布尔检索属性基加密方法,包括以下步骤:
S1:对密钥生成中心、可信第三方和云服务器分别进行初始化,完成***初始化;
S2:利用初始化后的密钥生成中心生成用户属性私钥;
S3:通过颁发属性私钥后的用户,利用初始化后的可信第三方为密文生成相关数据;
S4:基于生成相关数据后的密文,利用初始化后的可信第三方生成搜索请求;
S5:利用初始化后的云服务器,通过搜索请求执行搜索操作,将搜索匹配成功的密文返回给数据用户;
S6:通过数据用户检验搜索结果,完成布尔检索属性基加密。
在本发明实施例中,如图1所示,密钥生成中心的初始化包括以下子步骤:
A11:利用密钥生成中心选择两个p阶循环群,即第一循环群G和第二循环群GT;
A12:利用密钥生成中心选择第一循环群G上的生成元g和双线性映射e:G×G→GT;
A13:基于生成元和双线性映射,利用密钥生成中心选择第一抗碰撞哈希函数H:{0,1}*→G、第二抗碰撞哈希函数H':{0,1}*→Zp、安全参数λ'和全体属性集合U,其中,Zp为有限域;
A15:根据生成元和第二随机数计算***属性的公开承诺Ti,其计算公式为:
其中,g表示生成元,si表示第二随机数;
A16:根据双线性映射、第一循环群、第二循环群、生成元、第一随机数、第一抗碰撞哈希函数、第二抗碰撞哈希函数和全体属性集合,公开***参数PM和***主密钥MSK,完成密钥生成中心的初始化,其表达式分别为:
MSK={gα,α}
其中,e表示双线性映射;G表示第一循环群,GT表示第二循环群,p表示循环群阶数,g表示生成元,α表示第一随机数,e()表示双线性映射运算,Ti表示***属性的公开承诺,H表示第一抗碰撞哈希函数,H'表示第二抗碰撞哈希函数,i表示全体属性集合的每个属性,U表示全体属性集合。
在本发明实施例中,如图1所示,可信第三方的初始化包括以下子步骤:
B12:根据生成元、第三随机数、第四随机数、第五随机数和第六随机数,公开可信第三方参数PKt和可信第三方私钥SKt,完成可信第三方的初始化,其表达式分别为:
PKt={gf,gx,gy,e(g,g)d}
SKt={d,f,x,y}
其中,g表示生成元,d表示第三随机数,f表示第四随机数,x表示第五随机数,y表示第六随机数,e()表示双线性映射运算。
在本发明实施例中,如图1所示,云服务器的初始化包括以下子步骤:
C12:根据第七随机数公开云服务器公钥PKs和云服务器私钥SKs,完成可信第三方的初始化,其计算公式分别为:
PKs=gb
SKs=b
其中,b表示第七随机数,g表示生成元。
在本发明实施例中,如图1所示,步骤S2包括以下子步骤:
S22:根据第一随机数、第八随机数和生成元计算用户第一私钥K、用户第二私钥K0和用户第三私钥Ki,其计算公式分别为:
K=gαgαt
K0=gt
其中,g表示生成元,α表示第一随机数,t表示第八随机数,ξ表示用户属性集合,Ti表示***属性的公开承诺,i表示全体属性集合的每个属性,U表示全体属性集合;
在本发明实施例中,如图1所示,步骤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为有限域;
C'=gs
C″=gαs
其中,s表示秘密分享值,α表示第一随机数,ηl表示第九随机数,g表示生成元,V表示第一向量,ρ(l)表示线性秘密分享LSSS授权搜索访问结构的属性,T表示属性公钥,表示授权搜索访问结构属性的随机化公开承诺;
S36:基于搜索权限,利用初始化后的***提取关键词集合W,其表达式为W={Na:wa},其中,Na表示第a个关键字名,wa表示第a个关键字值;
S37:根据关键词集合,将数据拥有者DO和初始化后的可信第三方进行交互,生成关键词索引Index;
S38:基于关键词索引,通过数据拥有者DO生成验证标签Tag,其计算公式为:
S39:将搜索权限sp、关键词索引Index和验证标签Tag作为相关数据。
在本发明实施例中,如图1所示,步骤S37包括以下子步骤:
S372:根据第十随机数和第十一随机数计算文件关键词盲化信息,其表达式为其中,g表示生成元,H0表示关键字集合的哈希值,α表示第一随机数,t1表示第十随机数,t2表示第十一随机数,wa表示第a个关键字值,W表示关键词集合,H()表示第一碰撞哈希函数运算;
S373:将文件关键词盲化信息发送给初始化后的可信第三方;
其中,g表示生成元,d表示第三随机数,f表示第四随机数,x表示第五随机数,y表示第六随机数,H0表示关键字集合的哈希值,wa表示第a个关键字值,W表示关键词集合;
S375:将关键子集合哈希值密文、第十随机数和第十一随机数的密文和文件关键词密文发送给数据拥有者DO;
S376:向数据拥有者DO输入云服务器公钥,计算第十随机数的随机化保护I'、第十一随机数的随机化保护I″和关键字集合的随机化保护I0,其计算公式分别为:
其中,g表示生成元,d表示第三随机数,x表示第五随机数,y表示第六随机数,t1表示第十随机数,t2表示第十一随机数,H0表示关键字集合的哈希值;
在本发明实施例中,如图1所示,步骤S4包括以下子步骤:
S41:通过数据用户DU选择想要搜索的关键词集合W',其表达式为W'={N'a:w'a},其中,N'a表示想要搜索的第a个关键字名,w'a表示想要搜索的第a个关键字值;
其中,α表示第一随机数,γe'表示第十二随机数,g表示生成元,θ表示第十四随机数,H()表示第一碰撞哈希函数运算,W'表示想要搜索的关键词集合,e表示双线性映射,表示对想要搜索的关键词集合的隐藏,表示根据关键词映射函数确定想要搜索的关键词集合;
S45:将第十四随机数的第一公开承诺、第十四随机数的第二公开承诺和随机化请求关键词值发送给初始化后的可信第三方;
S46:向初始化后的可信第三方输入可信第三方私钥并计算第十四随机数的第一密文Tv、第十四随机数的第二密文T″和请求关键词密文Te″,1,其计算公式分别为:
Tv=gxyθ
T″=gαdθ
其中,g表示生成元,α表示第一随机数,d表示第三随机数,x表示第五随机数,y表示第六随机数,θ表示第十四随机数,W'表示想要搜索的关键词集合,e表示双线性映射,表示对想要搜索的关键词集合的隐藏,表示LSSS搜索策略结构的属性;
S47:将第十四随机数的第一密文、第十四随机数的第二密文和请求关键词密文发送给数据用户DU;
S49:根据第二向量计算秘密值的公开承诺T'、密文T0、想要搜索的关键词集合的密文Te',1、第十二随机数的公开承诺Te',2、数据用户第一转换密钥K'、数据用户第二转换密钥K'0和数据用户第三转换密钥Ki',其计算公式分别为:
T'=gθ
K'=Kz′=gαz′gαtz′
其中,g表示生成元,e()表示双线性映射运算,α表示第一随机数,d表示第三随机数,f表示第四随机数,γe'表示第十二随机数,θ表示第十四随机数,z'表示第十三随机数,H()表示第一抗碰撞哈希函数运算,ξ表示用户属性集合,i表示全体属性集合的每个属性,表示对想要搜索的关键词集合的隐藏,表示第二向量,t表示第八随机数,H'表示第二抗碰撞哈希函数,K表示用户第一私钥,K0表示用户第二私钥,Ki表示用户第三私钥;
在本发明实施例中,如图1所示,步骤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的矩阵;
其中,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表示密文;
S58:利用初始化后的云服务器计算Compte=(ver1,ver2)并返回给数据用户DU,Compte表示搜索计算证明,ver1表示第一证明值,ver2表示第二证明值,其计算公式分别为:
其中,K'表示数据用户第一转换密钥,g表示生成元,α表示第一随机数,d表示第三随机数,x表示第五随机数,y表示第六随机数,t1表示第十随机数,θ表示第十四随机数,T'表示秘密值的公开承诺,R2表示第二搜索匹配值,H0表示关键字集合的哈希值,C'表示秘密分享值的第一公开承诺,s表示秘密分享值,I'表示第十随机数的随机化保护。
验证过程的推导如下:
验证阶段,搜索服务器将部分计算结果ver1和ver2返回给数据用户DU,只有当文件的关键词索引满足数据用户DU制定的搜索策略时,ver2的值才等于其中θ为DU选择的秘密随机数值,而t1,H0只有文件上传者才知道,所以当某份文件的索引并不满足数据用户DU的搜索策略时,服务器无法通过***息计算出同理,关于计算结果ver1,只有当数据用户DU的属性满足文件的授权搜索策略时,其值才为e(g,g)αsz,其中s,z分别为DO、DU所选的秘密随机值,在用户属性不满足文件访问策略时,搜索服务器无法通过***息计算出e(g,g)αsz。由于其中为加密文件,搜索服务器无法通过篡改加密文件而伪造一个合法的标签。从而还可以实现对文件的完整性保护。
因此,当搜索服务器返回的加密文件符合用户的搜索要求时,有
本发明的工作原理及过程为:本发明提供的一种可验证搜索结果的布尔检索属性基加密方法,涉及数据安全领域,其包括***初始化,生成***的公开参数PM和主密钥MSK,以及云服务器和可信第三方的公私钥对;为用户颁发属性私钥SK;生成文件密文的相关数据:搜索权限sp、验证标签Tag以及与可信第三方联合计算的关键词索引Index,将生成的数据组上传至云服务器;提出搜索请求,计算转换密钥TK,选择关键词并制定由逻辑“与”“或”连接的关键词搜索策略,联合可信第三方计算搜索陷门Trapdoor,将生成的TK和Trapdoor发送给云服务器;权限验证和执行搜索运算,根据TK、Trapdoor和文件密文及索引进行权限验证和搜索匹配计算;如果匹配成功,则返回相应的密文文件的Tag给用户;用户做最后的相关性与完整性验证,决定是否解密该文件。
本发明的有益效果为:(1)本发明采用密文策略的属性基算法和线性秘密分享LSSS结构,将关键词看作其中的参与者,由用户制定搜索策略,匹配过程中通过计算恢复LSSS秘密值,实现布尔检索。本发明的方法具有较高的计算效率,在生成加密文件的过程中,引入关键词随机数,将关键词索引与加密文件绑定,保证密文与索引的关联性。
(2)本发明能够抵御服务器的离线关键词猜测攻击。通过可信第三方协助用户生成密文索引和关键词陷门,使得索引和陷门中含有可信第三方的私钥,从而可以抵抗一般恶意用户和指定云服务器的离线关键字猜测攻击。除此之外,方案还借助盲化的思想,使得关键词对于可信第三方而言也是不可见的。
(3)本发明能够对布尔检索的密文结果进行验证。利用属性基外包解密的方法,通过判断搜索服务器计算的结果是否能恢复LSSS秘密值,以此验证搜索结果的正确性与完整性。
(4)该方法兼顾了灵活的搜索语句和效率,在实现布尔检索的同时,实现了高效的搜索结果验证,算法表达灵活、安全性高。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (9)
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为有限域;
C'=gs
C”=gαs
其中,s表示秘密分享值,α表示第一随机数,ηl表示第九随机数,g表示生成元,V表示第一向量,ρ(l)表示线性秘密分享LSSS授权搜索访问结构的属性,T表示属性公钥,表示授权搜索访问结构属性的随机化公开承诺;
S36:基于搜索权限,利用初始化后的***提取关键词集合W,其表达式为W={Na:wa},其中,Na表示第a个关键字名,wa表示第a个关键字值;
S37:根据关键词集合,将数据拥有者DO和初始化后的可信第三方进行交互,生成关键词索引Index;
S38:基于关键词索引,通过数据拥有者DO生成验证标签Tag,其计算公式为:
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为有限域;
A15:根据生成元和第二随机数计算***属性的公开承诺Ti,其计算公式为:
其中,g表示生成元,si表示第二随机数;
A16:根据双线性映射、第一循环群、第二循环群、生成元、第一随机数、第一抗碰撞哈希函数、第二抗碰撞哈希函数和全体属性集合,公开***参数PM和***主密钥MSK,完成密钥生成中心的初始化,其表达式分别为:
MSK={gα,α}
其中,e表示双线性映射;G表示第一循环群,GT表示第二循环群,p表示循环群阶数,g表示生成元,α表示第一随机数,e()表示双线性映射运算,Ti表示***属性的公开承诺,H表示第一抗碰撞哈希函数,H'表示第二抗碰撞哈希函数,i表示全体属性集合的每个属性,U表示全体属性集合。
6.根据权利要求5所述的可验证搜索结果的布尔检索属性基加密方法,其特征在于,所述步骤S37包括以下子步骤:
S372:根据第十随机数和第十一随机数计算文件关键词盲化信息,其表达式为其中,g表示生成元,H0表示关键字集合的哈希值,α表示第一随机数,t1表示第十随机数,t2表示第十一随机数,wa表示第a个关键字值,W表示关键词集合,H()表示第一碰撞哈希函数运算;
S373:将文件关键词盲化信息发送给初始化后的可信第三方;
其中,g表示生成元,d表示第三随机数,f表示第四随机数,x表示第五随机数,y表示第六随机数,H0表示关键字集合的哈希值,wa表示第a个关键字值,W表示关键词集合;
S375:将关键子集合哈希值密文、第十随机数和第十一随机数的密文和文件关键词密文发送给数据拥有者DO;
S376:向数据拥有者DO输入云服务器公钥,计算第十随机数的随机化保护I'、第十一随机数的随机化保护I”和关键字集合的随机化保护I0,其计算公式分别为:
其中,g表示生成元,d表示第三随机数,x表示第五随机数,y表示第六随机数,t1表示第十随机数,t2表示第十一随机数,H0表示关键字集合的哈希值,b表示第七随机数;
7.根据权利要求6所述的可验证搜索结果的布尔检索属性基加密方法,其特征在于,所述步骤S4包括以下子步骤:
S41:通过数据用户DU选择想要搜索的关键词集合W',其表达式为W'={N'a:w'a},其中,N'a表示想要搜索的第a个关键字名,w'a表示想要搜索的第a个关键字值;
其中,α表示第一随机数,γe'表示第十二随机数,g表示生成元,θ表示第十四随机数,H()表示第一碰撞哈希函数运算,W'表示想要搜索的关键词集合,e表示双线性映射,表示对想要搜索的关键词集合的隐藏,表示根据关键词映射函数确定想要搜索的关键词集合;
S45:将第十四随机数的第一公开承诺、第十四随机数的第二公开承诺和随机化请求关键词值发送给初始化后的可信第三方;
S46:向初始化后的可信第三方输入可信第三方私钥并计算第十四随机数的第一密文Tv、第十四随机数的第二密文T”和请求关键词密文T′e′,1,其计算公式分别为:
Tv=gxyθ
T”=gαdθ
其中,g表示生成元,α表示第一随机数,d表示第三随机数,x表示第五随机数,y表示第六随机数,θ表示第十四随机数,W'表示想要搜索的关键词集合,e表示双线性映射,表示对想要搜索的关键词集合的隐藏,表示线性秘密分享LSSS搜索策略结构的属性,f表示第四随机数;
S47:将第十四随机数的第一密文、第十四随机数的第二密文和请求关键词密文发送给数据用户DU;
S49:根据第二向量计算秘密值的公开承诺T'、密文T0、想要搜索的关键词集合的密文Te',1、第十二随机数的公开承诺Te',2、数据用户第一转换密钥K'、数据用户第二转换密钥K'0和数据用户第三转换密钥K′i,其计算公式分别为:
T'=gθ
K'=Kz′=gαz′gαtz′
其中,g表示生成元,e()表示双线性映射运算,α表示第一随机数,d表示第三随机数,f表示第四随机数,γe'表示第十二随机数,θ表示第十四随机数,z'表示第十三随机数,H()表示第一抗碰撞哈希函数运算,ξ表示用户属性集合,i表示全体属性集合的每个属性,表示对想要搜索的关键词集合的隐藏,表示第二向量,t表示第八随机数,H'表示第二抗碰撞哈希函数,K表示用户第一私钥,K0表示用户第二私钥,Ki表示用户第三私钥;
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的矩阵;
其中,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表示密文;
S58:利用初始化后的云服务器计算Compte=(ver1,ver2)并返回给数据用户DU,Compte表示搜索计算证明,ver1表示第一证明值,ver2表示第二证明值,其计算公式分别为:
其中,K'表示数据用户第一转换密钥,g表示生成元,α表示第一随机数,d表示第三随机数,x表示第五随机数,y表示第六随机数,t1表示第十随机数,θ表示第十四随机数,T'表示秘密值的公开承诺,R2表示第二搜索匹配值,H0表示关键字集合的哈希值,C'表示秘密分享值的第一公开承诺,s表示秘密分享值,I'表示第十随机数的随机化保护。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010306235.9A CN111541535B (zh) | 2020-04-17 | 2020-04-17 | 一种可验证搜索结果的布尔检索属性基加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010306235.9A CN111541535B (zh) | 2020-04-17 | 2020-04-17 | 一种可验证搜索结果的布尔检索属性基加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111541535A CN111541535A (zh) | 2020-08-14 |
CN111541535B true CN111541535B (zh) | 2021-12-28 |
Family
ID=71978702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010306235.9A Active CN111541535B (zh) | 2020-04-17 | 2020-04-17 | 一种可验证搜索结果的布尔检索属性基加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111541535B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106357395A (zh) * | 2016-09-13 | 2017-01-25 | 深圳大学 | 一种面向雾计算的外包访问控制方法及其*** |
CN107622212A (zh) * | 2017-10-13 | 2018-01-23 | 上海海事大学 | 一种基于双陷门的混合密文检索方法 |
CN110390203A (zh) * | 2019-07-25 | 2019-10-29 | 西南交通大学 | 一种可验证解密权限的策略隐藏属性基加密方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108200063B (zh) * | 2017-12-29 | 2020-01-03 | 华中科技大学 | 一种可搜索公钥加密方法、采用该方法的***和服务器 |
CN108418681B (zh) * | 2018-01-22 | 2020-10-23 | 南京邮电大学 | 一种支持代理重加密的基于属性的密文检索***及方法 |
-
2020
- 2020-04-17 CN CN202010306235.9A patent/CN111541535B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106357395A (zh) * | 2016-09-13 | 2017-01-25 | 深圳大学 | 一种面向雾计算的外包访问控制方法及其*** |
CN107622212A (zh) * | 2017-10-13 | 2018-01-23 | 上海海事大学 | 一种基于双陷门的混合密文检索方法 |
CN110390203A (zh) * | 2019-07-25 | 2019-10-29 | 西南交通大学 | 一种可验证解密权限的策略隐藏属性基加密方法 |
Non-Patent Citations (4)
Title |
---|
《A new verifiable outsourced ciphertext-policy attribute based encryption for big data privacy and access control in cloud》;Praveen Kumar Premkamal et al.;《Journal of Ambient Intelligence and Humanized Computing》;20180814;全文 * |
《A searchable encryption of CP-ABE scheme in cloud storage》;An-Ping Xiong et al.;《2013 10th International Computer Conference on Wavelet Active Media Technology and Information Processing(ICCWAMTIP)》;20131219;全文 * |
《面向云存储的密文策略属性基加密方案研究》;赵志远;《中国博士学位论文全文数据库 信息科技辑》;20190515;全文 * |
《高效且可验证的多授权机构属性基加密方案》;仲红等;《软件学报》;20171017;摘要、正文前言、正文1-4节 * |
Also Published As
Publication number | Publication date |
---|---|
CN111541535A (zh) | 2020-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108632032B (zh) | 无密钥托管的安全多关键词排序检索*** | |
CN113194078B (zh) | 一种云端支持隐私保护的排序多关键字搜索加密方法 | |
US11973889B2 (en) | Searchable encrypted data sharing method and system based on blockchain and homomorphic encryption | |
Li et al. | Full verifiability for outsourced decryption in attribute based encryption | |
CN106776904B (zh) | 一种不可信云计算环境中支持动态验证的模糊查询加密方法 | |
CN112989375B (zh) | 一种分级优化加密无损隐私保护方法 | |
CN111447192B (zh) | 用于云雾协助物联网的轻量级属性基签密方法 | |
CN108092972B (zh) | 一种多授权中心基于属性的可搜索加密方法 | |
CN111447209B (zh) | 一种黑盒可追踪密文策略属性基加密方法 | |
CN107547530A (zh) | 移动云环境下基于属性的在线/离线关键字搜索方法及其云计算应用*** | |
CN114826703A (zh) | 基于区块链的数据搜索细粒度访问控制方法及*** | |
Liu et al. | EMK-ABSE: Efficient multikeyword attribute-based searchable encryption scheme through cloud-edge coordination | |
CN112532650A (zh) | 一种基于区块链的多备份安全删除方法、*** | |
CN105025021B (zh) | 格上主析取范式访问策略的基于属性加密方法 | |
Niu et al. | Attribute-based keyword search encryption scheme with verifiable ciphertext via blockchains | |
CN116662827A (zh) | 去中心化的细粒度隐私保护众包任务匹配方法及匹配*** | |
CN112804052B (zh) | 一种基于合数阶群的用户身份加密方法 | |
CN111859425B (zh) | 一种基于属性的通配符可搜索加密方法 | |
CN116108497B (zh) | 一种基于身份匿名的医疗数据轻量级云存储方法及装置 | |
CN111541535B (zh) | 一种可验证搜索结果的布尔检索属性基加密方法 | |
CN114629640B (zh) | 一种解决密钥托管问题的白盒可追责属性基加密***及其方法 | |
CN113507366B (zh) | 一种基于格的可搜索日志盲签名方案 | |
CN113868450B (zh) | 一种基于区块链的遥感影像安全检索方法 | |
CN113904823A (zh) | 常数级授权计算复杂度的属性基可搜索加密方法及*** | |
Liang et al. | VMSE: Verifiable multi-keyword searchable encryption in multi-user setting supporting keywords updating |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CB03 | Change of inventor or designer information |
Inventor after: Xu Yan Inventor after: Zhang Wenfang Inventor after: Wang Xiaomin Inventor before: Zhang Wenfang Inventor before: Xu Yan Inventor before: Wang Xiaomin |
|
CB03 | Change of inventor or designer information |