一种物联网设备安全认证与高可用消息通信的系统及方法与流程



1.本发明属于电力物联网技术领域,尤其涉及一种物联网设备安全认证与高可用消息通信的系统及方法。


背景技术:



2.随着边缘计算的普及,以及5g环境加持,越来越多iot设备部署在企业边缘,企业安全防护工作面临不断挑战,由于边缘计算服务模式存在实时性、复杂性、感知性和数据多元异构等特性,传统云计算(云计算是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户)架构中的隐私保护和数据安全机制无法完全适用,随着智慧医疗、智慧交通、智慧工厂、智能家居、自动驾驶等新场景不断涌现,数据的计算安全、存储安全、共享安全等问题变的越来越突出,作为一种新的技术形式,边缘计算(边缘计算起源于传媒领域,是指在靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端服务。其应用程序在边缘侧发起,产生更快的网络服务响应,满足行业在实时业务、应用智能、安全与隐私保护等方面的基本需求)有着信息系统存在的典型安全问题,也有新技术、新业务、新场景下的新安全课题。
3.在万物互联的时代,无论是工业4.0、智能电网、智能传输还是智慧城市,智能家居、智能物流、远程医疗等相关的物联网设备接入到物联网中的数量将会成指数倍增长,预计在2022年,将有几百亿的物联网设备接入互联网中,海量设备的接入,必将带来数据的安全接入认证、消息的稳定高效通信等一系列问题,特别是电网设备对业务消息实时性响应要求更高,传统的物联网云边端消息通信总线架构中,采用单一的消息通信总线模式,当边缘侧设备应用出现故障,或者出于安全考虑需要限制应用访问权限时,需要在消息总线上操作,且通过消息总线的访问无法感知,当消息总线故障时,导致整体业务宕机,随着云边交互的设备越来越多,消息总线的压力也随之增大。公开号为cn105450659a的专利提供了一种物联网安全认证系统及认证方法,该认证系统包括连接到家庭局域网的物联网设备、用于控制物联网设备的控制终端设备、以及连接到家庭局域网用于对控制终端设备进行安全认证的认证设备;控制终端设备首次与认证设备连接时,通过家庭局域网与认证设备连接,再次连接时,控制终端设备通过广域网或家庭局域网与认证设备连接;认证设备通过家庭局域网与物联网设备连接;认证设备包括主控芯片和与主控芯片连接的用于存储控制终端设备唯一标识信息和物联网设备的唯一标识信息的存储模块。此专利只针对如何进行安全认证给出了技术方案,并未涉及到如何保证消息的高可用性。
4.因此,如何提供一种物联网设备安全认证以及高可用消息通信的系统及方法是本技术领域人员亟待解决的问题。


技术实现要素:



