Page 325 - 《软件学报》2021年第5期
P. 325
张建标 等:一种基于区块链的域间访问控制模型 1549
(3) 分布式.新型计算模式中,不同域间的资源共享和信息互访需求增多,但不同的域是相互独立的,各自
拥有自己的访问控制策略,一个域中的用户所具有的权限在另一个域中往往会失效.而传统访问控制
技术更多应用在封闭环境下,面对新型计算环境下分布式特点,传统访问控制技术无法支持各域统一
访问控制策略标准,并且若采用单一授权机构进行管理,海量用户和数据的频繁变动,会带来非常大
的管理以及运算负担.
[8]
由于具有以上特点,传统的访问控制技术难以满足新型计算环境对访问控制的需求 .因此,面对新型计算
环境,基于主体、资源、操作和环境所提出的基于属性的细粒度访问控制应运而生.
[9]
ABAC 将主体和客体的属性作为基本决策要素,使用属性或属性集合 [10] 来描述实体,基于属性的逻辑语
义描述访问控制策略,将策略管理和权限判定解耦.通过更加细粒度的属性或属性集合,从多个角度描述实体,
并加入了环境实体作为另一种约束,从而可以针对实际情况对策略进行更改 [11] ,具有相当程度的灵活性.
由于属性是实体固有的特性,通过实体属性发现机制,可以挖掘出独立、完备的实体属性集合,不需要事先
手动分配,根据请求者以及访问资源所需求的属性进行授权,使得 ABAC 管理相对简单;并且在 ABAC 模型中,
策略随用户和资源的增多呈线性增长 [12] ,面对海量的用户和数据,系统开销较小并且可以有效解决动态性问题;
同时,ABAC 所具有的细粒度性以及低复杂度且表达丰富的策略描述语言,可以使其恰当地应用在分布式环境
中,并具有良好的可扩展性,是一种理想的访问控制模型.因此,ABAC 已经发展成为国防和情报界以及政府在内
的许多机构的首选逻辑访问控制方法.
1.2 区块链相关技术
自中本聪 2008 年提出比特币 [13] 以来,区块链技术随着比特币等数字加密货币的兴起而引起各个行业的广
泛关注.由于区块链技术所具有的去中心化、时序数据、集体维护、可编程和安全可信等优势,在单链上的节
点间无须互相信任就可以实现基于去中心化信用的点对点交易,相互协调合作,数据共享,从而为解决中心化机
构所存在的不安全的数据存储提供了解决方案 [14] .区块链技术在本质上是一个状态机副本协议 [15,16] ,通过去中
心化、去信任的方式集体维护一个可靠数据库的技术方案 [17] .区块链数据不断增长,一经上链则无法修改或删
除.通过这样的方式增加被攻击难度,参与维护的各节点可以通过区块链网络同步链上的所有数据而成为全节
点.区块链的核心技术包括分布式账本技术、非对称加密算法以及智能合约等,具有去中心化共识机制、可追
溯性以及高度信任等特征.正是由于比特币拥有诸多这些其他技术不可比拟的优势,使得区块链技术在现在社
会系统中可以有着更加广泛的应用前景.
目前,随着区块链技术的发展,已经从区块链 1.0 比特币时代经过区块链 2.0 的智能合约时代发展到了如今
的区块链 3.0 时代 [18] .智能合约 [19] 在区块链中的应用,使得区块链技术不再局限于金融方面,而是扩展了区块链
的应用场景,进一步延伸到任何有需求的领域.智能合约本质上讲是由事件驱动的、具备状态的、部署于可共
享的分布式数据库上的计算机程序,这些自动化程序一旦部署,就能实现自我执行和自我验证.同时,区块链除
了公有链之外,私有链、联盟链逐渐成为当下研究热点,尤其是联盟链得到产学界的广泛关注.联盟链介于公有
链和私有链之间,具有弱中心化、交易效率高、成本低、具备一定程度的访问限制等特点,参与者通过授权加
入网络,参与维护联盟链的正常运行.相比公有链和私有链,联盟链具有更加广泛的应用场景和需求.
1.3 相关研究
近些年来,域间数据共享和访问控制在权限判定方面的研究大部分都侧重于集中式的权限判定,结构如图
1 所示,各域首先必须信任“中心化”第三方去执行授权操作.例如,江泽涛等人 [20] 提到的“异域控制模式”中,访问
控制决策需要由一个可信的第三方域执行;张帅等人 [21] 提出一种基于 RBAC 的跨多企业服务组合访问控制模
型,其中,用户需求经过中心引擎构建组合服务流程 CS 提交给各域后,会被“中心化”的面向服务授权框架中的
策略执行点(policy enforcement point,简称 PEP)截获后进行处理;Joshi 等人 [22] 针对松耦合的多域环境提出一种
“中心式”的扩展 RBAC 模型架构,通过中心化的“系统管理员”设置多域环境中的用户分配角色.虽然“中心化”
的访问控制可以有效地解决域间互操作的问题,但同样面临“中心化”所带来的安全风险,例如权限判定不透明、