可穿刺的密文策略基于属性加密方案

杨冬梅 ,  胡学先 ,  魏江宏 ,  巴阳 ,  陈越

信息工程大学学报 ›› 2026, Vol. 27 ›› Issue (4) : 406 -413.

PDF (1290KB)
信息工程大学学报 ›› 2026, Vol. 27 ›› Issue (4) : 406 -413. DOI: 10.3969/j.issn.1671-0673.2026.04.004
网络空间安全

可穿刺的密文策略基于属性加密方案

作者信息 +

Puncturable Ciphertext-Policy Attribute-Based Encryption Scheme

Author information +
文章历史 +
PDF (1320K)

摘要

针对传统前向安全的基于属性加密(ABE)方案在实际可用性与密钥更新效率方面存在的不足,提出一种可穿刺的密文策略基于属性加密(P-CP-ABE)方案。首先,基于可穿刺公钥加密体制思想,给出P-CP-ABE方案的形式化定义与安全模型;随后,基于布隆过滤器,构造一个具体的P-CP-ABE方案。在判定性l-BDHE (l-Bilinear Diffie-Hellman Exponent)假设下,证明了所提方案在标准模型下满足选择性前向安全性。性能分析与仿真实验结果表明,该方案显著提升了密钥更新效率,实现了更具实用性的细粒度前向安全性,为数据加密与细粒度访问控制提供了高效、安全的新方法。

Abstract

To address the shortcomings of traditional forward-secure attribute-based encryption (ABE) scheme in terms of practical availability and private key update efficiency, a puncturable ciphertext-policy attribute-based encryption (P-CP-ABE) scheme is proposed. Firstly, the syntax and security model of P-CP-ABE based on the idea of puncturable public-key encryption are presented. Then, a concrete P-CP-ABE scheme based on a Bloom filter is constructed. Under the decisional l-BDHE (l-Bilinear Diffie-Hellman Exponent) assumption, the proposed scheme is proven to achieve selective forward security in the standard model. The performance analysis and simulation results demonstrate that private key update efficiency is significantly improved and more practical fine-grained forward security is realized by using the scheme. An efficient and secure approach for data encryption and fine-grained access control is provided by using the proposed scheme.

Graphical abstract

关键词

私钥泄露 / 前向安全 / 基于属性加密 / 可穿刺加密 / 布隆过滤器

Key words

private key leakage / forward security / attribute-based encryption / puncturable encryption / Bloom filter

引用本文

引用格式 ▾
杨冬梅,胡学先,魏江宏,巴阳,陈越. 可穿刺的密文策略基于属性加密方案[J]. 信息工程大学学报, 2026, 27(4): 406-413 DOI:10.3969/j.issn.1671-0673.2026.04.004

登录浏览全文

4963

注册一个新账户 忘记密码