5.针对现有技术的不足,本发明的目的是提供一种物联网设备安全认证与高可用消
息通信的系统,以解决现有技术中无法保证物联网设备接入认证的安全性以及消息通信的高可用性的问题;此外本发明还提供了一种物联网设备安全认证与高可用消息通信的方法。
6.为了解决上述技术问题,本发明采用了如下的技术方案:
7.第一方面,本发明提供了一种物联网设备安全认证与高可用消息通信的系统,包括:认证与授权模块及认证服务器,用于物联网设备身份认证,接收物联网设备发送的设备认证请求,并验证物联网设备身份是否合法;边缘即插即用模块,用于检查物联网设备是否已认证过,若没有则从esdk设备管理模块获取设备信息并发起物联网设备身份认证请求;esdk设备管理模块,用于提供设备信息查询接口、设备控制接口以及事件通知订阅;安全代理模块,用于实现物联网设备接入到平台的安全认证,对原数据的软件级别的加密以及解密,提供多安全等级资源占用少的物联网设备身份认证服务;边缘代理模块,用于接收并使用物联网设备身份认证信息与平台的进行连接,并保存设备信息;nginx代理模块,用于与物联网设备端的所述边缘代理模块交互,并通过mqtt broker消息总线的主备模式保证消息的高可用性;所述认证与授权模块及认证服务器、esdk设备管理模块、安全代理模块、边缘代理模块分别与所述边缘即插即用模块通信连接,所述nginx代理模块与所述边缘代理模块通信连接。
8.进一步的,所述认证与授权模块及认证服务器验证物联网设备身份时,若合法,则分发证书、mqtt账号密码以及授权码,并自动注册设备信息至数据库;若不合法,则执行回滚操作,删除设备信息及账号密码,对有效设备信息清单进行管理。
9.进一步的,所述nginx代理模块使用设备证书、账号密码连接主备两个mqtt broker消息总线,当物联网设备端发送消息请求时,所述nginx代理模块会均衡分发到负载量低的mqtt broker消息总线上,通过nginx代理架构,物联网设备的应用通过mqtt broker消息总线的访问可以记录到access.log并发给监控平台。
10.进一步的,所述边缘代理模块还负责与平台段通信以及交互时的数据转发,所述边缘即插即用模块、esdk设备管理模块与平台通讯都通过edgehub进行转发。
11.进一步的,所述边缘即插即用模块获取的设备信息包括设备唯一id及mac地址。
12.进一步的,所述安全代理模块支持国际主流加密算法和国密算法从而满足不同安全资质要求。
13.进一步的,对有效设备信息清单进行管理包括查询、添加、删除、批量导入。
14.第二方面,本发明还提供了一种物联网设备安全认证与高可用消息通信的方法,包括以下步骤:
15.s10、物联网设备启动时,判断设备是否已注册,未注册则启动注册流程,边缘即插即用模块调用esdk设备管理模块接口获取设备唯一id及mac地址等设备信息;
16.s20、所述边缘即插即用模块将设备数据发送至安全代理模块加密;
17.s30、所述边缘即插即用模块使用加密的设备信息发送至认证与授权管理模块,获取授权码和设备证书;
18.s40、所述认证与授权管理模块将信息发送至认证服务器,返回认证结果;
19.s50、判断认证服务器检查设备的esn是否合法,不合法则返回错误信息,合法则返回加密后的设备证书及账号密码、授权码字节流;
20.s60、所述边缘即插即用模块将收到的设备证书、账号密码以及授权码信息发送给安全代理模块解密并将解密后的所述设备证书、账号密码以及授权码信息发送给所述边缘代理模块;
21.s70、所述边缘代理模块接收并保存所述设备证书、账号密码、授权码信息,返回处理成功/失败的信息,并使用相关信息连接nginx代理模块;
22.s80、所述nginx代理模块使用所述设备证书、账号密码连接主备两个mqtt broker消息总线,并返回处理成功/失败的信息给所述边缘代理模块;
23.s90、连接成功后,所述边缘代理模块与平台通过所述nginx代理模块交互,当边缘端发送消息请求时,所述nginx代理模块会均衡分发到负载量低的mqtt broker消息总线上,通过nginx代理架构,物联网设备的应用通过mqtt broker消息总线的访问可以记录到access.log并发给监控平台,进而保障消息的高可用性。
24.进一步的,所述步骤s50中,判断认证服务器检查设备的esn是否合法的依据为所述esn是否在数据库中且未被使用。
25.进一步的,所述步骤s50中,所述授权码、账号密码按一定规则随机生成,从而保证账号的唯一性。
26.本发明提供的物联网设备安全认证与高可用消息通信的系统及方法与现有技术相比,至少具有如下有益效果:
27.本发明基于全代理采用主备的消息总线模式,将消息请求进行调度管理,均衡分发到负载量低的消息总线服务器上,实现负载均衡,提高了消息通信高可用性和容错能力,通过消息总线的主备模式保证了消息的稳定性,进而保障整体业务正常,设备入网授权,通过安全认证之后能够自动注册至管理平台中,为防止设备被篡改或仿冒,平台只允许接入合法授权的设备,为每个物联网设备提供唯一的身份标识用于设备认证,支持国际主流加密算法和国密算法,快速对接物联网设备身份认证服务,全面提升了各种物联网设备接入平台认证与数据通信的安全性。
附图说明
28.为了更清楚地说明本发明的方案,下面将对实施例描述中所需要使用的图作一个简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
29.图1为本发明实施例提供的一种物联网设备安全认证与高可用消息通信的系统结构框图;
30.图2为本发明实施例提供的一种物联网设备安全认证与高可用消息通信的系统的设备接入认证示意图;
31.图3为本发明实施例提供的一种物联网设备安全认证与高可用消息通信的系统的边缘即插即用模块启动流程图;
32.图4为本发明实施例提供的一种物联网设备安全认证与高可用消息通信的系统的安全代理模块加密示意图;
33.图5为本发明实施例提供的一种物联网设备安全认证与高可用消息通信的系统的安全代理模块解密示意图。
具体实施方式
34.除非另有定义,本文所使用的所有技术和科学术语与属于本发明技术领域的技术人员通常理解的含义相同;本文在说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明,例如,术语“长度”、“宽度”、“上”、“下”、“左”、“右”、“前”、“后”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置为基于附图所示的方位或位置,仅是便于描述,不能理解为对本技术方案的限制。
35.本发明的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含;本发明的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。本发明的说明书和权利要求书及上述附图说明中,当元件被称为“固定于”或“安装于”或“设置于”或“连接于”另一个元件上,它可以是直接或间接位于该另一个元件上。例如,当一个元件被称为“连接于”另一个元件上,它可以是直接或间接连接到该另一个元件上。
36.此外,在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
37.本发明提供了一种物联网设备安全认证与高可用消息通信的系统,用于物联网设备身份认证与消息通信工作中,物联网设备安全认证与高可用消息通信的系统包括:认证与授权模块及认证服务器,用于物联网设备身份认证,接收物联网设备发送的设备认证请求,并验证物联网设备身份是否合法;边缘即插即用模块,用于检查物联网设备是否已认证过,若没有则从esdk设备管理模块获取设备信息并发起物联网设备身份认证请求;esdk设备管理模块,用于提供设备信息查询接口、设备控制接口以及事件通知订阅;安全代理模块,用于实现物联网设备接入到平台的安全认证,对原数据的软件级别的加密以及解密,提供多安全等级资源占用少的物联网设备身份认证服务;边缘代理模块,用于接收并使用物联网设备身份认证信息与平台的进行连接,并保存设备信息;nginx代理模块,用于与物联网设备端的边缘代理模块交互,并通过mqtt broker消息总线的主备模式保证消息的高可用性;认证与授权模块及认证服务器、esdk设备管理模块、安全代理模块、边缘代理模块分别与边缘即插即用模块通信连接,nginx代理模块与边缘代理模块通信连接。
38.本发明可有效提升各种物联网设备接入平台认证的安全性以及消息通信的高可用性。
39.为了使本技术领域的人员更好地理解本发明方案,下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述。
40.本发明提供了一种物联网设备安全认证与高可用消息通信的系统,用于物联网设备身份认证与消息通信工作中,如图1所示,本实施例中,所述物联网设备安全认证与高可用消息通信的系统包括:认证与授权模块及认证服务器,用于物联网设备身份认证,接收物联网设备发送的设备认证请求,并验证物联网设备身份是否合法;边缘即插即用模块,用于检查物联网设备是否已认证过,若没有则从esdk设备管理模块获取设备信息并发起物联网设备身份认证请求;esdk设备管理模块,用于提供设备信息查询接口、设备控制接口以及事件通知订阅;安全代理模块,用于实现物联网设备接入到平台的安全认证,对原数据的软件
级别的加密以及解密,提供多安全等级资源占用少的物联网设备身份认证服务;边缘代理模块,用于接收并使用物联网设备身份认证信息与平台的进行连接,并保存设备信息;nginx代理模块,用于与物联网设备端的边缘代理模块交互,并通过mqtt broker消息总线的主备模式保证消息的高可用性;认证与授权模块及认证服务器、esdk设备管理模块、安全代理模块、边缘代理模块分别与边缘即插即用模块通信连接,nginx代理模块与边缘代理模块通信连接。
41.进一步的,本实施例中,认证与授权模块及认证服务器验证物联网设备身份时,若合法,则分发证书、mqtt账号密码以及授权码,并自动注册设备信息至数据库;若不合法,则执行回滚操作,删除设备信息及账号密码,对有效设备信息清单进行管理,管理内容包括查询、添加、删除和批量导入。
42.具体地,如图2所示,认证与授权模块及认证服务器验证物联网设备身份的流程如下:
43.物联网设备通过安全代码模块调用esdk设备管理模块获取认证数据流;
44.边缘即插即用模块将认证数据流传输到平台段认证与授权模块;
45.平台端认证与授权模块通过调用服务端sdk将认证请求,发送至tid认证服务器;
46.认证服务器返回认证结果,若认证成功,服务端sdk会返回服务端认证数据流、授权码、会话token,同时会分发证书、mqtt账号密码以及授权码,并自动注册设备信息至数据库,验证失败时则执行回滚操作删除设备信息及账号密码,对有效设备信息清单进行管理,包括查询、添加、删除、批量导入;
47.tid认证服务器返回成功,平台端认证与授权模块需要将认证数据流信息完整传输至边缘即插即用模块,同时记录授权码、会话token用于后续的业务数据加/解密。
48.具体地,认证消息的数据结构如下表1、表2所示:
49.[0050][0051]
表1
[0052][0053]
表2
[0054]
具体地,数据表结构如表3所示:
[0055]
表名列名数据类型说明edgenodeidint(11)idedgenodenamevarchar(100)节点名称
edgenodenode_codevarchar(80)节点编号edgenodesystem_typevarchar(100)系统类型edgenodeproductsvarchar(100)产品edgenodeipvarchar(45)ipedgenodemqtt_addressvarchar(100)mqtt地址edgenodemqtt_usernamevarchar(100)mqtt用户名edgenodemqtt_passwordvarchar(64)mqtt密码edgenodeauthcodevarchar(256)认证码edgenodecreated_atdatetime创建时间edgenodeupdated_atdatetime更新时间edgenodedelint(11)id
[0056]
表3
[0057]
进一步的,本实施例中,边缘即插即用模块检查物联网设备是否已认证过,若没有则从esdk设备管理模块获取设备信息(设备唯一id及mac地址等设备信息),并发起物联网设备身份认证请求,整个认证过程在两秒内完成,并将认证结果转发至边缘代理模块。
[0058]
具体地,如图3所示,边缘即插即用模块流程如下:
[0059]
检查边缘设备是否已认证过;
[0060]
从esdk设备管理模块获取设备信息;
[0061]
发起物联网设备身份认证请求;
[0062]
转发认证结果至edgehub转发模块。
[0063]
具体地,获取设备身份信息的数据结构如表4所示:
[0064][0065][0066]
表4
[0067]
具体地,请求设备身份认证的数据结构如表5所示:
[0068][0069]
表5
[0070]
具体地,发送设备身份认证信息至edgehub的数据结构如表6所示:
[0071][0072][0073]
表6
[0074]
具体地,发送身份认证处理结构至云端服务的数据结构如表7所示:
[0075]
表7
[0076]
进一步的,本实施例中,esdk设备管理模块提供设备信息查询结构、设备控制接口以及事件通知订阅,它与操作系统进行交互,统一应用对物联网设备访问的接口。
[0077]
具体地,设备身份信息查询的数据结构如表8所示:
[0078][0079][0080]
表8
[0081]
进一步的,本实施例中,安全代理模块实现物联网设备接入到平台的安全认证,对原数据的软件级别的加密以及解密,提供多安全等级资源占用少的物联网设备身份认证服务,支持国际主流加密算法和国密算法,满足不同安全资质要求。
[0082]
具体地,支持国际主流加密算法和国密算法,如图4所示,以sm4为例,具体加密流程如下:
[0083]
sm4算法为一个分组算法,算法的分组长度为128比特,密钥长度为128比特,加密算法与密钥扩展算法都采用32轮非线性迭代结构,解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序,算法采用非线性迭代结构,每次迭代由一个轮函数给出,其中轮函数由一个非线性变换和线性变换复合而成,非线性变换由s盒所给出,其中rki为轮密钥,合成置换t组成轮函数,轮密钥的产生由加密密钥作为输入生成,轮函数中的线性变换不同,还有些参数的区别。
[0084]
基本密码部件:sm4密码算法使用了s盒、非线性变换τ、线性变换部件l、合成变换t基本密码部件。
[0085]
轮函数:sm4密码算法采用对基本轮函数进行迭代的结构。利用上述基本密码部件,便可构成轮函数。sm4密码算法的轮函数是一种以字为处理单位的密码函数。
[0086]
加密算法:sm4密码算法是一个分组算法。数据分组长度为128比特,密钥长度为128比特。加密算法采用32轮迭代结构,每轮使用一个轮密钥。
[0087]
密钥扩展算法:sm4密码算法使用128位的加密密钥,并采用32轮法代加密结构,每一轮加密使用一个32位的轮密钥,共使用32个轮密钥,因此需要使用密钥扩展算法,从加密密钥产生出32个轮密钥。
[0088]
具体地,如图5所示,具体解密流程如下:
[0089]
解密算法:sm4密码算法是对合运算,因此解密算法与加密算法的结构相同,只是轮秘钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
[0090]
具体地,数据加密的数据结构如表9所示:
[0091][0092]
表9
[0093]
数据解密的数据结构如表10所示:
[0094][0095][0096]
表10
[0097]
进一步的,本实施例中,边缘代理模块接收并使用物联网设备身份认证信息与平台进行连接,并保存设备信息,同时负责与平台端通信以及交互时的数据转发,与平台端nginx代理模块连接,边缘其他微服务与平台通信都通过边缘代理模块进行转发,方便权限控制。
[0098]
具体地,设备身份认证信息保存接口的数据结构如表11所示:
[0099][0100]
表11
[0101]
进一步的,本实施例中,如图1所示,nginx代理模块用于与物联网设备端的边缘代理模块交互,并使用设备证书、账号密码连接主备2个mqtt broker消息总线,当物联网设备端发送消息请求时,nginx代理模块会均衡分发到负载量低的mqtt broker消息总线上,通过nginx代理架构,边缘设备的应用通过mqtt broker消息总线的访问可以记录到
access.log并发给监控平台,保障了消息的可靠性,通过消息总线的主备模式保证了消息的稳定性,进而保障整体业务正常。
[0102]
具体地,nginx代理模块实现负载均衡的作用包括:
[0103]
a.转发功能
[0104]
按照一定的算法如权重算法、轮询算法,将客户端请求转发到不同消息总线服务器上,减轻单个消息总线的压力,提高系统并发量。
[0105]
b.故障移出
[0106]
通过心跳检测的方式,判断消息总线当前是否可以正常工作,如果消息总线宕掉,自动将请求发送到消息总线。
[0107]
c.恢复添加
[0108]
如检测到发生故障的消息总线恢复工作,自动将其添加到处理用户请求队伍中。
[0109]
具体地,nginx代理模块实现消息总线负载均衡的过程如下:
[0110]
a.设置主备消息总线mqtt broker的端口号,分为8081以及8082;
[0111]
b.先在nginx主配置文件定义负载均衡的子配置文件路径,负载均衡的子配置文件路径指令要和http语句块平级,一般写在主配置文件最后即可,由于stream是一级语句块,整个nginx只能有一个,因此所有的负载均衡配置,都写在同一个文件里。
[0112]
c.负载均衡配置,主要是对upstream的配置,假设2个mqtt broker的ip、端口号分别为192.168.0.28:8081跟192.168.0.28:8082,具体如下:
[0113]
[0114][0115]
其中,down表示单前的server暂时不参与负载,weight默认为weight越大,负载的权重就越大,max_fails允许请求失败的次数默认为1,当超过最大次数时,返回proxy_next_upstream模块定义的错误。
[0116]
具体地,负载均衡策略为:
[0117]
a.轮流处理请求
[0118]
每个请求按时间顺序逐一分配到不同的消息总线服务器,如果消息总线服务器down掉,自动剔除,剩下的继续轮询。
[0119]
b.权重
[0120]
通过配置权重,指定轮询几率,权重和访问比率成正比,用于应用服务器性能不均的情况。
[0121]
c.ip_哈希算法
[0122]
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个应用服务器,可以解决session共享的问题。
[0123]
本发明实施例还提供了应用于上述系统的一种物联网设备安全认证与高可用消息通信的方法,包括以下步骤:
[0124]
s10、物联网设备启动时,判断设备是否已注册,未注册则启动注册流程,边缘即插即用模块调用esdk设备管理模块接口获取设备唯一id及mac地址等设备信息;
[0125]
s20、边缘即插即用模块将设备数据发送至安全代理模块加密;
[0126]
s30、边缘即插即用模块使用加密的设备信息发送至认证与授权管理模块,获取授权码和设备证书;
[0127]
s40、认证与授权管理模块将信息发送至认证服务器,返回认证结果;
[0128]
s50、判断认证服务器检查设备的esn是否合法(esn是否在数据库中且未被使用),不合法则返回错误信息,合法则返回加密后的设备证书及账号密码、授权码字节流(授权码、账号密码按一定规则随机生成,从而保证账号的唯一性);
[0129]
s60、边缘即插即用模块将收到的设备证书、账号密码以及授权码信息发送给安全代理模块解密并将解密后的设备证书、账号密码以及授权码信息发送给边缘代理模块;
[0130]
s70、边缘代理模块接收并保存设备证书、账号密码、授权码信息,返回处理成功/失败的信息,并使用相关信息连接nginx代理模块;
[0131]
s80、nginx代理模块使用设备证书、账号密码连接主备两个mqtt broker消息总线,并返回处理成功/失败的信息给边缘代理模块;
[0132]
s90、连接成功后,边缘代理模块与平台通过nginx代理模块交互,当边缘端发送消息请求时,nginx代理模块会均衡分发到负载量低的mqtt broker消息总线上,通过nginx代理架构,物联网设备的应用通过mqtt broker消息总线的访问可以记录到access.log并发给监控平台,进而保障消息的高可用性。
[0133]
上述实施例所述的一种物联网设备安全认证与高可用消息通信的系统及方法,基于全代理采用主备的消息总线模式,将消息请求进行调度管理,均衡分发到负载量低的消息总线服务器上,实现负载均衡,提高了消息通信高可用性和容错能力,通过消息总线的主备模式保证了消息的稳定性,进而保障整体业务正常,设备入网授权,通过安全认证之后能够自动注册至管理平台中,为防止设备被篡改或仿冒,平台只允许接入合法授权的设备,为每个物联网设备提供唯一的身份标识用于设备认证,支持国际主流加密算法和国密算法,快速对接物联网设备身份认证服务,全面提升了各种物联网设备接入平台认证与数据通信的安全性。
[0134]
显然,以上所描述的实施例仅仅是本发明较佳实施例,而不是全部的实施例,附图中给出了本发明的较佳实施例,但并不限制本发明的专利范围。本发明可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本发明说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本发明专利保护范围之内。

