APP下载

结合区块链和可追踪CP-ABE的数据存储与共享研究

2024-04-22曾志兵吴晓鸰

小型微型计算机系统 2024年4期
关键词:密文密钥区块

曾志兵,吴晓鸰,凌 捷

(广东工业大学 计算机学院,广州 510006)

0 引 言

随着物联网、大数据、人工智能等信息技术的发展,随之产生的数据正以指数级的速度增长.其隐藏的巨大潜在价值亟需挖掘利用,同时也存在“数据孤岛”式困境,其有效的解决途径是建立安全高效的数据存储与共享模型[1].实现数据充分共享的前提是保证数据的安全与可信[2].通常资源受限的个人和企业用户倾向于将数据外包给具有丰富的存储和计算资源的云进行存储与共享.然而,基于中心化的云存储容易出现许多安全和隐私问题,例如单点故障、虚假数据注入、sybil攻击漏洞、参与者之间的信任问题以及文件访问和检索操作中的问题[3],造成数据泄露、篡改或无法访问,威胁用户隐私,给用户造成不可弥补的损失.因此,如何在实现数据充分共享中保证数据存储的安全性和数据共享的可信性是目前的研究热点.区块链是比特币的底层技术,可以不依赖可信的第三方构建分布式数据库,具有去中心化、防篡改、可溯源、公开透明等特性[4],保证数据的可信性和可用性,为数据的安全存储与共享带来了新的解决方案.然而,区块链的存储空间存在瓶颈,需进行优化.星际文件系统(InterPlanetary File System,IPFS)是面向全球的点对点分布式文件系统,数据在IPFS上分布式持久化存储,没有单点故障问题,节点间不需要相互信任,支持重复数据删除、高吞吐量、按内容寻址,可以作为区块链的数据存储方案,优化区块链存储空间.

在传统云存储中安全存储与共享数据时通常用加密技术保证机密性,同时需要对数据进行访问控制.Bethencourt等[5]首次提出了密文策略属性基加密(Ciphertext-Policy Attribute-Based Encryption,CP-ABE)方案,允许数据所有者加密与访问策略相关联的数据,当用户的属性集满足数据密文中的访问策略时才能解密获得数据,实现了对数据的机密性保护和细粒度访问控制,广泛应用在云环境下安全存储与共享数据.传统的CP-ABE方案大多都存在计算开销较大的双线性配对运算,很难适用于资源受限的用户.一些工作[6,7]通过将CP-ABE方案中大量的计算开销外包给云端来减轻用户的负担,但就整个系统来说,并没有有效降低计算开销,反而增加了云端的成本和通信开销.为了从根本上降低计算开销,Odelu等[8]提出了基于椭圆曲线的CP-ABE方案,使用较轻量级的标量乘替代双线性配对运算,从算法方面来降低加解密计算开销.经过实验测试,在同一椭圆曲线下,一次双线性配对计算开销比一次标量乘计算开销大2~3倍.CP-ABE方案中还存在恶意用户为谋取非法利益,向非授权用户共享其解密私钥的情况,而解密私钥仅取决于用户的属性,因此无法确定其身份.为了追踪恶意泄露私钥的用户身份,文献[9]提出了首个白盒可追踪CP-ABE方案.文献[10]则在该方案中加入了用户撤销功能.针对文献[10]存在隐私保护、合谋攻击等问题,文献[11]在其基础上实现了隐私保护功能,但仍存在效率低下,访问结构表达能力和灵活性较差等不足.Li等[12]基于有序二元决策图(Ordered Binary Decision Diagram,OBDD)提出了一种新型的CP-ABE方案,该访问结构可同时支持属性的正负值,具有丰富的表达能力和计算高效性,但仍存在双线性配对运算.Ding等[13]基于OBDD访问结构提出了一种新型的无配对CP-ABE方案,降低了方案整体的存储和计算开销.

