CN113810368B - 一种支持双重访问控制的数据共享方法及系统 - Google Patents

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

Info

Publication number
CN113810368B
CN113810368B CN202110890548.8A CN202110890548A CN113810368B CN 113810368 B CN113810368 B CN 113810368B CN 202110890548 A CN202110890548 A CN 202110890548A CN 113810368 B CN113810368 B CN 113810368B
Authority
CN
China
Prior art keywords
key
ciphertext
pool
cloud computing
selecting
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
CN202110890548.8A
Other languages
English (en)
Other versions
CN113810368A (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.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
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 Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN202110890548.8A priority Critical patent/CN113810368B/zh
Publication of CN113810368A publication Critical patent/CN113810368A/zh
Application granted granted Critical
Publication of CN113810368B publication Critical patent/CN113810368B/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/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/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
    • H04L63/0478Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种支持双重访问控制的数据共享方法及系统。本方法为:设定系统公钥PK、主密钥MSK;使用公钥PK生成中间密钥池IK;使用公钥PK、主密钥MSK、中间密钥池IK、访问策略
Figure DDA0003195846660000014
和属性集合
Figure DDA0003195846660000013
生成转换密钥TK和恢复密钥RK;使用公钥PK生成中间密文池IT;使用公钥PK、中间密文池IT、属性集合
Figure DDA0003195846660000012
和访问策略
Figure DDA0003195846660000011
对明文msg进行加密,生成密文CT;使用公钥PK和转换密钥TK对密文CT进行部分解密,得到转换密文TCT;使用公钥PK和恢复密钥RK对转换密文TCT解密,得到明文msg。本发明提供细粒度的双重访问控制功能,有效减少密钥生成中心和用户的计算开销,便于资源受限的设备使用。

Description

一种支持双重访问控制的数据共享方法及系统
技术领域
本发明涉及数据加密和数据访问控制领域,特别是,实现一种支持双重访问控制的数据共享方法及系统。
背景技术
随着云计算技术的快速发展,数据共享成为当前研究和应用热点之一。属性加密(ABE)作为一种具有一对多加密特性的公钥加密方案,是实现云计算环境下安全受控数据共享的重要技术工具。
ABE可以在提供数据机密性的同时,实现细粒度的访问控制。具体地,根据访问策略的关联性,ABE可以分为密钥策略属性加密(KP-ABE),以及密文策略属性加密(CP-ABE)。在KP-ABE方案中,用户私钥与访问策略相关联,数据密文与属性集合相关联,当且仅当数据密文的属性集合满足用户私钥的访问策略时,才可以正确解密。KP-ABE方案适用于付费电视等系统,例如,在加密时设置属性集合(“2021年”,“体育频道”)生成密文,用户拥有访问策略为[“2021年”AND(“体育频道”OR“娱乐频道”]的私钥可以解密。在CP-ABE方案中,数据密文与访问策略相关联,用户私钥与属性集合相关联,当且仅当用户私钥的属性集合满足数据密文的访问策略时,才可以正确解密。CP-ABE方案适用于电子病例等系统,例如,在加密时设置访问策略[“心内科”AND(“主任医师”OR“副主任医师”)]生成密文,用户拥有属性集合为(“心内科”,“主任医师”)的私钥可以解密。
可以看到,KP-ABE方案和CP-ABE方案在应用中支持的访问控制功能是不同的,在系统中仅使用KP-ABE或CP-ABE方案具有一定局限性。选择一种ABE方案进行系统初始化,用户就只能使用一种方案申请私钥和加密数据,而无法灵活地使用另一种方案的访问控制功能。针对这一问题,Attrapadung和Imai提出了双重策略属性加密(DP-ABE),支持同时对用户和数据设置访问策略和属性集合,提供非常灵活的访问控制功能。
此外,ABE方案在实际应用中的主要缺点是各算法的计算复杂度较高,密钥生成、加密、解密算法计算量均与涉及到的属性个数呈线性增长关系。针对这一问题,Ma等人使用外包计算技术,将CP-ABE方案中密钥生成、加密、解密算法中复杂的计算操作外包给具有高计算能力的云计算服务器,有效降低密钥生成中心和用户的计算开销。该方案满足选择明文攻击安全性。但是,现有技术仅支持对CP-ABE方案的外包计算,而不能支持对DP-ABE方案的外包计算。在支持双重访问控制的同时,降低密钥生成中心和用户的计算开销,有待研究。
发明内容
为解决外包数据的访问控制问题和系统性能问题,本发明提供一种支持双重访问控制的数据共享方法及系统。本发明将密钥策略属性加密、密文策略属性加密和外包计算技术相结合,具有如下技术特色:一,提供高等级数据机密性保护,方案达到可重放选择密文攻击安全性;二、提供细粒度的双重访问控制功能,支持同时对系统用户和数据明文设置访问策略和属性集合;三,将密钥生成、加密和解密算法的绝大部分计算任务外包给云计算服务器处理,有效减少密钥生成中心和用户的计算开销,便于资源受限的设备使用。
本发明采取的技术方案
根据本发明设计出一种支持双重访问控制的数据共享方法,特征在于,包括如下步骤:
A、系统初始化(Setup.pkg):设定系统公钥PK,生成系统主密钥MSK;
B、外包密钥生成(KeyGen.out):使用系统公钥PK,生成中间密钥池IK;
C、本地密钥生成(KeyGen.pkg):使用系统公钥PK、系统主密钥MSK、中间密钥池IK、允许解密的明文的访问策略
Figure BDA0003195846640000021
和数据使用者的属性集合
Figure BDA0003195846640000022
生成该数据使用者的转换密钥TK和恢复密钥RK;
D、外包加密(Enc.out):使用系统公钥PK,生成中间密文池IT;
E、本地加密(Enc.owner):使用系统公钥PK、中间密文池IT、明文的属性集合
Figure BDA0003195846640000023
和允许解密的数据使用者的访问策略
Figure BDA0003195846640000024
对明文msg进行加密,生成原始密文CT;
F、外包解密(Dec.out):使用系统公钥PK和转换密钥TK,对原始密文CT进行部分解密,得到转换密文TCT;
G、本地解密(Dec.user):使用系统公钥PK和恢复密钥PK,对转换密文TCT进行最终解密,得到明文msg。
根据本发明设计出一种支持双重访问控制的数据共享系统,特征在于,包括如下实体:
密钥生成中心:在系统初始化阶段,生成系统公钥PK和系统主密钥MSK,将系统公钥PK发送给所有其他实体;在本地密钥生成阶段,使用中间密钥池IK、系统主密钥MSK、允许解密的明文的访问策略
Figure BDA0003195846640000025
和数据使用者的属性集合
Figure BDA0003195846640000026
生成该数据使用者的转换密钥TK和恢复密钥RK,将转换密钥TK发送给第一云计算服务器,将恢复密钥RK发送给该数据使用者;
数据拥有者:在本地加密阶段,使用系统公钥PK、中间密文池IT、明文的属性集合
Figure BDA0003195846640000027
和允许解密的数据使用者的访问策略
Figure BDA0003195846640000028
对明文msg进行加密,生成原始密文CT,发送给第一云计算服务器;
数据使用者:在本地解密阶段,使用系统公钥PK、恢复密钥RK,对转换密文TCT进行最终解密,得到明文msg;
第一云计算服务器:在外包密钥生成阶段,与第二云计算服务器共同生成中间密钥池IK,发送给密钥生成中心;在外包加密阶段,与第二云计算服务器共同生成中间密文池IT,发送给数据拥有者;在外包解密阶段,使用转换密钥TK,对原始密文CT进行部分解密,得到转换密文TCT,发送给数据使用者;
第二云计算服务器:在外包密钥生成阶段,与第一云计算服务器共同生成中间密钥池IK,发送给密钥生成中心;在外包加密阶段,与第一云计算服务器共同生成中间密文池IT,发送给数据拥有者。
与现有技术相比,本发明的积极效果为:
本发明将密钥策略属性加密、密文策略属性加密和外包计算技术相结合,具有如下技术特色:一,提供高等级数据机密性保护,方案达到可重放选择密文攻击(RCCA)安全性;二、提供细粒度的双重访问控制功能,支持同时对系统用户和数据明文设置访问策略和属性集合,在实际场景中应用更为灵活;三,密钥生成、加密和解密算法的绝大部分计算任务外包给云计算服务器离线处理,有效降低密钥生成中心和用户的在线计算时间,便于资源受限的设备使用。
附图说明
图1是本发明所述的一种支持双重访问控制的数据共享方法及系统的系统模型图。
图2是本发明所述的一种支持双重访问控制的数据共享方法及系统的算法流程图。
具体实施方式
下面结合附图1和附图2对本发明的技术方案做进一步的详细说明。
作为本发明所述的一种支持双重访问控制的数据共享方法,其特征在于,所述步骤A包括:
A1.选择阶数为p的群
Figure BDA0003195846640000031
Figure BDA0003195846640000032
以及双线性映射e:
Figure BDA0003195846640000033
系统属性空间为有限域集合
Figure BDA0003195846640000034
A2.选择随机元素g1,u1,u2,h1,h2,w1,w2,
Figure BDA0003195846640000035
A3.选择密码学安全的哈希函数H:
Figure BDA0003195846640000036
A4.选择密码学安全的密钥导出函数KDF:
Figure BDA0003195846640000037
A5.输出系统公钥
Figure BDA0003195846640000038
系统主密钥MSK=α。
作为本发明所述的一种支持双重访问控制的数据共享方法,其特征在于,所述步骤B包括:
B1.选择随机元素
Figure BDA0003195846640000041
计算
Figure BDA0003195846640000042
B2.设IKkp=(μ′j,τ′j,y′j,K′j,0,K′j,1,K′j,2);
B3.选择随机元素
Figure BDA0003195846640000043
计算
Figure BDA0003195846640000044
K′v=v-r
B4.选择随机元素
Figure BDA0003195846640000045
计算
Figure BDA0003195846640000046
B5.设IKcp,main=(α′,r′,K′0,K′1,K′v),IKcp,attr=(r′i,a′i,K′i,2,K′i,3);
B6.输出中间密钥池IK=(IKkp,IKcp,main,IKcp,attr)。
作为本发明所述的一种支持双重访问控制的数据共享方法,其特征在于,所述步骤C包括:
C1.将允许解密的明文的访问策略设为
Figure BDA0003195846640000047
并使用线性秘密分享方案将
Figure BDA0003195846640000048
表示为l行n列的矩阵
Figure BDA0003195846640000049
以及映射π:
Figure BDA00031958466400000410
其中l和n的值由
Figure BDA00031958466400000411
确定,映射π将[l]中的每个整数映射到属性空间
Figure BDA00031958466400000412
的值,即表示矩阵N的每行所对应的属性;
C2.从IK中选择由不同云计算服务器生成的2l个IKkp组成:
IK1kp=({μ′j,τ′j,y′j,K′j,0,K′j,1,K′j,2}j∈[l])
IK2kp=({μ″j,τ″j,y″j,K″j,0,K″j,1,K″j,2}j∈[l])
C3.选择随机元素
Figure BDA00031958466400000413
对于j∈[l],计算
Figure BDA00031958466400000414
τj=(τ′j+τ″j)γ,yj=(y′jτ′j+y″jτ″j)γ/τj,Kj,0=K′j,0·K″j,0,Kj,1=K′j,1·K″j,1,Kj,2=K′j,2·K″j,2
C4.选择向量
Figure BDA00031958466400000415
其中随机元素
Figure BDA00031958466400000416
计算β的分享向量
Figure BDA00031958466400000417
其中(μ1,…,μl)T是长度为l的列向量,
Figure BDA00031958466400000418
表示矩阵N与列向量
Figure BDA00031958466400000419
相乘;
C5.对于j∈[l],计算
Figure BDA00031958466400000420
Kj,4=(yj-π(j))τj/γ;
C6.设
Figure BDA00031958466400000421
C7.将数据使用者的属性集合设为
Figure BDA00031958466400000422
其中Ad为数据使用者的第d个属性,数据使用者的属性集合由密钥生成中心根据数据使用者的身份特征设定;
C8.从IK中选择由不同云计算服务器生成的2个IKcp,main和2d个IKcp,attr组成:
IK1cp=(α′,r′,K′0,K′1,K′v,{r′i,a′i,K′i,2,K′i,3}i∈[d])
IK2cp=(α″,r″,K″0,K″1,K″v,{r″i,a″i,K″i,2,K″i,3}i∈[d])
其中IK1cp使用1个IKcp,main和d个IKcp,attr拼接组成,元素上标为单引号;IK2cp使用1个IKcp,main和d个IKcp,attr拼接组成,元素上标为双引号;
C9.计算
Figure BDA0003195846640000051
r=(r′+r″)γ,K0=K′0·K″0,K1=K′1·K″1
Figure BDA0003195846640000052
Figure BDA0003195846640000053
C10.对于i∈[d],计算ri=(r′i+r″i)γ,ai=(a′ir′i+a″ir″i)γ/ri,Ki,2=K′i,2·K″i,2,Ki,3=K′i,3·K″i,3·K′v·K″v,Ki,5=(Ai-ai)ri/γ;
C11.设Tkcp=(Scp,K0,K1,K4,{Ki,2,Ki,3,Ki,5}i∈[d]);
C12.输出转换密钥TK=(TKkp,TKcp),恢复密钥RK=γ。
作为本发明所述的一种支持双重访问控制的数据共享方法,其特征在于,所述步骤D包括:
D1.选择随机元素
Figure BDA0003195846640000054
计算C′r=e(g1,g2)αs′
Figure BDA0003195846640000055
D2.设ITcmn=(s′,C′r,C′0);
D3.选择随机元素
Figure BDA0003195846640000056
计算
Figure BDA0003195846640000057
D4.选择随机元素
Figure BDA0003195846640000058
计算
Figure BDA0003195846640000059
D5.设ITkp,main=(ψ′,C′w),ITkp,attr=(σ′j,b′j,C′j,1,C′j,2);
D6.选择随机元素
Figure BDA00031958466400000510
计算
Figure BDA00031958466400000511
D7.设ITcp=(λ′i,t′i,x′i,C′i,1,C′i,2,C′i,3);
D8.输出中间密文池IT=(ITcmn,ITkp,main,ITkp,attr,ITcp)。
作为本发明所述的一种支持双重访问控制的数据共享方法,其特征在于,所述步骤E包括:
E1.从IT中选择由不同云计算服务器生成的2个ITcmn组成:
IT1cmn=(s′,C′r,C′0)
IT2cmn=(s″,C″r,C0″)
E2.选择随机元素
Figure BDA00031958466400000512
计算s=H(msg,ran),
Figure BDA00031958466400000515
Figure BDA00031958466400000513
Cr=C′r·C″r·ran,C0=C′0·C″0
E3.将明文msg的属性集合设为
Figure BDA00031958466400000514
其中Bq为明文的第q个属性,明文的属性集合由数据拥有者根据明文的数据特征设定;
E4.从IT中选择由不同云计算服务器生成的2个ITkp,main和2q个ITkp,attr组成:
IT1kp=(ψ′,C′w,{σ′j,b′j,C′j,1,C′j,2}j∈[q])
IT2kp=(ψ″,C″w,{σ″j,b″j,C″j,1,C″j,2}j∈[q])
其中IT1kp使用1个IKkp,main和q个IKkp,attr拼接组成,元素上标为单引号;IT1kp使用1个IKkp,main和q个IKkp,attr拼接组成,元素上标为双引号;
E5.计算ψ=ψ′+ψ″,Cψ=s-ψ;
E6.对于j∈[q],计算σj=σ′j+σ″j,bj=(b″jσ′j+b″jσ″j)/σj,Cj,1=C′j,1·C″j,1,Cj,2=C′j,2·C″j,2·C′w·C″w,Cj,3=(Bj-bjj
E7.设
Figure BDA0003195846640000061
E8.将允许解密的数据使用者的访问策略设为
Figure BDA0003195846640000062
并使用线性秘密分享方案将
Figure BDA0003195846640000063
表示为k行m列的矩阵
Figure BDA0003195846640000064
以及映射ρ:
Figure BDA0003195846640000065
其中k和m的值由
Figure BDA0003195846640000066
确定;映射ρ将[k]中的每个整数映射到属性空间
Figure BDA0003195846640000067
的值,即表示矩阵M每行所对应的属性;
E9.从IT中选择由不同云计算服务器生成的2k个ITcp组成:
IT1cp=({λ′i,t′i,x′i,C′i,1,C′i,2,C′i,3}i∈[k])
IT2cp=({λ″i,t″i,x″i,C″i,1,C″i,2,C″i,3}i∈[k])
E10.对于i∈[k],计算
Figure BDA0003195846640000068
ti=t′i+t″i,xi=(x′it′i+x″it″i)/ti,Ci,1=C′i,1·C″i,1,Ci,2=C′i,2·C″i,2,Ci,3=C″i,3·C″i,3
E11.选择向量
Figure BDA0003195846640000069
其中随机元素
Figure BDA00031958466400000610
计算s的分享向量
Figure BDA00031958466400000611
其中(λ1,…,λk)T是长度为k的列向量,
Figure BDA00031958466400000612
表示矩阵M与列向量
Figure BDA00031958466400000613
相乘;
E12.对于i∈[k],计算
Figure BDA00031958466400000614
Ci,5=(xi-ρ(i))ti
E13.设
Figure BDA00031958466400000615
E14.输出原始密文CT=(Cs,Cm,Cr,C0,CTkp,CTcp)。
作为本发明所述的一种支持双重访问控制的数据共享方法,其特征在于,所述步骤F包括:
F1.判断原始密文CT中的属性集合
Figure BDA00031958466400000616
是否满足转换密钥TK中的访问策略
Figure BDA00031958466400000617
转换密钥TK中的属性集合
Figure BDA00031958466400000618
是否满足原始密文CT中的访问策略
Figure BDA00031958466400000619
如果不满足,输出失败符号⊥;
F2.计算集合
Figure BDA00031958466400000620
使得
Figure BDA00031958466400000621
满足
Figure BDA00031958466400000622
其中
Figure BDA00031958466400000623
为矩阵N的第j行,
Figure BDA00031958466400000624
Figure BDA00031958466400000625
中的元素,其中角标j从集合J中取值,该组
Figure BDA00031958466400000626
的选取满足
Figure BDA00031958466400000627
Figure BDA00031958466400000628
计算
Figure BDA00031958466400000629
其中∈是属性π(j)在
Figure BDA00031958466400000630
中的索引,由j决定;
F3.计算集合
Figure BDA00031958466400000631
使得
Figure BDA00031958466400000632
满足
Figure BDA00031958466400000633
其中
Figure BDA00031958466400000634
为矩阵M的第i行,φi
Figure BDA00031958466400000635
中的元素,其中角标i从集合I中取值,该组φi的选取满足
Figure BDA00031958466400000636
Figure BDA0003195846640000071
计算
Figure BDA0003195846640000072
其中ε是属性ρ(i)在
Figure BDA0003195846640000073
中的索引,由i决定;
F4.计算T0=Ekp·Ecp
Figure BDA0003195846640000074
F5.输出转换密文TCT=(T0,T1,Cm)。
作为本发明所述的一种支持双重访问控制的数据共享方法,其特征在于,所述步骤G包括:
G1.计算
Figure BDA0003195846640000075
s=H(msg,ran);
G2.如果
Figure BDA0003195846640000076
且T1=e(g1,g2)αs·ran,输出明文msg;否则,输出失败符号⊥。
尽管为说明目的公开了本发明的具体内容、实施算法以及附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。本发明不应局限于本说明书最佳实施例和附图所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

Claims (9)

1.一种支持双重访问控制的数据共享方法,其特征在于,包括如下步骤:
A、密钥生成中心生成系统公钥PK、主密钥MSK;将该系统公钥PK发送给系统中的其他实体,所述实体包括数据拥有者、数据使用者和第一云计算服务器、第二云计算服务器;
B、所述第一云计算服务器与所述第二云计算服务器使用系统公钥PK生成中间密钥池IK,并将其发送给所述密钥生成中心;
C、所述密钥生成中心使用系统公钥PK、系统主密钥MSK、中间密钥池IK、允许解密的明文的访问策略
Figure FDA0003195846630000011
和数据使用者的属性集合
Figure FDA0003195846630000012
生成转换密钥TK和恢复密钥RK;然后将该转换密钥TK发送给所述第一云计算服务器,将该恢复密钥RK发送给该数据使用者;
D、所述第一云计算服务器与所述第二云计算服务器使用系统公钥PK,生成中间密文池IT,并将其发送给该数据拥有者;
E、所述数据拥有者使用系统公钥PK、中间密文池IT、明文的属性集合
Figure FDA0003195846630000013
和允许解密的数据使用者的访问策略
Figure FDA0003195846630000014
对明文msg进行加密,生成原始密文CT并将其发送给所述第一云计算服务器;
F、所述第一云计算服务器使用系统公钥PK和转换密钥TK,对原始密文CT进行部分解密,得到转换密文TCT,并将其发送给该数据使用者;
G、所述数据使用者使用系统公钥PK和恢复密钥RK,对转换密文TCT进行最终解密,得到明文msg。
2.如权利要求1所述的方法,其特征在于,步骤A中,生成系统公钥PK和主密钥MSK的方法为:选择阶数为p的群
Figure FDA0003195846630000015
Figure FDA0003195846630000016
以及双线性映射e:
Figure FDA0003195846630000017
系统属性空间为有限域集合
Figure FDA0003195846630000018
选择随机元素g1,u1,u2,h1,h2,w1,w2
Figure FDA0003195846630000019
Figure FDA00031958466300000110
选择哈希函数H:
Figure FDA00031958466300000111
密钥导出函数KDF:
Figure FDA00031958466300000112
得到系统公钥
Figure FDA00031958466300000113
系统主密钥MSK=α。
3.如权利要求2所述的方法,其特征在于,步骤B中,生成中间密钥池IK的方法为:选择随机元素
Figure FDA00031958466300000114
计算
Figure FDA00031958466300000115
设IKkp=(μ′j,τ′j,y′j,K′j,0,K′j,1,K′j,2);选择随机元素α′,
Figure FDA00031958466300000116
计算
Figure FDA00031958466300000117
K′v=v-r;选择随机元素r′i
Figure FDA00031958466300000118
计算
Figure FDA00031958466300000119
设IKcp,main=(α′,r′,K′0,K′1,K′v),IKcp,attr=(r′i,a′i,K′i,2,K′i,3);最后,得到中间密钥池IK=(IKkp,IKcp,main,IKcp,attr)。
4.如权利要求3所述的方法,其特征在于,步骤C中,生成转换密钥TK和恢复密钥RK的方法为:将允许解密的明文的访问策略设为
Figure FDA0003195846630000021
并使用线性秘密分享方案将
Figure FDA0003195846630000022
表示为l行n列的矩阵
Figure FDA0003195846630000023
以及映射
Figure FDA0003195846630000024
其中l和n的值由
Figure FDA0003195846630000025
确定;从IK中选择2l个IKkp组成IK1kp=({μ′j,τ′j,y′j,K′j,0,K′j,1,K′j,2}j∈[l]),IK2kp=({μ″j,τ″j,y″j,K″j,0,K″j,1,K″j,2}j∈[l]);选择随机元素
Figure FDA0003195846630000026
对于j∈[l],计算
Figure FDA0003195846630000027
τj=(τ′j+τ″j)γ,yj=(y′jτ′j+y″jτ″j)γ/τj,Kj,0=K′j,0·K″j,0,Kj,1=K′j,1·K″j,1,Kj,2=K′j,2·K″j,2;选择向量
Figure FDA0003195846630000028
其中随机元素β,
Figure FDA0003195846630000029
计算β的分享向量
Figure FDA00031958466300000210
其中
Figure FDA00031958466300000211
表示矩阵N与列向量
Figure FDA00031958466300000212
相乘;对于j∈[l],计算
Figure FDA00031958466300000213
Kj,4=(yj-π(j))τj/γ;设
Figure FDA00031958466300000214
Figure FDA00031958466300000215
将数据使用者的属性集合设为
Figure FDA00031958466300000216
从IK中选择2个IKcp,main和2d个IKcp,attr组成IK1cp=(α′,r′,K′0,K′1,K′v,{r′i,a′i,K′i,2,K′i,3}i∈[d]),IK2cp=(a″,r″,K″0,K″1,K′v,{r″i,a″i,K′i,2,K′i,3}i∈[d]);计算
Figure FDA00031958466300000217
r=(r′+r″)γ,K0=K′0·K″0,K1=K′1·K″1
Figure FDA00031958466300000218
对于i∈[d],计算ri=(r′i+r″i)γ,ai=(a′ir′i+a″ir″i)γ/ri,Ki,2=K′i,2·K″i,2,Ki,3=K′i,3·K″i,3·K′v·K″v,Ki,5=(Ai-ai)ri/γ;设
Figure FDA00031958466300000219
最后,得到转换密钥TK=(TKkp,TKcp),恢复密钥RK=γ。
5.如权利要求4所述的方法,其特征在于,步骤D中,生成中间密文池IT的方法为:选择随机元素
Figure FDA00031958466300000220
计算C′r=e(g1,g2)αs′
Figure FDA00031958466300000221
设ITcmn=(s′,C′r,C′0);选择随机元素
Figure FDA00031958466300000222
计算
Figure FDA00031958466300000223
选择随机元素σ′j
Figure FDA00031958466300000224
计算
Figure FDA00031958466300000225
设ITkp,main=(ψ′,C′w),ITkp,attr=(σ′j,b′j,C′j,1,C′j,2);选择随机元素λ′i,t′i
Figure FDA00031958466300000226
计算
Figure FDA00031958466300000227
设ITcp=(λ′i,t′i,x′i,C′i,1,C′i,2,C′i,3);然后得到中间密文池IT=(ITcmn,ITkp,main,ITkp,attr,ITcp)。
6.如权利要求5所述的方法,其特征在于,步骤E中,生成原始密文CT的方法为:从IT中选择2个ITcmn组成IT1cmn=(s′,C′r,C′0),IT2cmn=(s″,C″r,C″0);选择随机元素
Figure FDA00031958466300000228
计算s=H(msg,ran),
Figure FDA00031958466300000229
Cr=C′r·C″r·ran,C0=C′0·C″0;明文msg的属性集合为
Figure FDA00031958466300000230
从IT中选择2个ITkp,main和2q个ITkp,attr组成IT1kp=(ψ′,C′w,{σ′j,b′j,C′j,1,C′j,2}j∈[q]),IT2kp=(ψ″,C″w,{σ″j,b″j,C″j,1,C″j,2}j∈[q]);计算ψ=ψ′+ψ″,Cψ=s-ψ;对于j∈[q],计算σj=σ′j+σ″j,bj=(b′jσ′j+b″jσ″j)/σj,Cj,1=C′j,1·C″j,1,Cj,2=C′j,2·C″j,2·C′w·C″w,Cj,3=(Bj-bjj;设CTkp=(Skp,Cψ,{Cj,1,Cj,2,Cj,3}j∈[q]);将允许解密的数据使用者的访问策略设为
Figure FDA0003195846630000031
并使用线性秘密分享方案将
Figure FDA0003195846630000032
表示为k行m列的矩阵
Figure FDA0003195846630000033
以及映射ρ:
Figure FDA0003195846630000034
其中k和m的值由
Figure FDA0003195846630000035
确定;从IT中选择2k个ITcp组成IT1cp=({λ′i,t′i,x′i,C′i,1,C′i,2,C′i,3}i∈[k]),IT2cp=({λ″it″i,x″i,C″i,1,C″i,2,C″i,3}i∈[k]);对于i∈[k],计算
Figure FDA0003195846630000036
ti=t′i+t″i,xi=(x′it′i+x″it″i)/ti,Ci,1=C′i,1·C″i,1,Ci,2=C′i,2·C″i,2,Ci,3=C′i,3·C″i,3;选择向量
Figure FDA0003195846630000037
其中随机元素β,
Figure FDA0003195846630000038
计算s的分享向量
Figure FDA0003195846630000039
其中
Figure FDA00031958466300000310
表示矩阵M与列向量
Figure FDA00031958466300000311
相乘;对于i∈[k],计算
Figure FDA00031958466300000312
Ci,5=(xi-ρ(i))ti;设
Figure FDA00031958466300000313
得到原始密文CT=(Cs,Cm,Cr,C0,CTkp,CTcp)。
7.如权利要求6所述的方法,其特征在于,步骤F中,得到转换密文TCT的方法为:判断原始密文CT中的属性集合
Figure FDA00031958466300000314
是否满足转换密钥TK中的访问策略
Figure FDA00031958466300000315
转换密钥TK中的属性集合
Figure FDA00031958466300000316
是否满足原始密文CT中的访问策略
Figure FDA00031958466300000317
如果满足则计算集合
Figure FDA00031958466300000318
使得
Figure FDA00031958466300000319
满足
Figure FDA00031958466300000320
其中
Figure FDA00031958466300000321
为矩阵N的第j行,计算
Figure FDA00031958466300000322
Figure FDA00031958466300000323
其中∈是属性π(j)在
Figure FDA00031958466300000324
中的索引;计算集合
Figure FDA00031958466300000325
使得
Figure FDA00031958466300000326
满足
Figure FDA00031958466300000327
其中
Figure FDA00031958466300000328
为矩阵M的第i行;计算
Figure FDA00031958466300000329
其中ε是属性ρ(i)在
Figure FDA00031958466300000330
中的索引;计算T0=Ekp·Ecp
Figure FDA00031958466300000331
得到转换密文TCT=(T0,T1,Cm)。
8.如权利要求7所述的方法,其特征在于,步骤G中,得到明文msg的方法为:依次计算
Figure FDA00031958466300000332
s=H(msg,ran);如果T0=e(g1,g2)αs/γ且T1=e(g1,g2)αs·ran,则输出明文msg;否则,输出失败符号⊥。
9.一种支持双重访问控制的数据共享系统,其特征在于,包括如下实体:
密钥生成中心,用于在系统初始化阶段,生成系统公钥PK和主密钥MSK,将系统公钥PK发送给系统中的其他实体,所述实体包括数据拥有者、数据使用者和第一云计算服务器、第二云计算服务器;在本地密钥生成阶段,使用中间密钥池IK、系统主密钥MSK、允许解密的明文的访问策略
Figure FDA0003195846630000041
和数据使用者的属性集合
Figure FDA0003195846630000042
生成转换密钥TK和恢复密钥RK,将转换密钥TK发送给第一云计算服务器,将恢复密钥RK发送给数据使用者;
数据拥有者,用于在本地加密阶段,使用系统公钥PK、中间密文池IT、明文的属性集合
Figure FDA0003195846630000043
和允许解密的数据使用者的访问策略
Figure FDA0003195846630000044
对明文msg进行加密,生成原始密文CT,发送给第一云计算服务器;
数据使用者,用于在本地解密阶段,使用系统公钥PK、恢复密钥RK,对转换密文TCT进行最终解密,得到明文msg;
第一云计算服务器,用于在外包密钥生成阶段,与第二云计算服务器共同生成中间密钥池IK,并发送给密钥生成中心;在外包加密阶段,与第二云计算服务器共同生成中间密文池IT,并发送给数据拥有者;在外包解密阶段,使用转换密钥TK,对原始密文CT进行部分解密,得到转换密文TCT,并发送给数据使用者;
第二云计算服务器,用于在外包密钥生成阶段,与第一云计算服务器共同生成中间密钥池IK,并发送给密钥生成中心;在外包加密阶段,与第一云计算服务器共同生成中间密文池IT,并发送给数据拥有者。
CN202110890548.8A 2021-08-04 2021-08-04 一种支持双重访问控制的数据共享方法及系统 Active CN113810368B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110890548.8A CN113810368B (zh) 2021-08-04 2021-08-04 一种支持双重访问控制的数据共享方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110890548.8A CN113810368B (zh) 2021-08-04 2021-08-04 一种支持双重访问控制的数据共享方法及系统

Publications (2)

Publication Number Publication Date
CN113810368A CN113810368A (zh) 2021-12-17
CN113810368B true CN113810368B (zh) 2022-05-31

Family

ID=78893242

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110890548.8A Active CN113810368B (zh) 2021-08-04 2021-08-04 一种支持双重访问控制的数据共享方法及系统

Country Status (1)

Country Link
CN (1) CN113810368B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106599735B (zh) * 2017-02-13 2023-10-24 珠海格力电器股份有限公司 数据保护装置、方法以及存储控制器
CN107104795B (zh) * 2017-04-25 2020-09-04 上海汇尔通信息技术有限公司 Rsa密钥对和证书的注入方法、架构及系统
CN109831430B (zh) * 2019-01-30 2020-05-22 中国科学院信息工程研究所 一种云计算环境下的安全可控高效的数据共享方法及系统
CN110636500B (zh) * 2019-08-27 2022-04-05 西安电子科技大学 支持跨域数据共享的访问控制系统及方法、无线通信系统

Also Published As

Publication number Publication date
CN113810368A (zh) 2021-12-17

Similar Documents

Publication Publication Date Title
CN108632032B (zh) 无密钥托管的安全多关键词排序检索系统
CN109768858B (zh) 云环境下基于多授权的属性加密访问控制系统及设计方法
CN108881314B (zh) 雾计算环境下基于cp-abe密文隐私保护方法及系统
CN109246096B (zh) 适用于云存储的多功能细粒度访问控制方法
CN109831430B (zh) 一种云计算环境下的安全可控高效的数据共享方法及系统
CN107196926B (zh) 一种云外包隐私集合比较方法与装置
Hussain et al. Image encryption algorithm based on PGL (2, GF (2 8)) S-boxes and TD-ERCS chaotic sequence
CN106487506B (zh) 一种支持预加密和外包解密的多机构kp-abe方法
CN112367169A (zh) 数据加解密方法、装置、设备及存储介质
CN108768951B (zh) 一种云环境下保护文件隐私的数据加密和检索方法
CN111143471B (zh) 一种基于区块链的密文检索方法
CN113518092B (zh) 实现多方隐私的集合交集方法
JPH07181892A (ja) 暗号鍵共有方法及びその装置
CN111447192B (zh) 用于云雾协助物联网的轻量级属性基签密方法
CN107005408A (zh) 公共密钥加密系统
CN107086912B (zh) 一种异构存储系统中的密文转换方法、解密方法及系统
CN104135473A (zh) 一种由密文策略的属性基加密实现身份基广播加密的方法
CN114826696A (zh) 文件内容分级共享方法、装置、设备及介质
CN112491529B (zh) 用于不可信服务器环境中数据文件加密及完整性验证方法及其系统
CN115378730A (zh) 一种属性加密的区块链数据溯源算法
CN114338229B (zh) 一种轻量级动态广播代理重新加密及云数据共享方法
CN114528331A (zh) 基于区块链的数据查询方法及装置、介质、设备
De Santis et al. Enforcing the security of a time-bound hierarchical key assignment scheme
CN111556048A (zh) 一种支持密文模式匹配的属性基安全通信方法及系统
CN116170142B (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