当前位置:首页 期刊杂志

基于多机构属性加密的云数据确定性删除方案

时间:2024-05-04

江艳惠,胡学先,陈 越,郝增航

(1.郑州大学 网络空间安全学院,河南 郑州 450002;2.中国人民解放军战略支援部队信息工程大学,河南 郑州 450001)

0 引 言

随着计算机和互联网的发展,尤其是5G时代,数据生成量巨大,数据存储需求随之增加。云存储通过网络将不同类型的存储设备连接到一起协同工作,可以为用户提供巨大的数据存储空间。因此,个人或企业为了节约本地存储成本,按照自身需求将数据存储在云服务器中。然而,在云存储带来便利的同时,也引入了云存储的数据安全问题,其中包括如何确保数据的安全删除。如何安全删除云存储数据的问题主要由数据的管理权和所有权分离和云存储服务器半可信引起[1]。数据所有者请求删除云存储数据后,云存储服务商响应删除请求,但是云存储服务商可能并没有删除数据而只是欺骗数据所有者数据已删除。这将造成隐私泄露,威胁云存储数据的安全,阻碍云存储的应用和发展。因此,为保护数据的隐私和安全,应在数据所有者要求删除数据后,该数据不能被恢复。

现有云存储数据确定性删除方案大都是基于密码学的方案,即在数据加密之后再上传到云服务器,这不仅能保证数据的机密性,而且可以将数据的删除转换为加密数据的密钥的删除。如Mo等人[2]提出基于密钥分层结构的云数据确定性删除方案;Hao等人[3]提出基于可信平台模块的可验证数据删除方案,用可信平台模块存储密钥;Perlman[4]提出基于时间的数据确定性删除方案,当到达数据指定的过期时间时,数据自动消失。根据Perlman的思想,部分学者[5-7]提出基于分布式哈希表(Distributed Hash Table,DHT)的数据删除方案,利用DHT在一定时间后被覆写的特点自动销毁密钥。此外,为使删除结果更可信和公开可验证,Yang等人[8]提出基于区块链的删除方案,将区块链用来存储删除证明。然而,以上方案并没有考虑到云存储数据的细粒度访问控制。因此,学者们又将访问策略应用于云存储数据的确定性删除。其中,Tang等人[9]提出基于访问策略的文件确定性删除方案(FADE),通过文件访问策略的撤销实现删除,但访问策略被限制在一层或二层的布尔表达式。Xiong等人[10]提出基于属性基加密(Attribute-based Encryption,ABE)的安全文档自毁方案;Xue等人[11]提出基于密钥策略的属性基加密的删除方案;Yu等人[12]提出基于密文策略的属性基加密(Ciphertext-Policy Attribute-based Encryption,CP-ABE)的数据确定性删除方案;Tian等人[13]提出一种属性关联的数据删除方案;Tian等人[14]提出一种基于双服务器属性密钥管理系统的删除方案;周等人[15]提出基于区块链和属性加密的云数据安全删除方案。由上述发现,基于属性加密的云数据确定性删除方案,不仅可以保证数据的安全删除,而且满足数据的细粒度访问控制。

然而,在现有基于属性加密云数据确定性删除方案中,大都采用单机构管理属性和分发密钥,授权机构工作量大且容易引起单点故障或造成系统瓶颈。并且,这种单机构的情景下,授权机构拥有所有的密钥,可以用来解密系统中所有的密文,若授权机构被攻击者攻破或数据泄露,将严重影响整个系统中的数据安全。针对单机构属性加密面临的问题,Lewko和Waters[16]提出去中心化的属性基加密,一个中央机构用来生成系统的全局参数,多个属性授权机构用来维护属性和生成密钥。另一方面,基于属性加密云数据确定性删除方案中,缺乏对访问策略隐私的保护,这可能会泄露有关解密和加密实体的敏感信息。

