CN106657130B - 一种基于mqtt的访问认证的方法及设备 - Google Patents

一种基于mqtt的访问认证的方法及设备 Download PDF

Info

Publication number
CN106657130B
CN106657130B CN201710013091.6A CN201710013091A CN106657130B CN 106657130 B CN106657130 B CN 106657130B CN 201710013091 A CN201710013091 A CN 201710013091A CN 106657130 B CN106657130 B CN 106657130B
Authority
CN
China
Prior art keywords
mqtt
message
equipment
client
identification information
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
CN201710013091.6A
Other languages
English (en)
Other versions
CN106657130A (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.)
Shanghai Pudong Software Park Huizhi Software Development Co ltd
Original Assignee
Shanghai Pudong Software Park Huizhi Software Development 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 Shanghai Pudong Software Park Huizhi Software Development Co ltd filed Critical Shanghai Pudong Software Park Huizhi Software Development Co ltd
Priority to CN201710013091.6A priority Critical patent/CN106657130B/zh
Publication of CN106657130A publication Critical patent/CN106657130A/zh
Application granted granted Critical
Publication of CN106657130B publication Critical patent/CN106657130B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0892Network architectures or network communication protocols for network security for authentication of entities by using authentication-authorization-accounting [AAA] servers or protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Power Engineering (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请的目的是提供一种基于MQTT的访问认证的方法及设备,本申请通过将所述MQTT的客户端的接入认证请求发送至服务端设备;基于所述服务端设备反馈的接入认证结果向所述服务端设备发送订阅主题认证请求;基于所述服务端设备反馈的订阅主题认证请求结果将发布消息认证请求发送至所述服务端设备;基于所述服务端设备反馈的发布消息认证结果与所述服务端设备确定连接。实现了对MQTT客户端的接入认证、订阅认证、消息认证及对物联网平台中的MQTT设备、MQTT设备拥有者、应用程序和应用程序开发者的管理功能,减少了系统由于配置出错导致的问题,并提供了相应的网页界面使用户可以更直观的使用由MQTT客户端与服务端确定的系统。

Description

一种基于MQTT的访问认证的方法及设备
技术领域
本申请涉及计算机领域,尤其涉及一种基于MQTT的访问认证的方法及设备。
背景技术
将日常事物连接到互联网技术迅速发展,智慧园区的建设越来越多的满足用户设备的需求。在智慧园区的建设中,MQTT(消息队列遥测传输协议)协议由于优良的设计而成为一个被普遍接受的协议,针对MQTT的认证扩展和安全传输成功必不可少的功能,目前采用的emqtt方案所提供的认证方式依赖于其配置文件,极大的增加了系统的复杂性。
申请内容
本申请的一个目的是提供一种基于MQTT的访问认证的方法及设备,解决现有技术中的认证方式依赖于配置文件,由于配置出错导致的问题。
根据本申请的一个方面,提供了一种在客户端的基于MQTT的访问认证的方法,所述方法包括:
将所述MQTT的客户端的接入认证请求发送至服务端设备;
基于所述服务端设备反馈的接入认证结果向所述服务端设备发送订阅主题认证请求;
基于所述服务端设备反馈的订阅主题认证请求结果将发布消息认证请求发送至所述服务端设备;
基于所述服务端设备反馈的发布消息认证结果与所述服务端设备确定连接。
进一步地,所述客户端包括MQTT设备和MQTT设备拥有用户时,将所述MQTT的客户端的接入认证请求发送至服务端设备,包括:
向所述服务端设备发送所述MQTT设备拥有用户及所述MQTT设备的访问密匙和加密密匙的申请请求;
接收所述服务端设备为所述MQTT设备分配的唯一标识信息;
基于所述访问密匙、加密密匙和所述唯一标识信息将所述MQTT设备的接入认证请求发送至服务端设备。
进一步地,基于所述服务端设备反馈的接入认证结果向所述服务端设备发送订阅主题认证请求,包括:
基于所述服务端设备反馈的接入认证成功的接入认证结果,所述MQTT设备通过订阅主题的过滤器向所述服务端发送所述订阅主题认证请求,其中,所述订阅主题的过滤器根据所述MQTT设备拥有用户的访问密匙、唯一标识信息及控制消息传输通道确定,
或根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及查询消息传输通道确定。
进一步地,基于所述服务端设备反馈的订阅主题认证请求结果将发布消息认证请求发送至所述服务端设备,包括:
基于所述服务端设备反馈的订阅成功的订阅主题认证请求结果,根据报文中确定的主题名将发布消息认证请求发送至所述服务端设备。
进一步地,所述报文中的主题名包括:发布消息的报文中的主题名、回复控制消息的报文中的主题名和回复查询消息的报文中的主题名,
所述方法还包括:
根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及数据消息传输通道确定所述发布消息的报文中的主题名;
根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及控制回复消息传输通道确定所述回复控制消息的报文中的主题名;
根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及查询回复消息传输通道确定所述回复查询消息的报文中的主题名。
进一步地,所述方法还包括:
所述报文中的遗嘱消息采用预设的MQTT设备消息字符串,所述遗嘱消息的主题格式根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息和离线消息传输通道确定。
进一步地,所述客户端包括应用程序开发用户授权的MQTT设备及所述MQTT设备拥有用户时,将所述MQTT的客户端的接入认证请求发送至服务端设备,包括:
向所述服务端设备发送所述应用程序、所述应用程序开发用户、所述应用程序开发用户授权的MQTT设备拥有用户及所述MQTT设备的访问密匙和加密密匙的申请请求;
接收所述服务端设备为所述应用程序和所述MQTT设备分别分配的唯一标识信息;
基于所述访问密匙、加密密匙、所述MQTT设备的唯一标识信息和所述应用程序的唯一标识信息将所述应用程序的接入认证请求发送至服务端设备。
进一步地,基于所述服务端设备反馈的接入认证结果向所述服务端设备发送订阅主题认证请求,包括:
基于所述服务端设备反馈的接入认证成功的接入认证结果,所述应用程序通过订阅主题的过滤器向所述服务端发送所述订阅主题认证请求,
其中,所述订阅主题的过滤器根据以下至少任一种确定:
根据所述应用程序开发用户授权的MQTT设备的拥有用户的访问密匙、所述MQTT设备的唯一标识信息及控制消息传输通道确定所述过滤器;
根据所述应用程序开发用户授权的MQTT设备的拥有用户的访问密匙、所述MQTT设备的唯一标识信息及查询消息传输通道确定所述过滤器;
根据所述应用程序开发用户授权的所述MQTT设备的拥有用户的访问密匙、所述MQTT设备的唯一标识信息及数据消息传输通道确定所述过滤器;
根据所述应用程序开发用户授权的所述MQTT设备的拥有用户的访问密匙及所述MQTT设备的唯一标识信息确定所述过滤器。
进一步地,基于所述服务端设备反馈的订阅主题认证请求结果将发布消息认证请求发送至所述服务端设备,包括:
基于所述服务端设备反馈的订阅成功的订阅主题认证请求结果,所述应用程序授权的MQTT设备根据报文中确定的主题名将发布消息认证请求发送至所述服务端设备。
进一步地,所述报文中的主题名包括:发布控制消息的报文中的主题名和发布查询消息的报文中的主题名,
所述方法还包括:
根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及控制消息传输通道确定所述发布控制消息的报文中的主题名;
根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及查询消息传输通道确定所述发布查询消息的报文中的主题名。
进一步地,所述方法还包括:
所述报文中的遗嘱消息采用预设的应用程序消息字符串,所述遗嘱消息的主题格式根据所述应用程序开发用户的访问密匙、所述应用程序的唯一标识信息和离线消息传输通道确定。
根据本申请另一方面,提供了一种在服务设备端基于MQTT的访问认证的方法,所述方法包括:
基于所述MQTT的客户端发送的接入认证请求对所述客户端进行认证,并向所述客户端反馈接入认证结果;
基于所述客户端发送的订阅主题认证请求判断所述客户端是否成功订阅主题,并向所述客户端反馈订阅主题认证请求结果;
接收所述客户端发布的消息认证请求后,根据报文中的服务质量确定发布消息认证结果,并根据所述发布消息认证结果确定与所述客户端的连接。
根据本申请再一个方面,还提供了一种基于MQTT的访问认证的客户端,所述客户端包括:
接入认证请求装置,用于将所述客户端的接入认证请求发送至服务端设备;
订阅主题认证请求装置,用于基于所述服务端设备反馈的接入认证结果向所述服务端设备发送订阅主题认证请求;
发布消息认证请求装置,用于基于所述服务端设备反馈的订阅主题认证请求结果将发布消息认证请求发送至所述服务端设备;
确定连接装置,用于基于所述服务端设备反馈的发布消息认证结果与所述服务端设备确定连接。
根据本申请另一方面,还提供了一种基于MQTT的访问认证的服务设备,其中,所述服务设备包括:
接入认证装置,用于基于客户端发送的接入认证请求对所述客户端进行认证,并向所述客户端反馈接入认证结果;
主题认证装置,用于基于所述客户端发送的订阅主题认证请求判断所述客户端是否成功订阅主题,并向所述客户端反馈订阅主题认证请求结果;
消息认证装置,用于接收所述客户端发布的消息认证请求后,根据报文中的服务质量确定发布消息认证结果,并根据所述发布消息认证结果确定与所述客户端的连接。
与现有技术相比,本申请通过将所述MQTT的客户端的接入认证请求发送至服务端设备;基于所述服务端设备反馈的接入认证结果向所述服务端设备发送订阅主题认证请求;基于所述服务端设备反馈的订阅主题认证请求结果将发布消息认证请求发送至所述服务端设备;基于所述服务端设备反馈的发布消息认证结果与所述服务端设备确定连接。实现了对MQTT客户端的接入认证、订阅认证、消息认证及对物联网平台中的MQTT设备、MQTT设备拥有者、应用程序和应用程序开发者的管理功能,减少了系统由于配置出错导致的问题,并提供了相应的网页界面使用户可以更直观的使用由MQTT客户端与服务端确定的系统。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种在客户端的基于MQTT的访问认证的方法流程示意图;
图2示出的本申请一实施例中客户端与服务端之间的访问认证的交互示意图;
图3示出根据本申请另一个方面的一种基于MQTT的访问认证的客户端的结构示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
图1示出根据本申请一个方面的一种在客户端的基于MQTT的访问认证的方法流程示意图,所述方法包括:步骤S11~步骤S14,
在步骤S11中,将所述MQTT的客户端的接入认证请求发送至服务端设备;在本申请实施例中,将MQTT客户端进行接入认证,在此,接入认证包括MQTT设备的接入认证和应用程序(APP)的接入认证。针对MQTT设备和APP的接入认证请求,有不同的接入认证流程,实现对MQTT设备、MQTT设备拥有用户、APP和APP开发用户的管理。
在步骤S12中,基于所述服务端设备反馈的接入认证结果向所述服务端设备发送订阅主题认证请求;在本申请实施例中,接入认证通过后,MQTT的客户端可以订阅相关主题,订阅主题时按照预设的主题格式进行,若尝试其他主题的格式则会导致错误,订阅失败。
在步骤S13中,基于所述服务端设备反馈的订阅主题认证请求结果将发布消息认证请求发送至所述服务端设备;在本申请实施例中,当订阅主题成功后,MQTT的客户端开始发布消息,发布消息的PUBLISH(发布)报文、回复控制消息的PUBLISH(发布)报文及回复查询消息的PUBLISH(发布)报文中的主题名需要按照预设的规则,若非法使用其他主题名进行发布将导致服务端断开连接。
在步骤S14中,基于所述服务端设备反馈的发布消息认证结果与所述服务端设备确定连接。在此,当发布消息认证结果为成功,则保持客户端与服务端的连接,可以继续在客户端与服务端之间进行安全传输,当发布消息认证结果为失败,则将断开与服务端之间的连接,保证消息传输的准确性和安全性。
优选地,当所述客户端包括MQTT设备和MQTT设备拥有用户时,在步骤S11中,向所述服务端设备发送所述MQTT设备拥有用户及所述MQTT设备的访问密匙和加密密匙的申请请求;接收所述服务端设备为所述MQTT设备分配的唯一标识信息;基于所述访问密匙、加密密匙和所述唯一标识信息将所述MQTT设备的接入认证请求发送至服务端设备。在此,首先申请MQTT设备拥有用户owner账号,在管理界面中申请访问密匙(accessKey)和加密密匙(secretKey);接着,在管理界面中添加新的MQTT设备,为每个待接入的MQTT设备分配唯一标识信息deviceId,其中,MQTT设备为智慧园区的采集设备,能够接入到智慧园区的系统中;需要说明的是,访问密匙(accessKey)用来访问系统提供的一些应用程序的接口,用于MQTT协议中连接(CONNECT)报文中的user name字段(用户名字段),deviceId用于MQTT协议中的CONNECT报文中的ClinetId字段(客户端标识符),secretKey用于对MQTT协议中的CONNECT报文中的Payload(有效载荷)中的ClinetId字段(客户端标识符)、Will Topic(遗嘱主题)、Will Message(遗嘱消息)、User Name(用户名)字段进行签名,签名用于MQTT协议中的CONNECT报文中的Password(密码)字段。
需要说明的是,Will Topic(遗嘱主题)、Will Message(遗嘱消息)是由客户端预先定义的主题和对应消息,附加在CONNECT报文的可变头部中,在客户端连接出现异常的情况下,由服务器主动发布此消息。
优选地,在步骤S12中,基于所述服务端设备反馈的接入认证成功的接入认证结果,所述MQTT设备通过订阅主题的过滤器向所述服务端发送所述订阅主题认证请求,其中,所述订阅主题的过滤器根据所述MQTT设备拥有用户的访问密匙、唯一标识信息及控制消息传输通道确定,或根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及查询消息传输通道确定。在本申请一实施例中,订阅主题时必须使用{{MQTT设备拥有用户的访问密匙}}/{{MQTT设备ID}}/CONTROL,或{{MQTT设备拥有用户的访问密匙}}/{{MQTT设备ID}}/QUERY作为主题过滤器,尝试订阅任何其他主题会导致失败,当订阅失败后,服务端将在对应字节设置0x80以示相关主题未订阅成功。其中,CONTROL为控制消息传输通道,QUERY为查询消息传输通道。
优选地,在步骤S13中,基于所述服务端设备反馈的订阅成功的订阅主题认证请求结果,根据报文中确定的主题名将发布消息认证请求发送至所述服务端设备。在本申请一实施例中,所述报文中的主题名包括:发布消息的报文中的主题名、回复控制消息的报文中的主题名和回复查询消息的报文中的主题名,优选地,所述方法还包括:根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及数据消息传输通道确定所述发布消息的报文中的主题名;根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及控制回复消息传输通道确定所述回复控制消息的报文中的主题名;根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及查询回复消息传输通道确定所述回复查询消息的报文中的主题名。
在此,MQTT设备在订阅主题后开始发布消息,发布消息的PUBLISH报文中的主题名设置为{{设备拥有者的访问密匙}}/{{设备ID}}/DATA,回复控制消息的PUBLISH报文中的主题名设置为{{设备拥有者的访问密匙}}/{{设备ID}}/CREPLY,回复查询消息的PUBLISH报文中的主题名设置为{{设备拥有者的访问密匙}}/{{设备ID}}/QREPLY,尝试其他主题名将导致致命错误,非法使用其他主题名进行发布将导致服务端断开连接;其中,设备拥有者为MQTT设备拥有用户,DATA为数据消息传输通道,CREPLY为控制回复消息传输通道,QREPLY为查询回复消息传输通道。
优选地,所述方法还包括:步骤S15,所述报文中的遗嘱消息采用预设的MQTT设备消息字符串,所述遗嘱消息的主题格式根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息和离线消息传输通道确定。在本申请一实施例中,需要对遗嘱消息进行规范,采用固定的WizIOT OFFLINE字符串,遗嘱消息主题格式为{{设备拥有者的访问密匙}}/{{设备ID}}/OFFLINE,其中,WizIOT OFFLINE为设计的结果,主要区别于应用程序APP的遗嘱消息,OFFLINE为离线消息传输通道。
优选地,所述客户端包括应用程序开发用户授权的MQTT设备及所述MQTT设备拥有用户时,在步骤S11中,向所述服务端设备发送所述应用程序、所述应用程序开发用户、所述应用程序开发用户授权的MQTT设备拥有用户及所述MQTT设备的访问密匙和加密密匙的申请请求;接收所述服务端设备为所述应用程序和所述MQTT设备分别分配的唯一标识信息;基于所述访问密匙、加密密匙、所述MQTT设备的唯一标识信息和所述应用程序的唯一标识信息将所述应用程序的接入认证请求发送至服务端设备。在本申请一实施例中,服务端优选为物联网平台后台,在后台的管理界面中申请accessKey及secretKey,接着,在物联网平台后台管理界面中为每个需要接入的APP终端获取AppId,其中,accessKey用于MQTT协议中的CONNECT报文中的User Name字段(用户名字段),AppId为应用程序APP的唯一标识符,用于MQTT协议中的CONNECT报文中的Payload(有效载荷)中的ClientId(客户端标识符)、WillTopic(遗嘱主题)、Will Message(遗嘱消息)、User Name(用户名)字段进行签名。
在本申请一实施例中,在步骤S12中,基于所述服务端设备反馈的接入认证成功的接入认证结果,所述应用程序通过订阅主题的过滤器向所述服务端发送所述订阅主题认证请求,其中,所述订阅主题的过滤器根据以下至少任一种确定:根据所述应用程序开发用户授权的MQTT设备的拥有用户的访问密匙、所述MQTT设备的唯一标识信息及控制消息传输通道确定所述过滤器;根据所述应用程序开发用户授权的MQTT设备的拥有用户的访问密匙、所述MQTT设备的唯一标识信息及查询消息传输通道确定所述过滤器;根据所述应用程序开发用户授权的所述MQTT设备的拥有用户的访问密匙、所述MQTT设备的唯一标识信息及数据消息传输通道确定所述过滤器;根据所述应用程序开发用户授权的所述MQTT设备的拥有用户的访问密匙及所述MQTT设备的唯一标识信息确定所述过滤器。
在此,APP终端仅具备订阅所属APP开发者的被授权的MQTT设备的权力,接入认证通过后,APP终端可以订阅相关主题,订阅主题使用{{MQTT设备拥有者的accessKey}}/{{MQTT设备的deviceId}}/CREPLY或{{MQTT设备拥有者的acessKey}}/{{MQTT设备的deviceId}}/QREPLY或{{MQTT设备拥有者的acessKey}}/{{MQTT设备的deviceId}}/DATA或{{MQTT设备拥有者的acessKey}}/{{MQTT设备的deviceId}}+或{{MQTT设备拥有者的acessKey}}/{{MQTT设备的deviceId}}/#作为主题过滤器,尝试订阅其他任何主题将导致失败,订阅失败后,服务端将在对应字节设置0x80以示相关主题未订阅成功。
优选地,在步骤S13中,基于所述服务端设备反馈的订阅成功的订阅主题认证请求结果,所述应用程序授权的MQTT设备根据报文中确定的主题名将发布消息认证请求发送至所述服务端设备。在本申请一实施例中,所述报文中的主题名包括:发布控制消息的报文中的主题名和发布查询消息的报文中的主题名,确定主题名的方法包括:根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及控制消息传输通道确定所述发布控制消息的报文中的主题名;根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及查询消息传输通道确定所述发布查询消息的报文中的主题名。
在此,APP终端应在订阅主题后开始发布消息,APP终端仅具备所属APP开发者的被授权的MQTT设备发布消息的权力,发布控制消息的PUBLISH报文中的主题名设置为{{MQTT设备拥有者的accessKey}}/{{MQTT设备的deviceId}}/CONTROL,发布查询消息的PUBLISH报文中的主题名设置为{{MQTT设备拥有者的accessKey}}/{{MQTT设备的deviceId}}/QUERY,尝试使用其他主题名将导致致命错误,当非法使用其他主题名进行发布时,将导致服务端断开连接。
优选地,所述方法还包括:步骤S15’,所述报文中的遗嘱消息采用预设的应用程序消息字符串,所述遗嘱消息的主题格式根据所述应用程序开发用户的访问密匙、所述应用程序的唯一标识信息和离线消息传输通道确定。在本申请一实施例中,采用固定的WizIOTAPP OFFLINE字符串,遗嘱消息主题格式为{{APP开发者的访问密匙}}/{{AppID}}/OFFLINE。
根据本申请另一方面,提供了一种在服务设备端基于MQTT的访问认证的方法,所述方法包括:步骤S21~步骤S23,其中,在步骤S21中,基于所述MQTT的客户端发送的接入认证请求对所述客户端进行认证,并向所述客户端反馈接入认证结果;在步骤S22中,基于所述客户端发送的订阅主题认证请求判断所述客户端是否成功订阅主题,并向所述客户端反馈订阅主题认证请求结果;在步骤S23中,接收所述客户端发布的消息认证请求后,根据报文中的服务质量确定发布消息认证结果,并根据所述发布消息认证结果确定与所述客户端的连接。在本申请一实施例中,系统包括服务端和MQTT的客户端,通过服务端对MQTT的客户端进行接入认证、订阅认证、消息认证以及对平台中的MQTT设备、MQTT设备拥有者、APP和APP开发者的管理功能,实现了MQTT的认证扩展和安全传输,减少了系统由于配置出错导致的错误,并提供相应的网页界面使用户可以更直观的使用系统。
优选地,在步骤S22中,接收所述客户端发送的订阅主题认证请求;根据所述客户端的标识信息、遗嘱主题、遗嘱消息、用户名字段、密码字段判断所述客户端是否成功订阅主题,若否,则在对应字节设置未订阅成功标识。
如图2示出的本申请一实施例中客户端与服务端之间的访问认证的交互示意图。以MQTT设备为例进行说明设备的接入认证、订阅认证及消息认证,首先,数据服务总线组件中的MQTT设备进行接入认证,服务端的数据服务总线反馈认证结果,其中,反馈认证结果是根据接入的MQTT设备的ClientID(客户端标识符)、Will Topic(遗嘱主题)、Will Message(遗嘱消息)、User Name(用户名)、Password(密码)字段进行判断的,如果是合法的,则认证成功,MQTT设备成功接入,进而能够通过MQTT与服务器进行通信。对于接入认证成功的MQTT设备,开始订阅相关主题,服务端根据订阅主题判断MQTT设备是否订阅成功,若失败则在对应字节设置0x80。MQTT设备发布消息,服务端在接收到MQTT设备发布的消息后判断所发布消息的主题名是否为预设要求的规范格式,若非法使用其他主题名,则断开与MQTT设备之间的连接,发布消息失败。若使用主题名合法,则MQTT设备的消息成功发布,通过MQTT与服务器维持正常通信,对发布消息的确认根据PUBLISH报文中的QOS(服务质量)字段确定。
优选地,所述客户端包括MQTT设备和MQTT设备拥有用户时,在步骤S21中,接收所述MQTT设备拥有用户发送的所述MQTT设备拥有用户和所述MQTT设备的访问密匙和加密密匙的申请请求;根据所述申请请求将所述MQTT设备添加至管理集群中,并为所述MQTT设备分配唯一标识信息;接收所述MQTT设备基于所述访问密匙、加密密匙和所述唯一标识信息发送的接入认证请求。在本申请一实施例中,进行MQTT设备的接入认证、订阅认证、消息认证时,首先根据MQTT设备拥有者申请个人账号及MQTT设备的访问密匙、加密密匙的申请,给MQTT设备分配一个设备ID,以及为MQTT设备和MQTT设备的拥有者分别分配访问密匙和加密密匙,并将MQTT设备添加至管理集群中,其中,管理集群优选为物联网平台管理界面。
优选地,所述客户端包括应用程序开发用户授权的MQTT设备及所述MQTT设备拥有用户时,在步骤S21中,接收所述应用程序开发用户授权的MQTT设备发送的所述应用程序、所述应用程序开发用户、所述MQTT设备拥有用户及所述MQTT设备的访问密匙和加密密匙的申请请求;根据所述申请请求将所述应用程序添加至管理集群中,并为所述应用程序和所述MQTT设备分别分配唯一标识信息;接收所述应用程序基于所述访问密匙、加密密匙、所述MQTT设备的唯一标识信息和所述应用程序的唯一标识信息发送的接入认证请求。在本申请一实施例中,进行APP的接入认证、订阅认证、消息认证时,首先根据APP终端的申请,为APP终端分配应用程序的唯一标识信息(APPId),并为APP、APP的开发者、APP开发者授权的MQTT设备及MQTT设备的拥有者分别分配访问密匙和加密密匙,接收APP的接入认证请求,完成APP的接入认证。
本申请所述的基于MQTT的访问认证的方法,实现了对MQTT客户端的接入认证、订阅认证、消息认证及对物联网平台中的采集设备、采集设备拥有者、APP和APP开发者的管理功能,并提供了安全套接层(SSL)和网络通信(Websocket)支持,减少了系统由于配置出错导致的问题,并提供了相应的网页界面使用户可以更直观的使用由MQTT客户端与服务端确定的系统。
图3示出根据本申请另一个方面的一种基于MQTT的访问认证的客户端的结构示意图,所述客户端包括:接入认证请求装置11、订阅主题认证请求装置12、发布消息认证请求装置13和确定连接装置14,
接入认证请求装置11,用于将所述MQTT的客户端的接入认证请求发送至服务端设备;在本申请实施例中,将MQTT客户端进行接入认证,在此,接入认证包括MQTT设备的接入认证和应用程序(APP)的接入认证。针对MQTT设备和APP的接入认证请求,有不同的接入认证流程,实现对MQTT设备、MQTT设备拥有用户、APP和APP开发用户的管理。
订阅主题认证请求装置12,用于基于所述服务端设备反馈的接入认证结果向所述服务端设备发送订阅主题认证请求;在本申请实施例中,接入认证通过后,MQTT的客户端可以订阅相关主题,订阅主题时按照预设的主题格式进行,若尝试其他主题的格式则会导致错误,订阅失败。
发布消息认证请求装置13,用于基于所述服务端设备反馈的订阅主题认证请求结果将发布消息认证请求发送至所述服务端设备;在本申请实施例中,当订阅主题成功后,MQTT的客户端开始发布消息,发布消息的PUBLISH(发布)报文、回复控制消息的PUBLISH(发布)报文及回复查询消息的PUBLISH(发布)报文中的主题名需要按照预设的规则,若非法使用其他主题名进行发布将导致服务端断开连接。
确定连接装置14,用于基于所述服务端设备反馈的发布消息认证结果与所述服务端设备确定连接。在此,当发布消息认证结果为成功,则保持客户端与服务端的连接,可以继续在客户端与服务端之间进行安全传输,当发布消息认证结果为失败,则将断开与服务端之间的连接,保证消息传输的准确性和安全性。
优选地,当所述客户端包括MQTT设备和MQTT设备拥有用户时,接入认证请求装置11,用于向所述服务端设备发送所述MQTT设备拥有用户及所述MQTT设备的访问密匙和加密密匙的申请请求;接收所述服务端设备为所述MQTT设备分配的唯一标识信息;基于所述访问密匙、加密密匙和所述唯一标识信息将所述MQTT设备的接入认证请求发送至服务端设备。在此,首先申请MQTT设备拥有用户owner账号,在管理界面中申请访问密匙(accessKey)和加密密匙(secretKey);接着,在管理界面中添加新的MQTT设备,为每个待接入的MQTT设备分配唯一标识信息deviceId,其中,MQTT设备为智慧园区的采集设备,能够接入到智慧园区的系统中;需要说明的是,访问密匙(accessKey)用来访问系统提供的一些应用程序的接口,用于MQTT协议中连接(CONNECT)报文中的user name字段(用户名字段),deviceId用于MQTT协议中的CONNECT报文中的ClinetId字段(客户端标识符),secretKey用于对MQTT协议中的CONNECT报文中的Payload(有效载荷)中的ClinetId字段(客户端标识符)、Will Topic(遗嘱主题)、Will Message(遗嘱消息)、User Name(用户名)字段进行签名,签名用于MQTT协议中的CONNECT报文中的Password(密码)字段。
需要说明的是,Will Topic(遗嘱主题)、Will Message(遗嘱消息)是由客户端预先定义的主题和对应消息,附加在CONNECT报文的可变头部中,在客户端连接出现异常的情况下,由服务器主动发布此消息。
优选地,订阅主题认证请求装置12,用于基于所述服务端设备反馈的接入认证成功的接入认证结果,所述MQTT设备通过订阅主题的过滤器向所述服务端发送所述订阅主题认证请求,其中,所述订阅主题的过滤器根据所述MQTT设备拥有用户的访问密匙、唯一标识信息及控制消息传输通道确定,或根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及查询消息传输通道确定。在本申请一实施例中,订阅主题时必须使用{{MQTT设备拥有用户的访问密匙}}/{{MQTT设备ID}}/CONTROL,或{{MQTT设备拥有用户的访问密匙}}/{{MQTT设备ID}}/QUERY作为主题过滤器,尝试订阅任何其他主题会导致失败,当订阅失败后,服务端将在对应字节设置0x80以示相关主题未订阅成功。其中,CONTROL为控制消息传输通道,QUERY为查询消息传输通道。
优选地,发布消息认证请求装置13,用于基于所述服务端设备反馈的订阅成功的订阅主题认证请求结果,根据报文中确定的主题名将发布消息认证请求发送至所述服务端设备。在本申请一实施例中,所述报文中的主题名包括:发布消息的报文中的主题名、回复控制消息的报文中的主题名和回复查询消息的报文中的主题名,优选地,所述客户端还包括:主题名确定装置,用于根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及数据消息传输通道确定所述发布消息的报文中的主题名;根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及控制回复消息传输通道确定所述回复控制消息的报文中的主题名;根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及查询回复消息传输通道确定所述回复查询消息的报文中的主题名。
在此,MQTT设备在订阅主题后开始发布消息,发布消息的PUBLISH报文中的主题名设置为{{设备拥有者的访问密匙}}/{{设备ID}}/DATA,回复控制消息的PUBLISH报文中的主题名设置为{{设备拥有者的访问密匙}}/{{设备ID}}/CREPLY,回复查询消息的PUBLISH报文中的主题名设置为{{设备拥有者的访问密匙}}/{{设备ID}}/QREPLY,尝试其他主题名将导致致命错误,非法使用其他主题名进行发布将导致服务端断开连接;其中,设备拥有者为MQTT设备拥有用户,DATA为数据消息传输通道,CREPLY为控制回复消息传输通道,QREPLY为查询回复消息传输通道。
优选地,所述客户端还包括:第一规范装置15,用于所述报文中的遗嘱消息采用预设的MQTT设备消息字符串,所述遗嘱消息的主题格式根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息和离线消息传输通道确定。在本申请一实施例中,需要对遗嘱消息进行规范,采用固定的WizIOT OFFLINE字符串,遗嘱消息主题格式为{{设备拥有者的访问密匙}}/{{设备ID}}/OFFLINE,其中,WizIOT OFFLINE为设计的结果,主要区别于应用程序APP的遗嘱消息,OFFLINE为离线消息传输通道。
优选地,所述客户端包括应用程序开发用户授权的MQTT设备及所述MQTT设备拥有用户时,接入认证请求装置11,用于向所述服务端设备发送所述应用程序、所述应用程序开发用户、所述应用程序开发用户授权的MQTT设备拥有用户及所述MQTT设备的访问密匙和加密密匙的申请请求;接收所述服务端设备为所述应用程序和所述MQTT设备分别分配的唯一标识信息;基于所述访问密匙、加密密匙、所述MQTT设备的唯一标识信息和所述应用程序的唯一标识信息将所述应用程序的接入认证请求发送至服务端设备。在本申请一实施例中,服务端优选为物联网平台后台,在后台的管理界面中申请accessKey及secretKey,接着,在物联网平台后台管理界面中为每个需要接入的APP终端获取AppId,其中,acessKey用于MQTT协议中的CONNECT报文中的User Name字段(用户名字段),AppId为应用程序APP的唯一标识符,用于MQTT协议中的CONNECT报文中的Payload(有效载荷)中的ClientId(客户端标识符)、Will Topic(遗嘱主题)、Will Message(遗嘱消息)、User Name(用户名)字段进行签名。
在本申请一实施例中,订阅主题认证请求装置12,用于基于所述服务端设备反馈的接入认证成功的接入认证结果,所述应用程序通过订阅主题的过滤器向所述服务端发送所述订阅主题认证请求,其中,所述订阅主题的过滤器根据以下至少任一种确定:根据所述应用程序开发用户授权的MQTT设备的拥有用户的访问密匙、所述MQTT设备的唯一标识信息及控制消息传输通道确定所述过滤器;根据所述应用程序开发用户授权的MQTT设备的拥有用户的访问密匙、所述MQTT设备的唯一标识信息及查询消息传输通道确定所述过滤器;根据所述应用程序开发用户授权的所述MQTT设备的拥有用户的访问密匙、所述MQTT设备的唯一标识信息及数据消息传输通道确定所述过滤器;根据所述应用程序开发用户授权的所述MQTT设备的拥有用户的访问密匙及所述MQTT设备的唯一标识信息确定所述过滤器。
在此,APP终端仅具备订阅所属APP开发者的被授权的MQTT设备的权力,接入认证通过后,APP终端可以订阅相关主题,订阅主题使用{{MQTT设备拥有者的accessKey}}/{{MQTT设备的deviceId}}/CREPLY或{{MQTT设备拥有者的accessKey}}/{{MQTT设备的deviceId}}/QREPLY或{{MQTT设备拥有者的accessKey}}/{{MQTT设备的deviceId}}/DATA或{{MQTT设备拥有者的accessKey}}/{{MQTT设备的deviceId}}+或{{MQTT设备拥有者的accessKey}}/{{MQTT设备的deviceId}}/#作为主题过滤器,尝试订阅其他任何主题将导致失败,订阅失败后,服务端将在对应字节设置0x80以示相关主题未订阅成功。
优选地,发布消息认证请求装置13,用于基于所述服务端设备反馈的订阅成功的订阅主题认证请求结果,所述应用程序授权的MQTT设备根据报文中确定的主题名将发布消息认证请求发送至所述服务端设备。在本申请一实施例中,所述报文中的主题名包括:发布控制消息的报文中的主题名和发布查询消息的报文中的主题名,所述客户端还包括主题名确定装置,用于根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及控制消息传输通道确定所述发布控制消息的报文中的主题名;根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及查询消息传输通道确定所述发布查询消息的报文中的主题名。
在此,APP终端应在订阅主题后开始发布消息,APP终端仅具备所属APP开发者的被授权的MQTT设备发布消息的权力,发布控制消息的PUBLISH报文中的主题名设置为{{MQTT设备拥有者的accessKey}}/{{MQTT设备的deviceId}}/CONTROL,发布查询消息的PUBLISH报文中的主题名设置为{{MQTT设备拥有者的accessKey}}/{{MQTT设备的deviceId}}/QUERY,尝试使用其他主题名将导致致命错误,当非法使用其他主题名进行发布时,将导致服务端断开连接。
优选地,所述客户端还包括:第二规范装置15’,用于所述报文中的遗嘱消息采用预设的应用程序消息字符串,所述遗嘱消息的主题格式根据所述应用程序开发用户的访问密匙、所述应用程序的唯一标识信息和离线消息传输通道确定。在本申请一实施例中,采用固定的WizIOT APP OFFLINE字符串,遗嘱消息主题格式为{{APP开发者的访问密匙}}/{{AppID}}/OFFLINE。
根据本申请另一方面,还提供了一种基于MQTT的访问认证的服务设备,所述服务设备包括:接入认证装置21、主题认证装置22和消息认证装置23,其中,接入认证装置21,用于基于所述MQTT的客户端发送的接入认证请求对所述客户端进行认证,并向所述客户端反馈接入认证结果;主题认证装置22,用于基于所述客户端发送的订阅主题认证请求判断所述客户端是否成功订阅主题,并向所述客户端反馈订阅主题认证请求结果;消息认证装置23,用于接收所述客户端发布的消息认证请求后,根据报文中的服务质量确定发布消息认证结果,并根据所述发布消息认证结果确定与所述客户端的连接。在本申请一实施例中,系统包括服务端和MQTT的客户端,通过服务端对MQTT的客户端进行接入认证、订阅认证、消息认证以及对平台中的MQTT设备、MQTT设备拥有者、APP和APP开发者的管理功能,实现了MQTT的认证扩展和安全传输,减少了系统由于配置出错导致的错误,并提供相应的网页界面使用户可以更直观的使用系统。
优选地,主题认证装置22,用于接收所述客户端发送的订阅主题认证请求;根据所述客户端的标识信息、遗嘱主题、遗嘱消息、用户名字段、密码字段判断所述客户端是否成功订阅主题,若否,则在对应字节设置未订阅成功标识。
如图2示出的本申请一实施例中客户端与服务端之间的访问认证的交互示意图。以MQTT设备为例进行说明设备的接入认证、订阅认证及消息认证,首先,数据服务总线组件中的MQTT设备进行接入认证,服务端的数据服务总线反馈认证结果,其中,反馈认证结果是根据接入的MQTT设备的ClientID(客户端标识符)、Will Topic(遗嘱主题)、Will Message(遗嘱消息)、User Name(用户名)、Password(密码)字段进行判断的,如果是合法的,则认证成功,MQTT设备成功接入,进而能够通过MQTT与服务器进行通信。对于接入认证成功的MQTT设备,开始订阅相关主题,服务端根据订阅主题判断MQTT设备是否订阅成功,若失败则在对应字节设置0x80。MQTT设备发布消息,服务端在接收到MQTT设备发布的消息后判断所发布消息的主题名是否为预设要求的规范格式,若非法使用其他主题名,则断开与MQTT设备之间的连接,发布消息失败。若使用主题名合法,则MQTT设备的消息成功发布,通过MQTT与服务器维持正常通信,对发布消息的确认根据PUBLISH报文中的QOS(服务质量)字段确定。
优选地,所述客户端包括MQTT设备和MQTT设备拥有用户时,接入认证装置21,用于接收所述MQTT设备拥有用户发送的所述MQTT设备拥有用户和所述MQTT设备的访问密匙和加密密匙的申请请求;根据所述申请请求将所述MQTT设备添加至管理集群中,并为所述MQTT设备分配唯一标识信息;接收所述MQTT设备基于所述访问密匙、加密密匙和所述唯一标识信息发送的接入认证请求。在本申请一实施例中,进行MQTT设备的接入认证、订阅认证、消息认证时,首先根据MQTT设备拥有者申请个人账号及MQTT设备的访问密匙、加密密匙的申请,给MQTT设备分配一个设备ID,以及为MQTT设备和MQTT设备的拥有者分别分配访问密匙和加密密匙,并将MQTT设备添加至管理集群中,其中,管理集群优选为物联网平台管理界面。
优选地,所述客户端包括应用程序开发用户授权的MQTT设备及所述MQTT设备拥有用户时,接入认证装置21,用于接收所述应用程序开发用户授权的MQTT设备发送的所述应用程序、所述应用程序开发用户、所述MQTT设备拥有用户及所述MQTT设备的访问密匙和加密密匙的申请请求;根据所述申请请求将所述应用程序添加至管理集群中,并为所述应用程序和所述MQTT设备分别分配唯一标识信息;接收所述应用程序基于所述访问密匙、加密密匙、所述MQTT设备的唯一标识信息和所述应用程序的唯一标识信息发送的接入认证请求。在本申请一实施例中,进行APP的接入认证、订阅认证、消息认证时,首先根据APP终端的申请,为APP终端分配应用程序的唯一标识信息(APPId),并为APP、APP的开发者、APP开发者授权的MQTT设备及MQTT设备的拥有者分别分配访问密匙和加密密匙,接收APP的接入认证请求,完成APP的接入认证。
本申请所述的基于MQTT的访问认证的方法,实现了对MQTT客户端的接入认证、订阅认证、消息认证及对物联网平台中的采集设备、采集设备拥有者、APP和APP开发者的管理功能,并提供了安全套接层(SSL)和网络通信(Websocket)支持,减少了系统由于配置出错导致的问题,并提供了相应的网页界面使用户可以更直观的使用由MQTT客户端与服务端确定的系统。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (24)

1.一种在客户端的基于MQTT的访问认证的方法,其中,所述方法包括:
将所述MQTT的客户端的接入认证请求发送至服务端设备,其中,所述客户端包括MQTT设备和MQTT设备拥有用户;
基于所述服务端设备反馈的接入认证结果向所述服务端设备发送订阅主题认证请求;基于所述服务端设备反馈的订阅成功的订阅主题认证请求结果,根据报文中确定的主题名将发布消息认证请求发送至所述服务端设备,其中,所述报文中确定的主题名包括:发布消息的报文中的主题名、回复控制消息的报文中的主题名和回复查询消息的报文中的主题名;
根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及数据消息传输通道确定所述发布消息的报文中的主题名;
根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及控制回复消息传输通道确定所述回复控制消息的报文中的主题名;
根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及查询回复消息传输通道确定所述回复查询消息的报文中的主题名;
基于所述服务端设备反馈的发布消息认证结果与所述服务端设备确定连接;
其中,基于所述服务端设备反馈的接入认证结果向所述服务端设备发送订阅主题认证请求,包括:
基于所述服务端设备反馈的接入认证成功的接入认证结果,所述MQTT设备通过订阅主题的过滤器向所述服务端发送所述订阅主题认证请求,其中,所述订阅主题的过滤器根据所述MQTT设备拥有用户的访问密匙、唯一标识信息及控制消息传输通道确定,
或根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及查询消息传输通道确定。
2.根据权利要求1所述的方法,其中,将所述MQTT的客户端的接入认证请求发送至服务端设备,包括:
向所述服务端设备发送所述MQTT设备拥有用户及所述MQTT设备的访问密匙和加密密匙的申请请求;
接收所述服务端设备为所述MQTT设备分配的唯一标识信息;
基于所述访问密匙、加密密匙和所述唯一标识信息将所述MQTT设备的接入认证请求发送至服务端设备。
3.根据权利要求1所述的方法,其中,所述方法还包括:
所述报文中的遗嘱消息采用预设的MQTT设备消息字符串,所述遗嘱消息的主题格式根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息和离线消息传输通道确定。
4.根据权利要求1所述的方法,其中,所述客户端包括应用程序开发用户授权的MQTT设备及所述MQTT设备拥有用户时,将所述MQTT的客户端的接入认证请求发送至服务端设备,包括:
向所述服务端设备发送所述应用程序、所述应用程序开发用户、所述应用程序开发用户授权的MQTT设备拥有用户及所述MQTT设备的访问密匙和加密密匙的申请请求;
接收所述服务端设备为所述应用程序和所述MQTT设备分别分配的唯一标识信息;
基于所述访问密匙、加密密匙、所述MQTT设备的唯一标识信息和所述应用程序的唯一标识信息将所述应用程序的接入认证请求发送至服务端设备。
5.根据权利要求4所述的方法,其中,基于所述服务端设备反馈的接入认证结果向所述服务端设备发送订阅主题认证请求,包括:
基于所述服务端设备反馈的接入认证成功的接入认证结果,所述应用程序通过订阅主题的过滤器向所述服务端发送所述订阅主题认证请求,
其中,所述订阅主题的过滤器根据以下至少任一种确定:
根据所述应用程序开发用户授权的MQTT设备的拥有用户的访问密匙、所述MQTT设备的唯一标识信息及控制消息传输通道确定所述过滤器;
根据所述应用程序开发用户授权的MQTT设备的拥有用户的访问密匙、所述MQTT设备的唯一标识信息及查询消息传输通道确定所述过滤器;
根据所述应用程序开发用户授权的所述MQTT设备的拥有用户的访问密匙、所述MQTT设备的唯一标识信息及数据消息传输通道确定所述过滤器;
根据所述应用程序开发用户授权的所述MQTT设备的拥有用户的访问密匙及所述MQTT设备的唯一标识信息确定所述过滤器。
6.根据权利要求5所述的方法,其中,基于所述服务端设备反馈的订阅主题认证请求结果将发布消息认证请求发送至所述服务端设备,包括:
基于所述服务端设备反馈的订阅成功的订阅主题认证请求结果,所述应用程序授权的MQTT设备根据报文中确定的主题名将发布消息认证请求发送至所述服务端设备。
7.根据权利要求6所述的方法,其中,所述报文中的主题名包括:发布控制消息的报文中的主题名和发布查询消息的报文中的主题名,
所述方法还包括:
根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及控制消息传输通道确定所述发布控制消息的报文中的主题名;
根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及查询消息传输通道确定所述发布查询消息的报文中的主题名。
8.根据权利要求7所述的方法,其中,所述方法还包括:
所述报文中的遗嘱消息采用预设的应用程序消息字符串,所述遗嘱消息的主题格式根据所述应用程序开发用户的访问密匙、所述应用程序的唯一标识信息和离线消息传输通道确定。
9.一种在服务设备端基于MQTT的访问认证的方法,其中,所述方法包括:
基于所述MQTT的客户端发送的接入认证请求对所述客户端进行认证,其中,所述客户端包括MQTT设备和MQTT设备拥有用户;并向所述客户端反馈接入认证结果;基于所述客户端通过订阅主题的过滤器发送的订阅主题认证请求判断所述客户端是否成功订阅主题,并向所述客户端反馈订阅主题认证请求结果,其中,所述订阅主题的过滤器根据MQTT设备拥有用户的访问密匙、唯一标识信息及控制消息传输通道确定,或根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及查询消息传输通道确定;
接收所述客户端发布的消息认证请求后,根据报文中的服务质量确定发布消息认证结果,并根据所述发布消息认证结果确定与所述客户端的连接;
其中,所述发布的消息认证请求是所述客户端根据报文中确定的主题名发送的,所述报文中确定的主题名包括:发布消息的报文中的主题名、回复控制消息的报文中的主题名和回复查询消息的报文中的主题名,所述发布消息的报文中的主题名由所述客户端根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及数据消息传输通道确定,所述回复控制消息的报文中的主题名由所述客户端根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及控制回复消息传输通道确定,所述回复查询消息的报文中的主题名由所述客户端根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及查询回复消息传输通道确定。
10.根据权利要求9所述的方法,其中,基于所述客户端发送的订阅主题认证请求判断所述客户端是否成功订阅主题,包括:
接收所述客户端发送的订阅主题认证请求;
根据所述客户端的标识信息、遗嘱主题、遗嘱消息、用户名字段、密码字段判断所述客户端是否成功订阅主题,若否,则在对应字节设置未订阅成功标识。
11.根据权利要求9所述的方法,其中,基于所述MQTT的客户端发送的接入认证请求对所述客户端进行认证,包括:
接收所述MQTT设备拥有用户发送的所述MQTT设备拥有用户和所述MQTT设备的访问密匙和加密密匙的申请请求;
根据所述申请请求将所述MQTT设备添加至管理集群中,并为所述MQTT设备分配唯一标识信息;
接收所述MQTT设备基于所述访问密匙、加密密匙和所述唯一标识信息发送的接入认证请求。
12.根据权利要求9所述的方法,其中,所述客户端包括应用程序开发用户授权的MQTT设备及所述MQTT设备拥有用户时,基于客户端发送的接入认证请求对所述客户端进行认证,包括:
接收所述应用程序开发用户授权的MQTT设备发送的所述应用程序、所述应用程序开发用户、所述MQTT设备拥有用户及所述MQTT设备的访问密匙和加密密匙的申请请求;
根据所述申请请求将所述应用程序添加至管理集群中,并为所述应用程序和所述MQTT设备分别分配唯一标识信息;
接收所述应用程序基于所述访问密匙、加密密匙、所述MQTT设备的唯一标识信息和所述应用程序的唯一标识信息发送的接入认证请求。
13.一种基于MQTT的访问认证的客户端,其中,所述客户端包括:
接入认证请求装置,用于将所述客户端的接入认证请求发送至服务端设备;
订阅主题认证请求装置,用于基于所述服务端设备反馈的接入认证结果向所述服务端设备发送订阅主题认证请求,其中,所述客户端包括MQTT设备和MQTT设备拥有用户;
发布消息认证请求装置,用于基于所述服务端设备反馈的订阅成功的订阅主题认证请求结果,根据报文中确定的主题名将发布消息认证请求发送至所述服务端设备,其中,所述报文中确定的主题名包括:发布消息的报文中的主题名、回复控制消息的报文中的主题名和回复查询消息的报文中的主题名;
主题名确定装置,用于根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及数据消息传输通道确定所述发布消息的报文中的主题名,根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及控制回复消息传输通道确定所述回复控制消息的报文中的主题名,根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及查询回复消息传输通道确定所述回复查询消息的报文中的主题名;
确定连接装置,用于基于所述服务端设备反馈的发布消息认证结果与所述服务端设备确定连接;
其中,所述订阅主题认证请求装置用于:
基于所述服务端设备反馈的接入认证成功的接入认证结果,所述MQTT设备通过订阅主题的过滤器向所述服务端发送所述订阅主题认证请求,其中,所述订阅主题的过滤器根据所述MQTT设备拥有用户的访问密匙、唯一标识信息及控制消息传输通道确定,
或根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及查询消息传输通道确定。
14.根据权利要求13所述的客户端,其中,所述接入认证请求装置用于:
向所述服务端设备发送所述MQTT设备拥有用户及所述MQTT设备的访问密匙和加密密匙的申请请求;
接收所述服务端设备为所述MQTT设备分配的唯一标识信息;
基于所述访问密匙、加密密匙和所述唯一标识信息将所述MQTT设备的接入认证请求发送至服务端设备。
15.根据权利要求13所述的客户端,其中,所述客户端还包括:
第一规范装置,用于所述报文中的遗嘱消息采用预设的MQTT设备消息字符串,所述遗嘱消息的主题格式根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息和离线消息传输通道确定。
16.根据权利要求13所述的客户端,其中,所述客户端包括应用程序开发用户授权的MQTT设备及所述MQTT设备拥有用户时,所述接入认证请求装置用于:
向所述服务端设备发送所述应用程序、所述应用程序开发用户、所述应用程序开发用户授权的MQTT设备拥有用户及所述MQTT设备的访问密匙和加密密匙的申请请求;
接收所述服务端设备为所述应用程序和所述MQTT设备分别分配的唯一标识信息;
基于所述访问密匙、加密密匙、所述MQTT设备的唯一标识信息和所述应用程序的唯一标识信息将所述应用程序的接入认证请求发送至服务端设备。
17.根据权利要求16所述的客户端,其中,所述订阅主题认证请求装置用于:
基于所述服务端设备反馈的接入认证成功的接入认证结果,所述应用程序通过订阅主题的过滤器向所述服务端发送所述订阅主题认证请求,
其中,所述订阅主题的过滤器根据以下至少任一种确定:
根据所述应用程序开发用户授权的MQTT设备的拥有用户的访问密匙、所述MQTT设备的唯一标识信息及控制消息传输通道确定所述过滤器;
根据所述应用程序开发用户授权的MQTT设备的拥有用户的访问密匙、所述MQTT设备的唯一标识信息及查询消息传输通道确定所述过滤器;
根据所述应用程序开发用户授权的所述MQTT设备的拥有用户的访问密匙、所述MQTT设备的唯一标识信息及数据消息传输通道确定所述过滤器;
根据所述应用程序开发用户授权的所述MQTT设备的拥有用户的访问密匙及所述MQTT设备的唯一标识信息确定所述过滤器。
18.根据权利要求17所述的客户端,其中,所述发布消息认证请求装置用于:
基于所述服务端设备反馈的订阅成功的订阅主题认证请求结果,所述应用程序授权的MQTT设备根据报文中确定的主题名将发布消息认证请求发送至所述服务端设备。
19.根据权利要求18所述的客户端,其中,所述报文中的主题名包括:发布控制消息的报文中的主题名和发布查询消息的报文中的主题名,
所述客户端还包括主题名确定装置,用于:
根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及控制消息传输通道确定所述发布控制消息的报文中的主题名;
根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及查询消息传输通道确定所述发布查询消息的报文中的主题名。
20.根据权利要求19所述的客户端,其中,所述客户端还包括:
第二规范装置,用于所述报文中的遗嘱消息采用预设的应用程序消息字符串,所述遗嘱消息的主题格式根据所述应用程序开发用户的访问密匙、所述应用程序的唯一标识信息和离线消息传输通道确定。
21.一种基于MQTT的访问认证的服务设备,其中,所述服务设备包括:
接入认证装置,用于基于客户端发送的接入认证请求对所述客户端进行认证,其中,所述客户端包括MQTT设备和MQTT设备拥有用户;并向所述客户端反馈接入认证结果;
主题认证装置,用于基于所述客户端通过订阅主题的过滤器发送的订阅主题认证请求判断所述客户端是否成功订阅主题,并向所述客户端反馈订阅主题认证请求结果,其中,所述订阅主题的过滤器根据MQTT设备拥有用户的访问密匙、唯一标识信息及控制消息传输通道确定,或根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及查询消息传输通道确定;
消息认证装置,用于接收所述客户端发布的消息认证请求后,根据报文中的服务质量确定发布消息认证结果,并根据所述发布消息认证结果确定与所述客户端的连接;
其中,所述发布的消息认证请求是所述客户端根据报文中确定的主题名发送的,所述报文中确定的主题名包括:发布消息的报文中的主题名、回复控制消息的报文中的主题名和回复查询消息的报文中的主题名,所述发布消息的报文中的主题名由所述客户端根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及数据消息传输通道确定,所述回复控制消息的报文中的主题名由所述客户端根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及控制回复消息传输通道确定,所述回复查询消息的报文中的主题名由所述客户端根据所述MQTT设备拥有用户的访问密匙、所述MQTT设备的唯一标识信息及查询回复消息传输通道确定。
22.根据权利要求21所述的服务设备,其中,所述主题认证装置用于:接收所述客户端发送的订阅主题认证请求;
根据所述客户端的标识信息、遗嘱主题、遗嘱消息、用户名字段、密码字段判断所述客户端是否成功订阅主题,若否,则在对应字节设置未订阅成功标识。
23.根据权利要求21所述的服务设备,其中,所述客户端包括MQTT设备和MQTT设备拥有用户时,所述接入认证装置用于:
接收所述MQTT设备拥有用户发送的所述MQTT设备拥有用户和所述MQTT设备的访问密匙和加密密匙的申请请求;
根据所述申请请求将所述MQTT设备添加至管理集群中,并为所述MQTT设备分配唯一标识信息;
接收所述MQTT设备基于所述访问密匙、加密密匙和所述唯一标识信息发送的接入认证请求。
24.根据权利要求21所述的服务设备,其中,所述客户端包括应用程序开发用户授权的MQTT设备及所述MQTT设备拥有用户时,所述接入认证装置用于:
接收所述应用程序开发用户授权的MQTT设备发送的所述应用程序、所述应用程序开发用户、所述MQTT设备拥有用户及所述MQTT设备的访问密匙和加密密匙的申请请求;
根据所述申请请求将所述应用程序添加至管理集群中,并为所述应用程序和所述MQTT设备分别分配唯一标识信息;
接收所述应用程序基于所述访问密匙、加密密匙、所述MQTT设备的唯一标识信息和所述应用程序的唯一标识信息发送的接入认证请求。
CN201710013091.6A 2017-01-09 2017-01-09 一种基于mqtt的访问认证的方法及设备 Active CN106657130B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710013091.6A CN106657130B (zh) 2017-01-09 2017-01-09 一种基于mqtt的访问认证的方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710013091.6A CN106657130B (zh) 2017-01-09 2017-01-09 一种基于mqtt的访问认证的方法及设备

Publications (2)

Publication Number Publication Date
CN106657130A CN106657130A (zh) 2017-05-10
CN106657130B true CN106657130B (zh) 2020-05-19

Family

ID=58843421

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710013091.6A Active CN106657130B (zh) 2017-01-09 2017-01-09 一种基于mqtt的访问认证的方法及设备

Country Status (1)

Country Link
CN (1) CN106657130B (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018210401A1 (en) * 2017-05-15 2018-11-22 Telefonaktiebolaget Lm Ericsson (Publ) Topic handling in mqtt networks
CN108173739A (zh) * 2017-11-29 2018-06-15 成都东方盛行电子有限责任公司 一种基于mqtt的云服务消息处理方法
CN108270855B (zh) * 2018-01-15 2021-06-29 司中明 一种物联网平台接入设备的方法
CN110099078B (zh) * 2018-01-29 2022-02-25 阿里巴巴集团控股有限公司 设备间通信、消息同步方法、装置、设备和存储介质
CN108400984B (zh) * 2018-02-27 2021-06-29 烽火通信科技股份有限公司 基于动态规则匹配的mqtt消息过滤方法及系统
CN109067829A (zh) * 2018-06-26 2018-12-21 四川斐讯信息技术有限公司 一种物联网控制方法及系统
CN110740150B (zh) * 2018-07-20 2022-12-23 阿里巴巴集团控股有限公司 消息交互方法及装置
CN108965447A (zh) * 2018-07-27 2018-12-07 四川爱创科技有限公司 数据采集和远程控制的方法及系统
CN109495375B (zh) * 2018-11-02 2021-04-13 广州小鹏汽车科技有限公司 Mqtt消息的处理方法、装置、电子设备及存储介质
CN109639642B (zh) * 2018-11-12 2022-04-12 平安科技(深圳)有限公司 基于mqtt的安全认证方法、装置及存储介质
CN109587228B (zh) * 2018-11-23 2021-08-10 山东浪潮科学研究院有限公司 一种公有协议物联网平台系统的设备接入方法
CN109861978B (zh) * 2018-12-28 2021-06-18 浙江工业大学 一种基于MQTT协议的物联网SaaS平台
CN109544789B (zh) * 2019-01-23 2024-05-14 福历科技(上海)有限公司 一种自动并发出货系统
CN110278248B (zh) * 2019-05-29 2022-04-22 平安科技(深圳)有限公司 遗嘱消息分发方法、装置及计算机可读存储介质
CN112787979A (zh) * 2019-11-07 2021-05-11 北京地平线机器人技术研发有限公司 物联网设备访问控制方法及物联网设备访问控制装置
CN110891014A (zh) * 2019-11-28 2020-03-17 北京宁云科技有限公司 基于硬件的mqtt发布订阅方法及系统
CN113271283B (zh) * 2020-02-14 2022-11-04 宁波吉利汽车研究开发有限公司 消息接入方法及系统
CN111371889B (zh) * 2020-03-03 2023-03-31 广州致远电子股份有限公司 消息处理方法、装置、物联网系统和存储介质
CN113630370B (zh) * 2020-05-08 2023-03-31 许继集团有限公司 基于stm32和物联网通信模块的通讯系统及改进型mqtt通讯方法
CN111866092B (zh) * 2020-06-30 2022-06-28 北京百度网讯科技有限公司 消息传输的方法、装置、电子设备和可读存储介质
CN111741014B (zh) * 2020-07-21 2020-12-22 平安国际智慧城市科技股份有限公司 消息发送方法、装置、服务器及存储介质
CN112104720B (zh) * 2020-09-03 2024-04-26 国电南瑞科技股份有限公司 适用于边缘物联终端的MQTT双Broker数据交互方法及系统
CN112153163B (zh) * 2020-10-19 2022-12-30 爱瑟福信息科技(上海)有限公司 基于mqtt的安全通信方法及其系统
CN112328417B (zh) * 2020-11-27 2023-12-12 杭州海兴电力科技股份有限公司 一种嵌入式多程序通讯方法和系统
CN112770321A (zh) * 2021-01-18 2021-05-07 四川长虹电器股份有限公司 物联网设备认证及安全传输方法、计算机设备、存储介质
CN113014584A (zh) * 2021-02-26 2021-06-22 北京金山云网络技术有限公司 一种物联网通信方法、装置、电子设备及存储介质
CN113596082A (zh) * 2021-06-21 2021-11-02 青岛海尔科技有限公司 设备数据的确定方法及系统、电子装置
CN114124435B (zh) * 2021-09-26 2023-06-09 烽火通信科技股份有限公司 对服务接口调用进行人工授权执行的方法、系统及装置
CN113965330A (zh) * 2021-10-26 2022-01-21 黑龙江航天信息有限公司 基于mqtt协议的访问认证方法、认证服务器及系统
CN115190164B (zh) * 2022-06-24 2023-11-03 弥费科技(上海)股份有限公司 网络通信方法、装置、计算机设备和存储介质
CN115987871A (zh) * 2022-12-19 2023-04-18 浪潮思科网络科技有限公司 一种基于mqtt的拓扑关系保鲜方法、装置及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101141246A (zh) * 2006-09-05 2008-03-12 华为技术有限公司 一种业务密钥获取方法和一种订阅管理服务器
CN105099882A (zh) * 2015-07-09 2015-11-25 杭州电子科技大学 一种基于mqtt的云推送方法和系统
CN105282143A (zh) * 2015-09-09 2016-01-27 民航局空管局技术中心 消息访问控制方法、装置和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101141246A (zh) * 2006-09-05 2008-03-12 华为技术有限公司 一种业务密钥获取方法和一种订阅管理服务器
CN105099882A (zh) * 2015-07-09 2015-11-25 杭州电子科技大学 一种基于mqtt的云推送方法和系统
CN105282143A (zh) * 2015-09-09 2016-01-27 民航局空管局技术中心 消息访问控制方法、装置和系统

Also Published As

Publication number Publication date
CN106657130A (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
CN106657130B (zh) 一种基于mqtt的访问认证的方法及设备
CN109802957B (zh) 接口对接方法、装置、计算机设备和存储介质
JP4566273B2 (ja) 高速短待ち時間データ通信環境において冗長メッセージ・ストリームを使用する高信頼性メッセージングのための方法
US8347378B2 (en) Authentication for computer system management
US10484385B2 (en) Accessing an application through application clients and web browsers
CN108833521B (zh) 消息推送方法、装置、系统、计算机设备和存储介质
JP4870812B2 (ja) 高速短待ち時間データ通信環境においてアクティブ・フィード・アダプタとバックアップ・フィード・アダプタを同期させるための方法、装置、およびプログラム
US6775700B2 (en) System and method for common information model object manager proxy interface and management
US9003428B2 (en) Computer data communications in a high speed, low latency data communications environment
US8874914B2 (en) Secure and automated credential information transfer mechanism
AU2019302940A1 (en) Implementing a blockchain-based web service
CN112788031B (zh) 基于Envoy架构的微服务接口认证系统、方法及装置
CN112612985A (zh) 基于WebSocket的多用户和多类型消息的推送系统及方法
EP3019959A1 (en) Systems and methods for providing notifications of changes in a cloud-based file system
CN111510474B (zh) 基于消息中间件的数据传输方法及相关设备
US20050278384A1 (en) External authentication against a third-party directory
CN102710640A (zh) 请求授权的方法、装置和系统
CN108289074B (zh) 用户账号登录方法及装置
US20080120412A1 (en) System and method for providing a hypertext transfer protocol service multiplexer
CN113225351B (zh) 一种请求处理方法、装置、存储介质及电子设备
CN112689020B (zh) 一种消息传输方法、消息中间件、电子设备及存储介质
CN111327680B (zh) 认证数据同步方法、装置、系统、计算机设备和存储介质
CN1705267A (zh) 网络上客户端使用服务端资源的方法
US20130024543A1 (en) Methods for generating multiple responses to a single request message and devices thereof
US9071569B1 (en) System, method, and computer program for content metadata and authorization exchange between content providers and service providers

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