一种基于分层区块链的物联网设备身份认证方法及系统与流程

专利查询2月前  22



1.本发明属于物联网技术领域,具体涉及一种基于分层区块链的物联网设备身份认证方法及系统。


背景技术:

2.物联网中,攻击者可以通过非法窃取或者篡改设备的身份信息,假冒合法用户身份获得设备的操作权限,并进一步危害系统和数据安全。为确保物联网设备和系统的安全运行,需要采用可靠的身份确认过程,实现对物联网设备和操作人员的可信认证。
3.cn201911370765.3中公开了一种基于物联网设备身份认证方法以及系统,来确保设备的真实性以及完整性。该方案利用puf技术,在设备启动时提供设备芯片的唯一特征,生成设备的唯一标识符,不在设备上保存用户的敏感信息。并由设备所有者将设备的身份信息保存在区块链上,通过区块链的交易实现设备所有权的流转、访问控制和固件更新。该发明为物联网系统提供了设备身份认证机制,能够确保设备的真实性和完整性。但是采用这种技术也大大增加了物联网认证安全的运维成本。


技术实现要素:

4.本发明的一个目的是解决至少上述问题和/或缺陷,并提供至少后面将说明的优点。
5.本发明的目的在于提供一种基于分层区块链的物联网设备身份认证系统及使用方法,该系统直接将设备在物联网网络中的以太网地址(物理地址) 作为其唯一身份标识,降低了生成标识的成本。此外,系统将整个物联网网络划分为多个子网络,每个子网络包含不同类型的节点。通过设计分层的区块链模型,使身份认证过程发生在某两个子网络之间或者某个子网络空间内部,大大提升了身份认证速度。
6.为了实现根据本发明的这些目的和其它优点,提供了一种基于分层区块链的物联网设备身份认证系统,将整个网络工作空间划分为若干个无线传感器子网络(wireless sensor network,wsn),每个子网络包括基站、簇头节点和普通节点;
7.所述基站(base station)用于对所在子网内的各节点进行初始化和管理,接收来自各节点的数据并进行处理、存储和数据分析;所述基站直接与公共网络或云相连,可以访问公共网络和云中的其他资源;
8.所述簇头节点(cluster head node)用于连接所述基站与所述普通节点,接收所在子网内所述普通节点的数据进行处理和存储并转发给所述基站;所述簇头节点可以访问所述基站中的部分数据;
9.所述普通节点(ordinary node)为用于感知各种数据的终端设备;每个所述普通节点只属于一个wsn网络,所述普通节点只能感知和传输简单的数据;
10.所述身份认证系统还包括分层区块链模型,该模型由两部分组成:公共区块链和本地区块链;
11.所述公共区块链(public blockchain)主要由所述基站链接组成;所有所述基站都作为矿工节点连接到所述公共区块链,在所述公共区块链上注册和认证所述簇头节点,并对节点间跨wsn的通信进行认证;所述基站上部署有智能合约区块用于注册所述簇头节点,在对所述簇头节点进行认证时,匹配所述公共区块链网络中节点的身份信息来认证节点的身份,节点的身份信息经过认证后存储在所述公共区块链网络中;
12.所述本地区块链(local blockchain)为一个私有区块链,由单个wsn中的所有所述簇头节点链接组成,当所述簇头节点用所述公共区块链上的身份信息注册时,允许所述簇头节点加入相应的本地区块链;所述簇头节点直接与所述基站相连,在所述本地区块链上注册和认证所述普通节点;所述簇头节点上部署有智能合约区块用于注册所述普通节点,在对所述普通节点进行认证时,所述簇头节点直接从所述本地区块链节点获取整个节点信息列表,完成对普通节点的认证;节点的身份信息经过认证后存储在所述公共区块链网络中。
13.本发明的目的还可以进一步由基于分层区块链的物联网设备身份认证系统的使用方法来实现,该方法包括:
14.步骤一,所述基站对子网络内的所有节点进行初始化;
15.步骤二,通过所述分层区块链模型对不同的节点进行注册;
16.步骤三,所述普通节点连接认证;
17.步骤四,节点注销。
18.优选的是,其中所述步骤一具体包括以下步骤:
19.1)所述基站采用哈希函数对每个节点的以太网地址进行哈希计算,得到每个节点的唯一身份id=hash(eai)并发送给每个节点存储;其中,所述普通节点标识为oid,所述簇头节点标识为cid,所述基站标识为sid;
20.2)所述基站为每个节点生成一组公私密钥对pubkeyu和prikeyu,用于验证认证过程中发送消息的完整性;
21.3)所述基站为每个节点生成一个idcard,以证明其唯一的标识;包括:该节点所在无线传感器子网络的所述基站识别sid;该节点本身的标识 cid/oid;采用了椭圆曲线数字签名算法(ecdsa)的签名结果和所述基站的私钥。
22.优选的是,其中所述步骤二具体包括以下步骤:
23.1)通过所述公共区块链注册所述簇头节点:
24.所述簇头节点提交注册事务请求消息request_of_registration(cid,sid, idcardcid,timestamp),然后在所述公共区块链上触发智能合约,执行如下注册验证流程;
25.输入:(cid,sid,idcardcid,timestamp)
26.输出:验证是否成功
27.a.验证时间戳timestmap的有效性;
28.b.验证所述公共区块链中是否已经存在该簇头节点cid,如果已经存在,则验证失败;
29.c.验证所述基站标识sid的有效性;
30.d.在注册事务请求消息和所述基站公钥中验证所述簇头节点标识idcardcid的正确性;
31.当上述任一步骤无法验证时,所述簇头节点将无法注册,然后返回注册错误消息;当所有步骤都成功验证时,所述公共区块链将以指定格式存储所述簇头节点的身份信息,同时发布验证成功消息,之后所述本地区块链同意所述簇头节点可以访问网络;
32.2)通过所述本地区块链注册所述普通节点:
33.每个普通节点只能加入一个所述簇头节点工作,在按照一定规则选择簇网络后,所述普通节点广播其注册请求消息request_of_registration(sid,cid, oid,idcardoid,timestamp);接收到注册请求的所述簇头节点首先验证时间戳的时效性,在满足时效性的情况下,在所述本地区块链中设置注册交易事件,触发智能合约,执行如下注册验证流程;
34.输入:(sid,cid,oid,idcardoid,timestamp)
35.输出:验证是否成功
36.a.验证时间戳timestmap的有效性;
37.b.所述本地区块链节点从所述公有区块链中下载所有节点的身份信息,并查询oid是否已经存在,如果已经存在,则验证失败;
38.c.在所述公共区块链中查看所述簇头节点cid是否存在,如果不存在,则验证失败;
39.d.验证所述基站标识sid的有效性;
40.e.在注册事务请求消息和所述基站公钥中验证所述普通节点标识 idcardoid的正确性;
41.当上述任一步骤无法验证时,所述普通节点将无法注册,然后返回注册错误消息;当所有步骤都成功验证时,所述本地区块链将所述普通节点的身份信息上传到所述公共区块链并以指定格式存储,同时发布验证成功消息,之后所述本地区块链同意所述普通节点可以访问对应的子网络。
42.优选的是,其中所述步骤三具体包括以下步骤:
43.当普通节点a需要与普通节点b进行交互时,需要通过a和b之间的双向认证,在两个节点之间建立安全通道;当节点a发起认证时,它首先发送连接请求消息request_of_connection(oida,cida,sida,oidb,idcarda) 到所在簇网络的所述簇头节点,当所述簇头节点接收到验证请求时,触发智能合约,并在所述公共区块链和所述本地区块链上验证请求,执行如下连接认证流程;
44.输入:(oida,cida,sida,oidb,idcarda)
45.输出:验证是否成功
46.a.从所述区块链中查找到a节点所在的wsn子网的所述基站信息,验证节点a持有的idcarda的正确性;如果验证成功,则继续执行以下步骤,否则返回错误;
47.b.在所述区块链中查询oida和oidb的身份信息,如果不存在则返回错误;
48.c.检查节点a和节点b的oida和oidb状态,如果不是存活状态,则返回错误;
49.d.如果节点a和节点b在同一个wsn子网内,则执行步骤e,否则执行步骤f;
50.e.在所述本地区块链中查询节点b所归属的所述簇头节点信息cidb,如果cidb与cida相同,则直接返回验证成功并建立安全连接,否则,执行步骤g;
51.f.在公共区块链中查询节点节点a和节点b的oida和oidb身份信息,包括各自归属的所述簇头节点cidb与cida信息;
52.g.返回一个确认消息message_of_confirm(voucher,timestamp,oida, oidb)给所述簇头节点cida,然后对它们进行响应,其中voucher是所述本地区块链交易凭证;
53.h.所述簇头节点cida发送认证凭证authenticationa=(voucher, timestamp,oida)和签名结果signeda到所述簇头节点cidb;
54.i.所述簇头节点cidb向所述簇头节点cida发送认证凭证 authenticationb=(voucher,timestamp-1,oidb)和签名结果signedb;当它们都是相互有效的,则节点a和节点b之间建立安全连接。
55.优选的是,其中所述步骤四具体包括以下步骤:
56.所述簇头节点提交其所属子网络中需要注销的节点信息,提交注销请求消息request_unregistration(oid,cid,sid),然后在所述公共区块链上触发智能合约,执行如下注销验证流程:依次验证所述基站sid、所述簇头节点cid 和所述节点oid是否存在;当所有步骤都成功验证时,将所述节点oid的状态tag设置为0。
57.本发明至少包括以下有益效果:本发明利用了基于分层区块链模型的物联网设备身份认证方法,在较低的存储消耗的条件下,提升了身份认证的安全性;利用网络分层的方法将整个物联网空间划分为多个子网络,使身份认证的流程限制在最多两个子网络之间,降低计算成本;同时利用分层的节点结构和区块链模型,加快了身份认证速度。基于以上设计,本模型可以以较低的成本来实现鲁棒安全的身份认证。
58.本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
59.图1为本发明一个实施例中基于分层区块链模型的物联网设备身份认证方法的网络划分示意图;其中图标1为公共网络,图标2为基站,图标3为簇头节点,图标4为普通节点;
60.图2为本发明一个实施例中基于分层区块链模型的物联网设备身份认证系统的使用流程图。
具体实施方式
61.下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
62.应当理解,本文所使用的诸如“具有”、“包含”以及“包括”术语并不配出一个或多个其它元件或其组合的存在或添加。
63.首先将整个网络工作空间划分为若干个无线传感器子网络(wirelesssensor network,wsn),每个子网络包括基站、簇头节点和普通节点。网络中的节点相互协作完成特定任务,节点之间的交互需要保证节点身份的合法性。
64.所述基站(base station)用于对所在子网内的各节点进行初始化和管理,接收来自各节点的数据并进行处理、存储和数据分析;所述基站直接与公共网络或云相连,可以访问公共网络和云中的其他资源;基站具有丰富的计算和存储资源。
65.所述簇头节点(cluster head node)用于连接所述基站与所述普通节点,接收所在子网内所述普通节点的数据进行处理和存储并转发给所述基站;所述簇头节点可以访问
所述基站中的部分数据;具有很强的计算和存储能力。
66.所述普通节点(ordinary node)为用于感知各种数据的终端设备;每个所述普通节点只属于一个wsn网络,所述普通节点只能感知和传输简单的数据;普通节点(ordinary node)一般为各种终端设备(如智能家居、摄像头、传感器等),通常位于网络的边缘,计算和存储能力较弱,能量有限,不能进行复杂的操作和数据处理。
67.所述身份认证系统还包括分层区块链模型,该模型由两部分组成:公共区块链和本地区块链;在公共区块链中,节点通过连接到未经认证的区块链提交事务,并通过网络共识构建去中心化的信任网络。本地区块链节点需要通过认证才能加入网络工作,而不同wsn中的节点属于不同的管理者(基站),因此不能通过统一认证加入本地链。所述层次化区块链模型的功能设计具体如下:
68.所述公共区块链(public blockchain)主要由所述基站链接组成;所有所述基站都作为矿工节点连接到所述公共区块链,在所述公共区块链上注册和认证所述簇头节点,并对节点间跨wsn的通信进行认证;所述基站上部署有智能合约区块用于注册所述簇头节点,在对所述簇头节点进行认证时,匹配所述公共区块链网络中节点的身份信息来认证节点的身份,节点的身份信息经过认证后存储在所述公共区块链网络中;
69.所述本地区块链(local blockchain)为一个私有区块链,由单个wsn中的所有所述簇头节点链接组成,当所述簇头节点用所述公共区块链上的身份信息注册时,允许所述簇头节点加入相应的本地区块链;所述簇头节点直接与所述基站相连,在所述本地区块链上注册和认证所述普通节点;所述簇头节点上部署有智能合约区块用于注册所述普通节点,在对所述普通节点进行认证时,所述簇头节点直接从所述本地区块链节点获取整个节点信息列表,完成对普通节点的认证;节点的身份信息经过认证后存储在所述公共区块链网络中。
70.上述身份认证算法是基于网络结构和分层区块链模型设计的,具体步骤如下:
71.步骤一,所述基站对子网络内的所有节点进行初始化;
72.1)所述基站采用哈希函数对每个节点的以太网地址进行哈希计算,得到每个节点的唯一身份id=hash(eai)并发送给每个节点存储;其中,所述普通节点标识为oid,所述簇头节点标识为cid,所述基站标识为sid;
73.2)所述基站为每个节点生成一组公私密钥对pubkeyu和prikeyu,用于验证认证过程中发送消息的完整性;
74.3)所述基站为每个节点生成一个idcard,以证明其唯一的标识;包括:该节点所在无线传感器子网络的所述基站识别sid;该节点本身的标识 cid/oid;采用了椭圆曲线数字签名算法(ecdsa)的签名结果和所述基站的私钥。
75.步骤二,通过所述分层区块链模型对不同的节点进行注册;
76.初始化所有节点之后,通过分层区块链模型来对不同的节点进行注册。注册阶段主要包括两个方面:通过公共区块链注册簇头节点和通过本地区块链注册普通节点。
77.1)通过所述公共区块链注册所述簇头节点:
78.所述簇头节点提交注册事务请求消息request_of_registration(cid,sid, idcardcid,timestamp),然后在所述公共区块链上触发智能合约,执行如下注册验证流程;
79.输入:(cid,sid,idcardcid,timestamp)
80.输出:验证是否成功
81.a.验证时间戳timestmap的有效性;
82.b.验证所述公共区块链中是否已经存在该簇头节点cid,如果已经存在,则验证失败;
83.c.验证所述基站标识sid的有效性;
84.d.在注册事务请求消息和所述基站公钥中验证所述簇头节点标识idcardcid的正确性;
85.当上述任一步骤无法验证时,所述簇头节点将无法注册,然后返回注册错误消息;当所有步骤都成功验证时,所述公共区块链将以指定格式存储所述簇头节点的身份信息,同时发布验证成功消息,之后所述本地区块链同意所述簇头节点可以访问网络;
86.2)通过所述本地区块链注册所述普通节点:
87.每个普通节点只能加入一个所述簇头节点工作,在按照一定规则选择簇网络后,所述普通节点广播其注册请求消息request_of_registration(sid,cid, oid,idcardoid,timestamp);接收到注册请求的所述簇头节点首先验证时间戳的时效性,在满足时效性的情况下,在所述本地区块链中设置注册交易事件,触发智能合约,执行如下注册验证流程;
88.输入:(sid,cid,oid,idcardoid,timestamp)
89.输出:验证是否成功
90.a.验证时间戳timestmap的有效性;
91.b.所述本地区块链节点从所述公有区块链中下载所有节点的身份信息,并查询oid是否已经存在,如果已经存在,则验证失败;
92.c.在所述公共区块链中查看所述簇头节点cid是否存在,如果不存在,则验证失败;
93.d.验证所述基站标识sid的有效性;
94.e.在注册事务请求消息和所述基站公钥中验证所述普通节点标识 idcardoid的正确性;
95.当上述任一步骤无法验证时,所述普通节点将无法注册,然后返回注册错误消息;当所有步骤都成功验证时,所述本地区块链将所述普通节点的身份信息上传到所述公共区块链并以指定格式存储,同时发布验证成功消息,之后所述本地区块链同意所述普通节点可以访问对应的子网络。
96.步骤三,所述普通节点连接认证;
97.当普通节点a需要与普通节点b进行交互时,需要通过a和b之间的双向认证,在两个节点之间建立安全通道;当节点a发起认证时,它首先发送连接请求消息request_of_connection(oida,cida,sida,oidb,idcarda) 到所在簇网络的所述簇头节点,当所述簇头节点接收到验证请求时,触发智能合约,并在所述公共区块链和所述本地区块链上验证请求,执行如下连接认证流程;
98.输入:(oida,cida,sida,oidb,idcarda)
99.输出:验证是否成功
100.a.从所述区块链中查找到a节点所在的wsn子网的所述基站信息,验证节点a持有的idcarda的正确性;如果验证成功,则继续执行以下步骤,否则返回错误;
101.b.在所述区块链中查询oida和oidb的身份信息,如果不存在则返回错误;
102.c.检查节点a和节点b的oida和oidb状态,如果不是存活状态,则返回错误;
103.d.如果节点a和节点b在同一个wsn子网内,则执行步骤e,否则执行步骤f;
104.e.在所述本地区块链中查询节点b所归属的所述簇头节点信息cidb,如果cidb与cida相同,则直接返回验证成功并建立安全连接,否则,执行步骤g;
105.f.在公共区块链中查询节点节点a和节点b的oida和oidb身份信息,包括各自归属的所述簇头节点cidb与cida信息;
106.g.返回一个确认消息message_of_confirm(voucher,timestamp,oida, oidb)给所述簇头节点cida,然后对它们进行响应,其中voucher是所述本地区块链交易凭证;
107.h.所述簇头节点cida发送认证凭证authenticationa=(voucher, timestamp,oida)和签名结果signeda到所述簇头节点cidb;
108.i.所述簇头节点cidb向所述簇头节点cida发送认证凭证 authenticationb=(voucher,timestamp-1,oidb)和签名结果signedb;当它们都是相互有效的,则节点a和节点b之间建立安全连接。
109.步骤四,节点注销。
110.所述簇头节点提交其所属子网络中需要注销的节点信息,提交注销请求消息request_unregistration(oid,cid,sid),然后在所述公共区块链上触发智能合约,执行如下注销验证流程:依次验证所述基站sid、所述簇头节点cid和所述节点oid是否存在;当所有步骤都成功验证时,将所述节点oid的状态 tag设置为0。
111.这里说明的设备数量和处理规模是用来简化本发明的说明的。对本发明的应用、修改和变化对本领域的技术人员来说是显而易见的。
112.如上所述,根据本发明,提供了一种基于分层区块链的物联网设备身份认证系统及使用方法,该系统直接将设备在物联网网络中的以太网地址(物理地址)作为其唯一身份标识,降低了生成标识的成本。此外,系统将整个物联网网络划分为多个子网络,每个子网络包含不同类型的节点。通过设计分层的区块链模型,使身份认证过程发生在某两个子网络之间或者某个子网络空间内部,大大提升了身份认证速度。
113.尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用。它完全可以被适用于各种适合本发明的领域。对于熟悉本领域的人员而言,可容易地实现另外的修改。因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。

