基于区块链的物联网访问控制简化模型构建
2017-12-13梅颖
梅颖
(中国传媒大学计算机学院,北京 100024)
基于区块链的物联网访问控制简化模型构建
梅颖
(中国传媒大学计算机学院,北京 100024)
物联网由大多数资源受限的设备组成,具有分散化的拓扑结构,传统的集中式访问控制模型在物联网中面临巨大的挑战。新兴的区块链技术具有和物联网相似的分散化拓扑结构,具有去信任中心、防篡改等特性。结合区块链技术的优势提出了一个简化的访问控制模型,在所提出的模型中,访问策略发布在公共可见的区块链上,使得任何用户在任何时间都知道当前谁对资源具有何种访问权限。还可以通过区块链交易实现对访问权限管理。该模型具有匿名性、抗DDOS攻击和防止欺诈性拒绝访问等安全特性。
物联网;访问控制;区块链;安全性
1 引言
在不久的将来,物联网有望渗透到现实世界的各个方面,包括家庭和城市空间。然而,在当前的集中式模型中,访问控制在物联网中面临巨大挑战。物联网设备需通过服务器进行识别、认证和连接,即使有的设备之间只有几英尺的距离,也必须通过服务器进行连接。访问控制机制用于管理物联网中资源,实现对资源的可控使用,主体对资源的使用权限通过访问控制策略来表示,当主体请求访问某个资源时,会根据当时的访问环境和访问控制策略进行
评估,以判断其是否具有对该资源的访问权限。
在集中式物联网模型中,有许多传统的访问控制模型被引入。例如基于角色的访问控制(RBAC)模型[1],在该模型中,根据从物理对象的环境中收集的特征和信息将权限分配给角色,但是其在能力受限设备中的可行性尚未得到证实。基于能力的访问控制模型(CapBAC)[2],它可以在资源受限的设备上直接实现,该模型属于完全分布式的安全方法,但是其控制粒度是粗粒度的,而且不是用户驱动的。Seitz等提出了另一个通用的物联网授权框架[3],它支持对具有低功耗和内存资源的任何对象进行细粒度和灵活的访问控制,但它引入了可信第三方作为处理访问控制逻辑的授权引擎。
这些典型的安全和访问控制标准是建立在引入集中式可信实体的信任概念的基础上的,为每个访问请求包含一个中心实体显然损害了端到端的安全属性。另外,具有大量设备的物联网的动态性质会使中心实体的信任管理复杂化,从而影响可扩展性。
针对上述访问控制模型在物联网应用中存在的问题,我们认为分布式物联网的概念是一种有希望的方法,随着设备自身计算能力的增加,有更多机会给设备自身带来智能,特别是安全和访问控制逻辑方面。实际上,利用这种边缘智能原理,用户能对他们生产的数据的粒度具有更细的控制。但是,作为这种方法的副作用,最终用户不应该是使用安全机制的专家[4]。一个简单的错误或错误配置可能会导致他们隐私的巨大破坏。主要是在分散化的方式下的访问控制必须足够用于普通人。因此,我们认为物联网需要一种适合其分布式性质的新的访问控制框架,用户可以控制自己的隐私,而不是由中央管理机构控制。
近年来,随着比特币的出现和发展,支撑比特币的区块链技术也得到了广泛应用。区块链技术是第一个在没有任何信任中介的干预下,在存在有恶意节点的分布式匿名参与者中成功达成共识的技术。由于它和物联网有着相似的拓扑结构,区块链技术最近常被用于物联网以提供安全和隐私保护。本文将利用区块链技术构建一个新的分布式物联网访问控制简化模型,以克服集中式访问控制模型存在的问题。
2 区块链技术
2.1 区块链工作原理
区块链是一个分布式的数据结构,它可以在网络成员间复制和共享。它是比特币底层支撑技术,有效地解决了双花问题[5]。我们可以把区块链想象成一个日志,记录被成批地存放在带时间标记的数据块中,每一个数据块使用它的密码哈希进行标识,每个数据块引用其前面产生的数据块的哈希值,这样就创建了一个数据块的链条,我们称之为区块链(图1)。区块链中每个数据块都包含一列交易和一个前一区块的哈希值(有个例外,区块链的第一个区块中不包含这个哈希值,我们称之为创世块)。网络中的任何节点都可以访问这个有序的、向后链接的数据块列表,读取网络交易数据并计算出网络中所有交易的状态[6]。
图1 区块链数据结构
在区块链网络中,所有节点形成了一个点对点通信网络,通过复制每个节点在同一个区块链上进行操作。其工作过程如下:
(1)用户通过一对公钥/私钥对和区块链进行交互[7],公钥作为他们的网络地址,每产生一笔交易,就会用其私钥对交易进行签名,并向它的下一跳节点进行广播。采用公钥密码可以给网络带来认证、完整性、不可抵赖性等特性。
(2)邻居节点收到交易消息后首先验证消息的有效性,如果有效就会继续向其下一跳节点转发,如果无效则直接丢弃。最终,这些有效的交易将会传播到整个网络。
(3)在一定的时间间隔内交易会被网络收集和验证,并排序打包成一个带有时间标记的候选块,这个过程称之为挖矿。根据网络采用的共识机制,获胜矿工节点会将其候选块广播到网络。
(4)网络节点验证矿工提交的候选块,看块中是否包含有效的交易以及是否通过哈希引用到其链中早先产生的块,如果验证通过则将该块加入到其区块链中,否则丢弃之。这标志着这轮循环结束。
以上是一个不断重复的过程,每一个规
定的时间间隔都会重复一次。当网络中的每个节点都遵从上述步骤,则他们所操作的共享的区块链就会成为一个已验证的具有时间标记的网络活动记录[8]。
2.2 分布式共识机制
网络节点需要就新挖出的区块里所包含交易的正确性以及他们的顺序达成一致,否则节点的区块链副本可能不一致,最终导致区块链出现分叉。从而无法保证全网络的节点对网络交易维持一个权威的唯一的时序表。为了解决这个问题,就需要一个分布式的共识机制。
在理想的场景下,所有的验证节点就下一个区块中所包含交易的顺序进行投票,投票将遵从大多数的决定。然而在一个任何人都可以加入的开放的网络环境下,这将是一个灾难,因为极容易遭受女巫攻击[9]:一个单个的实体可以以多个身份加入网络,从而获得多个投票权,导致少数的实体可能获得网络控制权。
比特币通过挖矿计算的昂贵代价来解决这个问题,单个的实体伪装成多个身份无法使其获得更多的投票权,因为每个单个实体的计算资源都是有限的。而且每个节点都有其自己的候选块,如果它能找到一个正确的随机数(nonce),将它置于候选区块的头部就可以使得该头部的SHA-256哈希值是以约定数量的0开头[10],任何节点都可以参与解决这个难题的竞赛,生成所谓的工作量证明(proof-of-work,POW),第一个解决难题的节点就可以向网络提交候选块。因为采用的是单向密码哈希函数,网络节点都能够很容易地验证给出的答案是否满足要求,如果答案正确就将该区块加入其区块链中。
当两个节点几乎同时挖出候选块并传播到网络中,网络就会出现分叉。但是这种分叉通常可以在下一块中自动地解决,因为工作量证明机制要求节点应该采用最长的分叉,而且两个竞争的分叉同时又生成下一块是不可能的,无论哪个分叉最先变长都将会被网络节点作为正确的分叉而采用。这样又使得网络达成正确事件顺序的共识。
3 基于区块链的物联网访问控制模型
区块链技术需要计算和带宽要求高、网络延时大,这些都不适合于物联网设备,导致了区块链技术无法在物联网中直接被使用。但是区块链以下一些特性非常适合解决物联网的安全问题:(1)去中心化:没有中心控制,而是通过所有参与节点共同保证可扩展性和健壮性,消除了多对一的通信流,因而减少了延时并消除了单点失败。(2)匿名性:区块链内在的匿名性非常适合于大多数的物联网用例,实现对用户身份的保密。(3)安全性:区块链能在不可信节点之间实现了一个安全网络,这非常适合于由大量的、异质的设备构成的物联网环境。在我们提出的方案中,将充分利用区块链的最重要的安全优势,基于[4]中提出方法进行了简化,构建一个轻量级的访问控制简化模型。
3.1 体系结构
在我们的方案中,利用区块链技术将表示主体对资源的访问权限的策略存储在区块链上,并通过区块链交易对这些策略进行管理。访问权限由资源所有者通过策略创建交易定义并发布在区块链上,因此,任何用户可以在任何时间检查谁当前持有对某个资源执行何种操作的权限。方案中主要活动者包括:资源所有者(用RO表示,一个资源所有者可以管理多个设备)、访问主体(用RS表示,可以是用户,也可以是设备)。资源所有者对他的所有资源(用R表示)的访问进行控制,负责创建、更新、撤销他们的访问权限。主体对资源执行相关操作的权限由各自的访问策略表示。
访问控制策略存储在区块链上,利用区块链的脚本来保存访问控制策略并控制其执行。所有设备和设备所有者(具有更强的计算能力和存储的设备)相连接,由设备所有者为其注册并对其进行访问控制。所有的设备所有者通过P2P网络连接在一起,通过共识机制共同维护网络的安全和稳定。物联网基于区块链的访问控制体系结构见图2。
图2 基于区块链的访问控制模型体系结构
3.2 主要工作流程
在物联网基于区块链的访问控制模型中,每个新加入的设备必须通过其所有者注册,公开发布到区块链上。当一个主体在区块链上找到想要访问的资源即可向其所有者发送访问请求,资源所有者检查请求者的访问要求创建访问策略并发布到区块链上。此时,请求者才具有了相应的访问权限,请求者可以通过自己的私钥获取访问通行证,即可携带访问通行证向资源所有者发起访问请求。资源所有者验证通行证并与预定义的策略进行评估,然后决定请求是否被接受或拒绝。具体流程如图3所示:
图3 主要工作流程
该模型主要包括如下四个主要流程:(1)新资源注册;(2)策略创建;(3)请求访问;(4)策略更新。下面我们将分别从这四个方面进行描述。
(1)新资源注册
当一个新的设备(用A表示)加入到网络,其首先要和其所有者连接(见图3过程1),设备所有者为其生成一密钥对(skA,pkA),公钥pkA作为其在区块链上的地址,并对设备的一些参数进行描述,并用其私钥ROsk进行签名,创建一个注册交易。当注册交易创建完成后,就被广播到区块链网络中。交易被矿工节点验证后被加入到区块链中(见图3过程2),对所有用户公开可见,用户可以在区块链上查找到相关的设备。
(2)策略创建
当一个主体B要访问某个受保护资源A时,首先得获得相应的访问权限。它将通过其所有者(见图3过程3)将目标资源地址和相应的操作发送给资源A的所有者(见图3过程4),后者将为其创建相应的访问策略(用Policy表示),并将定义的访问策略以锁定脚本的形式封装在交易的输出中,输出地址为请求主体的公钥,生成策略创建交易并广播到网络中。网络验证节点验证有效后将其加入到区块链中(见图3过程5),从而完成对主体访问的授权。策略创建过程如下:
a)资源所有者A根据访问主体要访问的资源对象和请求执行的操作,创建访问控制策略Policy,访问策略可用标准的标记语言XACML(eXtensibleAccessControlMarkupLanguage)表示;
b)资源所有者A将创建的策略Policy用脚本语言封装到脚本中,用请求者公钥锁定;
c)资源所有者A为该访问生成一个随机挑战nonce,并将他和访问主体的公钥一起用资源的公钥加密,并用访问主体的公钥加密后写入到交易的脚本中,作为资源访问的通行证;
d)资源所有者A生成一个策略创建交易,并广播到网络中。
(3)请求访问
当主体B请求某个资源A已授权的服务时,他首先查找区块链是否存在该授权交易(见图3过程6,7)),如果存在则创建一个请求访问交易,交易的输入为在策略创建交易中创建的未消费输出UTXO,并广播到网络中,经验证有效后加入到区块链中。请求交易生成过程中,请求主体B会通过区块链钱包从交易输入中解密出资源A的所有者在创建访问策略时生成的访问通行证(用资源公钥加密的nonce和访问主体公钥);
获取访问通行证以后,访问主体B可以直接携带访问通行证访问资源A的所有者,资源A的所以者对访问通行证和访问权限进行审查,如果审查过程通过则放行,否则拒绝(见图3过程8)。权限审查具体过程如下:
a)用该资源的私钥对访问通行证进行解密,得到nonce和访问主体的公钥,验证nonce的正确性及其签名;
b)验证通过后,资源所有者根据访问主体的公钥提取出相应的授权策略,根据策略对访问主体的操作要求和资源当前的环境进行评估;
c)如果所有的条件都通过了评估则放行,否则拒绝。
(4)策略更新
资源所有者任何时候都可以撤销或者更新授予某个请求者的权限,他只需要简单地发布一个策略创建交易,在交易中锁定脚本中写入一个新的权限集合,当权限集合为空时,表示撤销其所有权限。因为交易在区块链中是以时间顺序记录的,所以该撤销交易可以覆盖所有前面针对该主体和资源的授权交易。
4 安全性分析
我们提出的模型通过利用区块链技术的去信任中心、分布式、不可篡改等特性,能有效地解决传统集中式模型中存在的安全问题。主要具有如下安全特性:
(1)匿名性
该模型中,所有资源的访问权限都由资源所有这自主管控,资源和访问主体都可以根据需要生成公私钥对,在区块链上他们以公钥作为地址进行通信,资源的实际地址都以加密的方式存储在区块链的输出脚本中,只有具有对应私钥的主体才可以解密出来。因而,该模型具有一定的匿名性,能在一定程度上保护用户的隐私。
(2)抵抗DDOS攻击
在该模型中,不存在单一的访问控制节点,权限管理分散在各个资源所有者的节点上,所以不存在单点失败故障,DDOS攻击失去了单一的攻击对象。访问控制策略保存在区块链中,区块链的分布式账本可以在所有节点上复制保存,由区块链的共识机制维护一个统一的账本,任何人想要篡改账本中的交易至少需要全网51%的算力,但这几乎是不可能完成的任务,所以攻击者无法通过篡改账本来挫败系统。
(3)抗欺诈式拒绝服务
所有主体对某个资源的相应操作权限,都记录在区块链上,对所有的主体是公开可见的。如果某个资源的所有者恶意地拒绝了某个满足条件的访问请求,是可以被公共审计到的,会受到相应惩罚。而且,通过区块链智能合约功能的应用可以实现访问请求的自我强制性执行。
结束语
本文利用区块链技术构建了一个物联网访问控制简化模型,定义了设备注册、创建策略、请求访问和策略更新四个主要过程。该模型中,所有的访问策略都存储在区块链上,对所有访问主体公开可见。且区块链的不可篡改的特性保证了所有访问策略的强制执行,不存在欺诈性拒绝访问。资源的访问权限都由资源所有者自主控制,最大限度地保护了用户的隐私。区块链的分布式特性保证了访问控制模型不存在单点失败的风险。
目前,该模型是一个简化的模型,能实现物联网的基本访问控制要求,将来还可以研究如何结合智能合约实现访问控制策略的自我强制执行。同时,该模型要进入实践的应用,计算效率和通信时延也是急需要解决的问题。
[1]Zhang G,Tian J. An extended role based access control model for the Internet of Things[C].Information Networking and Automation(ICINA),2010 International Conference on IEEE,2010,1:V1-319-V1-323.
[2]Hernández-Ramos J L,Jara A J,Marín L,et al. DCapBAC:embedding authorization logic into smart things through ECC optimizations[J]. International Journal of Computer Mathematics,2016,93(2):345-366.
[3]Seitz L,Selander G,Gehrmann C. Authorization framework for the internet-of-things[C].World of Wireless,Mobile and Multimedia Networks (WoWMoM),2013 IEEE 14th International Symposium and Workshops on IEEE,2013:1-6.
[4]Ouaddah A,Elkalam A A,Ouahman A A. Towards a novel privacy-preserving access control model based on blockchain technology in IoT[M].Europe and MENA Cooperation Advances in Information and Communication Technologies. Springer International Publishing,2017:523-533.
[5]Karame G O,Androulaki E,Capkun S. Double-spending fast payments in bitcoin[C].Proceedings of the 2012 ACM conference on Computer and communications security, ACM,2012:906-917.
[6]Antonopoulos A M. Mastering Bitcoin:unlocking digital cryptocurrencies[M]. O’Reilly Media,Inc.,2014.
[7]Christidis K,Devetsikiotis M. Blockchains and Smart Contracts for the Internet of Things[J]. IEEE Access,2016,4:2292-2303.
[8]Greenspan G. Ending the bitcoin vs blockchain debate[EB/OL]. MultiChain blog URL:http://www. multichain. com/blog/2015/07/bitcoin-vs-blockchain-debate,2015.
[9]Douceur J R. The sybil attack [C].International Workshop on Peer-to-Peer Systems. Springer Berlin Heidelberg,2002:251-260.
[10]Roe M. Performance of block ciphers and hash functions—one year later[C].International Workshop on Fast Software Encryption, Springer Berlin Heidelberg,1994:359-362.
(责任编辑:龙学锋)
SimplificationModelConstructionofInternetAccessControlBasedonBlockChain
MEI Ying
(School of computer,Communication University of China,Beijing100024,China)
The Internet of Things is composed of most resource constrained devices,with decentralized topologies. Traditional centralized access control models face enormous challenges in the Internet of Things. Emerging blockchain technology has decentralized topology similar to that of Internet of Things,with features such as trustless center,tamper proof and so on. We propose a simplified access control model based on the advantages of blockchain technology. In our proposed model,the access policy is published in the common visible blockchain,so that any user knows at any time that currently who has right access to the resource. It can also manage access rights through blockchain transactions. The model has security features such as anonymity,anti-DDOS attacks and fraudulent deny.
internet of things;access control;blockchain;security
TP309.2
A
1673-4793(2017)05-0007-06
2017-10-22
国家科技支撑计划2015BAK05B03
梅颖(1973-),男(汉族),湖北黄梅人,中国传媒大学副教授,博士.E-mail:178445547@qq.com