智慧医疗中具有策略完全隐藏的属性基加密方案

郭丽峰 ,  徐卓恒 ,  刘华

山西大学学报(自然科学版) ›› 2025, Vol. 48 ›› Issue (05) : 933 -945.

PDF (1870KB)
山西大学学报(自然科学版) ›› 2025, Vol. 48 ›› Issue (05) : 933 -945. DOI: 10.13451/j.sxu.ns.2024029
信息科学

智慧医疗中具有策略完全隐藏的属性基加密方案

作者信息 +

Attribute-based Encryption Scheme with Policies Fully Hidden in Smart Health

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

摘要

随着物联网和云计算技术的快速发展,智慧医疗的医疗质量已经得到显著提高,但是医疗系统仍然存在数据安全和用户隐私泄露问题。基于密文策略的属性加密(Ciphertext-Policy Attribute Based Encryption, CP-ABE)被认为是目前最有效的解决方案之一。然而在大多数的CP-ABE方案中攻击者可以从访问策略中获取用户隐私信息,而且由于解密密钥仅与属性相关联,与用户身份无关,所以当密钥泄露时无法准确确认用户的身份。针对上述问题,本文提出了一种策略完全隐藏的可追踪可撤销的CP-ABE方案,使用隐匿集合求交(Private Set Intersection, PSI)技术隐藏策略中的属性值和属性名称,采用与用户相关联的二叉树来追踪和撤销用户。为了提高该方案在加解密阶段的速度,引入离线/在线加密和外包解密技术。最后基于q-BDHE(q-Bilinear Diffie-Hellman Exponent)假设,证明了该方案的安全性,实验结果表明该方案加密和解密算法花费时间呈常量级,相比其他方案,效率有显著提升。

Abstract

With the rapid development of the Internet of Things and cloud computing technologies, the quality of healthcare in smart health has been significantly improved, but the healthcare system still has the problems of data security and user privacy leakage. Ciphertext-Policy Attribute Based Encryption (CP-ABE) is considered to be one of the most effective solutions at present. However, in most CP-ABE schemes attackers can obtain user privacy information from access policies. Since the decryption key is only associated with attributes and not with the user's identity, it is impossible to accurately confirm the user's identity when the key is leaked. To resolve the above problems, this paper proposes a traceable and revocable CP-ABE scheme with policies fully hidden by using Private Set Intersection (PSI) technology to hide the attribute values and attribute names in the policy. Furthermore, this paper adopts binary tree associated with information to track and revoke users. In order to enhance the speed of the scheme in the encryption and decryption phases, this paper introduces the skill of offline/online encryption and outsourced decryption techniques. Finally, based on the q-BDHE assumption, the security of the scheme is proved. The experiment results show that the encryption and decryption algorithms of this scheme take a constant amount of time, which is a significant improvement in efficiency compared to other schemes.

Graphical abstract

关键词

策略完全隐藏 / 隐匿集合求交 / 可追踪 / 可撤销 / 在线/离线加密 / 外包解密

Key words

policy fully hidden / private set intersection / traceability / revocation / online/offline encryption / outsourced decryption

引用本文

引用格式 ▾
郭丽峰,徐卓恒,刘华. 智慧医疗中具有策略完全隐藏的属性基加密方案[J]. 山西大学学报(自然科学版), 2025, 48(05): 933-945 DOI:10.13451/j.sxu.ns.2024029

登录浏览全文

4963

注册一个新账户 忘记密码

0 引言

智慧医疗是一个新兴领域,它将人工智能与数据科学相结合,以科学的方式将数据转化为知识,并应用于医疗和精准健康领域,以改善人们的健康和福祉。随着物联网和云计算技术的快速发展1,基于云计算的智慧医疗有望提供理想的健康服务,但是在实际应用中仍有许多问题需要解决2,特别是数据安全和用户隐私泄露。例如病人希望自己的电子健康记录只能由授权的专业医疗人员访问,如果使用传统的访问控制技术,要么会违反数据安全,要么只允许粗粒度的访问策略。

在密码学领域中,基于属性的加密3(Attribute-Based Encryption, ABE)被视为实现细粒度访问控制的重要工具。这种加密方法主要分为密文策略的属性基加密4和密钥策略的属性基加密5两大类。在属性加密方案中由于访问策略与密文一起存储在云服务器中,因此任何能检索到密文的人都可以使用相关访问策略,但是访问策略中可能包含敏感信息。例如访问策略“Neurology AND (Doctor OR Nurses)”通过医疗记录可以看出患者有神经系统疾病。对于部分策略隐藏,例如访问策略“(PN:* OR Doctor:*)AND (Hospital:*)”,攻击者仍然可以看出数据和健康相关。因此具有策略完全隐藏的CP-ABE方案具有重要的研究意义。

由于解密密钥与属性紧密相关,所以发生密钥泄露事件时无法确认泄露源。例如,Alice和Bob他们共同拥有属性“Neuropathy AND Nurses”,二者均可以访问“Neurology AND (Doctor OR Nurses)”密钥加密的病历,如果解密密钥泄露,无法确切地判断是Alice还是Bob成了泄露源。为解决解密密钥泄漏和追踪恶意用户的问题,ABE系统对基于可追踪性的撤销机制提出了很高的要求。

