基于区块链的访问控制技术探索
2020-06-15王栋张云龙马斌
王栋 张云龙 马斌
摘要:访问控制系统是计算机科学领域里对系统资源访问的规范化控制的一种机制。现存的访问控制系统面临着许多问题,如:需要第三方验证,隐私保护差,低效率等。访问控制的这些问题可以通过近年来备受关注的区块链解决。本文首先概述了当前访问控制系统的现状和问题,然后简要介绍了区块链技术的特性。最后研究基于区块链技术对访问控制的改进。
Abstract: Access control system is a mechanism of standardized access control to system resources in the field of Computer Science. The existing access control system faces many problems,such as the need for third-party authentication, poor privacy protection, low efficiency, and so on. These problems of access control can be solved by blockchain, which has attracted much attention in recent years. This paper firstly summarizes the current situation and problems of access control system, and then briefly introduces the characteristics of blockchain technology. Finally, the improvement of access control based on blockchain technology is studied.
关键词:访问控制;区块链;隐私保护
Key words: access control;blockchain;privacy protection
中图分类号:TP309;TP391.44 文献标识码:A 文章编号:1006-4311(2020)14-0227-02
0 引言
比特币为代表的数字货币近年持续火热,其价格由最初的0.25美分涨至几千美元一枚。人们在关注比特币的同时对实现比特币的区块链技术投来了越来越多的目光。近年来区块链技术因其良好的隐私保护、去中心化、抗抵赖等特性从最初金融领域的应用开始转向政务、供应链、专利、物联网等领域[1]。目前對系统资源访问控制主要存在通过中心化的第三方进行认证,其认证效率低下、隐私保护弱、系统健壮性差。因此急需一种新型访问控制技术对资源进行更好的保护。
1 访问控制简介
访问控制是对信息资源进行保护的重要措施之一。它主要通过对访问行为的主体进行授权来控制主体对客体即资源的可操作属性。一般情况下访问控制模型由主体、客体(资源)、权限构成。主体可以是用户或程序、权限就是对资源的操作、资源就是信息系统中的网络、数据。访问控制主要目的是保护信息或网络资源不被非授权的进行访问[2]。
传统上广泛使用的访问控制策略为自主访问控制、强制访问控制、角色访问控制三种[3]。自主访问控制就是对资源具有读写权限的主体可以将权限授权给其他主体。因为权限的可传递性其安全性较差。强制访问控制即所有的权限集中管理,不存在授权给其他主体问题。权限集中管理实现复杂,管理难度大。
近年传统访问控制技术也通过吸收新的IT技术进行改进,提出了一些新的模型,如:基于属性的访问控制模型、基于任务的访问控制模型、基于信用度的访问控制模型等。这些模型存在如下问题:若中心系统不可用,则整个访问控制系统不可用;若中心系统数据泄露,则所有用户信息泄露;若恶意用户伪造身份,中心系统无法进行鉴别。
2 区块链技术
2.1 区块链的概念
区块链技术是一系列IT技术的有机组合。按照工信部的《区块链技术和应用发展白皮书2016》的解释为:区块链是一种按照时间顺序将数据区块以顺序相联的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。账本即按照一定的格式记录流水等交易信息[4]。
区块链的数据结构如下描述:区块是链式结构的基本数据单元,聚合了所有交易相关信息,主要包括区块头和区块体两部分。区块头由父区块哈希值、时间戳、默克尔树根等信息组成。区块体一般包含一串交易的列表。每个区块中的区块头保存的父区块的哈希值唯一确定了该区块的父区块,从而构成连接关系,形成区块链。
区块链使用到的关键技术有:哈希运算、数字签名、共识算法、智能合约、P2P网络等。区块链通过哈希运算用来构建区块链的链式结构,实现防篡改:即通过哈希运算构建默克尔树,实现内容改变的快速检测。数字签名在区块链中验证收到消息的完整性和消息发送者身份的合法性。共识算法用来保证所有节点都记录一分相同的正确数据。智能合约确保去中心化的区块链各节点有统一的触发逻辑。
2.2 区块链的特性
根据区块链的技术特点和实现原理可知区块链技术是已有多种技术的集成创新,主要用于实现多方信任和高效协同[5]。区块链系统具有透明可信、防篡改可追溯、隐私安全保障、系统高可靠四大特点。
区块链系统中因为其去中心化的设计,网络中所有节点均是对等节点,发送和接收消息平等。系统中的每个节点都可以完整的观察其他节点的全部行为,并将观察到的这些行为在各个节点记录,从而实现信息透明。
防篡改指交易一旦在全网范围内经过验证并添加至区块链,就很难被修改或者抹除。这是因为区块链使用的共识算法保证了一旦写入就很难篡改,若攻击者强制篡改则需要控制整个系统超过51%的节点。可追溯性是指区块链上的任意交易都是有完整记录可追溯的。
隐私安全保障是区块链中的任意节点都包含了完整的校验逻辑,所以任意节点都不需要依赖其他节点完成交易的确认过程。因此节点之间不需要公开身份。
区块链系统的高可靠性体现在每个节点都参与系统共识并维护账本,某一节点出错不影响整个系统。区块链系统因使用P2P网络通信,不受节点数量限制和某一链路故障导致的通信问题。
2.3 区块链应用价值
区块链提供一种在不可信环境中,进行信息与价值交换的机制。目前区块链正往这几个方向发展:第一,行业应用加速。区块链正在金融、医疗、物联网身份认证和供应链领域应用。第二,区块链成为一种市场工具,减少中间环节降低流通成本。第三,区块链有望推进计算机底层通信协议的发展,让数据记录、传播、存储模式进行转变。第四,区块链与云计算结合紧密,有望成为公信基础设施[6]。
3 区块链在访问控制中的应用
传统的访问控制系统存在中心化系统缺点,用户的角色和访问控制信息存在于中心节点上,中心节点对用户的隐私缺少保护,系统的健壮性较弱,如果用户较多并且同一时间对资源的访问量较多,则易发生负载过大,响应迟缓等故障。传统的访问控制系统也无法对恶意伪装用户进行鉴别,对系统资源保护能力较差。针对传统访问控制的缺点,基于区块链技术的访问控制技术通过去中心化、全员参与、操作可追溯、抗抵赖、高可靠性等特点,可以有效的对资源进行访问控制保护,确保用户的隐私不泄露,提升訪问控制效率。
3.1 基于区块链访问控制模型
通过分析区块链技术的实现原理可设计基于区块链访问控制的模型,该模型中区块链节点为访问控制的主体,客体为存有大量客体的服务器,作为单独的节点存在。角色存在于各节点的区块链中,发生访问时,服务器只需要验证发起访问区块链的角色属性即可。这一模型去除了第三方的授权系统,主体隐私得以保护。该模型如图1所示。
图1中NODE0节点为资源节点,NODE1到NODEn为主体节点,若要发起访问,可根据智能合约定义阈值,每个主体节点的角色值在某区间则对应对资源的某种权限。当新的客体出现时则按照区块链原理计算并纳入链中。若需要修改权限,管理人员根据规则让某节点进行角色值的增加,增加后按照区块链规则进行全节点的通信记账。
当客体资源允许某个主体访问时,可利用该主体节点按照区块链传输要求进行非对称加密,即公钥加密、私钥解密。在整个链上的传输过程中,只有授权访问节点可以通过自己的私钥进行数据解密,其他节点即使获取到数据也无法得知信息内容。当某个节点根据智能合约取得资源的访问权限之后,通过此加密传输方法可以保证资源的安全保密,也可以防止获取资源节点非法的将资源转移给第三方。
3.2 基于区块链访问控制优点
由于基于区块链的访问控制优势如下:
①去中心化的结构可以增强每个访问主体的隐私性,通过秘钥公钥对进行加密传输,被访问端只可验证访问的合法性不能知道具体的访问者身份。
②访问控制成本的降低:由于去掉了第三方授权中心,每个节点只需要在本地运行程序即可实现访问控制,因此硬件成本大大降低。
③访问控制效率增强:由于通过P2P网络进行传输,主体节点任一损坏不影响整个系统;主体直接和资源进行通信,免去第三方判定,提高了访问控制效率。
4 结论
访问控制是计算机科学重要的安全技术之一,是信息安全防御体系的重要组成部分。由于区块链技术对于目前面临的隐私保护、抗抵赖、可追溯性有较强优势,用以访问控制可以去除传统方式存在的依赖第三方、效率低下、安全性差等问题。如何利用区块链技术提高信息安全是将来IT行业的一个热点研究方向。
参考文献:
[1]中国工信部.中国区块链技术和应用发展白皮书[OL].中国区块链技术和产业发展论坛,2016,10.
[2]李昊,张敏,冯登国.大数据访问控制研究[J].计算机学报, 2017(1):72-91.
[3]ZHANG Y, WU X.Access Control in Internet of Things:ASurvey [J]. 2016.
[4]华为区块链技术开发团队.区块链技术及应用[M].北京:清华大学出版社,2019,3.
[5]METTLER M. Blockchain technology in healthcare: The revolution starts here. proceedings of the IEEE International Conference on E-Health Networking, Applications and Services, F,2016[C].
[6]马昂,潘晓,吴雷,郭景峰,黄倩文.区块链技术基础及应用研究综述[J].信息安全研究,2017,3(11):968-980.