云计算、物联网等领域的高速发展,持续推动数据共享与交互场景的深度拓展,数据隐私保护与访问安全已成为该领域发展中亟待解决的核心问题。传统公钥加密体制采用一对一密钥管控模式,加密方需针对每个接收方独立生成密文,难以满足多用户、多场景下的细粒度访问控制需求。Sahai等[1]提出的基于属性加密(Attribute‑Based Encryption, ABE)体制,为破解该难题提供了有效技术路径。ABE技术依托访问结构实现数据加密,仅当用户属性满足密文对应的访问结构时才可正常解密,以此实现灵活的访问控制。此后,Goyal等[2]将ABE体制分为密文策略ABE(Ciphertext-Policy ABE, CP-ABE)与密钥策略ABE(Key-Policy ABE, KP-ABE)两类,其中CP-ABE的用户私钥与自身属性相关、密文与访问结构相关,KP-ABE则与之相反。围绕丰富访问结构、增强安全性能、提升运行效率等方面,密码学领域相继提出了诸多改进的ABE方案[3-6]。传统ABE方案的安全性均建立在用户私钥绝对安全的前提假设之上,而现阶段网络攻击手段日趋多样化、移动电子设备大范围普及,导致私钥泄露事件频发。攻击者可利用泄露的私钥,解密该用户属性权限范围内的所有密文,大幅降低了ABE方案在高安全需求场景中的实际适用性。
为解决私钥泄露带来的安全问题,Anderson[7]首次在公钥密码体制中引入前向安全思想。受该思想启发,研究者相继提出一系列前向安全的签名方案[8-11]。Canetti等[12]结合分层的身份基加密[13]提出前向安全构造方法,采用二叉树结构对用户密钥与时间周期进行统一管理。该方法将用户私钥的全生命周期划分为T个离散时间周期,并映射至一棵完全二叉树中,每个时间周期与树中唯一叶子节点相对应;用户私钥随时间周期动态更新,且及时删除当前周期的私钥,保证不同时间周期内私钥的唯一性,同时保持公钥固定不变,以此实现前向安全性。该方法被广泛应用于前向安全的属性基密码体制的设计中[14]。基于该方法,文献[15]和文献[16]相继设计了前向安全的CP-ABE方案和前向安全的身份基签名方案;Oh等[17]则提出了全系统前向安全的身份基签名方案。
针对粗粒度前向安全的固有局限性,Green等[18]提出可穿刺公钥加密体制。此后,Günther等[19]提出具备完全前向安全性的0往返时间密钥交换方案,Cini等[20]设计了满足自适应选择密文攻击安全的可穿刺密钥封装管理方案。为提升私钥穿刺效率,Derler等[21]提出布隆过滤器加密方案,Li等[22]基于该方案构造可穿刺签名方案,并将其应用于区块链权益证明协议中。可穿刺加密方法在属性基加密领域亦得到广泛应用,如Wei等[23-24]构造了前向安全的可穿刺身份基加密方案,继而提出可同时抵抗用户私钥与系统主密钥泄露的ABE方案[25],并将其应用于外包存储系统,实现了细粒度数据共享与安全擦除防护。Deler等[26]基于允许/拒绝列表加密,设计了支持正负两种形式的可穿刺加密方案。此外,在属性基加密的工程化应用层面,相关研究结合区块链技术开展了深入探索[27-28]。
综上所述,为实现CP-ABE体制中高效、细粒度的前向安全性,本文设计一种可穿刺的密文策略基于属性加密(Puncturable Ciphertext-Policy Attribute-Based Encryption, P-CP-ABE)方案,通过私钥穿刺算法解决传统前向安全CP-ABE方案灵活性不足、私钥更新效率较低的问题。首先,给出P-CP-ABE方案的形式化与安全性定义;其次,借助布隆过滤器构造具体的P-CP-ABE方案,实现私钥的高效穿刺与更新,并基于判定性l-BDHE(l-Bilinear Diffie-Hellman Exponent)假设,在标准模型下完成方案的安全性证明;最后,通过性能分析和仿真实验进一步验证方案的实际运行性能。

1 基础知识

定义1 布隆过滤器[29]。一种空间效率很高的随机数据结构,它利用位数组简洁地表示一个集合,并能判断一个元素是否属于这个集合,即:令U=u1,u2,…,un表示n个元素的集合,对任意一个元素u,若u∈U,则以概率1返回1;若u∉U,则以概率(1-δ)返回0,其中δ为假阳性概率。布隆过滤器的算法组成如下。

1)BFGen(λ,n)为生成算法。给定安全参数λ,集合中元素个数为n,首先,随机选择整数𝓁,k∈N,𝓁为布隆过滤器位数组长度,且满足δ=1-e-kn/𝓁k;然后选择k个哈希函数H1,…,Hk,令H=(Hj)j∈[k],并初始化位数组T=0𝓁,最后输出(H,T)。

2)BFUpdate(H,T,u)为更新算法。以H=(Hj)j∈[k]、T∈{0,1}𝓁和元素u为输入。首先令T'←T,然后对任意j∈[k],令T'[Hj(u)]=1,其中T'[i]表示T'的第i位,最后返回T'。

3)BFCheck(H,T,u)为检验算法。以H=(Hj)j∈[k]、T∈{0,1}𝓁和元素u为输入,然后输出一个比特b=∧j∈[k]T[Hj(u)],∧为逻辑与运算符。

定义2 双线性映射。令G和GT是2个阶为p的乘法循环群,其中,p是一个长度为λ的素数,令g∈G,则双线性映射e^:G×G→GT满足下述条件。

1)双线性:对任意x,y∈G和a,b∈ℤp,均成立e^(xa,yb)=e^(x,y)ab。

2)非退化性:e^(g,g)≠1。

3)可计算性:对任意x,y∈G,存在一个多项式时间算法能有效计算出e^(x,y)。

定义3 访问结构。令P是系统属性域,一个定义在P上的访问结构Γ是指一个由非空属性子集构成的集合,即Γ⊆2P\ϕ。访问结构中的属性子集称为授权子集,其他属性子集称为非授权子集。此外,对任意属性子集S和T,若S∈Γ并且S⊆T时,总成立T∈Γ,则称访问结构Γ是单调的。