针对访问策略会泄露用户敏感信息的问题,Nishide等6第一次提出访问策略隐藏的概念,但是该方案计算开销较大。Zhang等7提出的方案通过解密测试实现了解密前访问权限的验证,但其在权限验证阶段存在隐私泄露。Yang等8利用bloom filter实现了一种具有全隐藏LSSS(Linear Secret Sharing Scheme)访问控制的CP-ABE方案,但其bloom filter有出现假阳性的概率。Zhang等9利用隐藏向量加密技术(Hidden Vector Encryption,HVE)实现了完全策略隐藏的CP-ABE方案,同时提供可信验证和解密正确性的验证。Yang等10基于PSI实现了大宇宙策略完全隐藏的CP-ABE方案,并使用外包可验证技术来提高解密速度,但其不支持身份的追踪和恶意用户撤销。Xue等11提出一种具有可追踪可撤销的完全隐藏策略方案,结合LSSS和HVE实现全隐藏策略。Luo等12提出一种基于ROBDD(Reduced Ordered Binary Decision Diagram)访问控制的CP-ABE方案,该结构具有更灵活的表达能力,利用Path Bloom Filter隐藏访问策略,降低解密成本,加快解密速度。

为了追踪恶意用户,Liu等13提出了一种基于属性的白盒可跟踪CP-ABE方案。Ning等提出了一种支持灵活属性的白盒可跟踪CP-ABE方案14和一种基于白盒的大宇宙CP-ABE方案15,可以支持对恶意用户的追踪。Ning等16还设计了一种白盒可追踪的CP-ABE方案,能够有效地追踪恶意泄露解密密钥的用户。

尽管一些ABE方案支持可追踪机制,但是追踪后用户不能被撤销。Liu等17提出了一种先追踪后撤销的CP-ABE方案,但是它无法抵抗反串通攻击。Wang等18提出的CP-ABE方案利用与用户信息相关的二叉树实现属性撤销和用户跟踪。Lian等19提出了一种完全安全的追踪可撤销存储ABE方案,该方案只需要在撤销后更新部分密钥。Han等20提出了一种策略部分隐藏的可撤销可追踪的CP-ABE方案,但是该方案不支持外包解密。文献[21-24]中提出了一种可以支持外包解密的CP-ABE方案,将大部分的解密工作交给云服务器,在本地用户只需要少量计算即可解密。文献[25-26]中提出了一种基于在线/离线技术的CP-ABE方案,在离线阶段进行复杂的加密计算,在线阶段只需要进行轻量级处理,提升了加密速度。

综合上述分析,以上方案都只从某一方面进行解决问题,因此本文提出了一种策略完全隐藏的可撤销可追踪的属性基加密方案,实现了隐藏策略、在线/离线加密、外包解密、可追溯性和可撤销性的全部功能。本文主要贡献如下:

(1)本文通过引入隐匿集合求交(PSI)技术实现完全隐藏访问策略,且方案是在大范围下实现。

(2)本方案提供了一种有效的方法来计算密钥和密文之间的映射,通过设计标签向量来定位最小授权集的属性在用户属性集中的确切位置,以便正确解密。

(3)引入一种白盒追踪方法,解密密钥可被验证格式正确与否,从而可有效地追踪恶意用户,该方法无须存储用户标识列表,可以直接输出用户标识。

(4)引入一种基于二叉树的撤销方法,该结构可以在不更新用户私钥的情况下实现用户撤销。

(5)为了提高效率,本文使用离线/在线加密技术和外包解密技术实现轻量级处理。

1 预备知识

1.1 双线性映射

GGT是两个乘法循环群,gG的生成元,双线性映射3e:G×GGT有以下性质:

(1)对于a,bZp,有e(ga,gb)=e(g,g)ab

(2)e(g,g)1

(3)存在多项式时间算法能够计算e(g,g)

1.2 线性秘密共享

M是一个l×n的矩阵,ρ是一个单射函数。有以下两个算法4

(1)秘密值分享:M共享秘密值sZp,设向量v={s,v2,v3,,vn}T,其中v2,v3,,vnZp。在该算法中,λi=Miv表示属性名索引ρ(i)所持有的共享秘密值。

(2)秘密值重构:SA是一个授权集合,其中I{1,2,,l}定义为I={i|ρ(i)S},存在一组常数{ωiZp}iI,使iIωiMi=(1,0,,0),因此有iIωiλi=s

1.3 二叉树

|U|是系统中的用户数,R是撤销列表。密钥加密密钥树(Key-Encryption-Key, KEK)18T描述为:

(1)path(i)是根结点到节点i的路径集合;

(2)最小覆盖集cover(R)是覆盖R中未列出的所有用户的最小节点集;

(3)根据cover(R)path(u),一个不在R中的用户u,只有一个节点j=cover(R)path(u)

图1所示的密钥加密密钥树TR={u3,u5}={9,11},则cover(R)={3,10,12,6}u7的路径:path(u7)={0,2,6,13}。因此唯一节点j=cover(R)path(u7)={6},利用二叉树的特征来实现撤销。

1.4 隐匿集合求交

PSI10指双方在不泄露任何信息的情况下,一方拥有数据集A,另一方拥有数据集B,它们可以通过交集来获取两个数据集的共同部分,即ABA方从B方获得的信息仅为AB的交集,同理B方从A方获得的信息仅为AB的交集。

1.5 困难问题假设

定义1 q-BDHE(q-Bilinear Diffie-Hellman Exponent)困难假设18是指在任意多项式时间内算法都无法以不可忽略的优势εe(g,g)αq+1sGT中的一个随机的元素区分开来。

2 系统模型和算法定义

2.1 系统模型

系统模型如图2所示,由5个实体组成,每个实体负责的任务如下:

(1)授权中心(Central Authority,CA):CA是完全可信的,它负责生成主密钥和公开参数,为用户生成解密密钥SK。此外,CA维护一个撤销列表R,并执行密钥检测算法来跟踪恶意用户。同时将更新密钥X'由CA发送到云端,实现可追溯和撤销。

