基于属性基加密的区块链数据共享模型

2022-05-11 版权声明 我要投稿

摘要:为确保当前区块链数据共享机制中的隐私保护及数据安全,受属性基加密技术能够有效实现云上数据安全共享与访问控制的启发,提出了基于属性基加密的区块链数据共享模型。该模型基于Waters所提出的密文策略属性基加密(CP-ABE)方案,首先,在私钥生成阶段,数据使用方委托多个节点参与联合计算并存储部分私钥,其他数据使用者则不可获取完整密钥,从而提升了私钥的生成效率;其次,为防止密钥滥用及算法中参数的管理,定义了一种密钥传递事务数据结构,实现了CP-ABE算法的可追责性;最后,通过构建具有链上链下协同计算与存储功能的共享链,实现了属性基加密与区块链系统的有效融合。安全性分析和实验仿真结果表明,所提模型在密钥生成计算效率和实际业务场景方面有一定的优化,满足工程应用的需要。

0引言

随着信息技术的高速发展,数据已成为一种与矿产石油同样的经济资产[1],且总量在飞速增长。据联合国《DigitalEconomyReport2019》指出,当前数字经济的规模估计在世界各国国内生产总值的4.5%~15.5%[2]。但是目前大数据产业仍面临着“数据孤岛”的困境,即组织或个体在拥有自己数据的同时也需要他人的数据。因此,在大数据环境中进行数据共享的需求越来越多,数据拥有者与数据使用者的供需矛盾也日益突出,数据的“自给自足”式理念已无法满足当前的需求[3]。这表明,推动数据共享成为当今社会的必然诉求。区块链(blockchain)是目前数据共享领域的前沿技术,2009年由Nakamoto在比特币(Bitcoin)中首次提出。区块链作为一种去中心化的分布式存储账本,使用逻辑上独立的数据空间,以一种新的分布式基础架构和计算范式已经应用于数据共享的各个领域[4]。在物联网应用中,于金刚[5]针对传统数据共享过分依赖于第三方中心化机构,提出一种基于区块链的物联网数据共享模型,以HyperledgerFabric区块链平台为基础平台,设计一种新型网关及多源异构数据的区块链存储方式,但该方案主要采用散列值进行数据存在性证明及使用非对称加密密钥进行数据加密,仍缺乏细粒度的数据访问控制与区块链数据隐私保护机制;在移动边缘计算的车载网络中,Kang[6]提出利用联盟链和智能合约技术实现数据的安全存储和共享。将基于权重主观逻辑模型计算车辆的信誉度,有效阻止了未经授权的数据源,以确保车辆之间的高质量数据共享,但数据的隐私保护却难以实现;在医疗数据共享及其访问控制中,MIT开发的MedRec框架[7]将智能合约与访问控制相结合进行数据的所有者和使用者之间的权限管理,实现了跨医疗组织的医疗数据的去中心化共享机制,保证了数据的自主管理和控制,但并未实现数据的安全共享与隐私保护。从以上方案可知,由于区块链的公开验证和共识机制,确保了区块链数据的透明性,但也为数据的隐私性和真实性带来了安全挑战,限制了区块链数据共享的工程应用。

属性基加密(ABE,attribute-basedencryption)作为一种新式加密技术,将用户身份与其相对应的属性信息绑定,通过将访问策略嵌入密文或密钥中,只有属性集合与访问策略匹配才可解密,从而实现一对多的数据细粒度访问控制,因此更适用于数据共享及隐私保护。自CP-ABE提出以来,学者对其效率以及可扩展性做了不少研究。Lewko和Waters[8]在标准模型下证明了CP-ABE的安全性并提出了多权威的CP-ABE加密方案,该方案利用身份标志GID与属性绑定,只有拥有正确GID的用户才可恢复出正确密钥,从而达到防止串谋的目的;Li[9]提出一种具有问责制的多权限密文策略的CP-ABE方案,减少了对中心化权威机构的依赖;Yang等[10]通过策略动态更新CP-ABE算法实现了对云环境中的数据进行访问控制。Basu[11]将CP-ABE机制应用于物联网,满足了物联网环境中安全组播的需求,有效减少了资源计算。Liu[12]提出一种多权威的CP-ABE方案,具有扩展的代数结构,为每个权限增加虚拟属性,支持灵活的阈值访问策略。在基于属性基加密的区块链数据共享方面,GeorgeBramm[13]等人将CP-ABE应用于基于区块链的分布式数据共享和访问协议,提升了分布式系统密钥管理的安全性和效率;YongkaiFan[14]将CP-ABE应用在云计算中,解决了不受信任的云服务器的数据存储的隐私和访问控制问题;田有亮[15]提出基于属性加密的区块溯源算法,实现了交易隐私的动态保护;闫玺玺[16]提出一种基于区块链且支持验证的属性基搜索加密方案,解决了半诚实且好奇的云服务器模型下返回搜索结果不正确的问题。但上述文献[13~16]的数据共享方案中,仍然都是通过中心化或者多中心化权威进行密钥的生成及分发,密钥生成算法效率低,未脱离传统的CP-ABE属性基加密机制,与区块链的融合度不高,且在算法的效率以及防止密钥滥用及责任认定方面仍然有待改进。

