查看原文
其他

深度长文 | 基于区块链的能源数据共享访问控制方案

The following article is from 信息安全研究 Author 余晗,等

摘要


针对传统的能源数据共享模型中存在的能源企业部门间访问控制中心化、访问透明度低和效率低等问题,本文提出一种基于区块链的能源数据共享访问控制方案。

首先,设计了基于区块链和能源数据分级的访问控制模型,以零信任的“永不信任,始终验证”为原则,将区块链与基于属性的访问控制(attribute based access control, ABAC)相结合,利用区块链智能合约保证访问控制自动可信的判决,利用ABAC实现以属性为决定因素的细粒度访问控制;

其次,对能源数据进行分级,体现其资源的隐私程度,设计相应的访问控制策略.实验结果表明,该方案能够保证在大规模访问控制策略下,能源数据实现可控共享。

目录

1.基于区块链和能源分级的访问控制模型

  1.1基于区块链的能源数据共享模型

   1.1.1能源数据存储

   1.1.2能源数据共享

  1.2能源数据分级方案

2.访问控制智能合约设计

   2.1访问控制策略管理合约

   2.2访问控制属性管理合约

   2.3访问控制判定合约

3.实验结果及分析

4.结束语


正文

随着能源领域的快速发展,能源数据量日益增多,成为不可或缺的基础性战略资源.但是出于对数据本身安全的保障考虑,各企业部门单独管理各自的能源数据,难以实现对内对外数据共享.2020年9月5日,习近平总书记首次提及“双碳”目标[1].2022年3月22日,国家发展改革委、国家能源局印发了《“十四五”现代能源体系规划》[2].由此可见,能源数据的存储和共享关乎着规划的进行与目标的实现,是打破数据共享安全壁垒至关重要的一步.访问控制技术是保护数据安全、可控共享的有效手段.通过对资源数据设定访问控制策略达到控制特定用户访问资源数据的目的,有效地阻止非授权用户对数据的访问.传统的访问控制技术有自主访问(discretionary access control, DAC)和强制访问(mandatory access control, MAC)2种:DAC[3]可以使资源拥有者灵活自主地选定访问资源的用户,对于不在指定资源列表中的用户不允许访问,但DAC授予资源拥有者权限过大,自主性强,存在很大的安全隐患;MAC[4]是由授权机构根据主体和客体的固定属性决定一个主体是否可以访问某个客体,而且对应权限不能被用户修改,虽然MAC安全性较高,但是灵活性低.基于角色的访问控制(role based access control, RBAC)[5]在安全性和灵活性上是上述两者的折中.RBAC将角色和权限相对应,用户被划分到不同的角色中,从而实现对访问权限的控制,但是依然不能实现对单一用户访问资源的灵活管理.随着多域网络环境下的信息交流与共享逐渐增多,传统访问控制中的身份、角色无法满足访问控制细粒度的要求.基于属性的访问控制(attribute based access control, ABAC)[6]的提出有效地解决了上述问题.ABAC以属性信息为关键因素,贯穿于整个访问控制过程,增强了访问控制策略的表达能力.ABAC将策略管理和权限判决分离,依据属性设计访问控制策略,根据主体和资源的权限控制系统内的允许或禁止行为,可以实现多对多的细粒度访问控制.但基于访问控制技术的能源数据共享仍然面临着数据不可信、隐私泄露和中心化等问题.区块链具有的高度可信、不可篡改、可追溯等特点为能源数据共享提供技术架构,解决了访问控制系统中用户之间的信任问题,为数据共享带来了更高的安全级别.区块链智能合约技术有助于数据访问控制可信、自动地执行,提高了流程的效率和可靠性.除此之外,区块链的防篡改和可追溯功能有助于实现访问控制的可追溯性和数据审计,从而实现更可靠和可控的数据共享.目前,结合区块链技术的访问控制系统研究集中呈现在特定的应用背景下,例如医疗保健、物联网和云联合等.Wang等人[7]研究了去中心化存储系统的数据存储和共享方案,并提出了一个结合去中心存储系统、以太坊区块链和属性基加密技术的框架,该方案在实现对数据细粒度访问控制的同时,实现了去中心化存储系统密文中的关键字搜索功能.Jemel等人[8]提出了一种新的适时访问控制模型,应用的是去中心化的访问控制机制,并且基于密文策略属性加密(ciphertext policy attribute based encryption, CP ABE)为文件共享添加了时间维度约束.Guo等人[9]提出了一种采用区块链和边缘节点对电子健康记录数据进行访问控制的混合架构,其中区块链充当防篡改验证组件,用于验证身份和访问控制策略.Zhang等人[10]提出了一种支持灵活查询的细粒度访问授权体系结构,该体系结构提供了不同粒度级别的安全授权及一个功能强大的基础设施,减少了所需的计算时间.为了保护物联网系统中用户的隐私,Dukkipati等人[11]将系统策略存储在链外,这样成本更低.Ding等人[12]则专注于简化访问控制协议,并且其适用于计算能力和能源有限的物联网设备.Alansari等人[13]提出了结合区块链的基于属性的访问控制系统,该系统使用户的属性对联邦组织完全保密,还采用了可信硬件技术来保证策略执行过程的完整性.Maesa等人[14]在以太坊上建立访问控制系统,以保证访问控制策略评估的可审计性,关键思想是将基于属性的访问控制策略编码为智能合约,并将其部署在区块链上,从而将策略评估过程转化为完全分布式的智能合约执行.区块链技术在访问控制的应用概述如表1所示:针对现有的能源访问控制方案存在的中心化、访问透明度低等问题,本文提出了一种基于区块链和分级的能源数据访问控制方案.该方案的创新点主要包括3个方面:1) 提出一种基于属性的访问控制模型及与区块链相结合的访问控制方法.采用ABAC授权模型实现零信任动态访问控制的核心逻辑[15-16],利用智能合约使得访问控制自动化、判决过程透明化,便于对全流程进行监督管控.2) 对能源数据分级.根据能源数据的重要性,对能源数据进行等级划分.等级越高数据的隐私程度越高,对共享的对象要求越高,所需要的策略属性描述越多,针对此设计相应的访问控制策略.3) 利用Hyperledger Fabric2.4平台实现基于区块链的能源数据共享访问控制方案,利用Hyperledger caliper工具对其进行性能测试,实验结果表明该方案具有较为稳定的性能.基于区块链和能源分级的访问控制模型
本文在基于属性的访问控制模型的基础上,对能源数据根据其隐私重要程度进行更细粒度的分级,从而设计更加灵活的访问控制策略.利用区块链智能合约技术保证访问控制过程的自动化、去中心化等,从而实现能源数据的可控共享.
1.1基于区块链的能源数据共享模型本节主要介绍基于区块链的能源数据共享模型,实现不同能源企业公司的数据共享,如图1所示,共享过程中主要的访问控制判决在区块链上完成.基于区块链的能源数据共享模型分为2个阶段:能源数据存储阶段和能源数据共享阶段.模型主要有5个主体:可信授权中心(trusted authorization center)、云存储器(cloud storage)、区块链(blockchain)、数据拥有者(data owner, DO)、数据请求者(data requester, DR).1) 可信授权中心是一个完全受信任的中心,用于生成系统用户的公钥、私钥,并颁发数字证书.2) 云存储器用于存储加密后的能源资源数据,返回加密数据在云存储器中的位置信息.3) 区块链[17]中各节点由多家能源公司企业构成.在区块链中,能源资源数据与访问控制策略以事务的形式存储在区块链中.根据能源数据共享的应用场景选取联盟链,实现能源数据共享访问控制,与公有链不同,联盟链只限在联盟中的组织才有权限进行访问,用户加入联盟链前需要进行注册,注册成功后才能加入联盟链中,有效地加强监管能力.4) 数据拥有者可以与其他用户共享能源资源数据,为其设计相应的访问控制策略并上链.将能源资源数据密文存入到云存储器,将云存储器的存储位置等信息存储至区块链.5) 数据请求者请求能源资源数据,获得相应授权,根据响应结果获得元数据,其中包括在云存储器中能源资源数据的存储位置、数据哈希等信息.1.1.1能源数据存储数据拥有者(DO)根据能源数据的重要程度设计相应的访问控制策略,发起新增访问控制策略交易,将包含访问控制策略的区块上链,利用策略管理PAP合约对其进行管理,为数据共享访问控制提供策略依据.使用DO公钥PKDO加密能源资源数据得到密文CPKDO,将密文存入云存储器,返回云存储器的存储位置等信息(元数据).1.1.2能源数据共享如图1所示,数据请求者(DR)向区块链提交访问请求,访问控制判定合约接收访问请求NAR,向访问控制属性管理合约请求主体属性、客体属性、环境属性和操作属性信息,对NAR进行补全;属性管理合约根据检索到的属性信息,构建基于属性的访问请求AAR;判定合约向访问控制策略管理合约发送策略查询服务,根据 AAR 中的客体属性,遍历区块链查找与客体属性相关的策略,形成访问控制集合返回结果;判定合约根据 AAR 中的属性对返回的访问控制集合进行比较评估,返回判决结果;最后数据请求者根据响应结果获得元数据.数据请求者DR获得元数据后,可得到密文在云存储器中的位置信息以及密文的哈希值,获得密文以及哈希值后,对比可知数据是否被篡改.1.2能源数据分级方案由于能源大数据存在数据量大、多源等特点,需要对能源数据本身划分更细粒度的等级.根据数据的重要程度,为能源数据划分相应的安全等级.定义1. 能源数据安全等级表示为
数据拥有者定义能源数据的安全等级.定义2. 信任等级表示为数据请求者拥有信任等级,本节定义信任等级总共有3个等级,即n=3.如表2所示,总共定义了3个能源数据等级.最低等级的数据本节定义为等级的数据为公开数据,全员可看,隐私程度最低,只需要较少的属性描述便可满足访问控制要求,可以有效降低访问时延.随着安全等级递增,能源数据的隐私程度越高,定义为等级和定义为等级的数据虽都同属于2等级的数据,但是又细分了子等级,等级比等级的数据隐私程度较低,对于信任等级为2等级的数据请求者可访问,但不同属性对应可访问数据等级的权限有所不同.高隐私数据对于共享的主体要求更高,需要更多的属性信息来增强访问控制的强度[18]. 
如表3所示,数据请求者拥有信任等级,只有当信任等级高于安全等级的前提下才可以进行完全访问[19].如果等级相同,根据主体属性的不同,授予不同的访问权限,若信任等级低于安全等级,则拒绝授权.在匹配访问策略时,首先比较信任等级与安全等级,可以降低访问策略的匹配时间.根据表3信任等级与安全等级的关系,举例说明表3信任等级与数据安全等级的关系,若有2名用户,每个用户拥有不同的信任等级,访问不同安全等级的数据.例如用户1的信任等级为,访问安全等级为数据1,判断用户1的信任等级大于等于数据1的安全等级,可以访问数据.例如用户2的信任等级为,访问安全等级为数据2,用户2的信任等级小于数据2的安全等级,则拒绝访问,不授予权限. 访问控制智能合约设计本节主要介绍在访问控制过程中3个重要的合约,分别为访问控制策略管理合约、访问控制属性管理合约以及访问控制判定合约.2.1访问控制策略管理合约访问控制策略管理合约主要管理区块链上的访问策略集合.通过该合约,将数据请求者DR访问请求相关的策略发送给访问控制策略决策点PDP,为访问控制策略判决提供策略依据.合约中的功能主要包括:添加策略功能AddPolicy( )、查询策略功能QueryPolicy( )、删除策略功能DeletePolicy( )、更新策略功能UpdatePolicy().这些功能可以有效地帮助数据拥有者DO管理区块链上的访问控制策略.访问控制策略管理合约中属性请求查询功能,详见算法1所示:算法1. 访问控制策略管理合约.
算法流程描述:1) 输入为基于属性的访问控制AAR.2) 通过函数Readparse解析AAR中的属性元组Attributetuple.3) 遍历区块链中的策略事务,查找与请求资源Attributetuple.OA相关的访问控制策略,存入到能源资源数据访问控制集合SET中.2.2访问控制属性管理合约属性管理合约主要提供属性信息的查询服务,接收属性请求,遍历区块链上的属性事务,获取相关的主体、客体、环境的属性信息,返回属性集合给判决点,为决策提供属性依据.属性与属性关系如表4所示,主体属性如属性ID、姓名、角色,客体属性如属性ID、文件名称等信息.属性关系如主体ID与姓名的关系等.2.3访问控制判定合约访问控制判定合约主要对所请求资源的相关策略进行属性匹配,判定属性是否满足策略要求,最后为其进行授权.在对能源数据分级的基础上,比较数据请求者的信任值与所请求的能源数据的等级,如果大于等于则继续进行其余主体属性、环境属性以及操作属性的比较,否则直接终止判定.如果AAR中所有属性都满足策略中的属性,则判定结果一般有2种:一种为permit允许访问,另一种为deny禁止访问.如果不满足则会出现2种情况:第1种是AAR中的属性缺少,导致无法判决,返回unknown;第2种是遍历结束之后,未有1条策略满足,则返回unsuccessful.判定函数具体如算法2所示,主要功能为:策略集合SET中的每条策略Policy与AAR中各属性进行匹配,返回判定结果.其中,Policy与AAR中的{SA,OA,EA,PA}代表策略中的4类属性,分别为主体属性、客体属性、环境属性以及操作属性.具体的判定过程为:1) 若Policy中的属性{SA,OA,EA,PA}不完全包含在AAR的属性{SA,OA,EA,PA}中,则判定结果为unknown.2) 若Policy中的属性{SA,OA,EA,PA}包含在AAR的属性{SA,OA,EA,PA}中,但AAR中存在1个属性的范围不满足Policy中的属性范围,则判定结果为unsuccessful.3) 若Policy中的属性{SA,OA,EA,PA}包含在AAR的属性{SA,OA,EA,PA}中,并且AAR中所有属性的属性值都满足Policy中的属性值,则返回结果为permit或者deny.算法2. 访问控制判定合约.算法流程为:1) 通过函数Readparse解析AAR,得到属性集合Attributetuple2) 比较Attributetuple中的主体属性等级levelSA与能源资源数据策略Policy中的客体属性等级levelOA,若主体属性等级小于客体属性等级,则直接判定为deny,结束判定;3) 若主体属性等级大于等于客体属性等级,继续判定Attributetuple 4类属性与策略Policy中的4类属性是否匹配,并且比较Attributetuple每个属性的范围是否满足Policy中各个属性的范围,若满足则返回策略结果,结果内容为Policy.result={permit,deny}; 4) 在第3)步满足等级以及属性匹配的前提下,若属性范围不满足,则返回unsuccessful结果;5) 在第3)步满足等级的前提下,若属性没有匹配成功,则返回unknown结果.
实验结果及分析
本文实验设计采用Hyperledger Fabric2.4构建区块链平台,利用Ubuntu 22.04构建Linux实验环境,编程语言环境包括Golang 1.18.1版本以及Node.js 12.22.9版本,前期工作安装有npm 8.5.1版本和Docker 20.10.20以及Docker compose.利用Fabric caliper工具进行性能测试,生成相关结果,其中包括交易成功率、每秒交易次数、交易结算耗时以及所有操作的资源消耗(如CPU和内存)等.Hyperledger Fabric区块链在1台主机上运行,模拟多机环境,建立了有5个orderer排序节点,2个组织org1和org2,每个组织各有2个节点peer1和peer2,位于同一个通道mychannel内,建立4个couchdb数据库节点.leveldb是默认的键值对状态数据库,couchdb可以替代leveldb数据库,不仅可以实现键值查询,还支持复杂查询.能源数据拥有者为其数据设计访问控制策略时,在环境属性中可以设置此策略的起始时间(start time)及结束时间(end time),利用访问控制策略管理合约中函数AddPolicy( )增加访问控制策略.访问策略以JSON形式描述如下:在智能合约中通过time.Now( ).Unix( )设置时间戳timestamp记录总秒数,在数据请求者发起请求时会有此刻的时间戳,在访问控制合约中进行策略判定,比较当前时间戳与访问策略中的结束时间,若大于结束时间则显示endorsement failed,由此实现具有时间约束的访问控制.
为了探究访问控制策略数量与时延的关系,首先选取访问控制策略管理合约中的函数AddPolicy( )为测试内容,在访问控制策略分别取50,100,200,400,600,800,1000条构成7组测试集样本,在节点客户端的连接数设置为10的前提下,记录整体交易时延.由图2所示,随着访问控制策略数量的增加,交易时延随之增加.为了探究数据请求者的访问请求数量与交易时延的关系,实验设计了在不同的访问请求规模下的访问时延.首先从访问请求中分别取50,100,200,400,600,800,1000条访问控制请求构成7组测试集样本,保证在相同的属性数量以及访问控制策略的基础上记录交易时延.如图3所示,随着访问控制请求数量的增加,交易时延随之增加.能源数据中不同安全级别的数据,根据其隐私重要程度所带有的属性数量有所不同,随着能源数据安全等级的提高,属性数量也随之增加.如图4所示,随着数据安全等级的提高,访问控制时延也随之增加,的能源数据的访问时延明显低于能源数据的访问时延,由于的能源数据属性数量大致相同,所以访问时延大致相同.
结束语针对能源数据共享过程中存在的中心化、访问透明度等问题,本文提出了一种基于属性的访问控制和区块链的能源数据共享模型,利用区块链智能合约保证能源数据共享访问控制的自动化判决,提高了能源共享访问控制的隐私安全和可靠性.在采用基于属性的访问控制的基础上,将能源数据按照其重要性进行分级,设计访问策略中包含能源数据的安全等级,实现更细粒度的访问控制.(本文为《信息安全研究》2023年第3期“新型电力系统数据安全与隐私保护”专题责任编委老师推荐论文)作者简介:余晗,硕士,工程师.主要研究方向为区块链、能源互联网、大数据.李俊妮,硕士,经济师.主要研究方向为能源大数据、大数据标准、大数据管理.刘文思,硕士,高级工程师.主要研究方向为能源大数据技术及应用.宣东海,博士,高级工程师.主要研究方向为能源大数据技术.论文引用:

【参考文献】

[1]孙宝东, 张军, 韩一杰, 等. “双碳”目标下统筹能源安全与低碳转型的我国能源系统演化趋势与路径研究[J]. 中国煤炭, 2022, 48(10): 1-15[2]童光毅. 基于双碳目标的智慧能源体系构建[J]. 智慧电力, 2021, 49(5): 1-6[3]Khan M F F, Sakamura K. Finegrained access control to medical records in digital healthcare enterprises[C]//Proc of Int Symp on Networks, Computers and Communications(ISNCC). 2015: 1-6[4]Guo J K, Johnson S, Braun D, et al. Applicability of low watermark mandatory access control security in Linux based advanced networked consumer electronics[C]//Proc of IEEE Consumer Communications and Networking Conf. Piscataway, NJ: IEEE, 2004: 29-33[5]周鑫, 潘理. 一种基于RBAC的多域间角色映射机制[J]. 信息安全与通信保密, 2012 (5): 7880, 83[6]Yuan E, Tong J. Attributed based access control (ABAC) for Web services[C]//Proc of IEEE Int Conf on Web Services. Piscataway, NJ: IEEE, 2005: 561-569[7]Wang S, Zhang Y, Zhang Y. A blockchain based framework for data sharing with fine grained access control in decentralized storage systems[J]. IEEE Access, 2018, 6: 38437-38450[8]Jemel M, Serhrouchni A. Decentralized access control mechanism with temporal dimension based on blockchain[C]//Proc of IEEE Int Conf on Ebusiness Engineering. Piscataway, NJ: IEEE, 2017: 177-182[9]Guo H, Li W, Nejad M, et al. Access control for electronic health records with hybrid blockchainedge architecture[C]//Proc of the 2nd IEEE Int Conf on Blockchain. Piscataway, NJ: IEEE, 2019: 44-51[10]Zhang X, Poslad S. Blockchain support for flexible queries with granular access control to electronic medical records (EMR)[C]//Proc of IEEE Int Conf on Communications. Piscataway, NJ: IEEE, 2018: 16[11]Dukkipati C, Zhang Y. Decentralized, blockchain based access control framework for the heterogeneous Internet of things[C]//Proc of the 3rd ACM Workshop. New York: ACM, 2018: 61-69[12]Ding S, Cao J, Li C, et al. A novel attributebased access control scheme using blockchain for IoT[J]. IEEE Access, 2019, 7: 38431-38441[13]Alansari S, Paci F, Sassone V. A distributed access control system for cloud federations[C]//Proc of IEEE Int Conf on Distributed Computing Systems. Piscataway, NJ: IEEE, 2017: 2131-2136[14]Maesa D, Mori P, Ricci L. A blockchain based approach for the definition of auditable access control systems[J]. Computers and Security, 2019, 84: 93-119[15]刘涛, 马越, 姜和芳, 等. 基于零信任的电网安全防护架构研究[J]. 电力信息与通信技术, 2021, 19(7): 25-32[16]吴克河, 程瑞, 姜啸晨, 等. 基于SDP的电力物联网安全防护方案[J]. 信息网络安全, 2022, 22(2): 32-38[17]王静宇, 杨力. 基于区块链和策略分级的访问控制模型[J].计算机工程与设计, 2022, 43(5): 1232-1239[18]刘炜, 盛朝阳, 佘维, 等. 基于智能合约的分类分级属性访问控制方法[J]. 计算机应用研究, 2022, 39(5): 1313-1318[19]秦益飞, 张英涛, 张晓东. 零信任落地路径研究[J]. 信息安全与通信保密, 2021 (1): 8491



END
热门文章:




隐私计算头条周刊(4.10-4.16)


数据最高管理部门——国家数据局成立!


和文心一言聊一聊隐私计算,对比ChatGPT!


隐私计算领域大咖推荐,这些国内外导师值得关注


招标 | 近期隐私计算项目招标中标34(上海农商银行、广州大学、富滇银行、山东大学)

继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存