一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种物联网终端节点访问控制方法

2022-05-31 18:10:13 来源:中国专利 TAG:


1.本发明涉及物联网技术领域,特别是一种基于树链与边缘计算的物联网终端节点访问控制方法。


背景技术:

2.随着物联网技术的不断发展,物联网技术被运用于各个领域。但是,物联网网络拓扑复杂性和低功耗设备的物理安全性较弱都可能会产生安全隐患。同时,由于物联网终端异构、网络通信方式多样、复杂的应用,对物联网安全提出了更高的要求,若要加强物联网平台中设备的共享,安全变得尤为重要。身份认证和访问控制是物联网环境中实现设备之间的安全通信最重要的功能之一,在分布式且资源受限的物联网环境中,基于边缘计算的身份认证和访问控制是最适合被用来抵御攻击的方式。目前物联网环境的访问控制主要面临着海量数据与异构环境、终端易受攻击冒用、海量节点环境下共识算法效率低下、数据共享流程复杂或不安全等问题。问题具体如下:海量数据与异构环境:物联网是通过互联网等网络方式将大量能感知外部环境的传感器、智能设备相互通信以完成不同的任务,实现“万物互联”。随着物联网技术的逐渐普及,海量设备的接入形成了异构环境,会在短时间内产生大量待处理的数据并通过网络被同时传输到数据中心,网络延时不可避免。
3.终端易受攻击冒用:传统的边缘化计算所有终端设备并没有进行身份认证的体系,也就不会存在信任的机制,这时恶意终端就可以随意进行接入,传播病毒以及软件的供给信息。就会导致物联网的运行出现瘫痪,影响整体的生产与生活。
4.海量节点环境下共识算法效率低下:目前物联网领域使用较多的pbft、raft等传统的共识算法需要通过两个阶段来确定验证者,并就最长的分类帐达成一致,这在计算、能量和延迟方面都是低效的。
5.数据共享复杂或不安全:在边缘计算与区块链的集成下,边缘节点并非都是安全可靠的,边缘节点在接入时也应当通过可信机制加以确认,并定义边缘节点在访问控制过程中的作用。


技术实现要素:

6.本发明所要解决的技术问题是克服现有技术的不足而提供一种基于树链与边缘计算的物联网设备访问控制方法,通过树链共识算法的高效性,解决大规模物联网设备接入场景下高效访问控制的难题。
7.本发明为解决上述技术问题采用以下技术方案:根据本发明提出的一种物联网终端节点访问控制方法,基于物联网实现物联网终端节点访问控制方法,物联网包括多个终端节点、多个边缘服务器节点和中心化数据库,物
联网中的部分边缘服务器节点组成区块链网络;终端节点,用于负责产生数据、同时能够通过区块链网络访问中心化数据库中的数据;并接入到边缘服务器节点;边缘服务器节点,用于负责管理接入其中的终端节点,并代表这些终端节点通过区块链网络访问中心化数据库中的数据或上传边缘服务器节点所管理的终端节点产生的数据至中心化数据库;中心化数据库,用于负责存储边缘服务器节点上传的数据;区块链网络,用于采用基于树链的共识算法完成边缘服务器节点的注册、终端节点的接入注册、终端节点产生的数据的上传、终端节点对中心化数据库中的数据的访问。
8.作为本发明所述的一种物联网终端节点访问控制方法进一步优化方案,区块链网络存储边缘服务器节点的注册信息、终端节点的注册信息、终端节点所产生的数据在中心化数据库中的存储地址、存储在中心化数据库中的终端节点所产生的数据的哈希值。
9.作为本发明所述的一种物联网终端节点访问控制方法进一步优化方案,区块链网络中使用视图来同步共识算法的执行,每个视图中为首的为创世区块,每一个视图的创世区块后面连接着多条子链,每条子链上的区块均由区块链网络中的验证器发出,即每个验证器对应着一条子链;其中,验证器指的是参与组成区块链网络的边缘服务器节点;每一个视图的下一个视图所产生的创世区块通过哈希算法连接到上一个视图的所有子链的最后一个区块上。
10.作为本发明所述的一种物联网终端节点访问控制方法进一步优化方案,基于树链的共识算法中的共识流程如下:每个视图包括验证器注册阶段和访问控制交易上链阶段,将验证器注册阶段分为五个时隙,分别标记为第一至第五时隙δ1、δ2、δ3、δ4;验证器注册阶段:当一个视图开始时,每个验证器根据自己的公钥和一个统一的随机数a,通过哈希运算计算出一个字符串,将这个字符串成为共识代码;共识代码对应着该视图中的唯一的边缘服务器节点;接着通过pbft算法,使得整个区块链网络维护一致的共识代码表,该共识代码表由共识代码组成;当参与区块链网络的每一个边缘服务器节点所维护的共识代码表一致后,参与区块链网络的所有边缘服务器节点对该共识代码表中的共识代码排序,根据共识代码分配结果,每一个验证器将分配到一个其所能验证的交易范围;每个视图的共识代码分配结果将存储在该视图中所产生的创世区块上。
11.作为本发明所述的一种物联网终端节点访问控制方法进一步优化方案,验证器注册阶段具体如下:在δ1期间,所有候选验证器将边缘服务器自身的公钥与一个统一的随机数a装入请求验证消息中并广播之;该公钥的有效性将由证书颁发机构ca验证;在δ2期间,每个候选验证器在接收到其他候选验证器发送的请求验证消息后,通过ca验证该请求验证消息中的公钥,并验证其签名;对于每个接收到的请求验证消息中包括的公钥与随机数a,所有候选验证器计算公钥与随机数a的组合的哈希,生成共识代码,并对计算出的所有共识代码进行降序排序,将降序排序结果与所接收到的来自不同候选验证器的请求验证消息总数,装入预准备消息中,并广播之;在δ3期间,每个候选验证器在收到其余候选验证器发送的预准备消息后,解析其中的降序排序结果;若累计解析出2f 1个相同的降序排序结果,f为区块链网络中所能够容
忍的最大恶意节点数量,则发送准备消息,该准备消息使用发送该消息的候选验证器的私钥签名;在δ4期间,每个候选验证器接收到准备消息,接着使用发送该准备消息的候选验证器的公钥验证该准备消息的签名;若验证通过,则解析δ3期间准备消息中的降序排序结果与每个候选验证器自己在δ2的期间产生的降序排序结果比对,若一致,则返回确认消息;当候选验证器累计接收到2f 1个确认消息后,将认为所有候选验证器维护的降序排序结果已经一致;接下来,在共识代码表中排序第一的共识代码所对应的边缘服务器节点产生创世区块,使用该边缘服务器节点自身的公钥对该创世区块签名,并广播之,创世区块中包含当前视图中候选验证器的数量、各候选验证器的公钥;其余验证器验证创世区块的签名,若验证成功,则将创世区块放置于区块链网络中所维护的区块链中;届时,候选验证器将变成验证器。
12.作为本发明所述的一种物联网终端节点访问控制方法进一步优化方案,访问控制交易上链阶段:当物联网网络中产生交易时,交易是指终端节点接入注册、终端节点数据可信上传或终端节点访问数据,验证器将验证落入自己验证范围的交易,若验证通过则打包这些交易并产生区块;该区块交予其余验证器验证,若验证通过,该区块将形成单独的子链,通过哈希算法连接至该视图的创世区块上。
13.作为本发明所述的一种物联网终端节点访问控制方法进一步优化方案,每一条共识代码与计算该共识代码所用公钥一一对应,每个公钥对应着一个边缘服务器节点、即每个共识代码都与一个边缘服务器节点对应。
14.本发明采用以上技术方案与现有技术相比,具有以下技术效果:(1)可靠性:通过将加密后节点上传数据的哈希值上传到区块链网络,所有的篡改操作均能通过验证哈希值检测出来,保证了数据的完整性和有效性;(2)高效性:通过在共识层采用基于树链的高效共识算法,完成大规模终端接入高并发海量请求条件下节点间的高效共识,完成高效的访问控制;(3)安全性:区块链网络上只储存数据所在地址,且数据通过对称加密技术加密,必须通过代理重加密技术访问已加密数据,且每次操作都会被记录在区块链上,以便后续的调查和审计工作;(4)隐私保护性:本地存储的数据全都由终端节点的对称密钥加密,这样即使有人恶意截取数据,没有相应的私钥也无法查看其内容,从而很好的保护了终端节点所有者的隐私;(5)权限划分明确:所有实体对数据具有的操作权限在颁发证书时即确定下来,每次操作数据都需先检查证书以确认实体具有操作权限,从而保证数据的安全共享。
附图说明
15.图1为本发明物联网网络的各实体组成示意图。
16.图2为本发明中初始化阶段的访问控制流程图。
17.图3为本发明中树链算法所产生的区块链数据结构示意图。
18.图4为本发明中终端节点接入注册阶段流程图。
19.图5为本发明中终端节点数据上传阶段流程图。
20.图6为本发明中数据访问阶段流程图。
21.图7为本发明中代理重加密技术流程图。
具体实施方式
22.为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。
23.区块链技术是随比特币等数字加密货币的日益普及而逐渐兴起的一种技术,通过建立一个共同维护且不可被篡改的分布式数据库来记录过去的所有交易和历史数据。在这种技术下,通过智能合约、数字加密等方式,边缘服务器节点达成共识。同时部署在区块链上的智能合约一旦制定和部署就能实现自我执行和自我验证,不再需要人为的干预。最后,基于密码学技术,这些交互能被严格验证,以保证合约能按照此前制定的规则顺利执行,从而防止出现违约行为。与此同时,树链共识算法是一种轻量级和快速算法。它采用树形结构的区块链,随机化验证器选择。支持上述树链共识算法的数据结构如图3所示。每个验证器所发出的区块独占一个子链。接着各个验证节点并行发块,从而极大提升区块链网络中的出块效率,提高物联网环境下节点身份认证与访问控制的速度。应用本方案的物联网各组成实体如图1所示,其中包含多个终端节点、多个边缘服务器节点和中心化数据库,物联网中的部分边缘服务器节点组成区块链网络。
24.如图2所示,提供了验证器注册阶段的流程图。
25.首先边缘服务器向ca注册,并缴纳一定的费用,获得公私钥,这一步操作的目的是增加在区块链网络中实施女巫攻击的成本。接着在网络中部署的可信节点向全网广播一个统一的随机数。想要成为验证节点(val)的边缘服务器节点将成为候选验证器,在收到此随机数后向其他候选验证器发送一个预准备(preprepare)消息。验证请求信息中包括该候选验证器的公钥pk(val)与一个随机数rn,并使用自己的私钥签名。该交易数据的格式为《preprepare 《pk(val), rn, sign(val), hash》《h, t 》》。其中hash为该请求的哈希,t为该交易的时间戳。其余候选验证器验证其签名,验证数据哈希是否一致。接下来为了使全网所有的排序结果保持一致,候选验证器就是指候选验证器,验证器节点就是指验证器。
26.候选验证器对于每个接收到的请求验证消息中包括的公钥与随机数a,所有候选验证器计算公钥与随机数a的组合的哈希,生成共识代码,接着对每条所有共识代码进行排序,并广播自己得到的排序结果(sr)与所收到的来自不同候选验证器的共识代码数量(n)。当验证节点收到2f 1个相同的排序结果sr(sort results),发送准备(prepare)消息。《prepare《sr, n, n, t, sign》》,该数据使用发送方验证节点的私钥签名。其他候选验证器接收到prepare消息后对签名、哈希进行验证,并比对自己的排序结果,一致后返回确认(commit)消息:《commit《 sr, n, h, t, sign》》。当节点接收到2f 1个确认消息后,认为全网排序已经一致,开始产生创世区块。节点排序第一的候选验证器产生创世区块,其余候选验证器验证创世区块是否有效,创世区块中包含当前视图中候选验证器的数量与每个候选验证器的公钥。届时,由于候选验证器已经在区块链中完成了注册,将变为验证器节点。图3为本发明中树链算法所产生的区块链数据结构示意图。
27.如图4所示,提供了终端节点接入注册阶段的流程图。
28.终端节点接入时,经由边缘服务器向ca注册并缴纳一定的费用。终端节点的私钥
在边缘服务器的数据库中保存。此时,管理该终端节点的边缘服务器节点将产生终端节点注册交易并向所有验证器节点广播,目的是将节点注册信息以终端节点注册交易的形式在区块链内保存。终端节点接入注册交易包括:《交易类型(终端注册),注册id,终端节点公钥,mac地址,边缘服务器节点签名,终端节点签名,哈希,时间戳》。值得注意的是,终端节点经由边缘服务器节点向ca注册的同时,该边缘服务器节点也将为终端节点分配对称加密密钥,这是因为本实施方式将通过使用代理重加密技术实现互不信任实体通过数据库实现安全数据共享。接下来验证器节点将选取落入自己共识代码范围内的交易。验证交易中发送该交易的边缘服务器签名、哈希,并通过ca校验数据包中的终端节点公钥是否存在,并用该终端节点公钥验证交易中的终端节点的签名,验证通过后将累计一定数量的交易以产生区块并广播该区块。所产生的区块结构为《《交易1, 交易2, 交易3

