一种通用的MQTT客户端id冲突检测及防护实现系统技术方案

技术编号:37330886 阅读:10 留言:0更新日期:2023-04-21 23:08
本发明专利技术公开了一种通用的MQTT客户端id冲突检测及防护实现系统,用于解决现有的MQTT客户端,出现相同MQTT客户端id登录,导致重复登录掉线的问题;本发明专利技术通过冲突检测模块对MQTT客户端id进行冲突检测分析,当出现MQTT客户端id出现冲突登录时,生成冲突提示标签,通过防护实现模块对其进行防护处理,及时禁止MQTT客户端id对应的请求连接;通过冲突处理结果和新登录处理结果进行防护处理,以便于根据需求更好的处理MQTT客户端id冲突;通过加密模块对MQTT客户端id进行加密验证处理,以便于保障MQTT客户端id处理的信息安全性。MQTT客户端id处理的信息安全性。MQTT客户端id处理的信息安全性。

【技术实现步骤摘要】
一种通用的MQTT客户端id冲突检测及防护实现系统


[0001]本专利技术涉及冲突检测
,具体为一种通用的MQTT客户端id冲突检测及防护实现系统。

技术介绍

[0002]MQTT客户端工具常用于建立与MQTT服务器的连接,进行主题订阅、消息收发等操作;每个MQTT客户端连接都需要唯一的客户端id,使用此唯一客户端id,代理可以识别客户端何时重新连接;但是现有的MQTT客户端在使用的过程中,出现相同MQTT客户端id登录,导致重复登录掉线的问题。

技术实现思路

