基于CP-ABE算法的区块链数据访问控制方案

2020-06-22 06:43邱云翔张红霞曹琪章建聪陈兴蜀金泓键
网络与信息安全学报 2020年3期
关键词:访问控制密文账本

邱云翔,张红霞,曹琪,章建聪,陈兴蜀,金泓键

基于CP-ABE算法的区块链数据访问控制方案

邱云翔1,张红霞2,曹琪2,章建聪1,陈兴蜀2,金泓键2

(1. 华信咨询设计研究院有限公司,浙江 杭州 310000;2. 四川大学网络空间安全学院,四川 成都 610065)

与公有链不同,联盟区块链超级账本Fabric额外集成了成员管理服务机制,能够提供基于通道层面的数据隔离保护。但这种数据隔离保护机制在通道内同步的仍是明文数据,因此存在一定程度的数据泄露风险。另外,基于通道的数据访问控制在一些细粒度隐私保护场景下也不适用。为了解决上述提及的联盟链超级账本中存在的数据隐私安全问题,提出了一种基于CP-ABE算法的区块链数据访问控制方案。结合超级账本中原有的Fabric-CA模块,提出的方案在实现用户级细粒度安全访问控制区块链数据的同时,还能够实现对CP-ABE方案中用户属性密钥的安全分发。对该方案进行的安全分析表明,该方案实现了ABE用户属性私钥安全分发和数据隐私性保护的安全性目标,性能分析部分也说明了所提方案具有良好的可用性。

区块链;超级账本;CP-ABE;数据访问控制

1 引言

联盟区块链超级账本[1](Hyperledger)是Linux基金会发起的区块链技术项目,该项目致力于发展跨行业的商用区块链平台技术。区别于人们熟知的公有链,如比特币[2]和以太坊[3-4]等,超级账本技术额外融合了成员管理服务机制[5],实现了更加适于商用的身份管理、网络隐私、保密以及审查等功能。

传统的区块链网络中,默认情况下整个网络中的数据对每个节点和用户来说都是可见的,这就带来了一定的数据隐私安全隐患:在某些应用场景下,某些敏感的数据并不能以明文方式在整个网络中进行同步。为了解决网络节点数据的透明性带来的安全隐私问题,联盟区块链超级账本增加了对多通道的支持[6],使同一通道中的节点共同维护一份账本,不同通道中的数据相互隔离。通过这种多通道数据隔离机制,超级账本技术大大增强了数据隐私保护的力度。但在默认情况下,通道中的数据对同一通道中的节点来说仍是完全可见的,因此这种机制仍然存在以下问题。①数据泄露风险:节点一旦被攻击者攻破,其中的明文数据就会被攻击者全数掌握。②数据隐私保护粒度过粗:这种基于通道的粗粒度数据隐私保护方式在某些细粒度数据访问控制场景中并不适用。因此,需要一种更加细粒度的数据安全访问控制机制。

基于上述提到的粗粒度数据访问及数据加密问题,在超级账本官方的版本更新中也提出了相应的解决方案,即数据对称加密上链[7]:通过对明文数据进行对称加密然后上链的方式,使只有拥有对称解密密钥的用户才能获取真正的明文数据。这从一定程度上解决了细粒度数据隐私保护的问题。但在实际应用中,为了达到细粒度安全访问控制的需求,该方案要求每份上链数据都需要维护独立的密钥,且需要单独将该密钥分发给访问控制策略中包含的所有接收者。这一过程中涉及大量密钥生成、分发与管理操作,使这一方案并不高效。超级账本官方提出的另一种解决方案是隐私数据机制[8]:通过在授权的组织节点中传递和同步真正的明文数据,非授权的组织节点间传递和同步数据哈希值的做法,该机制可以将数据隐私保护细化到通道中的组织层面,即可以实现通道中某些组织间的私密数据共享,一定程度上解决了本文的问题。但是,在默认情况下,由于在授权的节点之间同步的数据仍是明文数据,这种机制并未根本上解决数据泄露带来的安全性问题。另外,正如上述提到的,隐私数据机制只能将对数据的访问控制细化到组织层面,在一些希望实现基于组织中用户访问控制的场景中,这种机制其实并不能满足本文的需求。

