一种支持双重访问控制的数据共享方法及系统技术方案

技术编号:31481003 阅读:27 留言:0更新日期:2021-12-18 12:14
本发明专利技术公开了一种支持双重访问控制的数据共享方法及系统。本方法为:设定系统公钥PK、主密钥MSK;使用公钥PK生成中间密钥池IK;使用公钥PK、主密钥MSK、中间密钥池IK、访问策略和属性集合生成转换密钥TK和恢复密钥RK;使用公钥PK生成中间密文池IT;使用公钥PK、中间密文池IT、属性集合和访问策略对明文msg进行加密,生成密文CT;使用公钥PK和转换密钥TK对密文CT进行部分解密,得到转换密文TCT;使用公钥PK和恢复密钥RK对转换密文TCT解密,得到明文msg。本发明专利技术提供细粒度的双重访问控制功能,有效减少密钥生成中心和用户的计算开销,便于资源受限的设备使用。便于资源受限的设备使用。便于资源受限的设备使用。

【技术实现步骤摘要】
一种支持双重访问控制的数据共享方法及系统


[0001]本专利技术涉及数据加密和数据访问控制领域,特别是,实现一种支持双重访问控制的数据共享方法及系统。

技术介绍

[0002]随着云计算技术的快速发展,数据共享成为当前研究和应用热点之一。属性加密(ABE)作为一种具有一对多加密特性的公钥加密方案,是实现云计算环境下安全受控数据共享的重要技术工具。
[0003]ABE可以在提供数据机密性的同时,实现细粒度的访问控制。具体地,根据访问策略的关联性,ABE可以分为密钥策略属性加密(KP

ABE),以及密文策略属性加密(CP

ABE)。在KP

ABE方案中,用户私钥与访问策略相关联,数据密文与属性集合相关联,当且仅当数据密文的属性集合满足用户私钥的访问策略时,才可以正确解密。KP

