APP下载

基于区块链的煤矿安监云数据安全访问模型研究

2022-06-22谭靓洁李永飞吴琼

工矿自动化 2022年5期
关键词:访问控制层级区块

谭靓洁, 李永飞, 吴琼

(1.华北科技学院 安全工程学院,河北 三河 065201;2.华北科技学院 计算机学院,河北 三河 065201)

0 引言

煤矿安监数据涵盖范围广,包含煤矿基本信息、政策法规信息、监管监察信息等,具体涉及人事管理、事故管理、行政执法、应急避难、隐患报送等方面的业务数据。一般采用行业内部开发的云平台对该类数据进行管理和使用[1-3],以云存储作为数据存储手段。目前,在国家法律和行业标准层面,如《网络安全法》《数据安全法》《网络安全等级保护条例》《关键信息基础设施安全保护条例》等都对云数据安全保障提出了明确要求,建立了煤矿安监云数据分类分级保护制度[4]。煤矿安监信息涉及公民个人维度、公共管理维度、信息传播维度及行业领域维度,分类应依据数据自身的共享开放要求,分级则应根据用户层级划分。在分类分级层面加强煤矿安监云数据的安全保障,避免出现数据安全问题及后续带来的职责不清等问题[5],这既是云平台自身发展的客观要求,也是满足国家和行业监管的需要。因工作需要,各级工作人员需经常访问平台内煤矿安监云数据,执行对云数据的增加、修改、删除等行为,并基于平台云数据开展后续监管监察工作,存在数据泄露、篡改的风险,因此,需要对煤矿安监云数据的安全访问进行深入研究。

目前对煤矿安监云数据安全访问的研究主要集中在用户权限策略的安全存储和访问控制功能实现2个方面。刘敖迪等[6]综述了区块链在信息安全领域的研究进展,提出了一种基于区块链的分布式大数据访问控制机制(Blockchain-Based Access Control Mechanism for Big Data Environment,BBAC−BD),并验证了该机制的有效性。史锦山等[7]总结了去中心的区块链访问控制模型和有中心的区块链访问控制模型并分析了其性能优势。王秀利等[8]提出了应用区块链的数据访问控制与共享模型,利用属性基加密对企业数据进行访问控制与共享,达到了细粒度访问控制及安全共享的目的。付永贵等[9]将区块链用于数据库访问控制,通过对访问者身份、权限及行为的强化认证与监管,提高了数据库访问控制能力。上述基于区块链的数据访问控制研究为实现煤矿安监云数据安全访问提供了新的思路,但对于存放在云平台上的云数据访问控制安全性研究还不足:一方面,现有的访问控制方法对业务数据在管理和使用过程中的个性化安全需求考虑不足;另一方面,缺少针对数据安全管控维度的安监云数据分类分级策略。

针对上述问题,为满足煤矿安监云数据的安全保障需求,提出了一种基于区块链的煤矿安监云数据安全访问模型。通过对煤矿安监云数据属性和访问对象的分析,设计了基于用户层级和数据属性的访问权限模型,符合煤矿安监云数据在安全保障方面分类分级的需要;基于区块链工作原理设计了4层架构的访问控制模型,实现了基于用户权限的安全访问控制,并对存储在区块链上的权限信息增加隐私保护功能,进一步增强了煤矿安监云数据的安全性。

1 基于用户层级和数据属性的访问权限模型

受相关制度要求,煤矿安监云数据管控十分严格,访问权限的设计应满足分类分级和安全性方面的需求。数据访问者可以分为国家级、省级、市级、煤矿/个人4个层级,其中数据所有者和使用者分布在不同层级;从数据本身来看,涉及煤矿/个人的隐私信息、国家政策法规及决议决策信息等,种类繁杂且安全需求各不相同。因此,数据访问权限不能简单地用角色定义,也不能全部依赖规则来动态生成。本文从煤矿安监云数据自身属性入手,设计了基于用户层级和数据属性的访问权限模型。

1.1 数据访问属性分析

根据实际需求对数据的访问属性进行分析。首先根据数据所有者的身份及数据自身的共享和开放属性,划分细粒度权限;然后基于用户层级,梳理不同用户类别可以具备的细粒度权限;最后由不同细粒度权限集合构成各用户角色。其中用于权限设计的数据访问属性包括数据来源、数据所有者、用户层级、数据属性等,如图1所示。

图1 数据访问属性Fig.1 Data access attribute

(1) 数据来源为煤炭行业安全监管监察真实数据。

(2) 数据所有者分为应急管理部职能部门和资源提供方。应急管理部职能部门包括办公厅、安全监察司、政策法规司等;资源提供方包括办公厅、省级及以下应急管理机构、应急救援机构等。

(3) 用户层级包括国家级、省级、市级、煤矿/个人4个等级。依照归属部门和数据来源的要求,各层级用户的数据访问权限大小各不相同。

(4) 数据属性根据煤矿安监云数据实际情况进行细分,如图2所示。

图2 数据属性描述Fig.2 Data attribute description

根据煤矿安监云数据在共享和开放方面的要求,结合图2数据属性,划分出11种数据属性,见表1。