》v, n, h, t, sign》。其中,v为当前视图,n为当前区块在当前子链中的序号。h为所有交易的根哈希值,t为区块的时间戳,sign为产生该区块的候选验证器对区块的签名。接下来其余的验证节点验证该区块,验证的内容如下:(1)发块者的签名(2)该交易是否位于发块者的共识代码范围(3)同一视图(v)下是否为同一子链的同一编号的区块(4)区块哈希是否一致,验证通过后将该区块连接到该出块者对应的子链(账本)中。
29.如图5所示,提供了终端节点数据上传阶段的流程图。
30.首先,终端节点使用aes对称加密算法将即将上传的数据加密,并使用该终端节点自身的私钥签名后上传给管理自己的边缘服务器节点。接着,管理该节点的边缘服务器节点使用终端节点的公钥验证终端节点的签名,验证通过后将对称加密后的终端节点数据上传至数据库并返回数据存储的地址。接着边缘服务器节点将产生终端节点数据上传交易并使用自己的私钥签名该交易,接着向所有验证器节点广播该交易。该交易中包含的字段包括:《交易类型(数据上传),终端节点注册id,上传数据的哈希,数据存储地址》,其中上传数据的哈希为终端节点对称加密后数据的哈希。对应共识代码范围内的验证器节点在验证该交易时访问数据库对应地址验证交易,验证的内容包括数据的存储地址与数据哈希是否与交易所描述的内容一致。若验证通过,则接着验证边缘服务器签名、哈希,验证通过则累计一定数量的交易并打包交易产生区块并广播,该区块使用自己的公钥签名。所打包的区块格式为:《《交易1, 交易2, 交易3

