云环境中细粒度的数据安全共享方案

文鹏程 ,  沈济南 ,  梁芳 ,  许振武 ,  胡俊鹏

武汉大学学报(理学版) ›› 2022, Vol. 68 ›› Issue (1) : 93 -101.

PDF (1413KB)
武汉大学学报(理学版) ›› 2022, Vol. 68 ›› Issue (1) : 93 -101. DOI: 10.14188/j.1671-8836.2021.2003
可信计算

云环境中细粒度的数据安全共享方案

作者信息 +

Fine-Grained Data Security Sharing Scheme in Cloud

Author information +
文章历史 +
PDF (1446K)

摘要

针对云环境下数据安全共享过程中访问策略的更新以及加解密运算面临的高计算开销问题,提出一种灵活的、符合安全规则的细粒度存储方案ACSBPA。基于代理重加密进行算法改进,对多权限云中的数据进行分类共享,重加密阶段通过减少双线性映射实现对性能需求的优化;结合改进的属性加密算法,在减少双线性运算的基础上融入基于属性的访问策略,实现粒度细化、具有安全性的访问控制模型。实验结果表明,本文提出的方案在重加密阶段不涉及双线性映射,降低了第三方云服务器计算开销,在加解密阶段降低了用户的计算性能需求。与其他方案相比,本文方案在计算效率和策略更新方面具有优势。

Abstract

Aiming at the updating of access policy and the high computational overhead of encryption and decryption in the process of data security sharing in cloud, a new scheme with flexible access policy and security is proposed. The data in multi-privilege cloud is classified and shared, which is improved based on proxy re-encryption. In the re-encryption stage, performance requirements are optimized by reducing bilinear mapping. Combined with the improved attribute encryption algorithm, the attribution-based access strategy is integrated by reducing bilinear operation to achieve a fine-grained and secure access control model. Through experimental comparison and analysis, the proposed scheme (ACSBPA) does not involve bilinear mapping,which reduces the computing overhead of the third-party cloud server in the encryption phase and the user’s demand for computing performance in the encryption and decryption phase. Compared with other schemes, the experimental results verify the advantages of this scheme in computing efficiency and policy updating.

Graphical abstract

关键词

云存储 / 属性加密 / 代理重加密 / 细粒度 / 数据共享

Key words

cloud storage / attribute-base encryption / proxy re-encryption / fine-grained / data sharing

引用本文

引用格式 ▾
文鹏程,沈济南,梁芳,许振武,胡俊鹏. 云环境中细粒度的数据安全共享方案[J]. 武汉大学学报(理学版), 2022, 68(1): 93-101 DOI:10.14188/j.1671-8836.2021.2003

登录浏览全文

4963

注册一个新账户 忘记密码

0  引 言

云计算技术受到越来越多用户的青睐,其主要原因是该技术的弹性计算、海量存储、便捷访问等优点。由于用户以及用户数据爆发性地增长,系统面临着崩溃和被黑客攻击的危险1。此外,数据安全成为了云服务发展的瓶颈,面对这一亟须解决的问题,学者们提出了多种多样的解决方法。Bell等2提出强制访问模型(mandatory access control,MAC)的概念,所有资源都由系统控制并受MAC策略的约束。要访问基于MAC的系统中的资源,主体必须持有该资源所需的适当安全许可及其安全分类。自主访问控制模型(discretionary access control,DAC)的访问控制策略可以看成一个矩阵,通过该访问控制矩阵实现对请求合法性的判定3,客体的所有者负责管理该客体的访问授权,有权分配、更改该客体的属性信息。Galindo引入了一种基于身份的加密(identity-based encryption,IBE)方案,其中发送方可以使用接收方的身份作为加密消息的公钥4。 Xu等5和 Shen等6分别提出了一种改进的代理重加密算法(proxy re-encryption,PRE),通过减少双线性运算提高系统的运行效率。Oh等7提出基于角色的访问控制(role based access control,RBAC)的方案,融入了自下而上的权限角色管理方法。Goyal等8提出基于属性加密(attribute-based encryption,ABE)的方案,密文被标记为一组属性,私有密钥与控制用户能够解密哪些密文的访问结构相关联。后续全同态加密算法(fully homomorphic encryption,FHE)910和密文搜索算法等也相继提出。