(2)数据拥有者(Data Owner,DO):通常为病人。DO指定访问策略,并根据访问策略对消息进行加密。

(3)数据用户(Data User,DU):通常是医生。如果DU的属性满足访问策略,则能解密密文CT,获得明文消息。

(4)云服务器(Cloud Server,CS):假设CS是半可信的,它负责存储密文并使用更新的密钥SK'来更新密文,实现恶意用户在系统中的撤销。

(5)云代理服务器(Cloud Proxy Server,CPS):CPS为用户实现解密部分密文CT',并将中间结果MD返回给解密用户。

2.2 算法定义

基于策略完全隐藏的可追踪可撤销的属性基加密方案由以下算法组成:

(1)Setup(1λ,T)(pp,msk):权威中心执行该算法,输入KEK树T和参数λ,输出公开参数pp和主密钥msk,CA保留撤销列表R

(2)KeyGen(pp,msk,u,S)SK:权威中心执行该算法,输入pp、身份u、属性集S和主msk,输出解密密钥SK,并将其发送给用户。其中SK由解密密钥DK和转换密钥TK组成。

(3)Enc.Off(pp)IT:数据所有者执行该算法,输入公开参数pp,输出中间密文IT

(4)Enc.On(m,pp,(M,ρ),IT,R)CT:数据所有者执行该算法,输入pp、消息m、访问策略(M,ρ)、中间密文IT和撤销列表R,输出密文CT

(5)PolicyHide(pp,policy)(CP,L,V):数据所有者执行该算法,输入公开参数pp、访问策略policy。输出密文策略CP、标签矩阵L和标签向量V

(6)DecTest(pp,S,CP,L,V,S')(True/False,Map):数据用户执行该算法,输入公开参数pp、属性集S、密文策略CP以及一些标签。通过计算用户属性集与策略的每个最小授权集之间的交集来确定授权关系。当用户的属性集包含它们的交集,该用户获得授权,如果用户的属性集不包含它们的交集,则用户是未授权的。当S是一个授权集时,输出True和密钥与密文之间的映射,否则输出False,算法终止。

(7)DecOut(TK,CT,Map,CP)CTout:云代理服务器执行该算法,输入转换密钥TK、密文CT、映射关系Map和密文策略CP,输出部分密文CTout,并发送给DU。

(8)Dec(pp,CTout,DK)m:数据用户执行该算法,以公共参数pp、密文CTout和解密密钥DK作为输入,输出消息m

(9)KeySanityCheck(pp,msk,SK)0/1:权威中心执行该算法,输入ppSK,然后算法检查是否需要跟踪解密密钥SK,如果通过密钥检查,算法输出1,否则输出0。

(10)Trace(pp,SK,R)u/:权威中心执行该算法,输入ppSKR。如果SK通过KeySanityCheck,则输出u并更新撤销列表R'=R{u},否则算法终止,输出

(11)CTUpdate(CT,R',X')CT':云服务器执行该算法,输入CTR'和密钥X',输出更新密文CT'并保存到云端。

2.3 策略隐藏安全模型定义

策略隐藏的安全模型10:在策略隐藏方案中,有AB两方,A希望隐藏访问策略中的属性,A的属性集为SpB的属性集为SB计算授权和匹配关系。SpS之间的授权通过计算任意最小授权集与S之间的交集来判断,如果交集包含在S中,说明是授权集合。在求交中,双方在不暴露属性情况下计算授权。

P表示一个策略隐藏方案,f(x,y)是一个用来计算xy之间包含关系的函数。如果x包含y,则输出True,否则输出False。设XSp的最小授权集之一,设Y是仅包含S的一个元素集合,当且仅当存在X,使f(S,X)为True时,SSp的授权集。如果使f(X,Y)为True,并且Y的数量不小于X,则f(X,S)将为True。对于iAfi(X,Y)表示参与者i的计算,viewi(X,Y)表示i的视图,opi(X,Y)表示i的输出。P秘密计算f(S,X)相当于秘密计算f(X,Y)

定义2 如果存在PPT模拟器S1S2P秘密计算交集,使以下两个方程同时成立:

{(S1(x,fA(x,y)),fB(x,y))}={(viewA(x,y),opB(x,y))}
{(fA(x,y)),S2(y,fB(x,y))}={(opA(x,y)),viewB(x,y)}

(其中=是不可区分的)。

2.4 选择安全模型定义

Init:攻击者A选定挑战访问策略(M*,ρ*)和撤销列表R*之后将其发送给挑战者B

Setup: B运行Setup算法,将pp发给A并保留主密钥msk

Phase 1: AB发起关于属性集(u1,S1)(u2,S2)(uq,Sq)的密钥的询问。

1) 如果属性集S是一个授权集并且用户uR*,游戏终止。

2) 如果属性集S不是一个授权集并且用户uR*,挑战者B运行KeyGen算法生成密钥{SKu,Si,ui}i[1,q]发给攻击者A

Challenge:AB提交两个等长的消息m0m1B随机选取mb,其中b{0,1}。然后B运行Enc.on(m,pp,(M*,ρ*),IT,R*)生成密文CT,并将其发送给A

Phase 2:同Phase 1,A继续向B询问私钥。

