【技术实现步骤摘要】
一种支持双重访问控制的数据共享方法及系统
[0001]本专利技术涉及数据加密和数据访问控制领域,特别是,实现一种支持双重访问控制的数据共享方法及系统。
技术介绍
[0002]随着云计算技术的快速发展,数据共享成为当前研究和应用热点之一。属性加密(ABE)作为一种具有一对多加密特性的公钥加密方案,是实现云计算环境下安全受控数据共享的重要技术工具。
[0003]ABE可以在提供数据机密性的同时,实现细粒度的访问控制。具体地,根据访问策略的关联性,ABE可以分为密钥策略属性加密(KP
‑
ABE),以及密文策略属性加密(CP
‑
ABE)。在KP
‑
ABE方案中,用户私钥与访问策略相关联,数据密文与属性集合相关联,当且仅当数据密文的属性集合满足用户私钥的访问策略时,才可以正确解密。KP
‑
ABE方案适用于付费电视等系统,例如,在加密时设置属性集合(“2021年”,“体育频道”)生成密文,用户拥有访问策略为[“2021年”AND(“体育频道”OR“娱乐频道”]的私钥可以解密。在CP
‑
ABE方案中,数据密文与访问策略相关联,用户私钥与属性集合相关联,当且仅当用户私钥的属性集合满足数据密文的访问策略时,才可以正确解密。CP
‑
ABE方案适用于电子病例等系统,例如,在加密时设置访问策略[“心内科”AND(“主任医师”OR“副主任医师”)]生成密文,用户拥有属性集合为(“心内科”,“主任医师”)的私钥可以解密。
...
【技术保护点】
【技术特征摘要】
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
...
【专利技术属性】
技术研发人员:周永彬,王提,马晖,张锐,
申请(专利权)人:中国科学院信息工程研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。