因此,基于Lewko和Waters[16]提出的去中心化的属性基加密并结合区块链技术和策略隐藏方法[17],提出一种基于多机构属性基加密的云数据确定性删除方案,可以实现对数据的细粒度访问控制和数据删除验证,并提高了系统的安全性。该文首次将多机构属性基加密应用在云存储数据的确定性删除,避免了单机构属性基加密容易引起单点故障的问题,满足存在多个机构管理属性场景下在对云存储数据的确定性删除。此外,该方案使用策略隐藏保护多机构属性基加密中的策略隐私。其次,使用区块链保存删除证明,实现删除结果公开可验证和可追溯。

1 基于多机构属性加密的确定性删除方案

1.1 系统模型

该方案包括五个实体:数据所有者(Data Owner,DO)、数据用户(Data User,DU)、属性授权机构(Attribute Authority,AA)、云服务提供商(Cloud Server Provider,CSP)、区块链。

(1)属性授权机构:多个属性授权机构负责给通过验证的用户授权属性,并生成对应于属性的私钥。所有的属性授权机构作为联盟链的节点,共同维护联盟链。在联盟链中部署智能合约用于将属性和身份信息加密后作为交易存储在区块链中。属性授权机构可能被攻击者劫持,从而可能造成用户属性的篡改,而通过使用区块链来管理用户属性可有效抵抗该攻击。

(2)数据所有者:使用对称密钥加密消息生成密文,再将对称密钥通过多机构CP-ABE加密方案加密生成对称密钥的密文。最后,在转换访问策略以保护策略中属性的隐私之后将密文和密钥密文上传到云端。作为数据的属主,数据所有者是可信的,不会泄露数据的任何信息。

(3)数据用户:从属性授权机构获得属性私钥,并从云存储中获取密文,只有拥有的属性集满足密文中的访问策略时,才能解密密文。

(4)云服务提供商:有强大的计算和存储资源,提供数据存储、访问控制和数据处理服务。云服务器是诚实且好奇的,即云存储服务器按照提前商定的协议执行操作,但同时又对用户的数据隐私保持好奇。

(5)区块链:区块链主要包括联盟链和证据链。联盟链由属性授权机构作为节点共同维护,用来存储用户属性,以抵抗属性篡改攻击;证据链用于存储删除证明,实现删除结果的公开可验证和责任可追溯。

系统模型如图1所示。

图1 系统模型

首先,用户向一个或多个属性授权机构提交注册申请。属性授权机构验证用户身份通过后,为用户派发相应的属性和属性私钥,然后将用户的身份和属性信息记录在联盟链中。数据所有者用对称密码方案加密消息生成密文,将密文上传到云端,并将对称加密密钥通过多机构CP-ABE方案加密,将对称加密密钥的密文上传到云存储服务器,并且隐藏需上传到云服务器中的访问策略。然后,数据用户下载密文,只有数据用户拥有的属性满足密文中的访问策略时,才能解密密文得到对称加密密钥,根据对称加密密钥即可获得明文。最后,数据所有者请求删除数据,云存储服务器通过重加密密文,并生成具有其签名的删除证明上传到证据链中,实现删除公开可验证、责任可追溯。

1.2 安全模型

本节描述一个基于多机构CP-ABE的云数据删除方案的安全模型。在该方案的安全定义中,敌手将选择一个挑战访问结构(A*,ρ*)标识的密文进行挑战,并请求任何不满足(A*,ρ*)的属性集。该安全模型可以由挑战者C和敌手A之间的游戏定义,具体描述如下:

初始化:敌手A选择一个挑战访问结构(A*,ρ*),并将它发送给挑战者C。

挑战阶段:敌手A发送两个长度相等的明文消息M0和M1,并将它们发送给挑战者。C随机选择β∈{0,1}并在访问结构Γ*=(A*,ρ*)下执行加密算法Encrypt加密消息Mβ,生成密文CTβ发送给敌手A。

查询阶段2:已经收到Mβ的敌手A可以在查询阶段1中查询多项式时间有限次,但敌手A不能查询满足访问策略Γ*=(A*,ρ*)的属性集的相关密钥。

