CN114785603B - 基于mqtt协议的安全防护方法、装置、设备和存储介质 - Google Patents

基于mqtt协议的安全防护方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN114785603B
CN114785603B CN202210446024.4A CN202210446024A CN114785603B CN 114785603 B CN114785603 B CN 114785603B CN 202210446024 A CN202210446024 A CN 202210446024A CN 114785603 B CN114785603 B CN 114785603B
Authority
CN
China
Prior art keywords
mqtt
format message
message
function type
mqtt format
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210446024.4A
Other languages
English (en)
Other versions
CN114785603A (zh
Inventor
魏英杰
张玉刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Insec Technology Beijing Co ltd
Original Assignee
Insec Technology Beijing Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Insec Technology Beijing Co ltd filed Critical Insec Technology Beijing Co ltd
Priority to CN202210446024.4A priority Critical patent/CN114785603B/zh
Publication of CN114785603A publication Critical patent/CN114785603A/zh
Application granted granted Critical
Publication of CN114785603B publication Critical patent/CN114785603B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请提供了一种基于MQTT协议的安全防护方法、装置、设备和存储介质。方法应用于安全防护模块,安全防护模块部署于客户端与服务器之间的链路上,方法包括:获取客户端与服务器之间传输的MQTT格式报文;确定MQTT格式报文的功能类型;根据MQTT格式报文的功能类型判断是否允许MQTT格式报文通过。以此方式,可以根据MQTT格式报文的功能类型和当前的链路信息判断是否允许该MQTT格式报文通过,以阻断不允许在当前链中通行的功能类型的MQTT格式报文,提高客户端与服务器之间信息交互的安全性。

Description

基于MQTT协议的安全防护方法、装置、设备和存储介质
技术领域
本申请涉及通信技术领域,并且更具体地,涉及一种基于MQTT协议的安全防护方法、装置、设备和存储介质。
背景技术
MQTT(消息队列遥测传输)是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT可以被解释为一种低开销、低带宽占用的即时通讯协议,可以用极少的代码和带宽为连接远程设备提供实时可靠的消息服务,它适用于硬件性能低下的远程设备以及网络状况糟糕的环境下,因此 MQTT 协议在 IoT(Internet of things,物联网)、小型设备间通讯以及移动通讯等方面有较广泛的应用。
但是常规的MQTT协议仍存在安全漏洞,例如,多个客户端可以通过向服务器发布/订阅消息来进行信息交互,在这一过程中,客户端只需向服务器订阅相应主题的消息,便可以接收到该主题的消息内容,存在信息被非法设备窃听的风险。
发明内容
根据本申请的实施例,提供了一种基于MQTT协议的安全防护方法、装置、设备和存储介质。
在本申请的第一方面,提供了一种基于MQTT协议的安全防护方法,应用于安全防护模块,所述安全防护模块部署于客户端与服务器之间的链路上,所述方法包括:
获取客户端与服务器之间传输的MQTT格式报文;
确定所述MQTT格式报文的功能类型;
根据所述MQTT格式报文的功能类型判断是否允许所述MQTT格式报文通过。
通过采用上述技术方案,本申请能够根据MQTT格式报文的功能类型和当前的链路信息判断是否允许该MQTT格式报文通过,以阻断不允许在当前链中通行的功能类型的MQTT格式报文,提高客户端与服务器之间信息交互的安全性。
可选的,所述确定所述MQTT格式报文的功能类型包括:
解析所述MQTT格式报文的报头,根据所述报头和预设的报头类型对照表确定所述功能类型。
可选的,所述确定所述MQTT格式报文的功能类型还包括:
判断所述MQTT格式报文是否完整;
若否,则输出未知功能类型。
可选的,所述判断所述MQTT格式报文是否完整包括:
验证所述MQTT格式报文的报头是否与所述报头类型对照表匹配;
若否,则不完整;
若是,则解析MQTT格式报文中的Msg Len数值和MQTT格式报文的剩余长度,判断所述Msg Len数值和所述剩余长度是否一致;
若否,则不完整。
可选的,所述根据所述MQTT格式报文的功能类型判断允许所述MQTT格式报文通过包括:
获取所述MQTT格式报文的链路信息;
根据所述MQTT格式报文的链路信息、功能类型和预设的第一白名单,确定不属于所述第一白名单的MQTT格式报文不允许通过。
可选的,还包括:
若所述MQTT格式报文属于所述第一白名单,则判断所述功能类型是否为预设功能类型;
若否,则允许所述MQTT格式报文通过;
若是,则确定所述MQTT格式报文的请求主题,并根据所述预设功能类型、请求主题和预设的第二白名单判断是否允许所述MQTT报文通过。
可选的,所述确定所述MQTT格式报文的请求主题包括:
解析所述MQTT格式报文预设位的主题长度值;
根据所述预设位和所述主题长度值确定主题字段;
根据所述主题字段和预设的转换规则,确定请求主题。
本申请提供的一种基于基于MQTT协议的安全防护方法,本申请能够根据MQTT格式报文的功能类型和当前的链路信息判断是否允许该MQTT格式报文通过,以根据功能类型阻断不允许在当前链路中通行的MQTT格式报文,提高客户端与服务器之间信息交互的安全性;进一步的,还能够在功能类型为预设控制类型时,依据MQTT格式报文的控制类型、请求主题和预设的第二白名单,阻断不具有通行权限的MQTT格式报文,进一步提高客户端与服务器之间信息交互的安全性。
在本申请的第二方面,提供了一种基于MQTT协议的安全防护装置。该装置包括:
获取单元,用于获取客户端发送的MQTT格式报文;
确定单元,用于确定所述MQTT格式报文的功能类型;
判断单元,用于根据所述MQTT格式报文的功能类型判断是否允许所述MQTT格式报文通过。
在本申请的第三方面,提供了一种设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
在本申请的第四方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据本申请的第一方面的方法。
应当理解,发明内容部分中所描述的内容并非旨在限定本申请的实施例的关键或重要特征,亦非用于限制本申请的范围。本申请的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本申请各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了能够在其中实现本申请的实施例的示例性运行环境的示意图;
图2示出了根据本申请的实施例的一种基于MQTT协议的安全防护方法的流程图;
图3示出了根据本申请的实施例的一种基于MQTT协议的安全防护装置的方框图;
图4示出了适于用来实现本申请实施例的终端设备或服务器的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本申请保护的范围。
MQTT(消息队列遥测传输)是ISO标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在TCP/IP协议族上,是由IBM在1999年发布的,为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议。
MQTT可以被解释为一种低开销,低带宽占用的即时通讯协议,可以用极少的代码和带宽的为连接远程设备提供实时可靠的消息服务,它适用于硬件性能低下的远程设备以及网络状况糟糕的环境下,因此 MQTT 协议在 IoT(Internet of things,物联网),小型设备应用,移动应用等方面有较广泛的应用。
IoT 设备要运作,就必须连接到互联网,设备才能相互协作,以及与后端服务协同工作。而互联网的基础网络协议是 TCP/IP,MQTT 协议是基于 TCP/IP 协议栈而构建的,因此它已经慢慢的已经成为了 IoT 通讯的标准。
MQTT协议应用于客户端与服务器之间的通讯,在通讯过程中,MQTT协议中有三种身份,发布者(Publish)、代理(Broker)和订阅者(Subscribe),其中,消息的发布者和订阅者都是客户端,代理是服务器,同一客户端既可以是消息的发布者也可以是订阅者。
通过MQTT协议传递的消息包括主题(topic)和负载(payload)两部分,发布者可以向服务器发布带有主题的消息内容,订阅者在向服务器订阅该主题的消息后,就会收到该主题的消息,并且对于同一主题的消息,多个订阅该主题的订阅者均会收到该消息。在这一过程中,若有非法设备订阅该主题的消息,便存在信息泄露的风险。
本申请中,在网络安全域间部署安全防护模块102,安全防护模块102能够获取客户端发送的MQTT格式报文,并确定MQTT格式报文的功能类型,并且根据MQTT格式报文的功能类型判断是否允许该MQTT格式报文通过,以此方式,可以根据功能类型筛除不具备通行权限的MQTT格式报文,提高数据传输的安全性。
图1示出了能够在其中实现本申请的实施例的示例性运行环境100的示意图。在运行环境100中包括客户端101、安全防护模块102和服务器103。
图2示出了根据本申请实施例的一种应用于MQTT协议的安全防护方法300的流程图。方法200可以由图1中的安全防护模块102执行。方法200包括:
步骤S210:获取客户端与服务器之间传输的MQTT格式报文。
在本申请实施例中,在客户端与服务器之间基于MQTT协议进行数据交互时,MQTT格式报文需经由安全防护模块102过滤阻断,以精确控制每一条客户端与服务器之间的通信链路。
步骤S220:确定所述MQTT格式报文的功能类型。
在本申请实施例中,安全防护模块102中预先存储有报头类型对照表,确定MQTT格式报文的功能类型的方式可以是在获取到MQTT格式报文后,解析MQTT格式报文的报头,并根据报头和预设的报头类型对照表,确定MQTT格式报文的功能类型。
MQTT格式报文包括报头和剩余长度,其中报头第一字节的高4位能够体现MQTT格式报文的类型值,报头类型对照表包括类型值和功能类型的对应关系,即在确定MQTT格式报文的类型值后,依据报头类型对照表即可确定MQTT格式报文的功能类型。
在一个具体的示例中,报头类型对照表如表1所示:
表1 报头类型对照表
类型名称 类型值 报文说明
CONNECT 1 发起连接
CONNACK 2 连接回执
PUBLISH 3 发布消息
PUBACK 4 发布回执
PUBREC 5 QoS2消息回执
PUBREL 6 QoS2消息释放
PUBCOMP 7 QoS2消息完成
SUBSCRIBE 8 订阅主题
SUBACK 9 订阅回执
UNSUBSCRIBE 10 取消订阅
UNSUBACK 11 取消订阅回执
PINGREQ 12 PING请求
PINGRESP 13 PING响应
DISCONNECT 14 断开连接
MQTT格式报文在传输过程中,由于网络不佳或遭受网络攻击,都可能出现MQTT帧结构不完整的情况,为了保障通信质量,在判断MQTT格式报文的功能类型时,还需判断MQTT格式报文是否完整,若不完整,则输出未知类型,若完整,则根据MQTT格式报文的报头确定功能类型。
具体的,在判断MQTT格式报文的完整性时,首先判断MQTT格式报文的报头是否与报头类型对照表匹配,若否,则不完整。
若是,则解析MQTT格式报文中的Msg Len数值和MQTT格式报文的剩余长度,判断所述Msg Len数值和所述剩余长度是否一致。若否,则不完整。
MQTT格式报文中会通过Msg Len数值来体现剩余长度的字节数,若MQTT格式报文在传输过程中出现损坏,则会出现Msg Len数值与剩余长度的字节数不一致的情况。
步骤S230:根据所述MQTT格式报文的功能类型判断是否允许所述MQTT格式报文通过。
在确定MQTT格式报文的功能类型后,可以获取MQTT格式报文的链路信息,在本申请实施例中,链路信息即客户端的IP信息。根据MQTT格式报文的链路信息、功能类型和预设的第一白名单,确定不属于第一白名单的MQTT格式报文不允许通过。
第一白名单包括链路信息,且每一链路信息对应有一个或多个功能类型,第一白名单中的链路信息和链路信息对应的功能类型可以是技术人员通过信息录入设置的,也可以是通过其他手段设置的,例如客户端IP可以向服务器申请权限等,在此不作限定。
在一个具体的示例中,若接收到MQTT报文的功能类型为未知类型,则该MQTT格式报文一定不属于第一白名单,需阻断该MQTT格式报文。若能够确定MQTT格式报文的功能类型,则根据第一白名单判断该MQTT报文的链路信息是否在第一白名单上,若是,则进一步判断该链路信息是否具有该功能类型的通行权限,若否,则阻断该MQTT格式报文。
在一些实施例中,若是,则允许该MQTT格式报文通过。例如,第一白名单中包括链路信息为202.101.105.66,其对应的功能类型为发起连接、发布消息和QoS2消息回执。在获取到链路信息为202.101.105.66的MQTT格式报文后,判断其功能类型,若其功能类型为发布消息,则允许该MQTT格式报文通过;若其功能类型为订阅主题,则阻断该MQTT格式报文。
以此方式,不仅能够根据IP信息对每一个与服务器交互的客户端进行筛选,使得不具有通讯权限的客户端无法与服务器建立信息交互,达到提高客户端与服务器间信息交互安全性的目的。还能够针对每一个客户端IP,依据功能类型对每一客户端IP的通行权限精确控制,进一步提高了客户端与服务器之间信息交互的安全性。
在一些实施例中,在判断MQTT格式报文的链路信息和功能类型在第一白名单后,还需进一步判断MQTT格式报文的功能类型是否为预设功能类型,若否,则允许该MQTT格式报文通过。若是,则获取该MQTT格式报文的请求主题,并根据该MQTT格式报文的功能类型、请求主题和预设的第二白名单判断是否允许该MQTT格式报文通过。
其中,预设功能类型包括订阅主题、取消订阅和发布消息,预设功能类型的MQTT格式报文必须有请求主题,第二白名单中包括链路信息、与链路信息对应的预设功能类型以及与预设功能类型对应的请求主题。即在MQTT格式报文的功能类型为预设功能类型时,则判断该MQTT格式报文的请求主题是否在第二白名单中,若否,则阻断,若是,则允许通过。
在一个具体的示例中,若第二白名单中包括链路信息202.101.105.66,该链路信息对应的预设功能类型为发布消息和订阅主题,发布消息对应的请求主题为主题A和主题B,订阅主题对应的请求主题为主题A、主题B和主题C。在解析MQTT格式报文后,若该MQTT格式报文的功能类型为发布消息、请求主题为主题A,则允许该MQTT格式报文通过。若该MQTT格式报文的功能类型为发布消息、请求主题为主题C,则阻断该MQTT格式报文。
在本申请实施例中,获取MQTT格式报文的请求主题的方式可以是解析MQTT格式报文中预设位的主题长度值,并根据预设位和主题长度值确定主题字段,再根据主题字段和预设的转换规则确定请求主题。
在一个具体的示例中,MQTT格式报文中的预设位处的主题长度值为8,则表示主题长度为8,在确定主题字段是,可以是从预设位起向后取8个字节,提取出的8个字节构成主题字段,并将主题字段的8个字节通过预设规则转换为请求主题。转换规则可以是将十六进制转换为ASCII码,通过转换规则转换后,得到的数值便是请求主题。
在另一些实施例中,可以是安全防护模块102中存储有请求主题对照表,在解析MQTT格式报文时获取能够体现请求主题的预设字段,再依据请求主题对照表确定请求主题。
需要说明的是,MQTT格式报文的剩余长度包括有效负载,预设位、主题长度值、主题字段均位于MQTT格式报文的有效负载部分;在一些实施例中,第一白名单和第二白名单也可以是合并设置的。
本申请公开的一种基于MQTT协议的安全防护方法,通过设置第一白名单和第二白名单,不经能够控制每一客户端IP的通行权限,还能够控制每一客户端IP允许通过的MQTT格式报文的功能类型,并且,在MQTT格式报文的功能类型为预设功能类型,即控制类型时,可以精确控制预设功能类型允许通过的请求主题,实现了对客户端与服务器之间的通信链路的精确控制,提高了基于MQTT协议通信的客户端与服务器之间信息交互的安全性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
以上是关于方法实施例的介绍,以下通过装置实施例,对本申请所述方案进行进一步说明。
图3示出了根据本申请的实施例的基于MQTT协议的安全防护装置300的方框图。装置300可以被包括在图1的安全防护模块102中或者被实现为安全防护模块102。如图3所示,装置300包括:
获取单元301,用于获取客户端发送的MQTT格式报文;
确定单元302,用于确定所述MQTT格式报文的功能类型;
判断单元303,用于根据所述MQTT格式报文的功能类型判断是否允许所述MQTT格式报文通过。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图4示出了适于用来实现本申请实施例的设备的结构示意图。
如图4所示,电子设备包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)404中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有系统400操作所需的各种程序和数据。CPU401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本申请的实施例,上文参考流程图图2描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在机器可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分309从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(CPU)401执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、确定单元和判断单元。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,获取单元还可以被描述为“用于获取客户端发送的MQTT格式报文的单元”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中的。上述计算机可读存储介质存储有一个或者多个程序,当上述前述程序被一个或者一个以上的处理器用来执行描述于本申请的基于MQTT协议的安全防护方法。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的申请范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离前述申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中申请的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (8)