定义4 线性秘密共享机制(Linear Secret Sharing Scheme, LSSS)[30]。令𝒰是系统属性域,p是一个素数,定义在𝒰上的访问结构Γ的秘密共享机制在ℤp上是线性的,是指:1)共享秘密s的所有共享份额构成ℤp上的一个向量;2)存在一个l×n的秘密共享机制的共享生成矩阵M和一个映射ρ:[l]→P,对于任何一个随机选取的向量v=s,v2,…,vn∈ℤpn,s为共享秘密,则M⋅v就是利用秘密共享机制得到的关于s的l个共享份额组成的向量,其中λi=Mi⋅v是属于属性ρi的共享份额,Mi是共享生成矩阵M的第i行。

LSSS具有线性可重构性。若属性集S是访问结构Γ的一个授权属性子集,即S∈Γ,定义共享生成矩阵M的一个行标子集I={i∈[l]ρi∈S}⊆[l],则可在多项式时间内计算出一组常数{wi∈ℤp},使∑i∈Iwi⋅Mi=1,0,…,0,可恢复s=∑i∈Iwi⋅Mi⋅v;若S∉Γ,则存在向量w∈ℤpn,使w⋅1,0,…,0=-1,并对任意i∈I成立w⋅Mi=0。

定义5 判定性l-BDHE假设。令G和GT是2个阶为p的乘法循环群,其中p是一个长度为λ的素数,e^:G×G→GT是一个双线性映射,g∈G是一个生成元,a,s∈ℤp是两个随机数。对任意k∈2l,gk=gak,向量y=(g,gs,g1,g2,…,gl,gl+2,…,g2l),则(G,GT)上的判定性l-BDHE问题是指给一个概率多项式时间算法B提供向量y和群元素T'∈GT,算法B判断T'=e^gs,gl+1,或者T'仅是群GT中的一个随机元素R;若T'=e^gs,gl+1,算法B输出0,否则输出1。

算法B解决(G, GT)上的判定性l-BDHE问题的优势定义如下:

Aadv‑Bl‑BDHE= PrBy,T'=e^gs, gl+1=0-PrB(y, T'=R)=0 .

对任意一个概率多项式时间算法B,若其解决(G, GT)上的判定性l-BDHE问题的优势均是可忽略的,则称判定性l-BDHE假设在(G, GT)上成立。

2 P-CP-ABE方案

2.1 形式化定义

本文所提P-CP-ABE方案的形式化描述如下。

Setup(λ,𝒰):系统建立算法。以系统安全参数λ和系统属性域𝒰为输入,输出系统公开参数RPP和系统主密钥RMSK。

KeyGen(RPP,RMSK,S):私钥生成算法。以RPP、RMSK和用户属性集S为输入,输出用户属性集所对应的初始私钥KS,ϕSK。

KPunc(RPP,KS,Pi-1SK,ti):私钥穿刺算法。以RPP、用户的当前私钥KS,Pi-1SK和标签ti为输入,输出一个更新的私钥KS,PiSK。

Encrypt(RPP,Γ,t,m):加密算法。以RPP、访问结构Γ、标签t和明文m为输入,输出密文CCT。

Decrypt(RPP,CCT,KS,PiSK):解密算法。以RPP、CCT和KS,PiSK为输入,若S∈Γ,且t∉Pi,则输出明文m,否则输出⊥。

一个P-CP-ABE方案是正确的,是指对任意正确生成的系统公开参数和主密钥(RPP, RMSK)←

Setup(λ,𝒰)、任意明文m、任意访问结构Γ、所有属性集S∈Γ、任意标签t、任意标签集P={t1,…,ti}以及所有正确生成的属性私钥KS,ϕSK←KeyGen(RPP,RMSK,S),则下式成立:

PrDecrypt(RPP,Encrypt(RPP,Γ,t,m),KS,ϕSK)=m=1.

对反复穿刺q次后的用户私钥KS,PiSK←

KPunc(RPP, KS,Pi-1SK, ti)(i∈[q]),若t∉Pi,则下式成立:

PrDecrypt(RPP,Encrypt(RPP,Γ,t,m),KS,PiSK)=m=1.

2.2 安全性定义

P-CP-ABE方案的安全性可通过一个挑战者C和一个攻击者A之间的安全性游戏来刻画,定义标签空间𝒯={0,1}η,其中η为定长比特。具体如下。

初始化:在该阶段,攻击者A选择一个挑战访问结构Γ*提交给挑战者C。

系统建立:在该阶段,挑战者C运行系统建立算法Setup(λ,𝒰)→(RPP,RMSK),然后将RPP发送给A,而自己持有RMSK。

询问阶段1:在该阶段,A可以自适应地进行多项式次数的私钥提取询问,C利用RMSK进行响应。