猜测阶段:敌手A猜测β′∈{0,1},如果β′=β,则敌手A胜利。敌手获得胜利的优势是:

(1)

若在多项式时间内,没有敌手能以不可忽略的优势攻破以上安全模型,那么就说该方案是选择明文安全的。

2 具体方案

2.1 概 述

该文提出了一种基于多机构属性基加密的云数据确定性删除方案,作为一种新的在云存储环境中对外包数据进行加密访问控制和删除的安全机制。该方案是基于Lewko和Waters[16]在2011年提出的基于多机构属性基加密的方案。将多机构属性基加密方案引入到云存储数据的确定性删除方案中,同时将策略隐藏[17]应用于该方案保护访问策略的隐私。

2.2 具体构造

(1)初始化阶段。

①系统初始化。

Setup(1λ):输入安全参数λ,在区块链中部署智能合约SCA,属性授权机构通过调用SCA构造阶为p的双线性群G和GT,以及双线性映射e:G×G→GT,然后选择哈希函数H:{0,1}*→G。输出全局参数GP={G,p,e:G×G→GT,H}。

AASetup(GP):输入全局参数GP,每个属性授权机构AAj维护一个属性集SAAj,并且各个属性授权机构维护的属性集不相交。对于属性授权机构中的属性x(x∈SAAj),属性授权机构AAj选择随机数αx,yx∈Zp,并且随机选择一个随机数tj∈Zp,然后生成属性授权机构AAj的公钥PKAAj和私钥SKAAj。

PKAAj=({g,e(g,g)αx,gyx},gtj)

(2)

SKAAj=({αx,yx},tj)

(3)

②用户初始化。

KeyGen(GP,GID,Sj,GID,SKAAj):用户向属性授权机构发送注册请求,注册请求包括用户的全局唯一身份标识GID和与属性授权机构AAj(j∈N)相关的属性集Sj,GID。属性授权机构验证用户身份GID,验证通过后,将加密并签名之后以交易的形式转发至区块链。属性授权机构AAj计算属性集Sj,GID的相应私钥Kj,GID发送给拥有相应属性的用户GID。

(4)

(2)文件上传阶段。

Encrypt(GP,{PKAAj},(A,ρ),M):首先,DO选择一个随机值a∈Zp,并计算替换值qi:

qi=e((gtj)a,H(xi))

(5)

其中,{xi}i∈F表示访问策略(A,ρ)中的一个属性,而F为访问结构中的属性数量。为了确保访问策略的隐私保护特性,数据所有者将访问结构(A,ρ)中指定的每个属性xi替换为qi。

h0=ga

(6)

C0=k·e(g,g)s

(7)

C1,i=e(g,g)λie(g,g)αρ(i)τi

(8)

C2,i=gτi

(9)

C3,i=gyρ(i)τigωi

(10)

DO在本地生成公私钥对(PKDO,SKDO),同时,CSP在本地也生成公私钥对(PKCSP,SKCSP)。这里公私钥对的生成方式类似,即任选一个随机数φ∈Zp作为私钥,计算D=gφ作为公钥。数据所有者的每个文件有一个唯一的文件名fname。用C2,i的哈希值H(C2,i)作为叶节点生成默克尔树,得到该树的根值Rn,并在根节点Rn上签上数据所有者的签名SignSKDO(Rn),上传{fname,PKDO,SignSKDO(Rn),CT,ind,Ωind}到云服务器,ind表示MHT中叶子节点的索引,Ωind是指从第ind个叶节点到根的路径上节点的所有兄弟节点。

(3)文件解密阶段。

(11)

其解密过程如下:

C1,i·e(H(GID),C3,i)/e(Kρ(i),GID,C2,i)=e(g,g)λie(H(GID),g)ωi,∀i∈I′

(12)

已知λi=Ai·v和ωi=Ai·ω,因此v·(1,0,…,0)=s和ω·(1,0,…,0)=0,可计算:

(13)