上述方案或模型面临一个问题,就是当用户数据访问策略发生改变时,必须由用户对数据进行重新加密,并需要将加密后的文件重新上传云端,这势必产生不可忽略的计算和通信开销。直至目前,有大量的研究对访问模型中策略变化和策略更新进行了探索1112,并且所提出的方案将重加密过程中所需要优质的网络资源和计算资源转移给专用代理(云服务器)。虽然之前的部分研究降低了用户物理机的性能需求,使用户得到了极大的便利,但是并未很好地降低第三方云服务器所需要的性能需求。

针对以上问题,本文提出了优化的、低成本的、安全的细粒度数据共享方案,通过降低重加密阶段的计算复杂度极大限度地降低了第三方云服务器的性能需求,主要创新点为:

1) 针对多权限云中的数据,提出灵活、安全的访问控制模型,即使云服务提供商不可信,也能保证数据安全;

2) 将基于改进的代理重加密技术与改进的基于属性加密技术相结合,减少双线性运算次数,提高系统的运行效率,降低了云服务器的计算资源;

3) 制定高效的策略更新方案,降低计算开销。

1  相关理论知识

本节针对改进方案中涉及的基本理论知识进行了描述,包含双线性映射、Fisher-Yates scrambling算法以及基于属性的加密。其中,Fisher-Yates scrambling算法为随机置乱算法,在方案中可以对加密后的密文进行再次随机置乱,以确保方案的安全性。

1.1 双线性映射

定义1 (双线性映射56):当映射函数e:G1×G2GT满足以下条件时,称之为双线性映射:

1) G1,G2,GTq阶的群,其中q是素数;

2) 对于所有a,bq*,G1的生成元g,满足e(ga,gb)=e(g,g)ab

3) 非退化性,即如果gG1的成员,那么e(g,g)GT的成员;

4) e是可计算的,对于所有的p,qG1,存在有效算法,可以计算出e(p,q)

1.2 Fisher-Yates scrambling算法

定义2 (Fisher-Yates scrambling13):Fisher-Yates随机置乱算法也称为Knuth算法,是一种经典的shuffle算法。该算法的本质是生成随机排列的有限集。这个算法是无偏的,总数为n!,每种排列都有相同的概率。该算法效率很高,时间复杂度为O(n),不需要额外的存储空间。对于序列An,执行以下步骤:

1) 令0<j<i<n

2) 生成一个随机整数j(1<j<i)

3) 交换AiAj的值,且i=i-1

4) 重复2),3),直到i=1时停止重复。

对于执行Fisher-Yates scrambling算法之后的数组,我们定义为:A{j,n}ϑ{j,n}

1.3 基于属性加密

基于密文策略的属性加密(ciphertext-policy ABE,CP-ABE),Bethencourt,Sahai和Waters提供了一种加密方案14,该方案基于属性的加密工作,能够将复杂的基于树的访问策略嵌入到密文中,比基于密钥策略的属性加密(key-policy ABE,KP-ABE)性能更好。CP-ABE还引入了“变量属性”,它使用一组传统属性来表示可以通过更复杂的操作(包括>,<,< >和=)进行评估的值。通过以下步骤完成:对于介于0和某个系统定义的最大值之间的给定十进制整数,首先将值转换为二进制,然后为每个位创建一个属性。例如,可以使用“access_level_flexint_1xxx OR(access_level _flexint_x1xx AND(access_level _flexint_xx1x OR access_level _flexint_xxx1))”策略来强制执行“>5”,该策略将创建访问树。

2  细粒度访问策略设计

本节阐述所提出方案中的细粒度访问策略设计,其中包含方案流程、算法设计,详细描述了细粒度访问策略模块设计、核心算法的执行流程。

2.1 方案流程

本文提出的基于改进的代理重加密与属性加密结合的访问策略(ACSBPA)方案由初始化算法SetupPRE-ABE(),密钥生成算法ExtractPRE-ABE(),初始加密算法EncPRE-ABE(),重加密密钥生成算法RKExtractPRE-ABE(),代理重加密算法ReEncPRE-ABE(),初始密文解密算法Dec1PRE-ABE()和重加密密文解密算法Dec2PRE-ABE())七个算法组成。

图1所示,方案的主要组成部分实体部分有:属性管理机构(attribute management agency, AMA),密钥生成中心(key generation center, KGC),数据拥有者(data owner, DO),数据请求者(data recipient,DR)以及云服务提供商(cloud service provider, CSP)。

方案中各实体之间的交互描述如下。