Guess:A输出值b'{0,1},如果b'=b,则称A赢得该游戏。攻击者A在该游戏的优势定义为ε=|Pr[b=b']-1/2|

定义3 如果攻击者无法在多项式时间内以不可忽略的优势ε攻破上述安全游戏,则称本文提出的CP-ABE方案是选择明文安全的。

3 方案构造

(1)Setup(1λ)(pp,msk)。CA选取随机数αZph,u,v,wG,关于T中每个节点,随机选取{xi}i=02|U|-2Zp并计算{yi=gxi}i=02|U|-2,公共参数pp和主密钥msk如下:

pp=(g,e(g,g)α,h,u,v,w)msk=(α,gα)

(2)KeyGen(pp,msk,S)SK。CA选取随机数zZp,选取k+1个随机数(r,r1,r2,,rk)Zp。假设path(id)={i0,,id},其中i0=rootid是与用户u相关联的二叉树叶子节点的值,计算与用户u相关联的解密密钥组件Ku=gr/xid。解密密钥DK和转换密钥TK如下:

DK=zTK=(K=gα/z+rwr,L=gr,Ku=gr/xid,i[k],K1,i=gri,K2,i=(uAih)riv-r)

最后,输出密钥SK={DK,TK}

(3)Enc.Off(pp)IT。在离线加密阶段,生成中间密文IT,由两个模块组成。其中主模块计算方法:DO选择一个随机数sZp,计算C˜=e(g,g)αsC˜0=gs,DO设置ITmain=(C˜,C˜0)为主模块。此外,属性模块的计算方法如下:DO选择一个随机数xi,ti,λi'Zp,计算C˜1,i=wλi'vti,C˜2,i=(uxih)-ti,C˜3,i=gti,其中iJJ表示中间密文池的大小,用于临时存储中间密文,DO设置ITatt={xi,ti,λi',C˜1,i,C˜2,i,C˜3,i}iJ。最后DO定义IT={ITmain,ITatt}作为中间密文。

(4)Enc.On(m,pp,(M,ρ),IT,R)CT。DO随机选取v2,v3,,vnZp,设置向量v={s,v2,v3,,vn}T,并且计算Mv=(λ1,λ2,,λl)T作为s的有效共享向量。DO选择一个主模块ITmain=(C˜,C˜0)和属性模块ITatt={xi,ti,λi',C˜1,i,C˜2,i,C˜3,i}il,DO设置

C=mC˜=me(g,g)αs,C0=C˜0=gs,C1,i=C˜1,i,C2,i=C˜2,i,C3,i=C˜3,i

并且计算如下密文:{C4,i=λi-λi',C5,i=-ti(ρ(i)-xi)}i[l]因此,密文CT={R,C,C0,{C1,i,C2,i,C3,i,C4,i,C5,i}i[l],{Tj=yjs=gxjs}jcover(R)}

(5)PolicyHide(pp,policy)(CP,L,V)。计算标签矩阵LL中的每一行就对应一个最小授权集,L中的每一列都与相同属性相关。L是一个N×|P|大的矩阵,其中L中每个元素Li,j是布尔值,当Li,j=1时,说明属性Aj包含在Yi中。同时DO生成一个有序映射行向量V={V0,V1,,Vl-1}在属性集相同的访问矩阵和P'之间。当ρ(j)=Ai时,Vi=j

最小授权集Yi对应多项式fi(x),设Yi={Ai,0,Ai,1,,Ai,n-1}|Yi|=n,然后计算每个最小授权集的策略密文,如下所示:

i[N]:fi(x)=(x-Ai,0)(x-Ai,1)(x-Ai,n-1)=xn+an-1xn-1++a1x+a0
cpi=cpi|Yi|||cpi,|Yi|-1||||cpi,0
CP=cp1||cp2||||cpN||LM||LV

(6)DecTest(pp,S,CP,L,V,LS')(True/False,Map)

举个例子:假设访问策略为“{A1    A2}{A3    A4}”,则最小授权集为{{A1,A3},{A1,A4},{A2,A3},{A2,A4}},排序后的策略属性集P'={A1,A2,A3,A4},访问控制结构中的映射函数ρ{ρ(1)=A3,ρ(2)=A4,ρ(3)=A2,ρ(4)=A1}。用户u1的属性集S={A5,A3,A6,A1},则排序后的属性集S'={A1,A3,A5,A6}。因为S包含最小授权集合{A1,A3},可以得出S={1,1,0,0}S'表示密钥中的属性顺序与排序后的属性集S中的属性顺序之间的关系,所以S'={3,1,0,2}。根据LS,可以建立策略的排序属性集与排序用户属性集的对应关系。然后,通过LVLS'可以知道密文和密钥之间的映射关系。映射关系如图3所示。

根据LS'关系可以得出密文和密钥之间的映射关系如下所示:

[C1,4,C2,4,C3,4][K1,3,K2,3]
[C1,1,C2,1,C3,1][K1,1,K2,1]

(7)DecOut(TK,CT,Map,CP)CTout。CPS接收到密文后,通过转换密钥TK输出密文一部分CTout。存在以下两种情况:

Case1:如果uR,算法终止,输出⊥。

Case2:如果uR,然后执行如下算法:

① 对于uR,存在一个节点jcover(R)path(u),假设path(u)={i0,idept(j),,id},其中idept(j)=j,并且id是二叉树中与用户u相关的叶节点值,算法计算θ=xidxj,然后计算B=e(Ku,Tj)θ=e(g,g)rs

② 让I{1,2,,l}定义为I={i|ρ(i)S},存在一组常数{ωiZp}iI,使iIωiM=(1,0,,0),因此有iIωiλi=s。然后计算:

P=iI(e(C1,iwC4,i,L)e(C2,iuC5,i,K1,i)e(C3,i,K2,i))ωi= e(g,w)rs
A=e(K,C0)=e(g,g)αsze(g,w)rse(g,g)rs
CTout=ABP=e(g,g)αsz

(8)Dec(pp,CTout,DK)m。DU收到云代理服务器输出的CTout后,通过解密密钥DK对消息m进行解密。m=C(CTout)z

(9)KeySanityCheck(pp,msk,SK)0/1zZp,K,L,Ku,K1,i,K2,iG

如果e(K,gz)=e(g,g)αe(Lz,w)e(Lz,g)1KeySanityCheck算法返回1。否则返回0。

(10)Trace(pp,SK,R)u/。如果密钥SK不能通过KeySanityCheck,算法将终止,并输出。否则,算法执行如下:

① 二叉树中如果不存在与id相关联的用户节点,算法中止,输出

② 如果uR,将u添加到R中,更新后的列表R'=R{u}

(11)CTUpdate(CT,R',X')CT'。CA随机选择ηZp,计算X'={ηxi}i=02|U|-2,设cover(R')为最新撤销列表R'相关联的最小覆盖集。给定j'cover(R'),有以下两种情况:

① 如果j=j',则Tj=Tj'

② 如果jj'的祖先,则path(j')=path(j){idept(j)+1,,idept(j')},其中idept(j)=jidept(j')=j'。让Yj=Tj并计算Yik+1=(Yik)xik+1'xik'=yik+1s,其中k=dept(j),,dept(j')

最后更新的密文CT'={R',C,C0,{C1,i,C2,i,C3,i,C4,i,C5,i}i[l],{Tj'=yj's=gxj's}j'cover(R')}

4 安全性证明

定理1 如果q BDHE假设成立,则在选择明文攻击的条件下,任何攻击者都无法在多项式时间内以不可忽略的优势攻破本文方案。

证明 如果攻击者Aq次询问后,能够以不可忽略的优势ε攻破本文方案,那么我们可以构造一个挑战者B,该挑战者B能够以不可忽略的优势ε/2攻破该假设。

Init:攻击者A将要挑战的策略(M*,ρ*)和撤销列表R*发送给挑战者B

Setup:B必须向A提供系统的公共参数。为了做到这一点,B隐式地将方案的主密钥设置为α=aq+1+α˜,挑战者B随机选取α˜Zp,其中aq是在假设中设置,α为正确分布,a是理论上对A隐藏的信息。然后B选择随机指数u˜,v˜,h˜Zp,使用假设给A提供以下公共参数:

g=g,w=ga
v=gv˜(j,k[l,n])(gakbj)Mj,k* ,u=gu˜(j,k[l,n])(gakbj2)Mj,k*
h=gh˜(j,k[l,n])(gakbj)-ρ*(j)Mj,k*  e(g,g)α=e(ga,gaq)e(g,g)α˜

Phase1:攻击者A向挑战者B发起属性集(u1,S1)(u2,S2)(uq,Sq)的密钥询问。

如果S不满足访问策略并且uR*A随机选取向量w={w1,w2,w3,,wn}TZp,其中w1=-1Mi*w=0。对于所有的iI={i|ρ(i)S},随机选取r˜,zZp,隐式定义如下:

r=r˜+w1aq+w2aq-1++wnaq+1-n=r˜+i[n]wiaq+1-i,
K0=gαzgrwr=gα˜z(ga)r˜i=2n(gaq+1-iz)wigr˜i=2n(gaq+1-i)wiL=gr=gr˜i[n](gaq+1-i)wi

假设path(id)={i0,,id},因为uR*,所以idIR*,xid=vid+did

接下来,B计算Ku=(gti=1n*gwidq+1-i)1(vid+did)(a+c)=grxid

此外,对于所有i[|S|],计算K1,i=griK2,i=(uAih)riv-r

v-r=v-r˜(gv˜(j,k[l,n])gakMj,k*/bj)-wiaq+1-i=v-r˜i[n](gaq+1-i)-v˜wi(i,j,k[n,l,n])(gaq+1-i/bj)-wiMj,k*Δ(i,j)[n,l]g-wiMj,k*aq+1/bj=Δj[l]g-<w,Mj*>aq+1/bj=Δj[l]ρ*(j)Sg-<w,Mj*>aq+1/bj

计算(uAih)ri,对于每个属性AiS进行隐式定义:

ri=r˜i+ri'[l]ρ*(i')Sbi'Ai-ρ*(i')=r˜i+ri'[l]ρ*(i')Sbi'Ai-ρ*(i')+(i,i')[n,l]ρ*(i')Swibi'aq+1-iAi-ρ*(i')

计算K2,i=(uAih)riv-r

(uAih)ri=(uAih)r˜i(gu˜Ai+h˜(j,k)[l,n]g(Ai-ρ*(j))Mj,k*ak/bj2)r˜i'[l]ρ*(i')Sbi'Ai-ρ*(i')(gu˜Ai+h˜(j,k)[l,n]g(Ai-ρ*(j))Mj,k*ak/bj2)(i,i')[n,l]ρ*(i')Swibi'aq+1-iAi-ρ*(i')=Ψ(i,j)[n,l]ρ*(j)Sg(Ai-ρ*(j))wiMj,k*bi'aq+1-i+k/(Ai-ρ*(j))bj2=Ψj[l]ρ*(j)Sg<w,Mj*>aq+1/bj,

