APP下载

基于区块链和策略分级的访问控制模型

2022-04-29赵慧

计算机应用文摘 2022年23期
关键词:区块链

赵慧

关键词:区块链;策略分级;等级评估;访问控制模型

我国访问控制方法及技术在信息网络技术的支持下衍生出很多先进的访问控制模型,对信息安全管理等起到了积极作用。传统的访问控制方法主要包括自主访问控制(DAC)和强访问控制技术(MAC),这两种方法都需要在特定非开放环境中才能进行访问,所制定的访问控制策略粒度也比较粗放,无法满足数据共享要求。

DAC和MAC都存在很多不足,因此,很多访问控制技术人员都在不断优化、创新访问控制技术,而基于区块链、策略分级构建的访问控制模型BP-ABAC则能够弥补以上两种传统访问控制技术的不足,并根据自身属性、环境属性对用户进行动态授权,从而实现数据共享与访问控制。本文先简单概述了基于区块链和策略分级构建访问控制模型时需要预备的知识,然后分析了如何构建访问控制模型,最后分析其实验仿真及安全性。

1概述

1.1区块链系统

区块链技术具有很强的综合性及结构复杂性,对应的区块链系统由多个子系统组成,包括数据层子系统、网络层子系统、共识层子系统、激励层子系统、合约层子系统和应用层子系统。区块链技术不仅涉及P2P网络技术及密码学技术的应用,还涉及共识机制及智能合约等技术的应用,其中智能合约是策略分级的关键。

1.2策略分级

策略分级主要依靠“智能合约”来实现。智能合约实质上就是先将合约内容转变为数字,然后依照相关实现承诺、合约规定内容执行承诺的协议,最后进行策略分级。策略分级的前提和基础是构建区块链系统,利用区块链系统的分布式网络节点自动分级,并在满足合同协议条款及交易要求的前提下,由第三方信任平台监督用户。在策略分级中还需要注意安全自動化操作及相关条款的执行,必须按照智能合约将相关数据信息写入区块链中,最后结合区块链的共识算法构建状态机系统,为访问控制模型的构建奠定基础。

1.3访问控制模型(ABAC模型)

访问控制模型简称“ABAC模型”,不仅能够有效控制用户对资源的访问请求,还能够审核用户信息,确保信息安全。基于区块链及策略分级的访问控制模型具有很强的表达能力,而且表达聚合度高、灵活性高、可扩展性高。访问控制模型有主体、客体、操作、环境四大属性,其中主体和客体都可通过属性集表达,而属性集则通过对应的属性值表达。

2基于区块链和策略分级的访问控制模型设计

基于区块链和策略分级的访问控制模型简称“BP-ABAC模型”.具体设计及实现如下。

2.1BP.ABAC模型总体框架

BP-ABAC模型是在ABAC模型基础上结合区块链及智能合约技术设计而成,不仅能够对用户进行等级划分及策略分级,还能够对各种数据资源进行安全访问及有效控制。BP-ABAC模型在前期可根据属性收集和属性间关系描述、整合和管理区块链事,并发布、更新、执行、撤销访问控制策略。

BP-ABAC模型包括策略信息点、策略管理点、策略决策点、策略执行点四大功能模块,其中策略信息点功能模块可获取资源请求者实体属性机信息、资源实体属性及信息、资源发布者实体属性及信息,然后设置资源访问控制权限:策略管理点功能模块主要作用在于管理和维护资源拥有者发布的策略及整个策略集:策略决策点功能模块的主要作用在于根据用户等级确定相关访问权限,并根据用户实体属性集权限确定访问控制策略及系统授权决定:策略执行点功能模块的作用在于接收资源请求者访问请求、资源请求者决策等。

2.2BP-ABAC模型设计

其包括基于区块链的BP-ABAC智能合约设计及策略分级设计,具体如下。

2.2.1基于区块链的BP-ABAC智能合约设计

BP-ABAC智能合约系统不仅有合约参与者模块及合约事务集合模块,还有合约资源集合模块、自动状态机模块,其运行原理在于通过事件形式将数据信息描述出来,并发送到事件集合及处理系统中,最后将处理后的事件数据信息存到区块链系统指定的数据库中。不同模块的设计如下。

(1)合约参与者模块设计:可根据AddUser()函数及DeleteUser()函数进行设计,其中AddUser()函数可用来添加用户身份属性、用户信息,并保存到区块链上,以便于PIP合约对用户属性的调用;DeleteUser()函数可用来撤销用户访问控制权限、删除用户信息及用户属性。

(2)合约资源集合模块设计:可根据AddResource()函数及DeleteResource()函数进行设计,其中AddResource()函数可发送、共享数据,并设置访问控制权限、保存访问控制策略。DeleteResource()函数则能够控制、收回访问控制权限,并删除相关数据信息、撤销共享权限策略。

