CN104038349B - 一种基于kp‑abe的有效可验证的公钥可搜索加密方法 - Google Patents
一种基于kp‑abe的有效可验证的公钥可搜索加密方法 Download PDFInfo
- Publication number
- CN104038349B CN104038349B CN201410316818.4A CN201410316818A CN104038349B CN 104038349 B CN104038349 B CN 104038349B CN 201410316818 A CN201410316818 A CN 201410316818A CN 104038349 B CN104038349 B CN 104038349B
- Authority
- CN
- China
- Prior art keywords
- search
- data
- cloud server
- user
- public 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.)
- Expired - Fee Related
Links
Landscapes
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于KP‑ABE的有效可验证的公钥可搜索加密方法,该方法包括可信权威中心、数据拥有者、云服务器、数据用户;可信权威中心为所有云用户生成证书;数据拥有者外包数据文件和关键词给云服务器;云服务器是提供存储服务并在收到用户发送的搜索请求后执行搜索操作;数据用户生成搜索口令发送给云服务器寻找目标文件。本发明首先为数据拥有者和云服务器生成了公私钥对,在发送密文关键词和搜索口令时,首先使用云服务器的公钥对其再加密,这样有效地防止了外部攻击者的离线猜测攻击行为,提高了信息和数据的安全性,而且,复杂度降低,大大减少了用户的运算量,效率得到了很大提高。
Description
技术领域
本发明属于数据加密领域,尤其涉及一种基于KP-ABE的有效可验证的公钥可搜索加密方法。
背景技术
公钥可搜索加密是一个非常具有吸引力的密码学原语,它实现了基于密文的信息检索,特别适用于云计算环境。公钥可搜索加密方案(PEKS)使得用户凭借关键词在不泄露任何信息的情况下搜索加密数据。PEKS的概念是由Boneh等提出的,Baek等人提出了一种去除安全通道的PEKS,使得方案更加实用。在此之后,Hu等人和Zhao等人提出了可抵抗外部攻击者离线关键词猜测的新方案。简而言之,PEKS的概念是提供一种用户凭借关键词去搜索加密数据且不向包括服务器在内的其他方泄露任何信息的机制。随着云计算的快速发展,使得用户可以以低廉的价格使用云服务器的大量存储和计算的能力。这使得PEKS变得更加流行。尽管目前现存的PEKS可以安全有效地完成搜索操作,然而大多数方案却没有对服务器返回的搜索结果进行验证,同时也没有对搜索用户进行限制。在一个半诚实但可信的服务器的模型下,服务器可能只执行部分搜索操作或者只返回部分搜索结果。针对这一问题,Zheng等人首次针对此问题提出了一个新的密码学原语——基于属性加密的可验证的关键词搜索方案。该方案允许数据拥有者去控制搜索操作。访问控制策略的合法用户可以把费时的搜索操作外包给云服务器并且可以有效地验证服务器是否真实地执行了搜索操作。这意味着,具备满足数据拥有者的访问策略的条件的用户才可以进行搜索云服务器上的加密数据。此外,用户还可以对服务器返回的搜索结果进行正确性和完整性的验证。该方案运用模指数,属性加密,布隆过滤器,数字签名和基于属性加密的关键词搜索构造而成。然而该方案在正确性验证的时候所做的操作和云服务器的做法相同,然而对于用户自己来说,这需要很大的计算量。另外,该方案疏忽了离线猜测攻击。因为关键词密文、搜索口令和算法很容易被敌手获取,这样敌手便可执行搜索操作,从而打破关键词密文的不可区分性。
发明内容
本发明的目的在于提供一种基于KP-ABE的有效可验证的公钥可搜索加密方法,旨在在正确性验证方面大大减少用户的运算量,利用服务器的公钥对关键词密文进行再加密,防止外部攻击者的离线猜测攻击,提高方案的安全性。
符号说明:
F={F1}||{F2}||…||{Fn}:加密文件的集合;
ID{Fi}:文件{Fi}的地址;
IDw:包含关键词w的文件的地址;
WE:W的密文;
BF:包含所有关键词的布隆过滤器;
SYMEnc(·):对称加密算法;
ABE(·):基于密钥策略的属性加密算法。
本发明是这样实现的,一种基于KP-ABE的有效可验证的公钥可搜索加密方法,所述的基于KP-ABE的有效可验证的公钥可搜索加密方法包括可信权威中心、数据拥有者、云服务器、数据用户;可信权威中心选取双线性对和哈希函数,为系统生成公参pm和主密钥mk;通过运行RSA算法,为数据拥有者和云服务器生成公私钥对;通过访问结构中的Share(T,ac)算法,为用户生成私钥sk;数据拥有者从外包的数据文件F中提取关键词w;外包F,并生成关键词w密文cph并发送给云服务器;云服务器对数据拥有者发送来的数据提供存储服务并在收到用户发送的搜索口令tk后执行搜索,并将搜索结果和搜索证据返回给用户;数据用户用私钥sk生成搜索口令tk并发送给云服务器;在收到云服务器返回的搜索结果后,对结果的正确性和完整性进行验证;
所述的基于KP-ABE的有效可验证的公钥可搜索加密方法包括六个算法,l为安全参数,可信权威中心运行RSA算法为云服务器和数据拥有者生成公私钥对:{(n1,e1),d1}和{(n2,e2),d2};数据拥有者通过数字签名来保证数据文件的完整性,用云服务器的公钥对密文关键词进行再加密来防止外部攻击者的离线猜测攻击,当数据拥有者用SYMEnc()加密算法对数据文件加密后外包给云服务器,服务器返回加密文件的地址,记为ID{Fi},这样包含关键词w的数据文件即可表示为IDw=ID{F1}||ID{F2}…||ID{Fi}。
进一步,所述公钥可搜索加密方法具体包括:
可信权威中心选取双线性对和哈希函数,为可搜索加密系统:可信授权中心管理数据拥有者、用户和云服务器;
数据拥有者将数据文件传送至云服务器;
云服务器提供存储和检索服务;
用户通过云服务器搜索存储在其上的数据文件;
可信权威中心生成公参pm和主密钥mk;通过运行如下RSA算法:
按以下3个步骤:
i)选择不同的大素数p和q,计算n=p*q;
ii)选择e与互素,(n,e)作为公钥;
iii)通过计算d,(n,d)作为私钥;
这里数n,e,d分别为模数,加密指数和解密指数;
按照此算法,选取不同的大素数p1和q1,p2和q2,为数据拥有者和服务器生成公私钥对{(n1,e1),d1}和{(n2,e2),d2};
通过访问结构中的Share(T,ac)算法,按如下步骤:
访问树T的每一个叶子节点都关联着秘密ac的部分分享qv(0),对每一个叶子节点v∈lvs(T),选取t←Zp,计算和Bv=gt,记sk=(T,Av,Bv)|v∈lvs(T)为用户的私钥。
进一步,所述的基于KP-ABE的有效可验证的公钥可搜索加密方法包括六个算法,l为安全参数,可信权威中心运行RSA算法为云服务器和数据拥有者生成公私钥对:{(n1,e1),d1}和{(n2,e2),d2}。数据拥有者通过数字签名来保证数据文件的完整性,用云服务器的公钥对密文关键词进行再加密来防止外部攻击者的离线猜测攻击,当数据拥有者用SYMEnc(·)加密算法对数据文件加密后外包给云服务器,服务器返回加密文件的地址,记为ID{Fi},这样包含关键词w的数据文件即可表示为IDw=ID{F1}||ID{F2}…||ID{Fi}。
进一步,所述的基于KP-ABE的有效可验证的公钥可搜索加密方法的具体方案为:
步骤一、初始化(1l):可信权威中心选择双线性对:e:G×G→GT,G和GT是阶为p的循环群,p为l比特长的素元,选择随机预言机模型下的哈希函数H1:{0,1}*→G;H2:{0,1}*→Zp是单向哈希函数,选择a,b,c←Zp,g←G,pm=(H1,H2,e,g,p,ga,gb,gc,G,GT),mk=(a,b,c)
接着选取k个独立的哈希函数H′1,…,H'k,用来m比特的构造m比特的布隆过滤器BF发送给数据拥有者,为数据拥有者和云服务器生成公私钥对{(n1,e1),d1}和{(n2,e2),d2};
步骤二、密钥生成(mk,T):可信权威中心执行Share(T,ac)算法,访问树T的每一个叶子节点都会得到有关秘密ac的部分分享qv(0),对每一个叶子节点v∈lvs(T),选取t←Zp,计算和Bv=gt,记私钥sk=(T,Av,Bv)|v∈lvs(T);
步骤三、对关键词和文件地址的加密:(w,atts,ID(w))数据拥有者通过可信权威中心发送的哈希函数生成布隆过滤器,BF←BFGen({H1',…,H'k},{w1,…,wl}),对含有关键词w数据文件地址IDw和布隆过滤器,SYMEnc(·)加密算法加密,对称密钥为sk1:
BFEnc=SYM(BF),(IDw)Enc=SYM(IDw);
用户数据拥有者对ABFEnc和(IDw)Enc进行签名: 对sk1用ABE()加密算法进行加密:C=ABE(sk1);
在搜索结束后,属性满足访问策略的合法用户就可以解密C得到sk1,进而解密获取目标文件;
选择r1,r2←Zp,计算F=(f1,f2)其中 对每一个atj∈Atts,计算用服务器的公钥对W加密得到这样可记密文关键词为:cph=(Atts,W',WE,W0,Wj,F,A,B,C);
步骤四、生成搜索口令(sk,w):选择s←Zp,对每个叶子节点v∈lvs(T)计算搜索口令为tok2=gcs,用服务器的公钥对tok2进行加密:记tk=(tok1,(tok2)Enc,T,(Av',Bv')|v∈lvs(T));
步骤五、搜索(tk,cph):服务器从cph中选取属性集S来满足搜索口令中指定的访问树,如果这样的集合S不存在,返回0;反之,对每一个atj∈S,计算结合(T,Ev|att(v)∈S),计算出进而服务器用自己的私钥解密WE,(tok2)Enc得到W和tok2,如果e(W',tok1)Eroot=e(W,tok2),返回{W,F,A,B,C}给用户;否则,只返回A;
步骤六、验证{W,F,A,B,C}数据用户接收到云服务器返回的搜索结果后,进行验证操作。
进一步,所述的验证操作的具体方法为:
步骤一、搜索关键词的存在性:当数据用户仅仅收到云服务器返回的A时,首先用数据拥有者的公钥A进行验证若则通过验证;对C进行解密操作获取对称密钥sk1,解密A获取布隆过滤器BF,若BF(w)=0,意味着云服务器上不存在用户所搜索的关键词,反之,拒收返回结果;
步骤二、搜索关键词的正确性:数据用户收到{W,F,A,B,C}时,计算W/f1和如果说明正确,反之,说明是错误结果;
步骤三、包含关键词w的数据文件地址的完整性:当数据用户验证了关键词的正确性后,接着对B进行验证,若则通过解密C获取sk1,进而获取目标数据文件。
进一步,所述的基于KP-ABE的有效可验证的公钥可搜索加密方法的正确性的分析如下:
步骤一、搜索匹配正确性:
云服务器在收到数据用户的搜索请求后,执行搜索操作,首先用自己的私钥对密文关键词和搜索口令进行解密,用RSA算法,然后,执行如下匹配操作:
如果w和w1是同一个关键词的话,那么e(W',tok1)Eroot和e(W,tok2)就是相等的,说明搜索成功;
步骤二、验证正确性:
当数据用户收到云服务器返回的搜索结果{W,F,A,B,C}时,首先要对关键词的正确性进行验证,由F中找到f1,f2,作如下计算:
用户对自己搜索的关键词的哈希值H2(w1)计算如下:
若w和w1是同一个关键词时,W/f1和相等,说明,搜索结果是正确的,在此之后,通过签名来验证数据文件地址的正确性和完整性。
效果汇总
本发明的基于KP-ABE的有效可验证的公钥可搜索加密方法,首先为数据拥有者和云服务器生成了公私钥对,在发送密文关键词和搜索口令时,首先使用云服务器的公钥对其再加密,这样有效地防止了外部攻击者的离线猜测攻击行为,提高了方案的安全性,而且,复杂度降低,大大减少了用户的运算量,效率得到了很大提高。
附图说明
图1是本发明实施例提供的基于KP-ABE的有效可验证的公钥可搜索加密方法的模型示意图;
图2是本发明实施例提供的本发明和对比方案执行正确性验证的运行时间的对比图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明是这样实现的,如图1所示,一种基于KP-ABE的有效可验证的公钥可搜索加密方法包括可信权威中心、数据拥有者、云服务器、数据用户;可信权威中心为所有云用户生成证书;数据拥有者外包数据文件和关键词给云服务器;云服务器是提供存储服务并在收到用户发送的搜索请求后执行搜索操作;数据用户生成搜索口令发送给云服务器寻找目标文件。
进一步,所述公钥可搜索加密方法具体包括:
可信权威中心选取双线性对和哈希函数,为可搜索加密系统:可信授权中心管理数据拥有者、用户和云服务器;
数据拥有者将数据文件传送至云服务器;
云服务器提供存储和检索服务;
用户通过云服务器搜索存储在其上的数据文件;
可信权威中心生成公参pm和主密钥mk;通过运行如下RSA算法:
按以下3个步骤:
i)选择不同的大素数p和q,计算n=p*q;
ii)选择e与互素,(n,e)作为公钥;
iii)通过计算d,(n,d)作为私钥;
这里数n,e,d分别为模数,加密指数和解密指数;
按照此算法,选取不同的大素数p1和q1,p2和q2,为数据拥有者和服务器生成公私钥对{(n1,e1),d1}和{(n2,e2),d2};
通过访问结构中的Share(T,ac)算法,按如下步骤:
访问树T的每一个叶子节点都关联着秘密ac的部分分享qv(0),对每一个叶子节点v∈lvs(T),选取t←Zp,计算和Bv=gt,记sk=(T,Av,Bv)|v∈lvs(T)为用户的私钥。
进一步,所述的基于KP-ABE的有效可验证的公钥可搜索加密方法包括六个算法,l为安全参数,可信权威中心运行RSA算法为云服务器和数据拥有者生成公私钥对:{(n1,e1),d1}和{(n2,e2),d2},数据拥有者通过数字签名来保证数据文件的完整性,用云服务器的公钥对密文关键词进行再加密来防止外部攻击者的离线猜测攻击,当数据拥有者用SYMEnc(·)加密算法对数据文件加密后外包给云服务器,服务器返回加密文件的地址,记为ID{Fi},这样包含关键词w的数据文件即可表示为IDw=ID{F1}||ID{F2}…||ID{Fi}。
进一步,所述的基于KP-ABE的有效可验证的公钥可搜索加密方法的具体方案为:
步骤一、初始化(1l):可信权威中心选择双线性对:e:G×G→GT,G和GT是阶为p的循环群,p为l比特长的素元,选择随机预言机模型下的哈希函数H1:{0,1}*→G;H2:{0,1}*→Zp是单向哈希函数,选择a,b,c←Zp,g←G,pm=(H1,H2,e,g,p,ga,gb,gc,G,GT),mk=(a,b,c)
接着选取k个独立的哈希函数H′1,…,H'k,用来m比特的构造m比特的布隆过滤器BF发送给数据拥有者,为数据拥有者和云服务器生成公私钥对{(n1,e1),d1}和{(n2,e2),d2};
步骤二、密钥生成(mk,T):可信权威中心执行Share(T,ac)算法,访问树T的每一个叶子节点都会得到有关秘密ac的部分分享qv(0),对每一个叶子节点v∈lvs(T),选取t←Zp,计算和Bv=gt,记私钥sk=(T,Av,Bv)|v∈lvs(T);
步骤三、对关键词和文件地址的加密:(w,atts,ID(w))数据拥有者通过可信权威中心发送的哈希函数生成布隆过滤器,BF←BFGen({H′1,…,H'k},{w1,…,wl}),对含有关键词w数据文件地址IDw和布隆过滤器,SYMEnc()加密算法加密,对称密钥为sk1:
BFEnc=SYM(BF),(IDw)Enc=SYM(IDw);
用户数据拥有者对ABFEnc和(IDw)Enc进行签名: 对sk1用ABE()加密算法进行加密:C=ABE(sk1);
在搜索结束后,属性满足访问策略的合法用户就可以解密C得到sk1,进而解密获取目标文件;
选择r1,r2←Zp,计算F=(f1,f2)其中 对每一个atj∈Atts,计算用服务器的公钥对W加密得到这样可记密文关键词为:
cph=(Atts,W',WE,W0,Wj,F,A,B,C);
步骤四、生成搜索口令(sk,w):选择s←Zp,对每个叶子节点v∈lvs(T)计算搜索口令为tok2=gcs,用服务器的公钥对tok2进行加密:记tk=(tok1,(tok2)Enc,T,(Av',Bv')|v∈lvs(T));
步骤五、搜索(tk,cph):服务器从cph中选取属性集S来满足搜索口令中指定的访问树,如果这样的集合S不存在,返回0;反之,对每一个atj∈S,计算 结合(T,Ev|att(v)∈S),计算出进而服务器用自己的私钥解密WE,(tok2)Enc得到W和tok2,如果e(W',tok1)Eroot=e(W,tok2),返回{W,F,A,B,C}给用户;否则,只返回A;
步骤六、验证{W,F,A,B,C}数据用户接收到云服务器返回的搜索结果后,进行验证操作。
进一步,所述的验证操作的具体方法为:
步骤一、搜索关键词的存在性:当数据用户仅仅收到云服务器返回的A时,首先用数据拥有者的公钥A进行验证若则通过验证;对C进行解密操作获取对称密钥sk1,解密A获取布隆过滤器BF,若BF(w)=0,意味着云服务器上不存在用户所搜索的关键词,反之,拒收返回结果;
步骤二、搜索关键词的正确性:数据用户收到{W,F,A,B,C}时,计算W/f1和如果说明正确,反之,说明是错误结果;
步骤三、包含关键词w的数据文件地址的完整性:当数据用户验证了关键词的正确性后,接着对B进行验证,若则通过解密C获取sk1,进而获取目标数据文件。
进一步,所述的基于KP-ABE的有效可验证的公钥可搜索加密方法的正确性的分析如下:
步骤一、搜索匹配正确性:
云服务器在收到数据用户的搜索请求后,执行搜索操作,首先用自己的私钥对密文关键词和搜索口令进行解密,用RSA算法,然后,执行如下匹配操作:
如果w和w1是同一个关键词的话,那么e(W',tok1)Eroot和e(W,tok2)就是相等的,说明搜索成功;
步骤二、验证正确性:
当数据用户收到云服务器返回的搜索结果{W,F,A,B,C}时,首先要对关键词的正确性进行验证,由F中找到f1,f2,作如下计算:
用户对自己搜索的关键词的哈希值H2(w1)计算如下:
若w和w1是同一个关键词时,W/f1和相等,说明,搜索结果是正确的,在此之后,通过签名来验证数据文件地址的正确性和完整性。
将本发明与文献“Verifiable attribute-based keyword search overoutsourced encrypted data”(Q.Zheng,Xu,S.Ateniese,G.:Vabks,IACR CryptologyePrint Archive2013(2013))中的方案进行对比,在本发明的方案中,首先为数据拥有者和云服务器生成了公私钥对,在发送密文关键词和搜索口令时,首先使用云服务器的公钥对其再加密,这样有效地防止了外部攻击者的离线猜测攻击行为。这在对比中是没有涉及到的。另外,与对比方案对比,对比方案在验证正确性时所进行的操作和云服务器是相同的,而本发明所用方法具有明显的优势,如表1所示:
表1
BF代表布隆过滤器;这里复杂度考虑的是渐近复杂度,主要是Pair和ET。Pair代表双线性对运算;ET代表群GT中的指数运算;S代表用户的属性的数量。和对比方案一样,因为乘法运算和哈希运算比起对运算和指数运算起来,复杂度较低。所以在讨论复杂度时,忽略了乘法运算和哈希运算。
用户对服务器返回的搜索结果的正确性进行验证:
C语言编程,采用Ubuntu Linux 12.04系统。电脑配置为:Intel(R)Core(TM)i3-3240 Cpu,2GB RAM。基于对运算的密码算法(PBC)实验室0.514版本。所有实验结果取的是50次的实验平均值。分别选取了512比特长和1024比特长的模长度,属性数量范围10到50个。最终,如图2所示,实验结果显示,本发明的验证方法效率高,具有更强的实用性。
图2示出了本发明的方案和对比方案执行正确性验证的运行时间。相比对比方案,本发明方案的运行时间不会随着属性数量的增加而变化,进一步说明了本发明的实用性。图中的双斜线代表着在垂直方向的中断,这里使用的是ORIGIN 8.0软件进行数据分析并作图。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性的劳动即可做出的各种修改或变形仍在本发明的保护范围之内。
Claims (5)
1.一种基于KP-ABE的有效可验证的公钥可搜索加密方法,其特征在于,所述的基于KP-ABE的有效可验证的公钥可搜索加密方法包括以下步骤:
数据拥有者从外包的数据文件F中提取关键词w;并生成关键词w密文cph发送给云服务器;
云服务器对数据拥有者发送来的数据提供存储服务并在收到用户发送的搜索口令tk后执行搜索,并将搜索结果和搜索证据返回给用户;
数据用户用私钥sk生成搜索口令tk并发送给云服务器;在收到云服务器返回的搜索结果后,对结果的正确性和完整性进行验证;
所述的基于KP-ABE的有效可验证的公钥可搜索加密方法的具体方案为:
可信权威中心运行RSA算法为云服务器和数据拥有者生成公私钥对:{(n1,e1),d1}和{(n2,e2),d2};数据拥有者通过数字签名来保证数据文件的完整性;用云服务器的公钥对密文关键词进行再加密来防止外部攻击者的离线猜测攻击,当数据拥有者用SYMEnc()加密算法对数据文件加密后外包给云服务器,服务器返回加密文件的地址,记为ID{Fi},这样包含关键词w的数据文件即可表示为IDw=ID{F1}||ID{F2}…||ID{Fi};具体包括:
步骤一、初始化(1l):可信权威中心选择双线性对:e:G×G→GT,G和GT是阶为p的循环群,p为l比特长的素元,选择随机预言机模型下的哈希函数H1:{0,1}*→G;H2:{0,1}*→Zp是单向哈希函数,选择a,b,c←Zp,g←G,
pm=(H1,H2,e,g,p,ga,gb,gc,G,GT),
mk=(a,b,c)
接着选取k个独立的哈希函数H′1,…,H'k,构造m比特的布隆过滤器BF发送给数据拥有者,为数据拥有者和云服务器生成公私钥对{(n1,e1),d1}和{(n2,e2),d2};
步骤二、密钥生成(mk,T):可信权威中心执行Share(T,ac)算法,访问树T的每一个叶子节点都会得到有关秘密ac的部分分享qv(0),对每一个叶子节点v∈lvs(T),选取t←Zp,计算和Bv=gt,记私钥sk=(T,Av,Bv)|v∈lvs(T);
步骤三、对关键词和文件地址的加密:(w,atts,ID(w)),数据拥有者通过可信权威中心发送的哈希函数生成布隆过滤器,BF←BFGen({H′1,…,H'k},{w1,…,wl}),对含有关键词w数据文件地址IDw和布隆过滤器BF,用SYMEnc()对称加密算法加密,其中对称密钥为sk1:
BFEnc=SYM(BF),(IDw)Enc=SYM(IDw);
用户数据拥有者对BFEnc和(IDw)Enc进行签名:
对sk1用ABE()加密算法进行加密:C=ABE(sk1);
在搜索结束后,属性满足访问策略的合法用户就可以解密C得到sk1,进而解密获取目标文件;
选择r1,r2←Zp,计算F=(f1,f2)其中 对每一个atj∈Atts,计算用服务器的公钥对W加密得到这样可记密文关键词为:
cph=(Atts,W',WE,W0,Wj,F,A,B,C);
步骤四、生成搜索口令(sk,w):选择s←Zp,对每个叶子节点v∈lvs(T)计算搜索口令为tok2=gcs,用服务器的公钥对tok2进行加密:记tk=(tok1,(tok2)Enc,T,(A′v,B′v)|v∈lvs(T));
步骤五、搜索(tk,cph):服务器从cph中选取属性集S来满足搜索口令中指定的访问树,如果这样的集合S不存在,返回0;反之,对每一个atj∈S,计算att(v)=atj,v∈lvs(T),结合(T,Ev|att(v)∈S),计算出进而得到服务器用自己的私钥解密WE,(tok2)Enc得到W和tok2,如果e(W',tok1)Eroot=e(W,tok2),返回{W,F,A,B,C}给用户;否则,只返回A;
步骤六、验证{W,F,A,B,C}:数据用户接收到云服务器返回的搜索结果后,进行验证操作。
2.如权利要求1所述的基于KP-ABE的有效可验证的公钥可搜索加密方法,其特征在于,所述公钥可搜索加密方法具体包括:
可搜索加密系统:可信权威中心管理数据拥有者、用户和云服务器;
数据拥有者将数据文件传送至云服务器;
云服务器提供存储和检索服务;
用户通过云服务器搜索存储在其上的数据文件;
可信权威中心选取双线性对和哈希函数,并生成公参pm和主密钥mk;通过运行如下RSA算法:
按以下3个步骤:
i)选择不同的大素数p和q,计算n=p*q;
ii)选择e与互素,(n,e)作为公钥;
iii)通过计算d,(n,d)作为私钥;
这里数n,e,d分别为模数,加密指数和解密指数;
按照此算法,选取不同的大素数p1和q1,p2和q2,为数据拥有者和服务器生成公私钥对{(n1,e1),d1}和{(n2,e2),d2};
通过访问结构中的Share(T,ac)算法,按如下步骤:
访问树T的每一个叶子节点都关联着秘密ac的部分分享qv(0),对每一个叶子节点v∈lvs(T),选取t←Zp,计算和Bv=gt,记sk=(T,Av,Bv)|v∈lvs(T)为用户的私钥。
3.如权利要求1所述的基于KP-ABE的有效可验证的公钥可搜索加密方法,其特征在于,所述的基于KP-ABE的有效可验证的公钥可搜索加密方法包括:初始化、密钥生成、对关键词和文件地址的加密、生成搜索口令、搜索、验证;该方法应用于云计算中对大量加密数据的搜索。
4.如权利要求1所述的基于KP-ABE的有效可验证的公钥可搜索加密方法,其特征在于,所述的验证操作的具体方法为:
步骤一、搜索关键词的存在性:当数据用户仅仅收到云服务器返回的A时,首先用数据拥有者的公钥对A进行验证;若则通过验证;对C进行解密操作获取对称密钥sk1,解密A获取布隆过滤器BF,若BFverify(w)=0,意味着云服务器上不存在用户所搜索的关键词,反之,拒收返回结果;
步骤二、搜索关键词的正确性:数据用户收到{W,F,A,B,C}时,计算W/f1和如果说明正确,反之,说明是错误结果;
步骤三、包含关键词w的数据文件地址的完整性:当数据用户验证了关键词的正确性后,接着对B进行验证,若则通过解密C获取sk1,进而获取目标数据文件。
5.如权利要求1所述的基于KP-ABE的有效可验证的公钥可搜索加密方法,其特征在于,所述的基于KP-ABE的有效可验证的公钥可搜索加密方法的正确性的分析如下:
步骤一、搜索匹配正确性:
云服务器在收到数据用户的搜索请求后,执行搜索操作;首先通过用RSA算法,用自己的私钥对密文关键词和搜索口令进行解密,然后,执行如下匹配操作:
如果w和w1是同一个关键词的话,那么e(W',tok1)Eroot和e(W,tok2)就是相等的,说明搜索成功;
步骤二、验证正确性:
当数据用户收到云服务器返回的搜索结果{W,F,A,B,C}时,首先要对关键词的正确性进行验证,由F中找到f1,f2,作如下计算:
用户对自己搜索的关键词的哈希值H2(w1)计算如下:
若w和w1是同一个关键词时,W/f1和相等,说明,搜索结果是正确的,在此之后,通过签名来验证数据文件地址的正确性和完整性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410316818.4A CN104038349B (zh) | 2014-07-03 | 2014-07-03 | 一种基于kp‑abe的有效可验证的公钥可搜索加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410316818.4A CN104038349B (zh) | 2014-07-03 | 2014-07-03 | 一种基于kp‑abe的有效可验证的公钥可搜索加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104038349A CN104038349A (zh) | 2014-09-10 |
CN104038349B true CN104038349B (zh) | 2017-05-03 |
Family
ID=51468946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410316818.4A Expired - Fee Related CN104038349B (zh) | 2014-07-03 | 2014-07-03 | 一种基于kp‑abe的有效可验证的公钥可搜索加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104038349B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107342900A (zh) * | 2017-07-11 | 2017-11-10 | 陈焕英 | 一种信号通信包的计算机配置器 |
CN110138561A (zh) * | 2019-03-22 | 2019-08-16 | 西安电子科技大学 | 基于cp-abe自动校正的高效密文检索方法、云计算服务系统 |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104394155B (zh) * | 2014-11-27 | 2017-12-12 | 暨南大学 | 可验证完整性和完备性的多用户云加密关键字搜索方法 |
CN105024802B (zh) * | 2015-07-13 | 2018-05-29 | 西安理工大学 | 云存储中基于双线性对的多用户多关键词可搜索加密方法 |
CN105282167A (zh) * | 2015-11-06 | 2016-01-27 | 福建工程学院 | 一种可搜索的无证书公钥加密方法 |
CN105468986B (zh) * | 2015-12-02 | 2018-11-13 | 深圳大学 | 一种保密信息检索方法及系统 |
CN105721146B (zh) * | 2016-03-03 | 2018-12-21 | 江苏大学 | 一种面向云存储基于smc的大数据共享方法 |
CN105812141B (zh) * | 2016-03-07 | 2018-11-27 | 东北大学 | 一种面向外包加密数据的可验证交集运算方法及系统 |
CN105933281B (zh) * | 2016-03-29 | 2019-05-07 | 深圳大学 | 一种量子同态对称可搜索加密的方法及系统 |
CN106131029B (zh) * | 2016-07-19 | 2019-03-29 | 南京邮电大学 | 一种抵抗属性密钥滥用的高效密文搜索方法 |
CN106650205B (zh) * | 2016-09-28 | 2019-03-19 | 西安电子科技大学 | 一种高效隐私保护的云医疗数据监护方法 |
CN106941482B (zh) * | 2016-12-20 | 2020-01-03 | 中国科学技术大学 | 一种基于密钥派生的数据存储和访问控制方法 |
CN106874516A (zh) * | 2017-03-15 | 2017-06-20 | 电子科技大学 | 一种云存储中基于kcb树和布隆过滤器的高效密文检索方法 |
CN107256248B (zh) * | 2017-06-07 | 2020-05-08 | 福州大学 | 云存储安全中基于通配符的可搜索加密方法 |
CN107920121A (zh) * | 2017-11-22 | 2018-04-17 | 湖南城市学院 | 一种基于互联网的体育测试方法 |
CN108039943B (zh) * | 2017-12-06 | 2020-10-30 | 清华大学深圳研究生院 | 一种可验证的加密搜索方法 |
CN108418796B (zh) * | 2018-01-30 | 2020-12-18 | 西安电子科技大学 | 云数据多副本完整性验证及关联删除的方法、云存储系统 |
CN108512840A (zh) * | 2018-03-21 | 2018-09-07 | 杭州弗兰科信息安全科技有限公司 | 一种基于泄序加密的密文检索方法 |
CN109086615A (zh) * | 2018-08-03 | 2018-12-25 | 上海海事大学 | 一种抗关键字猜测攻击的支持多关键字搜索公钥加密方法 |
CN109492410B (zh) * | 2018-10-09 | 2020-09-01 | 华南农业大学 | 数据可搜索加密和关键词搜索方法、系统及终端、设备 |
CN109347833B (zh) * | 2018-10-24 | 2020-05-22 | 中国科学院信息工程研究所 | 基于属性加密的用于机器学习环境下的访问控制方法和系统 |
CN109299804B (zh) * | 2018-11-19 | 2022-03-15 | 安徽师范大学 | 具有医生搜索功能的医疗预约挂号系统 |
CN109543439B (zh) * | 2018-12-04 | 2021-07-13 | 北京锐安科技有限公司 | 一种车联网的服务请求方法和装置 |
CN110392038B (zh) * | 2019-06-03 | 2021-07-13 | 西安电子科技大学 | 一种多用户场景下可验证的多密钥可搜索加密方法 |
CN110266687B (zh) * | 2019-06-21 | 2021-08-17 | 杭州云象网络技术有限公司 | 一种采用区块链技术的物联网安全代理数据共享模块设计方法 |
CN110602099B (zh) * | 2019-09-16 | 2021-04-06 | 广西师范大学 | 基于可验证的对称可搜索加密的隐私保护方法 |
CN112311781B (zh) * | 2020-10-23 | 2021-11-12 | 西安电子科技大学 | 一种前后向安全且具有可恢复关键字屏蔽的加密方法 |
CN112328640B (zh) * | 2020-11-10 | 2024-10-29 | 杭州趣链科技有限公司 | 数据查询方法、装置、系统和数据集处理方法 |
CN113158174B (zh) * | 2021-04-06 | 2022-06-21 | 上海交通大学 | 基于图论的分组密码实际密钥信息的自动化搜索系统 |
CN114268482B (zh) * | 2021-12-15 | 2024-12-13 | 北京工业大学 | 一种基于属性布隆过滤器的快速策略检索方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120069387A (ko) * | 2010-12-20 | 2012-06-28 | 고려대학교 산학협력단 | 공개키 기반의 키워드 검색 방법 |
CN103179114A (zh) * | 2013-03-15 | 2013-06-26 | 华中科技大学 | 一种云存储中的数据细粒度访问控制方法 |
CN103281377A (zh) * | 2013-05-31 | 2013-09-04 | 北京鹏宇成软件技术有限公司 | 一种面向云的密文数据存储与查询方法 |
CN103401839A (zh) * | 2013-07-02 | 2013-11-20 | 河海大学 | 一种基于属性保护的多授权中心加密方法 |
CN103731432A (zh) * | 2014-01-11 | 2014-04-16 | 西安电子科技大学昆山创新研究院 | 一种支持多用户的可搜索加密系统及方法 |
-
2014
- 2014-07-03 CN CN201410316818.4A patent/CN104038349B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120069387A (ko) * | 2010-12-20 | 2012-06-28 | 고려대학교 산학협력단 | 공개키 기반의 키워드 검색 방법 |
CN103179114A (zh) * | 2013-03-15 | 2013-06-26 | 华中科技大学 | 一种云存储中的数据细粒度访问控制方法 |
CN103281377A (zh) * | 2013-05-31 | 2013-09-04 | 北京鹏宇成软件技术有限公司 | 一种面向云的密文数据存储与查询方法 |
CN103401839A (zh) * | 2013-07-02 | 2013-11-20 | 河海大学 | 一种基于属性保护的多授权中心加密方法 |
CN103731432A (zh) * | 2014-01-11 | 2014-04-16 | 西安电子科技大学昆山创新研究院 | 一种支持多用户的可搜索加密系统及方法 |
Non-Patent Citations (1)
Title |
---|
VABKS: Verifiable Attribute-based Keyword Search over Outsourced Encrypted Data;Qingji Zheng,Shouhuai Xu, Giuseppe Ateniese;《IEEE INFOCOM 2014 - IEEE Conference on Computer Communications》;20140502;正文第522-529页,图1 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107342900A (zh) * | 2017-07-11 | 2017-11-10 | 陈焕英 | 一种信号通信包的计算机配置器 |
CN110138561A (zh) * | 2019-03-22 | 2019-08-16 | 西安电子科技大学 | 基于cp-abe自动校正的高效密文检索方法、云计算服务系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104038349A (zh) | 2014-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104038349B (zh) | 一种基于kp‑abe的有效可验证的公钥可搜索加密方法 | |
US11381398B2 (en) | Method for re-keying an encrypted data file | |
Liu et al. | BC-SABE: Blockchain-aided searchable attribute-based encryption for cloud-IoT | |
US20220368545A1 (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 | |
Cui et al. | AKSER: Attribute-based keyword search with efficient revocation in cloud computing | |
Pasupuleti et al. | An efficient and secure privacy-preserving approach for outsourced data of resource constrained mobile devices in cloud computing | |
CN108989026B (zh) | 一种发布/订阅环境下用户属性可撤销的方法 | |
Pandiaraja et al. | RETRACTED ARTICLE: A Novel Data Privacy-Preserving Protocol for Multi-data Users by using genetic algorithm | |
CN106789044B (zh) | 标准模型下格上云存储密文数据公钥可搜索加密方法 | |
Yao et al. | Privacy-preserving search over encrypted personal health record in multi-source cloud | |
CN104967693B (zh) | 面向云存储的基于全同态密码技术的文档相似度计算方法 | |
CN108171066A (zh) | 一种医疗云中隐私保护下的关键词跨域搜索方法及系统 | |
CN105007161B (zh) | 一种陷门无法识别的模糊关键字公钥搜索加密方法 | |
CN106776904A (zh) | 一种不可信云计算环境中支持动态验证的模糊查询加密方法 | |
Huang et al. | FSSR: Fine-grained EHRs sharing via similarity-based recommendation in cloud-assisted eHealthcare system | |
CN105024802A (zh) | 云存储中基于双线性对的多用户多关键词可搜索加密方法 | |
Ma et al. | CP‐ABE‐Based Secure and Verifiable Data Deletion in Cloud | |
CN109740364A (zh) | 可控搜索权限的基于属性的密文搜索方法 | |
CN104993931A (zh) | 一种云存储中多用户的加密搜索方法 | |
CN104052740A (zh) | 云存储中可验证的基于词典的可搜索加密方法 | |
Ying et al. | Reliable policy updating under efficient policy hidden fine-grained access control framework for cloud data sharing | |
Sandhia et al. | Secure sharing of data in cloud using MA-CPABE with elliptic curve cryptography | |
WO2023134576A1 (zh) | 数据加密方法、属性授权中心及存储介质 | |
KR101140576B1 (ko) | 암호화 문서에 대한 다자간 검색 시스템 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170503 |