本发明涉及智能制造,尤其涉及一种路侧设备mqtt连接认证方法及系统。
背景技术:
1、v2x车路协同,属于物联网(iot)的范畴,实施过程中会有大量的路侧设备(如路侧通信单元rsu、边缘服务器mec、摄像头、雷达等)通过互联网的方式接入到云端,目前主要使用mqtt协议实现设备与云端数据的交互。为防止未知设备接入,设备接入前mqtt服务器会进行认证操作,认证流程如图1所示,包括:设备携带用户名和密码向mqtt服务器发布认证请求,mqtt服务器校验密码合法性,上述模式可能存在以下问题:
2、(1)密码明文传输存在通信安全隐患;
3、(2)密码明文存储在数据库,当数据库数据泄露时,存在密码安全隐患。
技术实现思路
1、为了解决上述问题,本发明提出了一种路侧设备mqtt连接认证方法及系统,以解决目前设备认证存储的安全隐患。
2、具体方案如下:
3、一种路侧设备mqtt连接认证方法,包括以下步骤:
4、s1:用户向云端发送用户名注册和密码生成请求;
5、s2:云端接收到请求后,对请求中包含的用户名进行注册,同时基于请求中包含的设备秘钥加密生成认证密码后,返回用户名和认证密码至用户;
6、s3:云端根据注册的用户名随机分配对应的盐值和加盐方式,基于认证密码、盐值和加盐方式进行加盐哈希运算生成对应的加盐哈希密文;将用户名对应的盐值、加盐方式和加盐哈希密文存储于数据库内;
7、s4:用户采用用户名和认证密码从路侧设备向云端的mqtt服务器发起认证请求;
8、s5:mqtt服务器基于认证请求中的用户名从数据库内查询对应的盐值、加盐方式和加盐哈希密文;
9、s6:mqtt服务器基于查询得到的盐值和加盐方式对认证请求中的认证密码进行加盐哈希运算,并将运算结果与查询得到的加盐哈希密文进行比对,如果一致,则设定认证结果为认证通过;否则设定认证结果为认证不通过;
10、s7:mqtt服务器将认证结果返回至路侧设备;
11、s8:当路侧设备接收到的认证结果为认证通过时,路侧设备接入mqtt服务器。
12、进一步的,步骤s1中用户向云端发送请求时通过门户网站或控制台进行发送。
13、进一步的,加密算法采用sha256。
14、进一步的,步骤s4中用户通过与路侧设备通信的上位机对路侧设备用于认证请求的用户名和认证密码进行设置后,路侧设备采用设置的用户名和认证密码向mqtt服务器发起认证请求。
15、一种路侧设备mqtt连接认证系统,包括路侧设备和云端,所述系统实现本发明实施例上述的方法的步骤。
16、本发明采用如上技术方案,通过两次不同的哈希算法,分别解决了密码传输过程中和数据库泄密可能存在的信息安全隐患,在车路协同等物联网领域,有效抵御非法设备的接入和敏感数据的传输,增加了云平台的安全性。
1.一种路侧设备mqtt连接认证方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的路侧设备mqtt连接认证方法,其特征在于:步骤s1中用户向云端发送请求时通过门户网站或控制台进行发送。
3.根据权利要求1所述的路侧设备mqtt连接认证方法,其特征在于:加密算法采用sha256。
4.根据权利要求1所述的路侧设备mqtt连接认证方法,其特征在于:步骤s4中用户通过与路侧设备通信的上位机对路侧设备用于认证请求的用户名和认证密码进行设置后,路侧设备采用设置的用户名和认证密码向mqtt服务器发起认证请求。
5.一种路侧设备mqtt连接认证系统,其特征在于:包括路侧设备和云端,所述系统实现如权利要求1~4中任一所述方法。