表1 煤矿安监云数据属性Table 1 Coal mine safty supervision cloud data attribute

1.2 数据访问对象分析

煤矿安监云数据包含具体字段、数据所有者及其他相关信息。由于结构复杂,数据量庞大,不便直接进行访问分析,所以要先根据数据属性对煤矿安监云数据进行分类分级,再研究云数据访问过程。

本文以煤矿安监云数据的11种数据属性作为条件,分别筛选出每种属性包含的数据字段名并进行4级分类:第 1级编号为 001−013,共 13组数据;第2级编号为001−042,共42组数据;第3级编号为001−059,共59组数据;第4级编号为001−317,共317组数据。权限管控粒度到第4级,即最小查询单位是第4级数据,待访问数据的查询编号由1−4级串联构成。每一条数据都有唯一编号,在查询数据时,根据编号即可准确对应到某一条或某一组数据。图3为“数据属性1:在任何条件下都不予共享且不向社会开放”包含的数据及数据所有者。该组数据在任何条件下都不予共享且不向社会开放,因此访问者只能是数据所有者。例如,当“事故调查司”用户查询第4级数据“行政复议申请书信息”时,云平台根据编号004039011094访问到一组具体数据并返回给“事故调查司”用户;当其查询第3级数据“行政执法应诉”时,根据编号004039013即可查询到。在煤矿安监云数据访问过程中,4级编号查询法相较于文字查询效率更高,比模糊查询法更准确,且增减数据字段时只需在当前级别进行添加、删除,避免了大范围变动。

图3 数据访问对象示例Fig.3 Data access object example

1.3 访问权限模型设计

访问权限模型根据用户层级和数据属性划分访问权限,访问权限生成规则见表2。首先根据11种数据属性划分细粒度权限;然后根据用户层级梳理细粒度权限,并进行勾选;最后结合以上2步结果构成用户角色。访问权限模型的用户角色根据用户层级和所要访问的数据属性共同决定,结合角色与权限对应及权限动态生成的设计理念,不同层级的用户在访问不同数据时权限不同,权限直观且易于管理,具有动态灵活的特点,适合煤矿安监云数据的安全访问需要。

表2 基于用户层级和数据属性的访问权限生成规则Table 2 Generation rules of access authority based on user hierarchy and data attributes

2 基于区块链的煤矿安监云数据访问控制模型

2.1 访问控制模型总体架构

由于煤炭行业的特殊性及相关云数据的机密性,基于区块链的煤矿安监云数据访问控制模型采用私有链结构或煤炭行业联盟链结构,防止无关用户或恶意用户未经许可注册访问。该模型分为数据层、职能层、合约层和应用交互层4层区块链架构,如图4所示。

图4 基于区块链的煤矿安监云数据访问控制模型架构Fig.4 Blockchain based cloud data access control model architecture for coal mine safety supervision

(1) 数据层:用于存储区块链结构和云数据。为了保障区块链运行效率和煤矿安监云数据安全,将权限信息上链存储,煤矿安监云数据采用链下存储方式,区块链上仅存储数据地址。

(2) 职能层:包括网络职能和共识职能。网络职能承担区块链网络中节点间的信息交换工作,包括点对点通信机制、广播机制和验证机制。共识职能采用权益证明机制对网络中节点进行一致性检验,并创建新的区块,以维持整个区块链的正常运转。

(3) 合约层:部署智能合约,实现访问控制功能。用户申请访问触发智能合约,合约自动执行调用数据层的属性信息,判断用户具有的权限和能访问的数据,从而控制用户的数据访问情况。

(4) 应用交互层:封装了区块链的应用场景,是存储区块链和用户之间的接口,即用户在应用交互层完成注册、登录、访问的活动。一般权限管理功能在应用交互层实现,但为了进一步保障权限信息的安全,在数据层存储权限信息,在合约层实现权限判别功能。

区块存储结构如图5所示,其中区块头包含版本号、前后区块哈希、时间戳、随机数、Merkle根等信息,用于确定区块位置及合法性。区块体用于存储具体数据,在本模型中数据包括权限信息及煤矿安监云数据地址信息。

图5 区块存储结构Fig.5 Block storage structure

2.2 基于区块链的权限访问控制

权限访问控制由区块链系统实现,其安全保障的核心是权限信息的安全管理,基于区块链的权限访问控制过程如图6所示。由于区块链上所有数据(包含智能合约代码及各种逻辑规则)公开透明,权限信息在存储时应注意隐私保护。当有节点扫描全部区块时,返回的权限信息应是进行加密或是匿名化处理过的密文信息。用户申请访问时,智能合约申请调用权限信息,进行解密或去匿名化操作,得到明文属性信息,并提取所需属性集合反馈给智能合约进行权限判别。

图6 基于区块链的权限访问控制过程Fig.6 Access authority control process based on blockchain

合约层主要依靠权限请求合约和权限判别合约2个智能合约实现权限请求及判别功能。

权限请求合约流程如图7所示,步骤如下:

图7 权限请求合约流程Fig.7 Flow of authority request contract

(1) 输入用户访问请求(包含用户角色及请求访问的数据),并对请求进行解析。

