CN112104619B - 基于外包密文属性加密的数据访问控制系统和方法 - Google Patents

基于外包密文属性加密的数据访问控制系统和方法 Download PDF

Info

Publication number
CN112104619B
CN112104619B CN202010880595.XA CN202010880595A CN112104619B CN 112104619 B CN112104619 B CN 112104619B CN 202010880595 A CN202010880595 A CN 202010880595A CN 112104619 B CN112104619 B CN 112104619B
Authority
CN
China
Prior art keywords
representing
ciphertext
key
random number
access
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
CN202010880595.XA
Other languages
English (en)
Other versions
CN112104619A (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.)
Chongqing University
Southwest University
Original Assignee
Chongqing University
Southwest University
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 Chongqing University, Southwest University filed Critical Chongqing University
Priority to CN202010880595.XA priority Critical patent/CN112104619B/zh
Publication of CN112104619A publication Critical patent/CN112104619A/zh
Application granted granted Critical
Publication of CN112104619B publication Critical patent/CN112104619B/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/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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
    • 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/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/0471Network 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 encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding
    • 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/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/502Proximity

Abstract

本发明提出了一种在边缘计算中的基于外包密文属性加密的访问控制系统及方法。由于本发明应用的场景为边缘计算,因此与集中式计算系统相比,本发明更接近用户终端设备。边缘计算虽然降低了传输延迟,提高了服务质量,但也面临着终端设备资源有限的挑战。因此,我们将一部分解密操作外包给边缘节点。另外,因为数据拥有者需要动态地更新访问策略,所以由数据拥有者生成策略更新密钥发送给云服务提供商,在云服务提供商上更新密文。同时,本发明还可以支持数据的机密性,抵抗好奇用户的共谋攻击,并在访问策略更新后验证密文的正确性。安全分析和性能分析表明,本发明是安全可行的。

Description