最后计算对称密钥k=C0/e(g,g)s,再由k解密C,得到明文M。

(4)删除阶段。

在属性集中,拥有一个默认属性attr,它有两个值available或unavailable,密文中的此属性置为unavailable时,任何人都无法访问该密文。

①删除请求。

DelRequest(fname,attr,SKDO):数据所有者向云服务器发送删除请求,随机选择d∈Zp作为私钥保存,计算θ=gdmodp,并将θ和全局标识GID、文件名fname、将要删除的属性attr、删除标识delete一起签名得到SigDel=SignSKDOH(delete‖GID‖fname ‖attr‖θ)。然后,将得到的删除请求DR={delete‖GID‖fname‖attr‖θ‖SigDel}发送给云服务器。

②验证删除请求。

云服务器接收到数据所有者发来的删除请求后,用PKDO验证删除请求DR中的签名是否正确,若正确则继续第3步,若返回错误则终止操作。

③重加密。

④证据上链。

如图2所示,将删除证据proofn交给区块链节点,节点将证据作为交易打包到区块中,生成一条证据链。如图所示,区块链中包括区块头和区块体,区块头中的哈希值Hn=(Hn-1‖Tn‖Qn)表示当前区块的哈希值。Hn-1表示前一区块的哈希值,Tn当前区块的时间戳,Qn表示当前区块的MHT树的根值,该MHT由proofn做为叶子节点生成。

图2 区块链结构

(5)验证阶段。

3 方案分析

3.1 安全性分析

根据选择明文安全的安全模型来证明文中方案的安全性。

定理1:如果存在多项式时间的敌手A以不可忽略的优势ε攻破此方案,则一定存在一个多项式时间算法B以不可忽略的优势ε/2解决DBDH假设。

(14)

查询阶段:敌手A可以进行H(GID)、Kx,GID询问,在这两种情况中,敌手B以下述值回应。

当A进行H(GID)询问时,B随机选择f∈Zp,令H(GID)=gf,并建表Q存储GID对应值,以便在下次请求该值时,能够以相同的H(GID)值回应。

当A进行(x,GID)私钥询问时,敌手B首先查询GID值是否在表Q中,如果H(GID)不在表中,则按上述H(GID)查询的过程创建H(GID),B计算(x,GID)对应的Kx,GID如下:

(15)

B在Zp中随机选择向量u1,满足第一项为1,且u1与B中所有行正交。选择随机向量u2,其第一项为0,其余项随机。令v=acu1+u2,λx=Ax·v=acAx·u1+Ax·u2。

(17)

对于Ax∈B,B选择τx∈Zp,计算C1,x=e(g,gb)Ax·u2+αρ(x)τx。

(18)

(19)

对于Ax∈B,B选择τx∈Zp,计算C3,x=gyρ(x)τx。

3.2 性能分析

为了进一步说明文中方案的性能优势,从删除验证、细粒度访问控制、策略隐藏、责任可追溯和多授权机构五个方面与其他方案进行了比较。如表1所示,表中的“-”表示未比较,从文中方案和方案[3]、方案[8]、方案[11]、方案[13]、方案[15]的对比分析可以得出以下结论:文中方案在实现了数据的安全删除和删除验证的基础上,和方案[3]、方案[8]相比,也实现了数据的细粒度访问控制。其次,与方案[11]、方案[13]、方案[15]相比,文中方案采用策略隐藏保护数据隐私。同时,与方案[11]、方案[13]相比,文中方案使用区块链实现责任可追溯。最后,文中方案采用的多授权机构机制可解决传统单机构带来的单点故障威胁。因此,文中方案在性能对比上具有一定的优势。

表1 性能对比

