基于MQTT的安全通信方法及其系统技术方案

技术编号:26895119 阅读:24 留言:0更新日期:2020-12-29 16:20
本发明专利技术提供一种基于MQTT的安全通信方法及其系统,通过应用服务器程序对MQTT客户端程序的证书进行验证的同时,还由应用服务器程序将该证书发送给认证中心进行认证,避免物联网设备冒用或仿造证书,提供了通信的安全性。

【技术实现步骤摘要】
基于MQTT的安全通信方法及其系统
本专利技术属于MQTT
,尤其涉及一种基于MQTT的安全通信方法及其系统。
技术介绍
目前采用EMQ实现MQTT协议(MessageQueuingTelemetryTransport,消息队列遥测传输协议)时,EMQ本身提供了物联网设备到云服务器的TLS连接支持,云服务器只能确认连接设备携带的证书是安全连接,却无法获取证书的其他信息,如证书的序列号、证书的内容等,目前EMQ提供的插件只能获取到证书的通用名称(CommonName)和证书主题(Subject),不能对证书做进一步认证,无法避免物联网设备冒用或仿造证书。
技术实现思路
基于此,针对上述技术问题,提供一种基于MQTT的安全通信方法及其系统。为解决上述技术问题,本专利技术采用如下技术方案:一方面,提供一种基于MQTT的安全通信方法,包括:MQTT客户端程序向EMQ服务端程序发起TLS连接后,应用服务器程序从所述EMQ服务端程序接收所述EMQ客户端程序的证书,并对所述证书进行解析验证,其特征在于,还包括:所述应用服务器程序将所述证书发送到认证中心进行认证。另一方面,提供一种基于MQTT的安全通信系统,包括存储模块,所述存储模块包括由处理器加载并执行的指令,所述指令在被执行时使所述处理器执行上述一种基于MQTT的安全通信方法。本专利技术通过应用服务器程序对MQTT客户端程序的证书进行验证的同时,还由应用服务器程序将该证书发送给认证中心进行认证,避免物联网设备冒用或仿造证书,提供了通信的安全性。附图说明下面结合附图和具体实施方式本专利技术进行详细说明:图1为本专利技术的原理图。具体实施方式如图1所示,本说明书实施例提供一种基于MQTT的安全通信方法,包括:MQTT客户端程序向EMQ服务端程序发起TLS连接后,EMQ服务端程序获取到MQTT客户端程序的证书,然后通过HTTP请求调用应用服务器程序的接口,将上述证书转发给应用服务器程序。其中,上述证书由认证中心颁发,MQTT客户端程序安装在物联网设备上,EMQ服务端程序和应用服务器程序安装在云端服务器上,应用服务器程序为用户自己部署的服务。应用服务器程序从EMQ服务端程序接收MQTT客户端程序的证书,并对所述证书进行解析验证:对证书中的commonname和subject进行验证。同时,应用服务器程序将上述证书发送到认证中心进行认证,避免物联网设备冒用或仿造证书,提供了通信的安全性。较佳地,当MQTT客户端程序通过EMQ服务端程序发布或者订阅EMQ消息后,应用服务器程序会收到消息的主题(topic),应用服务器程序验证收到的主题是否合法:是否符合应用服务器的规范,从而防止非法设备进行发布或者订阅。较佳地,当MQTT客户端程序需要发送数据时,需要先通过EMQ服务端程序发送登录请求,应用服务器程序收到登录请求后,为MQTT客户端程序生成通信令牌(token),该token作为该客户端程序与服务端程序后续所有通信的凭据,一旦连接断开,token自动失效,再次通信时,客户端需要重新登录,重新获得token,实现通信数据的安全。基于同一专利技术构思,本说明书实施例还提供一种基于MQTT的安全通信系统,包括存储模块,存储模块包括由处理器加载并执行的指令(程序代码),指令在被执行时使处理器执行本说明书上述一种基于MQTT的安全通信方法部分中描述的根据本专利技术各种示例性实施方式的步骤。其中,存储模块可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)和/或高速缓存存储单元,还可以进一步包括只读存储单元(ROM)。可以以一种或多种程序设计语言的任意组合来编写用于执行本专利技术操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。但是,本
中的普通技术人员应当认识到,以上的实施例仅是用来说明本专利技术,而并非用作为对本专利技术的限定,只要在本专利技术的实质精神范围内,对以上所述实施例的变化、变型都将落在本专利技术的权利要求书范围内。本文档来自技高网
...

【技术保护点】
1.一种基于MQTT的安全通信方法,包括:MQTT客户端程序向EMQ服务端程序发起TLS连接后,应用服务器程序从所述EMQ服务端程序接收所述MQTT客户端程序的证书,并对所述证书进行解析验证,其特征在于,还包括:/n所述应用服务器程序将所述证书发送到认证中心进行认证。/n

【技术特征摘要】
1.一种基于MQTT的安全通信方法,包括:MQTT客户端程序向EMQ服务端程序发起TLS连接后,应用服务器程序从所述EMQ服务端程序接收所述MQTT客户端程序的证书,并对所述证书进行解析验证,其特征在于,还包括:
所述应用服务器程序将所述证书发送到认证中心进行认证。


2.根据权利要求1所述的一种基于MQTT的安全通信方法,其特征在于,还包括:
所述MQTT客户端程序通过所述EMQ服务端程序发布或者订阅EMQ消息后,所述应用服务器程序验证...

【专利技术属性】
技术研发人员:黄建彪
申请(专利权)人:爱瑟福信息科技上海有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1