1.一种基于MQTT协议的安全防护方法,其特征在于,应用于安全防护模块(102),所述安全防护模块(102)部署于客户端(101)与服务器(103)之间的链路上,所述方法包括:
获取客户端与服务器之间传输的MQTT格式报文;
确定所述MQTT格式报文的功能类型;确定所述MQTT格式报文的功能类型还包括:
判断所述MQTT格式报文是否完整;若否,则输出未知功能类型;
根据所述MQTT格式报文的功能类型判断是否允许所述MQTT格式报文通过;具体包括:获取所述MQTT格式报文的链路信息;根据所述MQTT格式报文的链路信息、功能类型和预设的第一白名单,确定不属于所述第一白名单的MQTT格式报文不允许通过;其中,第一白名单包括链路信息,且每一链路信息对应有一个或多个功能类型。
2.根据权利要求1所述的基于MQTT协议的安全防护方法,其特征在于,所述确定所述MQTT格式报文的功能类型包括:
解析所述MQTT格式报文的报头,根据所述报头和预设的报头类型对照表确定所述功能类型。
3.根据权利要求1所述的基于MQTT协议的安全防护方法,其特征在于,所述判断所述MQTT格式报文是否完整包括:
验证所述MQTT格式报文的报头是否与所述报头类型对照表匹配;
若否,则不完整;
若是,则解析MQTT格式报文中的Msg Len数值和MQTT格式报文的剩余长度,判断所述Msg Len数值和所述剩余长度是否一致;
若否,则不完整。
4.根据权利要求1所述的基于MQTT协议的安全防护方法,其特征在于,还包括:
若所述MQTT格式报文属于所述第一白名单,则判断所述功能类型是否为预设功能类型;
若否,则允许所述MQTT格式报文通过;
若是,则确定所述MQTT格式报文的请求主题,并根据所述预设功能类型、请求主题和预设的第二白名单判断是否允许所述MQTT格式报文通过。
5.根据权利要求4所述的基于MQTT协议的安全防护方法,其特征在于,所述确定所述MQTT格式报文的请求主题包括:
解析所述MQTT格式报文预设位的主题长度值;
根据所述预设位和所述主题长度值确定主题字段;
根据所述主题字段和预设的转换规则,确定请求主题。
6.一种基于MQTT协议的安全防护装置,其特征在于,包括:
获取单元(301),用于获取客户端发送的MQTT格式报文;
确定单元(302),用于确定所述MQTT格式报文的功能类型;确定所述MQTT格式报文的功能类型还包括:判断所述MQTT格式报文是否完整;若否,则输出未知功能类型;
判断单元(303),用于根据所述MQTT格式报文的功能类型判断是否允许所述MQTT格式报文通过;具体包括:获取所述MQTT格式报文的链路信息;根据所述MQTT格式报文的链路信息、功能类型和预设的第一白名单,确定不属于所述第一白名单的MQTT格式报文不允许通过;其中,第一白名单包括链路信息,且每一链路信息对应有一个或多个功能类型。
7.一种设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~5中任一项所述的方法。
8.一种存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~5中任一项所述的方法。
CN202210446024.4A 2022-04-26 2022-04-26 基于mqtt协议的安全防护方法、装置、设备和存储介质 Active CN114785603B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210446024.4A CN114785603B (zh) 2022-04-26 2022-04-26 基于mqtt协议的安全防护方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210446024.4A CN114785603B (zh) 2022-04-26 2022-04-26 基于mqtt协议的安全防护方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN114785603A CN114785603A (zh) 2022-07-22
CN114785603B true CN114785603B (zh) 2023-06-23