1) 数据拥有者与属性管理机构交互:在属性管理机构中记录了数据拥有者的属性值,在初次加密时,数据拥有者可以设置访问策略来限制访问加密文件的权限,同时数据拥有者的属性值也限制了其访问数据的权限以及范围;当用户为数据请求者时也需要与属性管理机构交互,完成用户数据请求者的属性注册。属性管理机构存储了数据拥有者、数据请求者的属性值,当访问策略需要更新时,数据拥有者从属性管理机构获取数据接收者的属性值,更新访问策略,对明文执行加密或重加密操作。

2) 属性管理机构与密钥生成中心交互:属性管理机构将用户初始的属性值、变化后的属性发送到密钥生成中心,密钥生成中心根据用户未更改和已更改的属性为用户生成最新的基于属性的密钥、传统的公私密钥对、对称加密密钥。

3) 密钥生成中心与数据请求者交互:数据请求者根据数据不同的存储方式向密钥生成中心请求密钥,若需要存储于云端,则密钥生成中心发送给数据拥有者加密数据所需要的所有私钥。

4) 数据拥有者和云服务提供商交互:数据拥有者制定基于CP-ABE的密文访问控制策略,使用获得的密钥、参数、访问策略对数据加密并上传至云端。在此阶段,密文采取树结构访问控制策略,用户的密钥与属性集有关,只有当用户满足访问控制策略才能解密密文。

5) 数据请求者与云服务提供商交互:数据请求者申请访问数据,只有符合访问策略则可以将初次加密后的密文转换为明文。交互至此,在执行完1),2),3),4),5)后,完成了密文初次共享。

6) 密钥生成中心与云服务提供商交互:密钥生成中心将重加密密钥发送到云服务提供商端,云服务提供商使用基于数据拥有者和数据请求者生成的重加密密钥对初次加密的密文重加密,最后将重加密密文存储于云服务提供商。

7) 数据请求者与数据拥有者交互:若数据请求者属于数据拥有者指定的新的属性集,则数据拥有者通过秘密通道将基于属性的私钥发送到数据请求者端;若数据请求者不属于数据拥有者指定的新的属性集,则无法获取基于属性的私钥及重加密后的密文。

8) 数据请求者与云服务提供商交互:数据请求者从CSP端获取密文,使用由数据拥有者通过秘密通道发送的基于属性的密钥、自身的传统的公私密钥对、系统参数、重加密密文作为解密条件,将密文转换为明文。交互到此阶段,在执行完1)、2)、3)、4)、6)、7)、8)后完成了密文的重加密共享。

在本方案中,由发送方制定访问控制策略。密文采取树结构访问控制策略,数据访问者密钥与属性集有关,只有当数据访问者满足访问控制策略才能解密密文,执行流程如下:

1) 初始化:密钥生成中心执行SetupPRE-ABE()ExtractPRE-ABE(),并且与属性管理机构交互。由属性管理机构将指定密文接收者属性集合标记为attr1,根据attr1生成传统的公私钥对。同时,由密钥生成中心生成基于AES算法的对称密钥,完成整个系统初始化。

2) 初次密文加密/上传:由属性管理机构根据attr1,生成访问策略policy。之后,执行EncPRE-ABE(),将明文加密为密文。最后,将初始密文发送给云端,由云端对密文存储并由云端执行重加密算法。

3) 初次密文下载/解密:当符合attr1的用户申请访问数据时,从云端下载密文数据后,使用Dec1PRE-ABE()解成明文。

4) 密文共享:若数据拥有者欲将此数据分享给属于attr1中的用户,将密文上传至云端,属于attr1中的用户直接从云端下载密文,用其私钥SKPREABE解密密文。反之,若合法数据接收者不属于attr1,则创建新的属性集attr2,更新访问策略。若执行代理重加密共享时,由属性管理机构与数据拥有者以及密钥生成中心交互,执行重加密密钥生成算法,生成一个重加密密钥,由云端或第三方代理服务器执行重加密算法。在重加密时,通过执行重加密算法将数据分享给属于attr2的用户。云端执行代理重加密算法时,计算并输出重加密密文。

5) 重加密密文下载/解密:当属于attr2集中的数据请求者申请数据时,若该数据请求者符合传统公私钥对的解密算法,则云服务器将与数据拥有者通信,数据拥有者也会与KGC和AMA确认数据请求者的属性以及属性公钥是否符合attr2。数据拥有者确认授权后,通过安全通道将SKPREABE发送给数据请求者,数据请求者从云端下载重加密密文,执行解密算法,将重加密密文解密为明文。

2.2 算法设计