目前,已有大量工作将区块链技术应用到数据安全存储与共享的研究中.文献[14]提出了一个基于区块链的个人数据管理系统,数据所有者可以采用访问控制策略控制其数据,但是该方案在加密共享数据时使用的是对称加密,在共享数据时需要给每个用户单独授权,这给系统管理密钥和访问控制策略带来了挑战.文献[15]将CP-ABE方案应用于区块链,以实现数据隐私保护和细粒度共享,也支持对恶意泄露密钥用户的追踪,但数据存储在区块链上容易遭遇存储瓶颈.文献[16]使用以太坊区块链技术结合CP-ABE方案提出了一种新的云存储安全访问控制框架,在不需要可信的第三方下实现云存储中共享数据的细粒度访问控制.文献[17]为了安全共享患者的健康记录,基于区块链在不需要第三方参与的情况下提供安全通信,使用层次化访问结构的CP-ABE方案实现对共享数据的层次化访问控制.文献[16,17]都将共享数据存储在中心化的云存储上,存在安全和隐私问题并且不支持对恶意泄露密钥用户的追踪.文献[18]针对P2P网络中数据存储和数据共享分发时存在网络失信、非法访问及溯源难等安全问题,基于信任模型构建的P2P分发平台,提出一种结合区块链和属性基加密的可信数据分发机制,并利用IPFS作为数据的链下存储平台,实现链上链下协同管理数据.文献[19]将区块链、CP-ABE和IPFS结合起来,提出了一种基于区块链的个人数据安全共享和隐私保护方案,数据所有者对其数据进行细粒度访问控制,并将共享数据安全可信地存储在IPFS上,支持在不影响其他用户的情况下从属性级撤销特定的用户,但仍不支持对恶意泄露密钥用户的追踪.

综上所述,本文提出了一种结合区块链和可追踪CP-ABE的数据存储与共享方案(BTABEDSS),主要贡献如下.

1)本文提出了一种结合区块链和可追踪CP-ABE的数据存储与共享方案模型.数据所有者将数据密文存储在IPFS上,区块链上仅存储数据的唯一标识、数据的哈希值和数据密文在IPFS检索的内容哈希值等元数据信息,这样不仅保证数据的安全可信存储与访问,还有效解决了区块链的存储瓶颈问题.利用智能合约和CP-ABE协同实现数据所有者对其数据进行细粒度访问控制,只有满足访问控制策略的非恶意用户才能访问共享数据.

2)使用椭圆曲线上的标量乘运算和表达性、计算性更优的OBDD访问结构,有效降低了系统的计算和存储开销.

3)采用概率加密方案将用户身份信息随机化处理后嵌入用户密钥,从而实现对恶意泄露密钥的用户进行高效追踪并撤销其访问权限.

4)进行了安全性与实验分析,结果表明本文方案是安全可行的,与对比方案相比,降低了系统运行成本和开销,提升了系统操作效率,更加高效与实用.

1 相关知识

1.1 椭圆曲线加密

椭圆曲线加密(ECC)是一种基于椭圆曲线离散对数问题(ECDLP)的非对称加密算法,椭圆曲线E在有限域FG(p)上定义,表示为公式(1):

y2=x3+ax+b(modp),4a3+27b2≠0

(1)

3)私钥解密.根据公钥Q对应的私钥d和密文C,通过计算M+cQ-d(cG)=M,即可计算出明文消息M.

1.2 OBDD访问结构

有序二元决策图(OBDD)是一个有根、有向的非循环图G=(V,E),在一个预定义变量序的布尔变量集{x0,x1,…,xn-1}上表示一个布尔函数f(x0,x1,…,xn-1)[20].其中布尔变量描述属性,n为集合中属性的数量,OBDD具有以下特性.

1)图G中V不是非终端节点就是终端节点.

2)每个非终端节点表示一个变量(属性)xi,并有两个子节点.当xi赋值为1,其子节点记为high(xi)称作高子节点;当xi赋值为0,其子节点记为low(xi)称作低子节点.每个非终端节点用一个四元组(i,id,low(v),high(v))来标记,其中i∈I是该节点表示的属性序号,id∈ID是为标识该节点的唯一编号,low(v)和high(v)分别表示指向该节点的低子节点和高子节点.I是访问结构中的属性集合,ID是非终端节点的编号集合.