对于文中方案的计算开销,主要从加密、解密、删除和验证的计算开销四个方面分析。其中,用TE,TM,TP,TH,Tsig,分别表示指数运算,乘法运算,双线性运算,哈希运算,签名算法,验证签名算法。由于文中使用的AES算法是高效的,数据所有者对数据M进行对称加密的时间开销较小,因此无需考虑对称加密算法的时间开销,只需考虑由多机构属性加密方案加密对称密钥的时间开销。由此分析,对于用l行n列的访问矩阵A,数据所有者进行加密时的开销主要是(5l+1)TE+2lTM+1TP。解密时的主要计算开销为解密对称密钥的开销,为(3TE+3TM+2TP)i+1TM,其中i表示A中映射到满足访问策略的属性的行数。删除阶段对应了上文中的DelRequest算法和ReEncrypt算法,其主要开销是4TE+2Tsig+1Tver+(log2l+2)TH。最后是在删除后,数据所有者对删除结果进行验证,其主要计算开销为2TE+Tver+(log2l+1)TH。

实验部署在Windows 10操作系统上,配置为Intel(R) Core(TM) i7-9700 CPU @ 3.00 GHz八核处理器,32 GB内存,使用Java语言并基于JPBC函数库进行编程开发,同时使用密钥长度为128 bits的AES对称加密,多机构属性加密方案的安全参数设置为80。实验数据为测试20次的平均时间。

实验主要测试属性数量对加密时间、解密时间、删除时间和验证时间的影响,并将文中方案和其它和类似的删除方案进行比较分析。图3为不同属性个数下的加密时间变化。可以看出,加密时间随着属性个数的增加呈线性增长,文中方案加密时间大于文献[11]的,且由于文中方案增速较快,在属性个数大于12后,文中方案加密时间也大于文献[13]的,但整体来说加密时间相差不大。然后,对比分析了在不同属性个数下的解密时间变化,如图4所示。可以看出,文中方案比文献[11]和文献[13]的解密时间要小,证明文中方案在解密数据时有较好的效率。此外,还对比了不同属性个数下的删除时间变化,如图5所示。可以看到,文中方案的删除时间明显比文献[11]和文献[13]的低。最后,图6给出了不同属性个数下验证时间的变化。由图显示,文中方案相比于文献[11]和文献[13]验证时间差别很小。综上所述,文中方案在性能和功能上整体而言相对于其他方案具有较好的优势。

图3 不同属性个数下的加密时间变化

图4 不同属性个数下的解密时间变化

图5 不同属性个数下的删除时间变化

图6 不同属性个数下的验证时间变化

同时,云存储将删除证明上传到区块链和数据拥有者验证删除证明的过程通过FISCO BCOS联盟链部署,以测试区块链删除证明的性能。在区块链中共创建三个用户分别为Owner、Cloud和User分别对应于数据拥有者、云存储服务器和User。通过部署智能合约生成证明和验证证明,包括newEvidenc()和getEvidence()两个算法。Cloud通过调用newEvidence()将证据上传到区块链,并返回一个证据地址。Owner或User输入地址参数调用getEvidence()算法得到证据,然后通过上文3.2节的Verify()算法进行删除验证。通过分析,区块链只需执行一个交易用来将证据上链,因此只需要消耗很小的时间。根据文献[18]的分析,一个10节点的Fisco-Bcos区块链平台的交易吞吐量大概为每秒1 200个交易,因此分析得到区块链发起一个交易的时间是毫秒级的。最后,通过实验分析比较文中方案和其它方案在区块链上的交易生成时间,如图7所示。可以看到,文中方案相较于文献[19]有较好的性能,这是因为文中方案只需调用一个简单的智能合约就能将证据上传到区块链,而方案[19]中的删除阶段,区块链交易包括了加解密算法和签名算法,增加了时间开销。

图7 不同节点个数下的区块链计算时间开销

4 结束语

针对云存储数据的安全删除问题,提出了基于多机构属性基加密的云数据安全删除方案。该方案不仅实现了基于区块链的删除验证,而且实现了支持策略隐藏细粒度访问控制,同时支持多个属性机构参与的云存储数据的安全删除方案。并对该方案进行了安全分析和实现分析,结果表明该方案具有较好的安全性和实用性。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!