1) 初始化 SetupPRE-ABE(λ)

构造双线性映射e:G1×G2GT,其中,G1G2GTq阶的椭圆曲线群,q是素数。随机选择两个哈希函数H1:0,1*p*H2:GTGH1可以将任意长度的0/1串全部映射到q*中,H2可以将GT中的元全部映射到G1G2中。KGC输出系统公共参数paramsPRE-ABEparamsPRE-ABE是系统中所有用户加密和解密所需要的参数。此外,生成主秘密参数MKPRE-ABEMKPRE-ABEKGC保留,为用户生成解密所需的私钥。

ParamsPRE-ABE=(p,G1,G2,GT,r,e,w,H1,H2)MKPRE-ABE=(w,β)

其中:g1G1的生成元,g2G2的生成元,αβrhG1h=g1βγGTw=g2α

2) 密钥生成ExtractPRE-ABE()

KGC根据数据拥有者和用户DR的属性集生成传统的公私密钥对(PKPREABESKPREABE),其中

PKPREABE=H2(attr1),SKPREABE=(PKPREABE)γ

MKPRE-ABE、用户属性集attr1以及paramsPRE-ABE作为输入,将属性密钥分发给用户SKPREABE(attr1,Dj)。执行操作如下

FORjattr1Dj=((g2)ζ)((attr1)ζj)

3) 初始加密EncPRE-ABE(paramsPRE-ABE,SKPREAES,M,po)

paramsPRE-ABE、基于AES加密的对称密钥SKPREAES、明文数据信息M以及访问策略po作为输入,取sGT,利用Fisher-Yates scrambling算法将经过哈希变换后的s与基于AES加密的对称密钥SKPREAES随机置乱为,再将s随机置乱,输出初始密文ci(ci1,ci2,ci3),其中

ci1=AES(M,SKPREAES)ci2=(po,paramsPRE-ABE)ci3=s,SKPREAESH1(s)=

4) 重加密密钥生成RKExtractPRE-ABE((SKPREABE)DO,(PKPREABE)DR',paramsPRE-ABE)

由DO授权,首先在整数0~n之间随机生成一个正整数N,再以KN(PKPREABE)DO(PKPREABE)DR'为输入,计算出用户DO到用户DR'的代理重加密密钥rkDODR'=(N,K,R),其中

N=Random(n)K=ê((SKPREABE)DO,(PKPREABE)DR')concatArray=K||(PKPREABE)DO||(PKPREABE)DR'||NR=H1(concatArray)(SKPREABE)DO

5) 代理重加密ReEncPRE-ABE(paramsPRE-ABE,rkDODR',ci)

paramsPRE-ABE,rkDODR',ci和用户身份集为输入,计算重加密密文cj=(cj1,cj2,cj3),其中

μ=H2(K,Ci1)cj1=ci1cj2=ci2cj3=ci3H1(μ)

6) 初次密文解密Dec1PRE-ABE(paramsPRE-ABE,SKPREABE,ci)

paramsPRE-ABESKPREABE和初次加密密文ci(ci1,ci2,ci3)作为参数输入。数据请求者进行解密计算,具体如下

s'=(paramsPRE-ABE,SKPREABE,ci2)s',=s',ci3SKPREAES=H1(s')M=AES.decryt(ci1,SKPREAES)