1)私钥提取询问。A向C提交一个用户属性集S,要求C返回相应的私钥KS,ϕSK。C收到该询问后,直接执行KeyGen(RPP,RMSK,S)→KS,ϕSK,然后将私钥KS,ϕSK发送给A。

2)穿刺询问。A向C提交一个用户属性集S,要求C返回被标签t∈𝒯 穿刺的用户私钥KS,PiSK。C仅响应满足t≠t*的穿刺询问。为此,C依次调用私钥生成算法KeyGen(RPP,RMSK,S)→KS,ϕSK,私钥穿刺算法KPunc(RPP,KS,Pi-1SK,t)→KS,PiSK,最后将穿刺的私钥KS,PiSK发送给A。

挑战阶段:在该阶段,攻击者A向挑战者C提交两个等长的明文消息m0,m1,并要求A在询问阶段1所进行的任意询问的输入满足下列条件:S∉Γ*或t≠t*。C选择一个随机比特b∈0,1和挑战标签t*∈𝒯  \Pi,利用Γ*对明文消息mb加密,然后,将生成的挑战密文CCt*发送给A。

询问阶段2:该阶段类似于询问阶段1,C仍仅响应满足t≠t*的穿刺询问。

猜测阶段:最后,攻击者A输出对b的猜测b'。若b'=b,则称A赢得了安全性游戏,并定义其优势为Aadv‐AP‐CP‐ABE=Pr[b'=b]-1/2。

定义6 P-CP-ABE的前向安全性。对任意一个针对P-CP-ABE方案的概率多项式时间攻击者A,若其赢得上述安全性游戏的优势Aadv‐AP‐CP‐ABE是安全参数λ的一个可忽略函数,则称该P-CP-ABE方案具有前向安全性。

3 方案的具体构造

本节在传统CP-ABE方案的基础上给出P-CP-ABE方案的具体构造,其关键是实现高效的私钥穿刺操作,为此,利用布隆过滤器管理用户私钥。首先,调用布隆过滤器生成算法得到哈希函数集与初始状态数组(H,T)←BFGen(𝓁,k),用户私钥由T中每一位对应的私钥构件组成,私钥结构与布隆过滤器状态绑定。解密操作时,根据目标标签通过哈希函数集H定位到T中的k个位置,从中选取满足T[i']≠1的索引i',然后通过该位置对应的私钥构件进行解密,保证仅使用未被穿刺的有效私钥构件。当需要用某标签t对私钥执行穿刺时,首先调用布隆过滤器更新算法,用标签t更新布隆过滤器状态BFUpdate(H,T,t)→T',然后,将T'中与t映射的所有位置对应的私钥构件设置为⊥,完成私钥穿刺。穿刺后的私钥将失去对标签t对应密文的解密能力,但不影响其他标签对应密文的正常解密。方案的具体构造由5个算法组成。

1)Setup(λ,U)。给定系统安全参数λ和系统属性个数U,首先生成双线性群(G,GT,g,p,e^)。然后,选择随机整数α,a∈ℤp,选择随机群元素u0∈G,以及向量h=(h1,⋯,hU)∈GU,选择哈希函数H˜:N→G,并令Z=e^(g,g)α,g1=ga,设置系统主密钥RMSK=gα,输出系统公开参数RPP=G, GT, g, p,

e^, g1, u0, h, H˜, Z。

2)KeyGen(RPP,RMSK,S)。给定系统公开参数RPP、系统主密钥RMSK和用户属性集S。首先,调用布隆过滤器生成算法(H,T)←BFGen(𝓁,k),然后,选取随机整数r1,r2∈ℤp。对任意j∈[𝓁],计算私钥构件:

Rskj=gαgar1⋅H˜jr2

最后,输出用户属性集S对应的初始私钥:

 KS,ϕSK=(H,T),{Rskj}j∈[𝓁],{Kx=hxr1x∈S},K1=gr1,K2=gr2  

3)KPunc(RPP,KS,Pi-1SK,ti)。给定系统公开参数RPP、当前的用户私钥KS,Pi-1SK和一个标签ti∈𝒯  \Pi-1,首先,利用标签t调用布隆过滤器更新算法T'←BFUpdate(H,T,t),对任意j∈𝓁,更新私钥构件如下:

Rskj'=Rskj,   T'[j]=0;⊥,   T'[j]≠0.

最后,更新Pi←Pi-1⋃ti,输出更新的私钥:

 KS,PiSK=(H,T'),{Rskj'}j∈[𝓁],{Kx=hxr1x∈S},K1,K2