鉴于以上分析,本文提出一种基于属性基加密的区块链数据共享算法。通过改进的属性加密算法完成交易的隐私保护,并在密钥生成时通过多节点参与联合计算的方式提高了效率,利用设计的支持多节点链下计算和链上存储的共享链实现加密过程的信息追踪与溯源,解决密钥滥用的问题。本文的主要贡献如下:

a)形成适用于区块链的密文策略属性基加密算法,改进Waters所提出的CP-ABE方案,设计新式支持多节点联合计算的密钥生成算法,并给出相关安全模型与安全性分析,确保攻击者无法通过合谋等方式实施攻击。

b)定义密钥传递事务结构,完善算法中参数过程管理,实现各参与方的行为追责。

c)设计支持多节点链下计算与链上存储的共享链模型,实现加密过程可溯源,解决密钥滥用等问题,实现区块链网络中所有节点都可参与计算。

1预备知识

1.1参数定义

本文基于区块链与属性基加密的数据共享模型涉及的主要参数如表1所示。

1.2双线性映射

设p是一大素数,G0、G1是两个阶为p的乘法循环群,g为群G0生成元,定义双线性映射e:G0×G0→G1。满足以下性质:

a)双线性:对于任意g∈G0,a,b∈Zp,有e(ga,gb)=e(gb,ga)=e(g,g)ab;

b)非退化性:存在g∈G0,e(g,g)≠1;

c)可计算性:存在有效计算e(g,g)。

1.3线性秘密共享方案LSSS

参与方集合p上的秘密共享方案Γ如果满足下列条件,则称为Zp上的线性秘密共享方案:

每个共享秘密的份额组成Zp上的一个向量。

2改进的属性加密算法

2.1方案构造

本文提出的算法如图1所示,其中虚线框为本文贡献部分。在加密与解密阶段引入随机参数δ∈Zp作为身份密钥,用于对数据使用者DU的数据共享策略管理。增加密钥计算阶段,通过引入加密密钥对(e,d)实现对私钥sk的加密。

1)系统初始化阶段

Setup(1k)→(pk,mk)。输入安全参数k,设p是一大素数,定义G0、G1是Zp阶数为p的两个乘法循环群,令g为群G0生成元,定义双线性映射e:G0×G0→G1。安全参数决定群的大小。属性总体记为U,大小记作|U|。选择两个随机指数α,β∈Zp。

3支持多节点链下计算和链上存储的共享链

区块链是按照时间顺序排列的数据区块的链式结构,具有去中心化、防窜改、可溯源、公开验证等特点,成为各专家学者研究的重点。但区块链的公开透明严重威胁交易的隐私,难以进行有效的隐私保护。而在属性基加密中,密钥滥用问题一直难以解决,其难点在于定位盗版密钥的来源,即难以定位某个用户或授权机构的行为[17]。

针对上述问题,本文将基于属性加密算法进行改进,并对区块结构进行设计,利用区块链进行密钥版权追溯,利用属性基加密解决区块链隐私保护问题,通过对属性基加密算法的改进实现了密钥的多节点链下计算,极大地提高了效率。提出基于属性基加密的数据共享链,实现属性基加密过程中多节点参与密钥链下计算与链上存储。如图2所示,本文定义了一种基于区块链的链上链下协同计算的事务格式。

2.2安全模型

本文算法是选择属性和选择明文攻击下的不可区分性(IND-SAS-CPA,in-distinguishabilityagainstselectiveaccessstructureandchosenplaintextattack)游戏,游戏涉及一个挑战者(challenger)和一个敌手(adversary)的交互。具体游戏如下。