7) 重加密密文解密Dec2PRE-ABE(paramsPRE-ABE,(SKPREABE)DR',(PKPREABE)DO,SKPREABE,cj)

paramsPRE-ABESKPREABE(PKPREABE)DO(SKPREABE)DR'和重加密密文cj(cj1,cj2,cj3)作为参数输入。数据请求者DR'进行解密计算,具体如下

K=ê(H1((PKPREABE)DO),(SKPREABE)DR')μ=H1(K,cj1)s'=(paramsPRE-ABE,SKPREABE,cj2)ci3=cj3H1(μ)s',=s',ci3SKPREAES=H1(s)M=AES(cj1,SKPREAES)

s'=(paramsPRE-ABE,SKPREABE,cj2)的计算步骤如下

IF x is a leaf node
i=attr1(x)
s'=e(cx,Di)
ELSE
z child of x:Fz=(paramsPRE-ABE,SKPREABE,z)
(attr1)x=z child of x and (attr1)x
s'=Z(attr1)xFZΔi,(attr1)x0where i=index(z),

(attr1)x={index(z):z(attr1)x}

在本文方案中,s=(paramsPRE-ABE,SKPREABE,ci2)s'=(paramsPRE-ABE,SKPREABE,cj2)算法一样,不再赘述。

3  方案安全性及证明

本节从方案的一致性和安全性全面分析了方案中的核心算法,证明了本方案的可行性、合理性以及保密性。

3.1 方案的一致性

定理1 任何通过正确步骤生成的代理重加密密文都可由指定属性集的接收者解密。

cjReEncPRE-ABE(paramsPRE-ABE,rkDODR',ci),任何由正确步骤生成的私钥

SKPREABEExtractPRE(MKPRE,attr1)

及正确执行以下步骤

ReKeyGenPRE-ABERKExtractPRE((SKPREABE)DO,
(PKPREABE)DR',paramsPRE-ABE)
ciEncPRE-ABE(paramsPRE-ABE,SKPREAES,M,po)
SKPREABEExtractPRE-ABE(MKPRE-ABE,attr1,
paramsPRE-ABE)

后,若DR'attr2K=ê(H1((PKPREABE)DO)(SKPREABE)DR')s'=si=attr2(x)同时成立,那么接收数据的新用户DR'通过执行解密算法

Dec2PRE-ABE(paramsPRE-ABE,(SKPREABE)DR',(PKPREABE)DO,SKPREABE,cj)

可得出最后的明文。

3.2 方案的安全性

定义3 判定双线性Diffie-Hellman难题:

GGT两个qq是素数)阶的椭圆曲线,gG的一个随机生成元。在双线性映射e:G×GGT中的DBDH(Decisional Bilinear Diffie-Hellman)难题被定义为攻击者A区分(ga,gb,gc,e(g,g)abc)(ga,gb,gc,e(g,g)r)两个元组的优势,其中abcr都是在q*中随机选取的,且用AdvDBDHIND代表上述优势,如果对于任何多项式时间的攻击AdvDBDHIND都是可忽略的,就可以说DBDH成立。

定义4IND-sABE-CPA攻击游戏

为了证明ACSBPA方案的IND-sABE-CPA安全性,在多项式时间内,攻击者和挑战者之间定义了攻击游戏。攻击游戏由6个阶段组成,在初始阶段攻击者选择一个用户属性attr1*和两个条件(s*γ*)作为攻击对象。在设置阶段,挑战者设置一个ACSBPA方案。在挑战阶段,攻击者选择两条挑战明文,挑战者利用两条挑战明文中随机选择的一条、收到的集合attr1*和条件(s*γ*)进行加密生成ACSBPA的初始密文,然后询问攻击者初始密文是由哪条密文加密而成。在挑战阶段前后,攻击者可以询问用户的属性attr1*集和重加密密钥,但其中不包括可以直接将初始密文解密为明文的私钥。如果攻击者没有任何优势做出正确选择,那就说明本文中的ACSBPA方案具有IND-sABE-CPA安全性。

定理2ACSBPA方案中DBDH难题成立,所以方案在随机预言机模型下具有IND-sABE-CPA安全性。

1) 初始化:攻击者A首先选择一个属性集合作为挑战的属性集合attr1*,同时攻击者A将s*γ*作为挑战条件;然后将attr1*s*发送给攻击者B;最后攻击者B将attr1*s*γ*发送给挑战者C。

2) 设置:挑战者C执行SetupPRE-ABE(λ)算法为攻击者生成ACSBPA中的主公共参数paramsPRE-ABE和主秘密参数MKPRE-ABE=(w,β)。在ACSBPA方案所有执行过程中,由于哈希函数H在安全性证明中被认为是随机预言机,所以其不会被发送。挑战者C将paramsPRE-ABE发送给攻击者B,攻击者B得到哈希函数查询QPRE-ABEH(attr1),挑战者C将查询到的用户属性与相对应的哈希值记录在表LH2中。

攻击者B随机选取xGTyGT,生成主公共参数paramsPRE-ABE,为A提供QPRE-ABEH2(attr1)QPRE-ABEH1(Y) (YGT),模拟H1,H2的随机预言机查询,并记录QPRE-ABEH1所得到的属性和结果。

3) 首次查询阶段:由挑战者C向攻击者B提供哈希查询QPRE-ABEH(attr1)和私钥查询QPRE-ABESK(attr1);然后,攻击者B向攻击者A提供哈希查询QPRE-ABEH2(attr1)QPRE-ABEH1(Y) (YGT)、私钥查询QPRE-ABESK(attr1)和重加密密钥查询QPRE-ABERK(attr1,s')

4) 挑战阶段:首次查询是否结束由攻击者A决定,并由攻击者A向攻击者B发送两条挑战明文(m0,m1),攻击者B直接将挑战明文(m0,m1)发送给挑战者C;挑战者C执行EncABE(paramsPRE-ABE,attr1*,mb)生成密文CABE*来进行挑战(其中b是在{0,1}中是随机的);最后将密文发送给攻击者B。此时,根据密文CABE*的结构, CABE*=(ci1,ci2)。在此阶段和重新执行设置阶段,攻击者B随机选择xGTyGT,并计算SKPREABE=(PKPREABE)xci3=SKPREAESQPRE-ABEH(y)。最后,将CABE*扩展成ACSBPA方案中可用的初始密文CPRE-ABE*=(CABE*,ci3),并将CPRE-ABE*作为方案ACSBPA中可用的挑战密文。