基于外包密文属性加密的数据访问控制系统和方法
技术领域
本发明涉及数据访问控制技术领域,尤其涉及一种基于外包密文属性加密的数据访问控制系统和方法。
背景技术
边缘计算是在网络边缘执行计算的一种新型计算模型,边缘计算的边缘是指从数据源到云计算中心之间的任意资源,其操作对象包括云服务的下行数据和万物互联服务的上行数据。边缘计算可以减小计算的延迟,并能够降低用户数据上传至传统云计算中心泄露的风险。然而,目前的数据访问控制方案很少适用于边缘计算。传统的基于属性加密(Attr ibute-based Encrypt ion,ABE)的方案虽然能够实现细粒度的数据访问控制,但是随着访问策略的复杂性的增大,加密和解密阶段的计算成本过大。随着物联网、大数据和5G网络的快速发展和广泛应用,越来越多的企业和组织将海量数据外包到云服务器或边缘节点中,数据访问控制方法就成为了一个急需解决的问题。
发明内容
有鉴于此,本发明提供一种基于外包密文属性加密的数据访问控制方法。
本发明提供一种基于外包密文属性加密的数据访问控制系统,其特征在于:包括:数据拥有者、用户、密钥权限、边缘节点和云服务提供商;
所述数据拥有者,在将数据存储到云服务提供商或边缘节点之前,可根据访问策略对数据进行加密,可要求云服务提供商更新加密数据的访问策略,并检查云服务提供商是否正确的更新了访问策略;
所述用户可以自由的从云服务提供商或者边缘节点检索密文;
所述密钥权限用于设置实现数据访问控制方案的系统参数,生成转换密钥给用户,生成用于加密解密的密钥对,所述密钥对包括公钥和私钥,并将所述公钥发送给数据拥有者,将私钥发送给用户;
所述边缘节点用于存储数据拥有者的加密的明文消息;所述边缘节点还用于在解密阶段,运行密钥转换算法,将满足用户属性的密文转换为部分解密的密文;
所述云服务提供商用于为数据拥有者提供存储数据的平台;所述云服务提供商还包括根据数据拥有者的要求运行更新算法来更新加密数据的访问策略。
相应地,本发明还提供一种基于外包密文属性加密的数据访问控制方法,其特征在于:用于权利要求1所述的访问控制系统,所述访问控制方法包括系统初始化、密钥生成、数据加密、数据解密和动态策略更新;
所述系统初始化包括全局设置和权限设置,所述全局设置接受全局描述U和隐式安全参数作为输入,输出全局参数GP;所述权限设置以全局参数GP为输入,由密钥权限运行,用于生成密钥的主密钥MSK;
所述密钥生成用于生成代理解密的转换密钥TK和用于用户解密的密钥SK;
所述数据加密包括加密算法和转换算法,所述加密算法以全局参数GP、公钥PK、明文消息E和访问策略(M′,ρ′)为输入,输出一个密文CT,所述转换算法用于接收密文CT和用户属性集S的转换密钥TK,判断用户属性集S是否满足密文CT中的访问策略,若是,则输出代理解密的密文CT′,若否,不输出代理解密的密文CT′;
所述数据解密以密钥SK和代理解密的密文CT′作为输入,判断用户属性集S是否属于明文消息E,若是,则输出明文消息E,若否,则输出错误符号⊥;
所述动态策略更新包括新密钥生成算法和密文更新算法,所述新密钥生成算法以旧的访问策略(M,ρ)和新的访问策略(M',ρ')作为输入,输出策略更新密钥PUK,用于将密文CT的访问策略从旧的访问策略(M,ρ)更新为新的访问策略(M',ρ'),所述密文更新算法以密文CT和策略更新密钥PUK为输入,最后输出与新访问策略相对应的新密文CTN
进一步,所述动态策略更新具体包括如下步骤:
初始化旧的访问策略(M,ρ)和新的访问策略(M′,ρ′),令nρ(i),M为访问矩阵M中属性ρ(i)的数量、nρ(i),M′为访问矩阵M′中属性ρ(i)的数量、I1,M′为ρ(i)存在于M中j的指标集合、I2,M′为ρ(i)存在于M′中j的指标集合、且ρ(i)=ρ′(j),若nρ′(j),M′≤nρ′(j),M将索引j放入I1,M′中,若nρ′(j),M′>nρ′(j),M将索引j放入I2,M′,I3,M′表示I3,M′在M中从未出现过;
构造一个新的随机变量
Figure GDA0003460365100000031
其中,
Figure GDA0003460365100000032
表示随机向量,
Figure GDA0003460365100000033
表示一个有限域,其中有限域的阶必须是一个素数的幂pn′,加密指数s是向量
Figure GDA0003460365100000034
的第一个元素;
计算
Figure GDA0003460365100000035
其中,λj表示新策略参数,M′j表示M′的第j行对应的向量,
Figure GDA0003460365100000036
表示随机向量,j∈[1,l′],l′表示访问矩阵M′的行数;
若(j,i)∈I1,M′则策略更新密钥PUK如下:
PUK=(PUK(1)=λ′ji,PUK(2)=ω′ji)
其中,λj表示新策略参数,λi表示旧策略参数,M′表示新访问矩阵,ω′j表示M′的第j行对应的向量乘以
Figure GDA0003460365100000037
所得的随机数,ωi表示M的第i行对应的向量乘以
Figure GDA0003460365100000038
所得的随机数;
若(j,i)∈I2,M′,选择属于集合
Figure GDA0003460365100000039
的随机数aj,即
Figure GDA00034603651000000310
Figure GDA00034603651000000311
表示模素数p1的有限域,生成策略更新密钥PUK如下:
PUK=(aj,PUK(1)=λ′j-ajλi,PUK(2)=ω′j-ajωi)
其中,aj表示更新密钥随机数,λj表示新策略参数,λi表示旧策略参数,ω′j表示M′的第j行对应的向量乘以
Figure GDA00034603651000000312
所得的随机数,ωi表示M的第i行对应的向量乘以
Figure GDA00034603651000000313
所得的随机数;
若(j,i)∈I3,M′,选择一个属于集合(j,i)∈I3,M′的随机数dj
Figure GDA00034603651000000314
Figure GDA00034603651000000315
表示模素数为p1的有限域,生成策略更新密钥PUK如下:
PUK=(PUK(1)=λ′jρ′(j)dj,PUK(2)=βρ′(j)dj+ω′j,PUK(3)=dj)
其中,λj表示新策略参数,ω′j表示M′的第j行对应的向量乘以
Figure GDA0003460365100000041
所得的随机数,αρ′(j)表示新访问策略的第一个随机数,βρ′(j)表示新访问策略的第二个随机数,且αρ′(j)
Figure GDA0003460365100000042
更新密文包括以下步骤:
数据拥有者将PUK发送给云服务提供商,云服务商根据收到的PUK更新访问策略:
若(j,i)∈I1,M′,则更新密文成分如下:
Figure GDA0003460365100000043
Figure GDA0003460365100000044
Figure GDA0003460365100000045
其中,dj=di,C′j表示更新的密文成分,C′1,j表示更新密文的第一部分组成成分,C′2,j表示更新密文的第二部分组成成分,C′3,j表示更新密文的第三部分组成成分,C1,i表示原密文的第一部分组成成分,C2,i表示原密文的第二部分组成成分,C3,i表示原密文的第三部分组成成分,e表示双线性映射,g表示生成元,λj表示新策略参数,αρ′(j)表示新访问策略的第一个随机数,βρ′(j)表示新访问策略的第二个随机数,且αρ′(j)
Figure GDA0003460365100000046
ω′j表示M′的第j行对应的向量乘以
Figure GDA0003460365100000047
所得的随机数,dj表示新访问策略的随机数,PUK(1)表示更新密钥的第一部分组成成分,PUK(2)表示更新密钥的第二部分组成成分,
若(j,i)∈I2,M′,则更新密文成分如下:
Figure GDA0003460365100000048
Figure GDA0003460365100000049
Figure GDA00034603651000000410
其中,dj=ajdi,C′j表示更新的密文成分,C′1,j表示更新密文的第一部分组成成分,C′2,j表示更新密文的第二部分组成成分,C′3,j表示更新密文的第三部分组成成分,C1,i表示原密文的第一部分组成成分,C2,i表示原密文的第二部分组成成分,C3,i表示原密文的第三部分组成成分,e表示双线性映射,g表示生成元,λj表示新策略参数,αρ′(j)表示新访问策略的第一个随机数,βρ′(j)表示新访问策略的第二个随机数,且αρ′(j)
Figure GDA0003460365100000051
ω′j表示M′的第j行对应的向量乘以
Figure GDA0003460365100000052
所得的随机数,dj表示新策略的随机数,PUK(1)表示更新密钥的第一部分组成成分,PUK(2)表示更新密钥的第二部分组成成分,
若(j,i)∈I3,M′,则更新密文成分如下:
Figure GDA0003460365100000053
Figure GDA0003460365100000054
Figure GDA0003460365100000055
其中,C′j表示更新的密文成分,C′1,j表示更新密文的第一部分组成成分,C′2,j表示更新密文的第二部分组成成分,C′3,j表示更新密文的第三部分组成成分,C1,i表示原密文的第一部分组成成分,C2,i表示原密文的第二部分组成成分,C3,i表示原密文的第三部分组成成分,e表示双线性映射,g表示生成元,λj表示新策略参数,αρ′(j)表示新访问策略的第一个随机数,βρ′(j)表示新访问策略的第二个随机数,且αρ′(j)
Figure GDA0003460365100000056
ω′j表示M′的第j行对应的向量乘以
Figure GDA0003460365100000057
所得的随机数,dj表示新策略的随机数,PUK(1)表示更新密钥的第一部分组成成分,PUK(2)表示更新密钥的第二部分组成成分,得到了新的密文如下:
Figure GDA0003460365100000058
其中,CTN表示更新后的新密文,C表示明文用双线性映射掩盖,e表示双线性映射,g表示生成元,αρ′(j)表示新访问策略的第一个随机数,
Figure GDA0003460365100000059
表示明文,s表示加密指数,C′表示由生成元s次幂构成的掩码,l′表示访问矩阵M′的行数,C′j表示更新的密文成分。
进一步,所述系统初始化的全局设置包括全局设置算法GlobalSetup以全局描述U作为输入,一般设全局描述U={0,1}*,然后选择两个具有相同素数阶P的乘法循环群
Figure GDA0003460365100000061
和双线性映射e:
Figure GDA0003460365100000062
令g为
Figure GDA0003460365100000063
的生成元,哈希函数H映射,输出全局参数为GP=(g,p1,H),其中,g表示
Figure GDA0003460365100000064
的生成元,p1表示素数阶,H表示哈希函数映射
Figure GDA0003460365100000065
其中,
Figure GDA0003460365100000066
表示具有相同素数阶p1的乘法循环群;
所述权限设置具体为密钥权限运行权限设置算法AuthoSetup,生成公钥PK和主密钥MSK,其中,令S为密钥权限管理的属性集,对于每个属性x∈S,密钥权限选择随机指数αx,
Figure GDA0003460365100000067
Figure GDA0003460365100000068
表示模素数为p1的有限域,然后生成公钥为
Figure GDA0003460365100000069
并设置
Figure GDA00034603651000000610
为主密钥。
进一步,所述密钥生成具体包括:密钥权限随机选择t,
Figure GDA00034603651000000611
t=t′/z,
Figure GDA00034603651000000612
表示模素数为p1的有限域,行算法KeyGen(MSK,S),获取SK′,并将转换密钥设置为TK,然后将SK=(TK,z)发送给用户:
所述SK′采用如下方法确定:
Figure GDA00034603651000000613
其中,SK′表示示构成私钥的中间密钥,PK表示公钥,Kx表示属性x∈S时的全局描述映射,H(U)t′表示将全局描述U映射为
Figure GDA00034603651000000614
上的元素取t′次幂的私钥组成成分,
Figure GDA00034603651000000615
表示生成元取αx次幂,
Figure GDA00034603651000000616
表示生成元取βxt′次幂,L′表示由生成元t′次幂构成的掩码,gt′表示示生成元取t次幂,
所述转换密钥通过如下方法确定:
Figure GDA00034603651000000617
其中,TK表示转换密钥,PK表示公钥,Kx表示Kx′取1/z次幂,S表示属性集,
Figure GDA00034603651000000618
表示生成元取αx/z次幂,
Figure GDA00034603651000000619
表示生成元取βxt次幂,L表示由L′取1/z次幂构造的掩码,L′1/z表示L′取1/z次幂,gt表示生成元取t次幂。
进一步,所述数据加密具体包括数据拥有者可以使用CP-ABE加密算法对明文消息E进行加密,该算法以公钥PK、明文消息E、全局参数GP和访问策略(M,ρ)为输入,对其进行加密,其中,假设M是一个
Figure GDA0003460365100000071
矩阵,函数ρ映射它的行到属性,该算法随机选择加密指数
Figure GDA0003460365100000072
随机向量
Figure GDA0003460365100000073
其中,
Figure GDA0003460365100000074
表示随机向量,s表示加密指数,y2表示随机数,n表示访问矩阵M的列数,
Figure GDA0003460365100000075
表示一个有限域,其中有限域的阶必须是一个素数的幂pn,和
Figure GDA0003460365100000076
其中,
Figure GDA0003460365100000077
表示有限域
Figure GDA0003460365100000078
内的一个随机向量,
Figure GDA0003460365100000079
表示一个有限域,其中有限域的阶必须是一个素数的幂pn
计算λi和ωi,
Figure GDA00034603651000000710
其中,
Figure GDA00034603651000000711
Figure GDA00034603651000000712
表示访问矩阵M的行数,λi表示旧策略的参数,Mi表示访问矩阵M的第i行对应的向量,
Figure GDA00034603651000000713
表示随机向量,
Figure GDA00034603651000000714
表示有限域
Figure GDA00034603651000000715
内的一个随机向量,ωi表示M的第i行对应的向量乘以
Figure GDA00034603651000000716
所得的随机数;
令I={i:ρ(i)∈S},其中
Figure GDA00034603651000000717
Figure GDA00034603651000000718
表示访问矩阵M的行数,ρ(i)表示函数ρ将矩阵M的第i行映射到属性,
算法随机选择
Figure GDA00034603651000000719
生成密文:
Figure GDA00034603651000000720
Figure GDA00034603651000000721
Figure GDA00034603651000000722
其中,CT表示密文,C表示密文的组成成分,E表示明文,e表示双线性映射,g表示生成元,αρ(i)表示访问策略的第一个随机数,s表示加密指数,C′表示密文的组成成分,λi表示旧策略参数,di表示旧策略的随机数,βρ(i)表示新访问策略的第二个随机数,ωi表示M的第i行对应的向量乘以
Figure GDA00034603651000000723
所得的随机数,C2,i表示密文组成成分,C3,i表示密文组成成分。
进一步,所述数据解密具体步骤代理解密和用户解密:所述代理解密由边缘节点运行转换算法Trans,算法以密文CT,转换密钥TK为输入,判断用户属性集s是否属于明文消息E,若否,则输出错误符号⊥,若是,则边缘节点进行解密并确定代理解密的密文CT′:
Figure GDA0003460365100000081
其中,CT′表示代理解密密文,C表示密文的组成成分,E表示明文,e表示双线性映射,g表示生成元,αρ(i)表示访问策略的第一个随机数,s表示加密指数,z表示随机数;
其中
Figure GDA0003460365100000082
其中,e表示双线性映射,C′表示由生成元s次幂构成的掩码,K表示由K′的1/z次幂构成的转换密钥组成成分,βρ(i)表示访问策略的第二个随机数,Kρ(i)表示属性ρ(i)∈S时的全局描述映射,
Figure GDA0003460365100000083
表示密文的第三部分组成成分的ωi次幂;
所述用户解密包括以下步骤:
判断密文是否执行代理解密,若否,在进入代理解密,若是,则以私钥SK=(TK,z)和代理解密的密文CT'作为输入,获得明文消息E,
Figure GDA0003460365100000084
其中T0=C,
Figure GDA0003460365100000085
其中,C表示明文用双线性映射掩盖,e表示双线性映射,g表示生成元,αρ(i)表示访问策略的第一个随机数,s表示加密指数,z表示转换密钥中的致盲因子。
本发明的有益技术效果:本发明提出一种在边缘计算环境下的策略更新方法,能够实现在云服务提供商CPS上动态地更新访问策略,以减少数据来回传输的通信开销,减少了数据拥有者的计算量;在边缘计算环境中,我们将终端设备中部分复杂的解密运算外包给边缘节点,大大提高了计算效率;此外,本发明具有较高的安全性。
附图说明
下面结合附图和实施例对本发明作进一步描述:
图1为本发明的代理解密和用户解密成本的比较图。
图2为本发明的策略更新成本的比较图。
具体实施方式
以下结合说明书附图对本发明做出进一步的说明:
本发明提供的一种基于外包密文属性加密的数据访问控制系统,其特征在于:包括:数据拥有者、用户、密钥权限、边缘节点和云服务提供商;
所述数据拥有者,在将数据存储到云服务提供商或边缘节点之前,可根据访问策略对数据进行加密,可要求云服务提供商更新加密数据的访问策略,并检查云服务提供商是否正确的更新了访问策略;
所述用户可以自由的从云服务提供商或者边缘节点检索密文;
所述密钥权限用于设置实现数据访问控制方案的系统参数,生成转换密钥给用户,生成用于加密解密的密钥对,所述密钥对包括公钥和私钥,并将所述公钥发送给数据拥有者,将私钥发送给用户;
所述边缘节点用于存储数据拥有者的加密的明文消息;所述边缘节点还用于在解密阶段,运行密钥转换算法,将满足用户属性的密文转换为部分解密的密文;
所述云服务提供商用于为数据拥有者提供存储数据的平台;所述云服务提供商还包括根据数据拥有者的要求运行更新算法来更新加密数据的访问策略。
相应地,本发明还提供一种基于外包密文属性加密的数据访问控制方法,其特征在于:用于权利要求1所述的访问控制系统,所述访问控制方法包括系统初始化、密钥生成、数据加密、数据解密和动态策略更新;
所述系统初始化包括全局设置和权限设置,所述全局设置接受全局描述U和隐式安全参数作为输入,输出全局参数GP;所述权限设置以全局参数GP为输入,由密钥权限运行,用于生成密钥的主密钥MSK;
所述密钥生成用于生成代理解密的转换密钥TK和用于用户解密的密钥SK;
所述数据加密包括加密算法和转换算法,所述加密算法以全局参数GP、公钥PK、明文消息E和访问策略(M′,ρ′)为输入,输出一个密文CT,所述转换算法用于接收密文CT和用户属性集S的转换密钥TK,判断用户属性集S是否满足密文CT中的访问策略,若是,则输出代理解密的密文CT′,若否,不输出代理解密的密文CT′;
所述数据解密以密钥SK和代理解密的密文CT′作为输入,判断用户属性集S是否属于明文消息E,若是,则输出明文消息E,若否,则输出错误符号⊥;
所述动态策略更新包括新密钥生成算法和密文更新算法,所述新密钥生成算法以旧的访问策略(M,ρ)和新的访问策略(M',ρ')作为输入,输出策略更新密钥PUK,用于将密文CT的访问策略从旧的访问策略(M,ρ)更新为新的访问策略(M',ρ'),所述密文更新算法以密文CT和策略更新密钥PUK为输入,最后输出与新访问策略相对应的新密文CTN
所述动态策略更新具体包括如下步骤:
初始化旧的访问策略(M,ρ)和新的访问策略(M′,ρ′),令nρ(i),M为访问矩阵M中属性ρ(i)的数量、nρ(i),M′为访问矩阵M′中属性ρ(i)的数量、I1,M′为ρ(i)存在于M中j的指标集合、I2,M′为ρ(i)存在于M′中j的指标集合、且ρ(i)=ρ′(j),若nρ′(j),M′≤nρ′(j),M将索引j放入I1,M′中,若nρ′(j),M′>nρ′(j),M将索引j放入I2,M′,I3,M′表示I3,M′在M中从未出现过;
构造一个新的随机变量
Figure GDA0003460365100000101
其中,
Figure GDA0003460365100000102
表示随机向量,
Figure GDA0003460365100000103
表示一个有限域,其中有限域的阶必须是一个素数的幂pn′,加密指数s是向量
Figure GDA0003460365100000104
的第一个元素;
计算
Figure GDA0003460365100000105
其中,λj表示新策略参数,M′j表示M′的第j行对应的向量,
Figure GDA0003460365100000106
表示随机向量,j∈[1,l′],l′表示访问矩阵M′的行数;
若(j,i)∈I1,M′则策略更新密钥PUK如下:
PUK=(PUK(1)=λ′ji,PUK(2)=ω′ji)
其中,λj表示新策略参数,λi表示旧策略参数,M′表示新访问矩阵,ω′j表示M′的第j行对应的向量乘以
Figure GDA0003460365100000111
所得的随机数,ωi表示M的第i行对应的向量乘以
Figure GDA0003460365100000112
所得的随机数;
若(j,i)∈I2,M′,选择属于集合
Figure GDA0003460365100000113
的随机数aj,即
Figure GDA0003460365100000114
Figure GDA0003460365100000115
表示模素数p1的有限域,生成策略更新密钥PUK如下:
PUK=(aj,PUK(1)=λ′j-ajλi,PUK(2)=ω′j-ajωi)
其中,aj表示更新密钥随机数,λj表示新策略参数,λi表示旧策略参数,ω′j表示M′的第j行对应的向量乘以
Figure GDA0003460365100000116
所得的随机数,ωi表示M的第i行对应的向量乘以
Figure GDA0003460365100000117
所得的随机数;
若(j,i)∈I3,M′,选择一个属于集合(j,i)∈I3,M′的随机数dj
Figure GDA0003460365100000118
Figure GDA0003460365100000119
表示模素数为p1的有限域,生成策略更新密钥PUK如下:
PUK=(PUK(1)=λ′jρ′(j)dj,PUK(2)=βρ′(j)dj+ω′j,PUK(3)=dj)
其中,λj表示新策略参数,ω′j表示M′的第j行对应的向量乘以
Figure GDA00034603651000001110
所得的随机数,αρ′(j)表示新访问策略的第一个随机数,βρ′(j)表示新访问策略的第二个随机数,且αρ′(j)
Figure GDA00034603651000001111
更新密文包括以下步骤:
数据拥有者将PUK发送给云服务提供商,云服务商根据收到的PUK更新访问策略:
若(j,i)∈I1,M′,则更新密文成分如下:
Figure GDA00034603651000001112
Figure GDA00034603651000001113
Figure GDA00034603651000001114
其中,dj=di,C′j表示更新的密文成分,C′1,j表示更新密文的第一部分组成成分,C′2,j表示更新密文的第二部分组成成分,C′3,j表示更新密文的第三部分组成成分,C1,i表示原密文的第一部分组成成分,C2,i表示原密文的第二部分组成成分,C3,i表示原密文的第三部分组成成分,e表示双线性映射,g表示生成元,λj表示新策略参数,αρ′(j)表示新访问策略的第一个随机数,βρ′(j)表示新访问策略的第二个随机数,且αρ′(j)
Figure GDA0003460365100000121
ω′j表示M′的第j行对应的向量乘以
Figure GDA0003460365100000122
所得的随机数,dj表示新访问策略的随机数,PUK(1)表示更新密钥的第一部分组成成分,PUK(2)表示更新密钥的第二部分组成成分,
若(j,i)∈I2,M′,则更新密文成分如下:
Figure GDA0003460365100000123
Figure GDA0003460365100000124
Figure GDA0003460365100000125
其中,dj=ajdi,C′j表示更新的密文成分,C′1,j表示更新密文的第一部分组成成分,C′2,j表示更新密文的第二部分组成成分,C′3,j表示更新密文的第三部分组成成分,C1,i表示原密文的第一部分组成成分,C2,i表示原密文的第二部分组成成分,C3,i表示原密文的第三部分组成成分,e表示双线性映射,g表示生成元,λj表示新策略参数,αρ′(j)表示新访问策略的第一个随机数,βρ′(j)表示新访问策略的第二个随机数,且αρ′(j)
Figure GDA0003460365100000126
ω′j表示M′的第j行对应的向量乘以
Figure GDA0003460365100000127
所得的随机数,dj表示新策略的随机数,PUK(1)表示更新密钥的第一部分组成成分,PUK(2)表示更新密钥的第二部分组成成分,
若(j,i)∈I3,M′,则更新密文成分如下:
Figure GDA0003460365100000128
Figure GDA0003460365100000129
Figure GDA00034603651000001210
其中,C′j表示更新的密文成分,C′1,j表示更新密文的第一部分组成成分,C′2,j表示更新密文的第二部分组成成分,C′3,j表示更新密文的第三部分组成成分,C1,i表示原密文的第一部分组成成分,C2,i表示原密文的第二部分组成成分,C3,i表示原密文的第三部分组成成分,e表示双线性映射,g表示生成元,λj表示新策略参数,αρ′(j)表示新访问策略的第一个随机数,βρ′(j)表示新访问策略的第二个随机数,且αρ′(j)
Figure GDA0003460365100000131
ω′j表示M′的第j行对应的向量乘以
Figure GDA0003460365100000132
所得的随机数,dj表示新策略的随机数,PUK(1)表示更新密钥的第一部分组成成分,PUK(2)表示更新密钥的第二部分组成成分,得到了新的密文如下:
Figure GDA0003460365100000133
其中,CTN表示更新后的新密文,C表示明文用双线性映射掩盖,e表示双线性映射,g表示生成元,αρ′(j)表示新访问策略的第一个随机数,
Figure GDA0003460365100000134
表示明文,s表示加密指数,C′表示由生成元s次幂构成的掩码,l′表示访问矩阵M′的行数,C′j表示更新的密文成分。
所述系统初始化的全局设置包括全局设置算法GlobalSetup以全局描述U作为输入,一般设全局描述U={0,1}*,然后选择两个具有相同素数阶P的乘法循环群
Figure GDA0003460365100000135
和双线性映射e:
Figure GDA0003460365100000136
令g为
Figure GDA0003460365100000137
的生成元,哈希函数H映射,输出全局参数为GP=(g,p1,H),其中,g表示
Figure GDA0003460365100000138
的生成元,p1表示素数阶,H表示哈希函数映射
Figure GDA0003460365100000139
其中,
Figure GDA00034603651000001310
表示具有相同素数阶p1的乘法循环群;
所述权限设置具体为密钥权限运行权限设置算法AuthoSetup,生成公钥PK和主密钥MSK,其中,令S为密钥权限管理的属性集,对于每个属性x∈S,密钥权限选择随机指数αx,
Figure GDA00034603651000001311
Figure GDA00034603651000001312
表示模素数为p1的有限域,然后生成公钥为
Figure GDA00034603651000001313
并设置
Figure GDA00034603651000001314
为主密钥。
所述密钥生成具体包括:密钥权限随机选择t,
Figure GDA00034603651000001315
t=t′/z,
Figure GDA00034603651000001316
表示模素数为p1的有限域,行算法KeyGen(MSK,S),获取SK′,并将转换密钥设置为TK,然后将SK=(TK,z)发送给用户:
所述SK′采用如下方法确定:
Figure GDA0003460365100000141
其中,SK′表示示构成私钥的中间密钥,PK表示公钥,Kx表示属性x∈S时的全局描述映射,H(U)t′表示将全局描述U映射为
Figure GDA0003460365100000142
上的元素取t′次幂的私钥组成成分,
Figure GDA0003460365100000143
表示生成元取αx次幂,
Figure GDA0003460365100000144
表示生成元取βxt′次幂,L′表示由生成元t′次幂构成的掩码,gt′表示示生成元取t次幂,
所述转换密钥通过如下方法确定:
Figure GDA0003460365100000145
其中,TK表示转换密钥,PK表示公钥,Kx表示Kx′取1/z次幂,S表示属性集,
Figure GDA0003460365100000146
表示生成元取αx/z次幂,
Figure GDA0003460365100000147
表示生成元取βxt次幂,L表示由L′取1/z次幂构造的掩码,L′1/z表示L′取1/z次幂,gt表示生成元取t次幂。
所述数据加密具体包括数据拥有者可以使用CP-ABE加密算法对明文消息E进行加密,该算法以公钥PK、明文消息E、全局参数GP和访问策略(M,ρ)为输入,对其进行加密,其中,假设M是一个
Figure GDA0003460365100000148
矩阵,函数ρ映射它的行到属性,该算法随机选择加密指数
Figure GDA0003460365100000149
随机向量
Figure GDA00034603651000001410
其中,
Figure GDA00034603651000001411
表示随机向量,s表示加密指数,y2表示随机数,n表示访问矩阵M的列数,
Figure GDA00034603651000001412
表示一个有限域,其中有限域的阶必须是一个素数的幂pn,和
Figure GDA00034603651000001413
其中,
Figure GDA00034603651000001414
表示有限域
Figure GDA00034603651000001415
内的一个随机向量,
Figure GDA00034603651000001416
表示一个有限域,其中有限域的阶必须是一个素数的幂pn
计算λi和ωi,
Figure GDA00034603651000001417
其中,
Figure GDA00034603651000001418
Figure GDA00034603651000001419
表示访问矩阵M的行数,λi表示旧策略的参数,Mi表示访问矩阵M的第i行对应的向量,
Figure GDA00034603651000001420
表示随机向量,
Figure GDA00034603651000001421
表示有限域
Figure GDA00034603651000001422
内的一个随机向量,ωi表示M的第i行对应的向量乘以
Figure GDA00034603651000001423
所得的随机数;
令I={i:ρ(i)∈S},其中
Figure GDA00034603651000001424
Figure GDA00034603651000001425
表示访问矩阵M的行数,ρ(i)表示函数ρ将矩阵M的第i行映射到属性,
算法随机选择
Figure GDA0003460365100000151
生成密文:
Figure GDA0003460365100000152
Figure GDA0003460365100000153
Figure GDA0003460365100000154
其中,CT表示密文,C表示密文的组成成分,E表示明文,e表示双线性映射,g表示生成元,αρ(i)表示访问策略的第一个随机数,s表示加密指数,C′表示密文的组成成分,λi表示旧策略参数,di表示旧策略的随机数,βρ(i)表示新访问策略的第二个随机数,ωi表示M的第i行对应的向量乘以
Figure GDA0003460365100000155
所得的随机数,C2,i表示密文组成成分,C3,i表示密文组成成分。
所述数据解密具体步骤代理解密和用户解密:所述代理解密由边缘节点运行转换算法Trans,算法以密文CT,转换密钥TK为输入,判断用户属性集s是否属于明文消息E,若否,则输出错误符号⊥,若是,则边缘节点进行解密并确定代理解密的密文CT′:
Figure GDA0003460365100000156
其中,CT′表示代理解密密文,C表示密文的组成成分,E表示明文,e表示双线性映射,g表示生成元,αρ(i)表示访问策略的第一个随机数,s表示加密指数,z表示随机数;
其中
Figure GDA0003460365100000157
其中,e表示双线性映射,C′表示由生成元s次幂构成的掩码,K表示由K′的1/z次幂构成的转换密钥组成成分,βρ(i)表示访问策略的第二个随机数,Kρ(i)表示属性ρ(i)∈S时的全局描述映射,
Figure GDA0003460365100000158
表示密文的第三部分组成成分的ωi次幂;
所述用户解密包括以下步骤:
判断密文是否执行代理解密,若否,在进入代理解密,若是,则以私钥SK=(TK,z)和代理解密的密文CT'作为输入,获得明文消息E,
Figure GDA0003460365100000161
其中T0=C,
Figure GDA0003460365100000162
其中,C表示明文用双线性映射掩盖,e表示双线性映射,g表示生成元,αρ(i)表示访问策略的第一个随机数,s表示加密指数,z表示转换密钥中的致盲因子。
现就访问策略更新的正确性和整个方案的IND-CPA安全性予以说明:
现就数据机密性做以下说明:首先,数据拥有者可以使用访问策略对数据进行加密,不符合访问策略的用户无法对密文进行解密,因此本发明可以保证数据的机密性。在加密阶段,数据拥有者虽然可以执行加密算法,但在没有转换密钥和私钥的情况下仍然不能访问数据。在解密阶段,由于用户属性集不能满足密文中的访问策略,边缘节点无法恢复e(g,g)s,进而得到代理解密的密文CT′。因此,只有属性满足访问策略的用户才能对密文进行解密,保证了整个方案中数据的保密性。
现就用户抗共谋性做以下说明:用户共谋攻击是基于ABE的访问控制方案中需要特别注意的一种恶意攻击。每个用户都有一个不同的密钥,该密钥由与用户属性关联的密钥成分组成。因此,不同的用户可能会与不同的密钥成分串通,生成一个新的密钥组合来扩展他们的访问权限。
在我们的方案中,明文消息E的部分组成成分为
Figure GDA0003460365100000163
为了解密密文得到E,用户需要有一个带有随机数αx的私钥成分。而密钥生成算法为每个用户分配了一个不同的随机数αx,这意味着每个用户的私钥是随机的,因此不同用户的私钥成分无法有效组合。因此,用户不能共谋形成新的密钥来扩展自己的访问权限。
现就本发明的访问策略更新的正确性做以下说明:
为了检查云服务提供商是否正确更新了访问策略(M,ρ),以及新的访问策略(M′,ρ′)是否符合数据拥有者的要求,我们将对新的访问策略(M′,ρ′)进行验证。当验证开始时,数据拥有者向云服务提供商发送检查策略挑战
Figure GDA0003460365100000164
以验证访问策略。然后云服务提供商接收到一个检查证明
Figure GDA00034603651000001713
来做。最后,数据拥有者根据证明
Figure GDA00034603651000001714
检查云服务提供商更新访问策略的正确性。
在系统初始化阶段,我们假设每个数据拥有者都有一个全局身份GID,密钥权限为每个数据拥有者发出相应的检查密钥CK为
Figure GDA0003460365100000171
其中z′由密钥权限选择并向DO保密的随机数。当用户属性集S满足旧的访问策略(M,ρ)时,我们设IS={i|ρ(i)∈S}作为用户属性集S的索引集。因此,当S满足新的访问策略(M′,ρ′)时,我们设置IS′={i|ρ(i)∈S′}作为用户属性集S′的索引集。
挑战:DO生成检查策略挑战
Figure GDA0003460365100000172
并送给CSP。
证明:在接收到检查策略挑战
Figure GDA0003460365100000173
时,CSP生成一个检查证明
Figure GDA0003460365100000174
Figure GDA0003460365100000175
DO选择随机常数
Figure GDA0003460365100000176
使得∑iciMi=(1,0,…,0),然后计算下面的公式
Figure GDA0003460365100000177
如果上式等于e(g,g)s,可以证明CSP对访问策略的更新是正确的。因为DO选择了一组随机常数集{ci},使得∑iciωi=0,∑iciλi=s。
D.IND-CPA安全证明
假设决策q-parallel BDHE假设成立,在访问策略(M**)下,如果没有任意多项式时间敌手
Figure GDA0003460365100000178
成功攻击,则本发明是IND-CPA安全的。
初始化:在游戏开始前,模拟器
Figure GDA0003460365100000179
给出q-parallel BDHE挑战(y,T)。敌手
Figure GDA00034603651000001710
给出了挑战访问策略(M**),M*
Figure GDA00034603651000001711
矩阵,并且
Figure GDA00034603651000001712
n*≤q。
设置:首先,模拟器
Figure GDA00034603651000001834
运行设置算法来获取公钥
Figure GDA0003460365100000181
和主密钥
Figure GDA0003460365100000182
然后模拟器
Figure GDA00034603651000001835
随机选择α′,
Figure GDA0003460365100000183
Figure GDA0003460365100000184
Figure GDA0003460365100000185
使得
Figure GDA0003460365100000186
对于1≤x≤U,设X为i的指标集,使得ρ*(i)=x。定义
Figure GDA0003460365100000187
阶段1:在这个阶段,敌手
Figure GDA0003460365100000188
进行以下私钥查询:
敌手
Figure GDA0003460365100000189
给定一组属性S,其中S不满足M*。模拟器
Figure GDA00034603651000001810
首先选择两个随机数z*,
Figure GDA00034603651000001811
计算
Figure GDA00034603651000001812
然后找到一个向量
Figure GDA00034603651000001813
使得ω1=-1,并且对于ρ*(i)∈S,有
Figure GDA00034603651000001814
模拟器
Figure GDA00034603651000001815
返回
Figure GDA00034603651000001816
给敌手
Figure GDA00034603651000001817
并隐式地定义z=z*
模拟器
Figure GDA00034603651000001836
隐式地定义t为
Figure GDA00034603651000001818
并计算
Figure GDA00034603651000001819
Figure GDA00034603651000001820
Figure GDA00034603651000001821
Figure GDA00034603651000001822
模拟器
Figure GDA00034603651000001823
将转换密钥TK=(PK,{Kx},K,L)和私钥SK=(TK,z)返回给敌手
Figure GDA00034603651000001824
并隐式定义z=z*
挑战:敌手
Figure GDA00034603651000001825
提交两个等长的明文消息
Figure GDA00034603651000001826
Figure GDA00034603651000001827
给模拟器
Figure GDA00034603651000001828
模拟器
Figure GDA00034603651000001829
随机选择一个比特位
Figure GDA00034603651000001830
和随机数
Figure GDA00034603651000001831
然后使用向量
Figure GDA00034603651000001832
Figure GDA00034603651000001833
共享秘密值。
此外,模拟器
Figure GDA00034603651000001921
随机选择
Figure GDA0003460365100000191
对于i=1,…,n*,模拟器
Figure GDA00034603651000001922
生成挑战密文
Figure GDA0003460365100000192
Figure GDA0003460365100000193
Figure GDA0003460365100000194
Figure GDA00034603651000001925
其中隐式地定义λ′i=λi,d′i=di,ω′i=ωi
阶段2:与阶段1相同。
猜测:敌手
Figure GDA0003460365100000195
输出一个猜测
Figure GDA0003460365100000196
Figure GDA0003460365100000197
模拟器
Figure GDA00034603651000001923
输出0并且猜测
Figure GDA0003460365100000198
因此,模拟器
Figure GDA00034603651000001924
的优势为
Figure GDA0003460365100000199
Figure GDA00034603651000001910
否则,它输出1表示T是一个随机组的元素
Figure GDA00034603651000001911
这意味着明文消息
Figure GDA00034603651000001912
对敌手
Figure GDA00034603651000001913
隐藏,敌手
Figure GDA00034603651000001914
的优势为
Figure GDA00034603651000001915
Figure GDA00034603651000001916
在决策q-parallel BDHE游戏中具有不可忽略的优势,证明了我们的方案在决策q-parallel BDHE假设下是IND-CPA安全的。
为了测试我们所提方案的性能,我们在两个平台:2.1GHz intel(R)Core(TM)i5-8250U CPU的运行Ubuntu 16.04系统的笔记本电脑,和一个1.2GHz的Andro id 8.1.0的手机上进行实验。另外,我们实例化本方案使用JPBC-2.0.0密码库里的类型A椭圆曲线。椭圆曲线有一个512b it的有界域,其素数阶为160b it。为了平滑实验的可变性,我们在电脑上重复了100次,在手机上重复了20次。我们预计随着属性的增加,笔记本(边缘节点)比手机(用户)在CP-ABE解密方面具有更明显的优势。
在CP-ABE中,主要的运算类型包括乘法运算、随机常数群
Figure GDA00034603651000001917
上的加减法运算、椭圆曲线上的幂运算和双线性配对运算,而计算开销高的运算主要是幂运算和双线性配对操作。与后面两种运算相比较,乘法运算和随机常数群
Figure GDA00034603651000001918
上的加减法运算的计算开销可以忽略不计。我们使用
Figure GDA00034603651000001919
代表群
Figure GDA00034603651000001920
上的幂运算,
Figure GDA0003460365100000201
代表群
Figure GDA0003460365100000202
上的幂运算,PAIR代表双线性配对运算。表1说明,在具有不同CPU的设备上执行幂运算和双线性配对运算时,时间消耗有着非常大的差别。对于计算能力较弱的手机来说,与电脑相比要花费4.7倍的时间进行配对运算,3.7倍的时间进行群
Figure GDA0003460365100000203
上的幂运算,以及6.5倍的时间进行群
Figure GDA0003460365100000204
上的幂运算。我们可以看到在移动终端上运行ABE密码学算法,由于计算开销过大会严重影响用户的体验,所以我们提出的整个方案在提高边缘计算中的访问控制的计算效率方面具有重要意义。
表1对比不同设备的计算开销
Figure GDA0003460365100000205
我们生成了一个包含20个属性的集合。为了使我们的结果在边缘计算中更实用,我们首先在笔记本电脑使用先进加密标准(Advanced Encrypt ion Standard,AES)加密数据。然后,我们使用我们的方案加密AES方案的对称密钥。我们把方案的代理解密计算外包给了笔记本电脑。然后我们生成转换密钥,将代理解密后的密文下载到手机上。最后,利用手机中的转换密钥对代理解密后的密文进行解密。从实验结果图1看,在电脑上解密的时间取决于访问策略的复杂度。而在手机上进行用户解密的结果是,不同策略的解密开销几乎相同并且很小。说明我们的方案有效地减少了用户端的计算成本。
我们通过实验比较了DO生成每种类型的策略更新密钥和DO选择使用新的访问策略加密每种类型密文组件之间的计算时间。从图2中所示的结果可知,由于在我们的方案中策略更新密钥是在
Figure GDA0003460365100000206
上生成的,而DO是在乘法群
Figure GDA0003460365100000207
上加密密文组件,所以用我们的方案来更新密文的访问策略更有效。
本发明提出了一种在边缘计算中的基于外包密文属性加密的访问控制系统及方法。由于本发明应用的场景为边缘计算,因此与集中式计算系统相比,本发明更接近用户终端设备。边缘计算虽然降低了传输延迟,提高了服务质量,但也面临着终端设备资源有限的挑战。因此,我们将一部分解密操作外包给边缘节点。另外,因为数据拥有者需要动态地更新访问策略,所以由数据拥有者生成策略更新密钥发送给云服务提供商,在云服务提供商上更新密文。同时,本发明还可以支持数据的机密性,抵抗好奇用户的共谋攻击,并在访问策略更新后验证密文的正确性。安全分析和性能分析表明,本发明是安全可行的。因此,在资源受限的需要更新访问策略的边缘计算中,我们的方案可以提供细粒度的访问控制。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (5)