3)终端节点被标为0或1,不表示属性也没有子节点.

4)从根节点到终端节点的任一有向路径上,每个变量(属性)xi都以同样的顺序且至多一次出现.

对于属性集S,判断S是否满足OBDD访问结构:从根节点开始,对于具有属性i的非终端节点,若i∈S,将沿high(v)转到高子节点;否则,将沿low(v)转到低子节点.重复上述过程直到终端节点,若终端节点为1,则S满足OBDD访问结构;否则,S不满足OBDD访问结构.

假设系统定义的属性集为{x0,x1,…,xn-1},访问策略包括系统定义的所有属性.xi的属性值为正,表示访问策略要求满足访问策略的属性集需要有属性xi;xi的属性值为负,表示访问策略要求满足访问策略的属性集不需要有属性xi.若有一访问策略(x0AND (x1ORx2) ANDx3),则表示属性集{x0,x1,x3}或{x0,x2,x3}的用户满足访问策略,将该访问策略转换成布尔函数为f(x0,x1,x2,x3)=x0x1x3+x0x2x3,预定义变量序为x0→x1→x2→x3,生成对应的OBDD访问结构如图1所示.非终端节点由圆圈表示,终端节点由方块表示,实线指向高子节点,虚线指向低子节点.在OBDD中,从根节点到终端节点为1的路径被称为满足访问策略的有效路径.例如路径(x0=1)→(x1=0)→(x2=1)→(x3=1)→1是一条有效路径.

图1 OBDD访问结构Fig.1 OBDD access structure

1.3 智能合约和以太坊

Buterin在以太坊白皮书[21]中率先引入了智能合约,提出了第一个内置图灵完备语言的以太坊区块链.以太坊内置有成熟的图灵完备的编程语言来编写智能合约,智能合约本质上是一个用户自定义的计算机协议程序,在一些外部或内部条件的触发下自动运行在以太坊虚拟机上,借助其专用加密货币以太币来计量和控制程序执行的资源开销,使用区块链来同步和保存系统状态.由于区块链存储了智能合约的程序代码、状态、数据,从而使智能合约的使用具有去中心化、防篡改、可溯源等特性.

2 结合区块链和可追踪CP-ABE的数据存储与共享方案

2.1 方案架构

本文方案使用的相关符号及其含义如表1所示.系统模型如图2所示,主要由访问中心(AC)、可信授权机构(TA)、数据所有者(DO)、数据使用者(DU)、区块链和IPFS组成,每个实体的具体描述如下.

表1 相关符号描述Table 1 Description of related notations

图2 系统模型Fig.2 System model

1)访问中心(AC):是系统的半可信实体,负责在区块链上部署系统的智能合约,对每个加入系统的用户进行严格的资格审查.通过资格审查后方可注册为系统用户,为系统用户公开系统合约调用信息,定义系统属性集N,为系统每个用户分配一个用户属性集S和用户身份唯一标识uid,调用系统合约的注册函数,将系统用户的uid和区块链账户信息进行注册,使系统用户拥有调用系统合约的访问权限.同时维护一个恶意用户撤销列表RL,注销RL中的每个恶意用户并调用系统合约的撤销函数,撤销每个恶意用户调用系统合约的访问权限.此外,为系统用户存储和检索共享数据的元数据信息.

2)可信授权机构(TA):是系统的可信实体,根据AC定义的系统属性集N,负责为系统生成系统公钥PK、系统主密钥MSK和用户属性私钥SK.此外,还负责对恶意泄露的密钥进行追踪,追踪到恶意用户uid后发送给AC,AC将此uid加入恶意用户撤销列表RL.

3)数据所有者(DO):是可信的数据拥有者,在区块链上注册账户信息并向AC注册为系统用户,根据系统中定义的属性和相关信息,为需要安全存储与共享的数据制定访问控制策略,对数据及相关元数据信息进行加密,然后将数据的密文和相关元数据信息分别上传到IPFS、AC和区块链.