技术特征:
1.一种基于分层区块链的物联网设备身份认证系统,其特征在于,所述身份认证系统将整个网络工作空间划分为若干个无线传感器子网络(wireless sensor network,wsn),每个子网络包括基站、簇头节点和普通节点;所述基站(base station)用于对所在子网内的各节点进行初始化和管理,接收来自各节点的数据并进行处理、存储和数据分析;所述基站直接与公共网络或云相连,可以访问公共网络和云中的其他资源;所述簇头节点(cluster head node)用于连接所述基站与所述普通节点,接收所在子网内所述普通节点的数据进行处理和存储并转发给所述基站;所述簇头节点可以访问所述基站中的部分数据;所述普通节点(ordinary node)为用于感知各种数据的终端设备;每个所述普通节点只属于一个wsn网络,所述普通节点只能感知和传输简单的数据;所述身份认证系统还包括分层区块链模型,该模型由两部分组成:公共区块链和本地区块链;所述公共区块链(public blockchain)主要由所述基站链接组成;所有所述基站都作为矿工节点连接到所述公共区块链,在所述公共区块链上注册和认证所述簇头节点,并对节点间跨wsn的通信进行认证;所述基站上部署有智能合约区块用于注册所述簇头节点,在对所述簇头节点进行认证时,匹配所述公共区块链网络中节点的身份信息来认证节点的身份,节点的身份信息经过认证后存储在所述公共区块链网络中;所述本地区块链(local blockchain)为一个私有区块链,由单个wsn中的所有所述簇头节点链接组成,当所述簇头节点用所述公共区块链上的身份信息注册时,允许所述簇头节点加入相应的本地区块链;所述簇头节点直接与所述基站相连,在所述本地区块链上注册和认证所述普通节点;所述簇头节点上部署有智能合约区块用于注册所述普通节点,在对所述普通节点进行认证时,所述簇头节点直接从所述本地区块链节点获取整个节点信息列表,完成对普通节点的认证;节点的身份信息经过认证后存储在所述公共区块链网络中。2.如权利要求1所述基于分层区块链的物联网设备身份认证系统的使用方法,其特征在于,步骤一,所述基站对子网络内的所有节点进行初始化;步骤二,通过所述分层区块链模型对不同的节点进行注册;步骤三,所述普通节点连接认证;步骤四,节点注销。3.如权利要求2所述基于分层区块链的物联网设备身份认证系统的使用方法,其特征在于,所述步骤一具体包括以下步骤:1)所述基站采用哈希函数对每个节点的以太网地址进行哈希计算,得到每个节点的唯一身份id=hash(eai)并发送给每个节点存储;其中,所述普通节点标识为oid,所述簇头节点标识为cid,所述基站标识为sid;2)所述基站为每个节点生成一组公私密钥对pubkeyu和prikeyu,用于验证认证过程中发送消息的完整性;3)所述基站为每个节点生成一个idcard,以证明其唯一的标识;包括:该节点所在无线传感器子网络的所述基站识别sid;该节点本身的标识cid/oid;采用了椭圆曲线数字签名
算法(ecdsa)的签名结果和所述基站的私钥。4.如权利要求2所述基于分层区块链的物联网设备身份认证系统的使用方法,其特征在于,所述步骤二具体包括以下步骤:1)通过所述公共区块链注册所述簇头节点:所述簇头节点提交注册事务请求消息request_of_registration(cid,sid,idcardcid,timestamp),然后在所述公共区块链上触发智能合约,执行如下注册验证流程;输入:(cid,sid,idcardcid,timestamp)输出:验证是否成功a.验证时间戳timestmap的有效性;b.验证所述公共区块链中是否已经存在该簇头节点cid,如果已经存在,则验证失败;c.验证所述基站标识sid的有效性;d.在注册事务请求消息和所述基站公钥中验证所述簇头节点标识idcardcid的正确性;当上述任一步骤无法验证时,所述簇头节点将无法注册,然后返回注册错误消息;当所有步骤都成功验证时,所述公共区块链将以指定格式存储所述簇头节点的身份信息,同时发布验证成功消息,之后所述本地区块链同意所述簇头节点可以访问网络;2)通过所述本地区块链注册所述普通节点:每个普通节点只能加入一个所述簇头节点工作,在按照一定规则选择簇网络后,所述普通节点广播其注册请求消息request_of_registration(sid,cid,oid,idcardoid,timestamp);接收到注册请求的所述簇头节点首先验证时间戳的时效性,在满足时效性的情况下,在所述本地区块链中设置注册交易事件,触发智能合约,执行如下注册验证流程;输入:(sid,cid,oid,idcardoid,timestamp)输出:验证是否成功a.验证时间戳timestmap的有效性;b.所述本地区块链节点从所述公有区块链中下载所有节点的身份信息,并查询oid是否已经存在,如果已经存在,则验证失败;c.在所述公共区块链中查看所述簇头节点cid是否存在,如果不存在,则验证失败;d.验证所述基站标识sid的有效性;e.在注册事务请求消息和所述基站公钥中验证所述普通节点标识idcardoid的正确性;当上述任一步骤无法验证时,所述普通节点将无法注册,然后返回注册错误消息;当所有步骤都成功验证时,所述本地区块链将所述普通节点的身份信息上传到所述公共区块链并以指定格式存储,同时发布验证成功消息,之后所述本地区块链同意所述普通节点可以访问对应的子网络。5.如权利要求2所述基于分层区块链的物联网设备身份认证系统的使用方法,其特征在于,所述步骤三具体包括以下步骤:当普通节点a需要与普通节点b进行交互时,需要通过a和b之间的双向认证,在两个节点之间建立安全通道;当节点a发起认证时,它首先发送连接请求消息request_of_connection(oida,cida,sida,oidb,idcarda)到所在簇网络的所述簇头节点,当所述簇头
节点接收到验证请求时,触发智能合约,并在所述公共区块链和所述本地区块链上验证请求,执行如下连接认证流程;输入:(oida,cida,sida,oidb,idcarda)输出:验证是否成功a.从所述区块链中查找到a节点所在的wsn子网的所述基站信息,验证节点a持有的idcarda的正确性;如果验证成功,则继续执行以下步骤,否则返回错误;b.在所述区块链中查询oida和oidb的身份信息,如果不存在则返回错误;c.检查节点a和节点b的oida和oidb状态,如果不是存活状态,则返回错误;d.如果节点a和节点b在同一个wsn子网内,则执行步骤e,否则执行步骤f;e.在所述本地区块链中查询节点b所归属的所述簇头节点信息cidb,如果cidb与cida相同,则直接返回验证成功并建立安全连接,否则,执行步骤g;f.在公共区块链中查询节点节点a和节点b的oida和oidb身份信息,包括各自归属的所述簇头节点cidb与cida信息;g.返回一个确认消息message_of_confirm(voucher,timestamp,oida,oidb)给所述簇头节点cida,然后对它们进行响应,其中voucher是所述本地区块链交易凭证;h.所述簇头节点cida发送认证凭证authenticationa=(voucher,timestamp,oida)和签名结果signeda到所述簇头节点cidb;i.所述簇头节点cidb向所述簇头节点cida发送认证凭证authenticationb=(voucher,timestamp-1,oidb)和签名结果signedb;当它们都是相互有效的,则节点a和节点b之间建立安全连接。6.如权利要求2所述基于分层区块链的物联网设备身份认证系统的使用方法,其特征在于,所述步骤四具体包括以下步骤:所述簇头节点提交其所属子网络中需要注销的节点信息,提交注销请求消息request_unregistration(oid,cid,sid),然后在所述公共区块链上触发智能合约,执行如下注销验证流程:依次验证所述基站sid、所述簇头节点cid和所述节点oid是否存在;当所有步骤都成功验证时,将所述节点oid的状态tag设置为0。

技术总结
本发明公开了一种基于分层区块链的物联网设备身份认证系统,包括基站、簇头节点、普通节点和分层区块链模型:公共区块链和本地区块链;公共区块链主要由基站链接组成,对每个节点的以太网地址进行哈希计算,得到唯一的身份标识。基站用于注册和认证簇头节点,并对跨子网络的通信进行认证;本地区块链为私有区块链,由单个子网络中的所有簇头节点链接组成;簇头节点在本地区块链上注册和认证普通节点。本发明采用了基于分层区块链模型的物联网设备身份认证方法,在较低的存储消耗的条件下,提升了身份认证的安全性;使身份认证的流程限制在最多两个子网络之间,降低计算成本;同时利用分层的节点结构和区块链模型,加快了身份认证速度。认证速度。


技术研发人员:王东升 李坚 杨峰 吴佳
受保护的技术使用者:国网冀北电力有限公司
技术研发日:2021.11.19
技术公布日:2022/3/7

最新回复(0)