1.一种基于外包密文属性加密的数据访问控制系统,其特征在于:包括:数据拥有者、用户、密钥权限、边缘节点和云服务提供商;
所述数据拥有者,在将数据存储到云服务提供商或边缘节点之前,可根据访问策略对数据进行加密,可要求云服务提供商更新加密数据的访问策略,并检查云服务提供商是否正确的更新了访问策略;
所述用户可以自由的从云服务提供商或者边缘节点检索密文;
所述密钥权限用于设置实现数据访问控制方案的系统参数,生成转换密钥给用户,生成用于加密解密的密钥对,所述密钥对包括公钥和私钥,并将所述公钥发送给数据拥有者,将私钥发送给用户;
所述边缘节点用于存储数据拥有者的加密的明文消息;所述边缘节点还用于在解密阶段,运行密钥转换算法,将满足用户属性的密文转换为部分解密的密文;
所述云服务提供商用于为数据拥有者提供存储数据的平台;所述云服务提供商还包括根据数据拥有者的要求运行更新算法来更新加密数据的访问策略;
利用所述的数据访问控制系统进行数据访问控制的数据访问控制方法,包括系统初始化、密钥生成、数据加密、数据解密和动态策略更新;
所述系统初始化包括全局设置和权限设置,所述全局设置接受全局描述U和隐式安全参数作为输入,输出全局参数GP;所述权限设置以全局参数GP为输入,由密钥权限运行,用于生成密钥的主密钥MSK;
所述密钥生成用于生成代理解密的转换密钥TK和用于用户解密的密钥SK;
所述数据加密包括加密算法和转换算法,所述加密算法以全局参数GP、公钥PK、明文消息E和访问策略(M′,ρ)为输入,输出一个密文CT,所述转换算法用于接收密文CT和用户属性集S的转换密钥TK,判断用户属性集S是否满足密文CT中的访问策略,若是,则输出代理解密的密文CT,若否,不输出代理解密的密文CT′;
所述数据解密以密钥SK和代理解密的密文CT′作为输入,判断用户属性集S是否属于明文消息E,若是,则输出明文消息E,若否,则输出错误符号⊥;
所述动态策略更新包括新密钥生成算法和密文更新算法,所述新密钥生成算法以旧的访问策略(M,ρ)和新的访问策略(M′,ρ′)作为输入,输出策略更新密钥PUK,用于将密文CT的访问策略从旧的访问策略(M,ρ)更新为新的访问策略(M′,ρ′),所述密文更新算法以密文CT和策略更新密钥PUK为输入,最后输出与新访问策略相对应的新密文CTN;其中,M以及M′均为访问矩阵;ρ为访问矩阵M中的属性函数,所述ρ用于映射访问矩阵M的行到属性;ρ′为访问矩阵M′中的属性函数,所述ρ′用于映射访问矩阵M′的行到属性;
所述动态策略更新具体包括如下步骤:
初始化旧的访问策略(M,ρ)和新的访问策略(M′,ρ′),令nρ(i),M为访问矩阵M中属性ρ(i)的数量、nρ(i),M′为访问矩阵M′中属性ρ(i)的数量、I1,M′为ρ(i)存在于M中j的指标集合、I2,M′为ρ(i)存在于M′中j的指标集合、且ρ(i)=ρ′(j),若nρ′(j),M′≤nρ′(j),M将索引j放入I1,M′中,若nρ′(j),M′>nρ′(j),M将索引j放入I2,M′,I3,M′表示I3,M′在M中从未出现过;
构造一个新的随机变量
Figure FDA0003460365090000021
其中,
Figure FDA0003460365090000022
表示随机向量,
Figure FDA0003460365090000023
表示一个有限域,其中有限域的阶必须是一个素数的幂pn′,加密指数s是向量
Figure FDA0003460365090000024
的第一个元素;
计算
Figure FDA0003460365090000025
其中,λj表示新策略参数,M′j表示M′的第j行对应的向量,
Figure FDA0003460365090000026
表示随机向量,j∈[1,l′],l′表示访问矩阵M′的行数;
若(j,i)∈I1,M′则策略更新密钥PUK如下:
PUK=(PUK(1)=λ′ji,PUK(2)=ω′ji)
其中,λj表示新策略参数,λi表示旧策略参数,M′表示新访问矩阵,ω′j表示M′的第j行对应的向量乘以
Figure FDA0003460365090000027
听得的随机数,ωi表示M的第i行对应的向量乘以
Figure FDA0003460365090000028
听得的随机数;
若(j,i)∈I2,M′,选择属于集合
Figure FDA0003460365090000031
的随机数aj,即
Figure FDA0003460365090000032
Figure FDA0003460365090000033
表示模素数p1的有限域,生成策略更新密钥PUK如下:
PUK=(aj,PUK(1)=λ′j-ajλi,PUK(2)=ω′j-ajωi)
其中,aj表示更新密钥随机数,λj表示新策略参数,λi表示旧策略参数,ω′j表示M′的第j行对应的向量乘以
Figure FDA0003460365090000034
所得的随机数,ωi表示M的第i行对应的向量乘以
Figure FDA0003460365090000035
听得的随机数;
若(j,i)∈I3,M′,选择一个属于集合(j,i)∈I3,M′的随机数dj
Figure FDA0003460365090000036
Figure FDA0003460365090000037
表示模素数为p1的有限域,生成策略更新密钥PUK如下:
PUK=(PUK(1)=λ′jρ′(j)dj,PUK(2)=βρ′(j)dj+ω′j,PUK(3)=dj)
其中,λj表示新策略参数,ω′j表示M′的第j行对应的向量乘以
Figure FDA0003460365090000038
听得的随机数,αρ′(j)表示新访问策略的第一个随机数,βρ′(j)表示新访问策略的第二个随机数,且
Figure FDA0003460365090000039
更新密文包括以下步骤:
数据拥有者将PUK发送给云服务提供商,云服务商根据收到的PUK更新访问策略:
若(j,i)∈I1,M′,则更新密文成分如下:
Figure FDA00034603650900000310
Figure FDA00034603650900000311
Figure FDA00034603650900000312
其中,dj=di,C′j表示更新的密文成分,C′1,j表示更新密文的第一部分组成成分,C′2,j表示更新密文的第二部分组成成分,C′3,j表示更新密文的第三部分组成成分,C1,i表示原密文的第一部分组成成分,C2,i表示原密文的第二部分组成成分,C3,i表示原密文的第三部分组成成分,e表示双线性映射,g表示生成元,λj表示新策略参数,αρ′(j)表示新访问策略的第一个随机数,βρ′(j)表示新访问策略的第二个随机数,且
Figure FDA0003460365090000041
ω′j表示M′的第j行对应的向量乘以
Figure FDA0003460365090000042
所得的随机数,dj表示新访问策略的随机数,PUK(1)表示更新密钥的第一部分组成成分,PUK(2)表示更新密钥的第二部分组成成分,
若(j,i)∈I2,M′,则更新密文成分如下:
Figure FDA0003460365090000043
Figure FDA0003460365090000044
Figure FDA0003460365090000045
其中,dj=ajdi,C′j表示更新的密文成分,C′1,j表示更新密文的第一部分组成成分,C′2,j表示更新密文的第二部分组成成分,C′3,j表示更新密文的第三部分组成成分,C1,i表示原密文的第一部分组成成分,C2,i表示原密文的第二部分组成成分,C3,i表示原密文的第三部分组成成分,e表示双线性映射,g表示生成元,λj表示新策略参数,αρ′(j)表示新访问策略的第一个随机数,βρ′(j)表示新访问策略的第二个随机数,且
Figure FDA0003460365090000046
ω′j表示M′的第j行对应的向量乘以
Figure FDA0003460365090000047
所得的随机数,dj表示新策略的随机数,PUK(1)表示更新密钥的第一部分组成成分,PUK(2)表示更新密钥的第二部分组成成分,
若(j,i)∈I3,M′,则更新密文成分如下:
Figure FDA0003460365090000048
Figure FDA0003460365090000049
Figure FDA00034603650900000410
其中,C′j表示更新的密文成分,C′1,j表示更新密文的第一部分组成成分,C′2,j表示更新密文的第二部分组成成分,C′3,j表示更新密文的第三部分组成成分,C1,i表示原密文的第一部分组成成分,C2,i表示原密文的第二部分组成成分,C3,i表示原密文的第三部分组成成分,e表示双线性映射,g表示生成元,λj表示新策略参数,αρ′(j)表示新访问策略的第一个随机数,βρ′(j)表示新访问策略的第二个随机数,且
Figure FDA0003460365090000051
ω′j表示M′的第j行对应的向量乘以
Figure FDA0003460365090000052
听得的随机数,dj表示新策略的随机数,PUK(1)表示更新密钥的第一部分组成成分,PUK(2)表示更新密钥的第二部分组成成分,得到了新的密文如下:
Figure FDA0003460365090000053
其中,CTN表示更新后的新密文,C表示明文用双线性映射掩盖,e表示双线性映射,g表示生成元,αρ′(j)表示新访问策略的第一个随机数,
Figure FDA0003460365090000054
表示明文,s表示加密指数,C′表示由生成元s次幂构成的掩码,l′表示访问矩阵M′的行数,C′j表示更新的密文成分。
2.一种利用权利要求1所述的数据访问控制系统进行数据访问控制的基于外包密文属性加密的数据访问控制方法,其特征在于:所述系统初始化的全局设置包括全局设置算法GlobalSetup以全局描述U作为输入,一般设全局描述U={0,1}*,然后选择两个具有相同素数阶P的乘法循环群
Figure FDA0003460365090000055
和双线性映射e:
Figure FDA0003460365090000056
令g为
Figure FDA0003460365090000057
的生成元,哈希函数H映射,输出全局参数为GP=(g,p1,H),其中,g表示
Figure FDA0003460365090000058
的生成元,p1表示素数阶,H表示哈希函数映射
Figure FDA0003460365090000059
其中,
Figure FDA00034603650900000510
表示具有相同素数阶p1的乘法循环群;
所述权限设置具体为密钥权限运行权限设置算法AuthoSetup,生成公钥PK和主密钥MSK,其中,令S为密钥权限管理的属性集,对于每个属性x∈S,密钥权限选择随机指数
Figure FDA00034603650900000511
Figure FDA00034603650900000512
表示模素数为p1的有限域,然后生成公钥为
Figure FDA00034603650900000513
并设置
Figure FDA00034603650900000514
为主密钥。
3.根据权利要求2所述基于外包密文属性加密的数据访问控制方法,其特征在于:所述密钥生成具体包括:密钥权限随机选择
Figure FDA00034603650900000515
t=t′/z,
Figure FDA00034603650900000516
表示模素数为p1的有限域,行算法KeyGen(MSK,S),获取SK′,并将转换密钥设置为TK,然后将SK=(TK,z)发送给用户:
所述SK′采用如下方法确定:
Figure FDA00034603650900000517
其中,SK′表示示构成私钥的中间密钥,PK表示公钥,Kx表示属性x∈S时的全局描述映射,H(U)t′表示将全局描述U映射为
Figure FDA0003460365090000061
上的元素取t′次幂的私钥组成成分,
Figure FDA0003460365090000062
表示生成元取αx次幂,
Figure FDA0003460365090000063
表示生成元取βxt′次幂,L′表示由生成元t′次幂构成的掩码,gt′表示示生成元取t次幂,
所述转换密钥通过如下方法确定:
Figure FDA0003460365090000064
其中,TK表示转换密钥,PK表示公钥,Kx表示Kx′取1/z次幂,S表示属性集,
Figure FDA0003460365090000065
表示生成元取αx/z次幂,
Figure FDA0003460365090000066
表示生成元取βxt次幂,L表示由L′取1/z次幂构造的掩码,L′1/z表示L′取1/z次幂,gt表示生成元取t次幂。
4.根据权利要求2所述基于外包密文属性加密的数据访问控制方法,其特征在于:所述数据加密具体包括数据拥有者可以使用CP-ABE加密算法对明文消息E进行加密,该算法以公钥PK、明文消息E、全局参数GP和访问策略(M,ρ)为输入,对其进行加密,其中,假设M是一个
Figure FDA0003460365090000067
矩阵,函数ρ映射它的行到属性,该算法随机选择加密指数
Figure FDA0003460365090000068
随机向量
Figure FDA0003460365090000069
其中,
Figure FDA00034603650900000610
表示随机向量,s表示加密指数,y2表示随机数,n表示访问矩阵M的列数,
Figure FDA00034603650900000611
表示一个有限域,其中有限域的阶必须是一个素数的幂pn,和
Figure FDA00034603650900000612
其中,
Figure FDA00034603650900000613
表示有限域
Figure FDA00034603650900000614
内的一个随机向量,
Figure FDA00034603650900000615
表示一个有限域,其中有限域的阶必须是一个素数的幂pn
计算λi和ωi
Figure FDA00034603650900000616
其中,
Figure FDA00034603650900000617
Figure FDA00034603650900000618
表示访问矩阵M的行数,λi表示旧策略的参数,Mi表示访问矩阵M的第i行对应的向量,
Figure FDA00034603650900000619
表示随机向量,
Figure FDA00034603650900000620
表示有限域
Figure FDA00034603650900000621
内的一个随机向量,ωi表示M的第i行对应的向量乘以
Figure FDA00034603650900000622
听得的随机数;
令I={i:ρ(i)∈S},其中
Figure FDA00034603650900000623
Figure FDA00034603650900000624
表示访问矩阵M的行数,ρ(i)表示函数ρ将矩阵M的第i行映射到属性,
算法随机选择
Figure FDA00034603650900000625
生成密文:
Figure FDA0003460365090000071
Figure FDA0003460365090000072
Figure FDA0003460365090000073
其中,CT表示密文,C表示密文的组成成分,E表示明文,e表示双线性映射,g表示生成元,αρ(i)表示访问策略的第一个随机数,s表示加密指数,C′表示密文的组成成分,λi表示旧策略参数,di表示旧策略的随机数,βρ(i)表示新访问策略的第二个随机数,ωi表示M的第i行对应的向量乘以
Figure FDA0003460365090000074
所得的随机数,C2,i表示密文组成成分,C3,i表示密文组成成分。
5.根据权利要求2所述基于外包密文属性加密的数据访问控制方法,其特征在于:所述数据解密具体步骤代理解密和用户解密:所述代理解密由边缘节点运行转换算法Trans,算法以密文CT,转换密钥TK为输入,判断用户属性集s是否属于明文消息E,若否,则输出错误符号⊥,若是,则边缘节点进行解密并确定代理解密的密文CT′:
Figure FDA0003460365090000075
其中,CT′表示代理解密密文,C表示密文的组成成分,E表示明文,e表示双线性映射,g表示生成元,αρ(i)表示访问策略的第一个随机数,s表示加密指数,z表示随机数;
其中
Figure FDA0003460365090000076
其中,e表示双线性映射,C′表示由生成元s次幂构成的掩码,K表示由K′的1/z次幂构成的转换密钥组成成分,βρ(i)表示访问策略的第二个随机数,Kρ(i)表示属性ρ(i)∈S时的全局描述映射,
Figure FDA0003460365090000077
表示密文的第三部分组成成分的ωi次幂;
所述用户解密包括以下步骤:
判断密文是否执行代理解密,若否,在进入代理解密,若是,则以私钥SK=(TK,z)和代理解密的密文CT′作为输入,获得明文消息E,
Figure FDA0003460365090000081
其中T0=C,
Figure FDA0003460365090000082
其中,C表示明文用双线性映射掩盖,e表示双线性映射,g表示生成元,αρ(i)表示访问策略的第一个随机数,s表示加密指数,z表示转换密钥中的致盲因子。
CN202010880595.XA 2020-08-27 2020-08-27 基于外包密文属性加密的数据访问控制系统和方法 Active CN112104619B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010880595.XA CN112104619B (zh) 2020-08-27 2020-08-27 基于外包密文属性加密的数据访问控制系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010880595.XA CN112104619B (zh) 2020-08-27 2020-08-27 基于外包密文属性加密的数据访问控制系统和方法