本文针对超级账本Fabric目前存在的细粒度数据隐私保护需求,设计了一种基于CP-ABE算法的区块链数据访问控制方案,主要贡献如下。

1) 基于CP-ABE算法,提出了一种适用于超级账本Fabric网络的数据访问控制机制,在保证数据不被泄露的同时能够实现基于用户的最细粒度的数据访问控制。

2) 基于超级账本中已有的Fabric-CA模块,实现CP-ABE用户属性密钥的动态生成和安全分发等操作。在不影响超级账本原有结构和运行机制的前提下,通过非对称加密算法对用户属性密钥进行加密传输,解决了传统加密方案中广泛存在的密钥分发问题。

2 背景技术

2.1 区块链和超级账本

2.1.1 区块链和超级账本技术简介

区块链的概念源于比特币[2],其有效地解决了去中心化分布式场景中节点间的信任问题[9]。从本质上来说,区块链是一种特殊的数据结构,通过结合多种密码学技术和分布式网络技术,区块链将一个个数据块以链的方式组织起来。同时,区块链使用点对点传输技术和共识机制(如PoW[10]、PoS[11-12]等),使多个节点之间保存相同的数据内容,并利用这种冗余机制来实现数据的不可篡改性和持久性。区块链网络严格按照“少数服从多数”的机制保证节点间数据的一致性,这意味着攻击者必须控制超过半数的区块链节点(51%攻击[13])才能实现非法修改或删除已经存在于链上的记录,而这种攻击方式在大规模部署的分布式区块链网络中几乎不可能实现,因此一般认为存储在区块链中的数据是安全的。同时,以以太坊为代表的区块链网络集成了智能合约,使更加复杂和高级的分布式应用得以实现。因为区块链技术的去中心化、上链数据不可篡改、交易内容可追溯以及智能合约实现等特性,学术界和工业界开展了很多的研究工作,目前区块链技术在金融服务、征信和权属管理、资源共享、供应链管理、隐私保护以及公共网络服务等场景中有广泛的应用[14]。

根据系统控制权和交易信息公开与否进行归类[15],区块链可以分为公有链、私有链和联盟链3类。公有链没有任何准入机制,任意节点都可以加入网络中,且信息对整个系统公开,是完全去中心化的点对点系统,如比特币和以太坊等。私有链目前多用于测试场景下,其与普通意义上的数据库并无本质上的区别,只适用于限定的机构之内。联盟链则指的是区块链中设计了特殊的准入机制,交易信息只针对局部进行公开,区块链节点通常需要通过合法的证书才能够发起交易或访问区块链上的内容,这样的设计尤其适合于商业应用场景,在保护商业隐私的同时,能够解决跨机构商业伙伴间的互信问题。

作为联盟区块链的代表技术,超级账本区块链并不是完全去中心化的,而是有若干组织机构共同参与和管理,另外配置一个专用的证书授权机构Fabric-CA来处理节点或用户的接入身份权限问题。相比传统公有链技术,超级账本在扩展性和智能合约的功能完善性方面都有了大幅的提升。超级账本支持拜占庭共识协议和基于Kafka的崩溃容错共识协议,能够实现快速有效的交易共识。另外,超级账本支持多种常规编程语言智能合约,如Go、Node.js和Java等。这也意味着在超级账本区块链上部署的智能合约,理论上能够支持任何功能,使超级账本在支撑商业应用时不会受限于编程实现问题。

为了解耦功能,提升扩展性,Fabric中设计了两种类型的节点:排序节点(Orderer)和对等节点(Peer)。排序节点负责对交易按照规则进行排序并生成区块,可由多个排序节点组成排序集群。排序节点间的共识可采用PBFT(实用拜占庭容错)算法[16]或基于Kafka[17]的崩溃容错算法等。对等节点负责验证和同步数据,执行智能合约(Fabric中又称为链码)等功能。根据节点功能的不同,对等节点又可以分为背书节点、记账节点、主节点、锚节点等,节点身份可基于特定规则切换。功能松耦合、实现模块化保证Fabric网络具有良好的扩展性。

2.1.2 Fabric-CA简介

