CN109639677B - 一种可限制访问次数的云存储外包解密属性基加密方法 - Google Patents

一种可限制访问次数的云存储外包解密属性基加密方法 Download PDF

Info

Publication number
CN109639677B
CN109639677B CN201811524155.XA CN201811524155A CN109639677B CN 109639677 B CN109639677 B CN 109639677B CN 201811524155 A CN201811524155 A CN 201811524155A CN 109639677 B CN109639677 B CN 109639677B
Authority
CN
China
Prior art keywords
key
decryption
data
attribute
user
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
CN201811524155.XA
Other languages
English (en)
Other versions
CN109639677A (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.)
Guangxi Minstone Software Co ltd
Guangdong University of Technology
Original Assignee
Guangxi Minstone Software Co ltd
Guangdong University of Technology
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 Guangxi Minstone Software Co ltd, Guangdong University of Technology filed Critical Guangxi Minstone Software Co ltd
Priority to CN201811524155.XA priority Critical patent/CN109639677B/zh
Publication of CN109639677A publication Critical patent/CN109639677A/zh
Application granted granted Critical
Publication of CN109639677B publication Critical patent/CN109639677B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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/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
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token

Abstract

本发明公开了一种可限制访问次数的云存储外包解密属性基加密方法,该方法数据使用者根据属性授权机构分发的解密密钥生成相应的转换密钥,需要外包解密服务时将转换密钥外包给云服务器,并且对云服务器返回的转换密文进行外包解密验证。本发明采用LSSS的访问结构,利用VRF限制用户的访问次数,利用外包计算技术将用户端的解密运算外包给云端执行,利用密钥盲化技术实现安全的解密外包服务,利用密码学哈希函数生成的验证令牌验证外包解密的正确性,一定时间内可限制用户访问次数的细粒度访问控制方式,实现了属性基加密中外包解密正确性的公开验证。

Description