其中

Ψ=(uAih)r˜i(Ki,1/gr˜i)u˜Ai+h˜(i',j,k[l,l,n])ρ*(i')S(gbi'ak/bj2)r˜(Ai-ρ*(j))Mj,k*/(Ai-ρ*(i'))(i,i',j,k[n,l,l,n])ρ*(i')S(gbi'aq+1+k-i/bj2)(Ai-ρ*(j))wiMj,k*/(Ai-ρ*(i'))
K1,i=gri=gr˜ii'[l]ρ*(i')S(gbi')r˜/(Ai-ρ*(i'))(i,i')[n,l]ρ*(i')S(gbi'aq+1-i)wi/(Ai-ρ*(i'))

(uAih)ri的第二部分恰好与v-r有问题的部分抵消。因此挑战者可以为所有的AiS计算K1,iK2,i,并将密钥sk={K,L,Ku,K1,i,K2,i}发送给攻击者A。

Challenge:攻击者将输出一对相同长度的消息(m0,m1)。在此阶段,挑战者抛出随机硬币b{0,1}并构造 C=mbTe(g,g)α˜sC0=gs,其中T是挑战项,gs是假设的对应项。

挑战者设置y=(s,sa+y˜2,sa2+y˜3,,san-1+y˜n),其中(y˜2,y˜3,,y˜n)Zp。由于λ=My,本文有λT=i[n]MT,i*sai-1+i=2nMT,i*y˜i=i[n]MT,i*sai-1+λ˜Tλ˜T=i=2nMT,i*y˜i挑战者已知,对于每一行T[l],挑战者B隐式设置tT=-sbT,利用以上,B可以计算出:

C1,T=wλT'vtT=wλ˜T'i[n]gMT,i*sai(gsbT)-v˜wλ˜T'(j,k)[l,n]g-Mj,k*aksbT/bj=wλ˜T'(gsbT)-v˜(j,k)[l,n]jT(gsakbT/bj)-Mj,k*C2,T=(uρ*(T)h)-tT=(gsbT)-(u˜ρ*(T)+h˜)((j,k)[l,n]g(ρ*(T)-ρ*(j))Mj,k*ak/bj2)-sbT=(gsbT)-(u˜ρ*(T)+h˜)(j,k)[l,n]jT(gsakbT/bj2)-(ρ*(T)-ρ*(j))Mj,k*,C3,T=gtT=(gsbT)-1

此外,挑战者B随机选取βT,εTZp,挑战者B计算:C4,T=βT ,C5,T=εT 

jcover(R*),有xj=vj+dqyj=gvj+dq,然后B计算出Tj=(gs)vj+dq=yjs

注意,通过使用tT=-sbT,与wλT'的未知次幂相抵消。因此挑战者B将密文CT=(C,C0,{C1,i,C2,i,C3,i,C4,i,C5,i}i[l],{Tj}jcover(R)})交给攻击者A

Phase2:与查询阶段1相同。

Guess:攻击者为挑战位输出一个猜测b'。如果b'=b,挑战者B输出0,即它声称挑战项是T=e(g,g)saq+1,否则输出1。

如果T=e(g,g)saq+1,则A进行了安全游戏,即可计算C=mbTe(g,g)α˜s=mbe(g,g)αs。如果攻击者A以不可忽略的优势攻破了方案,那么挑战者B就能以不可忽略的优势攻破q-BDHE假设。因此证明了定理1。

定理2 对于任何PPT敌手来说,本文方案的PolicyHide算法是安全的。

证明 通过构造一个满足方程1和2的模拟器来证明该定理。在此场景中,DO为A,DU为BA在模拟器中计算相关参数,B得到最终结果,在这个场景中不会出现公式2。在交集中有如下两种情况:假设构建了模拟器S1fA(x,y)=fB(x,y)=(YX),并让(X,fA(X,Y))作为输入:

fA(X,Y)=fB(X,Y)=(YX),fA(X,Y)=fB(X,Y)=(YX)

(1)S1(X,YX)作为输入。首先它随机选择持有fA(X,Y)=fA(X,Y¯)的集合Y¯=y¯1,y¯2,,y¯m。然后S1X传导多项式f(x),其中A=(a0,a1,,an)f的系数集。