4)Encrypt(RPP,Γ,t,m)。给定RPP、访问结构(Ml×n, ρ)、标签t和明文m∈GT。首先,选取随机向量v=(s,v2,⋯,vn)∈ℤpn,其中,s是共享秘密。对于任意i∈l,计算属性ρi所对应的共享份额λi=v⋅Mi,其中,Mi是共享矩阵M的第i行。然后,若BFCheck(H,T,t)→0,则选取一个指标j*∈{j1,…,jk},其中,jy=Hy(t)(y∈[k])。最后,按如下方式生成密文:

CCT=C,C',C″,Cii∈l

式中:C=m⋅Zs;C'=gs;C″=H˜j*s;Ci=gaλihρi-s。

5)Decrypt(RPP,CCT,KS,PiSK)。给定RPP、密文CCT和用户私钥KS,PiSK。若S∉(Ml×n, ρ)或t∈Pi,则输出⊥;否则,令I=i∈lρi∈S,并计算一组常数{wi∈ℤp}i∈I使得∑i∈Iwiλi=s;然后,从KS,PiSK中提取私钥部件Rskj,Kx,K1,K2,计算相应明文如下:

m=Ce^C″,K2∏i∈Ie^Ci,K1e^C',Kρiwie^C',Rskj

方案正确性对没有被密文标签t穿刺的私钥,即t∉Pi,将密钥构件和密文构件的具体值代入上述等式右边,即可得:

Ce^C″,K2∏i∈Ie^Ci,K1e^C',Kρiwie^C',Rskj=
   m⋅Zs⋅e^H˜j*s,gr2∏i∈Ie^gaλihρi-s,gr1e^gs,hρir1wie^gs,gαgar1⋅H˜jr2=     m⋅e^g,gαs⋅e^H˜j*s,gr2∏i∈Ie^gaλi,gr1wie^gs,gαgar1⋅H˜jr2=     m⋅e^g,gαs⋅e^g,H˜jsr2⋅e^g,gar1∑i∈Iwiλie^g,gαs⋅e^g,gasr1⋅e^g,H˜jsr2=m        

4 安全性证明与性能分析

4.1 安全性证明

定理1 P-CP-ABE方案的选择性前向安全性。若判定性l-BDHE假设在双线性群(G,GT,g,p,e^)上成立,则P-CP-ABE方案在标准模型下满足选择性前向安全性。

证明 在证明过程中,若存在一个概率多项式时间攻击者A以优势Aadv-AP-CP-ABE(λ)=ε攻破P-CP-ABE方案的选择性前向安全性,则构造一个概率多项式时间算法B模拟安全性游戏中的挑战者C,并让B利用A攻破P-CP-ABE方案的优势解决(G,GT,g,p,e^)上的判定性l-BDHE问题。

初始化:攻击者A选择一个挑战访问结构(M𝓁*×n**, ρ*)和挑战标签t*提交给算法B。此外,提供给B一个判定性l-BDHE问题实例(y,T'),其中,向量y=(g,gs,g1,g2,…,gl,gl+2,…,g2l),对任意1≤k≤2l且k≠l+1,gk=gak。

系统建立:算法B选择一个随机整数α'∈ℤp,令Z=e^g1,gl⋅e^g, gα'=e^g,gα'+al+1,显然,算法B不知道(α'+al+1)。对任意1≤x≤U,选择随机整数zx∈ℤp,若存在整数1≤i≤𝓁*使得ρ*i=x,则令hx=gzx⋅∏j=1n*gjMi,j*,否则,令hx=gzx;设置系统主密钥RMSK=gα'+al+1。最后,算法B令系统公开参数RPP=((G,GT,g,p,e^),u0,u1,u2,…,ul,h1,h2,…,hU)并发送给攻击者A。

询问阶段1:在该阶段,允许A选择一个属性集S,自适应地询问相应的私钥。对于询问中涉及哈希函数H˜的询问,算法B模拟为:对任意i∈[𝓁],选择一个随机整数ti∈ℤp,若有i∈{Hj(t*):j∈[k]},则令H˜(i)=gti,否则,令H˜(i)=g2⋅gti。

1)私钥提取询问。若S∉(M𝓁*×n**, ρ*),依据LSSS的定义可知,存在向量w=w1,…,wn*∈ℤpn*使得w1=-1,并且对任意i∈I=i∈[𝓁*]ρ*i∈S,有wMi=0。首先,选择随机整数r1',r2∈ℤp,令r1=r1'+∑j=1n*wjal-j+1,然后,计算私钥构件:

Rski=gαgar1⋅H˜ir2=gα'+al+1ga(r1'+∑j=1n*wjal-j+1)⋅H˜ir2=           gα'g1r1'∏j=2n*gl-j+2wj⋅H˜ir2                                             K1=gr1=gr1'∏j=1n*gwjal-j+1=gr1'∏j=1n*gl-j+1wj,K2=gr2

