郭文俊 杨泽民
摘 要:
针对当前物联网数据量庞大且数据之间孤立,以及物联网可信访问服务管理中交易不透明和易受攻击等问题,提出了基于区块链的物联网可信访问控制研究,将区块链技术应用到物联网的访问控制中,利用区块链的去中心化特性结合物联网访问控制技术,设计了物联网可信访问控制模型。通过模拟实验显示,物联网可信访问控制模型能够有效量化信任度、有效检测到物联网访问攻击行为,在整个访问控制中能够确保数据不被篡改,在每500次访问增量下的攻击检测率可提升约1.77百分点,具有较高的实用性。
关键词:区块链;共识机制;物联网;访问攻击;可信访问控制
中图分类号:TP393 文献标志码:A
0 引言(Introduction)
在互联网技术不断发展的时代背景下,越来越多的物联网软件和硬件通过无线网络相互连接,而且不断地与外界环境进行交互,产生了海量的不同类型的数据资源[1],使得物联网的规模迅猛发展,一个万物互联的时代已经到来。与此同时,随着物联网设备产生的数据资源呈几何式增长,使得设备资源的接入访问控制面临巨大的挑战。并且,海量的物联网资源往往涉及很多隐私及敏感信息,一旦被非法窃取,将造成不可估量的后果。物联网访问控制技术[2]是保护物联网资源的重要手段,传统的访问控制技术通常依托中心化设计,存在单点故障、可靠性低、不易扩展等缺点。综上问题,如果物联网的访问能够以一种去中心化的方式开展,那么将大大提升物联网访问的安全性,而区块链正因其去中心化的特性,受到了研究人员的青睐,本文将区块链技术[3]应用到物联网的访问控制中,利用区块链的去中心化特性结合物联网访问控制技术,设计了一个基于区块链的物联网可信访问控制模型,以期解决物联网下的访问控制问题。
1 区块链技术(Blockchain technology)
区块链技术是以比特币为代表的“去中心化”的一种新型的以数据加密的方式共享数据信息的分布式数据库技术(或称分布式共享总账),其主旨是让系统的所有节点实现共同参与、共同维护,让传统的中心化操作公开透明、可监督且由唯一转变为可替换,每个参与的节点都能成为一个中心,将传统的强中心化变为弱中心化。
1.1 区块链的特点
(1)数据分布存储
区块链以分布式网络为基础进行构建,数据账本分布在网络中的不同节点上,每个节点都保存了该账本的一个副本,所有副本同步更新,而非集中存放在某个数据中心或某个服务器上,体现了区块链技术“去中心化”的特性。
(2)操作公开透明
除了对交易双方的私有信息进行加密外,区块链的数据对所有的节点公开,用户看到的是同一个账本,每位用户的每一次交易信息都被写入账本中,每位用户都可以看到账本记录的每一笔交易,所有用户都可通过公开的接口对区块链的数据进行查询[4],并开发应用,进行的操作也是公开透明的。
(3)不易篡改
密码学和共识机制[5]确保了区块链的不可篡改性。账本中记录的信息一旦经过验证并被添加到区块链中,就会被永久地存储,攻击方除非能够控制区块链中超过50%的节点,否则极个别恶意节点试图对数据库做出修改都是无效的。因此,区块链数据的稳定性和可靠性是非常高的。
(4)传递信任
区块链存在的首要意义是通过共识而非中心化信用机构低成本地将双方达成的内容固定下来,谁也无法更改已经确定的内容。通过共识协议和智能合约[6]执行多方协作的交易,不需要第三方的背书,交易的安全性由区块链提供保障,交易双方可以自由地进行价值转移,从根本上改变了中心化的信用创建方式。
1.2 区块链在物联网应用领域的研究
在物联网应用领域,王玉琼[7]对区块链的物联网接入控制方法展开了研究,对现有的基于区块链的安全技术进行了分析。赵明慧等[8]利用区块链技术设计物联网可信服务框架,利用其去中心化的特性令交易双方在不需要第三方可信机构的前提下直接建立信任关系,实现了双方透明化的交易。于金刚等[9]提出了一种新的建立在区块链基础上的物联网数据共享模型,利用区块链去中心化的特性,交易双方不需要借助可信中心化机构,可以直接建立信任关系,保障数据能够安全共享。薛慧等[10]利用区块链技术设计了一种物联网智能合约模型,使交易双方在区块链点对点的分布式架构之上创建了可信的交易环境,实现了机器与机器、人与机器之间的相互信任。宋丽华等[11]引入属性的概念,在物联网访问控制上实现了支持细粒度的访问控制。周立广等[12]利用区块链技术设计了一种可通过身份认证策略进行设备接入并对多种设备进行权限控制的分布式物联网信息安全管理系统。史锦山等[13]在物联网访问控制中通过引入令牌(Token)的概念,以脚本的形式将各节点的访问权限写入区块链中,提出了一种公平访问(Fair Access)的新机制。张杰等[14]利用集成边缘计算并结合智能合约和基于属性的访问控制设计了基于区块链与边缘计算的物联网访问控制模型,实现了去中心化、细粒度和动态的物联网访问控制管理。任彦冰等[15]提出了一种基于区块链的适用于分布式物联网的访问信任机制,利用区块链的去中心化特性实现数据的有效共享,将信任关系进行量化,能够在低存储开销的系统运行下有效保护数据的安全性。
本文提出的基于区块链的物联网可信访问控制模型,其服务主体和服务客体间通过区块链建立交易双方之间的信任关系,在不需要可信的第三方的前提下,通过共识算法约定交易双方在网络中信用的生成方式,以此建立一个可信的网络,为有效实现服务交互提供了可信赖的环境。物联网可信访问控制模型如图1所示。
在基于区块链的物联网可信网络区域中,由于所有的规则都事先达成了共识,服务提供者和服务请求者利用区块链技术可直接建立信任关系并进行交互,而不需要了解其他节点的信息,实现了去中心化的信任建立。该模型中交易的管理则是通过智能合约实现的,区块链通过智能合约的可编程特性,实现事件的触发和调用,从而完成对交易内容的自动处理。交易双方通过该平台进行交易时,平台设备会自动进行触发并通过合约程序实现交互,之后会将交易的详细信息进行全网广播,每一个接收到交易广播信息的节点都会通过区块链中的共识机制对此次交易进行验证,经验证确定无误后,方可将此次交易信息计入区块链中。
2.1 访问控制框架
在本模型的框架中,设备的各种属性被抽象为单一的URL(Uniform Resource Locator),用户对各种资源的访问均不再直接向设备进行请求,而是通过访问区块链系统进行权限校验后,获取资源的URL并根据URL获取交易数据[16]。访问控制框架如图2所示。
(1)服务管理者将资源分发到Internet云端,云端进行资源缓存并为其生成资源链接URL。
(2)服务管理者获取资源链接URL。
(3)服务主体根据要求将各资源URL写入智能合约中。
(4)服务客体想要访问某一资源时,不是直接与服务主体设备进行通信,而是通过区块链系统获取访问授权,从而获得资源链接URL。
(5)智能合约获得服务客体想要访问资源的相关信息,调用策略合约对访问者进行权限裁决,裁决通过后,向资源访问请求者即服务客体,返回访问资源的唯一URL。
(6)产生交易,验证通过后写入区块链。
(7)资源访问请求者通过URL在Internet上下载或提取资源。
2.2 融合智能合约的交易管理
智能合约是区块链技术中的一种数字化合约方式,一般以程序代码的形式被写入并完成相关的操作。智能合约首先需要交易双方就合约内容进行协商并达成一致,之后通过程序代码的形式将合约内容写入区块链系统中,合约一旦写入,则自动生效,第三方无法修改。交易双方在订立合约时,不需要到场面签,只需要在线上通过智能合约系统便可完成,整个过程高度匿名、高度透明且不可篡改,几乎不需要其他人员参与,这就保证了交易双方之间的交易数据的安全性和交易写入的高效性。本文利用智能合约,通过特定的运行机制保障物联网设备间交易的进行,有效地提升了物联网设备间交易的建立和交易完成的效率。
2.3 区块链共识机制
共识机制使提案阅读者达成了一致,描述了分布式系统中多个节点之间,根据某一事先商量好的规则,彼此对某个状态达成一致的过程。对于分布式系统,可以认为每个节点是相同的确定性状态机模型,从相同的初始状态接受相同的顺序指令,可以保证相同的结果状态。因此,只要分布式系统中多个节点对多个事件的交易数据达成共识,便可保障分布式账本数据的真实性。目前,区块链的共识机制主要有Pow(工作量证明)机制、Pos(权益证明)机制、DPos(授权权益证明)机制、PBFT(拜占庭容错)机制,其中Pow机制、Pos机制、DPos机制一般应用在公有链中,而PBFT机制则在对一致性有更高要求的私有链或联盟链中的应用较多。表1为共识机制对比[17]。
2.4 攻击防范
物联网访问的攻击[18]行为主要存在于交易双方进行访问交易的过程中,区块链可通过共识机制抵御外部节点的攻击。在区块的验证过程中,共识机制允许区块链中的所有节点参与,并通过达成的共识算法选定特定的节点(比如在Pow机制中选取算力最强的节点),将产生的新数据计入区块链中,使提案阅读者能达成一致意见。本文提出的物联网可信访问控制,就是利用区块链中的共识机制检测并防范来自恶意节点的攻击行为。共识机制防范恶意攻击的过程如图3所示。
从图3中可以看到,A、B、C、D四个节点分布于物联网中,其中A为可信节点,B为攻击节点,试图对该交易进行篡改,C和D为可信节点。节点A广播自己的交易信息给网络中的其他3个节点,标记为“1”,B、C、D收到该广播信息后,进行签署再转发给其他节点。B节点为了破坏此次交易,故意将签署后的信息标记为“0”,并转发给C、D节点,而为了防止被A节点发现,转发给A节点的信息仍然被标记为“1”,而C、D两个可信节点在收到信息后,仍按照当初达成的共识在签署信息后将其标记为“1”,然后转发出去。如图3所示,A节点收到的是(111),C、D节点收到的是(101),按照共识算法,A、C、D共同确定广播的信息,仍然可以将此次交易内容写入区块链中。由此可见,恶意攻击节点很难通过共识机制将欺诈行为写入区块链中。本文利用区块链中的共识机制能够有效防范恶意节点的欺诈行为,确保了访问的可信度且具有较高的安全性。
3 系统测试与分析(System test and analysis)
3.1 区块链网络部署[HJ1.8mm]
文中提到的基于区块链的物联网可信访问控制模型,需要搭建区块链网络环境,区块链运行于分布式环境下,故此至少需要3台计算机,并都要安装geth客户端,之后通过配置将其转换为区块链节点,从而构成一个简易的私有区块链网络。
3.2 测试环境
本系统测试主要模拟物联网设备,用于测试区块链的网络部署和系统的访问功能。整个系统的硬件配置如下:物联网网关/网络开发板1块、台式电脑1台、笔记本电脑2台及Wi\|Fi开发板2块。其中,1台台式电脑和2台笔记本电脑通过安装geth客户端构成一个简易的私有区块链网络,物联网网关/网络开发板作为物联网代理设备,用于访问区块链中的智能合约。
3.3 测试性能分析
物联网可信访问控制模型一共设置5个节点,其中包含2个可信任节点、2个低信任节点和1个恶意攻击节点,利用搭建的仿真实验环境,分别进行10、50、500、1 000次访问请求,仿真实验访问结果如表2所示。
表2中的数据表明,恶意攻击节点容易被系统准确识别并拦截,而当访问次数较少时,低信任节点很难被系统准确识别。随着访问次数的不断增加,交易数据量也在不断上升,导致写入区块链的节点交易记录也随之增多,有更多的交易信息被系统调用来计算参与访问节点的可信度,也会有更多的低信任节点被识别并进行拦截,访问的正确率也会随之上升。
4 结论(Conclusion)
本文提出的基于区块链的物联网可信访问控制模型,利用区块链技术、智能合约、共识机制搭建了去中心化、交易透明、可信安全的访问控制环境,进而降低了物联网访问控制在管理上的难度,有效地解决了恶意攻击和欺诈的问题。目前的研究虽然取得了一定的成果,但是总体上仍处于研究的初期阶段,仍面临着诸多挑战。区块链记录了访问节点的每一条交易记录,随着时间的推移和访问量的增加,海量的数据信息需要更多的存储空间。此外,对于智能合约的写入,由于缺乏统一的技术开发标准,因此系统有时会出现兼容性的问题。这些问题都将是今后研究的重点方向。
参考文献(References)
[1] HUANG C,LIU D X,NI J B,et al. Achieving accountable and efficient data sharing in industrial Internet of Things[J]. IEEE transactions on industrial informatics,2021,17(2):1416\|1427.
[2] 刘奇旭,靳泽,陈灿华,等. 物联网访问控制安全性综述[J]. 计算机研究与发展,2022,59(10):2190\|2211.
[3] 邵奇峰,金澈清,张召,等. 区块链技术:架构及进展[J]. 计算机学报,2018,41(5):969\|988.
[4] AHMAD A,KHAN S U,KHAN H U,et al. Challenges and practices identification via a systematic literature review in the adoption of green cloud computing:clients side approach[J]. IEEE access,2021,9:81828\|81840.
[5] 王捷,葛丽娜,张桂芬. 区块链的激励机制权益证明共识算法改进方案[J]. 郑州大学学报(工学版),2023,44(5):62\|68.
[6] 韦智勇,周立广. 基于区块链的身份认证系统设计与实现[J]. 软件工程,2020,23(11):37\|40.
[7] 王玉琼. 基于区块链的物联网接入控制方法研究[J]. 软件,2022,43(9):42\|44,56.
[8] 赵明慧,张琭,亓晋. 基于区块链的社会物联网可信服务管理框架[J]. 电信科学,2017,33(10):19\|25.
[9] 于金刚,张弘,李姝,等. 基于区块链的物联网数据共享模型[J]. 小型微型计算机系统,2019,40(11):2324\|2329.
[10] 薛慧,沈勇,时岳,等. 基于区块链的物联网智能合约模型设计[J]. 软件导刊,2022,21(6):161\|168.
[11] 宋丽华,朱宗科,李梦晨,等. 基于区块链的细粒度物联网访问控制模型[J]. 计算机工程与设计,2022,43(2):352\|360.
[12] 周立广,韦智勇. 基于区块链的物联网信息安全平台设计与实现[J]. 软件工程,2020,23(12):50\|53,46.
[13] 史锦山,李茹,松婷婷. 基于区块链的物联网访问控制框架[J]. 计算机应用,2020,40(4):931\|941.
[14] 张杰,许姗姗,袁凌云. 基于区块链与边缘计算的物联网访问控制模型[J]. 计算机应用,2022,42(7):2104\|2111.
[15] 任彦冰,李兴华,刘海,等. 基于区块链的分布式物联网信任管理方法研究[J]. 计算机研究与发展,2018,55(7):1462\|1478.
[16] 张学旺,殷梓杰,冯家琦,等. 基于区块链与可信计算的数据交易方案[J]. 计算机应用,2021,41(4):939\|944.
[17] 刘敖迪,杜学绘,王娜,等. 区块链技术及其在信息安全领域的研究进展[J]. 软件学报,2018,29(7):2092\|2115.
[18] 袁琪,张宗耀,周美彤,等. 基于区块链技术的物联网身份认证方案研究[J]. 齐齐哈尔大学学报(自然科学版),2023,39(5):7\|13.
作者简介:
郭文俊(1986\|),男,硕士,讲师。研究领域:大数据与区块链技术,物联网。
杨泽民(1974\|),男,硕士,教授。研究领域:数据库技术,数据挖掘研究。