基于智能合约的物联网访问控制架构与验证
2022-07-05李杨徐龙李研强李绍鹏
李杨,徐龙,李研强,李绍鹏
基于智能合约的物联网访问控制架构与验证
李杨1,徐龙1,李研强1,2*,李绍鹏1
(1.齐鲁工业大学(山东省科学院)山东省科学院自动化研究所,济南 250014; 2.山东大学 控制科学与工程学院,济南 250061)(*通信作者电子邮箱liyq@sdas.org)
针对传统的访问控制方法存在单点故障,不能提供可信、安全、动态化权限管理的问题,提出了一种面向无线传感器网(WSN)的基于区块链和智能合约的新型访问控制方法,以解决现有的基于区块链的访问控制方法存在的访问动态化、智能化水平不高等问题。首先,提出一种基于区块链的新型访问控制管理架构,降低网络运算开销;其次,搭建多层次智能合约体系,设计代理合约(AC)、权限管理合约(AMC)和访问控制合约(ACC),以实现对WSN的可信化、动态化的权限管理;最后,采用基于径向基函数(RBF)神经网络的动态权限生成算法,并结合访问政策动态生成访问节点的信用度阈值,实现面向WSN海量传感器的智能化、动态化的访问控制管理。实验结果表明,所提模型在WSN安全访问控制应用上具有可行性、安全性和有效性。
区块链;访问控制;智能合约;动态权限管理;无线传感器网
0 引言
物联网(Internet of Things, IoT)技术的迅猛发展为社会各个层面带来了巨大的数字化变革,正在深刻改变着传统产业形态和人类生产生活的方式,到2020年,全球IoT连接数量达到99~281亿台,预计到2025年连接数约为215~416亿台[1]。然而近年来IoT安全攻击事件频繁发生,严重威胁了用户安全隐私和基础网络环境安全。当前,IoT安全关注度前所未有,而IoT设备的复杂多样性还面临着来自终端更严峻的安全挑战,访问控制成为IoT安全策略中的重要关卡。
近年来,很多学者围绕IoT的访问控制方法进行了研究和探索。传统的访问控制建模方法主要采用基于角色的访问控制(Role-Based Access Control, RBAC)[2]、基于属性的访问控制(Attribute Based Access Control, ABAC)[3]、基于权能的访问控制(Capability-Based Access Control, CapBAC)模型[4]和基于使用控制(Usage CONtrol, UCON)模型[5]的控制方法,以上模型均属于由集中式决策服务器授权下的访问控制策略,都需要引入可信第三方实体协助进行访问控制,同时需要为访问控制提供足够的计算和存储资源能力。另外,传统访问控制方法还面临以下两点挑战:一是第三方实体的可信度与安全性得不到保证,这给用户数据安全与个人隐私信息带来了不小的隐患;二是随着海量设备的接入,增加了中心实体的管理难度和复杂度,成本高且难以扩展。
随着区块链、智能合约的出现,学者们开始将传统的访问控制模型同区块链技术结合,研究如何解决集中式访问控制模型带来的单点故障问题[6]和信任问题[7]。文献[8]中提出了一种基于身份识别的权能控制策略BlendCAC,利用智能合约实现注册、传播和撤销访问授权,可有效提升IoT系统中大规模设备的安全保护和信息传输性能。FireAccess模型[9-10]为不同的IoT设备安装具有访问控制代理功能的钱包(Wallet),通过向访问请求方发送授权令牌进行权限管理,该模式大大降低了IoT设备处理开销,能实现由用户驱动、透明化的访问控制方法。MedRec[11]框架采用不同层次的合约分别管理病人身份信息、权限信息和病人权限关系信息,实现了用户驱动的个人医疗数据管理和隐私性保护,还能实现跨医疗组织医疗数据去中心化整合。
近年来,区块链和智能合约技术在无线传感器网(Wireless Sensor Network, WSN)中的应用也成了研究热点。为解决WSN安全访问问题,文献[12]中提出了一种基于区块链的高鲁棒、低能耗的身份认证机制——BCTrust,适用于计算存储资源有限的WSN,通过采用公共区块链平台(以太坊)让数据与外网用户间安全可靠共享;类似地,文献[13]中提出了基于区块链的多WSN身份认证方案,能实现不同场景网络节点身份的相互认证;另外,文献[14]中提出了基于区块链和智能合约的WSN新型架构,能实现海量节点快速、分布式访问管理,并通过实验验证了方法的有效性。在神经网络与区块链结合应用的相关研究中,文献[15]针对区块链共识算法采用一种特定卷积神经网络算法实现网络一致性,并通过动态信用度阈值获取超级节点和随机节点,避免了复杂的哈希运算和冗余验证。
综上所述,针对WSN的访问控制方法目前仍然存在以下问题:一是没有充分评估WSN节点资源的有限性,导致提出的解决方案网络运算开销较大;二是WSN海量节点安全管理的动态化、智能化水平不足,不适于海量传感器网络的访问控制管理。针对上述问题与挑战,本文提出面向WSN的基于区块链和智能合约技术的访问控制建模与验证方法,主要工作包括:
1)建立了基于区块链和智能合约的新型访问控制系统,提出了动态权限管理和多层次智能合约建模方法,设计了代理合约、权限管理合约和访问控制合约,实现了对WSN的可信化、动态化的权限管理;
2)设计了面向WSN的访问控制管理新型架构,WSN不隶属于区块链网络,提出由管理节点实现WSN与区块链间的通信,以降低系统计算开销,提升访问控制效率;
3)提出了基于径向基函数(Radial Basis Function, RBF)神经网络的动态权限生成算法,利用实际运行过程中存在的异常数据集训练RBF神经网络参数,结合访问控制政策动态生成访问信用度阈值,从而动态化、智能化实现WSN访问控制管理。
1 相关工作
1.1 区块链技术
区块链[16]实质是一种由数字区块按照时间顺序链接而成的去中心化的分布式数据账本,通过采用现代密码学、分布式一致性协议、P2P网络技术和智能合约等技术[17],提供了安全、稳定、透明、可审计、高效且低成本的交易数据记录和交互的框架解决方案。
区块链的关键技术包括:基于时间戳的链式结构、点对点的数据传输机制和分布式节点的共识机制。其中,链式结构是指区块链将数据区块通过链式方式进行连接,区块头封装前一区块的哈希值、时间戳、Merkle树根值等信息;点对点传输机制使得区块链具有去中心化特性,不同节点分布在不同的物理地址,所有节点关系平等。
共识机制是在完全不可信环境下实现分布式节点数据一致的关键算法,当前的主要共识算法包括工作量证明(Proof of Work,PoW)[16]、权益证明(Proof of Stake,PoS)[18]、实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)[19]等,通过共识算法竞争胜出的节点将交易打包后以点对点方式发送其他节点,其他节点对该区块的哈希值、签名和交易有效性进行验证,验证通过后加入本地区块链,从而解决共识问题。
虽然当前区块链缺乏行业标准、技术相对不够成熟、所需计算存储资源较大,但仍有不少成功落地的区块链项目,包括金融领域、物流溯源和电子票据等应用,虽然远远未达到普及水平,但随着软硬件技术的不断提升,区块链未来发展前景非常广阔[20]。
1.2 智能合约
智能合约初期的设计理念是“一个智慧合约是一套以数字形式定义的承诺(commitment),包括合约参与方可以在上面执行这样承诺”[21]。直到2008年提出比特币[16],区块链技术与智能合约作为底层技术才被充分重视和挖掘。目前没有公认的智能合约定义[22],狭义的智能合约可看作是运行在分布式账本上预制的规则,具有状态、条件响应的,可封装、验证、执行分布式节点复杂行为,完成信息交换、价值转移和资产管理的计算机程序。
目前智能合约运行机制采用相对固定的规则和逻辑,主要以If-Then和What-If语句预置了相关合约条款触发规则,被审计通过的智能合约经多方协定、签署后由P2P网络传播并部署在区块链上,直到检测到激活合约的触发规则和状态条件时执行合约代码。智能合约的运行机制如图1所示,合约代码根据可信外部数据源(预言机,Oracles)和状态信息自动检查是否触发合约执行,若满足触发条件,交易验证有效后将会打包,由矿工把交易写入区块中。目前运行智能合约最广泛的平台包括以太坊(Ethereum)[23]和超级账本(Hyperledger Fabric)[24]。未来的智能合约发展方向将逐渐摒弃固定规则方式,将人工智能、机器学习等智能算法融入智能合约,从而实现自主学习和动态适应的功能,更好地适应海量化、动态化和智能化的分布式网络应用场景;然而当前受区块链计算存储资源有限的影响,离智能算法的广泛应用还有一段距离。
图1 智能合约运行机制
近年来,随着以太坊等平台的广泛应用,智能合约得到迅猛发展,但是同时也暴露出了安全问题。“The DAO”事件是黑客利用智能合约中的“可重入性函数”进行漏洞攻击,导致了360万以太币几个小时内被转出;另外,“Parity多重签名合约漏洞”和“Parity多重函数库自杀漏洞事件”也具有代表性,该事件影响了587个钱包,包含51.3万以太币[25]。因此智能合约的代码检查和安全设计是当前面临的挑战。
1.3 动态权限管理
当前关于动态权限管理方法的研究文献较少,多数集中在预设访问政策[14,26-28],不能满足海量设备访问时的动态化、多层次和管理复杂的需求。目前提出的动态权限管理方法有:文献[28]中提出了一种基于信任度的雾计算动态访问控制方法,通过训练好的机器学习模型计算设备的信任值实现基于信任值的动态访问;类似地,文献[29]中提出以基于决策控制访问模型为基础,采用智能合约设定访问信用度阈值实现动态管理;文献[30]中提出了一种将访问控制和强化学习(Reinforcement Learning, RL)相结合的理念,以此实现对策略的动态适应。然而,这些研究采用的信用度算法大都采用多元线性回归算法,其准确性、可靠性有待验证。
动态权限管理实现的核心是信用度计算,而信用度是访问对象的信用度量,是一段时期可被认定履行合约的信用程度,可以有效识别恶意节点或异常访问请求。当信用度达到合约设定的信用阈值时,访问对象可获得匹配的访问权限,从而实现动态权限管理。信用度评估的关键是解决非线性回归问题,而RBF神经网络应用核函数思想,是一种性能良好的前向神经网络,它的泛化学习能力强、学习速度快,不容易陷入局部极小,能实现快速非线性拟合并避免局部极小问题,是解决信用度评估问题的优选算法[31]。虽然误差反向传播(Back Propagation, BP)神经网络也可以任意逼近任何非线性连续函数,但由于激励函数不同,BP神经网络因为全局逼近从而学习速度慢,不适用于实时性要求高的场合。
2 基于区块链和智能合约的访问控制系统
2.1 系统架构
本文提出的系统架构如图2所示,主要包括无线传感网络(WSN)、管理节点(Manager)、区块链(Blockchain)、智能合约(Smart Contracts)和代理节点(Agent Node)。
图2 基于区块链的系统架构
1)无线传感网络:WSN是通过无线通信技术把海量传感器节点以自由式进行组织与结合,形成一个多跳、自组织的网络[32],能够协同实时感测、采集和处理网络覆盖范围的感知对象信息,信息处理后通过无线方式进行传送,以多跳自组织方式发送至用户。通常WSN的无线传感器具有计算存储能力有限、成本低、安全性低等特点,因而传感器节点容易受外界入侵,导致信息泄露或传感器网络损害。本系统中的WSN独立于区块链系统之外,网络通信采用基于约束应用协议(Constrained Application Protocol, CoAP)[33],支持数据包传输安全性协议(Datagram Transport Layer Security, DTLS)[22]。
2)管理节点:该节点是区块链的特殊节点,直接与区块链节点连接,比如矿工(Miner),它实现的功能包括:a)将传感器发送的CoAP消息转换成区块链可识别的JSON-RPC信息。b)通过Invoke函数调用智能合约。一方面管理节点通过访问控制合约(Access Control Contract, ACC)增加访问对象的初始访问政策;另一方面管理节点向代理合约(Agent Contract, AC)发送注册请求和访问权限请求。其中,初始访问政策通常包括访问目标资源(resource)、访问行为(action)、访问许可(permission)和两次访问最小间隔时间(time intervals)等。另外,传感器网络均通过管理节点与区块链网络通信,因此管理节点通常部署在计算能力较强的设备上,以满足海量访问节点并发访问请求。
3)区块链:本系统采用以太坊的私有链部署,由以太坊虚拟机(Ethereum Virtual Machine, EVM)为智能合约提供运行环境,平台提供两种类型账户:外部控制账户(Externally Controlled Account, EOA)和合约账户(Contract Account, CA)。其中EOA由私钥进行保护,合约账户由合约代码保护[23],通过采用私有链部署模型为本系统提供简单方便的功能与性能评估平台,在今后实际应用中本文模型将被部署于公有链上。
4)智能合约:系统设计了多层次智能合约体系,如图3所示,包括AC、权限管理合约(Authority Management Contract, AMC)和ACC三个合约。AC用来管理注册信息、从ACC获取访问权限;AMC用来识别访问异常事件、调用神经网络算法评估访问对象的信用度阈值;ACC用来管理访问政策、进行权限决策。智能合约定义的函数或应用程序接口API(Application Programming Interface)为系统访问控制各项功能提供执行接口。
5)代理节点:代理节点是区块链系统上的特殊节点,在本文系统中主要用来部署智能合约,当三个智能合约在区块链上部署完成后,代理节点获取三个合约地址,通过广播使区块链所有节点获得智能合约的地址。
图3 智能合约体系架构
2.2 智能合约体系
不同合约的功能函数介绍如下。
2.2.1 代理合约(AC)
1)RegisterManager:注册管理节点;
2)AddMangertoDevices:注册新传感器设备到管理节点下,不允许设备直接访问目标资源;
3)DeleteManagerfromDevice:删除管理节点下的传感器设备;
4)GetAccessControl:获取访问控制合约发来的传感器设备的访问权限;
5)DeregisterDevices:删除在系统中注册的传感器设备;
6)DeregisterManager:删除在系统中注册的管理设备。
2.2.2 权限管理合约(AMC)
1)JudgeAccess:判断传感器设备是否存在访问异常,如短时间内频繁访问、身份无效等,生成的异常报告发送给ACC;
2)AddAccessIssue:添加访问异常事件;
3)DeleteAccessIssue:删除访问异常事件;
4)RBFNeualNetworks:通过调用已经训练好的RBF神经网络模型,计算传感器访问信用度阈值(0~1);
5)Feedback:反馈访问对象访问信用度阈值。
2.2.3 访问控制合约(ABI)
1)AddPolicy(resource, action, permission, time period):添加新访问策略,接收新的访问策略至策略列表(Policy List);
2)UpdatePolicy:更新访问策略;
3)DeletePolicy;删除访问策略;
4)AccessControl:访问决策,结合预先定义的访问政策与AMC合约中反馈的访问信用度阈值,进行权限决策。
2.3 动态权限管理建模
本文提出了基于RBF神经网络的访问对象信用度评估方法,首先选取访问对象的六类访问特征作为访问节点的评估输入指标:
隐含层为RBF函数,不需要通过权连接,表达式如下:
输出层表示如下:
图4 基于RBF神经网络模型的信用度评估
本文提出的动态权限管理方法利用实际运行过程中存在的异常数据集训练RBF神经网络,因此对用户的信用度判定结果相对于文献[28-29]中模型准确度和细粒度更高;同时系统将信用度计算过程以智能合约的形式发布在区块链中,使得用户信用度计算更加地安全可靠。
2.4 系统工作流程
图5是系统各节点间交互过程,主要分为四个阶段:系统初始化阶段、设备注册阶段、权限动态分配阶段与政策执行。
1)初始化阶段。Agent Node部署智能合约,当三个合约在区块链部署成功后代理节点获取三个合约的地址,并通过广播让区块链上所有节点得到该地址。如图5所示,Manager需获取AC和ACC地址,AC获取到AMC的地址,AMC获取到ACC的地址。在初始化阶段,Manager连接到区块链上,区块链时刻让RPC端口监听接收Manager发送的请求。
图5 系统节点间交互工作流程
3 安全性分析
Petri网是用于描述和分析系统中的控制流和信息流[34],结合本文访问控制系统业务的运行机制。采用Petri网对系统进行安全性分析,主要包括以下三个步骤:
表1 系统业务流程交易描述
2)不安全状态分析。分析系统不安全状态,首先确定入侵者可能篡改的变量,判断系统的合法用户可能被入侵者攻击的可能性:a)在注册管理阶段,存在地址篡改的可能性,由于Manager基于DTLS协议同传感器通信,利用cookie验证机制和证书实现与WSN通信双方身份认证,从而可保证注册的安全性;b)Manager和区块链通信阶段存在数据(地址、初始权限等)被篡改的可能性,由于通信双方基于JSON-RPC协议,RPC在配置安全和接口逻辑可能会出现漏洞,但由于RPC调用需要鉴权,因此即使存在漏洞也难以触发调用,从而排除不安全状态;c)最后判断区块链网络的不安全状态,由于区块链的分布式、不可篡改和可追溯等特性,不安全因素主要集中在智能合约程序设计上,智能合约本质是运行在区块链网络中的代码,一旦部署将不能修改,提高代码逻辑安全性是减少不安全状态的必要条件。本节重点讨论系统功能安全性,代码安全不在此安全分析范围内。
3)安全性分析。
通过分析数据,结合系统初始状态和终止状态,可以确定系统是否安全。首先给出系统状态方程:
图6 系统Petri网模型
Fig. 6 Petri net model of system
设当前交易为注册传感器阶段,则:
若当前交易为获取访问权限阶段,则:
当传感器获取访问权限时,则:
经过过程验证,系统交易流程达到最终状态,交易集合为空,满足交易必要性定义;库所向量和共识向量结果表明满足结果唯一性和共识完整性,因此证明系统业务流程是完备并安全的。
4 仿真与性能分析
为验证本文提出的面向WSN的基于智能合约的访问控制模型建模方法,测试本文模型的可行性和有效性,搭建了实验环境并设计了实验方案。
4.1 功能测试与分析
利用以太坊平台搭建实验环境,采用Solidity脚本语言部署智能合约,由以太坊虚拟机提供其执行环境,每台设备安装由Go语言编写的geth客户端,采用web3.js通过IPC接口与相应的geth客户端交互,使用PoW共识机制。Manager是Javascript的脚本代码,独立于区块链外;LibCoAP库是CoAP协议的C语言实现,利用LibCoAP库搭建WSN,支持DTLS(Datagram Transport-Layer Security)为WSN提供端到端的安全传输。无线传感器采取CoAP协议[35],CoAP主要面向资源受限的嵌入式设备,采用REST架构的物理网应用层协议和UDP传输协议等轻量级的传输机制。
实验环境如下:台式机用来部署以太坊,参数为Intel Core i3-9100 CPU @ 3.60GHz 3.60 GHz内核,8.00 GB内存和Windows 10 操作系统;笔记本用来部署管理节点和WSN虚拟网络,参数为@A6-6310 apu with amd radeon r4 graphics ×4内核,8.00 GB内存和Ubuntu 20.04.1 LTS操作系统。
完成私有链的搭建和合约编译与部署,图7为系统主要功能测试结果。
4.2 信用度模型仿真与分析
本文采用RBF神经网络构建访问节点的信用度评估模型,本节重点测试模型是否能够准确评估信用度。选择500个样本数据及信用评估结果,首先对初始数据进行初始化处理,各放大100倍作为网络输入,其中,将400个节点样本作为训练数据,训练轮数为200,剩下的100个节点样本数据用作测试。实验的误差变化如图8所示,测试集的模型输出与目标输出对比如图9所示。从图8、9可以看出,基于RBF神经网络的信用度模型具有良好的收敛性,学习效率高,准确性高,相比多元线性回归算法更准确,相比BP神经网络算法具有收敛速度快、学习稳定等特点。
4.3 性能分析
为验证系统性能情况和对恶意节点识别能力,分别开展了以下仿真实验。
1)注册效率性能测试。为测试系统注册效率,测试每秒钟注册节点从0增加到10 000个的响应时间情况,如图10所示。
注册节点数量从0增加到10 000的响应时间增长接近线性关系,10 000个节点对应的响应时间约为27 s,实验采用了ganache+truffle搭建以太坊私有链并部署智能合约,由于ganache搭建的私有链可以自行完成挖矿产生新区块特性,且有效缩短请求响应时间,在今后的实际应用中,本文系统模型将采用以太坊公链平台,使系统性能大幅提升,响应时间相应减少。导致本文实验的响应时间较多的另一个主要原因是RPC调用产生的延迟。
图7 系统主要功能测试结果
图8 误差变化曲线
图9 模型输出/输入对比
2)获取访问权限结果性能测试。为测试系统访问控制请求的响应时间,测试了每秒内发送请求节点从0到10 000个的响应时间情况,为验证RBF算法运行延迟情况,分别测试了不调用RBF算法和调用算法后的响应时间,如图11所示。
当请求节点从0增加到10 000时,调用RBF算法响应时间比不调用时略长,这是由于系统调用RBF算法时要进行大量计算,所以会产生延迟现象,在10 000个请求节点响应时间增加约为5 s。该实验响应时间主要限制因素有:运行系统的本身性能问题以及RPC调用产生的延迟。
图10 节点注册请求响应时间
图11 访问控制请求响应时间
3)恶意节点性能测试。为了验证模型对恶意节点的检测能力,选择1 000个有正常访问记录的恶意节点进行测试,如图12所示。
由上述性能实验可以看出,随着请求数量的增加,系统响应时间随之增加:注册请求的响应时间明显少于访问权限请求的响应时间,采用RBF算法的模型在请求节点数量超过4 000时,访问权限请求响应时间增加较快,而没有采用RBF算法的模型在请求节点数量超过6 000时出现此种情况,总体情况是不调用RBF算法的响应时间较调用RBF算法时间略少。恶意节点检测方面,采用六类非法访问特征作为输入节点,并初步定义各输入指标参数(每100次请求中,设定恶意节点检测触发初始值分别为IRP 3次,UPR 5次,ERP 14次,PRP 4次,NAFRP 13次,NARP 15次),结果表明,系统可将恶意节点在17次交易内检测出来并抑制恶意节点的后续交易,这个峰值结果和实验中1 000个恶意节点的非法访问特征参数设定有关,由于本文实验中1 000个恶意节点中属于NAFRP情况节点数量较多,所以峰值大约出现在第14次请求,因此恶意检测结果的峰值是不确定的。
图12 恶意节点检测结果
5 结语
本文面向WSN提出了一种基于区块链和智能合约的访问控制新型架构和建模方法,搭建了新型多智能合约的体系,采用三个智能合约实现注册管理、权限管理和访问政策管理功能,通过引入RBF神经网络学习算法,对访问节点进行访问信用度阈值评估,实现对海量节点访问控制的动态化、智能化管理,实现了灵活、智能、细粒度的控制过程,为当前的WSN访问提供了有益解决方案。安全性分析说明了系统方案的安全性;模型用以太坊为仿真平台,分别进行了功能实验、性能实验和信任度实验,说明了本文系统模型的可行性和有效性。由于本文系统引入了神经网络算法,并且对访问节点知识进行学习和记录,所需数据存储空间大、对计算能力要求高,而当前区块链系统在存储能力、计算能力存在瓶颈,下一步将在系统轻量化方面进一步研究。
[1] MANYIKA J, CHUI M. By 2025, Internet of things applications could have $11 trillion impact [EB/OL]. (2015-07-22)[2020-12-25].https://fortune.com/2015/07/22/mckinsey-internet-of-things/.
[2] FERRAIOLO D, CUGINI J, KUHN D R. Role-Based Access Control (RBAC): features and motivations[C/OL]// Proceedings of 11th Annual Computer Security Application Conference. [2020-12-25].https://tsapps.nist.gov/publication/get_pdf.cfm?pub_id=916537.
[3] YUAN E, TONG J. Attributed Based Access Control (ABAC) for web services[C]// Proceedings of the 2005 IEEE International Conference on Web Services. Piscataway: IEEE, 2005: 561-569.
[4] GUSMEROLI S, PICCIONE S, ROTONDI D. IoT access control issues: a capability based approach[C]// Proceedings of the 6th International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing. Piscataway: IEEE, 2012: 787-792.
[5] PARK J, SANDHU R. Towards usage control models: beyond traditional access control[C]// Proceedings of the 7th ACM Symposium on Access Control Models and Technologies. New York: ACM, 2002: 57-64.
[6] KHAN M A, SALAH K. IoT security: review, blockchain solutions, and open challenges[J]. Future Generation Computer Systems, 2018, 82: 395-411.
[7] HAMMI M T, HAMMI B, BELLOT P, et al. Bubbles of Trust: a decentralized blockchain-based authentication system for IoT[J]. Computers and Security, 2018, 78: 126-142.
[8] XU R H, CHEN Y, BLASCH E, et al. BlendCAC: a smart contract enabled decentralized capability-based access control mechanism for the IoT[J]. Computers, 2018, 7(3): No.39.
[9] OUADDAH A, ABOU ELKALAM A, AIT OUAHMAN A. FairAccess: a new Blockchain‐based access control framework for the Internet of Things[J]. Security and Communication Networks, 2016, 9(18): 5943-5964.
[10] OUADDAH A, ABOU ELKALAM A, AIT OUAHMAN A. Towards a novel privacy-preserving access control model based on blockchain technology in IoT[M]// ROCHA Á, SERRHINI M, FELGUEIRAS C. Europe and MENA Cooperation Advances in Information and Communication Technologies, AISC 520. Cham: Springer, 2017: 523-533.
[11] EKBLAW A, AZARIA A, HALAMKA J D, et al. A case study for blockchain in healthcare: “MedRec” prototype for electronic health records and medical research data[R/OL]. (2016-08)[2020-12-25].https://www.healthit.gov/sites/default/files/5-56-onc_blockchainchallenge_mitwhitepaper.pdf.
[12] HAMMI M T, BELLOT P, SERHROUCHNI A. BCTrust: a decentralized authentication blockchain-based mechanism[C]// Proceedings of the 2018 IEEE Wireless Communications and Networking Conference. Piscataway: IEEE, 2018: 1-6.
[13] CUI Z, FEI X U E, ZHANG S, et al. A hybrid BlockChain-based identity authentication scheme for multi-WSN[J]. IEEE Transactions on Services Computing, 2020, 13(2): 241-251.
[14] NOVO O. Blockchain meets IoT: an architecture for scalable access management in IoT[J]. IEEE Internet of Things Journal, 2018, 5(2): 1184-1195.
[15] LADIA A. Privacy centric collaborative machine learning model training via blockchain[C]// Proceedings of the 2019 International Congress on Blockchain and Applications, AISC 1010. Cham: Springer, 2020: 62-70.
[16] NAKAMOTO S. Bitcoin: a peer-to-peer electronic cash system[EB/OL]. [2020-12-25].https://bitcoin.org/bitcoin.pdf.
[17] 曹傧,林亮,李云,等. 区块链研究综述[J]. 重庆邮电大学学报(自然科学版), 2020, 32(1):1-14.(CAO B, LIN L, LI Y, et al. Review of blockchain research[J]. Journal of Chongqing University of Posts and Telecommunications (Natural Science Edition), 2020, 32(1): 1-14.)
[18] KING S, NADAL S. PPcoin: peer-to-peer crypto-currency with proof-of-stake[EB/OL]. (2012-08-19)[2020-12-25].https://decred.org/research/king2012.pdf.
[19] CASTRO M, LISKOV B. Practical Byzantine fault tolerance[C]// Proceedings of the 3rd Symposium on Operating Systems Design and Implementation. Berkeley: USENIX Association, 1999: 173-186.
[20] SUN Y, ZHANG L, FENG G, et al. Blockchain-enabled wireless Internet of Things: performance analysis and optimal communication node deployment[J]. IEEE Internet of Things Journal, 2019, 6(3): 5791-5802.
[21] LUU L, CHU D H, OLICKEL H, et al. Making smart contracts smarter[C]// Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. New York: ACM, 2016: 254-269.
[22] 欧阳丽炜,王帅,袁勇,等. 智能合约:架构及进展[J]. 自动化学报, 2019, 45(3): 445-457.(OUYANG L W, WANG S, YUAN Y, et al. Smart contracts: architecture and research progresses[J]. Acta Automatica Sinica, 2019, 45(3): 445-457.)
[23] WOOD G. Ethereum: a secure decentralised generalised transaction ledger[EB/OL]. [2020-12-25].https://ethereum.github.io/yellowpaper/paper.pdf.
[24] ANDROULAKI E, BARGER A, BORTNIKOV V, et al. Hyperledger fabric: a distributed operating system for permissioned blockchains[C]// Proceedings of the 13th EuroSys Conference. New York: ACM, 2018: No.30.
[25] LÓPEZ VIVAR A, CASTEDO A T, SANDOVAL OROZCO A L, et al. An analysis of smart contracts security threats alongside existing solutions[J]. Entropy, 2020, 22(2): No.203.
[26] PINNO O J A, GREGIO A R A, DE BONA L C E. ControlChain: blockchain as a central enabler for access control authorizations in the IoT[C]// Proceedings of the 2017 IEEE Global Communications Conference. Piscataway: IEEE, 2017: 1-6.
[27] ZHANG Y Y, KASAHARA S, SHEN Y L, et al. Smart contract-based access control for the Internet of Things[J]. IEEE Internet of Things Journal, 2019, 6(2): 1594-1605.
[28] 杜义峰,郭渊博. 一种基于信任值的雾计算动态访问控制方法[J]. 信息网络安全, 2020, 20(4):65-72.(DU Y F, GUO Y B. A dynamic access control method for fog computing based on trust value[J]. Netinfo Security, 2020, 20(4):65-72)
[29] 王海勇,潘启青,郭凯璇. 基于区块链和用户信用度的访问控制模型[J]. 计算机应用, 2020, 40(6): 1674-1679.(WANG H Y, PAN Q Q, GUO K X. Access control model based on blockchain and user credit[J]. Journal of Computer Applications, 2020, 40(6):1674-1679)
[30] OUTCHAKOUCHT A, ES-SAMAALI H, LEROY J P. Dynamic access control policy based on blockchain and machine learning for the Internet of Things[J]. International Journal of Advanced Computer Science and Applications, 2017, 8(7): 417-424.
[31] POGGIO T, EDELMAN S. A network that learns to recognize three-dimensional objects[J]. Nature, 1990, 343(6255): 263-266.
[32] YICK J, MUKHERJEE B, GHOSAL D. Wireless sensor network survey[J]. Computer Networks, 2008, 52(12): 2292-2330.
[33] SHELBY Z, HARTKE K, BORMANN C. The Constrained Application Protocol (CoAP): RFC 7252[S]. Fremont, CA: Internet Engineering Task Force, 2014-06.
[34] MURATA T. Petri nets: properties, analysis and applications[J]. Proceedings of the IEEE, 1989, 77(4): 541-580.
[35] BORMANN C, CASTELLANI A P, SHELBY Z. CoAP: an application protocol for billions of tiny internet nodes[J]. IEEE Internet Computing, 2012, 16(2): 62-67.
Smart contract-based access control architecture and verification for internet of things
LI Yang1, XU Long1, LI Yanqiang1,2*, LI Shaopeng1
(1(),,,250014,;2,,250061,)
Concerning the problem that the traditional access control methods face single point of failure and fail to provide trusted, secure and dynamic access management, a new access control model based on blockchain and smart contract for Wireless Sensor Network (WSN) was proposed to solve the problems of access dynamics and low level of intelligence of existing blockchain-based access control methods. Firstly, a new access control architecture based on blockchain was proposed to reduce the network computing overhead. Secondly, a multi-level smart contract system including Agent Contract (AC), Authority Management Contract (AMC) and Access Control Contract (ACC) was built, thereby realizing the trusted and dynamic access management of WSN. Finally, the dynamic access generation algorithm based on Radial Basis Function (RBF) neural network was adopted, and access policy was combined to generate the credit score threshold of access node to realize the intelligent, dynamic access control management for the large number of sensors in WSN. Experimental results verify the availability, security and effectiveness of the proposed model in WSN secure access control applications.
blockchain; access control; smart contract; dynamic access management; Wireless Sensor Network (WSN)
This work is partially supported by National Key Research and Development Program of China (2018YFE0197700), Shandong Major Scientific and Technological Innovation Project (2020CXGC010203), Study Abroad Program of Shandong Provincial Government (201802026).
LI Yang, born in 1980, M. S., associate research fellow. Her research interests include internet of things security, blockchain.
XU Long, born in 1995, M. S. candidate. His research interests include blockchain.
LI Yanqiang, born in 1977, Ph. D., research fellow. His research interests include internet of vehicles, unmanned driving.
LI Shaopeng, born in 1985, M. S., associate research fellow. His research interests include intelligent sensing.
TP391
A
1001-9081(2022)06-1922-10
10.11772/j.issn.1001-9081.2021040553
2021⁃04⁃12;
2021⁃07⁃08;
2021⁃07⁃08。
国家重点研发计划项目(2018YFE0197700);山东省重大科技创新工程项目(2020CXGC010203);山东省政府留学基金资助项目(201802026)。
李杨(1980—),女,山东济宁人,副研究员,硕士,主要研究方向:物联网安全、区块链;徐龙(1995—),男,安徽合肥人,硕士研究生,主要研究方向:区块链;李研强(1977—),男,山东莱芜人,研究员,博士,主要研究方向:车联网、无人驾驶;李绍鹏(1985—),男,山东济南人,副研究员,硕士,主要研究方向:智能感测。