ABE方案适用于付费电视等系统,例如,在加密时设置属性集合(“2021年”,“体育频道”)生成密文,用户拥有访问策略为[“2021年”AND(“体育频道”OR“娱乐频道”]的私钥可以解密。在CP

ABE方案中,数据密文与访问策略相关联,用户私钥与属性集合相关联,当且仅当用户私钥的属性集合满足数据密文的访问策略时,才可以正确解密。CP

ABE方案适用于电子病例等系统,例如,在加密时设置访问策略[“心内科”AND(“主任医师”OR“副主任医师”)]生成密文,用户拥有属性集合为(“心内科”,“主任医师”)的私钥可以解密。
[0004]可以看到,KP

ABE方案和CP

ABE方案在应用中支持的访问控制功能是不同的,在系统中仅使用KP

ABE或CP

ABE方案具有一定局限性。选择一种ABE方案进行系统初始化,用户就只能使用一种方案申请私钥和加密数据,而无法灵活地使用另一种方案的访问控制功能。针对这一问题,Attrapadung和Imai提出了双重策略属性加密(DP

ABE),支持同时对用户和数据设置访问策略和属性集合,提供非常灵活的访问控制功能。
[0005]此外,ABE方案在实际应用中的主要缺点是各算法的计算复杂度较高,密钥生成、加密、解密算法计算量均与涉及到的属性个数呈线性增长关系。针对这一问题,Ma等人使用外包计算技术,将CP

ABE方案中密钥生成、加密、解密算法中复杂的计算操作外包给具有高计算能力的云计算服务器,有效降低密钥生成中心和用户的计算开销。该方案满足选择明文攻击安全性。但是,现有技术仅支持对CP

ABE方案的外包计算,而不能支持对DP

ABE方案的外包计算。在支持双重访问控制的同时,降低密钥生成中心和用户的计算开销,有待研究。

技术实现思路

[0006]为解决外包数据的访问控制问题和系统性能问题,本专利技术提供一种支持双重访问控制的数据共享方法及系统。本专利技术将密钥策略属性加密、密文策略属性加密和外包计算技术相结合,具有如下技术特色:一,提供高等级数据机密性保护,方案达到可重放选择密文攻击安全性;二、提供细粒度的双重访问控制功能,支持同时对系统用户和数据明文设置
访问策略和属性集合;三,将密钥生成、加密和解密算法的绝大部分计算任务外包给云计算服务器处理,有效减少密钥生成中心和用户的计算开销,便于资源受限的设备使用。
[0007]本专利技术采取的技术方案
[0008]根据本专利技术设计出一种支持双重访问控制的数据共享方法,特征在于,包括如下步骤:
[0009]A、系统初始化(Setup.pkg):设定系统公钥PK,生成系统主密钥MSK;
[0010]B、外包密钥生成(KeyGen.out):使用系统公钥PK,生成中间密钥池IK;
[0011]C、本地密钥生成(KeyGen.pkg):使用系统公钥PK、系统主密钥MSK、中间密钥池IK、允许解密的明文的访问策略和数据使用者的属性集合生成该数据使用者的转换密钥TK和恢复密钥RK;
[0012]D、外包加密(Enc.out):使用系统公钥PK,生成中间密文池IT;
[0013]E、本地加密(Enc.owner):使用系统公钥PK、中间密文池IT、明文的属性集合和允许解密的数据使用者的访问策略对明文msg进行加密,生成原始密文CT;
[0014]F、外包解密(Dec.out):使用系统公钥PK和转换密钥TK,对原始密文CT进行部分解密,得到转换密文TCT;
[0015]G、本地解密(Dec.user):使用系统公钥PK和恢复密钥PK,对转换密文TCT进行最终解密,得到明文msg。
[0016]根据本专利技术设计出一种支持双重访问控制的数据共享系统,特征在于,包括如下实体:
[0017]密钥生成中心:在系统初始化阶段,生成系统公钥PK和系统主密钥MSK,将系统公钥PK发送给所有其他实体;在本地密钥生成阶段,使用中间密钥池IK、系统主密钥MSK、允许解密的明文的访问策略和数据使用者的属性集合生成该数据使用者的转换密钥TK和恢复密钥RK,将转换密钥TK发送给第一云计算服务器,将恢复密钥RK发送给该数据使用者;
[0018]数据拥有者:在本地加密阶段,使用系统公钥PK、中间密文池IT、明文的属性集合和允许解密的数据使用者的访问策略对明文msg进行加密,生成原始密文CT,发送给第一云计算服务器;
[0019]数据使用者:在本地解密阶段,使用系统公钥PK、恢复密钥RK,对转换密文TCT进行最终解密,得到明文msg;
[0020]第一云计算服务器:在外包密钥生成阶段,与第二云计算服务器共同生成中间密钥池IK,发送给密钥生成中心;在外包加密阶段,与第二云计算服务器共同生成中间密文池IT,发送给数据拥有者;在外包解密阶段,使用转换密钥TK,对原始密文CT进行部分解密,得到转换密文TCT,发送给数据使用者;
[0021]第二云计算服务器:在外包密钥生成阶段,与第一云计算服务器共同生成中间密钥池IK,发送给密钥生成中心;在外包加密阶段,与第一云计算服务器共同生成中间密文池IT,发送给数据拥有者。
[0022]与现有技术相比,本专利技术的积极效果为:
[0023]本专利技术将密钥策略属性加密、密文策略属性加密和外包计算技术相结合,具有如
下技术特色:一,提供高等级数据机密性保护,方案达到可重放选择密文攻击(RCCA)安全性;二、提供细粒度的双重访问控制功能,支持同时对系统用户和数据明文设置访问策略和属性集合,在实际场景中应用更为灵活;三,密钥生成、加密和解密算法的绝大部分计算任务外包给云计算服务器离线处理,有效降低密钥生成中心和用户的在线计算时间,便于资源受限的设备使用。
附图说明
[0024]图1是本专利技术所述的一种支持双重访问控制的数据共享方法及系统的系统模型图。
[0025]图2是本专利技术所述的一种本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种支持双重访问控制的数据共享方法,其特征在于,包括如下步骤:A、密钥生成中心生成系统公钥PK、主密钥MSK;将该系统公钥PK发送给系统中的其他实体,所述实体包括数据拥有者、数据使用者和第一云计算服务器、第二云计算服务器;B、所述第一云计算服务器与所述第二云计算服务器使用系统公钥PK生成中间密钥池IK,并将其发送给所述密钥生成中心;C、所述密钥生成中心使用系统公钥PK、系统主密钥MSK、中间密钥池IK、允许解密的明文的访问策略和数据使用者的属性集合生成转换密钥TK和恢复密钥RK;然后将该转换密钥TK发送给所述第一云计算服务器,将该恢复密钥RK发送给该数据使用者;D、所述第一云计算服务器与所述第二云计算服务器使用系统公钥PK,生成中间密文池IT,并将其发送给该数据拥有者;E、所述数据拥有者使用系统公钥PK、中间密文池IT、明文的属性集合和允许解密的数据使用者的访问策略对明文msg进行加密,生成原始密文CT并将其发送给所述第一云计算服务器;F、所述第一云计算服务器使用系统公钥PK和转换密钥TK,对原始密文CT进行部分解密,得到转换密文TCT,并将其发送给该数据使用者;G、所述数据使用者使用系统公钥PK和恢复密钥RK,对转换密文TCT进行最终解密,得到明文msg。2.如权利要求1所述的方法,其特征在于,步骤A中,生成系统公钥PK和主密钥MSK的方法为:选择阶数为p的群和以及双线性映射e:系统属性空间为有限域集合选择随机元素g1,u1,u2,h1,h2,w1,w2,,选择哈希函数H:密钥导出函数KDF:得到系统公钥系统主密钥MSK=α。3.如权利要求2所述的方法,其特征在于,步骤B中,生成中间密钥池IK的方法为:选择随机元素计算设IK
kp
=(μ

j
,τ

j
,y

j
,K

j,0
,K

j,1
,K

j,2
);选择随机元素α

,计算K

v
=v

r
;选择随机元素r

i
,计算设IK
cp,main
=(α

,r

,K
′0,K
′1,K

v
),IK
cp,attr
=(r

i
,a

i
,K

i,2
,K

i,3
);最后,得到中间密钥池IK=(IK
kp
,IK
cp,main
,IK
cp,attr
)。4.如权利要求3所述的方法,其特征在于,步骤C中,生成转换密钥TK和恢复密钥RK的方法为:将允许解密的明文的访问策略设为并使用线性秘密分享方案将表示为l行n列的矩阵以及映射其中l和n的值由确定;从IK中选择2l个IK
kp
组成IK1
kp
=({μ

j
,τ

j
,y

j
,K

j,0
,K

j,1
,K

j,2
}
j∈[l]
),IK2
kp
=({μ

j
,τ

j
,y

j
,K

j,0
,K

j,1
,K

j,2
}
j∈[l]
);选择随机元素对于j∈[l],计算τ
j
=(τ

j


j
)γ,y
j
=(y

j
τ

j
+y

j
τ

j
)γ/τ
j
,K
j,0
=K

j,0
·
K

j,0
,K
j,1
=K

j,1
·
K

j,1
,K
j,2
=K

j,2
·
K

j,2
;选择向量其中随机元素β,计算β的分享向量其中表示矩阵N与列向量相乘;对于j∈[l],计算K
j,4
=(y
j

π(j))τ
j
/γ;设/γ;设将数据使用者的属性集合设为从IK中选择2个IK
cp,main
和2d个IK
cp,attr
组成IK1
cp
=(α

,r

,K
′0,K
′1,K

v
,{r

i
,a

i
,K

i,2
,K

i,3
}
i∈[d]
),IK2
cp
=(a

,r

,K
″0,K
″1,K

v
,{r

i
,a

i
,K

i,2
,K

i,3
}
i∈[d]
);计算r=(r

+r

)γ,K0=K
′0·
K
″0,K1=K
′1·
K
″1,对于i∈[d],计算r
i
=(r

i
+r

i
)γ,a
i
=(a

i
r

i
+a

i
r

i
)γ/r
i
,K
i,2
=K

i,2
·
K

i,2
,K
i,3
=K

i,3
·
K

i,3
·
K

v
·
K

v
,K
i,5
=(A
i

a
i
)r
i
/γ;设最后,得到转换密钥TK=(TK
kp
,TK
cp
),恢复密钥RK=γ。5.如权利要求4所述的方法,其特征在于,步骤D中,生成中间密文池IT的方法为:选择随机元素计算C

r
=e(g1,g2)
αs

,设IT
cmn
=(s

,C

r
,C
′0);选择随机元素计算选择随机元素σ

j
,计算设IT
kp,main
=(ψ

,C

w
),IT
kp,attr
=(σ

j
,b

j
,C

j,1
,C

j,2
...

【专利技术属性】
技术研发人员:周永彬王提马晖张锐
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1