Publications (2)

Publication Number Publication Date
CN112104619A CN112104619A (zh) 2020-12-18
CN112104619B true CN112104619B (zh) 2022-03-22

Family

ID=73758039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010880595.XA Active CN112104619B (zh) 2020-08-27 2020-08-27 基于外包密文属性加密的数据访问控制系统和方法

Country Status (1)

Country Link
CN (1) CN112104619B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112737785B (zh) * 2021-01-06 2021-09-28 江西清能高科技术有限公司 一种用于复杂访问策略的属性基加密方法、系统及设备
CN112865949B (zh) * 2021-01-20 2022-10-14 暨南大学 一种高效抗远程服务攻击的外包数据存储与访问方法
CN112866301A (zh) * 2021-04-25 2021-05-28 南京联成科技发展股份有限公司 一种用于管控中心向集中管控传输数据的加密方法
CN113360944B (zh) * 2021-06-25 2024-03-22 华北电力大学 一种电力物联网的动态访问控制系统与方法
CN113312654B (zh) * 2021-06-29 2023-05-12 重庆交通大学 一种基于csp问题的同态密文编码与计算方法
CN113656053A (zh) * 2021-08-17 2021-11-16 生迪智慧科技有限公司 处理器升级方法、装置、设备、存储介质及产品
CN113965372A (zh) * 2021-10-19 2022-01-21 南京工业大学 一种基于属性加密的安全通信机制
CN114172696B (zh) * 2021-11-23 2023-09-12 国网江西省电力有限公司电力科学研究院 一种电力物联网中云边端协同双重认证的终端认证方法
CN114301677B (zh) * 2021-12-28 2024-02-23 中国电信股份有限公司 秘钥协商方法、装置、电子设备及存储介质
CN115396232B (zh) * 2022-09-13 2024-02-23 西南交通大学 一种外包属性基加密即时密文验证方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104486315A (zh) * 2014-12-08 2015-04-01 北京航空航天大学 一种基于内容属性的可撤销密钥外包解密方法
CN106255130A (zh) * 2015-07-28 2016-12-21 西南大学 无线充电传感器网络总效用最大化方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104917772B (zh) * 2015-06-12 2017-12-08 深圳大学 一种云存储服务平台的访问控制系统的访问控制方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104486315A (zh) * 2014-12-08 2015-04-01 北京航空航天大学 一种基于内容属性的可撤销密钥外包解密方法
CN106255130A (zh) * 2015-07-28 2016-12-21 西南大学 无线充电传感器网络总效用最大化方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
《GGroup-based discretionary access control in health related repositories》;B. Chandrasekaran, R. Balakrishnan, Y. Nogami;《Journal of Communications Software & Systems》;20181231;全文 *
《Outsourcing the Decryption of ABE Ciphertexts》;Matthew Green,Susan Hohenberger,Brent Waters;《Outsourcing ciphertext 》;20111231;全文 *
《Review of Cipher Text Update and Computation Outsourcing in Fog Computing For Internet of Things》;Shaik Jaffer Vali, Dr. Jitendra Sheetlani;《ISSN》;20171231;全文 *
《软件定义网络中无拥塞一致数据平面更新策略研究》;李潘;《中国硕士学位论文全文数据库 信息技术辑》;20190320;全文 *
《高效且可验证的多授权机构属性基加密方案》;仲红,崔杰,朱文龙,许艳;《 软件学报》;20171017;全文 *