对任意x∈S,若不存在整数1≤i≤𝓁*使得ρ*i=x,则令Kx=hxr1=gr1zx=K1zx;若存在整数1≤i≤𝓁*使得ρ*i=x,则令

Kx=hxr1=gzx⋅∏j=1n*gjMi,j*r1=K1zxgr1'+∑j=1n*wjal-j+1∑j=1n*ajMi,j*=           K1zx∏j=1n*gjr1'∏γ=1,γ≠jn*gl-j+γ+1wjMi,j*                                  

可以看出,在算法B不知道系统主密钥的情况下,仍可以计算出私钥,并且与私钥提取算法所产生的私钥是同分布的。最后,B将计算的私钥KS,ϕSK={Rskj}j∈[𝓁],{Kxx∈S},K1,K2发送给A,同时更新集合Qsk←Qsk∪{S}。

2)私钥穿刺询问。若给定的属性集S满足挑战访问结构(M𝓁*×n**, ρ*),此时为A生成被标签t穿刺的用户私钥,B选择随机整数r1,r2'∈ℤp,令r2=r2'-a,则K1=gr1,K2=gr2=gr2'⋅g-a,对任意x∈S,令Kx=hxr1,对任意i∈[𝓁],若i∈{Hj(t): j∈[k]},则令Rski'←⊥,否则计算私钥:

Rski'=gαgar1⋅H˜ir2=gα'+al+1g1r1⋅H˜(i)r2'⋅(g2gti)-a=            gα'g1r1⋅H˜(i)r2'⋅g-ati                                                  

可以看出,式(10)私钥构件对B都是可计算的。

最后,算法B将生成的穿刺私钥KS,PiSK=(H,T'),{Rskj'}j∈[𝓁],{Kxx∈S},K1,K2返回给攻击者A,并更新集合Qpunc←Qpunc⋃{(S,t)}和Pi←Pi-1∪{t}。

挑战阶段:当A结束询问阶段之后,提交两个挑战明文m0,m1,算法B随机选择b∈0,1和挑战标签t*∈𝒯  \Pi,然后,选择随机数θ2',…,θn*'∈ℤp,令θ1'=0,向量θ*=s,sa+θ2',…,san*-1+θn*,对任意i∈[𝓁*],令λi*=θ*⋅Mi*=∑j=1n*saj-1Mi,j*+θj',则密文构件可表示为

        Ci*=gaλi*hρ*i-s=g∑j=1n*sajMi,j*+aθj'Mi,j*gzρ*(i)∏j=1n*gjMi,j*-s=                  ∏j=1n*gjsMi,j*∏j=1n*g1θj'Mi,j*gs-zρ*(i)∏j=1n*gj-sMi,j*=                  ∏j=1n*g1θj'Mi,j*gs-zρ*(i)                                                    

生成挑战密文如下:

CCt*=C*,C'*,C″*,Ci*i∈l

式中:C*=mb⋅Zs=mbT'e^gs, gα';C'*=gs;C″*=H˜j*s。

最后,B将生成的挑战密文CCt*发送给A。

询问阶段2:该阶段的询问与第1阶段相似。

猜测阶段:最后,攻击者A输出对b的猜测b'。

若b'=b,则B输出0,即T'=e^gs,gl+1=e^g,gsal+1;否则,输出1,即判定T'仅是群GT中的一个随机元素。

概率分析,若T'=e^gs,gl+1,则C*=mbT'e^gs,gα'=mbe^g,gsα'+al+1=mbZ,即B所模拟的安全性游戏与真实的安全性游戏完全相同,从而PrBy,T'=e^gs, gl=0=12+Aadv-AP-CP-ABE;若T'仅是群GT中的一个随机元素R,则从攻击者A的角度看,明文mb的信息被完全隐藏,从而PrBy, T'=R=0=12。

综上,则有:

Aadv-Bq-BDHEλ=PrBy, T'=e^gs, gl=0-PrBy, T'=R=0=            Prb'=b-12≥Aadv-AP-CP-ABEλ=ε                       

4.2 性能分析

本节从算法效率和存储规模方面与其他相关加密方案进行比较。在比较过程中,用E表示1次模指数运算,P表示1次双线性对运算,H表示1次哈希运算,l为访问结构中属性个数,U为系统全局属性总数,S表示用户属性集合规模,𝓁为布隆过滤器数组长度,n表示标签的数量,k为布隆过滤器哈希函数个数。分析存储开销时,以群G中1个元素的长度为基本单位。