4)数据使用者(DU):是不可信的数据访问者,同样需要注册区块链账户并向AC注册为系统用户.当DU需要访问共享数据时,只有当DU是非恶意用户且其用户属性集S满足DO为数据制定的访问控制策略时,才能成功解密数据,还可以验证数据的完整性.DU是不可信的,可能因利益驱使而恶意泄露其用户属性私钥SK,在无法解密一些数据密文的情况下发起合谋攻击.

5)区块链:AC在区块链上部署了系统合约,系统用户通过调用系统合约在区块链上传和下载数据的相关元数据信息.

6)IPFS:IPFS为DO去中心化存储数据密文,然后根据数据密文内容生成在IPFS检索的内容哈希值并返回给DO,被授权的DU可以根据该内容哈希值从IPFS下载数据密文.

本文方案主要包括以下算法:

1)系统初始化算法.Setup(1λ,N)→(PK,MSK,RL):TA运行该算法,输入安全参数λ和系统属性集N,输出系统公钥PK和系统主密钥MSK.同时AC初始化一个空的恶意用户撤销列表RL.

2)密钥生成算法.KeyGen(PK,MSK,S,uid)→SK:TA运行该算法,输入系统公钥PK、系统主密钥MSK、用户属性集S和用户身份唯一标识uid,输出用户属性私钥SK.

3)数据加密算法.Encrypt(PK,OBDD,ck)→CTck:DO运行该算法,输入系统公钥PK、OBDD访问结构和AES算法对称密钥ck,输出密钥ck的密文CTck.

4)数据解密算法.Decrypt(PK,SK,CTck,RL,uid)→ck/⊥:DU运行该算法,输入系统公钥PK、用户属性私钥SK、密钥ck的密文CTck、恶意用户撤销列表RL和用户身份唯一标识uid,输出AES算法对称密钥ck或解密失败符号⊥.

5)密钥追踪算法.Trace(PK,MSK,SK)→uid/⊥:TA运行该算法,输入系统公钥PK、系统主密钥MSK和恶意泄露的用户属性私钥SK,先验证SK是否满足完整性检验条件,若满足并可追踪到SK对应的恶意用户uid,则输出该uid;否则,输出追踪失败符号⊥.

2.2 详细设计

2.2.1 系统初始化

2.2.2 密钥生成

2.2.3 数据加密

DO为需要安全存储与共享的数据明文F设置数据明文唯一标识fid并生成AES算法对称密钥ck,利用ck加密数据明文F得到数据密文Eck(F),将Eck(F)存储至IPFS得到Eck(F)在IPFS检索的内容哈希值hashipfs,利用ck加密内容哈希值hashipfs得到Eck(hashipfs).通过计算hashF=H2(F)得到数据明文F的哈希值hashF.随后DO调用系统合约,将fid、hashF和Eck(hashipfs)存储在区块链上,其中fid和hashF、Eck(hashipfs)是映射关系.

最后输出密钥ck的密文CTck,然后DO将fid和CTck上传至AC.

2.2.4 数据解密

DU在AC上检索需要访问的共享数据时可以获取对应的元数据信息fid、CTck和RL.

Decrypt(PK,SK,CTck,RL,uid)→ck/⊥:DU运行该算法,算法首先输入DU的用户身份唯一标识uid,若uid∈RL,则输出解密失败符号⊥并终止算法,DU访问共享数据失败;若uid∉RL,算法继续执行,只有当DU的用户属性集S满足DO定义的OBDD访问结构,才能成功执行解密操作获取密钥ck,具体步骤如下:

1)先找出OBDD中id=2的节点,记为当前节点.

2)在当前节点提取(i,id,low(v),high(v)),若属性i∈S,算法跳转到步骤3)执行;否则,跳转到步骤4)执行.

3)找出当前节点的高子节点.若高子节点是终端节点0,算法终止执行并返回解密失败;若高子节点是终端节点1,算法跳转到步骤5)执行;若高子节点是非终端节点,将高子节点记为当前节点,算法跳转到步骤2)执行.