一种可限制访问次数的云存储外包解密属性基加密方法
技术领域
本发明涉及云存储密文访问控制研究领域,特别涉及一种可限制访问次数的云存储外包解密属性基加密方法。
背景技术
属性基加密(attribute-based encryption,ABE)是一种基于公钥的一对多加密机制,允许用户根据用户属性加密和解密数据。ABE的一个很有前景的应用是对存储在云中的加密数据进行灵活的访问控制。传统的ABE方案的主要缺陷是解密涉及代价昂贵的配对操作,而这种操作的数量随着访问策略的复杂性而增加,这对于资源受限的移动设备(如手机)来说是一个致命的使用瓶颈。为此,有人提出了“外包解密”的概念(Green M,Hohenberger S,Waters B.Outsourcing the decryption of ABE ciphertexts[C]//USENIX Conference on Security.USENIX Association,2011:34-34.),并进一步提出了一种外包解密的ABE系统,该系统在很大程度上消除了用户的解密开销。
采用外包解密的属性基加密不仅能够实现加密数据的细粒度共享,而且克服了标准ABE方案在密文大小和解密成本方面的效率缺陷。采用外包解密的ABE方案允许第三方(如云服务器)使用用户提供的转换密钥,这将满足用户属性或访问策略的ABE密文转换为(较短的)较简单的ElGamal类型的密文,用户只需要花费很少的计算开销即可从转换密文中恢复出明文数据。在这个转换过程中,云服务器得不到关于原始明文的任何信息。然而,最初的外包解密ABE方案存在用户无法验证云服务器转换的正确性的缺点,即,终端用户可能会被骗接受错误或者恶意转换的输出。
近些年,许多可验证外包解密正确性的ABE方案被提出。起初基于Gentry的全同态加密系统提出的方案(Gennaro R,Gentry C,Parno B.Non-interactive verifiablecomputing:outsourcing computation to untrusted workers[C]//Conference onAdvances in Cryptology.Springer-Verlag,2010:465-482.),对于目前的ABE系统来说是不切实际的,因为一个高安全性参数的同态操作的“引导”操作大约需要30分钟;随后有人通过一个额外校验值实现了标准模型下用户可公开验证外包解密正确性的ABE方案(Junzuo Lai,Robert H.Deng,Chaowen Guan,et al.Attribute-Based Encryption WithVerifiable Outsourced Decryption[J].IEEE Transactions on InformationForensics and Security,2013,8(8):1343-1354.),然而该方案在密文传输和解密操作中引入了大量的开销;为了减少开销,有学者提出了一种在标准模型下基于哈希函数构建具有可验证外包解密的ABE方案(Baodong Qin,Robert H.Deng,Shengli Liu,etal.Attribute-based encryption with efficient verifiable outsourced decryption[J].IEEE Transactions on Information Forensics and Security,2015,10(7):1384–1393.),该方案密文大小减少一半,解密开销减少了一半以上,但是该方案没有提供一种一定时间内可限制用户访问次数的细粒度访问控制方式;随后有人基于CPA安全的外包解密ABE方案分别提出了CPA安全和RCCA安全的可验证外包解密的ABE通用结构(Mao X,Lai J,Mei Q,et al.Generic and Efficient Constructions of Attribute-Based Encryptionwith Verifiable Outsourced Decryption[J].IEEE Transactions on Dependable&Secure Computing,2016,13(5):533-546.),然而该方案也没有提供一种一定时间内可限制用户访问次数的细粒度访问控制方式;最近有学者基于Rouselakis和Waters的素数阶CP-ABE方案以及可验证随机函数,提出了一个可验证外包解密正确性的CP-ABE方案(J.Ning,Z.Cao,X.Dong,et al.Auditableσ-Time Outsourced Attribute-BasedEncryption for Access Control in Cloud Computing[J].IEEE Transactions onInformation Forensics and Security,2018,13(1):94–105.),该方案还可限制用户在一定时间内的访问次数,但是,该方案需要由可信第三方执行验证程序。
综上所述,上述方案要么不支持一定时间内的有限访问次数,要么需要一个可信第三方来验证外包解密的正确性,要么计算效率太低或开销太大,不能同时支持一定时间内有限次数的访问控制和外包解密的高效公开验证。因此,研究同时支持一定时间内有限次数的访问控制和外包解密的高效公开验证的解决方法便成为一个热点问题。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种一定时间内可限制访问次数的云存储外包解密属性基加密方法,该方法利用可验证随机函数(Verifiable RandomFunction,VRF)限制用户的访问次数,利用外包计算技术将用户端的解密运算外包给云端执行,利用密钥盲化技术实现安全的解密外包服务,利用密码学哈希函数生成的验证令牌验证外包解密的正确性,实现了属性基加密中外包解密正确性的公开验证。
本发明的目的通过以下的技术方案实现:一种可限制访问次数的云存储外包解密属性基加密方法,包括步骤:
属性授权机构生成系统公共参数,并且根据用户属性生成解密密钥;
数据拥有者根据访问策略加密分享数据,并将密文上传到云服务器供数据使用者共享;
云服务器用来存储数据拥有者上传的密文数据,根据数据使用者提供的转换密钥提供外包解密服务,并且返回转换密文给数据使用者;
数据使用者根据属性授权机构分发的解密密钥生成相应的转换密钥,需要外包解密服务时将转换密钥外包给云服务器,并且对云服务器返回的转换密文进行外包解密验证;在转换密钥生成阶段利用当前状态信息以及可验证随机函数实现数据使用者在一定时间内有限次数的细粒度访问控制;在数据加密阶段,利用密钥提取函数和密码学哈希函数生成的验证令牌实现外包解密结果正确性的公开验证。
具体的,所述方法包括步骤:
(1)属性授权机构初始化:根据安全参数λ和系统属性全集U,计算系统公共参数pp和系统主密钥msk;
(2)云服务器初始化:根据系统公共参数pp,计算云服务器的公钥ppc和私钥skc
(3)用户初始化:根据系统公共参数pp,计算数据使用者的公钥ppu和私钥sku
(4)生成解密密钥:属性授权机构根据系统公共参数pp、系统主密钥msk、云服务器的公钥ppc、数据使用者的公钥ppu和对应于数据使用者的属性集S,计算与属性集S相关联的解密密钥skS
(5)生成转换密钥:数据使用者根据系统公共参数pp、解密密钥skS、数据使用者的私钥sku和当前状态信息csi,计算与属性集S和当前状态信息csi相关联的转换密钥tkS
(6)数据加密:数据拥有者根据系统公共参数pp、明文数据m和访问结构(M,ρ),计算与访问结构(M,ρ)相关联的外包密文ct和封装密钥key;
(7)外包解密:云服务器根据系统公共参数pp、与访问结构(M,ρ)相关联的外包密文ct和与属性集S相关联的转换密钥tkS,如果属性集S满足访问结构(M,ρ)且j≤σ,其中,j代表当前解密请求是第j次解密请求,σ是一段时期内允许请求解密的最大数目,得到转换密文tc,否则,输出⊥表示解密失败;
(8)用户解密验证:数据使用者根据系统公共参数pp、转换密文tc和数据使用者的私钥sku,计算封装密钥key和密钥种子ck,然后验证等式Token=H1(H0(ck)||ctSE)是否成立,若等式成立,则云服务器解密正确,使用对称密钥sk=H'(ck)解密密文ctSE,得到封装密钥key和数据明文m,若等式不成立,输出⊥。
优选的,所述步骤(1)属性授权机构初始化,方法是:
输入安全参数λ∈N和系统属性全集U=Zp;调用群发生器算法θ(1λ),得到群和双线性映射的描述D,即θ(1λ)→D=(e,p,G,GT);随机选择g,h,u,υ,ω∈G,α∈Zp和一个对称加密方案SE=(SE.Enc,SE.Dec),其中,g为G的生成元,h,u,υ,ω为G的随机元素;计算E=e(g,g),并构建哈希函数H:{0,1}*→Zp、H0:
Figure BDA0001903964830000041
H1:
Figure BDA0001903964830000042
以及安全的密钥提取函数H';设置系统公共参数pp=(D,g,h,u,υ,ω,e(g,g)α,E,H,H0,H1,H',SE),系统主密钥msk=α。
优选的,所述步骤(2)云服务器初始化,方法是:
输入系统公共参数pp;随机选择yc∈Zp,公开云服务器的公钥
Figure BDA0001903964830000043
并设置私钥skc=yc;此外,初始化当前外包解密服务计数器ctr=0和对应于每个潜在的转换密钥的空集ST,并使用一个列表来保存ctr和ST。
优选的,所述步骤(3)用户初始化,方法是:
输入系统公共参数pp;随机选择zu∈Zp,然后公开数据使用者的公钥
Figure BDA0001903964830000044
并设置私钥sku=zu
优选的,所述步骤(4)生成解密密钥,方法是:
输入系统公共参数pp、系统主密钥msk、云服务器公钥ppc、用户公钥ppu和对应于用户的属性集S;随机选择k个指数{rτ}τ∈[k]∈Zp,k是用户属性集S中的属性个数,[k]={1,2,…,k},另外随机选择2个指数β、r,其中,{rτ}τ∈[k]∈Zp,τ∈[k]表示τ的取值范围是1到k;{rτ}τ∈[k]∈Zp表示k个指数{r1,r2,…,rk}是从Zp中选择出来的,然后计算K0=Zu αYc βωr、K1=gβ、K2=gr
Figure BDA0001903964830000045
Aτ表示第τ个属性,最后,输出与属性集S相关联的解密密钥skS=(S,K0,K1,K2,{Kτ,3,Kτ,4}τ∈[k])。
优选的,所述步骤(5)生成转换密钥,方法是:
输入系统公共参数pp、与属性集S相关联的解密密钥skS、数据使用者的私钥sku和当前状态信息csi;计算
Figure BDA0001903964830000051
Figure BDA0001903964830000052
返回与属性集S相关联的转换密钥tkS=(skS,Kc,Kp,csi)。
优选的,所述步骤(6)数据加密,方法是:
输入系统公共参数pp、明文数据m和访问结构(M,ρ),m∈GT;数据拥有者随机选择密钥种子ck∈GT,计算对称密钥sk=H'(ck),数据密文ctSE=SE.Enc(sk,m),验证令牌Token=H1(H0(ck)||ctSE);随机选择n个数s,x2,…,xn∈Zp,生成一个n维向量
Figure BDA0001903964830000053
计算向量
Figure BDA0001903964830000054
作为秘密s的分享值,随机选择l个指数{tτ}τ∈[l]∈Zp,计算C=ck·e(g,g)αs、C0=gs
Figure BDA0001903964830000055
输出外包密文
Figure BDA0001903964830000056
和封装密钥key=e(g,g)αs
优选的,所述步骤(7)外包解密,方法是:
输入系统公共参数pp、转换密钥tkS=(skS,Kc,Kp,csi)和外包密文ct;
如果属性集S不满足访问结构(M,ρ),算法输出⊥,表示解密失败,否则,从列表L得到对应于tkS的元组(ctr,ST),并且按如下工作:
(7-1)检查下列条件是否都成立:
①e(gH(csi)·Zu,Kp)=E并且Kc=e(g,Kp),
②ctr+1≤σ,
Figure BDA00019039648300000510
如果上述3个条件不成立,输出⊥,否则,执行流程转向(7-2);
(7-2)令ctr加1,并且把Kc存进ST以备日后使用;令I={i:p(i)∈S},计算常量{ωi∈Zp}i∈I使得
Figure BDA0001903964830000057
其中
Figure BDA0001903964830000058
是矩阵M的第i行,然后计算
Figure BDA0001903964830000059
输出转换密文tc=((M,ρ),C',ctSE,C,Token)。
优选的,所述步骤(8)用户解密验证,方法是:
输入系统公共参数pp、转换密文tc=((M,ρ),C',ctSE,C,Token)和数据使用者私钥sku=zu;计算密钥种子
Figure BDA0001903964830000061
验证等式H1(H0(ck)||ctSE)=Token是否成立,若等式不成立,则云服务器解密不正确,输出⊥,若等式成立,则表示云服务器解密正确,计算对称密钥sk=H'(ck),计算m=SE.Dec(sk,ctSE)得到明文。
现有的可验证外包解密正确性的CP-ABE方案,要么没有实现可限制访问次数的外包解密服务(在一定时间内),要么没有实现外包解密正确性的公开验证,本发明与现有技术相比,具有如下优点和有益效果:
1、一定时间内可限制访问次数的外包解密服务。通过检测数据使用者是否已经用完了他对某一个加密文件的访问次数来实现,如果是,那么即使他的属性集满足加密文件的访问策略,他的访问权限也会变为过期失效状态。另外,该访问控制机制还是匿名的,即云服务器不能识别出当前访问者的身份。
2、外包解密正确性的公开验证。本发明不仅可以验证云服务器外包解密的正确与否,还可以在用户端执行验证程序,而不需要第三方的审计验证机构。在加密阶段,数据拥有者利用密钥种子和数据密文生成哈希值作为数据的验证令牌,在解密阶段,数据使用者用验证令牌验证云服务器解密结果的正确性。
3、安全的外包解密服务。通过密钥盲化技术,在转换密钥生成阶段同时利用云服务器密钥和用户私钥盲化转换密钥,云服务器利用转换密钥解密密文获得转换密文,然而云服务器却看不到其中的敏感信息,因为转换密文被用户私钥所隐藏了。
附图说明
图1是本发明所述的一种可限制访问次数的云存储外包解密属性基加密方法的系统模型图。
图2是本发明所述的一种可限制访问次数的云存储外包解密属性基加密方法的系统流程图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
本发明实施例提供了一种一定时间内可限制访问次数的云存储外包解密属性基加密方法,该方法利用可验证随机函数限制用户的访问次数,利用外包计算技术将用户端的解密运算外包给云端执行,利用密钥盲化技术实现安全的解密外包服务,利用密码学哈希函数生成的验证令牌验证外包解密的正确性,实现了属性基加密中外包解密正确性的公开验证。
本发明中的云存储数据共享系统涉及4个实体:属性授权机构、数据拥有者、云服务器和数据使用者,参见图1,属性授权机构用来生成系统公共参数,并且根据用户属性生成解密密钥;数据拥有者根据访问策略加密分享数据,并将密文上传到云服务器供数据使用者共享;云服务器用来存储数据拥有者上传的密文数据,根据数据使用者提供的转换密钥提供外包解密服务,并且返回转换密文给数据使用者;数据使用者根据属性授权机构分发的解密密钥生成相应的转换密钥,需要外包解密服务时将转换密钥外包给云服务器,并且对云服务器返回的转换密文进行外包解密验证。
下面依托上述4个实体对象,结合图1、2对本发明可限制访问次数的云存储外包解密属性基加密方法进行具体说明。
首先给出本发明中涉及到的各符号的含义:
θ(1λ):群发生器算法;
G、GT:两个阶为素数p的乘法循环群;
g:G的生成元;
e:G×G→GT:双线性映射;
U=Zp:U是系统属性全集,Zp是模p构成的有限域{0,1,2,…,p-1};
H:{0,1}*→Zp:哈希函数,任意长的0、1串映射到Zp中的一个元素;
H0:
Figure BDA0001903964830000071
哈希函数,GT中的元素映射成固定长为
Figure BDA0001903964830000072
的0、1串;
H1:
Figure BDA0001903964830000073
哈希函数,任意长的0、1串映射成固定长为
Figure BDA0001903964830000074
的0、1串;
H':一个安全的密钥提取函数;
SE=(SE.Enc,SE.Dec):密钥空间为
Figure BDA0001903964830000081
的对称加密方案,其中,SE.Enc表示加密算法,SE.Dec表示解密算法;
ctr:当前外包解密服务计数器;
ST:对应于每个(潜在的)转换密钥的集合;
[n]={1,2,…,n}:1到n的集合;
(M,ρ):一个LSSS访问结构,其中M是一个l×n阶的矩阵,ρ是{1,2,…,n}到Zp的映射,即矩阵M的一行映射到一个属性;
csi:当前状态信息;
VRF:可验证随机函数;
σ:一段时间内允许请求外包解密的最大数目。
整个方案的构造步骤实施如下:
(1)属性授权机构初始化:Setup(λ,U)→(pp,msk)。
输入安全参数λ∈N和系统属性全集U=Zp,N表示自然数集合,即{0,1,2,…}。
首先,Setup算法调用群发生器算法θ(1λ),得到群和双线性映射的描述D,即θ(1λ)→D=(e,p,G,GT)。
然后,Setup算法随机选择g,h,u,υ,ω∈G、α∈Zp和一个对称加密方案SE=(SE.Enc,SE.Dec),其中,g为G的生成元,h,u,υ,ω为G的随机元素,计算E=e(g,g),构建哈希函数H:{0,1}*→Zp、H0:
Figure BDA0001903964830000082
H1:
Figure BDA0001903964830000083
以及安全的密钥提取函数H'。
最后,系统公共参数设置为pp=(D,g,h,u,υ,ω,e(g,g)α,E,H,H0,H1,H',SE),系统主密钥设置为msk=α。
(2)云服务器初始化:SetupC(pp)→(ppc,skc)。
输入系统公共参数pp。首先,SetupC算法随机选择yc∈Zp,然后公开云服务器的公钥
Figure BDA0001903964830000084
并设置私钥skc=yc
此外,SetupC算法初始化当前外包解密服务计数器ctr=0和对应于每个(潜在的)转换密钥的空集ST,并使用一个列表来保存ctr和ST。
(3)用户初始化:SetupU(pp)→(ppu,sku)。
输入系统公共参数pp。首先,SetupU算法随机选择zu∈Zp,然后公开数据使用者的公钥
Figure BDA0001903964830000085
并设置私钥sku=zu
(4)生成解密密钥:
Figure BDA0001903964830000091
输入系统公共参数pp、系统主密钥msk、云服务器公钥ppc、用户公钥ppu和对应于用户的属性集S。首先,KeyGen算法随机选择k个指数{rτ}τ∈[k]∈Zp,k是用户属性集S中的属性个数,[k]={1,2,…,k},另外随机选择2个指数β、r,其中,{rτ}τ∈[k]∈Zp,τ∈[k]表示τ的取值范围是1到k;{rτ}τ∈[k]∈Zp表示k个指数{r1,r2,…,rk}是从Zp中选择出来的,然后计算K0=Zu αYc βωr、K1=gβ、K2=gr
Figure BDA0001903964830000092
Aτ表示第τ个属性,最后输出与属性集S相关联的解密密钥skS=(S,K0,K1,K2,{Kτ,3,Kτ,4}τ∈[k])。
(5)生成转换密钥:KeyGenout(pp,skS,sku,csi)→tkS
输入系统公共参数pp、与属性集S相关联的解密密钥skS、用户私钥sku和当前状态信息csi,其中,csi是一个描述当前状态的独特的字符串,它可能包含当前时间、当前IP地址以及一些其他信息。首先,KeyGenout算法计算
Figure BDA0001903964830000093
Figure BDA0001903964830000094
其中,Kc是csi的VRF输出,Kp是这个输出的相应的正确性证明,然后返回与属性集S相关联的转换密钥tkS=(skS,Kc,Kp,csi)。
(6)数据加密:Encrypt(pp,m,(M,ρ))→(ct,key)。
输入系统公共参数pp、明文数据m∈GT和访问结构(M,ρ)。
首先,数据拥有者随机选择密钥种子ck∈GT,计算对称密钥sk=H'(ck),使用对称密钥sk加密明文数据m生成数据密文ctSE,即ctSE=SE.Enc(sk,m),计算验证令牌Token=H1(H0(ck)||ctSE)。
然后,随机选择n个数s,x2,…,xn∈Zp,生成一个n维向量
Figure BDA0001903964830000095
计算向量
Figure BDA0001903964830000096
作为秘密s的分享值,
接着随机选择l个指数{tτ}τ∈[l]∈Zp,计算C=ck·e(g,g)αs、C0=gs
Figure BDA0001903964830000097
Figure BDA0001903964830000098
最后输出外包密文
Figure BDA0001903964830000099
和封装密钥key=e(g,g)αs
(7)外包解密:Decryptout(pp,ct,tkS)→tc or⊥。
输入系统公共参数pp、与属性集S相关联的转换密钥tkS=(skS,Kc,Kp,csi)和外包密文
Figure BDA00019039648300000910
如果属性集S不满足访问结构(M,ρ),算法输出⊥,否则,从列表L得到对应于tkS的元组(ctr,ST),并且按如下工作:
(7-1)检查下列条件是否都成立:
①e(gH(csi)·Zu,Kp)=E并且Kc=e(g,Kp);
②ctr+1≤σ,其中σ是外包解密服务请求的最大次数(该数由密文上的访问结构(M,ρ)或转换密钥的角色决定);
Figure BDA0001903964830000101
如果上述3个条件不成立,输出⊥,否则,执行流程转向(7-2)。
(7-2)更新ctr←ctr+1的值,并且把Kc存进ST以备日后使用。令I={i:p(i)∈S},计算常量{ωi∈Zp}i∈I使得
Figure BDA0001903964830000102
其中
Figure BDA0001903964830000103
是矩阵M的第i行,然后计算
Figure BDA0001903964830000104
最后输出转换密文tc=((M,ρ),C',ctSE,C,Token)。
(8)用户解密验证:DecryptU(pp,tc,sku)→(key,m)or⊥。
输入系统公共参数pp、转换密文tc=((M,ρ),C',ctSE,C,Token)和数据使用者私钥sku=zu。首先,计算密钥种子
Figure BDA0001903964830000105
然后验证等式H1(H0(ck)||ctSE)=Token是否成立,若等式不成立,则云服务器解密不正确,输出⊥,若等式成立,则表示云服务器解密正确,计算对称密钥sk=H'(ck),使用sk解密数据密文ctSE得到数据明文m,即m=SE.Dec(sk,ctSE)。
可通过各种手段实施本发明描述的技术。举例来说,这些技术可实施在硬件、固件、软件或其组合中。对于硬件实施方案,处理模块可实施在一个或一个以上专用集成电路(ASIC)、数字信号处理器(DSP)、可编程逻辑装置(PLD)、现场可编辑逻辑门阵列(FPGA)、处理器、控制器、微控制器、电子装置、其他经设计以执行本发明所描述的功能的电子单元或其组合内。
对于固件和/或软件实施方案,可用执行本文描述的功能的模块(例如,过程、步骤、流程等)来实施所述技术。固件和/或软件代码可存储在存储器中并由处理器执行。存储器可实施在处理器内或处理器外部。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (7)

1.一种可限制访问次数的云存储外包解密属性基加密方法,其特征在于,包括步骤:
属性授权机构生成系统公共参数,并且根据用户属性生成解密密钥;
数据拥有者根据访问策略加密分享数据,并将密文上传到云服务器供数据使用者共享;
云服务器用来存储数据拥有者上传的密文数据,根据数据使用者提供的转换密钥提供外包解密服务,并且返回转换密文给数据使用者;
数据使用者根据属性授权机构分发的解密密钥生成相应的转换密钥,需要外包解密服务时将转换密钥外包给云服务器,并且对云服务器返回的转换密文进行外包解密验证;在转换密钥生成阶段利用当前状态信息以及可验证随机函数实现数据使用者在一定时间内有限次数的细粒度访问控制;在数据加密阶段,利用密钥提取函数和密码学哈希函数生成的验证令牌实现外包解密结果正确性的公开验证;
属性授权机构初始化:根据安全参数λ和系统属性全集U,计算系统公共参数pp和系统主密钥msk,具体为:
输入安全参数λ∈N和系统属性全集U=Zp;调用群发生器算法θ(1λ),得到群和双线性映射的描述D,即θ(1λ)→D=(e,p,G,GT),其中,e为双线性映射,G、GT为两个阶为素数p的乘法循环群;随机选择g,h,u,υ,ω∈G,α∈Zp和一个对称加密方案SE=(SE.Enc,SE.Dec),其中,g为G的生成元,h,u,υ,ω为G的随机元素;SE=(SE.Enc,SE.Dec)表示密钥空间为
Figure FDA0003480812420000013
的对称加密方案;SE.Enc表示加密算法,SE.Dec表示解密算法;计算E=e(g,g),e为双线性映射,并构建哈希函数H:{0,1}*→Zp、H0:
Figure FDA0003480812420000011
H1:
Figure FDA0003480812420000012
以及安全的密钥提取函数H';设置系统公共参数pp=(D,g,h,u,υ,ω,e(g,g)α,E,H,H0,H1,H',SE),系统主密钥msk=α;
外包解密:云服务器根据系统公共参数pp、与访问结构(M,ρ)相关联的外包密文ct和与属性集S相关联的转换密钥tkS,如果属性集S满足访问结构(M,ρ)且j≤σ,其中,(M,ρ)为一个LSSS访问结构,其中M是一个l×n阶的矩阵,ρ是{1,2,…,n}到Zp的映射,即矩阵M的一行映射到一个属性;j代表当前解密请求是第j次解密请求,σ是一段时期内允许请求解密的最大数目,得到转换密文tc,否则,输出⊥表示解密失败,具体为:
输入系统公共参数pp、转换密钥tkS=(skS,Kc,Kp,csi)和外包密文ct,其中Kc是csi的VRF输出,Kp是这个输出的相应的正确性证明,csi是一个描述当前状态的独特的字符串;如果属性集S不满足访问结构(M,ρ),算法输出⊥,否则,从列表L得到对应于tkS的元组(ctr,ST),ctr为当前外包解密服务计数器,ST为对应于每个潜在的转换密钥的集合,并检查下列条件是否都成立:①e(gH(csi)·Zu,Kp)=E并且Kc=e(g,Kp),H(csi)是哈希函数,表示将当前状态信息csi映射到Zp中的一个元素,Zu为数据使用者的公钥,②ctr+1≤σ,③
Figure FDA0003480812420000021
如果上述3个条件不成立,输出⊥,否则,令ctr加1,并且把Kc存进ST以备日后使用;令I={i:ρ(i)∈S},S为用户拥有的属性集,计算常量{ωi∈Zp}i∈I使得
Figure FDA0003480812420000022
其中
Figure FDA0003480812420000023
是矩阵M的第i行,然后计算
Figure FDA0003480812420000024
Figure FDA0003480812420000025
输出转换密文tc=((M,ρ),C',ctSE,C,Token),其中,ctSE为使用对称密钥sk加密明文数据m生成的数据密文,Token为验证令牌;
用户解密验证:数据使用者根据系统公共参数pp、转换密文tc和数据使用者的私钥sku,计算封装密钥key和密钥种子ck,然后验证等式Token=H1(H0(ck)||ctSE)是否成立,若等式成立,则云服务器解密正确,使用对称密钥sk=H'(ck)解密密文ctSE,得到封装密钥key和数据明文m,若等式不成立,输出⊥;具体为:
输入系统公共参数pp、转换密文tc=((M,ρ),C',ctSE,C,Token)和数据使用者私钥sku=zu;计算密钥种子
Figure FDA0003480812420000026
验证等式H1(H0(ck)||ctSE)=Token是否成立,若等式不成立,则云服务器解密不正确,输出⊥,若等式成立,则表示云服务器解密正确,计算对称密钥sk=H'(ck),计算m=SE.Dec(sk,ctSE)得到明文。
2.根据权利要求1所述的一种可限制访问次数的云存储外包解密属性基加密方法,其特征在于,包括如下步骤:
(1)云服务器初始化:根据系统公共参数pp,计算云服务器的公钥ppc和私钥skc
(2)用户初始化:根据系统公共参数pp,计算数据使用者的公钥ppu和私钥sku
(3)生成解密密钥:属性授权机构根据系统公共参数pp、系统主密钥msk、云服务器的公钥ppc、数据使用者的公钥ppu和对应于数据使用者的属性集S,计算与属性集S相关联的解密密钥skS
(4)生成转换密钥:数据使用者根据系统公共参数pp、解密密钥skS、数据使用者的私钥sku和当前状态信息csi,计算与属性集S和当前状态信息csi相关联的转换密钥tkS
(5)数据加密:数据拥有者根据系统公共参数pp、明文数据m和访问结构(M,ρ),计算与访问结构(M,ρ)相关联的外包密文ct和封装密钥key。
3.根据权利要求2所述的一种可限制访问次数的云存储外包解密属性基加密方法,其特征在于,所述步骤(1)云服务器初始化,方法是:
输入系统公共参数pp;随机选择yc∈Zp,公开云服务器的公钥
Figure FDA0003480812420000031
并设置私钥skc=yc;此外,初始化当前外包解密服务计数器ctr=0和对应于每个潜在的转换密钥的空集ST,并使用一个列表来保存ctr和ST。
4.根据权利要求3所述的一种可限制访问次数的云存储外包解密属性基加密方法,其特征在于,所述步骤(2)用户初始化,方法是:
输入系统公共参数pp;随机选择zu∈Zp,然后公开数据使用者的公钥
Figure FDA0003480812420000032
并设置私钥sku=zu
5.根据权利要求4所述的一种可限制访问次数的云存储外包解密属性基加密方法,其特征在于,所述步骤(3)生成解密密钥,方法是:
输入系统公共参数pp、系统主密钥msk、云服务器公钥ppc、用户公钥ppu和对应于用户的属性集S;随机选择k个指数{rτ}τ∈[k]∈Zp,k是用户属性集S中的属性个数,[k]={1,2,…,k},另外随机选择2个指数β、r,其中,{rτ}τ∈[k]∈Zp,τ∈[k]表示τ的取值范围是1到k;{rτ}τ∈[k]∈Zp表示k个指数{r1,r2,…,rk}是从Zp中选择出来的,然后计算K0=Zu αYc βωr、K1=gβ、K2=gr
Figure FDA0003480812420000041
Aτ表示第τ个属性,最后,输出与属性集S相关联的解密密钥skS=(S,K0,K1,K2,{Kτ,3,Kτ,4}τ∈[k])。
6.根据权利要求5所述的一种可限制访问次数的云存储外包解密属性基加密方法,其特征在于,所述步骤(4)生成转换密钥,方法是:
输入系统公共参数pp、与属性集S相关联的解密密钥skS、数据使用者的私钥sku和当前状态信息csi;计算
Figure FDA0003480812420000042
Figure FDA0003480812420000043
返回与属性集S相关联的转换密钥tkS=(skS,Kc,Kp,csi)。
7.根据权利要求6所述的一种可限制访问次数的云存储外包解密属性基加密方法,其特征在于,所述步骤(5)数据加密,方法是:
输入系统公共参数pp、明文数据m和访问结构(M,ρ),m∈GT;数据拥有者随机选择密钥种子ck∈GT,计算对称密钥sk=H'(ck),数据密文ctSE=SE.Enc(sk,m),验证令牌Token=H1(H0(ck)||ctSE);随机选择n个数s,x2,…,xn∈Zp,生成一个n维向量
Figure FDA0003480812420000044
计算向量
Figure FDA0003480812420000045
作为秘密s的分享值,随机选择l个指数{tτ}τ∈[l]∈Zp,计算C=ck·e(g,g)αs、C0=gs
Figure FDA0003480812420000046
Figure FDA0003480812420000047
输出外包密文
Figure FDA0003480812420000048
和封装密钥key=e(g,g)αs
CN201811524155.XA 2018-12-13 2018-12-13 一种可限制访问次数的云存储外包解密属性基加密方法 Active CN109639677B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811524155.XA CN109639677B (zh) 2018-12-13 2018-12-13 一种可限制访问次数的云存储外包解密属性基加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811524155.XA CN109639677B (zh) 2018-12-13 2018-12-13 一种可限制访问次数的云存储外包解密属性基加密方法

Publications (2)

Publication Number Publication Date
CN109639677A CN109639677A (zh) 2019-04-16
CN109639677B true CN109639677B (zh) 2022-03-15

Family

ID=66073499

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811524155.XA Active CN109639677B (zh) 2018-12-13 2018-12-13 一种可限制访问次数的云存储外包解密属性基加密方法

Country Status (1)

Country Link
CN (1) CN109639677B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110443069B (zh) * 2019-08-06 2023-07-25 广东工业大学 一种移动社交网络隐私保护的方法、系统及设备
CN110460604B (zh) * 2019-08-15 2022-05-06 广东工业大学 一种云存储加密、解密和验证方法及系统
CN110826089B (zh) * 2019-12-12 2020-06-30 四川大学 一种实现大尺度矩阵乘法安全高效的可验证外包计算方法、客户端及云计算系统
CN110995430B (zh) * 2019-12-24 2021-04-27 电子科技大学 一种基于属性加密的支持无效密文检测的外包解密方法
CN111431897B (zh) * 2020-03-23 2022-05-10 齐鲁工业大学 用于云协助物联网的带追踪的多属性机构属性基加密方法
CN111611615A (zh) * 2020-05-05 2020-09-01 山东同智伟业软件股份有限公司 一种可打印文件授权查阅的方法
CN113626831B (zh) * 2020-05-08 2024-04-30 西安电子科技大学 一种云中支持隐私保护和解密的cp-abe方法
CN112487408B (zh) * 2020-12-24 2022-08-23 潍柴动力股份有限公司 用于车内ecu的安全访问方法、系统及存储介质
CN112769836B (zh) * 2021-01-13 2022-06-21 山东师范大学 基于隐藏策略属性基加密的好友推荐系统及方法
CN112699395B (zh) * 2021-01-14 2023-06-06 暨南大学 细粒度访问控制的可追责的基于属性的匿名认证方法
CN113098681B (zh) * 2021-03-05 2022-03-15 电子科技大学 云存储中口令增强且可更新的盲化密钥管理方法
CN113079177B (zh) * 2021-04-15 2022-05-31 河南大学 一种基于时间及解密次数限制的遥感数据共享方法
CN114024686B (zh) * 2021-11-03 2023-09-26 北京邮电大学 基于区块链的智慧社区物联网信息共享模型
CN114205379A (zh) * 2021-11-26 2022-03-18 江苏大学 一种基于ndn的cp-abe外包解密结果重用方法
CN114615043A (zh) * 2022-03-08 2022-06-10 安顺职业技术学院 一种基于时间带关键字搜索的外包属性基加密的方法
CN114826759B (zh) * 2022-05-11 2023-10-03 贵州大学 一种可验证的细粒度访问控制内积函数加密方法
CN116318647B (zh) * 2022-12-15 2023-12-29 杭州后量子密码科技有限公司 一种具有同态特性的cp-abe外包解密方法和装置
CN116684062A (zh) * 2023-06-08 2023-09-01 东莞理工学院 基于代理重加密的云计算外包和数据动态分享方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9049023B2 (en) * 2011-05-24 2015-06-02 Zeutro Llc Outsourcing the decryption of functional encryption ciphertexts
CN102769620B (zh) * 2012-07-19 2017-09-26 广州大学 一种安全外包的基于属性的加密方法
CN104022868A (zh) * 2014-02-18 2014-09-03 杭州师范大学 一种基于密文策略的属性基加密的外包解密方法
CN104486315B (zh) * 2014-12-08 2017-06-13 北京航空航天大学 一种基于内容属性的可撤销密钥外包解密方法
CN106209354A (zh) * 2016-06-28 2016-12-07 电子科技大学 一种支持属性隐藏的可验证属性基加密外包方案

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Attribute-Based Encryption With Efficient Verifiable Outsourced Decryption;Baodong Qin;《IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY》;20150731;正文第2-8页 *
Auditable σ-Time Outsourced Attribute-Based Encryption for Access Control in Cloud Computing;Jianting Ning;《IEEE Transactions on Information Forensics and Security》;20180131;正文第4-9页 *
高效且可验证的多授权机构属性基加密方案;仲红;《软件学报》;20180731;正文第4-7页 *

Also Published As

Publication number Publication date
CN109639677A (zh) 2019-04-16

Similar Documents

Publication Publication Date Title
CN109639677B (zh) 一种可限制访问次数的云存储外包解密属性基加密方法
Li et al. Full verifiability for outsourced decryption in attribute based encryption
CN108292402B (zh) 用于信息的安全交换的公共秘密的确定和层级确定性密钥
CN109831430B (zh) 一种云计算环境下的安全可控高效的数据共享方法及系统
CN108881314B (zh) 雾计算环境下基于cp-abe密文隐私保护方法及系统
CN106487506B (zh) 一种支持预加密和外包解密的多机构kp-abe方法
EP4007983A1 (en) Systems and methods for generating signatures
CN110933033B (zh) 智慧城市环境下多物联网域的跨域访问控制方法
CN110390203B (zh) 一种可验证解密权限的策略隐藏属性基加密方法
CN107425971B (zh) 无证书的数据加/解密方法和装置、终端
CN109691010B (zh) 用于数据传输的系统和方法
CN112163854B (zh) 一种层级化基于区块链公钥可搜索加密方法及系统
CN109327304A (zh) 一种云计算中实现隐私保护的轻量级同态加密方法
CN114219483B (zh) 基于lwe-cpabe的区块链数据共享方法、设备和存储介质
Liu et al. Offline/online attribute‐based encryption with verifiable outsourced decryption
KR20210063378A (ko) 공통 비밀을 공유하는 컴퓨터 구현 시스템 및 방법
CN113434875A (zh) 一种基于区块链的轻量化访问方法及系统
Nasiraee et al. Privacy-preserving distributed data access control for cloudiot
Zhou et al. Bldss: A blockchain-based lightweight searchable data sharing scheme in vehicular social networks
CN113360944A (zh) 一种电力物联网的动态访问控制系统与方法
CN114629640B (zh) 一种解决密钥托管问题的白盒可追责属性基加密系统及其方法
CN109768969A (zh) 权限控制方法及物联网终端、电子设备
JP5651609B2 (ja) 検索可能暗号システム、検索装置、計算装置、及びプログラム
CN113779593A (zh) 一种基于身份的双服务器授权密文等值判定方法
CN113034276A (zh) 一种区块链隐私交易解决方法

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