CN111183619B - 数据发送、设备连接方法、装置和系统 - Google Patents
数据发送、设备连接方法、装置和系统 Download PDFInfo
- Publication number
- CN111183619B CN111183619B CN201780095542.3A CN201780095542A CN111183619B CN 111183619 B CN111183619 B CN 111183619B CN 201780095542 A CN201780095542 A CN 201780095542A CN 111183619 B CN111183619 B CN 111183619B
- Authority
- CN
- China
- Prior art keywords
- mqtt
- sdp
- connection
- publishing device
- gateway
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/18—Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
- H04W12/033—Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及物联网技术领域,尤其涉及一种消息队列遥测传输MQTT数据传输方法、装置和系统,用以提供一种简单的实现MQTT协议安全性功能的方案。通过在MQTT数据发布前,对MQTT发布设备与MQTT订阅设备之间的数据获取关系进行验证,通过一个SDP网关控制数据的发送,可有效保证MQTT数据发布的安全性,且对协议修改较少,实现简单。
Description
技术领域
本发明涉及物联网技术领域,尤其涉及一种数据发送、设备连接方法、装置和系统。
背景技术
消息队列遥测传输(Message Queuing Telemetry Transport,MQTT)是一种基于代理 (broker)的消息传输协议。其消息的传输采用订阅(subscribe)/发布(publish)的方式,一个消息的发布者(publisher)将待发布的数据发送至一个代理设备(broker),至少一个消息的订阅者(subscriber)从代理设备处获取数据。
MQTT协议在物联网中应用广泛。以往,MQTT协议通常应用在有安全保障的后端网络中。当前,以工业系统为例,诸如可编程逻辑控制器(Programmable Logic Controller,PLC)、监视控制和数据采集(Supervisory Control And Data Acquisition,SCADA)设备等关键设备均连接到工业互联网上,此外工业互联网还可以连接用户的移动终端,交易可能在工业互联网上完成,所有这些改变使得越来越多的敏感数据需要在互联网上传输。因此,物联网的发展对数据传输的私密性和安全性的要求越来越高,需要在设备到设备(Deviceto Device,D2D) 或机器到机器(Machine to Machine,M2M)通信中增加安全性相关的功能。以往的MQTT 协议已经不能够满足当前物联网通信中的要求。
一种已知的方案中,基于证书实现MQTT协议的安全性功能。另一种方案中,采用安全传输层(Transport Layer Security,TLS)协议实现MQTT协议的安全性功能。两种方案均需要通信双方进行多次握手操作,对目前的MQTT协议做较大改动。
发明内容
有鉴于此,本发明实施例提供一种MQTT数据传输方法、装置和系统,用以提供一种简单的实现MQTT协议安全性功能的方案。该方案无需对现有协议做较大改动,设备实现变化较小。
第一方面,提供一种MQTT数据发送方法,该方法涉及一个MQTT发布设备、一个MQTT代理、一个SDP网关和至少一个MQTT订阅设备,其中该SDP网关连接该至少一个MQTT 订阅设备。该方法用于实现MQTT数据安全地发布至MQTT订阅设备。
该方法中,首先,MQTT发布设备向MQTT代理发送一个SDP连接请求,所述SDP连接请求用于请求与SDP网关建立连接。MQTT代理在收到来自MQTT发布设备的上述SDP 连接请求后,MQTT代理判断所述SDP连接请求是否被允许,若被允许,则所述MQTT代理指示所述SDP网关等待与所述MQTT发布设备建立连接,并且向所述MQTT发布设备返回所述SDP网关的地址信息。
所述MQTT发布设备在收到所述SDP网关的地址信息后,按照接收的所述SDP网关的地址信息与所述SDP网关建立连接,可选地,该连接为安全连接,比如VPN连接。
所述MQTT发布设备通过建立的与所述SDP网关的连接将所述MQTT发布设备的标识信息发送至所述SDP网关。之后,所述MQTT发布设备将发布的数据发送至所述MQTT代理,其中,在发布的数据的载荷中包括所述MQTT发布设备的所述标识信息。所述MQTT 代理将收到的数据发送至所述SDP网关。
所述SDP网关在接收到的所述MQTT发布设备发布的数据的载荷中查找所述MQTT发布设备的所述标识信息;若所述SDP网关找到所述MQTT发布设备的所述标识信息,则将接收到的所述MQTT发布设备发布的数据发送至所述SDP网关所连接的所述至少一个MQTT 订阅设备。
其中,通过在MQTT数据发布前,对MQTT发布设备与MQTT订阅设备之间的数据获取关系进行验证,通过一个SDP网关控制数据的发送,可有效保证MQTT数据发布的安全性,且对协议修改较少,实现简单。
第二方面,提供一种设备连接方法,该方法可由第一方面中涉及的MQTT代理执行。该方法中,一个MQTT代理接收来自一个MQTT发布设备的一个SDP连接请求,所述SDP连接请求用于所述MQTT发布设备与一个SDP网关建立连接,其中,所述SDP网关连接至少一个MQTT订阅设备;所述MQTT代理判断所述SDP连接请求是否被允许,若被允许,则所述MQTT代理指示所述SDP网关等待与所述MQTT发布设备建立连接;所述MQTT代理向所述MQTT发布设备返回所述SDP网关的地址信息,用于所述MQTT发布设备按照所述 SDP网关的地址信息与所述SDP网关建立连接。
其中,由MQTT代理对MQTT发布设备与MQTT订阅设备之间的数据获取关系进行验证,并控制MQTT发布设备与SDP网关之间的连接,可避免未经过鉴权的MQTT设备之间的数据发送。
可选地,所述MQTT代理判断所述SDP网关是否为预先设置的所述MQTT发布设备被允许连接的SDP网关,若是,则确定所述SDP连接请求被允许,否则,确定所述SDP连接请求被拒绝。
其中,MQTT代理可预先设置MQTT发布设备可连接的SDP网关,这样在收到一个SDP连接请求后,可根据预先设置的对应关系判断该连接请求是否被允许。
可选地,在所述MQTT代理向所述MQTT发布设备返回所述SDP网关的地址信息之后,所述MQTT代理接收所述MQTT发布设备发布的数据,其中,所述MQTT发布设备发布的数据中包括所述MQTT发布设备的标识信息;所述MQTT代理将收到的所述MQTT发布设备发布的数据发送至所述SDP网关。
其中,将SDP网关应用于MQTT数据的发布过程中,在MQTT代理对MQTT发布设备与SDP网关之间的关系进行验证后,由MQTT代理实现MQTT数据的转发。MQTT代理作为SDP控制器和SDP网关一起实现对MQTT发布设备和MQTT订阅设备的双向认证。
第三方面,提供一种设备连接方法,该方法可由第一方面中涉及的MQTT发布设备执行。该方法中,一个MQTT发布设备向一个MQTT代理发送一个SDP连接请求,所述SDP连接请求用于请求与一个SDP网关建立连接,其中,所述SDP网关连接至少一个MQTT订阅设备;所述MQTT发布设备接收来自所述MQTT代理的响应于所述SDP连接请求的所述SDP 网关的地址信息;所述MQTT发布设备按照接收的所述SDP网关的地址信息与所述SDP网关建立连接。
其中,由MQTT代理对MQTT发布设备与MQTT订阅设备之间的数据获取关系进行验证,并控制MQTT发布设备与SDP网关之间的连接,可避免未经过鉴权的MQTT设备之间的数据发送。
可选地,所述MQTT发布设备与所述SDP网关建立一个安全连接。这样MQTT发布设备与SDP网关之间的通信就更为安全。
可选地,在所述MQTT发布设备与所述SDP网关建立连接之后,所述MQTT发布设备通过建立的连接将所述MQTT发布设备的标识信息发送至所述SDP网关;所述MQTT发布设备将发布的数据发送至所述MQTT代理,以通过所述MQTT代理发送至所述SDP网关,其中,在发布的数据的载荷中包括所述MQTT发布设备的所述标识信息。
其中,MQTT发布设备通过与SDP网关之间的连接发送自身的标识信息,并在后续发布的数据的载荷中包括该标识信息,这样SDP网关可对收到的数据进行识别,包括该标识信息的则认为是安全的,不包括该标识信息的则认为是不安全的,实现了对即将发布到MQTT订阅设备的数据的验证。若MQTT发布设备与SDP网关之间建立的是安全连接,则MQTT 发布设备的标识信息通过安全连接进行发送,可有效避免重要信息被盗取,进一步提高了 MQTT数据发布的安全性。
第四方面,提供一种数据发送方法,该方法可由第一方面中涉及的SDP网关执行。该方法中,一个SDP网关接收来自一个MQTT代理的一个指示信息,所述指示信息用于指示所述SDP网关等待与一个MQTT发布设备建立连接,其中,所述SDP网关连接至少一个MQTT 订阅设备;所述SDP网关接收来自所述MQTT发布设备的连接建立请求后,与所述MQTT 发布设备建立连接;所述SDP网关接收所述MQTT发布设备通过建立的连接发送的所述 MQTT发布设备的标识信息;所述SDP网关接收来自所述MQTT代理的所述MQTT发布设备发布的数据;所述SDP网关在接收到的所述MQTT发布设备发布的数据的载荷中查找所述MQTT发布设备的所述标识信息;若所述SDP网关找到所述MQTT发布设备的所述标识信息,则将接收到的所述MQTT发布设备发布的数据发送至所述SDP网关所连接的所述至少一个MQTT订阅设备。
其中,将SDP网关应用于MQTT数据的发布过程中,在MQTT代理对MQTT发布设备与SDP网关之间的关系进行验证后,由MQTT代理实现MQTT数据的转发。MQTT代理作为SDP控制器和SDP网关一起实现对MQTT发布设备和MQTT订阅设备的双向认证。
可选地,所述SDP网关接收来自所述MQTT发布设备的建议一个安全连接的连接请求后,与所述MQTT发布设备建立一个安全连接。
其中,MQTT发布设备的标识信息通过该建立的安全连接进行发送,可有效避免重要信息被盗取,进一步提高了MQTT数据发布的安全性。
第五方面,提供一种MQTT数据发送系统。该系统中的各组成部分可实现前述第一方面所提供的方法。该系统包括:一个MQTT发布设备、一个MQTT代理、一个SDP网关,以及所述SDP网关所连接的至少一个MQTT订阅设备,其中,所述MQTT发布设备,用于向所述MQTT代理发送一个SDP连接请求,所述SDP连接请求用于所述MQTT发布设备与一个SDP网关建立连接;所述MQTT代理,用于判断所述SDP连接请求是否被允许,若被允许,则指示所述SDP网关等待与所述MQTT发布设备建立连接,并向所述MQTT发布设备返回所述SDP网关的地址信息;所述MQTT发布设备,还用于按照接收的所述SDP网关的地址信息向所述SDP网关发送一个连接建立请求;所述SDP网关,用于在收到所述MQTT 发布设备发送的连接建立请求后,与所述MQTT发布设备建立连接。
其中,由MQTT代理对MQTT发布设备与MQTT订阅设备之间的数据获取关系进行验证,并控制MQTT发布设备与SDP网关之间的连接,可避免未经过鉴权的MQTT设备之间的数据发送。
第六方面,提供一种MQTT代理,该MQTT代理可包括:一个收发模块,用于接收来自一个MQTT发布设备的一个SDP连接请求,所述SDP连接请求用于所述MQTT发布设备与一个SDP网关建立连接,其中,所述SDP网关连接至少一个MQTT订阅设备;一个处理模块,用于判断所述SDP连接请求是否被允许,若被允许,则通过所述收发模块指示所述SDP 网关等待与所述MQTT发布设备建立连接,并通过所述收发模块向所述MQTT发布设备返回所述SDP网关的地址信息,用于所述MQTT发布设备按照所述SDP网关的地址信息与所述SDP网关建立连接。
其中,由MQTT代理对MQTT发布设备与MQTT订阅设备之间的数据获取关系进行验证,并控制MQTT发布设备与SDP网关之间的连接,可避免未经过鉴权的MQTT设备之间的数据发送。
可选地,所述处理模块,具体用于判断所述SDP网关是否为预先设置的所述MQTT发布设备被允许连接的SDP网关,若是,则确定所述SDP连接请求被允许,否则,确定所述 SDP连接请求被拒绝。
其中,MQTT代理可预先设置MQTT发布设备可连接的SDP网关,这样在收到一个SDP连接请求后,可根据预先设置的对应关系判断该连接请求是否被允许。
可选地,所述收发模块,还用于在向所述MQTT发布设备返回所述SDP网关的地址信息之后,接收所述MQTT发布设备发布的数据,其中,所述MQTT发布设备发布的数据中包括所述MQTT发布设备的标识信息,以及将收到的所述MQTT发布设备发布的数据发送至所述SDP网关。
其中,将SDP网关应用于MQTT数据的发布过程中,在MQTT代理对MQTT发布设备与SDP网关之间的关系进行验证后,由MQTT代理实现MQTT数据的转发。MQTT代理作为SDP控制器和SDP网关一起实现对MQTT发布设备和MQTT订阅设备的双向认证。
第七方面,提供一种MQTT发布设备,包括:一个收发模块,用于向一个MQTT代理发送一个SDP连接请求,所述SDP连接请求用于请求与一个SDP网关建立连接,其中,所述SDP网关连接至少一个MQTT订阅设备,以及接收来自所述MQTT代理的响应于所述SDP 连接请求的所述SDP网关的地址信息;一个处理模块,用于按照所述收发模块接收的所述SDP 网关的地址信息控制所述MQTT发布设备与所述SDP网关建立连接。
其中,由MQTT代理对MQTT发布设备与MQTT订阅设备之间的数据获取关系进行验证,并控制MQTT发布设备与SDP网关之间的连接,可避免未经过鉴权的MQTT设备之间的数据发送。
可选地,所述处理模块,具体用于控制所述MQTT发布设备与所述SDP网关建立一个安全连接。这样MQTT发布设备与SDP网关之前的通信就更为安全。
可选地,所述收发模块,还用于在所述处理模块控制所述MQTT发布设备与所述SDP网关建立连接之后,通过建立的连接将所述MQTT发布设备的标识信息发送至所述SDP网关,以及将所述MQTT发布设备发布的数据发送至所述MQTT代理,以通过所述MQTT代理发送至所述SDP网关,其中,在发布的数据的载荷中包括所述MQTT发布设备的所述标识信息。
其中,MQTT发布设备通过与SDP网关之间的连接发送自身的标识信息,并在后续发布的数据的载荷中包括该标识信息,这样SDP网关可对收到的数据进行识别,包括该标识信息的则认为是安全的,不包括该标识信息的则认为是不安全的,实现了对即将发布到MQTT订阅设备的数据的验证。若MQTT发布设备与SDP网关之间建立的是安全连接,则MQTT 发布设备的标识信息通过安全连接进行发送,可有效避免重要信息被盗取,进一步提高了 MQTT数据发布的安全性。
第八方面,提供一种SDP网关,包括:
一个收发模块,用于接收来自一个MQTT代理的一个指示信息,所述指示信息用于指示所述SDP网关等待与一个MQTT发布设备建立连接,其中,所述SDP网关连接至少一个MQTT订阅设备,以及接收来自所述MQTT发布设备的连接建立请求;一个处理模块,用于在所述收发模块收到来自所述MQTT发布设备的连接建立请求后,与所述MQTT发布设备建立连接;所述收发模块,还用于接收所述MQTT发布设备通过建立的连接发送的所述MQTT 发布设备的标识信息;以及接收来自所述MQTT代理的所述MQTT发布设备发布的数据;所述处理模块,还用于在所述收发模块接收到的所述MQTT发布设备发布的数据的载荷中查找所述MQTT发布设备的所述标识信息,以及若找到所述MQTT发布设备的所述标识信息,则将所述收发模块接收到的所述MQTT发布设备发布的数据发送至所述SDP网关所连接的所述至少一个MQTT订阅设备。
其中,将SDP网关应用于MQTT数据的发布过程中,在MQTT代理对MQTT发布设备与SDP网关之间的关系进行验证后,由MQTT代理实现MQTT数据的转发。MQTT代理作为SDP控制器和SDP网关一起实现对MQTT发布设备和MQTT订阅设备的双向认证。
可选地,所述处理模块,具体用于在所述收发模块收到来自所述MQTT发布设备的建议一个安全连接的连接请求后,与所述MQTT发布设备建立一个安全连接。
其中,MQTT发布设备的标识信息通过该建立的安全连接进行发送,可有效避免重要信息被盗取,进一步提高了MQTT数据发布的安全性。
第九方面,提供一种数据发送装置,包括至少一个处理器和至少一个存储器,其中,所述至少一个存储器上存储有机器可读指令,所述至少一个处理器用于调用所述机器可读指令,执行前述的第二方面、第二方面的任一种可能的实现方式、第三方面、第三方面的任一种可能的实现方式、第四方面,或第四方面的任一种可能的实现方式所提供的方法。
第十方面,提供一种机器可读介质,其上存储有机器可读指令,所述机器可读指令在由至少一个处理器调用时,用于执行前述的第二方面、第二方面的任一种可能的实现方式、第三方面、第三方面的任一种可能的实现方式、第四方面,或第四方面的任一种可能的实现方式所提供的方法。
附图说明
图1为本发明实施例所采用的协议分层的结构示意图。
图2为SDP协议原理图。
图3为本发明实施例提供的一种MQTT数据发送系统的结构示意图。
图4为本发明实施例中将SDP协议应用于MQTT数据发送的示意图。
图5为本发明实施例提供的一种MQTT数据发送方法的流程图。
图6为本发明实施例提供的一种MQTT代理的结构示意图。
图7为本发明实施例提供的一种MQTT发布设备的结构示意图。
图8为本发明实施例提供的一种SDP网关的结构示意图。
图9为本发明实施例提供的一种数据发送装置的结构示意图。
附图标记列表:
具体实施方式
如前所述,以往的MQTT协议已经不能够满足当前物联网通信中关于安全性的要求。本发明实施例中,通过在MQTT数据发布前,对MQTT发布设备与MQTT订阅设备之间的数据获取关系进行验证,通过一个SDP网关控制数据的发送,可有效保证MQTT数据发布的安全性,且对协议修改较少,实现简单。
下面,结合附图对本发明实施例进行详细说明。
图1为本发明实施例所采用的协议分层的结构示意图。如图1所示,MQTT数据处理协议栈10包括:
一个外层的SDP协议处理框架101;以及
一个内层的MQTT协议处理框架102。
其中,内层的MQTT协议处理框架102可包括:
1)应用层1021
2)传输层1022
3)网络层1023
可选地,为了更加有效地防止诸如窥探(snooping)、伪造(spoofing)以及中间人攻击 (Man in the middle,MITM)等具有网络安全威胁的行为,本发明实施例中可在内层中的上述各层中的部分或全部增加诸如鉴权、载荷加密等。
比如:对于网络层1023,可使用一个物理加密网络或虚拟专用网络(VirtualPrivate Network,VPN)作为网络通信机制。基于诸如VPN等的安全的网络层的MQTT数据传输可具有私有网络的功能、安全性和管理等优势。
再比如:对于传输层1022,可采用安全传输(Transport Layer Security,TLS)协议和 /或安全套接层(Secure Sockets Layer,SSL)协议等系列协议实现MQTT协议的安全性功能。其中,SSL协议支持秘钥交换、数据加密、消息完整性保护等多种功能。
又比如:对于应用层1021,可提供客户端标识和用户名、密码等多种加密方式。并且可对载荷部分进行加密处理。
本发明实施例中,在MQTT协议处理框架102之外还增加了SDP协议处理框架101,可提供相对全面的安全性功能。通过采用SDP协议,登录信息可由单一分组鉴权(SinglePacket Authorization,SPA)进行处理,因此可将数据接收端加以保护,黑客无法发现数据接收端。不论是否采用SSL/TLS的传输机制,采用SDP协议处理均能够保证鉴权过程的安全性。可选地,设备状态信息(posture)和标识均可在到达应用层之前得以验证。
工业互联网中的移动终端和传统工业设备,绝大多数不具备足够的运算能力,不足以支持上述的应用层或传输层实现的安全性功能。因此,对于运算能力有限的设备,可考虑仅通过外层的SDP协议处理框架101实现MQTT协议的安全性功能,而无需在内部的MQTT协议的各层再增加安全性功能。而对于有足够运算能力的设备,可既采用外层的SDP协议处理框架101,又对内层的MQTT协议的一层或多层进行安全性处理。
为了使本发明实施例更容易被理解,下面对外层的SDP协议处理框架101中涉及的SDP 协议原理加以说明。
一个SDP网络20中可包括:
1)SDP主机
SDP主机实现的功能众多,可包括:设备验证、用户鉴权、将本地白名单中的应用的数据发送至授权的且受保护的远程应用等。SDP主机可包括SDP主机发起端201和SDP主机接受端203。
2)SDP控制器202
SDP控制器202为SDP主机之间的可信任的中间设备,可实时配置SDP主机和SDP网关。
3)SDP网关204
SDP网关204是来自SDP主机的连接的终结点,通常在网络拓扑结构上尽量邻近被保护的应用。
SDP协议的相关流程可包括:
1)一个SDP控制器202在线,并与经过鉴权和授权的服务连接。
2)SDP网关204在线,并与SDP控制器202连接。
3)SDP主机发起端201在线,并与SDP控制器202连接。
4)SDP控制器202确定SDP网关204的列表。
5)SDP控制器202指示SDP网关204接受来自该SDP主机发起端201的通信。
6)SDP控制器202将SDP网关204的列表给SDP主机发起端201。
7)SDP主机发起端201发起向所有授权的SDP网关204发起双向的VPN连接。
本发明实施例中,在MQTT协议处理框架102的外部增加了SDP协议处理,从而实现了MQTT数据发送的安全性功能。在设备实现上,分别在一个MQTT发布设备上增加了SDP 主机发起端的处理,在一个MQTT代理上增加了SDP控制器的处理,在一个MQTT订阅设备上增加了SDP主机接受端的处理。并且在MQTT订阅设备侧增加了SDP网关,由SDP控制器实现MQTT订阅设备与MQTT发布设备之间数据传输的安全性验证,由SDP网关控制由MQTT发布设备向MQTT订阅设备的数据发送。下面,结合图3介绍本发明实施例提供的一种MQTT数据发送系统30。
如图3所示,MQTT数据发送系统30包括:
一个MQTT发布设备301,其上实现SDP主机发起端201的功能,向作为SDP控制器202的MQTT代理302发起SDP连接请求。
一个MQTT代理302,其上实现SDP控制器202的功能,对MQTT发布设备301与MQTT 订阅设备303之间的数据传输进行安全性验证。
一个SDP网关204,与MQTT发布设备301建立连接,控制由MQTT发布设备301向 MQTT订阅设备303的数据发送。
至少一个MQTT订阅设备303,在MQTT订阅设备303侧连接有SDP网关204,从连接的SDP网关204处接收MQTT发布设备301所发布的数据。在具体实现是,可存在不止一个SDP网关204,分别向所连接的至少一个MQTT订阅设备303转发数据。
下面,对MQTT代理302作为SDP控制器202进行MQTT发布设备301与MQTT订阅设备303之间的数据传输安全性验证的原理加以说明。其中,可使用单个分组授权(SinglePacket Authorization,SPA)机制进行MQTT发布设备301登录信息的传送,以实现对MQTT发布设备301与MQTT订阅设备303之间的数据传输进行安全性验证,黑客难以使用一个假的SPA分组通过该SPA的验证机制,这是因为每一个SPA分组均有一个不同于其他SPA分组的随机且一次性的字段。除此之外,也可以使用基于哈希运算的消息鉴权码(keyed-hashmessage authentication code,HMAC)签名以实现一个SPA分组中的上述一次性字段。除非获取所有相关的SDP加密信息,否则黑客难以伪造一个SPA分组,以通过SPA的验证机制。
图4中,作为SDP主机接受端203的MQTT订阅设备303向作为SDP控制器202的MQTT代理302订阅由MQTT代理302提供的一个主题(topic)。当作为客户端的MQTT订阅设备 303与MQTT代理302建立连接后,可进行主题订阅以及数据传输。在连接存在时,SDP协议机制可保证网络中没有假冒的MQTT的客户端。
在MQTT协议过程中包括如下步骤:
1)连接:作为客户端的MQTT订阅设备303等待与作为服务器的MQTT代理302建立连接。
2)连接断开:作为服务器的MQTT代理302等待作为客户端的MQTT订阅设备303完成数据传输,之后断开TCP/IP连接。
3)订阅:作为服务器的MQTT代理302等待作为客户端的MQTT订阅设备303的订阅操作或退订阅操作。
4)退订阅:作为客户端的MQTT订阅设备303请求作为服务器的MQTT代理302退订阅至少一个主题。
5)发布:MQTT代理302在将MQTT订阅设备303的请求传递至MQTT发布设备301 后,立即返回应用线程。
图4中,设备之间的实线表示对MQTT代理302与MQTT订阅设备303之间的数据传输进行安全性验证的SPA授权过程,虚线标识MQTT发布设备301通过MQTT代理302向 MQTT订阅设备303发布数据(比如某一主题topic)的过程。
下面,结合图5说明本发明实施例中MQTT数据发送方法的过程。如图5所示,该方法可包括如下步骤:
S501:MQTT发布设备301向MQTT代理302发送SDP连接请求。该连接请求中可包括MQTT发布设备301的互联网协议(Internet Protocol,IP)地址,以及MQTT发布设备301 与连接的SDP网关204的名称。
S502:MQTT代理302判断SDP连接请求是否被允许。若允许,则执行步骤S503。
可选地,MQTT代理302判断所述SDP网关204是否为预先设置的所述MQTT发布设备301被允许连接的SDP网关,若是,则确定该SDP连接请求被允许,否则,确定所述SDP 连接请求被拒绝,进而,MQTT代理302拒绝MQTT发布设备301的SDP连接请求。可选地,可向MQTT发布设备301回复拒绝消息;或者丢弃MQTT发布设备301的SDP连接请求,不执行S504及后续步骤。
在MQTT代理302中可预先存储MQTT发布设备301(IP地址)与SDP网关204(名称) 之间的数据传输关系,则MQTT代理302在收到了SDP连接请求后,即可依据预先存储的该数据传输关系判断是否允许SDP连接请求。若存在该数据传输关系,则确定SDP连接请求被允许,否则确定该SDP连接请求不被允许。
S503:MQTT代理302指示SDP网关204等待与MQTT发布设备301建立连接。
比如,MQTT代理302将MQTT发布设备301的IP地址待发送至SDP网关204,并可指示在接下来的预设时长内会收到来自该IP地址的连接建立请求。
S504:MQTT代理302向MQTT发布设备301发送SDP网关204的地址信息。
比如:MQTT代理302可将SDP网关204的IP地址发送至MQTT发布设备301。
可选地,在步骤S503和步骤S504之前,可选地,MQTT代理302还可对MQTT发布设备301的用户身份进行验证,验证方式包括但不限于:一次性令牌(One Time Token)验证、公钥基础设施(Public Key Infrastructure,PKI)验证、指纹验证、设备地理位置验证等。
S505:MQTT发布设备301与SDP网关204建立连接。可选地,该建立的连接为安全连接,比如:虚拟专用网络(Virtual Private Network,VPN)连接。
S506:MQTT发布设备301将自身的标识信息通过步骤S505中与SDP网关204建立的连接发送至SDP网关204。若步骤S505中建立的是安全连接,则步骤S506中标识信息的传输更为安全可靠。
S507:SDP网关204记录收到的MQTT发布设备301的标识信息。
S508:MQTT发布设备301向MQTT代理302发送发布的数据,数据的载荷中包括MQTT发布设备301的标识信息。
S509:MQTT代理302向SDP网关204发送MQTT发布设备301发布的数据。
S510:SDP网关204在收到的数据的载荷中查找MQTT发布设备301的标识信息。若找到,则执行步骤S511,否则可丢弃接收到的数据。
S511:SDP网关204将MQTT发布设备301发布的数据发送至连接的至少一个MQTT 订阅设备303。
可选地,在步骤S501中,MQTT发布设备301可不指定要连接的SDP网关204,在步骤S502中,MQTT代理302可预先存储或在收到MQTT发布设备301的SDP连接请求后从其他设备处获取的该MQTT发布设备301可连接哪些SDP网关204。进而,步骤S503中MQTT 代理302可指示该MQTT发布设备301可连接的所有SDP网关204等待该MQTT发布设备 301的连接建立请求。而在步骤S504中,MQTT代理302可将该MQTT发布设备301可连接的所有SDP网关204的地址信息返回给该MQTT发布设备301。这样,在步骤S505,该 MQTT发布设备301则可按照步骤S504中收到的地址信息与所有可连接的SDP网关204建立连接。并在接下来的步骤中,向该MQTT发布设备301可连接的所有MQTT代理302发送该MQTT发布设备301的标识信息,而MQTT代理302在收到该MQTT发布设备301发布的数据后,将收到的数据发送至该MQTT发布设备301可连接的所有SDP网关204,进而该MQTT发布设备301发布的数据可发送至各个SDP网关204所连接的MQTT订阅设备303。
MQTT协议支持三种级别的服务质量(Quality of Services,QoS):0、1和2。QoS 0采用尽力传输的机制,消息的接收端不会对消息的接收进行确认,也不会存储收到的消息以等待发送端重传。QoS 1要保证消息至少发送至接收端一次。发送端会存储消息直至收到接收端的确认。QoS 2是最安全的机制,但数据传输速度最慢,其保证每一套消息都被对方至少接收到一次。需要说明的是,本发明实施例适用于QoS 1和QoS 2。
图6为本发明实施例提供的一种MQTT代理302的结构示意图。如图6所示,该MQTT代理302可包括:
一个收发模块3021,用于接收来自一个MQTT发布设备301的一个SDP连接请求,SDP连接请求用于MQTT发布设备301与一个SDP网关204建立连接,其中,SDP网关204连接至少一个MQTT订阅设备303;
一个处理模块3022,用于判断SDP连接请求是否被允许,若被允许,则通过收发模块 3021指示SDP网关204等待与MQTT发布设备301建立连接,并通过收发模块3021向MQTT发布设备301返回SDP网关204的地址信息,用于MQTT发布设备301按照SDP网关204 的地址信息与SDP网关204建立连接。
可选地,处理模块3022,具体用于判断SDP网关204是否为预先设置的MQTT发布设备301被允许连接的SDP网关,若是,则确定SDP连接请求被允许,否则,确定SDP连接请求被拒绝。
可选地,收发模块3022,还用于在向MQTT发布设备301返回SDP网关204的地址信息之后,接收MQTT发布设备301发布的数据,其中,MQTT发布设备301发布的数据中包括MQTT发布设备301的标识信息,以及将收到的MQTT发布设备301发布的数据发送至 SDP网关204。
该MQTT代理302的其他可选实现方式可参考前述MQTT数据发送系统中,以及MQTT数据发送方法中的描述,其中,收发模块3022用于实现消息以及数据的收发操作,处理模块3022用于进行判断处理。
图7为本发明实施例提供的一种MQTT发布设备301的结构示意图。如图7所示,该MQTT发布设备301可包括:
一个收发模块3011,用于向一个MQTT代理302发送一个SDP连接请求,SDP连接请求用于请求与一个SDP网关204建立连接,其中,SDP网关204连接至少一个MQTT订阅设备303,以及接收来自MQTT代理302的响应于SDP连接请求的SDP网关204的地址信息;一个处理模块3012,用于按照收发模块3011接收的SDP网关204的地址信息控制MQTT 发布设备301与SDP网关204建立连接。
可选地,处理模块3012,具体用于控制MQTT发布设备301与SDP网关204建立一个安全连接。
可选地,收发模块3011,还用于在处理模块3012控制MQTT发布设备301与SDP网关204建立连接之后,通过建立的连接将MQTT发布设备301的标识信息发送至SDP网关204,以及将MQTT发布设备301发布的数据发送至MQTT代理302,以通过MQTT代理302发送至SDP网关204,其中,在发布的数据的载荷中包括MQTT发布设备301的标识信息。
该MQTT发布设备的其他可选实现方式可参考前述MQTT数据发送系统中,以及MQTT数据发送方法中的描述,其中,收发模块3011用于实现消息以及数据的收发操作,处理模块3012用于进行消息处理。
图8为本发明实施例提供的一种SDP网关204的结构示意图。如图8所示,该SDP网关204可包括:一个收发模块2041,用于接收来自一个MQTT代理302的一个指示信息,指示信息用于指示SDP网关204等待与一个MQTT发布设备301建立连接,其中,SDP网关 204连接至少一个MQTT订阅设备303,以及接收来自MQTT发布设备301的连接建立请求;一个处理模块2042,用于在收发模块2041收到来自MQTT发布设备301的连接建立请求后,与MQTT发布设备301建立连接;收发模块2041,还用于接收MQTT发布设备301通过建立的连接发送的MQTT发布设备301的标识信息;以及接收来自MQTT代理302的MQTT 发布设备301发布的数据;处理模块2042,还用于在收发模块2041接收到的MQTT发布设备301发布的数据的载荷中查找MQTT发布设备301的标识信息,以及若找到MQTT发布设备301的标识信息,则将收发模块2041接收到的MQTT发布设备301发布的数据发送至 SDP网关204所连接的至少一个MQTT订阅设备303。
可选地,处理模块2042,具体用于在收发模块2041收到来自MQTT发布设备301的建议一个安全连接的连接请求后,与MQTT发布设备301建立一个安全连接。
该SDP网关的其他可选实现方式可参考前述MQTT数据发送系统中,以及MQTT数据发送方法中的描述,其中,收发模块2041用于实现消息以及数据的收发操作,处理模块2042用于进行消息处理。
图9为本发明实施例提供的一种数据发送装置90的结构示意图。该数据发送装置90可为前述的MQTT代理302、MQTT发布设备301以及SDP网关204中的任一个。该装置90 可包括:至少一个处理器901和至少一个存储器902,其中,至少一个存储器902上存储有机器可读指令,至少一个处理器901用于调用机器可读指令,执行前述的方法中MQTT代理 302或MQTT发布设备301或SDP网关204中任意一个所执行的操作。图9所示的结构也可以视为是图6~图8任一个设备的硬件实现方式。
此外,本发明实施例还提供一种机器可读介质,其上存储有机器可读指令,机器可读指令在由至少一个处理器调用时,用于执行前述方法中MQTT代理302、MQTT发布设备 301或SDP网关204中任一个所执行的方法。该机器可读介质可为软盘、硬盘、内存、磁光盘、光盘、磁带和非易失性存储卡。该存储介质也可为远程服务器(比如:应用服务器,该远程服务器可部署在云上)上的存储资源。
综上,本发明实施例中,利用了SDP实现了MQTT数据传输的安全性功能。可选地,可实现双层保护,即通过SDP进行MQTT发布设备301与MQTT订阅设备303之间的数据传输关系的验证,通过SSL/TLS,VPN和载荷加密实现MQTT各协议层的安全保护。通过 SDP机制实现了MQTT代理302与SDP网关204的双向验证;在SDP连接建立之后,MQTT 代理302将自身的标识信息发送至SDP网关204,并且在发布的数据中包括了MQTT代理 302的标识信息,从而通过SDP网关204实现对MQTT数据的验证。对设备的改动主要体现在对MQTT代理302和MQTT发布设备301的改动。通过增加SDP网关204,而无需对MQTT 发布设备301进行较大改动。而前述的基于证书和采用TLS的两种实现MQTT协议的安全性功能的方案,均需要在MQTT发布设备301和大量的MQTT订阅设备303上做改动。
前述的基于证书实现MQTT协议的安全性功能是在应用层实现的安全性功能,而采用 TLS协议实现MQTT协议的安全性功能是指在传输层实现的安全性功能。而对于工业互联网中的移动终端和传统工业设备,绝大多数不具备足够的运算能力,不足以支持上述的应用层或传输层实现的安全性功能。而本发明实施例中,利用SDP协议实现MQTT协议的安全性功能。即使应用层数据不加密,设备间的数据传输仍然是安全的。由于SDP协议采用了SPA机制,MQTT代理302作为连接的接收端可采用丢弃一切的防火墙机制(将SDP网关204作为防火墙)。因此,MQTT数据发送系统30中的各设备可免受诸如服务拒绝(denial-of service,DDoS)、端口扫描等安全威胁。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。
Claims (19)
1.MQTT数据发送系统(30),其特征在于,包括:一个MQTT发布设备(301)、一个MQTT代理(302)、一个SDP网关(204),以及所述SDP网关(204)所连接的至少一个MQTT订阅设备(303),其中,
所述MQTT发布设备(301),用于向所述MQTT代理(302)发送一个SDP连接请求,所述SDP连接请求用于所述MQTT发布设备(301)与一个SDP网关(204)建立连接;
所述MQTT代理(302),用于判断所述SDP连接请求是否被允许,若被允许,则指示所述SDP网关(204)等待与所述MQTT发布设备(301)建立连接,并向所述MQTT发布设备(301)返回所述SDP网关(204)的地址信息;
所述MQTT发布设备(301),还用于按照接收的所述SDP网关(204)的地址信息向所述SDP网关(204)发送一个连接建立请求;
所述SDP网关(204),用于在收到所述MQTT发布设备(301)发送的连接建立请求后,与所述MQTT发布设备(301)建立连接。
2.一种设备连接方法,其特征在于,包括:
一个MQTT代理(302)接收来自一个MQTT发布设备(301)的一个SDP连接请求,所述SDP连接请求用于所述MQTT发布设备(301)与一个SDP网关(204)建立连接,其中,所述SDP网关(204)连接至少一个MQTT订阅设备(303);
所述MQTT代理(302)判断所述SDP连接请求是否被允许,若被允许,则
所述MQTT代理(302)指示所述SDP网关(204)等待与所述MQTT发布设备(301)建立连接;
所述MQTT代理(302)向所述MQTT发布设备(301)返回所述SDP网关(204)的地址信息,用于所述MQTT发布设备(301)按照所述SDP网关(204)的地址信息与所述SDP网关(204)建立连接。
3.如权利要求2所述的方法,其特征在于,所述MQTT代理(302)判断所述SDP连接请求是否被允许,包括:
所述MQTT代理(302)判断所述SDP网关(204)是否为预先设置的所述MQTT发布设备(301)被允许连接的SDP网关,若是,则确定所述SDP连接请求被允许,否则,确定所述SDP连接请求被拒绝。
4.如权利要求2或3所述的方法,其特征在于,在所述MQTT代理(302)向所述MQTT发布设备(301)返回所述SDP网关(204)的地址信息之后,还包括:
所述MQTT代理(302)接收所述MQTT发布设备(301)发布的数据,其中,所述MQTT发布设备(301)发布的数据中包括所述MQTT发布设备(301)的标识信息;
所述MQTT代理(302)将收到的所述MQTT发布设备(301)发布的数据发送至所述SDP网关(204)。
5.一种设备连接方法,其特征在于,包括:
一个MQTT发布设备(301)向一个MQTT代理(302)发送一个SDP连接请求,所述SDP连接请求用于请求与一个SDP网关(204)建立连接,其中,所述SDP网关(204)连接至少一个MQTT订阅设备(303);
所述MQTT发布设备(301)接收来自所述MQTT代理(302)的响应于所述SDP连接请求的所述SDP网关(204)的地址信息;
所述MQTT发布设备(301)按照接收的所述SDP网关(204)的地址信息与所述SDP网关(204)建立连接。
6.如权利要求5所述的方法,其特征在于,所述MQTT发布设备(301)与所述SDP网关(204)建立连接,包括:
所述MQTT发布设备(301)与所述SDP网关(204)建立一个安全连接。
7.如权利要求5或6所述的方法,其特征在于,在所述MQTT发布设备(301)与所述SDP网关(204)建立连接之后,还包括:
所述MQTT发布设备(301)通过建立的连接将所述MQTT发布设备(301)的标识信息发送至所述SDP网关(204);
所述MQTT发布设备(301)将发布的数据发送至所述MQTT代理(302),以通过所述MQTT代理(302)发送至所述SDP网关(204),其中,在发布的数据的载荷中包括所述MQTT发布设备(301)的所述标识信息。
8.一种数据发送方法,其特征在于,包括:
一个SDP网关(204)接收来自一个MQTT代理(302)的一个指示信息,所述指示信息用于指示所述SDP网关(204)等待与一个MQTT发布设备(301)建立连接,其中,所述SDP网关(204)连接至少一个MQTT订阅设备(303);
所述SDP网关(204)接收来自所述MQTT发布设备(301)的连接建立请求后,与所述MQTT发布设备(301)建立连接;
所述SDP网关(204)接收所述MQTT发布设备(301)通过建立的连接发送的所述MQTT发布设备(301)的标识信息;
所述SDP网关(204)接收来自所述MQTT代理(302)的所述MQTT发布设备(301)发布的数据;
所述SDP网关(204)在接收到的所述MQTT发布设备(301)发布的数据的载荷中查找所述MQTT发布设备(301)的所述标识信息;
若所述SDP网关(204)找到所述MQTT发布设备(301)的所述标识信息,则将接收到的所述MQTT发布设备(301)发布的数据发送至所述SDP网关(204)所连接的所述至少一个MQTT订阅设备(303)。
9.如权利要求8所述的方法,其特征在于,所述SDP网关(204)接收来自所述MQTT发布设备(301)的连接建立请求后,与所述MQTT发布设备(301)建立连接,包括:
所述SDP网关(204)接收来自所述MQTT发布设备(301)的建立一个安全连接的连接请求后,与所述MQTT发布设备(301)建立一个安全连接。
10.一种MQTT代理(302),其特征在于,包括:
一个收发模块(3021),用于接收来自一个MQTT发布设备(301)的一个SDP连接请求,所述SDP连接请求用于所述MQTT发布设备(301)与一个SDP网关(204)建立连接,其中,所述SDP网关(204)连接至少一个MQTT订阅设备(303);
一个处理模块(3022),用于判断所述SDP连接请求是否被允许,若被允许,则通过所述收发模块(3021)指示所述SDP网关(204)等待与所述MQTT发布设备(301)建立连接,并通过所述收发模块(3021)向所述MQTT发布设备(301)返回所述SDP网关(204)的地址信息,用于所述MQTT发布设备(301)按照所述SDP网关(204)的地址信息与所述SDP网关(204)建立连接。
11.如权利要求10所述的MQTT代理(302),其特征在于,所述处理模块(3022),具体用于判断所述SDP网关(204)是否为预先设置的所述MQTT发布设备(301)被允许连接的SDP网关,若是,则确定所述SDP连接请求被允许,否则,确定所述SDP连接请求被拒绝。
12.如权利要求10或11所述的MQTT代理(302),其特征在于,所述收发模块(3022),还用于在向所述MQTT发布设备(301)返回所述SDP网关(204)的地址信息之后,
接收所述MQTT发布设备(301)发布的数据,其中,所述MQTT发布设备(301)发布的数据中包括所述MQTT发布设备(301)的标识信息,以及
将收到的所述MQTT发布设备(301)发布的数据发送至所述SDP网关(204)。
13.一种MQTT发布设备(301),其特征在于,包括:
一个收发模块(3011),用于向一个MQTT代理(302)发送一个SDP连接请求,所述SDP连接请求用于请求与一个SDP网关(204)建立连接,其中,所述SDP网关(204)连接至少一个MQTT订阅设备(303),以及接收来自所述MQTT代理(302)的响应于所述SDP连接请求的所述SDP网关(204)的地址信息;
一个处理模块(3012),用于按照所述收发模块(3011)接收的所述SDP网关(204)的地址信息控制所述MQTT发布设备(301)与所述SDP网关(204)建立连接。
14.如权利要求13所述的MQTT发布设备(301),其特征在于,所述处理模块(3012),具体用于控制所述MQTT发布设备(301)与所述SDP网关(204)建立一个安全连接。
15.如权利要求13或14所述的MQTT发布设备(301),其特征在于,所述收发模块(3011),还用于在所述处理模块(3012)控制所述MQTT发布设备(301)与所述SDP网关(204)建立连接之后,
通过建立的连接将所述MQTT发布设备(301)的标识信息发送至所述SDP网关(204),以及
将所述MQTT发布设备(301)发布的数据发送至所述MQTT代理(302),以通过所述MQTT代理(302)发送至所述SDP网关(204),其中,在发布的数据的载荷中包括所述MQTT发布设备(301)的所述标识信息。
16.一种SDP网关(204),其特征在于,包括:
一个收发模块(2041),用于接收来自一个MQTT代理(302)的一个指示信息,所述指示信息用于指示所述SDP网关(204)等待与一个MQTT发布设备(301)建立连接,其中,所述SDP网关(204)连接至少一个MQTT订阅设备(303),以及接收来自所述MQTT发布设备(301)的连接建立请求;
一个处理模块(2042),用于在所述收发模块(2041)收到来自所述MQTT发布设备(301)的连接建立请求后,与所述MQTT发布设备(301)建立连接;
所述收发模块(2041),还用于接收所述MQTT发布设备(301)通过建立的连接发送的所述MQTT发布设备(301)的标识信息;以及接收来自所述MQTT代理(302)的所述MQTT发布设备(301)发布的数据;
所述处理模块(2042),还用于在所述收发模块(2041)接收到的所述MQTT发布设备(301)发布的数据的载荷中查找所述MQTT发布设备(301)的所述标识信息,以及若找到所述MQTT发布设备(301)的所述标识信息,则将所述收发模块(2041)接收到的所述MQTT发布设备(301)发布的数据发送至所述SDP网关(204)所连接的所述至少一个MQTT订阅设备(303)。
17.如权利要求16所述的SDP网关(204),其特征在于,所述处理模块(2042),具体用于在所述收发模块(2041)收到来自所述MQTT发布设备(301)的建议一个安全连接的连接请求后,与所述MQTT发布设备(301)建立一个安全连接。
18.一种数据发送装置(90),其特征在于,包括至少一个处理器(901)和至少一个存储器(902),其中,所述至少一个存储器上存储有机器可读指令,所述至少一个处理器用于调用所述机器可读指令,执行如权利要求2~9任一项所述的方法。
19.一种机器可读介质,其特征在于,其上存储有机器可读指令,所述机器可读指令在由至少一个处理器调用时,用于执行如权利要求2~9任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/119485 WO2019127241A1 (en) | 2017-12-28 | 2017-12-28 | Message queuing telemetry transport (mqtt) data transmission method, apparatus, and system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111183619A CN111183619A (zh) | 2020-05-19 |
CN111183619B true CN111183619B (zh) | 2022-04-26 |
Family
ID=67062858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780095542.3A Active CN111183619B (zh) | 2017-12-28 | 2017-12-28 | 数据发送、设备连接方法、装置和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11297107B2 (zh) |
EP (1) | EP3711274B1 (zh) |
CN (1) | CN111183619B (zh) |
WO (1) | WO2019127241A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110602112A (zh) * | 2019-09-19 | 2019-12-20 | 四川长虹电器股份有限公司 | 一种mqtt安全传输数据的方法 |
CN112261067A (zh) * | 2020-12-21 | 2021-01-22 | 江苏易安联网络技术有限公司 | 一种多级单包授权的方法及系统 |
US11477303B1 (en) * | 2021-05-17 | 2022-10-18 | Microsoft Technology Licensing, Llc | Broker cell for distributed message system |
CN114070829B (zh) * | 2021-10-22 | 2024-01-09 | 南通软云智能科技有限公司 | 一种基于mqtt的异常数据采集方法及系统 |
CN114401123A (zh) * | 2021-12-28 | 2022-04-26 | 国网天津市电力公司营销服务中心 | 基于可扩展通信协议的新型智能表采集系统及接入方法 |
WO2023168618A1 (en) * | 2022-03-09 | 2023-09-14 | Honeywell International Inc. | Lightweight supervisory control and data acquisition (scada) system and method |
CN114710544B (zh) * | 2022-03-23 | 2023-11-03 | 新华三信息安全技术有限公司 | 一种通道建立方法及装置 |
CN114710557A (zh) * | 2022-04-12 | 2022-07-05 | 树根互联股份有限公司 | 一种数据传输方法、装置及数据发布设备 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2941431C (en) * | 2014-03-28 | 2018-01-09 | Aetonix Systems | Simple video communication platform |
US10652504B2 (en) * | 2014-03-28 | 2020-05-12 | Aetonix Systems | Simple video communication platform |
US9781189B2 (en) | 2014-07-22 | 2017-10-03 | Sap Se | Managed device-to-device communication in business computing systems |
CN104158816A (zh) * | 2014-08-25 | 2014-11-19 | 中国科学院声学研究所 | 认证方法、装置和服务器 |
CN105656847B (zh) * | 2014-11-13 | 2018-08-24 | 中国科学院沈阳计算技术研究所有限公司 | 面向移动设备的sip/mqtt协议转换网关系统及其控制方法 |
US9667635B2 (en) * | 2015-03-26 | 2017-05-30 | Cisco Technology, Inc. | Creating three-party trust relationships for internet of things applications |
CN105072149A (zh) | 2015-06-30 | 2015-11-18 | 青岛海尔智能家电科技有限公司 | 通过代理网关建立远程通信的方法及装置 |
CN107852405B (zh) * | 2015-07-02 | 2021-02-02 | 康维达无线有限责任公司 | 用于服务层的内容安全性的装置 |
US10057382B2 (en) * | 2015-09-24 | 2018-08-21 | Amrita Vishwa Vidyapeetham | Intelligent “IoT gateway” |
CN106817341B (zh) | 2015-11-27 | 2019-11-26 | 中国科学院沈阳计算技术研究所有限公司 | 一种面向移动互联网的sip协议节流传输系统及方法 |
CN105959656B (zh) | 2016-07-15 | 2018-12-11 | 常州市小先信息技术有限公司 | 一种数字标牌的视频监控和录像回放安全机制方法 |
US10554726B1 (en) * | 2017-03-22 | 2020-02-04 | Amazon Technologies, Inc. | Remote device drivers for internet-connectable devices |
CN107018147B (zh) * | 2017-05-09 | 2020-09-08 | 南京云岸信息科技有限公司 | 一种物联网通信方法及系统、网关模块 |
CN107360030A (zh) * | 2017-07-14 | 2017-11-17 | 陕西科技大学 | 一种dali智能照明扩展系统及扩展方法 |
US10986126B2 (en) * | 2017-07-25 | 2021-04-20 | Palo Alto Networks, Inc. | Intelligent-interaction honeypot for IoT devices |
-
2017
- 2017-12-28 US US16/954,245 patent/US11297107B2/en active Active
- 2017-12-28 EP EP17935991.4A patent/EP3711274B1/en active Active
- 2017-12-28 WO PCT/CN2017/119485 patent/WO2019127241A1/en unknown
- 2017-12-28 CN CN201780095542.3A patent/CN111183619B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US11297107B2 (en) | 2022-04-05 |
EP3711274A1 (en) | 2020-09-23 |
EP3711274B1 (en) | 2024-04-24 |
EP3711274A4 (en) | 2021-06-16 |
CN111183619A (zh) | 2020-05-19 |
US20210144176A1 (en) | 2021-05-13 |
WO2019127241A1 (en) | 2019-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111183619B (zh) | 数据发送、设备连接方法、装置和系统 | |
US11432347B2 (en) | Peer to peer networking and sharing systems and methods | |
CN107534651B (zh) | 用于传送会话标识符的方法及设备 | |
RU2623197C2 (ru) | Способы, устройства и системы для создания сквозных безопасных соединений и для безопасной передачи пакетов данных | |
ES2637069T3 (es) | Método y aparato de implementación de proxy de red | |
US10609020B2 (en) | Method and arrangements for intermediary node discovery during handshake | |
WO2010048838A1 (zh) | 网络认证方法、客户端请求认证的方法、客户端和装置 | |
EP2981022B1 (en) | Method and system for transmitting and receiving data, method and device for processing message | |
WO2017012142A1 (zh) | 一种双连接安全通讯的方法及装置 | |
WO2010087326A1 (ja) | Tcp通信方式 | |
CN110602112A (zh) | 一种mqtt安全传输数据的方法 | |
US10958625B1 (en) | Methods for secure access to services behind a firewall and devices thereof | |
CN110855561A (zh) | 一种物联网智能网关 | |
US8595477B1 (en) | Systems and methods for reducing handshake delay in streaming protocol web requests | |
JP3743506B2 (ja) | 中継サーバ及び中継システム | |
JP4619059B2 (ja) | 端末装置、ファイアウォール装置、及びファイアウォール装置制御のための方法、並びにプログラム | |
CN107181798A (zh) | 一种网络访问的实现方法及系统 | |
US11405362B2 (en) | Apparatus and method for secure communication over restricted network | |
JP4571006B2 (ja) | ネットワーク制御装置、ネットワークシステム、及びプログラム | |
CN107846279B (zh) | 安全保护部件互联结构化系统及实现方法 | |
US20130145434A1 (en) | Unattended Authentication in a Secondary Authentication Service for Wireless Carriers | |
JP2022059829A (ja) | 通信システム、通信方法及び通信プログラム | |
CN114389880A (zh) | 一种结合零信任思想的跨云池安全接入方法和系统 | |
CN112398805A (zh) | 在客户机和服务机之间建立通信通道的方法 | |
TW201918055A (zh) | 使用IPv6的物聯網系統及其操作方法 |
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 |