一种轻量级MQTT加密通信方法及系统与流程

文档序号:37287443发布日期:2024-03-13 20:36阅读:13来源:国知局
一种轻量级MQTT加密通信方法及系统与流程

本发明涉及物联网,特别指一种轻量级mqtt加密通信方法及系统。


背景技术:

1、物联网正在以惊人的速度改变自动化和通信方式,为确保在能源、性能和质量方面的优化,物联网设备运行的系统需要尽可能轻量级。虽然轻量级的系统在功耗与运算资源性能上具有优势,但同时也存在着不同层面的安全问题,因此需要对通信数据进行加密。

2、mqtt协议是一种订阅/发布模式的通信协议,因为其轻量级的特点在嵌入式设备中被广泛使用。常见的mqtt协议加密通信依赖于rsa算法,但rsa算法要求一定的密钥长度与较高的计算性能,对于资源受限的物联网设备而言,会陷入长时间运算而耗费可能有限的电能与计算资源。

3、因此,如何提供一种轻量级mqtt加密通信方法及系统,实现在保障通信安全的前提下,降低通信开销,成为一个亟待解决的技术问题。


技术实现思路

1、本发明要解决的技术问题,在于提供一种轻量级mqtt加密通信方法及系统,实现在保障通信安全的前提下,降低通信开销。

2、第一方面,本发明提供了一种轻量级mqtt加密通信方法,包括如下步骤:

3、步骤s10、各物联网设备启动后注册到mqtt服务器,web服务器注册到mqtt服务器,web客户端经过身份验证后连接至web服务器;

4、步骤s20、各物联网设备通过ecc算法将运行过程中的状态数据加密为消息,将所述消息发布到mqtt服务器;

5、步骤s30、web服务器将web客户端发送的消息订阅请求或者动作命令请求发送给mqtt服务器;

6、步骤s40、mqtt服务器接收到所述消息订阅请求时,将对应的所述消息发送给web服务器;mqtt服务器接收到所述动作命令请求时,控制物联网设备执行所述动作命令请求对应的动作,并将执行产生的所述消息发送给web服务器;

7、步骤s50、web服务器接收并存储mqtt服务器发送的所述消息,将所述消息发送给web客户端。

8、进一步的,所述步骤s20具体为:

9、各物联网设备通过ecc算法,周期性的将运行过程中的状态数据加密为消息,设定所述消息的主题后,将所述消息发布到mqtt服务器。

10、进一步的,所述步骤s30具体为:

11、web服务器接收到web客户端发送的通过ecc算法加密的消息订阅请求时,将所述消息订阅请求时实时发送给mqtt服务器;

12、web服务器接收到web客户端发送的通过ecc算法加密的动作命令请求时,将所述动作命令请求存储至数据库中,设置所述动作命令请求的动作标志为1,将所述动作命令请求发送给mqtt服务器。

13、进一步的,所述步骤s40具体为:

14、mqtt服务器接收到所述消息订阅请求时,通过ecc算法解密所述消息订阅请求,基于所述消息订阅请求携带的主题匹配对应的消息发送给web服务器;

15、mqtt服务器接收到所述动作命令请求时,将所述动作命令请求转发给物联网设备;物联网设备通过ecc算法解密所述动作命令请求,执行所述动作命令请求携带的动作,将动作过程中的状态数据加密为消息,设定所述消息的主题后,将所述消息发布到mqtt服务器;mqtt服务器将执行产生的所述消息发送给web服务器。

16、进一步的,所述步骤s50具体为:

17、web服务器接收mqtt服务器发送的所述消息,将所述消息存储至数据库中;接收到所述动作命令请求对应的消息时,将所述数据库的动作标志更新为0;

18、将所述消息发送给web客户端,web客户端通过ecc算法解密接收的所述消息并进行展示。

19、第二方面,本发明提供了一种轻量级mqtt加密通信系统,包括如下模块:

20、服务器注册连接模块,用于各物联网设备启动后注册到mqtt服务器,web服务器注册到mqtt服务器,web客户端经过身份验证后连接至web服务器;

21、消息发布模块,用于各物联网设备通过ecc算法将运行过程中的状态数据加密为消息,将所述消息发布到mqtt服务器;

22、请求发送模块,用于web服务器将web客户端发送的消息订阅请求或者动作命令请求发送给mqtt服务器;

23、消息发送模块,用于mqtt服务器接收到所述消息订阅请求时,将对应的所述消息发送给web服务器;mqtt服务器接收到所述动作命令请求时,控制物联网设备执行所述动作命令请求对应的动作,并将执行产生的所述消息发送给web服务器;

24、消息存储转发模块,用于web服务器接收并存储mqtt服务器发送的所述消息,将所述消息发送给web客户端。

25、进一步的,所述消息发布模块具体用于:

26、各物联网设备通过ecc算法,周期性的将运行过程中的状态数据加密为消息,设定所述消息的主题后,将所述消息发布到mqtt服务器。

27、进一步的,所述请求发送模块具体用于:

28、web服务器接收到web客户端发送的通过ecc算法加密的消息订阅请求时,将所述消息订阅请求时实时发送给mqtt服务器;

29、web服务器接收到web客户端发送的通过ecc算法加密的动作命令请求时,将所述动作命令请求存储至数据库中,设置所述动作命令请求的动作标志为1,将所述动作命令请求发送给mqtt服务器。

30、进一步的,所述消息发送模块具体用于:

31、mqtt服务器接收到所述消息订阅请求时,通过ecc算法解密所述消息订阅请求,基于所述消息订阅请求携带的主题匹配对应的消息发送给web服务器;

32、mqtt服务器接收到所述动作命令请求时,将所述动作命令请求转发给物联网设备;物联网设备通过ecc算法解密所述动作命令请求,执行所述动作命令请求携带的动作,将动作过程中的状态数据加密为消息,设定所述消息的主题后,将所述消息发布到mqtt服务器;mqtt服务器将执行产生的所述消息发送给web服务器。

33、进一步的,所述消息存储转发模块具体用于:

34、web服务器接收mqtt服务器发送的所述消息,将所述消息存储至数据库中;接收到所述动作命令请求对应的消息时,将所述数据库的动作标志更新为0;

35、将所述消息发送给web客户端,web客户端通过ecc算法解密接收的所述消息并进行展示。

36、本发明的优点在于:

37、通过各物联网设备启动后注册到mqtt服务器,web服务器注册到mqtt服务器,web客户端经过身份验证后连接至web服务器;接着各物联网设备通过ecc算法将运行过程中的状态数据加密为消息并发布到mqtt服务器;web服务器将web客户端发送的消息订阅请求或者动作命令请求发送给mqtt服务器;mqtt服务器接收到消息订阅请求时,将对应主题的消息发送给web服务器;mqtt服务器接收到动作命令请求时,控制物联网设备执行对应的动作,并将执行产生的消息发送给web服务器;最后web服务器接收并存储mqtt服务器发送的消息,将消息发送给web客户端,web客户端通过ecc算法解密接收的所述消息并进行展示;即物联网设备、mqtt服务器、web服务器以及web客户端之间传输的消息或者请求均通过ecc算法进行加解密,由于ecc算法基于椭圆曲线数学计算,利用椭圆曲线上的点的坐标进行加密和解密,相比rsa算法拥有更短的密钥长度,但又具有等效的安全级别,同时具有更快的运行速度与更小的带宽,适用于计算能力、内存和电量等资源受限的物联网设备,最终实现在保障通信安全的前提下,极大的降低了通信开销。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1