一种基于CP-ABE的可追溯云存储访问控制方法和系统技术方案

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

【技术实现步骤摘要】
一种基于CP-ABE的可追溯云存储访问控制方法和系统
本专利技术属于计算机安全
,更具体地,涉及一种基于CP-ABE的可追溯云存储访问控制方法和系统。
技术介绍
访问控制是一种有效防止未授权用户获取系统资源的重要技术。密文策略属性基加密(CiphertextPolicyAttributeBasedEncryption,简称CP-ABE)方法被认为是云环境下最合适的访问控制方法,原始CP-ABE算法使用了较多的双线性对运算,加密与解密的效率低,难以满足实际应用中高效性的要求,而且在方案设计之初,并没有考虑云环境中恶意用户存在的情况。近年来有研究者发现云环境中的恶意用户可能会对其它用户的正确数据进行破坏、冒充其它用户发布数据等内部攻击,对于这种情况,多数研究者采取让数据发布者给明文签名的方式来验证用户身份,防止恶意用户对数据的破坏。然而,上述针对恶意用户的访问控制方案仍然存在着以下问题:一是此类方案选择在解密后对明文进行签名验证来达到所需的效果,签名的验证并非解密的必经阶段,用户可正常解密而不执行签名验证过程,导致访问控制策略或密文容易被篡改,而数据访问者无从知晓;二是数据拥有者的签名以独立字段的形式存储于密文之中,恶意用户完全可以将拥有者的签名去除来达到发布虚假信息的目的,且该方案加解密过程的计算效率低。
技术实现思路
针对现有技术的以上缺陷或改进需求,本专利技术提供了一种基于CP-ABE的可追溯云存储访问控制方法和系统,其目的在于,解决现有针对恶意用户的访问控制方案中由于签名验证并非解密的必经阶段,从而导致访问控制策略或密文容易被篡改而数据访问者无从知晓的技术问题,以及签名数据可被恶意用户轻易删除、加解密过程计算效率低的技术问题。为实现上述目的,按照本专利技术的一个方面,提供了一种基于CP-ABE的可追溯云存储访问控制方法,是应用在包括第一客户端、第二客户端、云服务器、私钥生成中心的加密存储系统中,其特征在于,所述方法包括:一、加密过程,包括以下步骤:(1)第一客户端获取数据拥有者的原始明文、签名私钥公开参数PK和访问控制策略T,使用对称加密算法对该原始明文进行加密,以得到数据密文CTf,并根据数据拥有者的签名私钥和公开参数PK计算数据拥有者对访问控制策略的签名τ;(2)第一客户端使用其公开参数PK、其访问控制策略T和签名τ,对步骤(1)的对称加密过程中所使用的密钥M进行加密,以得到密钥密文CT,并将数据密文CTf和密钥密文CT发送到云服务器存储。二、解密过程,包括以下步骤:(1)第二客户端选取随机数将该随机数数据访问者的属性集U′以及数据访问者的全局唯一标识User一起发送到私钥生成中心;(2)私钥生成中心根据数据访问者的属性集U′、随机数和数据访问者的全局唯一标识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计算中间解密结果将其发送到第二客户端;(7)第二客户端根据公开参数PK、中间解密结果中的访问控制策略T、中的数据拥有者的全局唯一标识Owner、数据拥有者的签名公钥计算签名验证数据λ,将签名验证数据λ、中间解密结果中的部分元素和随机数计算生成解密结果M(即对称密钥),从云服务器获取数据密文CTf,并利用该解密结果M对该数据密文CTf进行解密,以得到原始明文。优选地,数据拥有者的公开参数PK等于:其中表示阶为素数p的乘法循环群,为公开参数PK的第一部分。g表示生成元,为公开参数PK的第二部分,α、γ、k、βi,j都是随机数,且有α、γ、表示模p的既约剩余系,p表示随机大素数,n表示加密存储系统的全属性集U中元素的个数,ni表示加密存储系统的全属性集U中第i个元素的可取值个数。k是公开参数PK的第三部分,{hi,j}是公开参数PK的第四部分,Ppub表示无证书签名的尾缀数据,为公开参数PK的第五部分,e表示双线性映射,e(g,g)α为公开参数PK的第六部分,H0、H1、H2为三个不同的哈希函数,数据拥有者的签名私钥等于:其中Owner表示数据拥有者的全局唯一标识,QOwner为私钥的第一部分,x为私钥生成中心生成的随机数,且pkOwner,2=gx,是私钥的第二部分,其是数据拥有者独自生成的随机数。优选地,签名τ的计算具体是按照如下公式:τ=θ·QGID+θ′·r′Owner其中Owner表示数据拥有者的全局唯一标识,表示数据拥有者的签名公钥,r′Owner表是数据拥有者独自生成的随机数,为私钥的第二部分;访问控制策略是用访问二叉树表示,访问二叉树中的叶子节点是加密存储系统的全属性集U中的元素,非叶子节点是逻辑表达式AND和OR。优选地,加密过程的步骤(2)中第一客户端使用其公开参数PK、其访问控制策略T和签名τ对密钥M进行加密这一过程包括以下子步骤:(2-1)根据访问控制策略T构造访问二叉树;(2-2)随机选取秘密值将秘密值S置于访问二叉树的根节点,从该根节点开始对访问二叉树进行广度优先遍历;(2-3)判断当前节点是‘AND’节点、‘OR’节点,还是属性值相关联的叶子节点,若是‘AND’节点,则进入步骤(2-4),若是‘OR’节点,则进入步骤(2-5),若是属性值相关联的叶子节点,则进入步骤(2-6);(2-4)生成随机数设置当前节点的左孩子节点值为S″,设置当前节点的右孩子节点值为S′-S″modp,然后转入步骤(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其中访问控制策略T为该密钥密文CT的第一部分,数据拥有者的全局唯一标识Owner是第二部分,C0是第二部分,C1是第三部分,Cy是第四部分,k是公开参数PK的第三部分,{hi,j}是公开参数PK的第四部分,e(g,g)α是公开参数PK的第六部分,Y表示访问二叉树中的叶子节点集合,y本文档来自技高网...

【技术保护点】
1.一种基于CP-ABE的可追溯云存储访问控制方法,是应用在包括第一客户端、第二客户端、云服务器、私钥生成中心的加密存储系统中,其特征在于,所述方法包括:/n一、加密过程,包括以下步骤:/n(1)第一客户端获取数据拥有者的原始明文、签名私钥

【技术特征摘要】
1.一种基于CP-ABE的可追溯云存储访问控制方法,是应用在包括第一客户端、第二客户端、云服务器、私钥生成中心的加密存储系统中,其特征在于,所述方法包括:
一、加密过程,包括以下步骤:
(1)第一客户端获取数据拥有者的原始明文、签名私钥公开参数PK和访问控制策略T,使用对称加密算法对该原始明文进行加密,以得到数据密文CTf,并根据数据拥有者的签名私钥和公开参数PK计算数据拥有者对访问控制策略的签名τ;
(2)第一客户端使用其公开参数PK、其访问控制策略T和签名τ,对步骤(1)的对称加密过程中所使用的密钥M进行加密,以得到密钥密文CT,并将数据密文CTf和密钥密文CT发送到云服务器存储。
二、解密过程,包括以下步骤:
(1)第二客户端选取随机数将该随机数数据访问者的属性集U′以及数据访问者的全局唯一标识User一起发送到私钥生成中心;
(2)私钥生成中心根据数据访问者的属性集U′、随机数和数据访问者的全局唯一标识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计算中间解密结果将其发送到第二客户端;
(7)第二客户端根据公开参数PK、中间解密结果中的访问控制策略T、中的数据拥有者的全局唯一标识Owner、数据拥有者的签名公钥计算签名验证数据λ,将签名验证数据λ、中间解密结果中的部分元素和随机数计算生成解密结果M(即对称密钥),从云服务器获取数据密文CTf,并利用该解密结果M对该数据密文CTf进行解密,以得到原始明文。


2.根据权利要求1所述的基于CP-ABE的可追溯云存储访问控制方法,其特征在于,
数据拥有者的公开参数PK等于:



其中表示阶为素数p的乘法循环群,为公开参数PK的第一部分。g表示生成元,为公开参数PK的第二部分,α、γ、k、βi,j都是随机数,且有表示模p的既约剩余系,p表示随机大素数,n表示加密存储系统的全属性集U中元素的个数,ni表示加密存储系统的全属性集U中第i个元素的可取值个数。k是公开参数PK的第三部分,{hi,j}是公开参数PK的第四部分,Ppub表示无证书签名的尾缀数据,为公开参数PK的第五部分,e表示双线性映射,e(g,g)α为公开参数PK的第六部分,H0、H1、H2为三个不同的哈希函数,H0:H1:H2:
数据拥有者的签名私钥等于:



其中Owner表示数据拥有者的全局唯一标识,QOwner为私钥的第一部分,x为私钥生成中心生成的随机数,且pkOwner,2=gx,是私钥的第二部分,其是数据拥有者独自生成的随机数。


3.根据权利要求2所述的基于CP-ABE的可追溯云存储访问控制方法,其特征在于,
签名τ的计算具体是按照如下公式:






τ=θ·QGID+θ′·r′Owner
其中Owner表示数据拥有者的全局唯一标识,表示数据拥有者的签名公钥,r′Owner表是数据拥有者独自生成的随机数,为私钥的第二部分;
访问控制策略是用访问二叉树表示,访问二叉树中的叶子节点是加密存储系统的全属性集U中的元素,非叶子节点是逻辑表达式AND和OR。


4.根据权利要求3所述的基于CP-ABE的可追溯云存储访问控制方法,其特征在于,加密过程的步骤(2)中第一客户端使用其公开参数PK、其访问控制策略T和签名τ对密钥M进行加密这一过程包括以下子步骤:
(2-1)根据访问控制策略T构造访问二叉树;
(2-2)随机选取秘密值将秘密值S置于访问二叉树的根节点,从该根节点开始对访问二叉树进行广度优先遍历;
(2-3)判断当前节点是‘AND’节点、‘OR’节点,还是属性值相关联的叶子节点,若是‘AND’节点,则进入步骤(2-4),若是‘OR’节点,则进入步骤(2-5),若是属性值相关联的叶子节点,则进入步骤(2-6);
(2-4)生成随机数设置当前节点的左孩子节点值为S″,设置当前节点的右孩子节点值为S′-S″modp,然后转入步骤(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



其中访问控制策略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的具体结构如下:



其中该属性私钥SK的第一部分D0是随机产生的固定参数,r是随机数,且有Attri,j表示加密存储系统的全属性集U中第i个属性的第j个属性值,Di,j表示加密存储系统的全属性集U中第i个属性的第j个属性值对应的数组,其是属性私钥SK的第二部分,βi.j表示加密存储系统的全属性集U中第i个属性的第j个属性值对应的随机数,且有


6.根据权利要求5所述的基于CP-ABE的可追溯云存储访问控制方法,其特征在于,解密过程的步骤(4)中云服务器根据数据访问者的属性集U′和密钥密文CT中的访问控制策略T计算最小匹配集Ymin这一过程包括以下子步骤:
(4-1)根...

【专利技术属性】
技术研发人员:李春花周可何锦彪
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北;42

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

1