本发明涉及基于双区块链结构的物联网设备访问控制方法,属于区块链和物联网领域。
背景技术:
随着国内5g的正式商用,带动了边缘计算等行业再次兴起,尤其是5g环境倡导下的物物相连的物联网新型革命性技术协作模式,使得物联网技术备受关注。但是,在物联网技术在各种应用场景逐步的深入和规模增大的背景下,其传统系统的组织模式也凸显了其不可避免的弊端。譬如,在传统中心化的服务模式下,后期的扩展性降低、单点故障所带来的系统风险性增大、抵御ddos攻击能力弱等特点;以及其系统在信息安全方面的天然缺失,使得其不得不依靠其他技术来规避信息传输方面的信息安全问题;此外,对于参与整个系统信息流转和获取的用户、服务器以及大量的异构设备无法做到细粒度的权限控制。
区块链通过利用密码学作为底层支撑技术,其构造的分布式、多中心可信任、数据不可篡改的底层信息环境,使其应用于分布式的场景有天然的优势。多中心节点化,使得系统更具健壮性;其基于数字证书的权限管理基础和pki系统基础,为整个系统实现细粒度的权限管理和不依靠其他系统而实现节点间安全的信息交流提供了可能。
针对以上物联网技术发展所面临的桎梏以及区块链技术所提供的良好技术潜力。如何利用区块链技术解决上述问题,实现对物联网系统中的权限进行有效的管理以及实现整个系统良好的扩展性和系统信息吞吐性能,并能使得系统在底层上确保信息的安全性,是本领域技术人员亟待解决的技术问题。
技术实现要素:
有鉴于此,本发明提供基于双区块链结构的物联网设备访问控制方法,用以实现在基于区块链所提供的数据不可篡改的环境下,使得物联网设备的权限得到有效性的管理的同时又兼顾了整个系统架构的可扩展性和高性能等特点。
为达到上述目的,本发明提供如下技术方案:
基于双区块链结构的物联网设备访问控制方法,该方法由基于双区块链结构的物联网设备访问控制系统实现,该系统包括共识区块链模块、局域区块链模块、pki模块、业务服务模块、物联网设备,所述的共识区块链模块分别与局域区块链模块、pki模块、业务服务模块相连,所述的业务服务模块与pki模块相连,所述的局域区块链模块与pki模块相连,所述的物联网设备与局域区块链模块相连;包括以下步骤:
步骤①,系统初始化:通过pki模块分别生成共识区块链模块、局域区块链模块、业务服务模块、物联网设备的公钥加密系统的公私钥对;
步骤②,当用户向业务服务模块发出任务请求时,业务服务模块向共识区块链模块广播状态信息查询请求;
步骤③,共识区块链模块验证任务请求的合法性并对任务请求进行共识和打包上链;在共识区块链模块匹配到对应的局域区块链模块以后,共识区块链模块向局域区块链模块转发该任务请求;
步骤④,局域区块链模块通过pki模块对用户的身份进行验证;当身份验证通过后,局域区块链模块对用户的权限进行验证;当权限验证通过后,局域区块链模块指导物联网设备做出相应的响应;
步骤⑤,物联网设备将任务响应数据发送给局域区块链模块;
步骤⑥,局域区块链模块将该任务响应数据打包上链后,经由共识区块链模块合法性验证、共识、打包上链后,转送回复给监听此次任务请求的业务服务模块;该业务服务模块对任务响应数据进行验证后,对该数据进行解码后反馈给用户。
进一步,所述的业务服务模块为由带有通信模块和共识区块链轻节点的服务器组成。
当用户向业务服务模块发起任务请求时,业务服务模块向pki模块发起身份验证请求,当验证通过后,业务服务模块使用局域区块链模块的公钥对任务请求进行加密,使用业务服务模块的私钥进行签名,然后按照规则进行打包成业务服务模块的任务请求,并将业务服务模块的任务请求广播到共识区块链节点服务器。
当业务服务模块从共识区块链模块中监听到属于自己的任务响应数据时,通过业务服务模块的私钥对任务响应数据进行解密,然后按规则进行解码,并反馈给用户。
进一步,所述的共识区块链模块由带有通信模块和共识区块链算法的三个及以上服务器作为共识节点组网而成,共识区块链中包含了合法性配置项;所述的共识区块链算法可根据不同的应用场景,确定不同的共识算法,常选用pbft或者raft等共识协议算法。
当共识区块链模块中的任一服务器通过自带通讯模块接收到业务服务模块的任务请求时,共识区块链模块首先向pki模块发起身份验证请求,当验证通过后,共识区块链模块通过对比共识区块链配置项验证任务请求的合法性后,该服务器将任务请求打包成区块,然后采用共识区块链算法使得共识区块链模块其他各个节点服务器间信息状态达到一致并将区块上链,最后所有服务器检索区块中的任务请求,确定该任务请求匹配的服务器,并将任务请求发送到该服务器所连接的局域区块链模块。
当共识区块链模块中的任一服务器通过自带通讯模块接收到局域区块链模块的任务响应数据时,通过对比共识区块链配置项验证任务响应数据的合法性后,该服务器将任务响应数据打包成区块,然后采用共识区块链算法使得共识区块链模块其他各个节点服务器间信息状态达到一致并将区块上链。
进一步,所述的局域区块链模块为带有通信模块和局域区块链的服务器;所述的局域区块链包含了物联网设备的权限配置项,该权限配置项是与局域区块链模块相连接的所有物联网设备的授权配置。
当局域区块链模块通过通信模块接收到共识区块链模块的任务请求时,局域区块链模块向pki模块发起身份验证请求,当身份验证通过后,先通过业务服务模块的公钥对任务请求进行验签,然后局域区块链模块采用自己的私钥对任务请求进行解密,最后局域区块链模块根据权限配置项对所管理的物联网设备的访问和控制权限进行验证,并在验证通过后向物联网设备发起该任务请求。
当局域区块链模块通过通信模块接收到物联网设备上传的任务响应数据时,局域区块链模块将任务响应数据打包上链到局域区块链模块的服务器,然后通过通信模块将任务响应数据发送给共识区块链模块。
进一步,所述的pki模块为由带有通信模块和服务器、加密机、密码机组成的公钥基础设施,负责对公私钥对的发放、验证、撤销。特别地,pki的服务器既可直接接入共识区块链模块,亦可以分布式服务器形式作为通信簇内的pki服务器。
进一步,所述的物联网设备包括带有通信模块的智能温度计、各类环境传感器以及各类边缘计算设备;当物联网设备的通信模块接收到局域区块链模块的任务请求时,物联网设备做出相应的响应,并将任务响应数据通过公钥加密后发送给局域区块链模块。
本发明的有益效果在于:本发明提供了基于双区块链结构的物联网设备访问控制方法,利用双区块链架构模式将访问控制系统中通信的任务请求的共识处理流程和物联网设备的响应处理流程分割开来,提高访问控制系统对任务请求的处理能力,有利于物联网设备的权限得到有效性的管理,有利于实现数据信息的不可篡改,有利于访问控制系统的多中心服务化和去中心信任化。
附图说明
为了使本发明的目的、技术方案,本发明提供如下附图进行说明:
图1为本发明提供的基于双区块链结构的物联网设备访问控制方法流程构架图;其中:实线为结构连接关系,虚线为离线初始化设定;
图2为本发明实施例所提供的基于双区块链结构的智能温度计通信访问控制方法构架图。
具体实施方式
为使本发明的技术方案、实施例的目的以及系统架构的优点等更为明晰,下面将结合附图2,对本发明的优选实施例进行详细的描述。
为了解决在安置在不同地区的多个智能温度计实时状态值的获取问题,本实施例结合本发明方法了提供基于双区块链结构的智能温度计通信访问控制方法,该方法由基于双区块链结构的智能温度计通信访问控制系统实现,该系统包括共识区块链模块4、局域区块链模块5、pki模块3、业务服务模块2、智能温度计6,所述的共识区块链模块4分别与局域区块链模块5、pki模块3、业务服务模块2相连,所述的业务服务模块2与pki模块3相连,所述的局域区块链模块5与pki模块3相连,所述的智能温度计6与局域区块链模块5相连。本实施例方法包括以下步骤:
步骤①,系统初始化:通过pki模块3分别生成共识区块链模块4、局域区块链模块5、业务服务模块2、智能温度计6的公钥加密系统的公私钥对,初始状态的公私钥对可由固件烧入等操作去进行限定;
步骤②,当用户1向业务服务模块2发出获取实时温度值的任务请求时,业务服务模块2向共识区块链模块4广播状态信息查询请求;
步骤③,共识区块链模块4验证任务请求的合法性并对任务请求进行共识和打包上链;在共识区块链模块4匹配到对应的局域区块链模块5以后,共识区块链模块4向局域区块链模块5转发该任务请求;
步骤④,局域区块链模块5通过pki模块3对用户1的身份进行验证;当身份验证通过后,局域区块链模块5对用户1的权限进行验证;当权限验证通过后,局域区块链模块5发送实时上传温度值的指令给智能温度计6;
步骤⑤,智能温度计6将实时温度值发送给局域区块链模块5;
步骤⑥,局域区块链模块5将该任务响应信息打包上链后,经由共识区块链模4块合法性验证、共识、打包上链后,转送回复给监听此次任务请求的业务服务模块2;该业务服务模2块对该任务响应信息进行验证后,对该实时温度值数据进行解码后反馈给用户1。
进一步,所述的业务服务模块2为由带有通信模块和共识区块链轻节点的服务器组成。
进一步,所述的pki模块3为由带有通信模块和服务器、加密机、密码机组成的公钥基础设施,包含但不限于数字证书(公钥)颁发服务、数字证书吊销服务、密钥管理服务等。
进一步,所述的共识区块链模块4由带有通信模块和共识区块链算法的三个及以上服务器作为共识节点组网而成,共识区块链中包含了合法性配置项;所述的共识区块链服务器节点的应用场景中包含拜占庭节点,故而选用pbft共识协议算法作为共识区块链算法。
进一步,所述的局域区块链模块5为带有通信模块和局域区块链7的服务器;所述的局域区块链7包含了智能温度计6的权限配置项,该权限配置项是与局域区块链模块5相连接的所有智能温度计6的授权配置。
具体的,步骤②为:
用户1向业务服务模块2发起任务请求,该任务请求需要包含目标智能温度计6的数字证书、智能温度计6所属局域区块链节点的数字证书、发起主体用户1的数字证书、任务请求内容等,可以根据不同业务场景,对其进行扩充。
业务服务模块2向pki模块3发起身份验证请求,当验证通过后,业务服务模块2使用局域区块链模块5的公钥对任务请求进行加密,使用业务服务模块2的私钥进行签名,然后按照规则进行打包成业务服务模块2的任务请求,并将业务服务模块2的任务请求广播到共识区块链节点服务器4。
步骤③为:
当共识区块链模块4中的任一服务器通过自带通讯模块接收到业务服务模块2的任务请求时,共识区块链模块4首先向pki模块3发起身份验证请求;当验证通过后,共识区块链模块4通过对比共识区块链配置项验证任务请求的合法性后,该服务器将任务响应数据打包成区块,然后采用共识区块链算法使得共识区块链模块4其他各个节点服务器间信息状态达到一致并将区块上链;最后所有服务器检索区块中的任务请求,确定该任务请求匹配的节点服务器,并将任务请求发送到该服务器通信簇内的局域区块链模块5。
步骤④为:
当局域区块链模块5通过通信模块接收到共识区块链模块的任务请求时,对任务请求的数据包进行拆解,提取目标智能温度计6的数字证书、智能温度计6所属局域区块链节点的数字证书、发起主体用户1的数字证书、任务请求内容等。提取完毕后,局域区块链模块5向pki模块3发起身份验证请求,当身份验证通过后,先通过业务服务模块3的公钥对任务请求进行验签,然后局域区块链模块5采用自己的私钥对任务请求进行解密,最后局域区块链模块5根据权限配置项对所管理的智能温度计6的访问和控制权限进行验证,并在验证通过后向智能温度计6发起该任务请求。
步骤⑤为:
当智能温度计6的通信模块接收到局域区块链模块5的任务请求时,智能温度计6做出相应的响应,采集实时温度值,并将实时温度值的任务响应数据通过公钥加密后发送给局域区块链模块5。
步骤⑥为:
当局域区块链模块5通过通信模块接收到智能温度计6上传的任务响应数据时,局域区块链模块5将任务响应数据打包上链到局域区块链模块5的服务器,然后通过通信模块将任务响应数据发送给共识区块链模块4。当共识区块链模块4监听到任务响应数据时,通过对比共识区块链配置项验证任务响应数据的合法性后,该服务器将任务响应数据打包成区块,然后采用共识区块链算法使得共识区块链模块其他各个节点服务器间信息状态达到一致并将区块上链。当业务服务模块2从共识区块链模块4中监听到属于自己的任务响应数据时,通过业务服务模块2的私钥对任务响应数据进行解密,然后按规则进行解码,并反馈给用户1。
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其做出各种各样的改变,而不偏离本发明权利要求书所限定的范围。