4)找出当前节点的低子节点.若低子节点是终端节点0,算法终止执行并返回解密失败;若低子节点是终端节点1,算法跳转到步骤5)执行;若低子节点是非终端节点,将低子节点记为当前节点,算法跳转到步骤2)执行.

5)若DU的用户属性集S满足OBDD访问结构中的某一条有效路径Rj,然后算法进行如下计算.

最后,通过计算ck=Cck⊕H1(sPy)获取密钥ck.若DU成功获取密钥ck,DU使用fid调用系统合约从区块链上获取hashF和Eck(hashipfs),使用密钥ck解密Eck(hashipfs)得到hashipfs,从而在IPFS上获取数据密文Eck(F),最终利用ck解密Eck(F)得到数据明文F并利用hashF验证数据的完整性;否则,DU访问共享数据失败.

2.2.5 密钥追踪

Trace(PK,MSK,SK)→uid/⊥:TA运行该算法,该算法由验证和追踪两个阶段组成.

1)验证阶段.对恶意泄露的用户属性私钥SK进行完整性检验.若SK通过完整性检验,则SK是有效的用户属性私钥,进入追踪阶段;否则,SK是非法的用户属性私钥,算法输出追踪失败符号⊥并终止,检验过程如下:

2)追踪阶段.若恶意泄露的用户属性私钥SK通过完整性检验,通过计算Decek((D2-y)/D3)=Decek(r)=uid,即可追踪到SK对应的恶意用户uid,TA将恶意用户uid发送给AC,AC将恶意用户uid加入到恶意用户撤销列表RL,从而撤销恶意用户的访问权限;否则,算法输出追踪失败符号⊥并终止.

3 安全性与实验分析

3.1 安全性分析

本文方案(BTABEDSS)通过使用区块链、分布式存储IPFS、CP-ABE和智能合约等技术实现了数据的安全可信存储与共享,提供了数据的细粒度访问控制和隐私保护,实现了对泄露密钥的恶意用户的高效追踪并撤销其访问权限.此外,本文方案中智能合约的部署和调用都记录在区块链中,记录所有用户的存储和访问操作,并且可溯源、不可篡改、不可抵赖.

1)机密性.在数据存储过程中,DO将使用AES算法加密数据的数据密文存储在IPFS上,数据密文在IPFS上的内容哈希值也使用AES算法加密后存储在区块链上,数据以及相关信息均以加密状态传输和存储,无法获取数据的任何有效信息.在数据共享过程中,DO使用CP-ABE加密AES算法密钥ck时,随机选取s计算H1(sPy)加密ck,生成的密文Cck也是随机的.基于椭圆曲线离散对数困难问题,无法在多项式时间内从Cs和Cj中获取关于s的任何有价值信息,进而无法计算出sPy.只有满足访问控制策略且是非恶意用户的DU才能计算出sPy,从而解密出ck,进而解密数据密文获取数据.因此,本文方案在数据安全存储与共享过程中保证了数据的机密性.

2)完整性.在本文方案中,DO采用抗碰撞哈希函数对数据进行哈希计算,将数据的哈希值hashF存储在区块链上,区块链上的数据是防篡改的,可以保证hashF的可信性和可用性.DU在访问获取数据后可以在区块链上获取hashF,通过抗碰撞哈希函数对数据进行哈希计算并与hashF进行对比,验证数据的完整性.

3)抗单点故障.本文方案与传统云存储方案相比,在数据的存储和访问过程中不需要中心化的可信第三方,使用的区块链和IPFS皆是分布式技术,即使部分节点发生故障,也不影响整个方案的可用性,有效解决传统云存储方案的单点故障问题.

5)密钥泄露追踪.为了实现对由于利益驱使而泄露密钥的恶意用户的追踪,在密钥生成阶段,TA把用户身份唯一标识uid通过概率加密方案计算出随机值r,然后把r通过抗碰撞哈希函数计算出c,从而利用r和c来参与计算出用户属性私钥SK.在恶意用户泄露密钥时,TA可以使用系统公钥PK和系统主密钥MSK追踪恶意用户,若恶意用户伪造密钥,其伪造密钥是无法通过完整性检验的,若泄露密钥通过完整性检验,则可计算出恶意用户uid,实现密钥泄露追踪.