超级账本区块链网络属于许可链类型,当新用户需要接入网络时,需要从专门的机构获取合法证书,Fabric-CA[18]用于实现这一机构的所有功能。Fabric-CA由服务器(fabric-ca-server)和客户端(fabric-ca-client)组件组成。它提供3个功能:一是注册新用户身份,注册结果将作为用户证书申请的凭据;二是签发证书,即为合法的注册票据生成证书;三是证书更新或撤销,当Fabric网络中的用户信息更新时,这一功能将更新对应用户的证书信息。

Fabric-CA架构如图1所示,新用户可通过独立的Fabric-CA客户端或集成该客户端的SDK程序与Fabric-CA服务端交互,其中所有通信都通过REST API进行。

2.1.3 超级账本交易流程

典型的超级账本Fabric交易流程如图2所示。用户在加入超级账本网络之前,可以向Fabric-CA注册并获取合法的证书,之后即可使用该证书通过命令行或Fabric-SDK与区块链网络交互。超级账本支持多通道机制,每个通道维护着一个独立的区块链账本,区块根据通道ID进行分发,通道间数据完全隔离。用户在发起交易时需指定通道ID(图2中的Channel 1或Channel 2),并将交易提案发送给背书节点,背书节点处理请求后,向客户端返回签名后的背书响应(图2中1.)。随后客户端组合来自不同背书节点的背书响应并将最终交易内容发送至排序服务集群进行处理(图2中2.)。在排序完成后,排序节点将根据交易所述通道,将其分发至该通道中的所有主节点,由主节点进行组织内的区块同步。最终收到交易后,各节点验证交易内容和签名,并将合法的交易添加到区块链账本中。

图1 Fabric-CA架构

Figure 1 The framework of Fabric-CA

图2 Fabric交易流程

Figure 2 The transaction process of Fabric

2.2 属性基加密技术

属性基加密(ABE,attribute-based encryption)最早由Goyal等[19]在FIBE(fuzzy identity-based encryption)[20]的基础上提出,目的是解决云存储环境中数据的细粒度访问控制问题和大规模用户动态扩展问题[21]。ABE本质上属于非对称加密技术,但其采用一对多的加密方式。根据解密策略的位置不同,ABE可以分为密钥策略属性基加密(KP-ABE,key policy attribute-based encryption)[19]和密文策略属性基加密(CP-ABE,ciphertext policy attribute-based encryption)[22]。在KP-ABE中,密文的解密策略在密钥生成时被嵌入用户的私钥中,相关属性则在加密时被嵌入密文中,即访问策略与密钥相关联;在CP-ABE中,解密策略在加密时被嵌入密文中,而用户的属性则在密钥生成时被嵌入其私钥中,即访问策略与密文相关联。不论KP-ABE还是CP-ABE,用户都只能在私钥和密文中嵌入的属性集和访问控制策略完全匹配时,才能解密该密文[23]。由于访问控制策略与属性集可能存在一对多的关系,因此ABE技术自然地实现了加密访问控制功能。同时根据加密或密钥生成时所指定策略的严格程度,ABE方案可以灵活地选择密文访问控制机制的粒度。以CP-ABE方案为例,通常情况下包含以下4种算法。

考虑到本文方案的应用需求(即需要由上传数据的用户指定加密数据的用户访问控制列表),将解密策略嵌入密文中的方案CP-ABE更适合本文的应用需求。

3 方案设计

3.1 总体方案框架

针对第1节提出的区块链数据访问控制问题,本文提出了一种基于CP-ABE算法实现区块链数据访问控制的方案。通过:①修改原有的用户证书管理机构Fabric-CA,来实现CP-ABE方案初始化以及用户属性私钥的生成和分发;②将隐私数据通过CP-ABE方案加密上链,以实现隐私数据的加密访问控制机制。该方案主要由证书颁发机构Fabric-CA、区块链网络Fabric和客户端Client组成,总体方案框架如图3所示。

图3 总体方案框架

Figure 3 The framework of scheme

Fabric-CA部分:通过利用已有的超级账本Fabric-CA,该部分主要用于实现以下功能。

1) 用户证书管理:原有区块链网络的用户证书签发与吊销等操作。

2) CP-ABE系统初始化:主要包含公开参数和主密钥的生成。

3) 用户属性密钥SK生成与分发:为某一用户生成并分发特定包含该用户属性的密钥。

其中,用户证书管理为超级账本网络中原有的功能,目前方案中增加了CP-ABE系统初始化以及用户属性密钥生成与分发机制。

Fabric部分:该部分主要实现超级账本网络中原有的功能,包含交易背书、交易排序和交易验证及上链等。在本文方案的实现过程中,该部分主要是将待存储的密文通过背书、排序和节点验证进行上链操作,将密文在整个通道中进行分布式存储。

Client部分:在原有的超级账本网络中,该部分主要用于实现交易的发起以及用户的证书接收功能。本文方案在其原有功能之上增加了用户属性密钥SK接收和CP-ABE数据加解密功能。用户可通过Client与Fabric网络以及Fabric-CA进行交互操作。

3.2 CP-ABE属性集及策略定义

3.2.1 属性定义

CP-ABE方案中仅拥有满足策略属性的密钥才能对密文进行解密以获取明文数据。由2.1.3节可知,超级账本网络中可以包括多个通道(如Channel1、Channel2和Channel3等),且每个通道中将包含多个组织(如Org1、Org2和Org3等),每个组织中又将包含多个用户(如User1、User2和User3等)。作为超级账本区块链网络可划分的最小单位,用户是CP-ABE方案属性集中的最细粒度,其固有通道ID、组织ID和用户ID这3个属性,因此,本文将数据访问控制中属性定义的可选范围如表1所示。

表1 用户属性定义

3.2.2 访问控制策略定义

策略即属性组成的访问结构。由3.2.1节可知,本文将属性定义为通道ID、组织ID以及用户ID这3种,原则上在形成访问控制策略时,可以将这3种属性随意组合。例如,在实际的密文生成时,可以将策略P1定义为通道1组织1中的User1和通道2组织2中的全部用户都可以访问,P2定义为通道1组织1中的User1和通道1组织2中的全部用户都可以访问。通过将访问控制策略和密文相结合,就可以达到数据访问控制的目的。

由2.1.3节可知,超级账本网络的区块分发是按通道ID进行分发的,由于通道之间是相互隔离的,即数据区块只能被发往其中一个通道,通常不存在上链数据可以被多个通道同时访问的情况。因而,上述提及的策略P1在实际的访问控制中并不存在,即通道ID这一属性并不能直接简单地包含在访问控制策略中。但在不考虑通道ID属性作为访问策略的选择时,本文将策略定义为仅包含组织ID属性或用户ID属性中的一个或组合形式,如通道1中的某个密文指定策略P为(组织ID = Org2),一旦通道1组织2中的用户User1将获取到的密文泄露给通道2组织2中的User2,由于用户User2也包含属性Org2,因此User2可以成功解密该密文,从而造成数据泄露问题;再则,当数据拥有者想要使加密密文对Channel1中的全部用户都可解密时,在不考虑通道ID属性作为访问策略选择时,就需要通过定义多个组织进行与操作,即策略的逻辑相比直接定义策略P为(通道ID = Channel1)更加复杂。因此,为更准确地实现加密数据的数据访问控制,用户策略的指定需在通道层面就开始进行考虑。

为了将可用的访问控制策略更加全面化和具体化地进行展示,如图4所示,本文定义了3种通用策略:①特定通道内的所有用户均可解密;②特定通道内的特定组织中的所有用户均可解密;③特定通道内的特定组织中的特定用户可解密。

图4 用户通用策略

Figure 4 User common policy

通用策略1:通道ID=Channel*,即通道ID可以等于{ Channel* }集合中的任意通道,换言之,就是该通道下的所有用户都可对基于该策略加密的密文进行解密从而访问对应明文数据。

通用策略2:(通道ID=Channel1)&&(组织ID=Org*),即指定了通道ID此处只能为Channel1(但不限于Channel1,此处仅为具体示例),而组织ID可以在Channel1的组织集{ Org* }任意选择其中一个,此时该组织下的所有用户都可以对基于该策略加密的密文进行解密从而访问对应明文数据。

通用策略3:(通道ID=Channel1)&&(组织ID=Org1)&&(用户ID=User*),即指定了通道ID此处只能为Channel1,组织ID在此处仅对应Channel1中的Org1(不限于Org1,仅为示例),而用户ID可以在Channel1中的Org1中形成的用户集{ User* }任意选择。此时,Channel1中的Org1下的某个用户可对基于该策略进行加密的密文解密从而访问对应明文。

用户在将上链数据进行加密时策略指定可直接使用上述3种通用策略,仅需将模块中的对应字段改成用户想要指定的字段。除此之外,用户还可以通过将通用策略2和通用策略3进行组合,实现更细粒度的数据访问控制。

4 具体方案与评估

4.1 具体方案

表2 方案符号说明

图5 方案整体工作流程

Figure 5 Overall work flow of the scheme

4.2 安全性分析

(2)数据隐私性保证

数据所有者对明文数据进行CP-ABE方案加密进而上链,故在整个Fabric网络中仅对该数据密文可见。此外,如前所述,Fabric-CA完全可信,有关密钥产生对应阶段可信。数据所有者直接通过指定策略P对该数据的访问权限进行限制,仅包含满足策略P属性的用户才能对该数据进行解密进而访问,不满足该策略P对应的解密属性私钥无法解密该密文,进而保证了数据隐私性。

4.3 性能分析

本节主要针对方案的实现性能进行分析。实验环境使用Oracle VM VirtualBox 安装的Ubuntu16.04 LTS 虚拟机,并分配了4 GB内存和1个核心处理器。在对性能指标进行选择时,考虑到本文方案并未对原有超级账本网络的交易流程进行改动,只是将原来区块链网络中上链的明文数据替换成了经CP-ABE加密后的密文数据,这种改动对于底层的交易流程来说是透明的,不会影响到超级账本网络原本的运行效率。因此,只需针对CP-ABE方案的性能指标进行测量,本节主要对文献[22]实现的CP-ABE方案进行用户属性私钥生成时间和加解密时间的测量。

在本文设计的方案中,CP-ABE方案涉及的属性私钥最多包含3个属性:通道ID、组织ID以及用户ID。由文献[19]可知,私钥产生时间随包含属性个数的增加呈线性增长趋势,在本文方案中考虑属性最多为3个的前提下,经过测量得出私钥产生时间在0.031 5 s左右。同时考虑到在实际的超级账本交易过程中,单个区块最大能够容纳10 MB的数据,因此将实验中最大的数据大小设置为10 MB。由图6显示,随着需加解密数据大小的增加,对应的加解密时间都在以线性的趋势增加。在数据大小为最大即10 MB时,此时加密的时间在0.08 s左右,解密的时间在0.065 s左右。

图6 数据大小对加解密时间的影响

Figure 6 Impact of data size on encryption and decryption time

通过对用户属性私钥生成时间和需加解密数据大小对加解密时间的影响进行测量,发现这两个操作实现的时间都是在可接受的范围增量内,因此,在原有超级账本网络运行机制上实现的基于CP-ABE算法的区块链数据访问控制机制具有良好的可行性。

4.4 方案的对比分析

本节将提出的方案与目前已有的超级账本官方解决方案进行比较,分别从用户级访问控制粒度、数据隐私性、密钥安全分发以及加/解密密钥管理简易进行对比。其中,用户级访问控制粒度说明该方案是否支持对超级账本网络最细访问控制粒度即用户级别的访问控制功能;数据隐私性代表该方案是否对上链数据的隐私性进行保障;密钥安全分发说明该方案是否保证了密钥的安全分发特性;加/解密密钥管理简易性代表在保证加密密文安全性的前提下用户是否不需要管理维护多个加/解密密钥,即是否能够摆脱“一密一钥”的复杂操作。

表3 安全性和性能对比

注:“√”文献方案支持此特性,“×”文献方案不支持此特性,“—”表示文献方案中无相应的特性要求。

如表3所示,本文方案相比同类方案,不仅可以保证上链数据隐私性、支持基于用户级别的最细访问控制粒度,还在保证密钥安全分发的前提下简化了加/解密密钥的管理工作,因此更加适用于超级账本网络的上链数据访问控制实现。

5 结束语

本文分析了目前超级账本区块链网络中存在的数据明文存储以及数据访问控制机制粗粒度问题,提出了一种基于CP-ABE算法的区块链数据访问控制方案,实现了基于用户属性的细粒度访问控制目标。同时,为了解决密钥分发问题,本文基于超级账本区块链中原有的Fabric-CA模块,通过添加对CP-ABE算法密钥(包括系统初始化和用户属性私钥)的生成支持,进一步利用非对称加密算法实现了用户属性私钥的安全分发。最后,对本文所提方案的安全性分析验证了该方案的设计达到了用户属性私钥安全分发和数据隐私保护的安全性目标,实现了超级账本区块链网络中隐私数据的细粒度访问控制功能。性能分析部分也表明了本文方案的可用性。同时通过与已有类似方案进行对比,进一步说明了本文设计方案对超级账本网络的上链数据访问控制实现的适用性。

[1] ANDROULAKI E, BARGER A, BORTNIKOV V, et al. Hyperledger fabric: a distributed operating system for permissioned blockchains[C]//European Conference on Computer Systems, 2018 : 1-15.

[2] NAKAMOTO S. Bitcoin: a peer-to-peer electronic cash system[R]. 2008.

[3] WOOD G. Ethereum: a secure decentralised generalised transaction ledger[R]. 2014.

[4] 闫莺, 郑凯, 郭众鑫. 以太坊技术详解与实战[M]. 北京: 机械工业出版社, 2018.

YAN Y, ZHENG K, GUO Z X. Ethereum technical details and actual combat[M]. Beijing: China Machine Press, 2018.

[5] 陈剑雄, 张董朱. 深度探索区块链Hyperledger技术与应用[M]. 北京: 机械工业出版社, 2018 .

CHEN J X, ZHANG D Z. In-depth exploration of blockchain hyperledger technology and application[M]. BeiJing: China Machine Press, 2018.

[6] Channels. Hyperledger fabric channels[EB].

[7] Enccc_example. 2019 Hyperledger fabric enccc_example[EB].

[8] Private data. 2019 Hyperledger fabric private data[EB].

[9] 沈鑫, 裴庆祺, 刘雪峰. 区块链技术综述[J]. 网络与信息安全学报, 2016, 2(11): 11-20.

SHEN X, PEI Q Q, LIU X F. Survey of block chain[J].Chinese Journal of Network and Information Security, 2016, 2(11): 11-20.

[10] JAKOBSSON M, JUELS A. Proofs of work and bread pudding protocols. in secure information networks: communications and multimedia security[C]//IFIP TC6/TC11 Joint Working Conference on Communications and Multimedia Security (CMS '99).1999.

[11] VASIN P. Blackcoin’s proof-of-stake protocol v2[EB].

[12] KING S, NADAL S. PPCoin: peer-to-peer crypto-currency with proof-of-stake[J]. Self-published Paper, 2012(8): 19.

[13] YE C. Analysis of security in blockchain: case study in 51%-attack detecting[C]//2018 5th International Conference on Dependable Systems and Their Applications (DSA). 2018.

[14] 章峰, 史博轩, 蒋文保. 区块链关键技术及应用研究综述[J]. 网络与信息安全学报, 2018, 4(4): 26-33.

ZHANG F, SHI B X, JIANG W B. Review of key technology and its application of blockchain[J]. Chinese Journal of Network and Information Security, 2018, 4(4):26-33.

[15] 中国信息通信研究院. 区块链白皮书[R]. 2018.

China Academy of Information and Communication Technology. White paper of blockchain[R]. 2018.

[16] SUKHWANI H, MARTINEZ J M, CHANG X, et al. Performance modeling of PBFT consensus process for permissioned blockchain network (Hyperledger Fabric)[C]//Symposium on Reliable Distributed Systems. 2017: 253-255.

[17] KREPS J, NARKHEDE N, RAO J. Kafka: a distributed messaging system for log processing[C]//The NetDB. 2011 (11): 1-7.

[18] Certificate Authorities. 2019 Hyperledger fabric certificate authorities[EB].

[19] GOYAL V, PANDEY O, SAHAI A, et al. Attribute-based encryption for fine-grained access control of encrypted data[C]// Symposium on Computer and Communications Security. 2006: 89-98.

[20] BOLDYREVA A, GOYAL V, KUMAR V, et al. Identity-based encryption with efficient revocation[C]// Symposium on Computer and Communications Security. 2008: 417-426.

[21] 林素青. 支持访问更新的可验证外包属性加密方案[J]. 网络与信息安全学报, 2019, 5(1): 41-53.

LIN S Q. Verifiable outsourced attribute-based encryption with access update[J]. Chinese Journal of Network and Information Security, 2019, 5(1): 41-53.

[22] BETHENCOURT J, SAHAI A, WATERS B. Ciphertext-policy attribute-based encryption[C]//IEEE symposium on security and privacy (SP'07). 2007.

[23] 张兴兰, 崔遥. 基于群签名的属性加密方案[J]. 网络与信息安全学报, 2019, 5(1): 19-25.

ZHANG X L, CU Y. Attribute-based encryption schema with group signatures[J]. Chinese Journal of Network and Information Security, 2019, 5(1): 19-25.

Blockchain data access control scheme based on CP-ABE algorithm

QIU Yunxiang1, ZHANG Hongxia2, CAO Qi2, ZHANG Jiancong1, CHEN Xingshu2, JIN Hongjian2

1. Huaxin Consulting Co.,Ltd., Hangzhou 310000, China 2. College of Cybersecurity, Sichuan University,Chengdu 610065, China

Different from the public chain, the consortium blockchain Hyperledger Fabric integrates the additional member management service(MSP) mechanism to provide channel-based data isolation protection. However, the data isolation protection mechanism still synchronizes the plaintext data within a channel, so there is a risk of data leakage. Besides, the channel-based data access control mechanism does not apply to some fine-grained privacy protection scenarios. To solve the problems of data privacy and security involved in the consortium chain Hyperledger mentioned above, a blockchain data access control scheme based on the CP-ABE algorithm was proposed. Based on the original existing Fabric-CA module in the Hyperledger, our scheme can realize the secure distribution of user attribute keys in the CP-ABE scheme while implementing the fine-grained security access control of blockchain data at the user level. The security analysis shows that the scheme achieves the security goals of ABE user attribute private key security distribution and data privacy protection. The performance analysis also shows that the proposed scheme has good usability.

blockchain, Hyperledger, CP-ABE, data access control

TP309.2

A

10.11959/j.issn.2096−109x.2020037

2019−12−10;

2020−02−07

章建聪,zhangjc@hxdi.com

中央高校基本科研业务费基础研究基金(SCU2018D018,SCU2018D022,2019SCU12069)

The Fundamental Research Funds for the Central Universities (SCU2018D018, SCU2018D022, 2019SCU12069)

邱云翔, 张红霞, 曹琪, 等. 基于CP-ABE算法的区块链数据访问控制方案[J]. 网络与信息安全学报, 2020, 6(3): 88-98.

QIU Y X, ZHANG H X, CAO Q, et al. Blockchain data access control scheme based on CP-ABE algorithm[J]. Chinese Journal of Network and Information Security, 2020, 6(3): 88-98.

邱云翔(1988− ),男,贵州六枝人,硕士,华信咨询设计研究院有限公司工程师,主要研究方向为信息安全、数据安全。

张红霞(1996− ),女,河北邢台人,四川大学硕士生,主要研究方向为区块链安全及应用、网络行为分析。

曹琪(1996− ),女,四川广安人,四川大学硕士生,主要研究方向为区块链安全及应用、网络行为分析。

章建聪(1975− ),女,浙江金华人,硕士,华信咨询设计研究院有限公司高级工程师,主要研究方向为数据通信、信息安全。

陈兴蜀(1968−),女,贵州六枝人,博士,四川大学教授、博士生导师,主要研究方向为云计算与大数据安全、可信计算与信息保障。

金泓键(1996− ),男,重庆人,四川大学硕士生,主要研究方向为区块链安全及应用、大数据分析。

猜你喜欢
访问控制密文账本
一种跨策略域的林业资源访问控制模型设计
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
支持多跳的多策略属性基全同态短密文加密方案
大树爷爷的账本
密钥共享下跨用户密文数据去重挖掘方法*
数说:重庆70年“账本”展示
内外网隔离中ACL技术的运用
丢失的红色账本
云计算访问控制技术的运用及论述