[0003]本专利技术的目的在于为了解决现有的MQTT客户端,出现相同MQTT客户端id登录,导致重复登录掉线的问题,而提出一种通用的MQTT客户端id冲突检测及防护实现系统。
[0004]本专利技术的目的可以通过以下技术方案实现:一种通用的MQTT客户端id冲突检测及防护实现系统,包括客户端授权模块、实时采集模块和数据库;还包括:
[0005]冲突检测模块,用于对MQTT客户端进行冲突检测分析,具体分析过程为:
[0006]当检测到MQTT客户端请求连接时,获取MQTT客户端id并检测其是否为在线状态,若为在线状态,则生成冲突提示标签并发送至MQTT客户端和对应通信号码的智能终端上,同时接收智能终端反馈的冲突处理结果并将其发送至防护实现模块;若为非在线状态,则生成新登录提示标签并发送至MQTT客户端和对应通信号码的智能终端上,同时接收智能终端反馈的新登录处理结果并发送至防护实现模块;
[0007]防护实现模块,用于接收冲突处理结果和新登录处理结果并对其进行防护处理,对冲突处理结果进行处理,以驳回MQTT客户端id对应的请求连接或与MQTT客户端id连接并断开在先连接的对应MQTT客户端id;冲突处理结果包括禁止连接、禁止时间段连接、加密验证A连接和加密验证B连接;其中当冲突处理结果为加密验证A连接时,向MQTT客户端发送一级密钥输入指令并接收MQTT客户端输入的一级密钥结果,将一级密钥结果发送至加密模块,加密模块对一级密钥结果进行验证,验证成功时,生成验证成功指令,验证失败时,生成验证失败指令并反馈至防护实现模块;当接收到验证成功指令后,向MQTT服务器发送MQTT客户端id以及允许连接指令,MQTT服务器接收到MQTT客户端id以及允许连接指令后,与MQTT客户端id连接并断开在先连接的对应MQTT客户端id同时开始计时,当计时时长等于设定时长阈值时,断开连接;当接收到验证失败指令后,将其发送至MQTT客户端;
[0008]加密模块,用于获取数据库内存储的客户端授权信息并进行加密处理。
[0009]作为本专利技术的一种优选实施方式,对冲突处理结果进行处理,具体为:
[0010]当冲突处理结果为禁止连接时,向MQTT服务器发送MQTT客户端id以及禁止连接指令,MQTT服务器接收到MQTT客户端id以及禁止连接指令后,驳回MQTT客户端id对应的请求连接。
[0011]作为本专利技术的一种优选实施方式,当冲突处理结果为禁止时间段连接时,向MQTT服务器发送MQTT客户端id以及禁止连接指令和禁止时间段,MQTT服务器接收到MQTT客户端id以及禁止连接指令和禁止时间段后,在禁止时间段的范围内,当检测到该MQTT客户端id请求连接时,直接驳回MQTT客户端id对应的请求连接。
[0012]作为本专利技术的一种优选实施方式,当冲突处理结果为加密验证B连接时,对加密验证B连接进行解析以得到加密时间段,向MQTT客户端发送二级密钥输入指令并接收MQTT客户端输入的二级密钥结果,将二级密钥结果发送至加密模块,然后接收加密模块反馈的验证成功指令或验证失败指令;当接收到验证成功指令后,向MQTT服务器发送MQTT客户端id以及允许连接指令,MQTT服务器接收到MQTT客户端id以及允许连接指令后,与MQTT客户端id连接并断开在先连接的对应MQTT客户端id,同时防护实现模块在加密时间段检测到MQTT客户端id出现冲突提示标签时,均执行加密验证B连接对应操作。
[0013]作为本专利技术的一种优选实施方式,所述客户端授权模块用于授权需要冲突检测的MQTT客户端并将授权成功的MQTT客户端的客户端授权信息发送至数据库以及将MQTT客户端id发送至实时采集模块;
[0014]所述实时采集模块用于实时检测和采集授权后MQTT客户端的运行信息并将其发送至冲突检测模块。
[0015]作为本专利技术的一种优选实施方式,对新登录处理结果进行处理的具体过程为:
[0016]当新登录处理结果为临时登录连接时,则向MQTT服务器发送MQTT客户端id以及临时登录指令,MQTT服务器接收到MQTT客户端id以及临时登录指令后,与MQTT客户端id连接并断开在先连接的对应MQTT客户端id,同时在预设的时间范围内断开该临时登录的MQTT客户端id;
[0017]当新登录处理结果为加密验证C连接时,向MQTT客户端发送三级密钥输入指令并接收MQTT客户端输入的三级密钥结果,将三级密钥结果发送至加密模块,密模块对三级密钥结果进行验证,验证成功时,生成验证成功指令,验证失败时,生成验证失败指令并反馈至防护实现模块。
[0018]作为本专利技术的一种优选实施方式,所述加密模块的具体过程为:当数据库内存储新的客户端授权信息时,向客户端对应用户的通信终端发送加密图,其中加密图包括加密环一和加密环二,加密环一和加密环二上均设置有有若干个字符区,加密环一和加密环的中心均设置有指针,用户通过通信终端在字符区内填写自定义字符,且加密环一上所有字符区内的字符均不相同,填写完成后并定义起始区,将填写后的加密图发送至加密模块;加密模块接收到加密图后,解析加密图中的加密环一和加密环二并将加密环一和加密环二构建齿轮啮合,使得加密环一与加密环二形成啮合传动;再向客户端对应用户的通信终端发送加密预配请求指令,用户通过通信终端发送加密预配码至加密模块;其中加密预配码由多个加密环一内的自定义字符排列组成;加密模块接收到加密预配码后,将加密环一上的起始区与指针对齐,然后将加密预配码对照加密环一内的自定义字符进行匹配得到加密环一对应的旋转角度和旋转方向,提取旋转角度的数值,当旋转方向为逆时针方向时,旋转角度的数值取负值,将旋转角度依照顺序构成MQTT客户端id对应的密钥并将其与起始区的自定义字符发送至用户的通信终端;同时加密环一旋转时,加密环二随之旋转,将加密环二相对应旋转产生的一定顺序的自定义字符组合标记为私钥,将私钥、起始区、加密环一以及加
密环二标记为MQTT客户端id对应的加密信息,将加密信息发送至数据库内存储。
[0019]作为本专利技术的一种优选实施方式,所述加密模块还用于接收MQTT客户端id对应的一级密钥结果、二级密钥结果和三级密钥结果并进行验证,具体为:
[0020]当接收到一级密钥结果或三级密钥结果时,对其进行解析以得到密钥,向数据库内获取MQTT客户端id对应的加密信息,对密钥进行验证处理,具体为:将密钥代入加密信息中加密本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种通用的MQTT客户端id冲突检测及防护实现系统,包括客户端授权模块、实时采集模块和数据库;其特征在于,还包括:冲突检测模块,用于对MQTT客户端进行冲突检测分析,具体分析过程为:当检测到MQTT客户端请求连接时,获取MQTT客户端id并检测其是否为在线状态,若为在线状态,则生成冲突提示标签并发送至MQTT客户端和对应通信号码的智能终端上,同时接收智能终端反馈的冲突处理结果并将其发送至防护实现模块;若为非在线状态,则生成新登录提示标签并发送至MQTT客户端和对应通信号码的智能终端上,同时接收智能终端反馈的新登录处理结果并发送至防护实现模块;防护实现模块,用于接收冲突处理结果和新登录处理结果并对其进行防护处理,对冲突处理结果进行处理,以驳回MQTT客户端id对应的请求连接或与MQTT客户端id连接并断开在先连接的对应MQTT客户端id;冲突处理结果包括禁止连接、禁止时间段连接、加密验证A连接和加密验证B连接;其中,当冲突处理结果为加密验证A连接时,向MQTT客户端发送一级密钥输入指令并接收MQTT客户端输入的一级密钥结果,将一级密钥结果发送至加密模块,加密模块对一级密钥结果进行验证,验证成功时,生成验证成功指令,验证失败时,生成验证失败指令并反馈至防护实现模块;当接收到验证成功指令后,向MQTT服务器发送MQTT客户端id以及允许连接指令,MQTT服务器接收到MQTT客户端id以及允许连接指令后,与MQTT客户端id连接并断开在先连接的对应MQTT客户端id同时开始计时,当计时时长等于设定时长阈值时,断开连接;当接收到验证失败指令后,将其发送至MQTT客户端;加密模块,用于获取数据库内存储的客户端授权信息并进行加密处理。2.根据权利要求1所述的一种通用的MQTT客户端id冲突检测及防护实现系统,其特征在于,对冲突处理结果进行处理,具体为:当冲突处理结果为禁止连接时,向MQTT服务器发送MQTT客户端id以及禁止连接指令,MQTT服务器接收到MQTT客户端id以及禁止连接指令后,驳回MQTT客户端id对应的请求连接。3.根据权利要求2所述的一种通用的MQTT客户端id冲突检测及防护实现系统,其特征在于,当冲突处理结果为禁止时间段连接时,向MQTT服务器发送MQTT客户端id以及禁止连接指令和禁止时间段,MQTT服务器接收到MQTT客户端id以及禁止连接指令和禁止时间段后,在禁止时间段的范围内,当检测到该MQTT客户端id请求连接时,直接驳回MQTT客户端id对应的请求连接。4.根据权利要求3所述的一种通用的MQTT客户端id冲突检测及防护实现系统,其特征在于,当冲突处理结果为加密验证B连接时,对加密验证B连接进行解析以得到加密时间段,向MQTT客户端发送二级密钥输入指令并接收MQTT客户端输入的二级密钥结果,将二级密钥结果发送至加密模块,然后接收加密模块反馈的验证成功指令或验证失败指令;当接收到验证成功指令后,向MQTT服务器发送MQTT客户端id以及允许连接指令,MQTT服务器接收到MQTT客户端id以及允许连接指令后,与MQTT客户端id连接并断开在先连接的对应MQTT客户端id,同时防护实现模块在加密时间段检测到MQTT客户端id出现冲突提示标签时,均执行加密验证B连接对应操作。5.根据权利要求1所述的一种通用的MQTT客户端id冲突检测及防护实现系统,其特征在于,所述客户端授权模块用于授权需要冲突检测的MQTT客户端并将授权成功...

【专利技术属性】
技术研发人员:殷格安晓芳
申请(专利权)人:南凌科技股份有限公司
类型:发明
国别省市:

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

1