5) 二次查询阶段:此阶段与首次查询阶段相同。

6) 猜测阶段:攻击者A猜测出一个结果b'{0,1},攻击者B将其发送给挑战者C,如果b'=b,则攻击者A获得了这场游戏的胜利。最后,获得这场游戏胜利的优势表示为AdvACSBPA,AIND-sABE-CPA=Prb'=b-12

如果攻击者A成为了ACSBPA方案中IND-sABE-CPA的获胜者,则攻击者B成功攻破ACSBPA方案IND-sABE-CPA的安全性。

综上,ACSBPA具有DBDH难题的难解性和IND-sABE-CPA安全性。

定理3ACSBPA方案中初次加密阶段符合Fisher-Yates scrambling随机置乱算法,所以该方案在初次加密阶段生成的密文更具有随机性,密文更具有难解性。

1) 从1~n之间随机选出一个数和最后一个数(n)交换,然后从1~n-1之间随机选出一个数和倒数第二个数(n-1)交换。假设有5个数: 0,1,2,3,4。

第一步,从[0,4]这5个位置中(包含0和4)随机出一个数(比如是3)和4号交换,得到0,1,2,4,3。原来4的位置放3的概率就是1/5。

第二步,从[0,3]这4个位置中(包含0和3)随机出一个数(比如是0)和3号交换,得到4,1,2,0,3。原来3的位置放0的概率就是(4/5)·(1/4)=1/5。

第三步,从[0,2]这3个位置中(包含0和2)随机出一个数(比如是0)和2号交换,得到2,1,4,0,3。原来2的位置放4的概率就是(4/5)·(3/4)·(1/3)=1/5。

第四步,从[0,1]这2个位置中(包含0和1)随机出一个数(比如是0)和1号交换,得到1,2,4,0,3。原来1的位置放2的概率就是(4/5)·(3/4)·(2/3)·(1/2)=1/5。

第五步,从[0,0]这1个位置中(包含0和0)随机出一个数(比如是0)和0号交换,得到1,2,4,0,3。原来0的位置放1的概率就是(4/5)·(3/4)·(2/3)·(1/2)=1/5。

2)在加密计算中,sGT,利用Fisher-Yates scrambling算法将经过哈希变换后的sSKPREAES随机置乱为,再将s随机置乱,确保密文和明文的安全性。在不增加方案的计算消耗和存储空间的情况下,ACSBPA方案中初次加密阶段符合Fisher-Yates scrambling随机置乱算法。

4  实验及性能分析

4.1 复杂性对比

本文提出的ACSBPA方案与苏铓等15提出的基于代理重加密的云数据访问授权确定性更新方案(PAUA)的时间复杂性的对比如表1。其中,te代表指数运算,tl代表线性对运算。

文献[15]是近期提出的代理重加密与属性加密机制方案。从表1可以看出,本文提出的ACSBPA方案在复杂性方面优于PAUA方案。

4.2 仿真及计算开销分析

本次实验仿真是在AMD R7 4800H CPU @2.90 GHz,32 GB内存,操作系统为Windows 10,Myeclipse 2014版PC上进行的。在本节中,将策略更新函数,初次加密算法,重加密算法,重解密算法与近几年相关文献进行对比分析。

1) 策略更新函数po=(k,attr1,cl)

ACSBPA方案通过“不同的属性数量”来对性能进行评估。在仿真测试中,访问策略包含40个属性,所加密的文件为1 GB。包含“or”,“and”和“k of n”门限。本次测试通过改变访问策略中的属性数量来测量策略更新的处理时间。如图2所示,本文策略更新时间保持在3~5 ms,解密所需时间没有随策略的增加呈正比例增长。而在属性为40个时,文献[1617]策略更新时解密所需时间超过了300 ms。