从表1可以看出,本文方案的密钥穿刺算法仅涉及固定次数的哈希运算和位更新,计算开销几乎可以忽略,而文献[18]方案的密钥穿刺开销与总的标签数量成线性关系。此外,本文方案的私钥存储具有较大开销,这主要是因为布隆过滤器所对应的位数组的每一个位置上都存储一个私钥构件,以此实现细粒度的前向安全性。此外,本文方案的公开参数规模和密文长度与文献[4]方案相当,而文献[18]方案具有更大的公开参数规模。

4.3 仿真实验

将本文P-CP-ABE方案在Charm[31]框架下进行实现,以验证其实际性能,测试环境为具有16 GB内存和i7-1160G7@1.20 GHz CPU的笔记本电脑。在仿真实验中,布隆过滤器的假阳性概率设置为δ=10-3,哈希函数个数k=10,用户属性数量设置为5~50,系统标签最大数量设置为2~1 024,哈希函数均为SHA-256,椭圆曲线为SS512曲线,所有实验均重复执行20次,取平均值作为最终结果。

图1给出了在不同的用户属性数量下,本文所提P-CP-ABE方案中各个算法的执行效率。可以发现,私钥生成、加密与解密算法的平均运行时间随用户属性集规模呈线性增长趋势。这些算法中,针对每个属性至少需要执行一次指数运算。此外,本文所提方案的私钥穿刺算法执行效率非常高,且开销保持常数级。

图2展示了系统标签最大数量对所提方案中各算法运行时间的影响。从实验结果可以看出,私钥生成算法的平均运行时间随系统标签最大数量的增加呈快速增长趋势;另一方面,本文所提P-CP-ABE方案的加密和解密算法的执行效率受该参数的影响较小。值得注意的是私钥穿刺算法的平均运行时间几乎不受标签数量的影响,其开销仅与布隆过滤器哈希函数个数相关。

5 结束语

本文以传统的CP-ABE方案为基础,引入可穿刺公钥加密思想,实现了一种可穿刺的密文策略基于属性加密方案,有效解决了传统前向安全CP-ABE方案灵活性不足、私钥更新效率偏低的问题。文中首先给出所提方案的形式化与安全性定义,随后给出方案的具体构造。方案基于布隆过滤器管理私钥构建和穿刺标签的位置映射,其私钥穿刺过程仅需执行哈希运算与位更新操作,即可实现细粒度的前向安全性与用户私钥的高效更新。基于判定性l-BDHE假设,本文在标准模型下证明了所提方案满足选择性前向安全性。最后,通过性能分析和仿真实验结果验证了所提方案在计算效率、存储规模方面的优势。

参考文献

[1]

Sahai A, Waters B. Fuzzy identity-based encryption[C]//Advances in cryptology‑EUROCRYPT 2005. Berlin, Germany: Springer, 2005:457-473.

[2]

Goyal V, Pandey O, Sahai A, et al. Attribute-based encryption for fine-grained access control of encrypted data[C]//Proceedings of the 13th ACM conference on computer and communications security. New York, USA: ACM, 2006: 89-98.

[3]

Chen S B, Li J G, Zhang Y C, et al. Efficient revocable attribute-based encryption with verifiable data integrity[J]. IEEE Internet of Things Journal, 2024,11(6):10441-10451.

[4]

Waters B. Ciphertext-policy attribute-based encryption: an expressive, efficient, and provably secure realization[C]//Public key cryptography‑PKC 2011. Berlin, Germany: Springer, 2011:53-70.

[5]

Delerablée C, Gouriou L, Pointcheval D. Key-policy ABE with switchable attributes[C]//Security and cryptography for networks. Cham, Switzerland: Springer, 2022:147-171.

[6]

Luo F C, Wang H Y, Yan X F, et al. Key-policy attribute-based encryption with switchable attributes for fine-grained access control of encrypted data[J]. IEEE Transactions on Information Forensics and Security, 2024,19:7245-7258.

[7]

Anderson R. Two remarks on public key cryptology [C]//Proceedings of the invited lecture at the 4th ACM conference on computer and communications security. New York, USA: ACM, 1997:1-5.

[8]

Bellare M, Miner S K. A forward-secure digital signature scheme [C]//Advances in cryptology-CRYPTO’ 99. Berlin, Germany: Springer, 1999:431-448.

[9]

Itkis G, Reyzin L. Forward-secure signatures with optimal signing and verifying [C]//Advances in cryptology‑CRYPTO 2001. Berlin, Germany: Springer, 2001:332-354.

[10]