》, s, h, v, n, t 》。其中,《交易1, 交易2, 交易3

》为一个区块中包含的交易,s为出块验证节点的签名,h为交易哈希,v为当前视图编号,n为当前视图下交易在对应子链中的编号,t为当前交易时间戳。类似于实例二,其余验证器节点在接收到该块后验证:发块者的签名;该交易是位于发块者的共识代码范围、同一视图(v)下是否为同一子链的同一区块编号(n)、数据摘要是否一致、验证通过后将通过哈希算法将该区块连接到该出块者对应的子链(账本)上。
31.如图6所示,提供了终端节点访问数据阶段的流程图。
32.首先终端节点向管理该终端节点的边缘服务器节点发送数据访问请求。边缘服务器节点接收到终端的访问请求消息,向区块链网络发起终端节点访问数据交易,该交易使用该边缘服务器节点的公钥签名。终端节点访问数据交易中包含《交易类型(访问)、被访问数据id、访问者终端节点公钥pk、被访问者终端节点公钥pk、操作时间、数字签名》。接着,在采用与终端节点数据上传阶段相同的出块与验证流程后,对应共识代码范围内的验证器节点查询并验证数据存储地址的正确性与数据哈希是否正确。数据请求方终端节点所在的边
缘服务器节点与目标终端节点所在边缘服务器节点之间通过代理重加密技术完成数据的共享。
33.图7补充了边缘服务器节点之间通过代理重加密技术完成数据共享的流程。
34.在该流程图中,边缘服务器b试图访问边缘服务器a所管理的节点存储在数据库中的数据。
35.边缘服务器a利用aes算法加密节点上传数据m生成密文c1,接着根据第二层加密算法并利用自己的公钥加密aes的密钥生成密文c2;接下来边缘服务器a把加密后的数据密文c1和c2上传到集中式数据库的服务器上。接着边缘服务器a向区块链网络请求边缘服务器b的公钥。区块链网络验证并查询边缘服务器b的公钥,并将边缘服务器b的公钥返回给边缘服务器a。边缘服务器a利用边缘服务器b的公钥和自己的私钥生成重加密密钥ka→b。接着边缘服务器把生成的重加密密钥k3上传到数据库服务器上。
36.数据库服务器b调用重加密算法生成新的密文c3,重加密算法的流程如下所示:重加密算法reenc(params, ct, rki→j):给定针对公钥pki,和第二层密文cti,该算法利用重加密密钥rki→j,生成一个针对公组pkj的第一层密文ctj。数据库服务器利用重加密密钥ka→b;和之前边缘服务器a上传的密文c2,做代理重加密运算生成新的密文c3。
37.接着边缘服务器b向数据库服务器请求解密数据m对应的密文c1。数据库服务器把重加密后生成的密文c3和c1发送给边缘服务器b。边缘服务器b解密密文c3得到对称密钥,并用该对称密钥解密c1得到原始的明文数据m。
38.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献