2) 初次加密算法

图3所示,在属性为5个和40个时,本方案初次加密算法计算耗时分别为33 ms和240 ms,文献[18]初次加密计算耗时分别为29 ms和190 ms,文献[19]初次加密算法计算耗时分别为26 ms和189 ms。三种方案初次加密算法计算耗时随着属性数量的增加呈正比例增长。虽然本文方案中的初次加密算法计算耗时高于文献[1819],但是这个计算耗时在客户的正常接受范围内。

3) 重加密算法

本文方案中的重加密算法不涉及双线性映射,对第三方云服务器所需的性能需求达到最大限度的优化。在用户数量极速增长的情况下,第三方云服务器所需要的性能相对较小。如表2所示,属性为5~40个时,重加密算法的计算耗时在50 ms以内,而文献[20]方案中的重加密计算耗时随着属性数量的增加呈正比例增长。当属性为40个时,计算耗时达到了1 850 ms。由此说明,本方案在重加密方面计算开销更小。

4) 解密算法

图4所示,虽然属性在不断地增加,但是本文解密算法的计算耗时保持在26~28 ms,而文献[19]和[21]方案中的解密计算耗时随着属性数量的增加而增加明显。当属性增加到40个时,文献[1921]提出方案的计算耗时都超过了250 ms。因此,与文献[1921]相比,本文解密算法的计算开销具有明显的优势。

5  结 语

随着云服务的爆发性发展,用户的数据安全成为研究的焦点。代理重加密和基于属性加密成为研究者的关注点之一。本文以不完全可信的云服务商为背景,改进代理重加密算法,实现了云中数据的安全存储以及密文共享,且降低了云平台所需的性能需求。同时,在明文初次加密阶段使用Fisher-Yates scrambling算法将密钥与加密元素两次置乱,在不增加方案的计算开销的情况下,增加了封装对称密钥的随机性和封装后密文的难解性。另外,结合基于属性加密算法,实现了多用户多属性的访问策略,解密时间与用户属性没有形成正比关系。本方案保证了云环境中用户数据的安全,还实现了数据的安全共享。

参考文献

[1]

XU Z WSHEN J NLUO Pet al. PVcon: Localizing hidden concurrency errors with prediction and verification[J]. IEEE Access20208(6):165373-165386. DOI:10.1109/ACCESS.2020.3022992 .

[2]

BELL D EPADULA L J LA. Secure Computer System: Unified Exposition and Multics Interpretation [EB/OL]. [2021-12-29]. DOI: 10.21236/ada023588 .

[3]

BLANC MLALANDE J F. Improving mandatory access control for HPC clusters [J]. Future Generation Computer Systems201329(3): 876-885. DOI:10.1016/j.future.2012.03.020 .

[4]

GALINDO D. Boneh-Franklin identity based encryption revisited[C]//International Colloquium on Automata, Languages, and Programming. Berlin: Springer-Verlag,2005:791-802. DOI:10.1007/11523468_64 .

[5]

XU Z WSHEN J NLIANG Fet al. Fine-grained access control scheme based on improved proxy re-encryption in cloud [J]. Journal of Advanced Computational Intelligence and Intelligent Informatics202125(2): 170-176. DOI:10.20965/jaciii.2021.p0170 .

[6]

SHEN J NDENG X JXU Z Wet al. Multi-security-level cloud storage system based on improved proxy re-encryption [J]. EURASIP Journal on Wireless Communications and Networking2019(1): 1-12. DOI:10.1186/s13638-019-1614-y .

[7]

OH SSANDHU RZHANG X W. An effective role administration model using organization structure [J]. ACM Transactions on Information and System Security20069(2): 113-137. DOI:10.1145/1151414.1151415 .

[8]

GOYAL VPANDEY OSAHAI Aet al. Attribute-based encryption for fine-grained access control of encrypted data[C]//Proceedings of the 13th ACM Conference on Computer and Communications Security, CCS 2006. Alexandria: ACM Press, 2006:89-98. DOI:10.1145/1180405.1180418 .

[9]

GENTRY CHALEVI S. Implementing Gentry’s fully-homomorphic encryption scheme [C]//Proceeding of 30th Annual International Conference on Theory and Applications of Cryptographic Techniques. Berlin: Springer, 2011:129-148. DOI:10.1007/978-3-642-20465-4_9 .