Wu B, Wang C F, Li Y H, et al. A efficient lattice-based forward-secure linearly homomorphic signature scheme for network coding[J]. Telecommunication Systems, 2024,87(4):1129-1145.

[11]

Libert B, Quisquater J J, Yung M. Forward-secure signatures in untrusted update environments: efficient and generic constructions[C]//Proceedings of the 14th ACM conference on computer and communications security. New York, USA : ACM, 2007: 266-275.

[12]

Canetti R, Halevi S, Katz J. A forward-secure public-key encryption scheme[C]//Advances in cryptology‑EUROCRYPT 2003. Berlin, Germany: Springer, 2003:255-271.

[13]

Gentry C, Silverberg A. Hierarchical ID-based cryptography[C]//Advances in cryptology‑ASIACRYPT 2002. Berlin, Germany: Springer, 2002:548-566.

[14]

Yu J, Kong F Y, Cheng X G, et al. Forward-secure identity-based public-key encryption without random oracles [J]. Fundamenta Informaticae, 2011,111(2):241-256.

[15]

魏江宏, 刘文芬,胡学先.前向安全的密文策略基于属性加密方案[J].通信学报,2014,35(7):38-45.

[16]

Wei J H, Liu W F, Hu X X. Forward-secure identity-based signature with efficient revocation[J]. International Journal of Computer mathematics, 2017,94(7):1390-1411.

[17]

Oh H, Kim J, Shin J S. Forward-secure ID based digital signature scheme with forward-secure private key generator[J]. Information Sciences, 2018,454:96-109.

[18]

Green M D, Miers I. Forward secure asynchronous messaging from puncturable encryption [C]//Proceedings of the 2015 IEEE symposium on security and privacy. Piscataway, USA: IEEE, 2015:305-320.

[19]

Günther F, Hale B, Jager T, et al. 0-RTT key exchange with full forward secrecy[C]//Advances in cryptology- EUROCRYPT 2017. Cham, Switzerland: Springer, 2017:519-548.

[20]

Cini V, Ramacher S, Slamanig D, et al. CCA-secure (puncturable) KEMs from encryption with non-negligible decryption errors[C]//Advances in cryptology-ASIACRYPT 2020. Cham, Switzerland: Springer, 2020:159-190.

[21]

Derler D, Jager T, Slamanig D, et al. Bloom filter encryption and applications to efficient forward-secret 0-RTT key exchange[C]//Advances in cryptology‑EUROCRYPT 2018. Cham, Switzerland: Springer, 2018:425-455.

[22]

Li X Y, Xu J, Fan X, et al. Puncturable signatures and applications in proof-of-stake blockchain protocols[J]. IEEE Transactions on Information Forensics and Security, 2020,15:3872-3885.

[23]

Wei J H, Chen X F, Wang J F, et al. Forward-secure puncturable identity-based encryption for securing cloud emails[C]//Computer security‑ESORICS 2019. Cham, Switzerland: Springer, 2019:134-150.

[24]

Wei J H, Chen X F, Wang J F, et al. Enabling (end-to-end) encrypted cloud emails with practical forward secrecy[J]. IEEE Transactions on Dependable and Secure Computing, 2022,19(4):2318-2332.

[25]

Wei J H, Chen X F, Wang J F, et al. Securing fine-grained data sharing and erasure in outsourced storage systems [J]. IEEE Transactions on Parallel and Distributed Systems, 2023,34(2):552-566.

[26]

Derler D, Ramacher S, Slamanig D, et al. Fine-grained forward secrecy: allow-list/deny-list encryption and applications[C]//Financial cryptography and data security. Berlin, Germany: Springer, 2021:499-519.

[27]

巴阳,陈越,胡学先,等.基于智能合约与ABAC的访问控制方案[J].信息工程大学学报,2022,23(5):608-616.

[28]

张敏,李军,王浩.基于区块链与属性基加密的数据共享方案[J].信息工程大学学报,2025,26(1):35-42.

[29]

Bloom B H. Space/time trade-offs in hash coding with allowable errors[J]. Communications of the ACM, 1970,13(7):422-426.

[30]

Beimel A. Secure schemes for secret sharing and key distribution [D]. Haifa, Israel: Israel Institute of Technology, Technion, 1996:75-108.

[31]

Akinyele J A, Garman C, Miers I, et al. Charm: a framework for rapidly prototyping cryptosystems[J]. Journal of Cryptographic Engineering, 2013,3(2):111-128.

基金资助

国家自然科学基金(62572483)

国家自然科学基金(62472438)

AI Summary AI Mindmap
PDF (1290KB)

0

访问

0

被引

详细

导航
相关文章

AI思维导图

/

〈 〉