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

一种基于区块链与边缘辅助的物联网设备认证方法及系统与流程

2021-11-15 18:51:00 来源:中国专利 TAG:


1.本发明涉及网络安全技术领域,特别是一种基于区块链与边缘辅助的物联网设备认证方法及系统。


背景技术:

2.在网络安全中,安全认证作为第一道也可以看作是最重要的一道防线,对于整个网络安全环境极其重要。安全认证的作用在于必须做到能够准确无误地将对方辨认出来,同时还应该提供双向认证,确保信息只会被正确的人所访问。身份认证可分为用户与系统间的认证以及系统与系统之间的认证。目前使用比较多的是用户与系统间的身份认证,只由系统对用户进行单向的身份验证。近年来,由于互联网的开放性,如何在通信过程中保证合法可信的身份成为互联网安全的重要组成部分,基于区块链的安全认证技术成为炙手可热的技术热点。
3.在物联网中,事物在没有人类干预的情况下处理和交换数据,由于这种充分的自主权,这些实体需要相互承认和认证,并确保其交换数据的完整性。与端点设备不同,物联网设备是资源受限的设备,无法保护自己,而且很容易被黑客攻击和破坏,如果无法提供有效保护措施,它们将成为恶意用户和恶意使用的目标。因此,对于物联网中用户与设备等参与实体进行身份认证势在必行。而现有技术中心化认证的方式不仅所具有的成本高、单点故障、黑客攻击和隐私规避等种种问题,还会导致物联网设备在短时间内生成大量的数据,当大量物联网设备同时启动通过全球互联网将数据传输到云数据中心时,发生严重的网络拥塞,因此物联网设备和云数据中心之间的高延迟交互是不可接受的,并且会大大降低服务质量。


技术实现要素:

4.本发明的目的在于提供一种安全性高、认证效率高并且去中心化的基于区块链与边缘辅助的物联网设备认证方法及系统。
5.实现本发明目的的技术解决方案为:
6.第一方面,本发明提出一种基于区块链与边缘辅助的物联网设备认证方法,包括以下内容:
7.1)系统初始化:部署智能合约,默认智能合约部署者作为管理员;
8.2)用户访问:用户通过已知设备地址进行发起访问,访问成功后通过对设备ea、edge ea、用户ea以及时间戳使用散列函数进行散列,获得用户唯一标识符uid并产生令牌token;
9.3)管理设备:管理员对设备进行管理,添加物联网设备与边缘节点之间的映射,或删除边缘节点管理设备列表中已存在的物联网设备;
10.4)管理用户权限:管理员对用户权限进行管理,包括添加用户权限和删除用户权限,添加用户权限是指添加用户、物联网设备与边缘节点三者之间的映射;
11.5)添加管理员:合约部署者作为管理员,能够添加新的管理员;
12.6)用户认证:通过对物联网设备与边缘节点之间的映射以及用户权限进行遍历,判断用户是否拥有访问权限。
13.进一步地,管理设备、管理用户权限以及添加管理员的过程中,通过修饰符判断任务发起者是否为管理员进行身份限定,只能够由管理员进行操作。
14.进一步地,智能合约中设置有两个映射:用户设备映射和边缘设备映射;边缘设备映射指物联网设备与边缘节点之间的映射,一个边缘节点关联多个物联网设备;用户设备映射指用户权限,用户设备映射存在的前提条件为该映射中的物联网设备与边缘节点存在于边缘设备映射中。
15.进一步地,所述用户访问,具体如下:
16.步骤11、用户输入访问物联网设备区块链地址,点击发起访问;
17.步骤12、监听智能合约中事件event的产生,智能合约中事件包括设备不存在事件、访问失败事件、添加设备成功事件、访问成功事件;若监听到设备不存在事件则说明物联网设备地址不存在于已知边缘设备映射中;若触发访问失败事件则说明该用户没有访问该物联网设备的权限;监听到上述两个事件则说明访问失败,否则进行步骤13;
18.步骤13、监听到访问成功事件之后用户界面反馈提示访问建立成功,访问成功后对设备ea、edge ea、用户ea以及时间戳使用keccak256散列函数进行散列,得到用户唯一标识符uid并产生令牌token;由于keccak256哈希函数是ether gas消耗中最有效的函数,因此,我们的方法与系统采用keccak256哈希函数。
19.进一步地,所述管理设备,具体如下:
20.管理员使用添加设备边缘映射函数adddeviceedgemapping(address edge,address device)其中参数address edge为边缘节点地址,address device为物联网设备地址,通过输入边缘节点地址和设备地址将物联网设备加入边缘设备映射,加入成功触发添加设备成功事件;管理员通过删除设备函数deldev删除边缘节点管理设备列表中已存在的物联网设备,通过onlyadmin修饰符判断任务发起者是否为管理员身份即判断是否存在于管理员数组中,实现只能够由管理员进行操作。
21.进一步地,所述管理用户权限,具体如下:
22.管理员使用添加用户设备映射函数adduserdevicemapping(address user,address device,address edge),其中参数address user为用户地址,address device为物联网设备地址,address edge为边缘节点地址,通过对用户地址、设备地址以及边缘地址进行输入从而添加新的用户权限,在添加的时候对物联网设备是否存在于边缘设备映射中进行判断,若存在则允许添加并触发添加用户设备成功事件;若所添加物联网设备地址与边缘节点设备地址不存在于已知映射中,则触发设备不存在事件,提示添加失败。
23.进一步地,所述添加管理员,具体如下:
24.在智能合约建立时,将建立智能合约的地址作为首位管理员加入管理员数组,管理员通过使用添加管理员函数addadmin(address newadmin)输入新的管理员地址添加新的管理员,其中参数address newadmin为新管理员的地址;添加成功则触发添加成功事件;在删除管理员时,判断管理员数组长度,管理员经过删除数量小于2时则不能够再进行删除。
25.进一步地,所述用户认证,具体如下:
26.步骤21、对用户地址与用户输入的物联网设备地址进行遍历智能合约中的映射,首先遍历边缘设备映射,判断物联网设备是否存在于边缘节点中,若存在则进行步骤22,不存在则产生设备不存在事件并反馈提示该设备不存在;
27.步骤22、遍历用户设备映射,即遍历用户权限,判断用户是否拥有访问该设备的权限,若存在则进行步骤23,不存在则反馈访问失败;
28.步骤23、用户拥有访问权限则触发访问成功事件并提示访问成功,并通过散列函数keccak256(device,edge,msg.sender,block.timestamp)对设备ea、edge ea、用户ea以及时间戳使用keccak256散列函数进行散列,其中参数device为物联网设备地址,edge为边缘节点地址,msg_sender为消息发送者在这里即为用户地址,block.timestamp为块时间戳,得到用户唯一标识符uid,通过令牌创建函数tokencreated(uid,msg.sender,device,edge)产生包含有uid唯一标识符、msg_sender消息发送者、device设备地址以及edge边缘节点地址的令牌。
29.第二方面,本发明提出一种基于区块链与边缘辅助的物联网设备认证系统,其特征在于,包括物联网设备iot,边缘节点edge node,管理员admin,用户user以及区块链bc,其中:
30.物联网设备iot:物联网设备通过管理员添加映射与边缘节点建立链接,用户通过区块链地址对物联网设备进行访问;
31.边缘节点edge node:当物联网设备通过映射加入边缘节点之后,边缘节点管理多个物联网设备,对用户权限进行验证;
32.管理员admin:管理员身份需求中限制只能由管理员进行权限的管理,管理员能够添加删除新的管理员,添加删除边缘节点,物联网设备映射,以及用户、边缘节点、物联网设备映射,如果由非管理员操作则提示失败,操作成功则提示相应操作执行成功,管理员不低于一位,若删除最后一位管理员报错无法删除;
33.用户user:通过web前端界面进行登录,登录之后通过输入所希望访问的物联网设备地址和边缘节点地址进行访问,访问成功或者失败得到提示;
34.区块链bc:为系统实现提供基本环境,利用智能合约实现管理员管理功能与对用户身份的认证。
35.本发明与现有技术相比,其显著优点为:(1)区块链技术的运用使系统不需要第三方的参与,不需要公钥分发;(2)边缘节点边缘计算的运用,边缘节点相对于云计算更能充分利用物联网特性,减轻了物联网设备在认证过程和与以太坊网络接口中所涉及的存储、内存和计算负载的负担;(3)解决了身份认证依赖于可信任第三方的问题,并且使用成本降低,使用边缘节点使其拓展了物联网设备有限的存储和处理能力。
附图说明
36.图1为本发明基于区块链与边缘辅助的物联网设备认证系统的总体结构框图。
37.图2为本发明系统初始化示意图。
38.图3为本发明中用户使用流程示意图。
39.图4为本发明中系统管理员管理工作的示意图。
40.图5为本发明基于区块链与边缘辅助的物联网设备安全认证方法的流程示意图。
具体实施方式
41.本发明提出一种基于区块链与边缘辅助的物联网设备认证方法,包括以下内容:
42.1)系统初始化:部署智能合约,默认智能合约部署者作为管理员;
43.2)用户访问:用户通过已知设备地址进行发起访问,访问成功后通过对设备ea、edge ea、用户ea以及时间戳使用散列函数进行散列,获得用户唯一标识符uid并产生令牌token;
44.3)管理设备:管理员对设备进行管理,添加物联网设备与边缘节点之间的映射,或删除边缘节点管理设备列表中已存在的物联网设备;
45.4)管理用户权限:管理员对用户权限进行管理,包括添加用户权限和删除用户权限,添加用户权限是指添加用户、物联网设备与边缘节点三者之间的映射;
46.5)添加管理员:合约部署者作为管理员,能够添加新的管理员;
47.6)用户认证:通过对物联网设备与边缘节点之间的映射以及用户权限进行遍历,判断用户是否拥有访问权限。
48.进一步地,管理设备、管理用户权限以及添加管理员的过程中,通过修饰符判断任务发起者是否为管理员进行身份限定,只能够由管理员进行操作。
49.进一步地,智能合约中设置有两个映射:用户设备映射和边缘设备映射;边缘设备映射指物联网设备与边缘节点之间的映射,一个边缘节点关联多个物联网设备;用户设备映射指用户权限,用户设备映射存在的前提条件为该映射中的物联网设备与边缘节点存在于边缘设备映射中。
50.进一步地,所述用户访问,具体如下:
51.步骤11、用户输入访问物联网设备区块链地址,点击发起访问;
52.步骤12、监听智能合约中事件event的产生,智能合约中事件包括设备不存在事件、访问失败事件、添加设备成功事件、访问成功事件;若监听到设备不存在事件则说明物联网设备地址不存在于已知边缘设备映射中;若触发访问失败事件则说明该用户没有访问该物联网设备的权限;监听到上述两个事件则说明访问失败,否则进行步骤13;
53.步骤13、监听到访问成功事件之后用户界面反馈提示访问建立成功,访问成功后对设备ea、edge ea、用户ea以及时间戳使用keccak256散列函数进行散列,得到用户唯一标识符uid并产生令牌token;由于keccak256哈希函数是ether gas消耗中最有效的函数,因此,我们的方法与系统采用keccak256哈希函数。
54.进一步地,所述管理设备,具体如下:
55.管理员使用添加设备边缘映射函数adddeviceedgemapping(address edge,address device)其中参数address edge为边缘节点地址,address device为物联网设备地址,通过输入边缘节点地址和设备地址将物联网设备加入边缘设备映射,加入成功触发添加设备成功事件;管理员通过删除设备函数deldev删除边缘节点管理设备列表中已存在的物联网设备,通过onlyadmin修饰符判断任务发起者是否为管理员身份即判断是否存在于管理员数组中,实现只能够由管理员进行操作。
56.进一步地,所述管理用户权限,具体如下:
57.管理员使用添加用户设备映射函数adduserdevicemapping(address user,address device,address edge),其中参数address user为用户地址,address device为物联网设备地址,address edge为边缘节点地址,通过对用户地址、设备地址以及边缘地址进行输入从而添加新的用户权限,在添加的时候对物联网设备是否存在于边缘设备映射中进行判断,若存在则允许添加并触发添加用户设备成功事件;若所添加物联网设备地址与边缘节点设备地址不存在于已知映射中,则触发设备不存在事件,提示添加失败。
58.进一步地,所述添加管理员,具体如下:
59.在智能合约建立时,将建立智能合约的地址作为首位管理员加入管理员数组,管理员通过使用添加管理员函数addadmin(address newadmin)输入新的管理员地址添加新的管理员,其中参数address newadmin为新管理员的地址;添加成功则触发添加成功事件;在删除管理员时,判断管理员数组长度,管理员经过删除数量小于2时则不能够再进行删除。
60.进一步地,所述用户认证,具体如下:
61.步骤21、对用户地址与用户输入的物联网设备地址进行遍历智能合约中的映射,首先遍历边缘设备映射,判断物联网设备是否存在于边缘节点中,若存在则进行步骤22,不存在则产生设备不存在事件并反馈提示该设备不存在;
62.步骤22、遍历用户设备映射,即遍历用户权限,判断用户是否拥有访问该设备的权限,若存在则进行步骤23,不存在则反馈访问失败;
63.步骤23、用户拥有访问权限则触发访问成功事件并提示访问成功,并通过散列函数keccak256(device,edge,msg.sender,block.timestamp)对设备ea、edge ea、用户ea以及时间戳使用keccak256散列函数进行散列,其中参数device为物联网设备地址,edge为边缘节点地址,msg_sender为消息发送者在这里即为用户地址,block.timestamp为块时间戳,得到用户唯一标识符uid,通过令牌创建函数tokencreated(uid,msg.sender,device,edge)产生包含有uid唯一标识符、msg_sender消息发送者、device设备地址以及edge边缘节点地址的令牌。
64.本发明提出一种基于区块链与边缘辅助的物联网设备认证系统,其特征在于,包括物联网设备iot,边缘节点edge node,管理员admin,用户user以及区块链bc,其中:
65.物联网设备iot:物联网设备通过管理员添加映射与边缘节点建立链接,用户通过区块链地址对物联网设备进行访问;
66.边缘节点edge node:当物联网设备通过映射加入边缘节点之后,边缘节点管理多个物联网设备,对用户权限进行验证;
67.管理员admin:管理员身份需求中限制只能由管理员进行权限的管理,管理员能够添加删除新的管理员,添加删除边缘节点,物联网设备映射,以及用户、边缘节点、物联网设备映射,如果由非管理员操作则提示失败,操作成功则提示相应操作执行成功,管理员不低于一位,若删除最后一位管理员报错无法删除;
68.用户user:通过web前端界面进行登录,登录之后通过输入所希望访问的物联网设备地址和边缘节点地址进行访问,访问成功或者失败得到提示;
69.区块链bc:为系统实现提供基本环境,利用智能合约实现管理员管理功能与对用户身份的认证。
70.下面结合附图和具体实施例对本发明作进一步详细说明。
71.实施例
72.结合图1,本发明一种基于区块链与边缘辅助的物联网设备安全认证系统,包括物联网设备iot,边缘节点edge node,管理员admin,用户user以及区块链bc。
73.所述物联网设备,系统中的每个物联网设备都映射到一个边缘节点;
74.所述边缘节点,用于管理对物联网设备的访问,每个节点可以管理一组物联网设备;
75.所述管理员,管理员,是负责管理物联网设备的用户访问控制列表和权限的实体。管理员是智能合约的所有者或创建者,可以添加其他用户作为管理员。管理员的主要任务是管理系统中物联网设备和edge节点的注册和注销。管理员通过智能合约授予终端用户访问物联网设备的权限。
76.所述用户,是向智能合约请求访问权限以访问特定物联网设备的客户。一旦用户通过智能合约获得访问权限,他们就会联系负责管理目标物联网设备的指定边缘节点进行身份验证和访问。
77.所述区块链,使用了单个智能合约。智能合约包含所有注册的边缘节点及其管理的相关物联网设备的映射,还包含一份经过身份验证的终端用户列表,这些用户映射到他们允许访问的物联网设备上。所有注册、身份验证和访问控制功能都通过智能合约以一种去中心化的方式进行治理。
78.表1符号描述
79.符号含义iot物联网设备edge node边缘节点admin管理员user用户bc区块链uid用户标识符keccak256散列函数token令牌pki公钥基础设施device设备msg_sender消息发送者block.timestamp区块时间戳ea以太坊地址event智能合约事件
80.结合表1与图1,基于区块链与边缘辅助的物联网设备安全认证系统,其特征在于包括以下内容:
81.1)系统初始化:通过前端页面选择身份作为管理员或者用户登录系统;
82.2)访问功能:用户通过已知设备地址进行发起访问,访问成功后通过对设备ea、edge ea、用户ea以及时间戳使用keccak256散列函数进行散列,keccak256哈希函数是
ether gas消耗中最有效的函数,以此得到用户唯一标识符uid并产生令牌token;
83.3)管理设备功能:管理员可对设备进行管理,添加物联网设备与边缘节点之间的映射或删除边缘节点管理设备列表中已存在的物联网设备;
84.4)管理用户权限功能:管理员可对用户权限进行管理,添加用户权限即添加用户、物联网设备与边缘节点三者之间的映射,同时可以删除用户所拥有权限;
85.5)添加管理员功能:系统初使默认合约建立者为管理员,管理员可以添加新的管理员;
86.6)用户认证功能:通过对于物联网设备与边缘节点之间的映射以及用户权限进行遍历,判断该用户是否拥有访问权限。
87.进一步地,管理设备功能、管理用户权限功能以及添加管理员功能通过修饰符onlyadmin判断任务发起者是否为管理员即判断是否存在于管理员数组中,对身份进行限定,实现只能够由管理员身份进行操作。
88.进一步地用户认证功能的实现在于对智能合约中存在的两个映射:用户设备以及边缘设备进行遍历。边缘设备映射即物联网设备与边缘节点之间的映射,一个边缘节点关联多个物联网设备;用户设备映射,即用户权限,其存在前提条件为该映射中的物联网设备与边缘节点应存在于边缘设备映射中。
89.系统首先进行初始化,如图2所示,通过搭建区块链网络构造系统基本环境,用户,管理员,边缘节点与物联网设备具有不重复的区块链地址。在区块链上部署智能合约,合约发布者默认为首位管理员。
90.在用户进行访问之前需由管理员对用户权限以及边缘设备进行录入与管理。如图3所示,管理设备功能具体实施过程如下:
91.首先管理员通过管理员地址并选择管理员身份登录系统,在系统中选择管理设备选项,管理设备选项分为添加与删除物联网设备;
92.其次,选择添加物联网设备则依次输入物联网设备地址与边缘节点地址,通过点击添加按钮可将其加入智能合约中的映射;可删除已有映射关系,若删除不存在映射关系则报错;
93.最后,添加成功触发边缘设备添加成功事件,在管理员界面进行反馈,日志信息内包括做出添加任务的管理员信息,设备信息,边缘节点信息以及事件信息。
94.如图3所示,管理员管理用户权限具体实施过程如下:
95.首先管理员通过管理员地址登录系统,选择管理用户权限选项,管理用户权限可分为添加和删除用户权限;
96.其次,若添加用户权限,需要依次输入用户地址,边缘节点地址以及物联网设备地址,可删除已存在用户权限;
97.再次,添加用户权限时执行函数进行对边缘节点地址以及物联网设备地址是否存在已知边缘设备映射中的遍历。若存在则添加成功,不存在则触发设备不存在事件;
98.最后,添加用户权限成功,触发添加成功事件,管理员界面反馈提示,日志信息内包括发起添加任务的管理员地址信息,用户、设备、边缘节点信息以及事件信息。
99.如图3所示,管理管理员功能由以下过程实现:
100.在智能合约建立时将建立智能合约的地址作为首位管理员加入管理员数组,管理
员可以通过使用添加管理员函数addadmin(address newadmin)输入新的管理员地址添加新的管理员,其中参数address newadmin为新管理员地址,添加成功则触发添加成功事件;在删除管理员时,判断管理员数组长度,即管理员经过删除数量小于2时不能够再进行删除。
101.进一步地,用户访问功能由以下步骤实现,如图4所示:
102.步骤一、用户输入访问物联网设备区块链地址,点击发起访问;
103.步骤二、监听合约事件的产生,若监听到设备不存在事件则说明物联网设备地址不存在于已知边缘设备映射中;若触发访问失败事件则说明该用户没有访问该物联网设备的权限;
104.步骤三、监听到访问建立成功事件并且由用户界面反馈提示访问建立成功。
105.用户访问功能的实现依赖于用户身份认证功能,如图5所示,用户认证功能由以下步骤实现:
106.步骤一、对用户地址与用户输入的物联网设备地址进行遍历智能合约中的映射,首先遍历边缘设备映射,判断物联网设备是否存在于某边缘节点中。若存在则进行第二步操作,不存在则产生设备不存在事件并反馈提示该设备不存在;
107.步骤二、遍历用户设备映射,即遍历用户权限,判断用户是否拥有访问该设备的权限。若存在则进行第三步,不存在则反馈访问失败;
108.步骤三、用户拥有访问权限则触发访问成功事件并提示访问成功,并通过散列函数keccak256(device,edge,msg.sender,block.timestamp)对设备ea、edge ea、用户ea以及时间戳使用keccak256散列函数进行散列,其中参数device为物联网设备地址,edge为边缘节点地址,msg_sender为消息发送者在这里即为用户地址,block.timestamp为块时间戳。keccak256哈希函数是ether gas消耗中最有效的函数,以此得到用户唯一标识符uid,通过令牌创建函数tokencreated(uid,msg.sender,device,edge)产生包含有参数uid唯一标识符、msg_sender消息发送者、device设备地址以及edge边缘节点地址的令牌。
109.为了证明本发明的有效性,性能分析如下:
110.本发明的计算开销主要包括系统初始化时部署合约,用户访问,管理员对管理员、设备以及用户权限管理,边缘节点认证用户权限主要六个过程使用的函数的计算开销。其中用户认证通过对于物联网设备与边缘节点之间的映射以及用户权限进行遍历,判断该用户是否拥有访问权限;用户在经过认证阶段视为访问成功后通过keccak256散列函数对设备ea、edge ea、用户ea以及时间戳使用keccak256散列函数进行散列,keccak256哈希函数是ether gas消耗中最有效的函数,以此得到用户唯一标识符uid,通过令牌创建函数tokencreated产生包含有uid唯一标识符、消息发送者、设备地址以及边缘节点地址的令牌。
111.进一步地,本实施例在intel(r)core(tm)i5

6200u cpu@2.30ghz,ram为4gb环境下进行实验;
112.因此,本发明一种基于区块链与边缘辅助的物联网设备安全认证方法及系统,利用区块链技术在安全性方面的特点,具有保密性,完整性,不可抵赖性等几方面的安全保证,身份验证中的每条消息交换都是在链上进行的,验证消息中使用uid和时间戳可以防止重放攻击和中间人攻击,生成的事件都是防篡改的,并且由于用户、物联网设备、边缘节点
和管理员的列表和映射记录都以去中心化和分布式的方式存储在区块链上,区块链具有的高度的健壮性和抗ddos攻击能力使其不受故障、黑客或妥协的影响;在系统性能方面,边缘节点与区块链的运用充分与物联网设备的特点结合,减少了服务交付时间和网络拥塞,提高了服务质量和用户体验。
再多了解一些

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

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

相关文献