Family

ID=82432816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210446024.4A Active CN114785603B (zh) 2022-04-26 2022-04-26 基于mqtt协议的安全防护方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN114785603B (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104158816A (zh) * 2014-08-25 2014-11-19 中国科学院声学研究所 认证方法、装置和服务器
CN110247941B (zh) * 2018-03-09 2022-12-13 鸿合科技股份有限公司 切换终端使用状态的方法和系统
CN108847983B (zh) * 2018-06-27 2020-03-10 电子科技大学 基于mqtt协议的入侵检测方法
CN109587228B (zh) * 2018-11-23 2021-08-10 山东浪潮科学研究院有限公司 一种公有协议物联网平台系统的设备接入方法
CN111786953B (zh) * 2020-06-01 2022-11-01 杭州迪普科技股份有限公司 一种安全防护方法、装置和安全管理设备
CN112039722B (zh) * 2020-08-12 2022-07-08 中国银联股份有限公司 一种mqtt协议仿真方法及仿真设备

Also Published As

Publication number Publication date
CN114785603A (zh) 2022-07-22

Similar Documents

Publication Publication Date Title
US8693348B1 (en) Systems and methods for content type classification
US20010016907A1 (en) Security protocol structure in application layer
CN117131516B (zh) 一种运维方法和装置
CN112087475B (zh) 一种云平台组件应用的消息推送方法、装置及消息服务器
CN113438256B (zh) 一种基于双层ssl的数据传输方法、系统和代理服务器
CN114785603B (zh) 基于mqtt协议的安全防护方法、装置、设备和存储介质
CN113328877A (zh) 一种端口协议的确定方法和装置
CN115361455B (zh) 一种数据传输存储方法、装置以及计算机设备
CN114745367B (zh) 数据传输方法、装置、电子设备和存储介质
CN108259576B (zh) 一种软硬件实时信息传输系统和方法
CN115314544A (zh) 一种tcp数据单向传输方法、装置、设备及介质
CN112532603B (zh) 一种基于交换授权文件的跨域文件交换引接设备及方法
CN115695218A (zh) 基于零信任机制的运维管理方法、装置和相关设备
CN112202780B (zh) 一种基于双套接字的数据传输方法、装置、设备及介质
CN114553938B (zh) 一种通信报文的处理方法、装置、电子设备及存储介质
CN113691545B (zh) 路由的控制方法、装置、电子设备及计算机可读介质
CN113315833B (zh) 一种文件传输模式处理方法和装置
CN115118762B (zh) 一种会话处理的方法、客户端和系统
CN113422716B (zh) 一种邮件安全控制方法和系统
CN114726766B (zh) 基于ftp服务监控实施指纹预警方法、系统、介质及设备
CN117411955B (zh) 健壮性测试方法、装置、电子设备及介质
CN118445791A (zh) 一种用户权限程序的端口管理的方法和装置
CN117896644A (zh) 远程控制光纤交叉连接的方法及装置、存储介质
CN118764525A (zh) 数据通信方法、装置、系统、设备以及存储介质
CN117640211A (zh) 可信安全网络系统、会话建立方法及相关设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant