老哥学习网 - www.lg9.cn 2024年05月15日 06:00 星期三
当前位置 首页 >公文范文 > 公文大全 >

基于区块链的能源数据共享访问控制方案

发布时间:2023-07-03 21:25:02 浏览数:

余 晗 李俊妮 刘文思 宣东海

(国家电网有限公司大数据中心 北京 100052)

随着能源领域的快速发展,能源数据量日益增多,成为不可或缺的基础性战略资源.但是出于对数据本身安全的保障考虑,各企业部门单独管理各自的能源数据,难以实现对内对外数据共享.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所示:

表1 区块链技术在访问控制的应用概述

针对现有的能源访问控制方案存在的中心化、访问透明度低等问题,本文提出了一种基于区块链和分级的能源数据访问控制方案.该方案的创新点主要包括3个方面:

1) 提出一种基于属性的访问控制模型及与区块链相结合的访问控制方法.采用ABAC授权模型实现零信任动态访问控制的核心逻辑[15-16],利用智能合约使得访问控制自动化、判决过程透明化,便于对全流程进行监督管控.

2) 对能源数据分级.根据能源数据的重要性,对能源数据进行等级划分.等级越高数据的隐私程度越高,对共享的对象要求越高,所需要的策略属性描述越多,针对此设计相应的访问控制策略.

3) 利用Hyperledger Fabric2.4平台实现基于区块链的能源数据共享访问控制方案,利用Hyperledger caliper工具对其进行性能测试,实验结果表明该方案具有较为稳定的性能.

本文在基于属性的访问控制模型的基础上,对能源数据根据其隐私重要程度进行更细粒度的分级,从而设计更加灵活的访问控制策略.利用区块链智能合约技术保证访问控制过程的自动化、去中心化等,从而实现能源数据的可控共享.

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

本节主要介绍基于区块链的能源数据共享模型,实现不同能源企业公司的数据共享,如图1所示,共享过程中主要的访问控制判决在区块链上完成.基于区块链的能源数据共享模型分为2个阶段:能源数据存储阶段和能源数据共享阶段.

图1 能源数据共享模型

模型主要有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所示,数据请求者拥有信任等级,只有当信任等级高于安全等级的前提下才可以进行完全访问[19].如果等级相同,根据主体属性的不同,授予不同的访问权限,若信任等级低于安全等级,则拒绝授权.在匹配访问策略时,首先比较信任等级与安全等级,可以降低访问策略的匹配时间.

表3 信任等级与数据安全等级的关系[19]

本节主要介绍在访问控制过程中3个重要的合约,分别为访问控制策略管理合约、访问控制属性管理合约以及访问控制判定合约.

2.1 访问控制策略管理合约

访问控制策略管理合约主要管理区块链上的访问策略集合.通过该合约,将数据请求者DR访问请求相关的策略发送给访问控制策略决策点PDP,为访问控制策略判决提供策略依据.合约中的功能主要包括:添加策略功能AddPolicy()、查询策略功能QueryPolicy()、删除策略功能DeletePolicy()、更新策略功能UpdatePolicy().这些功能可以有效地帮助数据拥有者DO管理区块链上的访问控制策略.访问控制策略管理合约中属性请求查询功能,详见算法1所示:

算法1.访问控制策略管理合约.

输入:属性访问请求AAR、区块链Blocks;

输出:能源资源数据访问控制集合SET.

①Attributetuple←Readparse(AAR);

② forblock=1 toBlocks.lengthdo

③ forj=1 topolicyblock.lengthdo

④ ifAttributetuple.OA==OAttribute

then

⑤SET.add(policyblock.transaction.

policy);

⑥ end if

⑦ end for

⑧ end for

⑨ returnSET.

算法流程描述:

1) 输入为基于属性的访问控制AAR.

2) 通过函数Readparse解析AAR中的属性元组Attributetuple.

3) 遍历区块链中的策略事务,查找与请求资源Attributetuple.OA相关的访问控制策略,存入到能源资源数据访问控制集合SET中.

2.2 访问控制属性管理合约

属性管理合约主要提供属性信息的查询服务,接收属性请求,遍历区块链上的属性事务,获取相关的主体、客体、环境的属性信息,返回属性集合给判决点,为决策提供属性依据.

属性与属性关系如表4所示,主体属性如属性ID、姓名、角色,客体属性如属性ID、文件名称等信息.属性关系如主体ID与姓名的关系等.

表4 属性与属性关系

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.访问控制判定合约.

输入:属性访问请求AAR、区块链Blocks、能源资源数据策略Policy;

输出:访问控制判定结果permit,deny,unknown.

①SET←QueryPolicy(AAR,Blocks);

②Attributetuple←Readparse(AAR);

③ functionCOMPAREATTR(Policy)

④ ifAttributetuple.levelSA≥

Policy.levelOAthen

⑤ ifPolicy.SA⊆Attributetuple.SA

andPolicy.OA⊆Attributetuple.OAandPolicy.EA⊆Attributetuple.EA

andPolicy.PA⊆Attributetuple.PA

andScopeofconformancethen

⑥ returnPolicy.result;

⑦ else

⑧ ifPolicy.SA⊆Attributetuple.SA

andPolicy.OA⊆Attributetuple.OA

andPolicy.EA⊆Attributetuple.EA

andPolicy.PA⊆Attributetuple.PA

andRangeofnonconformitythen

⑨ return unsuccessful;

⑩ else

算法流程为:

1) 通过函数Readparse解析AAR,得到属性集合Attributetuple;

2) 比较Attributetuple中的主体属性等级levelSA与能源资源数据策略Policy中的客体属性等级levelOA,若主体属性等级小于客体属性等级,则直接判定为deny,结束判定;

3) 若主体属性等级大于等于客体属性等级,继续判定Attributetuple4类属性与策略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形式描述如下:

{″AS″:{″userId″:″s001″,″role″:″employee″,″company″:″A″},

″AO″:{″data″:″1234″,″level″:″1_1″},″AP″:{″action″:″R″},

″AE″:{″starttime″:1671261974,″endTime″:2671261974}}.

在智能合约中通过time.Now().Unix()设置时间戳timestamp记录总秒数,在数据请求者发起请求时会有此刻的时间戳,在访问控制合约中进行策略判定,比较当前时间戳与访问策略中的结束时间,若大于结束时间则显示endorsement failed,由此实现具有时间约束的访问控制.

为了探究访问控制策略数量与时延的关系,首先选取访问控制策略管理合约中的函数AddPolicy()为测试内容,在访问控制策略分别取50,100,200,400,600,800,1 000条构成7组测试集样本,在节点客户端的连接数设置为10的前提下,记录整体交易时延.由图2所示,随着访问控制策略数量的增加,交易时延随之增加.

图2 策略数量与时延的关系

图3 访问请求数量与时延关系

为了探究数据请求者的访问请求数量与交易时延的关系,实验设计了在不同的访问请求规模下的访问时延.首先从访问请求中分别取50,100,200,400,600,800,1 000条访问控制请求构成7组测试集样本,保证在相同的属性数量以及访问控制策略的基础上记录交易时延.如图3所示,随着访问控制请求数量的增加,交易时延随之增加.

图4 安全级别与时延关系

针对能源数据共享过程中存在的中心化、访问透明度等问题,本文提出了一种基于属性的访问控制和区块链的能源数据共享模型,利用区块链智能合约保证能源数据共享访问控制的自动化判决,提高了能源共享访问控制的隐私安全和可靠性.在采用基于属性的访问控制的基础上,将能源数据按照其重要性进行分级,设计访问策略中包含能源数据的安全等级,实现更细粒度的访问控制.

猜你喜欢请求者访问控制合约基于D2D 多播通信的合作内容下载机制通信学报(2020年11期)2020-12-10群智感知中基于云辅助的隐私信息保护机制计算机工程与设计(2020年5期)2020-05-23汉语自然会话中请求行为的序列结构山西大学学报(哲学社会科学版)(2018年3期)2018-05-18ONVIF的全新主张:一致性及最访问控制的Profile A中国公共安全(2017年11期)2017-02-06基于差值诱导的Web服务评价可信度的评估电信科学(2016年8期)2016-12-01动态自适应访问控制模型通信学报(2016年11期)2016-08-16浅析云计算环境下等级保护访问控制测评技术现代工业经济和信息化(2016年19期)2016-05-17大数据平台访问控制方法的设计与实现信息安全研究(2016年10期)2016-02-28合约必守,谁能例外!——对“情势变更”制度不可寄于过高期望中国工程咨询(2011年4期)2011-02-14

推荐访问:区块 访问控制 能源

相关文章:

Top