技术特征:


1.一种物联网设备安全认证与高可用消息通信的系统,其特征在于,包括:认证与授权模块及认证服务器,用于物联网设备身份认证,接收物联网设备发送的设备认证请求,并验证物联网设备身份是否合法;边缘即插即用模块,用于检查物联网设备是否已认证过,若没有则从esdk设备管理模块获取设备信息并发起物联网设备身份认证请求;esdk设备管理模块,用于提供设备信息查询接口、设备控制接口以及事件通知订阅;安全代理模块,用于实现物联网设备接入到平台的安全认证,对原数据的软件级别的加密以及解密,提供多安全等级资源占用少的物联网设备身份认证服务;边缘代理模块,用于接收并使用物联网设备身份认证信息与平台的进行连接,并保存设备信息;nginx代理模块,用于与物联网设备端的所述边缘代理模块交互,并通过mqtt broker消息总线的主备模式保证消息的高可用性;所述认证与授权模块及认证服务器、esdk设备管理模块、安全代理模块、边缘代理模块分别与所述边缘即插即用模块通信连接,所述nginx代理模块与所述边缘代理模块通信连接。2.根据权利要求1所述的一种物联网设备安全认证与高可用消息通信的系统,其特征在于,所述认证与授权模块及认证服务器验证物联网设备身份时,若合法,则分发证书、mqtt账号密码以及授权码,并自动注册设备信息至数据库;若不合法,则执行回滚操作,删除设备信息及账号密码,对有效设备信息清单进行管理。3.根据权利要求2所述的一种物联网设备安全认证与高可用消息通信的系统,其特征在于,所述nginx代理模块使用设备证书、账号密码连接主备两个mqtt broker消息总线,当物联网设备端发送消息请求时,所述nginx代理模块会均衡分发到负载量低的mqtt broker消息总线上,通过nginx代理架构,物联网设备的应用通过mqtt broker消息总线的访问可以记录到access.log并发给监控平台。4.根据权利要求3所述的一种物联网设备安全认证与高可用消息通信的系统,其特征在于,所述边缘代理模块还负责与平台段通信以及交互时的数据转发,所述边缘即插即用模块、esdk设备管理模块与平台通讯均通过edgehub进行转发。5.根据权利要求1所述的一种物联网设备安全认证与高可用消息通信的系统,其特征在于,所述边缘即插即用模块获取的设备信息包括设备唯一id及mac地址。6.根据权利要求1所述的一种物联网设备安全认证与高可用消息通信的系统,其特征在于,所述安全代理模块支持国际主流加密算法和国密算法。7.根据权利要求2所述的一种物联网设备安全认证与高可用消息通信的系统,其特征在于,对有效设备信息清单进行管理包括查询、添加、删除、批量导入。8.一种应用于权利要求1至7任一项所述的物联网设备安全认证与高可用消息通信的系统的方法,其特征在于,包括以下步骤:s10、物联网设备启动时,判断设备是否已注册,未注册则启动注册流程,边缘即插即用模块调用esdk设备管理模块接口获取设备唯一id及mac地址等设备信息;s20、所述边缘即插即用模块将设备数据发送至安全代理模块加密;s30、所述边缘即插即用模块使用加密的设备信息发送至认证与授权管理模块,获取授
权码和设备证书;s40、所述认证与授权管理模块将信息发送至认证服务器,返回认证结果;s50、判断认证服务器检查设备的esn是否合法,不合法则返回错误信息,合法则返回加密后的设备证书及账号密码、授权码字节流;s60、所述边缘即插即用模块将收到的设备证书、账号密码以及授权码信息发送给安全代理模块解密并将解密后的所述设备证书、账号密码以及授权码信息发送给所述边缘代理模块;s70、所述边缘代理模块接收并保存所述设备证书、账号密码、授权码信息,返回处理成功/失败的信息,并使用相关信息连接nginx代理模块;s80、所述nginx代理模块使用所述设备证书、账号密码连接主备两个mqtt broker消息总线,并返回处理成功/失败的信息给所述边缘代理模块;s90、连接成功后,所述边缘代理模块与平台通过所述nginx代理模块交互,当边缘端发送消息请求时,所述nginx代理模块会均衡分发到负载量低的mqtt broker消息总线上,通过nginx代理架构,物联网设备的应用通过mqtt broker消息总线的访问可以记录到access.log并发给监控平台,进而保障消息的高可用性。9.根据权利要求8所述的一种方法,其特征在于,所述步骤s50中,判断认证服务器检查设备的esn是否合法的依据为所述esn是否在数据库中且未被使用。10.根据权利要求9所述的一种方法,其特征在于,所述步骤s50中,所述授权码、账号密码按一定规则随机生成,从而保证账号的唯一性。

技术总结


本发明适用于电力物联网技术领域,涉及一种物联网设备安全认证与高可用消息通信的系统及方法,包括:认证与授权模块及认证服务器,用于物联网设备身份认证;边缘即插即用模块,用于检查物联网设备是否已认证过;ESDK设备管理模块,用于提供设备信息查询接口、设备控制接口以及事件通知订阅;安全代理模块,用于实现物联网设备接入到平台的安全认证,对原数据的软件级别的加密以及解密;边缘代理模块,用于接收并保存设备信息;NGINX代理模块,用于与物联网设备端的边缘代理模块交互,并通过MQTT Broker消息总线的主备模式保证消息的高可用性。本发明可有效提升各种物联网设备接入平台认证的安全性以及消息通信的高可用性。认证的安全性以及消息通信的高可用性。认证的安全性以及消息通信的高可用性。


技术研发人员:

任明 习伟 邱连 刘金龙 李峻 汤可 蒋鑫伟 姚浩 陈军健 刘德宏 向柏澄

受保护的技术使用者:

南方电网数字电网研究院有限公司

技术研发日:

2022.08.18

技术公布日:

2022/12/8

本文发布于:2024-09-20 22:42:40,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/30256.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:设备   模块   消息   所述
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议