(2)S1选择一个较大的随机元素r'Zp。它根据A来计算A'=(gr'a0,gr'a1,,gr'an)。然后,它计算B=(m,(y¯1+y¯2+y¯m),,(y¯1-n+y¯2-n++y¯m-n))。实体A也选择一个较大的随机元素rZp进行计算A=(gra0,gra1,,gran)

(3)S1的计算如下:C'=gr'a0mgr'a1(y¯1+y¯2++y¯m)()gr'an(y¯1-n+y¯2-n++y¯m-n)=gr'[f(y¯1)++f(y¯m)],实体B的计算如下:C=gra0mgra1(y¯1+y¯2++y¯m)()gran(y¯1-n+y¯2-n++y¯m-n)=gr[f(y¯1)++f(y¯m)]

然后,viewA(X,Y)={X,A,A,r}S1(X,Y)={X,A,A',r',C'}fB(X,Y)=outputB(X,Y)={C}。根据假设,我们得到C'=C=(YX)。当r'=rA'=A。因此公式1成立。

5 方案分析

5.1 功能对比

将本文提出的策略完全隐藏的可追踪可撤销的CP-ABE方案与其他基于策略隐藏、大宇宙、在线/离线、解密测试、外包解密、追踪和撤销功能的CP-ABE方案[10]和[20]进行比较,对比结果如表1所示。

表1中可以看出,TR-CPABE(Traceable and Revocable Ciphertext Policy Attribute-based Encryption)10和FH-CPABE(Fully Hidden Ciphertext Policy Attribute-based Encryption)10都不支持在线/离线加密技术,FH-CPABE12虽然支持外包解密,但不支持密钥的追踪和用户的撤销,因此该方案不具有实用性。TR-CPABE 20支持追踪和撤销,但不支持策略完全隐藏和大宇宙,方案不具有可扩展性。本方案结合了TR-CPABE 20和FH-CPABE 10的优点,同时支持全隐藏、大宇宙、在线/离线、解密测试、外包解密、追踪撤销的功能,因此具有更强可用性。

5.2 存储成本对比

存储开销是访问控制方案中最重要的问题之一。令|eT|GT中的元素大小,|e|GZp中的元素大小,l为策略中属性的个数,s为用户属性集中的属性个数,|c|为密文大小,M为客户端存储的数字对的平均个数,Sma为最小授权集。

表2中可以看出,本方案的密文分布在不同的服务器上。但在TR-CPABE20中,云服务器负责存储所有密文,当多个用户同时访问时,会有较大的延迟。同时,TR-CPABE20中的策略密文通常随着系统中属性集的增加而增加,而本方案的策略密文随着j=1N|Sma|的值而增加,Sma的值取决于策略的复杂度。

5.3 实验分析

为了进一步评价本方案的性能,在PyCharm编译器中引入Charm库27,用Python实现了本方案、TR-CPABE 20和FH-CPABE 10。实验运行环境如下:操作系统为Linux,镜像为Ubuntu 18.04.6,运行内存4 GB。访问策略中的属性数量从 0 增加到 25,同时满足访问策略的用户属性数量也从0增加到25,实验一共进行50次,取均值为最终结果。

图4所示,在初始化方面,文献[10]中FH-CPABE的初始化时间花费少,因为此方案没有追踪和撤销功能,而本方案和TR-CPABE20为了实现追踪和撤销,在初始化阶段需要初始化一个二叉树,因此消耗的时间比FH-CPABE10长。如图5所示,在密钥生成方面,三个方案密钥生成消耗的时间均与属性数量呈线性关系。如图6所示,在数据拥有者加密方面,TR-CPABE 20和FH-CPABE10加密所需时间与属性数量呈线性关系,而本文方案呈常量级,因为本方案加密阶段把大量计算转移到离线阶段,在线阶段只需要执行轻量级操作。如图7所示,在数据用户解密方面,TR-CPABE 20的解密时间与属性数量呈线性关系,而FH-CPABE10和本方案的解密时间呈常量级,因为大部分解密到外包到代理云服务器,用户只需要执行少量解密运算。在本方案中,有一个主要因素影响策略隐藏的时间,即策略的复杂性。实验中,本方案使用两个简单的值来表示复杂度:最小授权集的平均大小|Sma|和最小授权集的数量N。从图8中可以看出,策略隐藏时间随着策略复杂度的增加而增加。

综上所述,本方案兼并了文献[20]TR-CPABE和文献[10]FH-CPABE的优点,功能更丰富,实用性更强,并且在加密和解密阶段所消耗时间达到了常量级。整体来看,本方案的表现力更强。

6 结论

本文提出了一个具有策略完全隐藏的属性基加密方案,有效地解决了医疗系统中数据所有者的隐私和数据安全性问题,在保护用户隐私的基础上增加了追踪和撤销功能,使方案更具有可用性。方案使用PSI技术实现了策略的完全隐藏,使用在线/离线技术提高了算法的加密速度,采用外包解密技术,将大部分密文给医疗云服务器计算,从而降低用户的计算开销。此外,本方案可以根据用户的解密密钥追踪用户,使用与用户信息相关联的二叉树的叶节点值来撤销用户。最后通过困难性假设证明了该方案的安全性。

参考文献

[1]

WANG C G, BI Z M, XU L D. IoT and Cloud Computing in Automation of Assembly Modeling Systems[J]. IEEE Trans Ind Inform, 2014, 10(2): 1426-1434. DOI: 10.1109/TII.2014.2300346 .

[2]

XU B Y, XU L D, CAI H M, et al. The Design of an M-health Monitoring System Based on a Cloud Computing Platform[J]. Enterp Inf Syst, 2017, 11(1): 17-36. DOI: 10.1080/17517575.2015.1053416 .

[3]

SAHAI A, WATERS B. Fuzzy Identity-based Encryption[C]//Proceedings of the 24th annual international conference on Theory and Applications of Cryptographic Techniques. New York: ACM, 2005: 457-473. DOI: 10.1007/11426639_27 .

[4]

BETHENCOURT J, SAHAI A, WATERS B. Ciphertext-policy Attribute-based Encryption[C]//2007 IEEE Symposium on Security and Privacy (SP '07). New York: IEEE, 2007: 321-334. DOI: 10.1109/SP.2007.11 .

[5]

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: ACM, 2006: 89-98. DOI: 10.1145/1180405.1180418 .

[6]

NISHIDE T, YONEYAMA K, OHTA K. Attribute-based Encryption with Partially Hidden Encryptor-specified Access Structures[C]//Proceedings of the 6th international conference on Applied cryptography and network security. New York: ACM, 2008: 111-129. DOI: 10.5555/1788857.1788864 .

[7]

ZHANG Y H, CHEN X F, LI J, et al. Anonymous Attribute-based Encryption Supporting Efficient Decryption Test[C]//Proceedings of the 8th ACM SIGSAC symposium on Information, computer and communications security. New York: ACM, 2013: 511-516. DOI: 10.1145/2484313.2484381 .

[8]

YANG K, HAN Q, LI H, et al. An Efficient and Fine-grained Big Data Access Control Scheme with Privacy-preserving Policy[J]. IEEE Internet Things J, 2017, 4(2): 563-571. DOI: 10.1109/JIOT.2016.2571718 .

[9]

ZHANG Z Q, ZHANG J B, YUAN Y L, et al. An Expressive Fully Policy-hidden Ciphertext Policy Attribute-based Encryption Scheme with Credible Verification Based on Blockchain[J]. IEEE Internet Things J, 2022, 9(11): 8681-8692. DOI: 10.1109/JIOT.2021.3117378 .

[10]

YANG L, LI C, CHENG Y T, et al. Achieving Privacy-preserving Sensitive Attributes for Large Universe Based on Private Set Intersection[J]. Inf Sci, 2022, 582: 529-546. DOI: 10.1016/j.ins.2021.09.034 .

[11]

XUE J, SHI L, ZHANG W, et al. Poly-ABE: A Traceable and Revocable Fully Hidden Policy CP-ABE Scheme for Integrated Demand Response in Multi-Energy Systems[J]. J Syst Architect, 2023, 143: 102982. DOI: 10.1016/j.sysarc.2023.102982 .

[12]

LUO C, SHI J, XIE M, et al. A Lightweight Access Control Scheme Supporting Policy Hidden Based on Path Bloom Filter[C]//International Conference on Information Security and Cryptology. Singapore: Springer Nature Singapore, 2023: 433-451. DOI: 10.1007/978-981-97-0942-7_22 .

[13]

LIU Z, CAO Z F, WONG D S. White-box Traceable Ciphertext-policy Attribute-based Encryption Supporting any Monotone Access Structures[J]. IEEE Trans Inf Forensics Secur, 2013, 8(1): 76-88. DOI: 10.1109/TIFS.2012.2223683 .

[14]

NING J T, DONG X L, CAO Z F, et al. White-box Traceable Ciphertext-policy Attribute-based Encryption Supporting Flexible Attributes[J]. IEEE Trans Inf Forensics Secur, 2015, 10(6): 1274-1288. DOI: 10.1109/TIFS.2015.2405905 .

[15]

NING J T, CAO Z F, DONG X L, et al. Large Universe Ciphertext-policy Attribute-based Encryption with White-box Traceability[C]//Computer Security-ESORICS 2014. New York: ACM,: 55-72. DOI: 10.1007/978-3-319-11212-1_4 .

[16]

NING J T, CAO Z F, DONG X L, et al. White-box Traceable CP-ABE for Cloud Storage Service: How to Catch People Leaking Their Access Credentials Effectively[J]. IEEE Trans Dependable Secure Comput, 2018, 15(5): 883-897. DOI: 10.1109/TDSC.2016.2608343 .

[17]

LIU Z H, DUAN S H, ZHOU P L, et al. Traceable-then-revocable Ciphertext-policy Attribute-based Encryption Scheme[J]. Future Gener Comput Syst, 2019, 93(C): 903-913. DOI: 10.1016/j.future.2017.09.045 .

[18]

WANG S P, GUO K K, ZHANG Y L. Traceable Ciphertext-policy Attribute-based Encryption Scheme with Attribute Level User Revocation for Cloud Storage[J]. PLoS One, 2018, 13(9): e0203225. DOI: 10.1371/journal.pone.0203225 .

[19]

LIAN H J, WANG G B, WANG Q X. Fully Secure Traceable and Revocable-storage Attribute-based Encryption with Short Update Keys via Subset Difference Method[C]//2018 Third International Conference on Security of Smart Cities, Industrial Control System and Communications (SSIC). New York: IEEE, 2018: 1-8. DOI: 10.1109/SSIC.2018.8556734 .

[20]

HAN D Z, PAN N N, LI K C. A Traceable and Revocable Ciphertext-policy Attribute-based Encryption Scheme Based on Privacy Protection[J]. IEEE Trans Dependable Secure Comput, 2022, 19(1): 316-327. DOI: 10.1109/TDSC.2020.2977646 .

[21]

LIU Z C, JIANG Z L, WANG X, et al. Practical Attribute-based Encryption: Outsourcing Decryption, Attribute Revocation and Policy Updating[J]. J Netw Comput Appl, 2018, 108: 112-123. DOI: 10.1016/j.jnca.2018.01.016 .

[22]

CUI H, WAN Z G, WEI X L, et al. Pay as you Decrypt: Decryption Outsourcing for Functional Encryption Using Blockchain[J]. IEEE Trans Inf Forensics Secur, 2020, 15: 3227-3238. DOI: 10.1109/TIFS.2020.2973864 .

[23]

GREEN M, HOHENBERGER S, WATERS B. Outsourcing the Decryption of ABE Ciphertexts[C]//Proceedings of the 20th USENIX conference on Security. New York: ACM, 2011: 34. DOI: 10.5555/2028067.2028101 .

[24]

LI J, CHEN X F, LI J W, et al. Fine-grained Access Control System Based on Outsourced Attribute-based Encryption[C]//European Symposium on Research in Computer Security. Berlin, Heidelberg: Springer, 2013: 592-609.10.1007/978-3-642-40203-6_33

[25]

HOHENBERGER S, WATERS B. Online/Offline Attribute-based Encryption[C]//International Workshop on Public Key Cryptography. Berlin, Heidelberg: Springer, 2014: 293-310.10.1007/978-3-642-54631-0_17

[26]

DATTA P, DUTTA R, MUKHOPADHYAY S. Fully Secure Online/Offline Predicate and Attribute-based Encryption[C]//International Conference on Information Security Practice and Experience. Cham: Springer, 2015: 331-345.10.1007/978-3-319-17533-1_23

[27]

AKINYELE J A, GARMAN C, MIERS I, et al. Charm: a framework for rapidly prototyping cryptosystems[J]. J Cryptogr Eng, 2013, 3:111-128. DOI: 10.1007/s13389-013-0057-3 .

基金资助

山西省自然科学基金(202203021221012)

AI Summary AI Mindmap
PDF (1870KB)

177

访问

0

被引

详细

导航
相关文章

AI思维导图

/