CN111614680A - 一种基于cp-abe的可追溯云存储访问控制方法和系统 - Google Patents

一种基于cp-abe的可追溯云存储访问控制方法和系统 Download PDF

Info

Publication number
CN111614680A
CN111614680A CN202010446221.7A CN202010446221A CN111614680A CN 111614680 A CN111614680 A CN 111614680A CN 202010446221 A CN202010446221 A CN 202010446221A CN 111614680 A CN111614680 A CN 111614680A
Authority
CN
China
Prior art keywords
data
owner
node
attribute
access control
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.)
Granted
Application number
CN202010446221.7A
Other languages
English (en)
Other versions
CN111614680B (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN202010446221.7A priority Critical patent/CN111614680B/zh
Publication of CN111614680A publication Critical patent/CN111614680A/zh
Application granted granted Critical
Publication of CN111614680B publication Critical patent/CN111614680B/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/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/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于CP‑ABE的可追溯云存储访问控制方法,其在CP‑ABE方案的原理基础上,引入一个公开的访问记录数据库,用于存储用户对文件的访问记录,实现了访问记录的可追溯,用于恶意用户的甄别;此外,本发明通过数据拥有者在加密阶段,使用不同于原始CP‑ABE方案的秘密值分割方式,以及使用无证书签名方案对访问控制策略进行无证书签名,把签名数据加入到密文计算中,解决了原始CP‑ABE方案加、解密计算效率低的问题,有效地抵御了云环境中恶意用户的攻击,如修改访问控制策略、修改密文、冒充数据发布者发布数据等。

Description

一种基于CP-ABE的可追溯云存储访问控制方法和系统
技术领域
本发明属于计算机安全技术领域,更具体地,涉及一种基于CP-ABE的可追溯云存储访问控制方法和系统。
背景技术
访问控制是一种有效防止未授权用户获取系统资源的重要技术。密文策略属性基加密(Ciphertext Policy Attribute Based Encryption,简称CP-ABE)方法被认为是云环境下最合适的访问控制方法,原始CP-ABE算法使用了较多的双线性对运算,加密与解密的效率低,难以满足实际应用中高效性的要求,而且在方案设计之初,并没有考虑云环境中恶意用户存在的情况。
近年来有研究者发现云环境中的恶意用户可能会对其它用户的正确数据进行破坏、冒充其它用户发布数据等内部攻击,对于这种情况,多数研究者采取让数据发布者给明文签名的方式来验证用户身份,防止恶意用户对数据的破坏。
然而,上述针对恶意用户的访问控制方案仍然存在着以下问题:一是此类方案选择在解密后对明文进行签名验证来达到所需的效果,签名的验证并非解密的必经阶段,用户可正常解密而不执行签名验证过程,导致访问控制策略或密文容易被篡改,而数据访问者无从知晓;二是数据拥有者的签名以独立字段的形式存储于密文之中,恶意用户完全可以将拥有者的签名去除来达到发布虚假信息的目的,且该方案加解密过程的计算效率低。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于CP-ABE的可追溯云存储访问控制方法和系统,其目的在于,解决现有针对恶意用户的访问控制方案中由于签名验证并非解密的必经阶段,从而导致访问控制策略或密文容易被篡改而数据访问者无从知晓的技术问题,以及签名数据可被恶意用户轻易删除、加解密过程计算效率低的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于CP-ABE的可追溯云存储访问控制方法,是应用在包括第一客户端、第二客户端、云服务器、私钥生成中心的加密存储系统中,其特征在于,所述方法包括:
一、加密过程,包括以下步骤:
(1)第一客户端获取数据拥有者的原始明文、签名私钥
Figure BDA0002505839200000021
公开参数PK和访问控制策略T,使用对称加密算法对该原始明文进行加密,以得到数据密文CTf,并根据数据拥有者的签名私钥
Figure BDA0002505839200000022
和公开参数PK计算数据拥有者对访问控制策略的签名τ;
(2)第一客户端使用其公开参数PK、其访问控制策略T和签名τ,对步骤(1)的对称加密过程中所使用的密钥M进行加密,以得到密钥密文CT,并将数据密文CTf和密钥密文CT发送到云服务器存储。
二、解密过程,包括以下步骤:
(1)第二客户端选取随机数
Figure BDA0002505839200000023
将该随机数
Figure BDA0002505839200000024
数据访问者的属性集U′以及数据访问者的全局唯一标识User一起发送到私钥生成中心;
(2)私钥生成中心根据数据访问者的属性集U′、随机数
Figure BDA0002505839200000025
和数据访问者的全局唯一标识Uer生成相应的属性私钥SK,并将该属性私钥SK发送到第二客户端;
(3)第二客户端将属性私钥SK和数据访问者的属性集U′发送到云服务器;
(4)云服务器根据数据访问者的属性集U′和密钥密文CT中的访问控制策略T计算最小匹配集Ymin,并判断最小匹配集Ymin是否为空集,若不为空集,则进入步骤(5),否则过程结束。
(5)云服务器根据属性私钥SK中的元素D0和数据访问者的全局唯一标识User计算散列值H(D0‖User),并将散列值公开到访问记录数据库中。
(6)云服务器根据最小匹配集Ymin、公开参数PK、密钥密文CT以及属性私钥SK计算中间解密结果
Figure BDA0002505839200000031
将其发送到第二客户端;
(7)第二客户端根据公开参数PK、中间解密结果
Figure BDA0002505839200000032
中的访问控制策略T、
Figure BDA0002505839200000033
中的数据拥有者的全局唯一标识Owner、数据拥有者的签名公钥计算签名验证数据λ,将签名验证数据λ、中间解密结果
Figure BDA0002505839200000034
中的部分元素和随机数
Figure BDA0002505839200000035
计算生成解密结果M(即对称密钥),从云服务器获取数据密文CTf,并利用该解密结果M对该数据密文CTf进行解密,以得到原始明文。
优选地,数据拥有者的公开参数PK等于:
Figure BDA0002505839200000036
其中
Figure BDA0002505839200000037
表示阶为素数p的乘法循环群,为公开参数PK的第一部分。g表示生成元,为公开参数PK的第二部分,α、γ、k、βi,j都是随机数,且有α、γ、
Figure BDA0002505839200000038
表示模p的既约剩余系,p表示随机大素数,n表示加密存储系统的全属性集U中元素的个数,ni表示加密存储系统的全属性集U中第i个元素的可取值个数。k是公开参数PK的第三部分,{hi,j}是公开参数PK的第四部分,Ppub表示无证书签名的尾缀数据,为公开参数PK的第五部分,e表示双线性映射,e(g,g)α为公开参数PK的第六部分,H0、H1、H2为三个不同的哈希函数,
Figure BDA0002505839200000039
Figure BDA00025058392000000310
数据拥有者的签名私钥
Figure BDA00025058392000000311
等于:
Figure BDA00025058392000000312
其中Owner表示数据拥有者的全局唯一标识,QOwner为私钥的第一部分,x为私钥生成中心生成的随机数,且
Figure BDA00025058392000000313
pkOwner,2=gx
Figure BDA00025058392000000314
Figure BDA00025058392000000315
是私钥的第二部分,其是数据拥有者独自生成的随机数。
优选地,签名τ的计算具体是按照如下公式:
Figure BDA0002505839200000041
Figure BDA0002505839200000042
τ=θ·QGID+θ′·r′Owner
其中Owner表示数据拥有者的全局唯一标识,
Figure BDA0002505839200000043
表示数据拥有者的签名公钥,r′Owner表是数据拥有者独自生成的随机数,为私钥的第二部分;
访问控制策略是用访问二叉树表示,访问二叉树中的叶子节点是加密存储系统的全属性集U中的元素,非叶子节点是逻辑表达式AND和OR。
优选地,加密过程的步骤(2)中第一客户端使用其公开参数PK、其访问控制策略T和签名τ对密钥M进行加密这一过程包括以下子步骤:
(2-1)根据访问控制策略T构造访问二叉树;
(2-2)随机选取秘密值
Figure BDA0002505839200000044
将秘密值S置于访问二叉树的根节点,从该根节点开始对访问二叉树进行广度优先遍历;
(2-3)判断当前节点是‘AND’节点、‘OR’节点,还是属性值相关联的叶子节点,若是‘AND’节点,则进入步骤(2-4),若是‘OR’节点,则进入步骤(2-5),若是属性值相关联的叶子节点,则进入步骤(2-6);
(2-4)生成随机数
Figure BDA0002505839200000045
设置当前节点的左孩子节点值为S″,设置当前节点的右孩子节点值为S′-S″mod p,然后转入步骤(2-6),其中S′表示当前节点拥有的秘密值;
(2-5)设置当前节点的左、右孩子节点值均为S′,然后转入步骤(2-6);
(2-6)判断是否完成了访问二叉树的广度优先遍历,若没有完成,则获取当前节点的下一个节点作为当前节点,并返回步骤(2-3),若完成了访问二叉树的广度优先遍历,则表示秘密值S已根据访问二叉树被传递到叶子节点,并转入步骤(2-7);
(2-7)根据秘密值S和访问控制策略T获取密钥密文CT:
CT={T,Owner,C0=gs+kτ,C1=Me(g,g)αS
Figure BDA0002505839200000051
其中访问控制策略T为该密钥密文CT的第一部分,数据拥有者的全局唯一标识Owner是第二部分,C0是第二部分,C1是第三部分,Cy是第四部分,k是公开参数PK的第三部分,{hi,j}是公开参数PK的第四部分,e(g,g)α是公开参数PK的第六部分,Y表示访问二叉树中的叶子节点集合,y表示访问二叉树的叶子节点集合Y中的叶子节点,Sy表示秘密值S传递到叶子节点后的值。
(2-8)将数据密文CTf和密钥密文CT发送到云服务器存储。
优选地,数据访问者的属性私钥SK的具体结构如下:
Figure BDA0002505839200000052
其中该属性私钥SK的第一部分D0是随机产生的固定参数,r是随机数,且有
Figure BDA0002505839200000053
Attri,j表示加密存储系统的全属性集U中第i个属性的第j个属性值,Di,j表示加密存储系统的全属性集U中第i个属性的第j个属性值对应的数组,其是属性私钥SK的第二部分,βi.j表示加密存储系统的全属性集U中第i个属性的第j个属性值对应的随机数,且有
Figure BDA0002505839200000054
优选地,解密过程的步骤(4)中云服务器根据数据访问者的属性集U′和密钥密文CT中的访问控制策略T计算最小匹配集Ymin这一过程包括以下子步骤:
(4-1)根据访问控制策略T构造访问二叉树;
(4-2)获取访问二叉树中每个叶子节点对应的属性值,若该属性值存在于用户属性集U′中,则在相应的叶子节点存储只包含该属性值的、且只有一个元素的集合,否则在相应的叶子节点存储空集;
(4-3)按照左孩子节点-右孩子节点-根结点的顺序对访问二叉树进行访问遍历;
(4-4)判断当前节点是叶子节点还是非叶子节点,如果是叶子节点则将该叶子节点存储的集合返回到与其直接相连的父节点,然后返回步骤(4-3),如果是非叶子节点,则进入步骤(4-5);
(4-5)对于遍历到的非叶子节点,设与其相连的两个孩子节点分别返回集合Set1与Set2,判断该非叶子节点是‘AND’节点还是‘OR’节点。若是‘AND’节点,则转步骤(4-6),若是‘OR’节点,则转步骤(4-7);
(4-6)将与该非叶子节点相连的两个孩子节点分别存储的集合Set1与Set2的并集作为该非叶子节点的集合存储,并判断该非叶子节点是否为根节点,若是则设置最小匹配集Ymin等于该非叶子节点存储的集合,过程结束,否则将该非叶子节点存储的集合返回到与该非叶子节点直接相连的父节点;
(4-7)将与该非叶子节点相连的两个孩子节点分别存储的集合Set1与Set2中含有元素最少的集合作为该非叶子节点的集合存储,并判断该非叶子节点是否为根节点,若是则设置最小匹配集Ymin等于该非叶子节点存储的集合,过程结束,否则将该非叶子节点存储的集合返回到与该非叶子节点直接相连的父节点;
(4-8)判断是否完成了访问二叉树的访问遍历,若没有完成,则获取当前节点的下一个节点作为当前节点,并返回步骤(4-3),否则过程结束。
优选地,解密过程的步骤(6)中云服务器根据最小匹配集Ymin、公开参数PK、密钥密文CT以及属性私钥SK计算中间解密结果
Figure BDA0002505839200000061
这一过程包括以下子步骤:
(6-1)对最小匹配集Ymin中的所有元素y,根据密钥密文CT中与y相关元素Cy、以及属性私钥SK中与y相关元素Dy计算中间变量e(g,g)rS
Figure BDA0002505839200000062
Figure BDA0002505839200000071
(6-2)根据步骤(6-1)获得的中间变量e(g,g)rS计算中间变量D′0和δ:
Figure BDA0002505839200000072
Figure BDA0002505839200000073
(6-3)将步骤(6-2)得到的中间变量D′0和δ与密钥密文CT中的部分元素打包为中间解密结果
Figure BDA0002505839200000074
Figure BDA0002505839200000075
其中,其中密钥密文CT的第一部分访问控制策略T为
Figure BDA0002505839200000076
的第一部分,密钥密文CT的第二部分Owner是
Figure BDA0002505839200000077
的第二部分,密钥密文CT的第三部分C0
Figure BDA0002505839200000078
的第三部分,密钥密文CT的第四部分C1
Figure BDA0002505839200000079
的第四部分,D′0和δ分别是
Figure BDA00025058392000000710
的第五和第六部分,均为步骤(6-2)计算所得。
优选地,解密过程的步骤(7)中第二客户端根据公开参数PK、中间解密结果
Figure BDA00025058392000000711
中的访问控制策略T、
Figure BDA00025058392000000712
中的数据拥有者的全局唯一标识Owner、数据拥有者的签名公钥计算签名验证数据这一过程包括以下子步骤:
(7-1)第二客户端根据中间解密结果
Figure BDA00025058392000000713
中的访问控制策略和数据拥有者的全局唯一标识Owner计算散列值θ0、θ1、以及θ2
θ0=H0(Owner||pkOwner,2||Ppub)
Figure BDA00025058392000000714
Figure BDA00025058392000000715
其中pkOwner,1是数据拥有者的签名公钥
Figure BDA00025058392000000716
的第一部分,pkOwner,2是数据拥有者的签名公钥
Figure BDA00025058392000000717
的第二部分第二客户端。
(7-2)根据步骤(7-1)得到的散列值θ0、θ1、以及θ2计算签名验证数据λ:
Figure BDA0002505839200000081
其中散列值θ0,θ1,θ2为步骤(7-1)中计算所得,pkOwner,1是数据拥有者的签名公钥
Figure BDA0002505839200000082
的第一部分,pkOwner,2是数据拥有者的签名公钥
Figure BDA0002505839200000083
的第二部分,D′0是中间解密结果
Figure BDA0002505839200000084
的第五部分。k是公开参数PK的第三部分,为一个选取的随机数。随机数
Figure BDA0002505839200000085
是数据访问者第二客户端在步骤(1)中选取的私有的随机数。
优选地,计算解密结果M具体是采用以下公式:
Figure BDA0002505839200000086
其中C0是中间解密结果
Figure BDA0002505839200000087
的第三部分,C1是中间解密结果
Figure BDA0002505839200000088
的第四部分,δ是中间解密结果
Figure BDA0002505839200000089
的第六部分。
按照本发明的另一方面,提供了一种基于CP-ABE的可追溯云存储访问控制系统,是应用在包括第一客户端、第二客户端、云服务器、私钥生成中心的加密存储系统中,所述系统包括:
一、加密模块,包括:
第一子模块,其设置于第一客户端中,用于获取数据拥有者的原始明文、签名私钥
Figure BDA00025058392000000810
公开参数PK和访问控制策略T,使用对称加密算法对该原始明文进行加密,以得到数据密文CTf,并根据数据拥有者的签名私钥
Figure BDA00025058392000000811
和公开参数PK计算数据拥有者对访问控制策略的签名τ;
第二子模块,其设置于第一客户端中,用于使用其公开参数PK、其访问控制策略T和签名τ,对第一模块的对称加密过程中所使用的密钥M进行加密,以得到密钥密文CT,并将数据密文CTf和密钥密文CT发送到云服务器存储。
二、解密模块,包括:
第三子模块,其设置于第二客户端中,用于选取随机数
Figure BDA0002505839200000091
将该随机数
Figure BDA0002505839200000092
数据访问者的属性集U′以及数据访问者的全局唯一标识User一起发送到私钥生成中心;
第四子模块,其设置于私钥生成中心中,用于根据数据访问者的属性集U′、随机数
Figure BDA0002505839200000093
和数据访问者的全局唯一标识Uer生成相应的属性私钥SK,并将该属性私钥SK发送到第二客户端;
第五子模块,其设置于第二客户端中,用于将属性私钥SK和数据访问者的属性集U′发送到云服务器;
第六子模块,其设置于云服务器中,用于根据数据访问者的属性集U′和密钥密文CT中的访问控制策略T计算最小匹配集Ymin,并判断最小匹配集Ymin是否为空集,若不为空集,则进入第七子模块,否则过程结束;
第七子模块,其设置于云服务器中,用于根据属性私钥SK中的元素D0和数据访问者的全局唯一标识User计算散列值H(D0‖User),并将散列值公开到访问记录数据库中;
第八子模块,其设置于云服务器中,用于根据最小匹配集Ymin、公开参数PK、密钥密文CT以及属性私钥SK计算中间解密结果
Figure BDA0002505839200000094
将其发送到第二客户端;
第九子模块,其设置于第二客户端中,用于根据公开参数PK、中间解密结果
Figure BDA0002505839200000095
中的访问控制策略T、
Figure BDA0002505839200000096
中的数据拥有者的全局唯一标识Owner、数据拥有者的签名公钥计算签名验证数据λ,将签名验证数据λ、中间解密结果
Figure BDA0002505839200000097
中的部分元素和随机数
Figure BDA0002505839200000098
计算生成解密结果M,从云服务器获取数据密文CTf,并利用该解密结果M对该数据密文CTf进行解密,以得到原始明文。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)由于本发明在加密阶段采用了步骤(1),其要求数据拥有者使用无证书签名方案对访问控制策略计算签名,避免了必须在解密后才能进行签名验证的过程,并且在解密阶段采用了步骤(7),其要求数据访问者必须完成签名验证才能正确解密密钥密文,因此能够解决现有访问控制方法中由于签名验证并非解密的必经阶段,从而导致访问控制策略或密文容易被篡改,而数据访问者无从知晓的技术问题。
(2)由于本发明在加密阶段使用不同于现有访问控制方法的秘密值分割方式,并使用无证书签名方案对访问控制策略进行无证书签名,把签名数据加入到密文计算中,因此能够解决现有访问控制方法中存在的签名数据可被恶意用户轻易删除、以及加解密过程计算效率低的技术问题。
(3)由于本发明在系统架构中引入了访问记录数据库,要求在解密过程中步骤(5)将属性私钥中带有用户私有信息的部分计算散列值,存储于访问记录数据库中,实现了访问记录的可追溯。
附图说明
图1是本发明基于CP-ABE的可追溯云存储访问控制方法的系统架构图;
图2是本发明基于CP-ABE的可追溯云存储访问控制方法中加密过程的流程图;
图3是本发明基于区块链的多云CP-ABE访问控制方法中解密过程的流程图;
图4是本发明基于区块链的多云CP-ABE访问控制方法中二叉树的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明的基本思路在于,提供一种基于CP-ABE的可追溯云存储访问控制方法,其在CP-ABE方案的原理基础上,引入一个公开的访问记录数据库,用于存储用户对文件的访问记录,实现了访问记录的可追溯,用于恶意用户的甄别;此外,本发明通过数据拥有者在加密阶段,使用不同于原始CP-ABE方案的秘密值分割方式,以及使用无证书签名方案对访问控制策略进行无证书签名,把签名数据加入到密文计算中,解决了原始CP-ABE方案加、解密计算效率低的问题,有效地抵御了云环境中恶意用户的攻击,如修改访问控制策略、修改密文、冒充数据发布者发布数据等。
以下首先就本发明的技术术语进行解释和说明:
双线性运算:设有三个素数p阶的乘法循环群
Figure BDA0002505839200000111
Figure BDA0002505839200000112
g为
Figure BDA0002505839200000113
的一个生成元。若有映射e:
Figure BDA0002505839200000114
满足以下几个条件:
(1)双线性性:对于任意的
Figure BDA0002505839200000115
有:e(ua,vb)=e(u,v)ab
(2)非退化性:存在
Figure BDA0002505839200000116
使得e(u,v)≠1,其中1为
Figure BDA0002505839200000117
的单位元。
(3)可计算性:对于任意的
Figure BDA0002505839200000118
存在有效的算法可在有限时间内计算得到e(u,v)的值。
则称映射e:
Figure BDA0002505839200000119
为双线性映射。对任意的
Figure BDA00025058392000001110
称运算e(u,v)为配对运算。
无证书签名技术:所谓数字签名,指的是一种数据,它一般在逻辑上与被签名数据存在联系,常常以电子形式存在于数据信息之中、或者作为数据信息的附件而存在,用于辨别数据签名者的身份,保护被签名数据的完整性和正确性。传统的数字签名方案中,需要较大的通信开销和计算开销用于公钥数字证书的生成、存储、分发等等管理操作。尽管在已被提出的基于身份的签名方案中,密钥管理被大大简化,但是密钥托管的问题仍然存在。为了应对以上的问题,无证书签名体制被提出,在该体制系统中,使用一个密钥生成中心(KeyGeneration Center,简称KGC)来代替传统签名系统中证书授权中心(CertificateAuthority,简称CA)的地位,两者的差别在于,传统的签名方案中假设CA是可信的,负责证书的分发和密钥管理等功能,而KGC在无证书签名体制中被认为是半可信的机构,因而只参与用户的部分私钥生成,用户的公钥和秘密值由用户自身独立生成。无证书签名体制避免了繁琐的证书管理和密钥托管问题,目前在物联网、云计算等方面都有较为广泛的应用。文献(“Certificateless Signatures:Structural Extensions of Security Models andNew Provably Secure Schemes,IACR Cryptology ePrint Archive”)提出了一种安全的无证书签名方案,不失一般性,对本发明的描述暂用该无证书签名方案。
访问控制技术:访问控制是一种有效的防止未授权用户获取系统资源的重要技术。现有的云安全访问控制模型都是假设数据所有者和数据存储服务器处于同一个信任域中,存储服务器负责管理、执行访问控制策略并监控用户访问的有关细节。在分布式半可信的云环境下,基于属性加密(Attribute Based Encryption,ABE)的访问控制方法因其访问控制策略制定时的灵活性被认为是最适合云环境的数据访问控制技术。在ABE机制中,密文不再像传统的一个用户用公钥加密,而是将密文和用户的解密密钥与一个属性集合或由属性逻辑组成的访问控制策略相关联,只有当用户的解密密钥与密文之间满足预设的匹配规则,用户才可以访问该数据。在ABE的基础上,发展出了一种基于密文策略的属性加密(Ciphertext Policy Attribute-Based Encryption,简称CP-ABE)。CP-ABE中数据拥有者为数据选定访问控制策略,访问控制策略由属性逻辑组合构成,只有属性集合满足访问控制策略的用户才有权访问该数据,其属性私钥与属性集相关而访问控制策略则与密文数据绑定。
无证书签名技术避免了复杂的密钥管理和密钥托管等问题,为实现数据来源的确认和保证云存储系统的数据完整性和准确性提供了一种技术保障,且无证书签名技术中对KGC的半可信假设也恰与通常对云环境的假设一致。本发明利用无证书签名技术的安全性、便捷性等技术特点,提出基于CP-ABE的可追溯云存储访问控制方法,对访问控制策略进行签名,在加密过程的密文计算中引入无证书签名数据,保证云环境中拥有权限的用户可以成功访问到正确的数据,防止恶意用户的攻击。
如图1、图2和图3所示,本发明提供了一种基于CP-ABE的可追溯云存储访问控制方法,是应用在包括第一客户端、第二客户端、云服务器、私钥生成中心的加密存储系统中,其中第一客户端是数据拥有者的客户端,第二客户端是数据访问者的客户端,所述方法包括:
一、加密过程,包括以下步骤:
(1)第一客户端获取数据拥有者的原始明文、签名私钥
Figure BDA0002505839200000131
公开参数PK和访问控制策略T,使用对称加密算法对该原始明文进行加密,以得到数据密文CTf,并根据数据拥有者的签名私钥
Figure BDA0002505839200000132
和公开参数PK计算数据拥有者对访问控制策略的签名τ;
具体而言,数据拥有者的公开参数PK等于:
Figure BDA0002505839200000133
其中
Figure BDA0002505839200000134
表示阶为素数p的乘法循环群,为公开参数PK的第一部分。g表示生成元,为公开参数PK的第二部分,α、γ、k、βi,j都是随机数,且有α、γ、
Figure BDA0002505839200000135
表示模p的既约剩余系,p表示随机大素数,n表示加密存储系统的全属性集U中元素的个数,ni表示加密存储系统的全属性集U中第i个元素的可取值个数。k是公开参数PK的第三部分,{hi,j}是公开参数PK的第四部分,Ppub表示无证书签名的尾缀数据,为公开参数PK的第五部分,e表示双线性映射,e(g,g)α为公开参数PK的第六部分,H0、H1、H2为三个不同的哈希函数,
Figure BDA0002505839200000141
Figure BDA0002505839200000142
数据拥有者的签名私钥
Figure BDA0002505839200000143
等于:
Figure BDA0002505839200000144
其中Owner表示数据拥有者的全局唯一标识(Global identifier,简称GID),QOwner为私钥的第一部分,x为私钥生成中心生成的随机数,且
Figure BDA0002505839200000145
Figure BDA0002505839200000146
pkOwner,2=gx
Figure BDA0002505839200000147
是私钥的第二部分,其是数据拥有者独自生成的随机数。
签名τ的计算具体按照如下公式:
Figure BDA0002505839200000148
Figure BDA0002505839200000149
τ=θ·QGID+θ′·r′Owner
其中Owner表示数据拥有者的全局唯一标识,
Figure BDA00025058392000001410
表示数据拥有者的签名公钥,r′Owner表是数据拥有者独自生成的随机数,为私钥的第二部分。
本发明中的访问控制策略是用访问二叉树表示,访问二叉树中的叶子节点是加密存储系统的全属性集U中的元素,非叶子节点是逻辑表达式AND和OR。
如图4,其示出一个访问控制策略为“(Attr1 OR(Attr2 AND Attr3))AND(Attr4OR(Attr5 OR Attr6))”对应的访问二叉树的示例。
(2)第一客户端使用其公开参数PK、其访问控制策略T和签名τ,对步骤(1)的对称加密过程中所使用的密钥M进行加密,以得到密钥密文CT,并将数据密文CTf和密钥密文CT发送到云服务器存储。
具体而言,本步骤中第一客户端使用其公开参数PK、其访问控制策略T和签名τ对密钥M进行加密这一过程包括以下子步骤:
(2-1)根据访问控制策略T构造访问二叉树;
(2-2)随机选取秘密值
Figure BDA0002505839200000151
将秘密值S置于访问二叉树的根节点,从该根节点开始对访问二叉树进行广度优先遍历;
(2-3)判断当前节点是‘AND’节点、‘OR’节点,还是属性值相关联的叶子节点,若是‘AND’节点,则进入步骤(2-4),若是‘OR’节点,则进入步骤(2-5),若是属性值相关联的叶子节点,则进入步骤(2-6);
(2-4)生成随机数
Figure BDA0002505839200000152
设置当前节点的左孩子节点值为S″,设置当前节点的右孩子节点值为S′-S″mod p,然后转入步骤(2-6),其中S′表示当前节点拥有的秘密值;
(2-5)设置当前节点的左、右孩子节点值均为S′,然后转入步骤(2-6);
(2-6)判断是否完成了访问二叉树的广度优先遍历,若没有完成,则获取当前节点的下一个节点作为当前节点,并返回步骤(2-3),若完成了访问二叉树的广度优先遍历,则表示秘密值S已根据访问二叉树被传递到叶子节点,并转入步骤(2-7);
(2-7)根据秘密值S和访问控制策略T获取密钥密文CT:
CT={T,Owner,C0=gS+kτ,C1=Me(g,g)αS
Figure BDA0002505839200000153
其中访问控制策略T为该密钥密文CT的第一部分,数据拥有者的全局唯一标识Owner是第二部分,C0是第二部分,C1是第三部分,Cy是第四部分,k是公开参数PK的第三部分,{hi,j}是公开参数PK的第四部分,e(g,g)α是公开参数PK的第六部分,Y表示访问二叉树中的叶子节点集合,y表示访问二叉树的叶子节点集合Y中的叶子节点,Sy表示秘密值S传递到叶子节点后的值。
(2-8)将数据密文CTf和密钥密文CT发送到云服务器存储。
本步骤要求数据拥有者在加密时将签名数据τ加入密文计算中,使得解密时用户必须先完成签名的验证过程,防止恶意用户冒充数据发布者发布虚假数据或篡改已发布数据的访问控制策略、明文。
二、解密过程,包括以下步骤:
(1)第二客户端选取随机数
Figure BDA0002505839200000161
将该随机数
Figure BDA0002505839200000162
数据访问者的属性集U′以及数据访问者的全局唯一标识(Global Identify,简称GID)User一起发送到私钥生成中心;
举例而言,数据访问者的属性集中的属性可以是性别、职业、年龄等存在于全属性集U中的属性。
(2)私钥生成中心根据数据访问者的属性集U′、随机数
Figure BDA0002505839200000163
和数据访问者的全局唯一标识Uer生成相应的属性私钥SK,并将该属性私钥SK发送到第二客户端;
具体而言,数据访问者的属性私钥SK的具体结构如下:
Figure BDA0002505839200000164
其中该属性私钥SK的第一部分D0是随机产生的固定参数,r是随机数,且有
Figure BDA0002505839200000165
Attri,j表示加密存储系统的全属性集U中第i个属性的第j个属性值,Di,j表示加密存储系统的全属性集U中第i个属性的第j个属性值对应的数组,其是属性私钥SK的第二部分,βi.j表示加密存储系统的全属性集U中第i个属性的第j个属性值对应的随机数,且有
Figure BDA0002505839200000166
由于
Figure BDA0002505839200000167
Figure BDA0002505839200000168
所以必然存在
Figure BDA0002505839200000169
使得:H3(User)=gu
本步骤通过在属性私钥SK中引入数据访问者的全局唯一标识,使得云服务器返回的中间解密结果仅可由解密请求的发起者成功解密,其他人即便获取了中间解密结果也无法还原出明文,由此,当存在中间人攻击时,也可以保证解密过程的安全性。
(3)第二客户端将属性私钥SK和数据访问者的属性集U′发送到云服务器;
(4)云服务器根据数据访问者的属性集U′和密钥密文CT中的访问控制策略T计算最小匹配集Ymin,并判断最小匹配集Ymin是否为空集,若不为空集,则进入步骤(5),否则过程结束。
举例而言,对图4的访问控制策略,假设用户属性集为U′={Attr1,Attr3,Attr4,Attr9},显然U′满足该访问控制策略,但是实际上在判断用户是否满足访问控制策略时,所必须用到的属性集为U′的子集,将满足该访问控制策略的、具有最少属性个数的属性集定义为最小匹配集Ymin,图4例中Ymin={Attr1,Attr4}。特别地,当
Figure BDA0002505839200000171
时,表示用户的属性集不满足访问控制策略。
本步骤中云服务器根据数据访问者的属性集U′和密钥密文CT中的访问控制策略T计算最小匹配集Ymin这一过程包括以下子步骤:
(4-1)根据访问控制策略T构造访问二叉树;
(4-2)获取访问二叉树中每个叶子节点对应的属性值,若该属性值存在于用户属性集U′中,则在相应的叶子节点存储只包含该属性值的、且只有一个元素的集合,否则在相应的叶子节点存储空集;
(4-3)按照左孩子节点-右孩子节点-根结点的顺序对访问二叉树进行访问遍历;
(4-4)判断当前节点是叶子节点还是非叶子节点,如果是叶子节点则将该叶子节点存储的集合返回到与其直接相连的父节点,然后返回步骤(4-3),如果是非叶子节点,则进入步骤(4-5);
(4-5)对于遍历到的非叶子节点,设与其相连的两个孩子节点分别返回集合Set1与Set2,判断该非叶子节点是‘AND’节点还是‘OR’节点。若是‘AND’节点,则转步骤(4-6),若是‘OR’节点,则转步骤(4-7);
(4-6)将与该非叶子节点相连的两个孩子节点分别存储的集合Set1与Set2的并集作为该非叶子节点的集合存储,并判断该非叶子节点是否为根节点,若是则设置最小匹配集Ymin等于该非叶子节点存储的集合,过程结束,否则将该非叶子节点存储的集合返回到与该非叶子节点直接相连的父节点;
(4-7)将与该非叶子节点相连的两个孩子节点分别存储的集合Set1与Set2中含有元素最少的集合作为该非叶子节点的集合存储,并判断该非叶子节点是否为根节点,若是则设置最小匹配集Ymin等于该非叶子节点存储的集合,过程结束,否则将该非叶子节点存储的集合返回到与该非叶子节点直接相连的父节点;
(4-8)判断是否完成了访问二叉树的访问遍历,若没有完成,则获取当前节点的下一个节点作为当前节点,并返回步骤(4-3),否则过程结束;
(5)云服务器根据属性私钥SK中的元素D0和数据访问者的全局唯一标识User计算散列值H(D0‖User),并将散列值公开到访问记录数据库中。
本步骤中将属性私钥中带有数据访问者私有参数的D0加入散列值计算,并存储到访问记录数据库,是用于恶意访问的记录追溯。
(6)云服务器根据最小匹配集Ymin、公开参数PK、密钥密文CT以及属性私钥SK计算中间解密结果
Figure BDA0002505839200000181
将其发送到第二客户端;
具体而言,本步骤中云服务器根据最小匹配集Ymin、公开参数PK、密钥密文CT以及属性私钥SK计算中间解密结果
Figure BDA0002505839200000182
这一过程包括以下子步骤:
(6-1)对最小匹配集Ymin中的所有元素y,根据密钥密文CT中与y相关元素Cy、以及属性私钥SK中与y相关元素Dy计算中间变量e(g,g)rS
Figure BDA0002505839200000183
(6-2)根据步骤(6-1)获得的中间变量e(g,g)rS计算中间变量D′0和δ:
Figure BDA0002505839200000191
Figure BDA0002505839200000192
(6-3)将步骤(6-2)得到的中间变量D′0和δ与密钥密文CT中的部分元素打包为中间解密结果
Figure BDA0002505839200000193
Figure BDA0002505839200000194
其中,其中密钥密文CT的第一部分访问控制策略T为
Figure BDA0002505839200000195
的第一部分,密钥密文CT的第二部分Owner是
Figure BDA0002505839200000196
的第二部分,密钥密文CT的第三部分C0
Figure BDA0002505839200000197
的第三部分,密钥密文CT的第四部分C1
Figure BDA0002505839200000198
的第四部分,D′0和δ分别是
Figure BDA0002505839200000199
的第五和第六部分,均为步骤(6-2)计算所得;
(7)第二客户端根据公开参数PK、中间解密结果
Figure BDA00025058392000001910
中的访问控制策略T、
Figure BDA00025058392000001911
中的数据拥有者的全局唯一标识Owner、数据拥有者的签名公钥计算签名验证数据λ,将签名验证数据λ、中间解密结果
Figure BDA00025058392000001912
中的部分元素和随机数
Figure BDA00025058392000001913
计算生成解密结果M(即对称密钥),从云服务器获取数据密文CTf,并利用该解密结果M对该数据密文CTf进行解密,以得到原始明文。
具体而言,第二客户端根据公开参数PK、中间解密结果
Figure BDA00025058392000001914
中的访问控制策略T、
Figure BDA00025058392000001915
中的数据拥有者的全局唯一标识Owner、数据拥有者的签名公钥计算签名验证数据这一过程包括以下子步骤:
(7-1)第二客户端根据中间解密结果
Figure BDA00025058392000001916
中的访问控制策略和数据拥有者的全局唯一标识Owner计算散列值θ0、θ1、以及θ2
θ0=H0(Owner||pkOwner,2||Ppub)
Figure BDA00025058392000001917
Figure BDA00025058392000001918
其中pkOwner,1是数据拥有者的签名公钥
Figure BDA00025058392000001919
的第一部分,pkOwner,2是数据拥有者的签名公钥
Figure BDA0002505839200000201
的第二部分第二客户端。
(7-2)根据步骤(7-1)得到的散列值θ0、θ1、以及θ2计算签名验证数据λ;
具体地,按照如下方式计算λ:
Figure BDA0002505839200000202
其中散列值θ0,θ1,θ2为步骤(7-1)中计算所得,pkOwner,1是数据拥有者的签名公钥
Figure BDA0002505839200000203
的第一部分,pkOwner,2是数据拥有者的签名公钥
Figure BDA0002505839200000204
的第二部分,D0′是中间解密结果
Figure BDA0002505839200000205
的第五部分。k是公开参数PK的第三部分,为一个选取的随机数。随机数
Figure BDA0002505839200000206
是数据访问者第二客户端在步骤(1)中选取的私有的随机数。
计算得到正确的λ后,则可将λ、
Figure BDA0002505839200000207
中的部分元素和私有的随机数
Figure BDA0002505839200000208
计算生成解密结果M(即对称密钥),从云服务器获取数据密文CTf,并利用该解密结果M对该数据密文CTf进行解密,以得到原始明文。
本步骤中,计算解密结果M具体是采用以下公式:
Figure BDA0002505839200000209
其中C0是中间解密结果
Figure BDA00025058392000002010
的第三部分,C1是中间解密结果
Figure BDA00025058392000002011
的第四部分,δ是中间解密结果
Figure BDA00025058392000002012
的第六部分。
在客户端解密的过程中,均有
Figure BDA00025058392000002013
的参与,秘密值
Figure BDA00025058392000002014
为数据访问者私钥请求时与私钥生成中心交互中使用的,因此在私钥生成中心安全的前提下,用户解密过程中,即便服务端的解密中间结果被恶意窃取,恶意用户也难以解密还原得到明文,使得密文的解密工作只能由解密请求的发起者来执行。系统中的用户也可定时更新私钥,来进一步保证安全性。
与现有技术相比,本发明所构思的以上技术方案能够取得下列有益效果:在加密阶段,数据拥有者首先使用无证书签名对访问控制策略进行签名,然后将签名数据与访问控制策略一起加入密文计算中。同时,系统中的用户私钥嵌入用户标识等私有秘密信息,当云环境中的其它用户作为数据访问者发起对该数据的访问请求时,云服务器可将收到的部分私钥与用户标识合并计算散列值,该散列值可被存储在如区块链等公开数据库中作为访问记录,用于甄别恶意用户。在解密阶段,数据访问者必须先完成签名验证才能正确解密得到明文,这样恶意用户既无法修改已发布在云服务器上的数据和访问控制策略,也不能冒充数据发布者发布恶意信息,从而有效地抵御了恶意用户的内部攻击。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于CP-ABE的可追溯云存储访问控制方法,是应用在包括第一客户端、第二客户端、云服务器、私钥生成中心的加密存储系统中,其特征在于,所述方法包括:
一、加密过程,包括以下步骤:
(1)第一客户端获取数据拥有者的原始明文、签名私钥
Figure FDA0002505839190000011
公开参数PK和访问控制策略T,使用对称加密算法对该原始明文进行加密,以得到数据密文CTf,并根据数据拥有者的签名私钥
Figure FDA0002505839190000012
和公开参数PK计算数据拥有者对访问控制策略的签名τ;
(2)第一客户端使用其公开参数PK、其访问控制策略T和签名τ,对步骤(1)的对称加密过程中所使用的密钥M进行加密,以得到密钥密文CT,并将数据密文CTf和密钥密文CT发送到云服务器存储。
二、解密过程,包括以下步骤:
(1)第二客户端选取随机数
Figure FDA0002505839190000013
将该随机数
Figure FDA0002505839190000014
数据访问者的属性集U′以及数据访问者的全局唯一标识User一起发送到私钥生成中心;
(2)私钥生成中心根据数据访问者的属性集U′、随机数
Figure FDA0002505839190000015
和数据访问者的全局唯一标识Uer生成相应的属性私钥SK,并将该属性私钥SK发送到第二客户端;
(3)第二客户端将属性私钥SK和数据访问者的属性集U′发送到云服务器;
(4)云服务器根据数据访问者的属性集U′和密钥密文CT中的访问控制策略T计算最小匹配集Ymin,并判断最小匹配集Ymin是否为空集,若不为空集,则进入步骤(5),否则过程结束。
(5)云服务器根据属性私钥SK中的元素D0和数据访问者的全局唯一标识User计算散列值H(D0||User),并将散列值公开到访问记录数据库中。
(6)云服务器根据最小匹配集Ymin、公开参数PK、密钥密文CT以及属性私钥SK计算中间解密结果
Figure FDA0002505839190000021
将其发送到第二客户端;
(7)第二客户端根据公开参数PK、中间解密结果
Figure FDA0002505839190000022
中的访问控制策略T、
Figure FDA0002505839190000023
中的数据拥有者的全局唯一标识Owner、数据拥有者的签名公钥计算签名验证数据λ,将签名验证数据λ、中间解密结果
Figure FDA0002505839190000024
中的部分元素和随机数
Figure FDA00025058391900000218
计算生成解密结果M(即对称密钥),从云服务器获取数据密文CTf,并利用该解密结果M对该数据密文CTf进行解密,以得到原始明文。
2.根据权利要求1所述的基于CP-ABE的可追溯云存储访问控制方法,其特征在于,
数据拥有者的公开参数PK等于:
Figure FDA0002505839190000025
其中
Figure FDA0002505839190000026
表示阶为素数p的乘法循环群,为公开参数PK的第一部分。g表示生成元,为公开参数PK的第二部分,α、γ、k、βi,j都是随机数,且有
Figure FDA0002505839190000027
Figure FDA0002505839190000028
表示模p的既约剩余系,p表示随机大素数,n表示加密存储系统的全属性集U中元素的个数,ni表示加密存储系统的全属性集U中第i个元素的可取值个数。k是公开参数PK的第三部分,{hi,j}是公开参数PK的第四部分,Ppub表示无证书签名的尾缀数据,为公开参数PK的第五部分,e表示双线性映射,e(g,g)α为公开参数PK的第六部分,H0、H1、H2为三个不同的哈希函数,H0
Figure FDA0002505839190000029
Figure FDA00025058391900000210
H1
Figure FDA00025058391900000211
H2
Figure FDA00025058391900000212
数据拥有者的签名私钥
Figure FDA00025058391900000213
等于:
Figure FDA00025058391900000214
其中Owner表示数据拥有者的全局唯一标识,QOwner为私钥的第一部分,x为私钥生成中心生成的随机数,且
Figure FDA00025058391900000215
pkOwner,2=gx
Figure FDA00025058391900000216
Figure FDA00025058391900000217
是私钥的第二部分,其是数据拥有者独自生成的随机数。
3.根据权利要求2所述的基于CP-ABE的可追溯云存储访问控制方法,其特征在于,
签名τ的计算具体是按照如下公式:
Figure FDA0002505839190000031
Figure FDA0002505839190000032
τ=θ·QGID+θ′·r′Owner
其中Owner表示数据拥有者的全局唯一标识,
Figure FDA0002505839190000033
表示数据拥有者的签名公钥,r′Owner表是数据拥有者独自生成的随机数,为私钥的第二部分;
访问控制策略是用访问二叉树表示,访问二叉树中的叶子节点是加密存储系统的全属性集U中的元素,非叶子节点是逻辑表达式AND和OR。
4.根据权利要求3所述的基于CP-ABE的可追溯云存储访问控制方法,其特征在于,加密过程的步骤(2)中第一客户端使用其公开参数PK、其访问控制策略T和签名τ对密钥M进行加密这一过程包括以下子步骤:
(2-1)根据访问控制策略T构造访问二叉树;
(2-2)随机选取秘密值
Figure FDA0002505839190000034
将秘密值S置于访问二叉树的根节点,从该根节点开始对访问二叉树进行广度优先遍历;
(2-3)判断当前节点是‘AND’节点、‘OR’节点,还是属性值相关联的叶子节点,若是‘AND’节点,则进入步骤(2-4),若是‘OR’节点,则进入步骤(2-5),若是属性值相关联的叶子节点,则进入步骤(2-6);
(2-4)生成随机数
Figure FDA0002505839190000035
设置当前节点的左孩子节点值为S″,设置当前节点的右孩子节点值为S′-S″ mod p,然后转入步骤(2-6),其中S′表示当前节点拥有的秘密值;
(2-5)设置当前节点的左、右孩子节点值均为S′,然后转入步骤(2-6);
(2-6)判断是否完成了访问二叉树的广度优先遍历,若没有完成,则获取当前节点的下一个节点作为当前节点,并返回步骤(2-3),若完成了访问二叉树的广度优先遍历,则表示秘密值S已根据访问二叉树被传递到叶子节点,并转入步骤(2-7);
(2-7)根据秘密值S和访问控制策略T获取密钥密文CT:
CT={T,Owner,C0=gS+kτ,C1=Me(g,g)αS
Figure FDA0002505839190000041
其中访问控制策略T为该密钥密文CT的第一部分,数据拥有者的全局唯一标识Owner是第二部分,C0是第二部分,C1是第三部分,Cy是第四部分,k是公开参数PK的第三部分,{hi,j}是公开参数PK的第四部分,e(g,g)α是公开参数PK的第六部分,尸表示访问二叉树中的叶子节点集合,y表示访问二叉树的叶子节点集合尸中的叶子节点,Sy表示秘密值S传递到叶子节点后的值。
(2-8)将数据密文CTf和密钥密文CT发送到云服务器存储。
5.根据权利要求4所述的基于CP-ABE的可追溯云存储访问控制方法,其特征在于,数据访问者的属性私钥SK的具体结构如下:
Figure FDA0002505839190000042
其中该属性私钥SK的第一部分D0是随机产生的固定参数,r是随机数,且有
Figure FDA0002505839190000043
Attri,j表示加密存储系统的全属性集U中第i个属性的第j个属性值,Di,j表示加密存储系统的全属性集U中第i个属性的第j个属性值对应的数组,其是属性私钥SK的第二部分,βi.j表示加密存储系统的全属性集U中第i个属性的第j个属性值对应的随机数,且有
Figure FDA0002505839190000044
6.根据权利要求5所述的基于CP-ABE的可追溯云存储访问控制方法,其特征在于,解密过程的步骤(4)中云服务器根据数据访问者的属性集U′和密钥密文CT中的访问控制策略T计算最小匹配集Ymin这一过程包括以下子步骤:
(4-1)根据访问控制策略T构造访问二叉树;
(4-2)获取访问二叉树中每个叶子节点对应的属性值,若该属性值存在于用户属性集U′中,则在相应的叶子节点存储只包含该属性值的、且只有一个元素的集合,否则在相应的叶子节点存储空集;
(4-3)按照左孩子节点-右孩子节点-根结点的顺序对访问二叉树进行访问遍历;
(4-4)判断当前节点是叶子节点还是非叶子节点,如果是叶子节点则将该叶子节点存储的集合返回到与其直接相连的父节点,然后返回步骤(4-3),如果是非叶子节点,则进入步骤(4-5);
(4-5)对于遍历到的非叶子节点,设与其相连的两个孩子节点分别返回集合Set1与Set2,判断该非叶子节点是‘AND’节点还是‘OR’节点。若是‘AND’节点,则转步骤(4-6),若是‘OR’节点,则转步骤(4-7);
(4-6)将与该非叶子节点相连的两个孩子节点分别存储的集合Set1与Set2的并集作为该非叶子节点的集合存储,并判断该非叶子节点是否为根节点,若是则设置最小匹配集Ymin等于该非叶子节点存储的集合,过程结束,否则将该非叶子节点存储的集合返回到与该非叶子节点直接相连的父节点;
(4-7)将与该非叶子节点相连的两个孩子节点分别存储的集合Set1与Set2中含有元素最少的集合作为该非叶子节点的集合存储,并判断该非叶子节点是否为根节点,若是则设置最小匹配集Ymin等于该非叶子节点存储的集合,过程结束,否则将该非叶子节点存储的集合返回到与该非叶子节点直接相连的父节点;
(4-8)判断是否完成了访问二叉树的访问遍历,若没有完成,则获取当前节点的下一个节点作为当前节点,并返回步骤(4-3),否则过程结束。
7.根据权利要求6所述的基于CP-ABE的可追溯云存储访问控制方法,其特征在于,解密过程的步骤(6)中云服务器根据最小匹配集Ymin、公开参数PK、密钥密文CT以及属性私钥SK计算中间解密结果
Figure FDA0002505839190000051
这一过程包括以下子步骤:
(6-1)对最小匹配集Ymin中的所有元素y,根据密钥密文CT中与y相关元素Cy、以及属性私钥SK中与y相关元素Dy计算中间变量e(g,g)rS
Figure FDA0002505839190000061
(6-2)根据步骤(6-1)获得的中间变量e(g,g)rS计算中间变量D′0和δ:
Figure FDA0002505839190000062
Figure FDA0002505839190000063
(6-3)将步骤(6-2)得到的中间变量D′0和δ与密钥密文CT中的部分元素打包为中间解密结果
Figure FDA0002505839190000064
Figure FDA0002505839190000065
其中,其中密钥密文CT的第一部分访问控制策略T为
Figure FDA0002505839190000066
的第一部分,密钥密文CT的第二部分Owner是
Figure FDA0002505839190000067
的第二部分,密钥密文CT的第三部分C0
Figure FDA0002505839190000068
的第三部分,密钥密文CT的第四部分C1
Figure FDA0002505839190000069
的第四部分,D′0和δ分别是
Figure FDA00025058391900000610
的第五和第六部分,均为步骤(6-2)计算所得。
8.根据权利要求7所述的基于CP-ABE的可追溯云存储访问控制方法,其特征在于,解密过程的步骤(7)中第二客户端根据公开参数PK、中间解密结果
Figure FDA00025058391900000611
中的访问控制策略T、
Figure FDA00025058391900000612
中的数据拥有者的全局唯一标识Owner、数据拥有者的签名公钥计算签名验证数据这一过程包括以下子步骤:
(7-1)第二客户端根据中间解密结果
Figure FDA00025058391900000613
中的访问控制策略和数据拥有者的全局唯一标识Owner计算散列值θ0、θ1、以及θ2
θ0=H0(Owner||pkOwner,2||Ppub)
Figure FDA0002505839190000071
Figure FDA0002505839190000072
其中pkOwner,1是数据拥有者的签名公钥
Figure FDA0002505839190000073
的第一部分,pkOwner,2是数据拥有者的签名公钥
Figure FDA0002505839190000074
的第二部分第二客户端。
(7-2)根据步骤(7-1)得到的散列值θ0、θ1、以及θ2计算签名验证数据λ:
Figure FDA0002505839190000075
其中散列值θ0,θ1,θ2为步骤(7-1)中计算所得,pkOwner,1是数据拥有者的签名公钥
Figure FDA0002505839190000076
的第一部分,pkOwner,2是数据拥有者的签名公钥
Figure FDA0002505839190000077
的第二部分,D′0是中间解密结果
Figure FDA0002505839190000078
的第五部分。k是公开参数PK的第三部分,为一个选取的随机数。随机数
Figure FDA0002505839190000079
是数据访问者第二客户端在步骤(1)中选取的私有的随机数。
9.根据权利要求8所述的基于CP-ABE的可追溯云存储访问控制方法,其特征在于,计算解密结果M具体是采用以下公式:
Figure FDA00025058391900000710
其中C0是中间解密结果
Figure FDA00025058391900000711
的第三部分,C1是中间解密结果
Figure FDA00025058391900000712
的第四部分,δ是中间解密结果
Figure FDA00025058391900000713
的第六部分。
10.一种基于CP-ABE的可追溯云存储访问控制系统,是应用在包括第一客户端、第二客户端、云服务器、私钥生成中心的加密存储系统中,其特征在于,所述系统包括:
一、加密模块,包括:
第一子模块,其设置于第一客户端中,用于获取数据拥有者的原始明文、签名私钥
Figure FDA0002505839190000081
公开参数PK和访问控制策略T,使用对称加密算法对该原始明文进行加密,以得到数据密文CTf,并根据数据拥有者的签名私钥
Figure FDA0002505839190000082
和公开参数PK计算数据拥有者对访问控制策略的签名τ;
第二子模块,其设置于第一客户端中,用于使用其公开参数PK、其访问控制策略T和签名τ,对第一模块的对称加密过程中所使用的密钥M进行加密,以得到密钥密文CT,并将数据密文CTf和密钥密文CT发送到云服务器存储。
二、解密模块,包括:
第三子模块,其设置于第二客户端中,用于选取随机数
Figure FDA0002505839190000083
将该随机数
Figure FDA0002505839190000084
数据访问者的属性集U′以及数据访问者的全局唯一标识User一起发送到私钥生成中心;
第四子模块,其设置于私钥生成中心中,用于根据数据访问者的属性集U′、随机数
Figure FDA0002505839190000086
和数据访问者的全局唯一标识Uer生成相应的属性私钥SK,并将该属性私钥SK发送到第二客户端;
第五子模块,其设置于第二客户端中,用于将属性私钥SK和数据访问者的属性集U′发送到云服务器;
第六子模块,其设置于云服务器中,用于根据数据访问者的属性集U′和密钥密文CT中的访问控制策略T计算最小匹配集Ymin,并判断最小匹配集Ymin是否为空集,若不为空集,则进入第七子模块,否则过程结束;
第七子模块,其设置于云服务器中,用于根据属性私钥SK中的元素D0和数据访问者的全局唯一标识User计算散列值H(D0||User),并将散列值公开到访问记录数据库中;
第八子模块,其设置于云服务器中,用于根据最小匹配集Ymin、公开参数PK、密钥密文CT以及属性私钥SK计算中间解密结果
Figure FDA0002505839190000085
将其发送到第二客户端;
第九子模块,其设置于第二客户端中,用于根据公开参数PK、中间解密结果
Figure FDA0002505839190000091
中的访问控制策略T、
Figure FDA0002505839190000092
中的数据拥有者的全局唯一标识Owner、数据拥有者的签名公钥计算签名验证数据λ,将签名验证数据λ、中间解密结果
Figure FDA0002505839190000093
中的部分元素和随机数
Figure FDA0002505839190000094
计算生成解密结果M,从云服务器获取数据密文CTf,并利用该解密结果M对该数据密文CTf进行解密,以得到原始明文。
CN202010446221.7A 2020-05-25 2020-05-25 一种基于cp-abe的可追溯云存储访问控制方法和系统 Active CN111614680B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010446221.7A CN111614680B (zh) 2020-05-25 2020-05-25 一种基于cp-abe的可追溯云存储访问控制方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010446221.7A CN111614680B (zh) 2020-05-25 2020-05-25 一种基于cp-abe的可追溯云存储访问控制方法和系统

Publications (2)

Publication Number Publication Date
CN111614680A true CN111614680A (zh) 2020-09-01
CN111614680B CN111614680B (zh) 2021-04-02

Family

ID=72205297

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010446221.7A Active CN111614680B (zh) 2020-05-25 2020-05-25 一种基于cp-abe的可追溯云存储访问控制方法和系统

Country Status (1)

Country Link
CN (1) CN111614680B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112257112A (zh) * 2020-11-16 2021-01-22 国网河南省电力公司信息通信公司 一种基于区块链的数据访问控制方法
CN112804064A (zh) * 2021-01-26 2021-05-14 西安邮电大学 基于区块链的属性加密访问控制系统及方法
CN112925956A (zh) * 2021-03-25 2021-06-08 广西师范大学 一种物联网大规模时序数据访问控制方法
CN113271309A (zh) * 2021-05-24 2021-08-17 四川师范大学 一种分层文件加密方法及系统
CN114143055A (zh) * 2021-11-24 2022-03-04 国网江苏省电力有限公司营销服务中心 一种基于区块链的数据分发方法和可信溯源方法
CN116881947A (zh) * 2023-08-01 2023-10-13 江苏恒为信息科技有限公司 一种基于区块链的企业数据库安全访问控制方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102916954A (zh) * 2012-10-15 2013-02-06 南京邮电大学 一种基于属性加密的云计算安全访问控制方法
CN103095847A (zh) * 2013-02-04 2013-05-08 华中科技大学 一种云存储系统安全保障方法及其系统
CN105592100A (zh) * 2016-01-26 2016-05-18 西安电子科技大学 一种基于属性加密的政务云访问控制方法
WO2018082008A1 (en) * 2016-11-04 2018-05-11 Nokia Technologies Oy Secure distributed data processing
CN109040045A (zh) * 2018-07-25 2018-12-18 广东工业大学 一种基于密文策略属性基加密的云存储访问控制方法
CN109981263A (zh) * 2019-02-28 2019-07-05 复旦大学 一种基于cp-abe的分布式可验证随机数生成方法
CN110717191A (zh) * 2019-10-24 2020-01-21 兰州理工大学 基于可搜索属性加密的区块链数据隐私保护访问控制方法
CN111130757A (zh) * 2019-12-31 2020-05-08 华中科技大学 一种基于区块链的多云cp-abe访问控制方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102916954A (zh) * 2012-10-15 2013-02-06 南京邮电大学 一种基于属性加密的云计算安全访问控制方法
CN103095847A (zh) * 2013-02-04 2013-05-08 华中科技大学 一种云存储系统安全保障方法及其系统
CN105592100A (zh) * 2016-01-26 2016-05-18 西安电子科技大学 一种基于属性加密的政务云访问控制方法
WO2018082008A1 (en) * 2016-11-04 2018-05-11 Nokia Technologies Oy Secure distributed data processing
CN109040045A (zh) * 2018-07-25 2018-12-18 广东工业大学 一种基于密文策略属性基加密的云存储访问控制方法
CN109981263A (zh) * 2019-02-28 2019-07-05 复旦大学 一种基于cp-abe的分布式可验证随机数生成方法
CN110717191A (zh) * 2019-10-24 2020-01-21 兰州理工大学 基于可搜索属性加密的区块链数据隐私保护访问控制方法
CN111130757A (zh) * 2019-12-31 2020-05-08 华中科技大学 一种基于区块链的多云cp-abe访问控制方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHUNHUA LI;JINBIAO HE;CHENG LEI;CHAN GUO;KE ZHOU: "Achieving Privacy-Preserving CP-ABE Access Control with Multi-Cloud", 《2018 IEEE INTL CONF ON PARALLEL & DISTRIBUTED PROCESSING WITH APPLICATIONS, UBIQUITOUS COMPUTING & COMMUNICATIONS, BIG》 *
李春花 王桦 张彦哲 周可: "采用扩展公钥的云存储广播加密优化方法", 《计算机研究与发展》 *
李春花 陈杰 周可: "一种基于属性的分布式存储系统访问控制方法", 《第18届全国信息存储技术学术会议论文集》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112257112A (zh) * 2020-11-16 2021-01-22 国网河南省电力公司信息通信公司 一种基于区块链的数据访问控制方法
CN112257112B (zh) * 2020-11-16 2022-10-14 国网河南省电力公司信息通信公司 一种基于区块链的数据访问控制方法
CN112804064A (zh) * 2021-01-26 2021-05-14 西安邮电大学 基于区块链的属性加密访问控制系统及方法
CN112925956A (zh) * 2021-03-25 2021-06-08 广西师范大学 一种物联网大规模时序数据访问控制方法
CN112925956B (zh) * 2021-03-25 2022-03-08 广西师范大学 一种物联网大规模时序数据访问控制方法
CN113271309A (zh) * 2021-05-24 2021-08-17 四川师范大学 一种分层文件加密方法及系统
CN114143055A (zh) * 2021-11-24 2022-03-04 国网江苏省电力有限公司营销服务中心 一种基于区块链的数据分发方法和可信溯源方法
CN114143055B (zh) * 2021-11-24 2023-12-01 国网江苏省电力有限公司营销服务中心 一种基于区块链的数据分发方法和可信溯源方法
CN116881947A (zh) * 2023-08-01 2023-10-13 江苏恒为信息科技有限公司 一种基于区块链的企业数据库安全访问控制方法及装置

Also Published As

Publication number Publication date
CN111614680B (zh) 2021-04-02

Similar Documents

Publication Publication Date Title
Gao et al. Trustaccess: A trustworthy secure ciphertext-policy and attribute hiding access control scheme based on blockchain
Chen et al. Efficient CP-ABE scheme with shared decryption in cloud storage
CN111614680B (zh) 一种基于cp-abe的可追溯云存储访问控制方法和系统
CN109829326B (zh) 基于区块链的跨域认证与公平审计去重云存储系统
CN111159288B (zh) 链式结构数据存储、验证、实现方法、系统、装置及介质
CN112019591B (zh) 一种基于区块链的云数据共享方法
Li et al. Flexible and fine-grained attribute-based data storage in cloud computing
CN111130757B (zh) 一种基于区块链的多云cp-abe访问控制方法
He et al. An efficient and provably‐secure certificateless signature scheme without bilinear pairings
Wang et al. Verifiable and multi-keyword searchable attribute-based encryption scheme for cloud storage
Win et al. Privacy enabled digital rights management without trusted third party assumption
CN113434875A (zh) 一种基于区块链的轻量化访问方法及系统
CN115021903A (zh) 一种基于区块链的电子病历共享方法及系统
Bao et al. Pbidm: Privacy-preserving blockchain-based identity management system for industrial internet of things
Zhang et al. IPad: ID-based public auditing for the outsourced data in the standard model
Xie et al. A novel blockchain-based and proxy-oriented public audit scheme for low performance terminal devices
Han et al. TCA-PEKS: Trusted certificateless authentication public-key encryption with keyword search scheme in cloud storage
Xue et al. Poly-ABE: A traceable and revocable fully hidden policy CP-ABE scheme for integrated demand response in multi-energy systems
WO2023134576A1 (zh) 数据加密方法、属性授权中心及存储介质
CN115883102B (zh) 基于身份可信度的跨域身份认证方法、系统及电子设备
Li et al. A forward-secure certificate-based signature scheme
Bian et al. Identity-based privacy preserving remote data integrity checking with a designated verifier
Zhang et al. Privacy‐Preserving Attribute‐Based Keyword Search with Traceability and Revocation for Cloud‐Assisted IoT
Mishra et al. Fine-grained access control of files stored in cloud storage with traceable and revocable multi-authority CP-ABE scheme
CN114168921B (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