[10]

BRAKERSKI ZVAIKUNTANATHAN V. Efficient fully homomorphic encryption from (standard) LWE[C]//Proceeding of IEEE Symposium on Foundations of Computer Science. Piscataway: IEEE Press, 2011:97-106. DOI:10.1109/FOCS.2011.12 .

[11]

KAWAI Y. Outsourcing the re-encryption key generation: Flexible ciphertext-policy attribute-based proxy re-encryption[C]//International Conference on Information Security,ISPEC 2015. Cham: Springer International Publishing, 2015: 301-315. DOI:10.1007/978-3-319-17533-1_21 .

[12]

YANG KJIA XREN Ket al. Enabling efficient access control with dynamic policy updating for big data in the cloud[C]//Proceedings of IEEE INFOCOM. Piscataway: IEEE Press, 2014: 2013-2021. DOI: 10.1109/infocom.2014.6848142 .

[13]

WANG X YZHANG J JZHANG F Cet al. New chaotical image encryption algorithm based on Fisher-Yates scrambling and DNA coding [J]. Chinese Physics B201928(4):121-130. DOI: 10.1088/1674-1056/28/4/040504 .

[14]

BETHENCOURT JSAHAI AWATERS B. Ciphertext-policy attribute-based encryption[C]// IEEE Symposium on Security and Privacy (SP’07). Piscataway: IEEE Press, 2007:321-334. DOI: 10.1109/sp.2007.11 .

[15]

苏铓, 吴槟, 付安民,. 基于代理重加密的云数据访问授权确定性更新方案[J]. 软件学报202031(5):327-336. DOI:10.13328/j.cnki.jos.005676 .

[16]

SU MWU BFU A Met al. Assured update scheme of authorization for cloud data access based on proxy re-encryption[J]. Journal of Software202031(5):327-336. DOI:10.13328/j.cnki.jos.005676(Ch ).

[17]

王磊,李刚,王斐玉. 改进属性加密结合代理重加密的云计算安全访问控制策略[J]. 计算机应用与软件201936(7):327-333. DOI:10.3969/j.issn.1000-386x.2019.07.056 .

[18]

WANG LLI GWANG F Y. Cloud computing security access control strategy based on improved attribute encryption combined with proxy re-encryption[J]. Computer Applications and Software201936(7):327-333. DOI:10.3969/j.issn.1000-386x.2019.07.056(Ch ).

[19]

许盛伟, 王荣荣, 陈诚. 支持关键字更新的基于属性可搜索加密方案[J]. 计算机应用与软件201835(3): 327-333. DOI:10.3969/j.issn.1000-386x.2018.03.061 .

[20]

XU S WWANG R RCHEN C. Attribute-based searchable encryption scheme with supporting keyword updates [J]. Computer Applications and Software201835(3): 327-333. DOI:10.3969/j.issn.1000-386x.2018.03.061(Ch ).

[21]

FAN C NHUANG V S MRUAN H M. Arbitrary-state attribute-based encryption with dynamic membership[J]. IEEE Transactions on Computers201463(8): 1951-1961. DOI:10.1109/TC.2013.83 .

[22]

李艳平, 齐艳姣, 张凯, . 支持用户撤销的多授权机构的属性加密方案[J]. 山东大学学报(理学版)201853(7): 75-84. DOI:10.6040/j.issn.1671-9352.0.2017.399 .

[23]

LI Y PQI Y JZHANG Ket al. Multi-authority and revocable attribute-based encryption scheme[J]. Journal of Shandong University (Natural Science)201853(7): 75-84. DOI:10.6040/j.issn.1671-9352.0.2017.399(Ch ).

[24]

胡媛媛. 云环境中基于属性的代理可搜索加密方案研究[D]. 南京: 南京邮电大学, 2018.

[25]

HU Y Y. Research on Attribute-Based Keyword Search With Proxy Re-Encryption Scheme [D]. Nanjing: Nanjing University of Posts and Telecommunications, 2018 (Ch).

[26]

GORASIA NSRIKANTH R RDOSHI Net al. Improving security in multi authority attribute based encryption with fast decryption [J]. Procedia Computer Science201679: 632-639. DOI:10.1016/j.procs.2016.03.080 .

基金资助

国家自然科学基金资助(61662022)

湖北民族大学高水平科研成果校内培育项目(PY20008)

AI Summary AI Mindmap
PDF (1413KB)

0

访问

0

被引

详细

导航
相关文章

AI思维导图

/