3.2 实验分析

本文通过仿真实验对所提出的方案进行实验测试和性能分析,验证其可行性和有效性.实验利用两台PC,分别为PC1:Intel(R)Core(TM)i5-11320HCPU@3.20GHz 2.50GHz and 16GB of RAM、64位Windows 10操作系统和PC2:Intel(R) Core(TM) i5-7500 CPU @ 3.40GHz 3.40GHz and 8GB of RAM、64位Windows 7操作系统.在PC1上用ganache仿真以太坊网络,使用solidity编程语言在Remix IDE上开发和测试智能合约,通过web3j在ganache上部署和调用智能合约,使用ipfs-desktop安装搭建IPFS,引入外部资源库JPBC进行实验测试.在PC2上搭建服务器仿真云存储服务器与IPFS进行对比实验.此外,所有实验测试都执行多次以取平均值进行实验分析,并将本文方案BTABEDSS与方案BPPTABE[15]、BCSWAC[16]、BMHASPHR[17]、BSSPD[19]进行对比分析.

3.2.1 智能合约成本分析

在以太坊中,Gas是可以用于衡量执行智能合约操作的价格单位,Gas值决定了智能合约操作的工作量,衡量了系统使用智能合约的成本开销.本实验将方案BCSWAC与本文方案BTABEDSS进行智能合约操作的Gas消耗进行对比,分别测试了智能合约的部署、上传元数据和下载元数据操作的Gas消耗.如图3所示,本文方案BTABEDSS的智能合约部署、上传元数据和下载元数据操作的成本较低且均低于BCSWAC.两个方案智能合约上传元数据和下载元数据操作的成本都远低于部署操作的成本,但本文方案BTABEDSS的智能合约仅需部署一次,BCSWAC的智能合约由数据所有者部署,随着系统用户的增加而会使系统使用智能合约的成本开销不断增加.因此,采用本文方案后,系统使用智能合约的成本开销较低,更加可行与实用.

图3 智能合约操作Gas消耗对比Fig.3 Comparison of Gas consumption for smart contract operations

3.2.2 数据存储时间效率分析

本实验是测试IPFS和云存储两种存储方式的存取时间效率的实验.本文将数据密文存储在IPFS,主要是针对数据的存储使用,在PC1上使用ipfs-desktop安装搭建IPFS,进行数据上传下载实验测试,其中连接的是IPFS真实主网,由真实多节点连接构成.其中,由于IPFS内部机制,在同一文件首次上传时是真实上传该文件,而在其后多次上传该文件操作则只是确认该文件是否已存在,不会进行二次存储.针对这一问题,为了得到更可靠的测试结果,进行了同一大小的不同文件的上传测试.与其对比的是在PC2上搭建服务器仿真云存储服务器,进行数据上传下载测试.在不同数据大小下,分别测试了云存储和IPFS的数据上传/下载时间消耗并进行了对比.如图4所示,随着数据大小的增加,云存储和IPFS的数据上传/下载时间消耗都越多,但IPFS的增幅较小.在相同数据大小下,IPFS的数据上传/下载时间消耗均较少并少于云存储的数据上传/下载时间消耗,随着数据大小的增加,优势更加明显.所以,采用本文方案,系统使用IPFS,不仅使数据安全存储与访问、缓解了区块链存储压力,还提升了系统操作效率.

图4 云存储和IPFS的数据上传/下载时间对比Fig.4 Data upload/download time comparison between cloud storage and IPFS

3.2.3 性能分析