(2) 遍历权限存储区块,寻找权限属性集合。

(3) 判断区块头部Merkle根值和解析权限请求后的flag是否相等,当二者相等时,提取对应权限属性集合,否则重复步骤(2)和步骤(3)。

权限判别合约流程如图8所示,步骤如下:

图8 权限判别合约流程Fig.8 Flow of authority discrimination contract

(1) 输入权限请求合约中获取的权限属性集合。

(2) 对密文进行解密,得到明文的属性字符串。

(3) 将明文字符串按照“用户层级”“数据”“数据属性”进行分割。

(4) 按照访问权限生成规则,通过步骤(3)得到权限结果并返回,用于授权。

2.3 权限信息安全存储技术选择

基于应用背景及访问控制模型对于权限信息的存储需求,应选择具备匿名化、可逆及高实时性的技术对权限信息进行隐私保护。目前主要有3类隐私保护技术可用于权限信息安全存储,分别是基于对称加密的隐私保护技术、基于数据失真的隐私保护技术、基于可逆置换算法的隐私保护技术。3种隐私保护技术针对云数据权限访问控制在安全性、实时性2个方面的性能比较结果见表3。从表3可看出,基于对称加密的隐私保护技术在兼顾安全性和实时性需求的同时能够适用于区块链系统的数据通信,因此选择该技术实现权限信息安全存储。

表3 权限信息安全存储技术性能比较Table 3 Performance comparison of secure storage technology of authority information

3 对比分析

3.1 访问权限模型对比分析

为验证本文设计的基于用户层级和数据属性的访问权限模型的正确性,从模型特点、优劣势及与安监云数据是否适配3个方面将本文访问权限模型与目前应用最多的2种访问权限模型−基于角色的访问控制(Role-Based Access Control,RBAC)模型和基于属性的权限验证(Attribute-Based Access Control,ABAC)模型[10]进行对比,结果见表4。

表4 不同访问权限模型对比Table 4 Comparison of different access authority models

基于用户层级和数据属性的访问权限模型具有2个方面优势:① 将权限管理与煤矿安监云数据分类分级和安全需求挂钩,便于管理和应用。② 兼顾了基于角色和基于属性的访问权限模型的优点,同时避免了权限信息占用过多存储空间、权限变动受限及计算开销大等带来的不利影响。

3.2 访问控制模型安全特性对比分析

为验证本文依据区块链自身安全性构建的访问控制模型的优势,从访问控制的实现安全、权限管理及适用场景3个方面将本文访问控制模型与目前常用的基于第三方的访问控制模型进行对比,结果见表5。

表5 不同访问控制模型对比Table 5 Comparison of different access control models

从访问控制的实现安全方面来看,本文访问控制模型基于区块链自身安全性,安全性能够得到保障,基于区块链存储权限信息可防止非法篡改,对于链上的数据采取隐私保护机制可防止非法获取,而基于第三方的访问控制模型安全性和可靠性较低。从权限管理方面来看,本文访问控制模型权限信息存储在区块链上,采用隐私保护机制对权限进行保护,通过智能合约管理权限信息,保障了访问控制功能使用的安全;基于第三方的访问控制模型权限管理通过数据库完成,目前针对数据库的攻击层出不穷,权限信息安全难以保证。从适用场景来看,本文访问控制模型利用区块链技术可与众多技术结合,能够满足更多场景下的访问控制需求;基于第三方的访问控制模型要根据访问控制设计思路应用,特点鲜明的应用场景往往要进行功能定制,成本较高,应用范围较小。

4 结语

针对煤矿安监云数据的访问安全问题提出了一种基于区块链的安全访问模型,该模型包括访问权限模型和访问控制模型。基于用户层级和数据属性设计了访问权限模型,根据数据安全在分类分级方面的要求,为安监云数据划分访问权限,同一层级和同一数据属性分类下的数据拥有一类权限,实现了分类分级的安全管控;依据区块链分布式实现、全程透明、防篡改等优势构建了访问控制模型,实现了分布式访问控制,利用智能合约保障访问控制安全,采用加密技术增强对权限信息的安全保护。对比分析结果表明:与常用的RBAC模型和ABAC模型相比,基于用户层级和数据属性的访问权限模型实现了对煤矿安监云数据更细粒度的访问权限划分,用户权限直观,权限生成规则简单;与基于第三方的访问控制模型相比,基于区块链的访问控制模型利用智能合约进行访问控制,能够增强煤矿安监云数据的安全性,为云数据安全问题提供了新的解决思路。基于区块链的安全访问模型能够解决煤矿安监云数据在安全管控维度的分类分级不清晰及保密性不强等问题,提高了云数据的安全性。

猜你喜欢

访问控制层级区块
一种跨策略域的林业资源访问控制模型设计
科室层级护理质量控制网的实施与探讨
军工企业不同层级知识管理研究实践
区块链:一个改变未来的幽灵
基于军事力量层级划分的军力对比评估
区块链:主要角色和衍生应用
《红楼梦》的数字化述评——兼及区块链的启示
职务职级并行后,科员可以努力到哪个层级
内外网隔离中ACL技术的运用
一场区块链引发的全民狂欢