Also Published As

Publication number Publication date
CN112104619A (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
CN112104619B (zh) 基于外包密文属性加密的数据访问控制系统和方法
Wang et al. Certificateless public auditing for data integrity in the cloud
Garg et al. Comparative analysis of cloud data integrity auditing protocols
CN111355745A (zh) 基于边缘计算网络架构的跨域身份认证方法
Liu et al. Verifiable attribute-based keyword search over encrypted cloud data supporting data deduplication
Shen et al. Multi-security-level cloud storage system based on improved proxy re-encryption
CN108600174B (zh) 一种大型合作网络的访问控制机制及其实现方法
CN110933033A (zh) 智慧城市环境下多物联网域的跨域访问控制方法
Yan et al. A dynamic integrity verification scheme of cloud storage data based on lattice and Bloom filter
Tsai et al. TTP based high-efficient multi-key exchange protocol
CN114036539A (zh) 基于区块链的安全可审计物联网数据共享系统及方法
Jalil et al. A secure and efficient public auditing system of cloud storage based on BLS signature and automatic blocker protocol
Anand et al. EECDH to prevent MITM attack in cloud computing
Bouchaala et al. Trak-cpabe: a novel traceable, revocable and accountable ciphertext-policy attribute-based encryption scheme in cloud computing
Alimohammadi et al. A secure key-aggregate authentication cryptosystem for data sharing in dynamic cloud storage
Zhang et al. MEDAPs: secure multi‐entities delegated authentication protocols for mobile cloud computing
Liu et al. Traceable multiauthority attribute-based encryption with outsourced decryption and hidden policy for CIoT
CN106850584A (zh) 一种面向客户/服务器网络的匿名认证方法
CN112380579A (zh) 一种基于格的前向安全无证书数字签名方案
Son et al. A new outsourcing conditional proxy re‐encryption suitable for mobile cloud environment
Liu et al. An efficient fine-grained data access control system with a bounded service number
CN109743327B (zh) 基于无证书的云存储中共享数据的完整性公开验证方法
Qian et al. Anonymous password‐based key exchange with low resources consumption and better user‐friendliness
Zhang et al. Improving the leakage rate of ciphertext-policy attribute-based encryption for cloud computing
Zheng et al. An efficient User’s attribute revocation scheme suitable for data outsourcing in cloud storage

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