为了验证双线性配对运算计算开销大于标量乘或幂乘运算,基于JPBC库,选择Type d159曲线,取50次测试结果平均值,实验结果得出一次双线性配对运算的时间为15.56ms,一次标量乘或幂乘运算的时间为3.62ms,结果表明标量乘或幂乘运算的计算开销优于双线性配对运算.进一步对本文方案BTABEDSS与其他方案在CP-ABE方案中密文长度、私钥长度和加解密计算开销方面进行了性能对比分析.其中,T表示群元素的幂乘或标量乘运算,k表示访问策略中的属性个数,u表示访问策略中每个属性对应的撤销列表中的用户个数,n表示私钥生成所用到的用户属性个数,d表示成功解密所用到的属性个数,v表示OBDD中有效路径的个数,L表示群元素长度.由表2所示,本文方案BTABEDSS在多个方面都优于其他方案.本文方案BTABEDSS中用户属性私钥长度是固定的,只有3个群元素长度,而不是跟其他方案一样正比于用户属性个数,这显然降低了系统的计算和存储开销.数据加密阶段的密文长度和计算开销都正比于OBDD中有效路径个数v,而不是正比于访问策略中的属性个数,这样可以有效降低系统的计算和存储开销,特别是当v较小时.此外,本文方案BTABEDSS的数据解密阶段过程的时间复杂度为O(1),只需要几次标量乘运算,因此效率很高,而不是跟方案BPPTABE、BCSWAC、BSSPD一样需要正比于成功解密所用到的属性个数的双线性配对运算.虽然方案BMHASPHR的时间复杂度也是O(1),但是需要第三方实体进行外包解密.

表2 性能对比Table 2 Performance comparison

为了更直观地说明本文CP-ABE方案的优越性,选择本文1.2节所举例的访问策略(x0AND (x1ORx2) ANDx3),进一步对本文方案BTABEDSS与方案BPPTABE、BCSWAC、BMHASPHR进行通信开销对比,以及基于JPBC库,选择Type d159曲线实验测试,进行计算开销对比.如图5所示,本文方案BTABEDSS的CP-ABE方案的密文长度优于其他对比方案,私钥长度与BMHASPHR相当,优于BPPTABE和BCSWAC.因此,本文CP-ABE方案通信开销优于其他对比方案.如图6所示,本文方案BTABEDSS的CP-ABE方案的加密计算开销最低,加密计算开销优于其他对比方案.BMHASPHR的解密计算开销最低,因为该方案使用椭圆曲线的标量乘运算,并且拥有第三方实体进行外包解密.本文CP-ABE方案也使用椭圆曲线标量乘运算,解密计算开销远低于需要复杂双线性配对运算的BPPTABE和BCSWAC.

图5 方案通信开销对比Fig.5 Comparison of scheme communication overhead

图6 方案计算开销对比Fig.6 Comparison of scheme computation overhead

4 结束语

本文提出了一种结合区块链和可追踪CP-ABE的数据存储与共享方案(BTABEDSS),数据所有者将数据密文存储在IPFS上,区块链上仅存储数据的唯一标识、数据的哈希值和数据密文在IPFS检索的内容哈希值等元数据信息,可以使数据安全可信存储与访问,并缓解了区块链的存储压力.将智能合约协同CP-ABE实现对数据的细粒度访问控制,只有满足访问控制策略的非恶意用户才能访问共享数据.使用椭圆曲线上的标量乘运算和表达性、计算性更优的OBDD访问结构,有效降低了系统的计算和存储开销.使用概率加密方案将用户身份信息随机化处理后嵌入用户密钥,从而实现对恶意泄露密钥的用户进行高效追踪并撤销其访问权限.通过安全性与实验分析表明本文方案是安全可行的,与相关方案相比,本文方案具备更低的系统运行成本和开销,在实际运行中更加高效与实用.在后续研究工作中,将解决可信授权机构的信任和单点失效问题,提升系统的安全性和鲁棒性,同时进一步研究区块链的共识算法,提高系统的运行效率.

猜你喜欢

密文密钥区块
探索企业创新密钥
一种针对格基后量子密码的能量侧信道分析框架
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
区块链:一个改变未来的幽灵
密码系统中密钥的状态与保护*
区块链:主要角色和衍生应用
区块链+媒体业的N种可能
读懂区块链
一种对称密钥的密钥管理方法及系统