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

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

Info

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
Application number
CN202010306235.9A
Other languages
English (en)
Other versions
CN111541535A (zh
Inventor
张文芳
许燕
王小敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southwest Jiaotong University
Original Assignee
Southwest Jiaotong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Southwest Jiaotong University filed Critical Southwest Jiaotong University
Priority to CN202010306235.9A priority Critical patent/CN111541535B/zh
Publication of CN111541535A publication Critical patent/CN111541535A/zh
Application granted granted Critical
Publication of CN111541535B publication Critical patent/CN111541535B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/083Key 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/0825Key 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation 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为有限域;
A14:根据全体属性集合,利用密钥生成中心随机选择第一随机数
Figure GDA0003344041850000021
和第二随机数
Figure GDA0003344041850000022
其中Zp *为不含有零元素的有限域,i∈U;
A15:根据生成元和第二随机数计算***属性的公开承诺Ti,其计算公式为:
Figure GDA0003344041850000023
其中,g表示生成元,si表示第二随机数;
A16:根据双线性映射、第一循环群、第二循环群、生成元、第一随机数、第一抗碰撞哈希函数、第二抗碰撞哈希函数和全体属性集合,公开***参数PM和***主密钥MSK,完成密钥生成中心的初始化,其表达式分别为:
Figure GDA0003344041850000024
MSK={gα,α}
其中,e表示双线性映射;G表示第一循环群,GT表示第二循环群,p表示循环群阶数,g表示生成元,α表示第一随机数,e()表示双线性映射运算,Ti表示***属性的公开承诺,H表示第一抗碰撞哈希函数,H'表示第二抗碰撞哈希函数,i表示全体属性集合的每个属性,U表示全体属性集合。
进一步地,可信第三方的初始化包括以下子步骤:
B11:利用可信第三方随机选择第三随机数
Figure GDA0003344041850000031
第四随机数
Figure GDA0003344041850000032
第五随机数
Figure GDA0003344041850000033
和第六随机数
Figure GDA0003344041850000034
其中Zp *为不含有零元素的有限域;
B12:根据生成元、第三随机数、第四随机数、第五随机数和第六随机数,公开可信第三方参数PKt和可信第三方私钥SKt,完成可信第三方的初始化,其表达式分别为:
PKt={gf,gx,gy,e(g,g)d}
SKt={d,f,x,y}
其中,g表示生成元,d表示第三随机数,f表示第四随机数,x表示第五随机数,y表示第六随机数,e()表示双线性映射运算。
进一步地,云服务器的初始化包括以下子步骤:
C11:利用云服务器随机选择第七随机数
Figure GDA0003344041850000035
其中Zp *为不含有零元素的有限域;
C12:根据第七随机数公开云服务器公钥PKs和云服务器私钥SKs,完成可信第三方的初始化,其计算公式分别为:
PKs=gb
SKs=b
其中,b表示第七随机数,g表示生成元。
进一步地,步骤S2包括以下子步骤:
S21:利用初始化后的密钥生成中心随机选取第八随机数
Figure GDA0003344041850000041
其中Zp *为不含有零元素的有限域;
S22:根据第一随机数、第八随机数和生成元计算用户第一私钥K、用户第二私钥K0和用户第三私钥Ki,其计算公式分别为:
K=gαgαt
K0=gt
Figure GDA0003344041850000042
其中,g表示生成元,α表示第一随机数,t表示第八随机数,ξ表示用户属性集合,Ti表示***属性的公开承诺,i表示全体属性集合的每个属性,U表示全体属性集合;
S23:根据用户第一私钥、用户第二私钥和用户第三私钥为用户颁发属性私钥SK,其表达式为:
Figure GDA0003344041850000043
进一步地,步骤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的每一行随机选择第九随机数
Figure GDA0003344041850000044
其中,Zp *为不含有零元素的有限域;
S34:根据第九随机数计算秘密分享值的第一公开承诺C'、秘密分享值的第二公开承诺C″和子秘密密文
Figure GDA0003344041850000045
其计算公式分别为:
C'=gs
C″=gαs
Figure GDA0003344041850000051
其中,s表示秘密分享值,α表示第一随机数,ηl表示第九随机数,g表示生成元,V表示第一向量,ρ(l)表示线性秘密分享LSSS授权搜索访问结构的属性,T表示属性公钥,
Figure GDA0003344041850000052
表示授权搜索访问结构属性的随机化公开承诺;
S35:根据LSSS授权搜索访问结构、秘密分享值的第一公开承诺和秘密分享值的第二公开承诺生成搜索权限sp,其表达式为
Figure GDA0003344041850000053
S36:基于搜索权限,利用初始化后的***提取关键词集合W,其表达式为W={Na:wa},其中,Na表示第a个关键字名,wa表示第a个关键字值;
S37:根据关键词集合,将数据拥有者DO和初始化后的可信第三方进行交互,生成关键词索引Index;
S38:基于关键词索引,通过数据拥有者DO生成验证标签Tag,其计算公式为:
Figure GDA0003344041850000054
Figure GDA0003344041850000055
其中,
Figure GDA0003344041850000056
表示文件密文的哈希值,
Figure GDA0003344041850000057
表示密文,g表示生成元,α表示第一随机数,e()表示双线性映射运算,t1表示第十随机数,H0表示关键字集合的哈希值,H'()表示第二碰撞哈希函数运算;
S39:将搜索权限sp、关键词索引Index和验证标签Tag作为相关数据。
进一步地,步骤S37包括以下子步骤:
S371:通过数据拥有者DO选择第十随机数
Figure GDA0003344041850000058
和第十一随机数
Figure GDA0003344041850000059
其中,Zp *为不含有零元素的有限域;
S372:根据第十随机数和第十一随机数计算文件关键词盲化信息,其表达式为
Figure GDA0003344041850000061
其中,g表示生成元,H0表示关键字集合的哈希值,α表示第一随机数,t1表示第十随机数,t2表示第十一随机数,wa表示第a个关键字值,W表示关键词集合,H()表示第一碰撞哈希函数运算;
S373:将文件关键词盲化信息发送给初始化后的可信第三方;
S374:向初始化后的可信第三方输入可信第三方私钥并计算关键子集合哈希值密文
Figure GDA0003344041850000062
第十随机数和第十一随机数的密文I和文件关键词密文Ia,其计算公式分别为:
Figure GDA0003344041850000063
Figure GDA0003344041850000064
Figure GDA0003344041850000065
其中,g表示生成元,d表示第三随机数,f表示第四随机数,x表示第五随机数,y表示第六随机数,H0表示关键字集合的哈希值,wa表示第a个关键字值,W表示关键词集合;
S375:将关键子集合哈希值密文、第十随机数和第十一随机数的密文和文件关键词密文发送给数据拥有者DO;
S376:向数据拥有者DO输入云服务器公钥,计算第十随机数的随机化保护I'、第十一随机数的随机化保护I″和关键字集合的随机化保护I0,其计算公式分别为:
Figure GDA0003344041850000066
Figure GDA0003344041850000067
Figure GDA0003344041850000068
其中,g表示生成元,d表示第三随机数,x表示第五随机数,y表示第六随机数,t1表示第十随机数,t2表示第十一随机数,H0表示关键字集合的哈希值;
S377:根据第十随机数的随机化保护、第十一随机数的随机化保护和关键字集合的随机化保护生成关键词索引Index,其表达式为
Figure GDA0003344041850000071
进一步地,步骤S4包括以下子步骤:
S41:通过数据用户DU选择想要搜索的关键词集合W',其表达式为W'={N'a:w'a},其中,N'a表示想要搜索的第a个关键字名,w'a表示想要搜索的第a个关键字值;
S42:基于想要搜索的关键词集合,通过数据用户DU制定LSSS搜索策略结构
Figure GDA0003344041850000072
其中,
Figure GDA0003344041850000073
表示E×k的矩阵,
Figure GDA00033440418500000712
表示关键词映射函数,E表示矩阵
Figure GDA0003344041850000074
的行数,k表示矩阵
Figure GDA0003344041850000075
的列数;
S43:通过数据用户DU为矩阵
Figure GDA0003344041850000076
的每一行选择第十二随机数
Figure GDA0003344041850000077
第十三随机数
Figure GDA0003344041850000078
和第十四随机数
Figure GDA0003344041850000079
其中,Zp *为不含有零元素的有限域,i∈U,i表示全体属性集合的每个属性,U表示全体属性集合;
S44:根据第十二随机数、第十三随机数和第十四随机数计算第十四随机数的第一公开承诺gθ、第十四随机数的第二公开承诺gαθ和随机化请求关键词值
Figure GDA00033440418500000710
其中,α表示第一随机数,γe'表示第十二随机数,g表示生成元,θ表示第十四随机数,H()表示第一碰撞哈希函数运算,W'表示想要搜索的关键词集合,e表示双线性映射,
Figure GDA00033440418500000711
表示对想要搜索的关键词集合的隐藏,
Figure GDA0003344041850000081
表示根据关键词映射函数确定想要搜索的关键词集合;
S45:将第十四随机数的第一公开承诺、第十四随机数的第二公开承诺和随机化请求关键词值发送给初始化后的可信第三方;
S46:向初始化后的可信第三方输入可信第三方私钥并计算第十四随机数的第一密文Tv、第十四随机数的第二密文T″和请求关键词密文Te,1,其计算公式分别为:
Tv=gxyθ
T″=gαdθ
Figure GDA0003344041850000082
其中,g表示生成元,α表示第一随机数,d表示第三随机数,x表示第五随机数,y表示第六随机数,θ表示第十四随机数,W'表示想要搜索的关键词集合,e表示双线性映射,
Figure GDA0003344041850000083
表示对想要搜索的关键词集合的隐藏,
Figure GDA0003344041850000084
表示LSSS搜索策略结构的属性;
S47:将第十四随机数的第一密文、第十四随机数的第二密文和请求关键词密文发送给数据用户DU;
S48:通过数据用户DU随机选择第二向量
Figure GDA0003344041850000085
其中,θ表示第十四随机数,v2,...,vz表示有限域Zp中的z-1个随机数;
S49:根据第二向量计算秘密值的公开承诺T'、密文T0、想要搜索的关键词集合的密文Te',1、第十二随机数的公开承诺Te',2、数据用户第一转换密钥K'、数据用户第二转换密钥K'0和数据用户第三转换密钥Ki',其计算公式分别为:
T'=gθ
Figure GDA0003344041850000086
Figure GDA0003344041850000087
Figure GDA0003344041850000091
K'=Kz′=gαz′gαtz′
Figure GDA0003344041850000098
Figure GDA0003344041850000099
其中,g表示生成元,e()表示双线性映射运算,α表示第一随机数,d表示第三随机数,f表示第四随机数,γe'表示第十二随机数,θ表示第十四随机数,z'表示第十三随机数,H()表示第一抗碰撞哈希函数运算,ξ表示用户属性集合,i表示全体属性集合的每个属性,
Figure GDA0003344041850000092
表示对想要搜索的关键词集合的隐藏,
Figure GDA0003344041850000093
表示第二向量,t表示第八随机数,H'表示第二抗碰撞哈希函数,K表示用户第一私钥,K0表示用户第二私钥,Ki表示用户第三私钥;
S410:通过数据用户生成搜索请求和转换密钥TK,其表达式分别为
Figure GDA0003344041850000094
进一步地,步骤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搜索策略结构
Figure GDA0003344041850000095
若不满足则匹配失败,否则进入步骤S55,其中,
Figure GDA0003344041850000096
表示E×k的矩阵,
Figure GDA0003344041850000097
表示关键词映射函数;
S55:计算满足LSSS搜索策略结构
Figure GDA0003344041850000101
的最小子集
Figure GDA0003344041850000102
S56:根据最小子集计算第一搜索匹配值R1、第二搜索匹配值R2、第三搜索匹配值E'和第四搜索匹配值
Figure GDA0003344041850000103
其计算公式分别为:
Figure GDA0003344041850000104
Figure GDA0003344041850000105
Figure GDA0003344041850000106
Figure GDA0003344041850000107
其中,g表示生成元,e()表示双线性映射运算,α表示第一随机数,d表示第三随机数,b表示第七随机数,t表示第八随机数,z'表示第十三随机数,θ表示第十四随机数,(Cl,Dl)表示子秘密密文,l∈{1,...,L},L表示矩阵M的行数,H()表示第一碰撞哈希函数运算,H'()表示第二碰撞哈希函数运算,ρ(l)表示LSSS授权搜索访问结构的属性,I″表示第十一随机数的随机化保护,T″表示第二向量计算秘密值的公开承诺,K'0表示数据用户第二转换密钥,λi表示常数,
Figure GDA0003344041850000108
表示最小子集,Te',1表示想要搜索的关键词集合的密文,Te',2表示第十二随机数的公开承诺,K'ρ(l)表示用户第四转换密钥,I0表示关键字集合的随机化保护,Ia表示文件关键词密文,μj表示常数,j表示最小子集的元素,I表示第十随机数和第十一随机数的密文,T0表示密文;
S57:判断等式
Figure GDA0003344041850000109
是否成立,若不成立则匹配失败,否则进入步骤S58;
S58:利用初始化后的云服务器计算Compte=(ver1,ver2)并返回给数据用户DU,Compte表示搜索计算证明,ver1表示第一证明值,ver2表示第二证明值,其计算公式分别为:
Figure GDA0003344041850000111
Figure GDA0003344041850000112
其中,K'表示数据用户第一转换密钥,g表示生成元,α表示第一随机数,d表示第三随机数,x表示第五随机数,y表示第六随机数,t1表示第十随机数,θ表示第十四随机数,T'表示秘密值的公开承诺,R2表示第二搜索匹配值,H0表示关键字集合的哈希值,C'表示秘密分享值的第一公开承诺,s表示秘密分享值,I'表示第十随机数的随机化保护。
进一步地,步骤S6中,通过数据用户DU计算等式
Figure GDA0003344041850000113
是否成立,若成立则完成布尔检索属性基加密,否则拒绝搜索密文;其中Tv表示第十四随机数的第一密文。
本发明的有益效果是:
(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为有限域;
A14:根据全体属性集合,利用密钥生成中心随机选择第一随机数
Figure GDA0003344041850000131
和第二随机数
Figure GDA0003344041850000132
其中Zp *为不含有零元素的有限域,i∈U;
A15:根据生成元和第二随机数计算***属性的公开承诺Ti,其计算公式为:
Figure GDA0003344041850000133
其中,g表示生成元,si表示第二随机数;
A16:根据双线性映射、第一循环群、第二循环群、生成元、第一随机数、第一抗碰撞哈希函数、第二抗碰撞哈希函数和全体属性集合,公开***参数PM和***主密钥MSK,完成密钥生成中心的初始化,其表达式分别为:
Figure GDA0003344041850000134
MSK={gα,α}
其中,e表示双线性映射;G表示第一循环群,GT表示第二循环群,p表示循环群阶数,g表示生成元,α表示第一随机数,e()表示双线性映射运算,Ti表示***属性的公开承诺,H表示第一抗碰撞哈希函数,H'表示第二抗碰撞哈希函数,i表示全体属性集合的每个属性,U表示全体属性集合。
在本发明实施例中,如图1所示,可信第三方的初始化包括以下子步骤:
B11:利用可信第三方随机选择第三随机数
Figure GDA0003344041850000135
第四随机数
Figure GDA0003344041850000136
第五随机数
Figure GDA0003344041850000137
和第六随机数
Figure GDA0003344041850000138
其中Zp *为不含有零元素的有限域;
B12:根据生成元、第三随机数、第四随机数、第五随机数和第六随机数,公开可信第三方参数PKt和可信第三方私钥SKt,完成可信第三方的初始化,其表达式分别为:
PKt={gf,gx,gy,e(g,g)d}
SKt={d,f,x,y}
其中,g表示生成元,d表示第三随机数,f表示第四随机数,x表示第五随机数,y表示第六随机数,e()表示双线性映射运算。
在本发明实施例中,如图1所示,云服务器的初始化包括以下子步骤:
C11:利用云服务器随机选择第七随机数
Figure GDA0003344041850000141
其中Zp *为不含有零元素的有限域;
C12:根据第七随机数公开云服务器公钥PKs和云服务器私钥SKs,完成可信第三方的初始化,其计算公式分别为:
PKs=gb
SKs=b
其中,b表示第七随机数,g表示生成元。
在本发明实施例中,如图1所示,步骤S2包括以下子步骤:
S21:利用初始化后的密钥生成中心随机选取第八随机数
Figure GDA0003344041850000142
其中Zp *为不含有零元素的有限域;
S22:根据第一随机数、第八随机数和生成元计算用户第一私钥K、用户第二私钥K0和用户第三私钥Ki,其计算公式分别为:
K=gαgαt
K0=gt
Figure GDA0003344041850000143
其中,g表示生成元,α表示第一随机数,t表示第八随机数,ξ表示用户属性集合,Ti表示***属性的公开承诺,i表示全体属性集合的每个属性,U表示全体属性集合;
S23:根据用户第一私钥、用户第二私钥和用户第三私钥为用户颁发属性私钥SK,其表达式为:
Figure GDA0003344041850000151
在本发明实施例中,如图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为有限域;
S33:基于第一向量,通过数据拥有者DO为矩阵M的每一行随机选择第九随机数
Figure GDA0003344041850000152
其中,Zp *为不含有零元素的有限域;
S34:根据第九随机数计算秘密分享值的第一公开承诺C'、秘密分享值的第二公开承诺C″和子秘密密文
Figure GDA0003344041850000153
其计算公式分别为:
C'=gs
C″=gαs
Figure GDA0003344041850000154
其中,s表示秘密分享值,α表示第一随机数,ηl表示第九随机数,g表示生成元,V表示第一向量,ρ(l)表示线性秘密分享LSSS授权搜索访问结构的属性,T表示属性公钥,
Figure GDA0003344041850000155
表示授权搜索访问结构属性的随机化公开承诺;
S35:根据LSSS授权搜索访问结构、秘密分享值的第一公开承诺和秘密分享值的第二公开承诺生成搜索权限sp,其表达式为
Figure GDA0003344041850000161
S36:基于搜索权限,利用初始化后的***提取关键词集合W,其表达式为W={Na:wa},其中,Na表示第a个关键字名,wa表示第a个关键字值;
S37:根据关键词集合,将数据拥有者DO和初始化后的可信第三方进行交互,生成关键词索引Index;
S38:基于关键词索引,通过数据拥有者DO生成验证标签Tag,其计算公式为:
Figure GDA0003344041850000162
Figure GDA0003344041850000163
其中,
Figure GDA0003344041850000164
表示文件密文的哈希值,
Figure GDA0003344041850000165
表示密文,g表示生成元,α表示第一随机数,e()表示双线性映射运算,t1表示第十随机数,H0表示关键字集合的哈希值,H'()表示第二碰撞哈希函数运算;
S39:将搜索权限sp、关键词索引Index和验证标签Tag作为相关数据。
在本发明实施例中,如图1所示,步骤S37包括以下子步骤:
S371:通过数据拥有者DO选择第十随机数
Figure GDA0003344041850000166
和第十一随机数
Figure GDA0003344041850000167
其中,Zp *为不含有零元素的有限域;
S372:根据第十随机数和第十一随机数计算文件关键词盲化信息,其表达式为
Figure GDA0003344041850000168
其中,g表示生成元,H0表示关键字集合的哈希值,α表示第一随机数,t1表示第十随机数,t2表示第十一随机数,wa表示第a个关键字值,W表示关键词集合,H()表示第一碰撞哈希函数运算;
S373:将文件关键词盲化信息发送给初始化后的可信第三方;
S374:向初始化后的可信第三方输入可信第三方私钥并计算关键子集合哈希值密文
Figure GDA0003344041850000171
第十随机数和第十一随机数的密文I和文件关键词密文Ia,其计算公式分别为:
Figure GDA0003344041850000172
Figure GDA0003344041850000173
Figure GDA0003344041850000174
其中,g表示生成元,d表示第三随机数,f表示第四随机数,x表示第五随机数,y表示第六随机数,H0表示关键字集合的哈希值,wa表示第a个关键字值,W表示关键词集合;
S375:将关键子集合哈希值密文、第十随机数和第十一随机数的密文和文件关键词密文发送给数据拥有者DO;
S376:向数据拥有者DO输入云服务器公钥,计算第十随机数的随机化保护I'、第十一随机数的随机化保护I″和关键字集合的随机化保护I0,其计算公式分别为:
Figure GDA0003344041850000175
Figure GDA0003344041850000176
Figure GDA0003344041850000177
其中,g表示生成元,d表示第三随机数,x表示第五随机数,y表示第六随机数,t1表示第十随机数,t2表示第十一随机数,H0表示关键字集合的哈希值;
S377:根据第十随机数的随机化保护、第十一随机数的随机化保护和关键字集合的随机化保护生成关键词索引Index,其表达式为
Figure GDA0003344041850000178
在本发明实施例中,如图1所示,步骤S4包括以下子步骤:
S41:通过数据用户DU选择想要搜索的关键词集合W',其表达式为W'={N'a:w'a},其中,N'a表示想要搜索的第a个关键字名,w'a表示想要搜索的第a个关键字值;
S42:基于想要搜索的关键词集合,通过数据用户DU制定LSSS搜索策略结构
Figure GDA0003344041850000181
其中,
Figure GDA0003344041850000182
表示E×k的矩阵,
Figure GDA0003344041850000183
表示关键词映射函数,E表示矩阵
Figure GDA0003344041850000184
的行数,k表示矩阵
Figure GDA0003344041850000185
的列数;
S43:通过数据用户DU为矩阵
Figure GDA0003344041850000186
的每一行选择第十二随机数
Figure GDA0003344041850000187
第十三随机数
Figure GDA0003344041850000188
和第十四随机数
Figure GDA0003344041850000189
其中,Zp *为不含有零元素的有限域,i∈U,i表示全体属性集合的每个属性,U表示全体属性集合;
S44:根据第十二随机数、第十三随机数和第十四随机数计算第十四随机数的第一公开承诺gθ、第十四随机数的第二公开承诺gαθ和随机化请求关键词值
Figure GDA00033440418500001810
其中,α表示第一随机数,γe'表示第十二随机数,g表示生成元,θ表示第十四随机数,H()表示第一碰撞哈希函数运算,W'表示想要搜索的关键词集合,e表示双线性映射,
Figure GDA00033440418500001811
表示对想要搜索的关键词集合的隐藏,
Figure GDA00033440418500001812
表示根据关键词映射函数确定想要搜索的关键词集合;
S45:将第十四随机数的第一公开承诺、第十四随机数的第二公开承诺和随机化请求关键词值发送给初始化后的可信第三方;
S46:向初始化后的可信第三方输入可信第三方私钥并计算第十四随机数的第一密文Tv、第十四随机数的第二密文T″和请求关键词密文Te,1,其计算公式分别为:
Tv=gxyθ
T″=gαdθ
Figure GDA0003344041850000191
其中,g表示生成元,α表示第一随机数,d表示第三随机数,x表示第五随机数,y表示第六随机数,θ表示第十四随机数,W'表示想要搜索的关键词集合,e表示双线性映射,
Figure GDA0003344041850000192
表示对想要搜索的关键词集合的隐藏,
Figure GDA0003344041850000193
表示LSSS搜索策略结构的属性;
S47:将第十四随机数的第一密文、第十四随机数的第二密文和请求关键词密文发送给数据用户DU;
S48:通过数据用户DU随机选择第二向量
Figure GDA0003344041850000194
其中,θ表示第十四随机数,v2,...,vz表示有限域Zp中的z-1个随机数;
S49:根据第二向量计算秘密值的公开承诺T'、密文T0、想要搜索的关键词集合的密文Te',1、第十二随机数的公开承诺Te',2、数据用户第一转换密钥K'、数据用户第二转换密钥K'0和数据用户第三转换密钥Ki',其计算公式分别为:
T'=gθ
Figure GDA0003344041850000195
Figure GDA0003344041850000196
Figure GDA0003344041850000197
K'=Kz′=gαz′gαtz′
Figure GDA0003344041850000198
Figure GDA0003344041850000199
其中,g表示生成元,e()表示双线性映射运算,α表示第一随机数,d表示第三随机数,f表示第四随机数,γe'表示第十二随机数,θ表示第十四随机数,z'表示第十三随机数,H()表示第一抗碰撞哈希函数运算,ξ表示用户属性集合,i表示全体属性集合的每个属性,
Figure GDA0003344041850000201
表示对想要搜索的关键词集合的隐藏,
Figure GDA0003344041850000202
表示第二向量,t表示第八随机数,H'表示第二抗碰撞哈希函数,K表示用户第一私钥,K0表示用户第二私钥,Ki表示用户第三私钥;
S410:通过数据用户生成搜索请求和转换密钥TK,其表达式分别为
Figure GDA0003344041850000203
在本发明实施例中,如图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的矩阵;
S54:基于常数,判断数据用户DU的关键词名是否满足线性秘密分享LSSS搜索策略结构
Figure GDA0003344041850000204
若不满足则匹配失败,否则进入步骤S55,其中,
Figure GDA0003344041850000205
表示E×k的矩阵,
Figure GDA0003344041850000206
表示关键词映射函数;
S55:计算满足LSSS搜索策略结构
Figure GDA0003344041850000207
的最小子集
Figure GDA0003344041850000208
S56:根据最小子集计算第一搜索匹配值R1、第二搜索匹配值R2、第三搜索匹配值E'和第四搜索匹配值
Figure GDA0003344041850000209
其计算公式分别为:
Figure GDA00033440418500002010
Figure GDA00033440418500002011
Figure GDA00033440418500002012
Figure GDA0003344041850000211
其中,g表示生成元,e()表示双线性映射运算,α表示第一随机数,d表示第三随机数,b表示第七随机数,t表示第八随机数,z'表示第十三随机数,θ表示第十四随机数,(Cl,Dl)表示子秘密密文,l∈{1,...,L},L表示矩阵M的行数,H()表示第一碰撞哈希函数运算,H'()表示第二碰撞哈希函数运算,ρ(l)表示LSSS授权搜索访问结构的属性,I″表示第十一随机数的随机化保护,T″表示第二向量计算秘密值的公开承诺,K'0表示数据用户第二转换密钥,λi表示常数,
Figure GDA0003344041850000212
表示最小子集,Te',1表示想要搜索的关键词集合的密文,Te',2表示第十二随机数的公开承诺,K'ρ(l)表示用户第四转换密钥,I0表示关键字集合的随机化保护,Ia表示文件关键词密文,μj表示常数,j表示最小子集的元素,I表示第十随机数和第十一随机数的密文,T0表示密文;
S57:判断等式
Figure GDA0003344041850000213
是否成立,若不成立则匹配失败,否则进入步骤S58;
S58:利用初始化后的云服务器计算Compte=(ver1,ver2)并返回给数据用户DU,Compte表示搜索计算证明,ver1表示第一证明值,ver2表示第二证明值,其计算公式分别为:
Figure GDA0003344041850000214
Figure GDA0003344041850000215
其中,K'表示数据用户第一转换密钥,g表示生成元,α表示第一随机数,d表示第三随机数,x表示第五随机数,y表示第六随机数,t1表示第十随机数,θ表示第十四随机数,T'表示秘密值的公开承诺,R2表示第二搜索匹配值,H0表示关键字集合的哈希值,C'表示秘密分享值的第一公开承诺,s表示秘密分享值,I'表示第十随机数的随机化保护。
在本发明实施例中,如图1所示,步骤S6中,通过数据用户DU计算等式
Figure GDA0003344041850000221
是否成立,若成立则完成布尔检索属性基加密,否则拒绝搜索密文;其中Tv表示第十四随机数的第一密文。
验证过程的推导如下:
验证阶段,搜索服务器将部分计算结果ver1和ver2返回给数据用户DU,只有当文件的关键词索引满足数据用户DU制定的搜索策略时,ver2的值才等于
Figure GDA0003344041850000222
其中θ为DU选择的秘密随机数值,而t1,H0只有文件上传者才知道,所以当某份文件的索引并不满足数据用户DU的搜索策略时,服务器无法通过***息计算出
Figure GDA0003344041850000223
同理,关于计算结果ver1,只有当数据用户DU的属性满足文件的授权搜索策略时,其值才为e(g,g)αsz,其中s,z分别为DO、DU所选的秘密随机值,在用户属性不满足文件访问策略时,搜索服务器无法通过***息计算出e(g,g)αsz。由于
Figure GDA0003344041850000224
其中
Figure GDA0003344041850000225
为加密文件,搜索服务器无法通过篡改加密文件而伪造一个合法的标签。从而还可以实现对文件的完整性保护。
因此,当搜索服务器返回的加密文件符合用户的搜索要求时,有
Figure GDA0003344041850000226
Figure GDA0003344041850000227
本发明的工作原理及过程为:本发明提供的一种可验证搜索结果的布尔检索属性基加密方法,涉及数据安全领域,其包括***初始化,生成***的公开参数PM和主密钥MSK,以及云服务器和可信第三方的公私钥对;为用户颁发属性私钥SK;生成文件密文
Figure GDA0003344041850000228
的相关数据:搜索权限sp、验证标签Tag以及与可信第三方联合计算的关键词索引Index,将生成的数据组
Figure GDA0003344041850000231
上传至云服务器;提出搜索请求,计算转换密钥TK,选择关键词并制定由逻辑“与”“或”连接的关键词搜索策略,联合可信第三方计算搜索陷门Trapdoor,将生成的TK和Trapdoor发送给云服务器;权限验证和执行搜索运算,根据TK、Trapdoor和文件密文及索引进行权限验证和搜索匹配计算;如果匹配成功,则返回相应的密文文件
Figure GDA0003344041850000232
的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为有限域;
S33:基于第一向量,通过数据拥有者DO为矩阵M的每一行随机选择第九随机数
Figure FDA0003344041840000011
其中,Zp *为不含有零元素的有限域;
S34:根据第九随机数计算秘密分享值的第一公开承诺C'、秘密分享值的第二公开承诺C”和子秘密密文
Figure FDA0003344041840000012
其计算公式分别为:
C'=gs
C”=gαs
Figure FDA0003344041840000013
其中,s表示秘密分享值,α表示第一随机数,ηl表示第九随机数,g表示生成元,V表示第一向量,ρ(l)表示线性秘密分享LSSS授权搜索访问结构的属性,T表示属性公钥,
Figure FDA0003344041840000021
表示授权搜索访问结构属性的随机化公开承诺;
S35:根据线性秘密分享LSSS授权搜索访问结构、秘密分享值的第一公开承诺和秘密分享值的第二公开承诺生成搜索权限sp,其表达式为
Figure FDA0003344041840000022
S36:基于搜索权限,利用初始化后的***提取关键词集合W,其表达式为W={Na:wa},其中,Na表示第a个关键字名,wa表示第a个关键字值;
S37:根据关键词集合,将数据拥有者DO和初始化后的可信第三方进行交互,生成关键词索引Index;
S38:基于关键词索引,通过数据拥有者DO生成验证标签Tag,其计算公式为:
Figure FDA0003344041840000023
Figure FDA0003344041840000024
其中,
Figure FDA0003344041840000025
表示文件密文的哈希值,
Figure FDA0003344041840000026
表示密文,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:根据全体属性集合,利用密钥生成中心随机选择第一随机数
Figure FDA0003344041840000031
和第二随机数
Figure FDA0003344041840000032
其中Zp *为不含有零元素的有限域,i∈U;
A15:根据生成元和第二随机数计算***属性的公开承诺Ti,其计算公式为:
Figure FDA0003344041840000033
其中,g表示生成元,si表示第二随机数;
A16:根据双线性映射、第一循环群、第二循环群、生成元、第一随机数、第一抗碰撞哈希函数、第二抗碰撞哈希函数和全体属性集合,公开***参数PM和***主密钥MSK,完成密钥生成中心的初始化,其表达式分别为:
Figure FDA0003344041840000034
MSK={gα,α}
其中,e表示双线性映射;G表示第一循环群,GT表示第二循环群,p表示循环群阶数,g表示生成元,α表示第一随机数,e()表示双线性映射运算,Ti表示***属性的公开承诺,H表示第一抗碰撞哈希函数,H'表示第二抗碰撞哈希函数,i表示全体属性集合的每个属性,U表示全体属性集合。
3.根据权利要求2所述的可验证搜索结果的布尔检索属性基加密方法,其特征在于,所述可信第三方的初始化包括以下子步骤:
B11:利用可信第三方随机选择第三随机数
Figure FDA0003344041840000041
第四随机数
Figure FDA0003344041840000042
第五随机数
Figure FDA0003344041840000043
和第六随机数
Figure FDA0003344041840000044
其中Zp *为不含有零元素的有限域;
B12:根据生成元、第三随机数、第四随机数、第五随机数和第六随机数,公开可信第三方参数PKt和可信第三方私钥SKt,完成可信第三方的初始化,其表达式分别为:
PKt={gf,gx,gy,e(g,g)d}
SKt={d,f,x,y}
其中,g表示生成元,d表示第三随机数,f表示第四随机数,x表示第五随机数,y表示第六随机数,e()表示双线性映射运算。
4.根据权利要求3所述的可验证搜索结果的布尔检索属性基加密方法,其特征在于,所述云服务器的初始化包括以下子步骤:
C11:利用云服务器随机选择第七随机数
Figure FDA0003344041840000045
其中Zp *为不含有零元素的有限域;
C12:根据第七随机数公开云服务器公钥PKs和云服务器私钥SKs,完成可信第三方的初始化,其计算公式分别为:
PKs=gb
SKs=b
其中,b表示第七随机数,g表示生成元。
5.根据权利要求4所述的可验证搜索结果的布尔检索属性基加密方法,其特征在于,所述步骤S2包括以下子步骤:
S21:利用初始化后的密钥生成中心随机选取第八随机数
Figure FDA0003344041840000046
其中Zp *为不含有零元素的有限域;
S22:根据第一随机数、第八随机数和生成元计算用户第一私钥K、用户第二私钥K0和用户第三私钥Ki,其计算公式分别为:
K=gαgαt
K0=gt
Figure FDA0003344041840000051
其中,g表示生成元,α表示第一随机数,t表示第八随机数,ξ表示用户属性集合,Ti表示***属性的公开承诺,i表示全体属性集合的每个属性,U表示全体属性集合;
S23:根据用户第一私钥、用户第二私钥和用户第三私钥为用户颁发属性私钥SK,其表达式为:
Figure FDA0003344041840000052
6.根据权利要求5所述的可验证搜索结果的布尔检索属性基加密方法,其特征在于,所述步骤S37包括以下子步骤:
S371:通过数据拥有者DO选择第十随机数
Figure FDA0003344041840000053
和第十一随机数
Figure FDA0003344041840000054
其中,Zp *为不含有零元素的有限域;
S372:根据第十随机数和第十一随机数计算文件关键词盲化信息,其表达式为
Figure FDA0003344041840000055
其中,g表示生成元,H0表示关键字集合的哈希值,α表示第一随机数,t1表示第十随机数,t2表示第十一随机数,wa表示第a个关键字值,W表示关键词集合,H()表示第一碰撞哈希函数运算;
S373:将文件关键词盲化信息发送给初始化后的可信第三方;
S374:向初始化后的可信第三方输入可信第三方私钥并计算关键子集合哈希值密文
Figure FDA0003344041840000056
第十随机数和第十一随机数的密文I和文件关键词密文Ia,其计算公式分别为:
Figure FDA0003344041840000057
Figure FDA0003344041840000061
Figure FDA0003344041840000062
其中,g表示生成元,d表示第三随机数,f表示第四随机数,x表示第五随机数,y表示第六随机数,H0表示关键字集合的哈希值,wa表示第a个关键字值,W表示关键词集合;
S375:将关键子集合哈希值密文、第十随机数和第十一随机数的密文和文件关键词密文发送给数据拥有者DO;
S376:向数据拥有者DO输入云服务器公钥,计算第十随机数的随机化保护I'、第十一随机数的随机化保护I”和关键字集合的随机化保护I0,其计算公式分别为:
Figure FDA0003344041840000063
Figure FDA0003344041840000064
Figure FDA0003344041840000065
其中,g表示生成元,d表示第三随机数,x表示第五随机数,y表示第六随机数,t1表示第十随机数,t2表示第十一随机数,H0表示关键字集合的哈希值,b表示第七随机数;
S377:根据第十随机数的随机化保护、第十一随机数的随机化保护和关键字集合的随机化保护生成关键词索引Index,其表达式为
Figure FDA0003344041840000066
7.根据权利要求6所述的可验证搜索结果的布尔检索属性基加密方法,其特征在于,所述步骤S4包括以下子步骤:
S41:通过数据用户DU选择想要搜索的关键词集合W',其表达式为W'={N'a:w'a},其中,N'a表示想要搜索的第a个关键字名,w'a表示想要搜索的第a个关键字值;
S42:基于想要搜索的关键词集合,通过数据用户DU制定线性秘密分享LSSS搜索策略结构
Figure FDA0003344041840000071
其中,
Figure FDA0003344041840000072
表示E×k的矩阵,
Figure FDA00033440418400000713
表示关键词映射函数,E表示矩阵
Figure FDA0003344041840000073
的行数,k表示矩阵
Figure FDA0003344041840000074
的列数;
S43:通过数据用户DU为矩阵
Figure FDA0003344041840000075
的每一行选择第十二随机数
Figure FDA0003344041840000076
第十三随机数
Figure FDA0003344041840000077
和第十四随机数
Figure FDA0003344041840000078
其中,Zp *为不含有零元素的有限域;
S44:根据第十二随机数、第十三随机数和第十四随机数计算第十四随机数的第一公开承诺gθ、第十四随机数的第二公开承诺gαθ和随机化请求关键词值
Figure FDA0003344041840000079
其中,α表示第一随机数,γe'表示第十二随机数,g表示生成元,θ表示第十四随机数,H()表示第一碰撞哈希函数运算,W'表示想要搜索的关键词集合,e表示双线性映射,
Figure FDA00033440418400000710
表示对想要搜索的关键词集合的隐藏,
Figure FDA00033440418400000711
表示根据关键词映射函数确定想要搜索的关键词集合;
S45:将第十四随机数的第一公开承诺、第十四随机数的第二公开承诺和随机化请求关键词值发送给初始化后的可信第三方;
S46:向初始化后的可信第三方输入可信第三方私钥并计算第十四随机数的第一密文Tv、第十四随机数的第二密文T”和请求关键词密文T′e′,1,其计算公式分别为:
Tv=gxyθ
T”=gαdθ
Figure FDA00033440418400000712
其中,g表示生成元,α表示第一随机数,d表示第三随机数,x表示第五随机数,y表示第六随机数,θ表示第十四随机数,W'表示想要搜索的关键词集合,e表示双线性映射,
Figure FDA0003344041840000081
表示对想要搜索的关键词集合的隐藏,
Figure FDA0003344041840000082
表示线性秘密分享LSSS搜索策略结构的属性,f表示第四随机数;
S47:将第十四随机数的第一密文、第十四随机数的第二密文和请求关键词密文发送给数据用户DU;
S48:通过数据用户DU随机选择第二向量
Figure FDA0003344041840000083
其中,θ表示第十四随机数,v2,...,vz表示有限域Zp中的z-1个随机数;
S49:根据第二向量计算秘密值的公开承诺T'、密文T0、想要搜索的关键词集合的密文Te',1、第十二随机数的公开承诺Te',2、数据用户第一转换密钥K'、数据用户第二转换密钥K'0和数据用户第三转换密钥K′i,其计算公式分别为:
T'=gθ
Figure FDA0003344041840000084
Figure FDA0003344041840000085
Figure FDA0003344041840000086
K'=Kz′=gαz′gαtz′
Figure FDA0003344041840000087
Figure FDA0003344041840000088
其中,g表示生成元,e()表示双线性映射运算,α表示第一随机数,d表示第三随机数,f表示第四随机数,γe'表示第十二随机数,θ表示第十四随机数,z'表示第十三随机数,H()表示第一抗碰撞哈希函数运算,ξ表示用户属性集合,i表示全体属性集合的每个属性,
Figure FDA0003344041840000089
表示对想要搜索的关键词集合的隐藏,
Figure FDA00033440418400000810
表示第二向量,t表示第八随机数,H'表示第二抗碰撞哈希函数,K表示用户第一私钥,K0表示用户第二私钥,Ki表示用户第三私钥;
S410:通过数据用户生成搜索请求trapdoor和转换密钥TK,其表达式为
Figure FDA0003344041840000091
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搜索策略结构
Figure FDA0003344041840000092
若不满足则匹配失败,否则进入步骤S55,其中,
Figure FDA0003344041840000093
表示E×k的矩阵,
Figure FDA0003344041840000094
表示关键词映射函数;
S55:计算满足线性秘密分享LSSS搜索策略结构
Figure FDA0003344041840000095
的最小子集
Figure FDA0003344041840000096
S56:根据最小子集计算第一搜索匹配值R1、第二搜索匹配值R2、第三搜索匹配值E'和第四搜索匹配值
Figure FDA0003344041840000097
其计算公式分别为:
Figure FDA0003344041840000098
Figure FDA0003344041840000099
Figure FDA00033440418400000910
Figure FDA00033440418400000911
其中,g表示生成元,e()表示双线性映射运算,α表示第一随机数,d表示第三随机数,b表示第七随机数,t表示第八随机数,z'表示第十三随机数,θ表示第十四随机数,(Cl,Dl)表示子秘密密文,l∈{1,...,L},L表示矩阵M的行数,H()表示第一碰撞哈希函数运算,H'()表示第二碰撞哈希函数运算,ρ(l)表示线性秘密分享LSSS授权搜索访问结构的属性,I”表示第十一随机数的随机化保护,T”表示第二向量计算秘密值的公开承诺,K'0表示数据用户第二转换密钥,λi表示常数,
Figure FDA0003344041840000101
表示最小子集,Te',1表示想要搜索的关键词集合的密文,Te',2表示第十二随机数的公开承诺,K'ρ(l)表示用户第四转换密钥,I0表示关键字集合的随机化保护,Ia表示文件关键词密文,μj表示常数,j表示最小子集的元素,I表示第十随机数和第十一随机数的密文,T0表示密文;
S57:判断等式
Figure FDA0003344041840000102
是否成立,若不成立则匹配失败,否则进入步骤S58,其中,C”表示秘密分享值的第二公开承诺;
S58:利用初始化后的云服务器计算Compte=(ver1,ver2)并返回给数据用户DU,Compte表示搜索计算证明,ver1表示第一证明值,ver2表示第二证明值,其计算公式分别为:
Figure FDA0003344041840000103
Figure FDA0003344041840000104
其中,K'表示数据用户第一转换密钥,g表示生成元,α表示第一随机数,d表示第三随机数,x表示第五随机数,y表示第六随机数,t1表示第十随机数,θ表示第十四随机数,T'表示秘密值的公开承诺,R2表示第二搜索匹配值,H0表示关键字集合的哈希值,C'表示秘密分享值的第一公开承诺,s表示秘密分享值,I'表示第十随机数的随机化保护。
9.根据权利要求8所述的可验证搜索结果的布尔检索属性基加密方法,其特征在于,所述步骤S6中,通过数据用户DU计算等式
Figure FDA0003344041840000111
是否成立,若成立则完成布尔检索属性基加密,否则拒绝搜索密文;其中Tv表示第十四随机数的第一密文,其中,e()表示双线性映射运算,Tag表示验证标签,ver2表示第二证明值,
Figure FDA0003344041840000112
表示文件密文的哈希值。
CN202010306235.9A 2020-04-17 2020-04-17 一种可验证搜索结果的布尔检索属性基加密方法 Active CN111541535B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108200063B (zh) * 2017-12-29 2020-01-03 华中科技大学 一种可搜索公钥加密方法、采用该方法的***和服务器
CN108418681B (zh) * 2018-01-22 2020-10-23 南京邮电大学 一种支持代理重加密的基于属性的密文检索***及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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