(3)自动状态机模块设计:可根据JudgeLevel()函数、PolicySet()函数进行设计,其中JudgeLevel()函数能判定资源请求者实体属性及用户等级,并查询、匹配相应等级的策略;PolicySet()函数则能够控制访问控制属性信息、调整访问控制策略等。

(4)合约事务集集合模块设计:可根据ComparePolicy()函数、GetPermission()函数、ExecuteRequest()函数进行设计,其中ComparePolicy()函数的作用是对比资源请求者、资源发布者访问控制策略的实体属性,然后判断性是否能获得访问控制权限;GetPermission()函数的作用是授予资源请求者的资源访问权限、交易权限等;ExecuteRequest()函数的作用在于执行访问操作。

2.2.2策略分级设计

每条策略对应的实体属性及可信值不同,访问请求、系统交互等都会影响可信值,出现恶意访问时策略可信值会降低,当可信值降低到一定数值时就会映射到不同可信等级,因此策略可信值成为了策略分级的主要依据。策略主体属性、客体属性集操作行为对应的环境安全关联度分别用R(s,e),R(o,e),R(a,e)表示,可根据关联度计算出策略初始可信值,并将策略可信值设为“CurrentT”。

策略可信值并不是一成不变的,会随着访问授权次数的增加而不断改变,发生变化前的可信值统称为“策略历史可信值”,发生变化后的可信值设为History:r,可通过以下公式计算:

最终可信值越高则可信等级越高,可信强度也就越强。

3仿真实验

为测试BP-ABAC模型的可行性、安全性及效率,本文选用XACML提供的标准策略测试包对BP-ABAC模型进行测试,并将BP-ABAC模型与传统访问控制的判决结果成功率作对比。对比结果显示,BP-ABAC模型和传统访问控制的判决结果成功率及准确率都在可控制范围内。

本文设计的BP-ABAC模型在准确率上略低于传统访问控制,还需要不断优化、调整。导致BP-ABAC模型准确率不如传统访问控制的主要原因有以下几点。首先,BP-ABAC模型的共识机制很容易受到外部因素影响,如外部信号干扰、共识系统技术缺陷等,都会威胁到共识机制的安全,虽然区块链本身的抗攻击性能够规避部分风险,但在实际运行中依然会遇到各种信息安全问题及恶意访问问题,如区块链在接收到攻击性或者恶意的访问时,就会在可信链与恶意节点处产生攻击链,从而威胁共识机制安全。其次,区块链系统中恶意节点的增加或者攻击链长度过长,都会直接威胁到区块链的安全,从而降低BP-ABAC模型的访问控制策略判决准确性。

另外,恶意节点与可信节点的区块差也直接影响BP-ABAC模型的策略判决成功率,以及BP-ABAC模型恶意节点与可信节点的区块差、区块成功率的关系。

区块差与BP-ABAC模型的区块篡改成功率呈正相关关系,即区块差越大,则篡改成功率越大,反之则越小。而区块篡改成功率与BP-ABAC模型的策略判决成功率呈正相关关系,所以区块差与BP-ABAC模型的策略判决成功率也呈正相关关系,这意味着区块差越大,则BP-ABAC模型的策略判决成功率越高。当区块差g≥0.5时,BP-ABAC模型的策略判决成功率超过90%,对应的区块篡改成功率为100%,此时的BP-ABAC模型安全性最高,很难被恶意区块链攻击;区块差q<0.5时,BP-ABAC模型的策略判决成功率、区块篡改成功率都呈逐渐下降的趋势且容易受到恶意区块链的攻击,所以必须将区块差控制在g≥0.5的范围,以帮助区块链在访问控制过程中取得良好的安全性。

4结束语

BP-ABAC模型是以ABAC模型为基础,然后基于区块链及策略分级构建而成的一种访问控制模型。该模型不仅在区块链的支持下去中心化,还具有不可篡改、摆脱传统第三方信任机制限制、访问控制可靠性高、安全性高等特点,实现了访问控制授权过程自动化。智能合约、用户等级评判和策略分级都能够保证资源请求者的合法性,还能够有效防止过度授权、越权访问等不良现象的发生,从而提高访问控制过程的安全,并实现数据共享。区块链及策略分级还能够增强访问控制模型的加密属性,对交易隐私数据、交易敏感数据、用户隐私信息等进行加密及保护,有效解决数据及信息隐私泄露等安全问题。所以,基于區块链及策略分级构建访问控制模型是非常必要和重要的,应引起重视及关注。本文基于对ABAC模型、区块链、智能合约及策略分级等的了解,分析了基于区块链及策略分级的访问控制模型,并通过实验仿真来检验模型。

猜你喜欢

区块链
区块链对互联网金融发展的重塑与挑战分析
基于区块链技术的海上散装液体化学品运输安全监管方法
保险企业的区块链技术应用方向选择研究
区块链技术在金融领域的应用与前景研究
区块链技术的应用价值分析
“区块链”发展现状评述及展望
“区块链”的苟且、诗和远方
基于区块链技术的数字货币与传统货币辨析
智能合约与金融合约
用“区块链”助推中企走出去