1)初始化。挑战者初始化系统Setup(1k),保存用于应答的秘密参数mk,并将公钥pk发送给敌手,敌手宣布要挑战

a)ID表示事务标志号。

b)From表示事务的发送方。

c)To表示事务的接收方。

d)Tx_Type表示事务类型,R表示请求计算密钥,S表示密钥计算完成结果返回。

e)action表示事务的操作类型,P表示发布,C表示计算,V表示验证。

f)Times-tamp表示事务发布时间戳。

g)Sig表示发布者签名。

h)Data表示事务包含的可选数据域。

在共享链中,如图3所示,传递密钥的事务以基于哈希算法的Merkle树这种数据结构存储,通过哈希算法将大小不同的事务数据映射为固定大小字符串,存储于Merkle树叶子节点,其非叶子节点出其子节点的哈希值。在P2P网络中,使用Merkle树能够快速验证数据是否被窜改或损坏,区块链中所有事务数据通过Merkle树生成唯一Merkle根存储于区块头中。因此,基于Merkle树的秘密共享链可以快速、准确地进行密钥来源追溯。

除此之外,本文定义了一种链下计算与链上存储的共享链模型,如图4所示。

某共识节点在收到一笔事务后进行状态初始化,提取出事务信息并下载至本地,根据action字段判断该事务的操作类型,根据Tx_Type字段判断出该事务的事务类型。从Data字段中获取事务的公共参数,若需要秘密参数则本地输入,由公共参数与秘密参数生成本地状态A,经过链下计算后生成本地状态B,签名后上传至区块链进行状态更新。

系统初始化与加密过程中,数据拥有者DO在本地生成系统公钥pk与系统主密钥mk,并通过事务的方式将pk上传至区块链系统,将mk使用CA公钥加密后发送至密钥中心。在使用pk与访问策略进行加密后,将密文CT上传至IPFS,IPFS将文件地址返回至区块链系统。其事务分别为:dataowner)、数据使用者(DU,datauser)、参与计算节点(CN,computenode)、可信中央授权机构(CA,centerauthority)、星际文件系统(IPFS,interplanetaryfilesystem)和区块链(BC,Blockchain)。其中CA负责主密钥托管和维护用户状态与身份管理,保存系统主密钥mk和为符合条件的DU颁发随机数密钥δ;IPFS存储密文CT,区块链记录主密钥pk,以及CT存储在IPFS的地址;CptNode负责密钥计算。

密钥计算与恢复过程中,计算节点从事务中获取事务信息({hx}、Ei),链下计算后将结果上传。DU从事务中获取后于链下进行密钥恢复,恢复出正确私钥sk。

密文解密过程中,DU从事务中获取密文CT,并利用私钥sk解密CT得到事务信息m。

在进行数据交换时,所有事务过程及操作信息都将被永久的记录在区块链中,通过事务发起者的签名可进行事务的真伪验证,从而实现密钥来源定位,解决属性基加密中密钥滥用问题。

4数据共享系统模型

4.1系统模型

基于区块链和属性基加密的数据共享模型如图5所示,适用于一对多数据共享和细粒度访问控制,数据拥有者将加密数据上传至IPFS,只有属性私钥满足访问结构的用户才可以解密数据。模型共包含6个参与方,分别是数据拥有者(DO,DU得到后通过KeyRes(Kx¢,d)→sk进行解密。得到正确密钥Kxi,之后DU将各节点计算的Kxi合并为属性密钥集合Kx={Kx1,Kx2,…,Kxn},再与先前计算的K,L组成完整私钥sk三元组sk=(K,L,Kx)。

1)解密。Dec(CT,δ,sk)→m:数据使用者DU从IPFS上获得加密数据CT,并使用密钥sk对其解密,得到明文数据m。

5方案分析

5.1安全性分析

定理1若判定性q-parallelBDHE假设成立,则不存在多项式时间敌手能够选择挑战访问结构(M*,ρ*)攻破本文方案。

证明在本文选定结构模型下,如果存在多项式时间的敌手A以ε的优势攻破本文方案,则存在另一敌手B以ε/2的优势解决判定性q-parallelBDHE假设。

上一篇:布地奈德与孟鲁司特钠联合应用于儿童慢性咳嗽疗效的药学分析下一篇:中医药学专业中西医结合教学模式改革与实践的思考