CN110708281B - 业务请求处理方法及装置 - Google Patents
业务请求处理方法及装置 Download PDFInfo
- Publication number
- CN110708281B CN110708281B CN201910787757.2A CN201910787757A CN110708281B CN 110708281 B CN110708281 B CN 110708281B CN 201910787757 A CN201910787757 A CN 201910787757A CN 110708281 B CN110708281 B CN 110708281B
- Authority
- CN
- China
- Prior art keywords
- token
- internet
- intelligent terminal
- things
- admission
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- 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/108—Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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 Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (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)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例涉及一种业务请求处理方法及装置,方法包括:物联网服务器接收智能终端基于MQTT链路发送的业务请求,所述业务请求包括:准入令牌和业务请求信息;所述准入令牌为物联网服务器在所述智能终端的账户验证成功后下发的一次性的设有有效期的安全信息;所述物联网服务器判断所述准入令牌是否正确且处于有效期;若准入令牌正确且处于有效期,则所述物联网服务器转发所述业务请求信息。本发明的方法可以保证新零售中用户端接入的安全性和灵活性。
Description
技术领域
本发明实施例涉及通信技术领域,具体涉及一种业务请求处理方法及装置。
背景技术
随着物联网(Internet of Things,IoT)的兴起,越来越多的智能终端(例如,智能电视、智能净化器等)需要通过WIFI、3G、4G等网络接入互联网,服务器在获取到智能终端的工作状态后,根据用户的指令远程控制智能终端的工作状态。相关技术中,消息队列遥测传输(Message Queuing Telemetry Transport,MQTT)协议为物联网的协议。
MQTT通信协议的出现,促使了物联网的快速发展,尤其是新零售行业的迅速崛起。新零售的解决方案涉及到智能硬件,人工智能(Artificial Intelligence,AI)网络,云端网络,甚至第三方软件商的网络。在这个大的网络中,智能硬件不停的和云端网络进行着数据的传输,上报,交换等等,其中大量为敏感数据。
然而,现有技术中基于MQTT协议的通信在每次交互中需要携带预先分配的账户信息(即云端网络为保证会话分配的Session Id),这样容易导致MQTT链路的通信存在较大的安全隐患,为此,如何基于云端服务保障MQTT链路的安全通信成为当前需要解决的技术问题。
发明内容
为了解决现有技术存在的问题,本发明的至少一个实施例提供了一种业务请求处理方法及装置。
第一方面,本发明实施例提出一种业务请求处理方法,包括:
物联网服务器接收智能终端基于MQTT链路发送的业务请求,所述业务请求包括:准入令牌和业务请求信息;所述准入令牌为物联网服务器在所述智能终端的账户验证成功后下发的一次性的设有有效期的安全信息;
所述物联网服务器判断所述准入令牌是否正确且处于有效期;
若准入令牌正确且处于有效期,则所述物联网服务器转发所述业务请求信息。
在一些实施例中,所述物联网服务器接收智能终端基于MQTT链路发送的业务请求之前,所述方法还包括:
所述物联网服务器接收智能终端基于超文本传输协议(HyperText TransferProtocol,HTTP)链路发送的令牌请求,所述令牌请求包括:所述智能终端的账户验证成功后的信息和登录方式;
所述物联网服务器根据所述令牌请求,生成与所述账户信息关联的一次性的设有有效期的准入令牌,并向所述智能终端分发所述准入令牌;
所述物联网服务器根据所述登录方式存储所述准入令牌。
在一些实施例中,所述物联网服务器接收智能终端基于MQTT链路发送的业务请求之前,所述方法还包括:
所述物联网服务器接收智能终端基于HTTP链路发送的令牌请求,所述令牌请求包括:所述智能终端的账户信息和登录方式;
所述物联网服务器对所述账户信息验证成功后,生成与所述账户信息关联的一次性的设有有效期的准入令牌,并向所述智能终端分发所述准入令牌;
所述物联网服务器根据所述登录方式存储所述准入令牌。
在一些实施例中,所述物联网服务器根据所述登录方式存储所述准入令牌,包括:
若所述登录方式为客户端,则将所述准入令牌覆盖账户信息关联的其他客户端的准入令牌;或者
若所述登录方式为WEB,则将所述准入令牌增加在账户信息关联的准入令牌中。
在一些实施例中,向所述智能终端分发所述准入令牌之后,所述方法还包括:
所述物联网服务器启动所述准入令牌的有效时长的定时机制;
和/或,
若所述物联网服务器监测到至少一个准入令牌超时,则将物联网服务器内超时的准入令牌移除。
在一些实施例中,所述物联网服务器判断所述准入令牌是否正确且处于有效期之后,所述方法还包括:
若所述准入令牌错误或失效,则所述物联网服务器向所述智能终端发送用于拒绝接入的拒绝响应。
第二方面,本发明实施例还提供一种业务请求处理方法,包括:
智能终端基于MQTT链路向物联网服务器发送业务请求,所述业务请求包括:准入令牌和业务请求信息;以使所述物联网服务器基于所述准入令牌确定是否转发所述业务请求信息;
其中,所述准入令牌为所述物联网服务器在所述智能终端的账户验证成功后下发的一次性的设有有效期的安全信息。
在一些实施例中,智能终端基于MQTT链路向物联网服务器发送业务请求之前,所述方法还包括:
所述智能终端基于HTTP链路向所述物联网服务器发送令牌请求,所述令牌请求包括:所述智能终端的账户验证成功后的信息和登录方式;
所述智能终端基于HTTP链路接收所述物联网服务器根据所述令牌请求分发的一次性的设有有效期的准入令牌,所述准入令牌与验证成功的账户信息关联;
或者,
所述智能终端基于HTTP链路向所述物联网服务器发送令牌请求,所述令牌请求包括:所述智能终端的账户信息和登录方式;
所述智能终端基于HTTP链路接收所述物联网服务器在账户信息验证成功后分发的一次性的设有有效期的准入令牌,所述准入令牌与验证成功的账户信息关联。
第三方面,本发明实施例还提供一种业务请求处理装置,包括:接收器、处理器和发送器;
所述接收器,用于接收智能终端基于MQTT链路发送的业务请求,所述业务请求包括:准入令牌和业务请求信息;所述准入令牌为物联网服务器在所述智能终端的账户验证成功后下发的一次性的设有有效期的安全信息;
所述处理器,用于判断所述准入令牌是否正确且处于有效期;
所述发送器,用于在所述处理器确定准入令牌正确且处于有效期,则转发所述业务请求信息。
在一些实施例中,所述业务请求处理装置还包括:存储器;
所述接收器,还用于接收智能终端基于HTTP链路发送的令牌请求,所述令牌请求包括:所述智能终端的账户验证成功后的信息和登录方式;
所述处理器,还用于根据所述令牌请求,生成与所述账户信息关联的一次性的设有有效期的准入令牌;
所述发送器,还用于向所述智能终端分发所述准入令牌;
所述处理器,还用于根据所述登录方式在存储器中存储所述准入令牌。
在一些实施例中,所述业务请求处理装置还包括:存储器;
所述接收器,还用于接收智能终端基于HTTP链路发送的令牌请求,所述令牌请求包括:所述智能终端的账户信息和登录方式;
所述处理器,还用于对所述账户信息验证成功后,生成与所述账户信息关联的一次性的设有有效期的准入令牌;
所述发送器,还用于向所述智能终端分发所述准入令牌;
所述处理器,还用于根据所述登录方式在存储器中存储所述准入令牌。
在一些实施例中,所述处理器,具体用于
在所述登录方式为客户端时,在存储器中存储时将所述准入令牌覆盖账户信息关联的其他客户端的准入令牌;或者
在所述登录方式为WEB时,在存储器中存储时将所述准入令牌增加在账户信息关联的准入令牌中。
在一些实施例中,所述处理器,具体用于
在分发所述准入令牌后,启动所述准入令牌的有效时长的定时机制;和/或,
监测到至少一个准入令牌超时,则将物联网服务器内超时的准入令牌移除。
第四方面,本发明实施例还提供一种业务请求处理装置,包括:
所述发送器,用于基于MQTT链路向物联网服务器发送业务请求,所述业务请求包括:准入令牌和业务请求信息;以使所述物联网服务器基于所述准入令牌确定是否转发所述业务请求信息;
其中,所述准入令牌为所述物联网服务器在智能终端的账户验证成功后下发的一次性的设有有效期的安全信息。
在一些实施例中,所述业务请求处理装置还包括:接收器;
所述发送器,还用于在发送业务请求之前,基于HTTP链路向所述物联网服务器发送令牌请求,所述令牌请求包括:所述智能终端的账户验证成功后的信息和登录方式;
所述接收器,用于基于HTTP链路接收所述物联网服务器根据所述令牌请求分发的一次性的设有有效期的准入令牌,所述准入令牌与验证成功的账户信息关联;
或者,
所述发送器,还用于在发送业务请求之前,基于HTTP链路向所述物联网服务器发送令牌请求,所述令牌请求包括:所述智能终端的账户信息和登录方式;
所述接收器,用于基于HTTP链路接收所述物联网服务器在账户信息验证成功后分发的一次性的设有有效期的准入令牌,所述准入令牌与验证成功的账户信息关联。
第五方面,本发明实施例还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机程序,所述计算机程序使被调用时执行如第一方面任一项所述方法的步骤,或者,所述计算机程序使被调用时执行如第二方面任一项所述方法的步骤。
可见,本发明实施例的至少一个实施例中,在任一智能终端基于MQTT链路发送业务请求时,携带预先采用HTTP链路获取的一次性的设有有效期的保证MQTT链路安全通信的准入令牌,进而物联网服务器可基于准入令牌的正确性和有效性确定是否转发业务请求中的业务请求信息,由此可以实现MQTT链路的安全验证功能,且可有效保证新零售中用户端如智能终端接入的安全性。在本发明的实施例中,通过准入令牌替代MQTT链路之前的账户信息,有效保证MQTT全链路的安全。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种业务请求处理方法的流程图;
图2A和图2B分别为本发明另一实施例提供的一种业务请求处理方法的流程图;
图2C和图2D分别为本发明一实施例提供的业务请求处理方法的信令图;
图3为本发明另一实施例提供的一种业务请求处理方法的流程图;
图4为本发明一实施例提供的一种业务请求处理装置的结构示意图;
图5为本发明一实施例提供的一种业务请求处理装置的结构示意图;
图6为本发明一实施例提供的一种通信设备的结构框架图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
MQTT协议在最开始的时候,大量的被应用于物联网终端设备上,并带来了良好效果。在此之后,行业内产品越来越重视用户对于物联网终端设备尤其是家居,零售等场景下的智能设备的远程管理作用。例如,用户在任何可以接入网络的情况下,采用客户端(APP)或者WEB页面的方式,远程操作智能设备。这些场景的用户对于网络的选择很随意,使得MQTT链路的安全性无法保证。
当前,基于MQTT协议的登录认证中,大部分是采用Session(会话控制)方式。也就是说,用户通过智能终端的客户端登录成功,服务端如物联网服务器会保证一个Session,会给智能终端的客户端一个Session Id(账户信息),客户端会把Session Id保存在Cookie中,每次业务通信/业务请求都会携带这个Session Id。基于前述场景中用户对接入网络的选择,会给MQTT链路带来大量的安全隐患和风险。
此外,物联网终端设备本身受性能限制,只拥有简单的安全机制或保障系统,在物联网中需要大量的依赖云端服务保障网络安全。基于此,本申请实施例提供一种保证MQTT链路通信安全的方案,如图1所示。
图1示出了本发明一实施例提供的一种基于MQTT链路的业务请求处理方法的流程图,本实施例中业务请求处理方法的执行主体为物联网服务器/物联网平台,下述方法以物联网服务器进行举例说明,该方法可包括下述的步骤。
101、物联网服务器接收智能终端基于MQTT链路发送的业务请求,所述业务请求包括:准入令牌(MQTT Token)和业务请求信息;所述准入令牌为物联网服务器在所述智能终端的账户验证成功后下发的一次性的设有有效期的安全信息。
可理解的是,在本实施例中,每一个准入令牌在分发时都是具有有效期的,物联网服务器在分发准入令牌之后,会启动定时机制,监控准入令牌的有效时长。
102、物联网服务器判断所述准入令牌是否正确且处于有效期;若正确且有效,则执行下述步骤103,否则执行步骤104。
103、若准入令牌正确且处于有效期,则所述物联网服务器转发所述业务请求信息。
需要说明的是,若准入令牌正确且处于有效期,则物联网服务器对业务请求信息的后续处理过程与现有技术的处理方式基本相同,本实施例不对其限定,根据实际需要进行处理。
104、若所述准入令牌错误或失效,则所述物联网服务器向所述智能终端发送用于拒绝接入的拒绝响应。
在一些实施例中,物联网服务器还可以向智能终端发送用于重新申请准入令牌的响应。
在本实施例中,借助于准入令牌替换现有技术中的Session Id,由此,可有效保证整个MQTT链路的通信安全,且在具体实现过程中,获取准入令牌的过程是物联网终端基于HTTP的向物联网服务器请求,服务器端可依据预先设置的令牌策略实现准入令牌的生成和分发,进而有效保证准入令牌在MQTT链路中的使用。本实施例的方法是在MQTT链路中增加安全验证机制,实现MQTT链路的安全,同时有效保证新零售中用户端如智能终端接入的安全性。
为了更好的理解本发明的准入令牌的过程,本发明中对准入令牌的分发和存储通过图2A至图2D进行详细说明。
此外,需要说明的是,现有技术中的安全机制都是针对一个设备用户单点登录的安全通信控制,但在新零售环境中,大多数用户都是多点,多方式同时登录。同时,用户可能同时操作APP和WEB页面。对于APP和WEB页面用户来讲,通常具有不同的操作方式以及使用习惯,现有技术中并账户密码方式并不能保证用户多点登录方式,导致用户使用不便。本实施例中的方法在物联网服务器侧可以有效区分用户从不同的端上登录,还可以针对性的对同一个用户进行控制,保证整个MQTT链路的安全通信。
图2A和图2B分别示出了本发明另一实施例提供的一种基于MQTT链路的业务请求处理方法的流程图,本实施例中的方法和上述图1所示的方法区别在于,本实施例中在发送业务请求之前,需要提前获取准入令牌,再基于准入令牌实现MQTT链路的安全验证。具体地,图2A、图2B所示的方法可包括下述的步骤。
201、所述物联网服务器接收智能终端基于HTTP链路发送的令牌请求,所述令牌请求包括:所述智能终端的账户验证成功后的信息和登录方式。
可理解的是,令牌请求中还可包括账户验证成功的信息,以便下述步骤中的物联网服务器根据账户验证成功的信息确认账户验证成功。基于上述步骤201的内容,智能终端发送令牌请求,即理解为账户验证成功,否则,智能终端会重复身份认证的过程,而不是发送令牌请求。
需要说明的是,本实施例中的账户验证成功中的账户信息为保存在终端中如(保存在Cookie中)的Session Id。
通常,登录方式可包括客户端和WEB页面。
202、物联网服务器根据所述令牌请求,生成与账户信息关联的一次性的设有有效期的准入令牌,并向所述智能终端分发所述准入令牌。
在实际应用中,物联网服务器分发的一次性的准入令牌可为设有有效时长的令牌;物联网服务器在分发准入令牌之后,可启动所述准入令牌的有效时长的定时机制。
此外,在步骤202中物联网服务器可预先依据验证成功的账户信息生成短期有效的准入令牌,例如生成一次性的具有有效期的与账户信息关联的准入令牌,并向所述智能终端分发生成的准入令牌。在其他实施例中,物联网服务器还可以依据账户信息、登录方式生成短期有效的准入令牌。
在另一可选的实现方式中,上述步骤201和步骤202还可为下述的步骤:
物联网服务器接收智能终端基于HTTP链路发送的令牌请求,所述令牌请求包括:所述智能终端的账户信息和登录方式;
物联网服务器对所述账户信息验证成功后,生成与账户信息关联的一次性的具有有效期的准入令牌,向所述智能终端分发一次性的设有有效期的准入令牌。
上述步骤201和步骤202可根据实际需要配置,即根据实现方式而定,可以是验证信息后直接下发准入令牌,也可以是携带账户信息直接申请准入令牌。
203、物联网服务器根据所述登录方式存储所述准入令牌。
举例来说,物联网服务器可将分发的准入令牌记入MQTT broker的ACL数据字段中,即可以理解为EMQ(Erlang/Enterprise/Elastic MQTT Broker)中数据库的信息。
在具体实现过程中,若所述登录方式为客户端即APP,则将所述准入令牌覆盖/替换账户信息关联的其他客户端的准入令牌,如图2C所示;也就是说,针对客户端,同一个时间段内物联网服务器中只能存储有一个客户端对应的准入令牌。
若所述登录方式为WEB,则将所述准入令牌增加在账户信息关联的准入令牌中,如图2D所示,也就是说,在同一时间段内物联网服务器可以存储多个WEB对应的准入令牌。
本实施例中准入令牌的分发和管理都是在物联网服务器中进行的,而令牌的使用是在MQTT链路层时验证安全使用。
APP和WEB的不同之处在于,用户基于智能终端同一时间只能登录一个APP,新的APP登录时旧的APP登录会被迫自己下线。而WEB页面登录则无此限制,用户可以打开多个网页,运行不同的操作,根据这样的特征本实施例制定了不同的安全机制。
特别说明的是,本申请的智能终端的用户可以是To business,即针对商业用途使用,例如新零售中的店主,这个店铺或业务中的店员等。前述的APP可理解为管理零售业中智能终端/智能硬件的APP,例如超市的电子价签的APP,智能摄像头、电子秤等。
MQTT协议一般是用于物联网设备的传输,根据物联网设备的特性,一般来讲,准入令牌只需要进行一次,就可以一段时间使用。而在APP和WEB上进行远程MQTT的使用时,用户特征与设备不同,故此该令牌的生成与时效需要通过HTTP协议辅助,才能达成实效性与安全性的结合。
本申请中准入令牌是物联网服务器端根据服务器上的信息自行生成,用户无法反解,所以即使用户通过APP登录,也无法伪造为其它用户操作未授权的物联网设备。如此方式,可以更有效保证安全性同时保证大量请求的效率。
204、物联网服务器接收智能终端基于MQTT链路发送的业务请求,所述业务请求包括:准入令牌和业务请求信息。
基于上述步骤,物联网服务器根据智能终端的账户信息验证成功后生成短期有效的用于MQTT链路安全验证的准入令牌。如果是WEB页面登录,可根据会话签发多张令牌,每一令牌只能使用一次,且具备较短的有效期(分钟级别)。
205、物联网服务器基于所述准入令牌确定是否转发所述业务请求信息。
206、物联网服务器监测到至少一个准入令牌超时,则将物联网服务器内超时的准入令牌删除。
在实际应用中,物联网服务器可实时查看准入令牌是否超时,即是否在有效期内,若超时,则物联网服务器可将准入令牌移除,例如将MQTT Token从MQTT broker的ACL数据中移除。由此,智能终端再次使用失效的准入令牌发送的业务请求,则物联网服务器拒绝通行,保证MQTT链路的安全,同时保证全链路的安全。
应说明的是,物联网服务器接收的令牌请求是智能终端通过HTTP协议传输的;物联网服务器接收的业务请求是智能终端通过MQTT协议传输的。
本实施例中,智能终端和物联网服务器之间的交互对应的是新零售用户,在新零售用户通过WEB,APP多点,多形式登录时,物联网服务器在MQTT链路转发时进行安全验证,即可以在云端Broker转发时加入校验机制。需要说明的是,MQTT broker的主要职责是接受发布者发布的所有消息,并将其过滤后分发给不同的消息订阅者。所以它在分发之前肯定要验证不同订阅者(就类似于消息请求者)是否在分发的范围内。
上述方法可以有效的保证新零售中用户端接入的安全性及灵活性,保证同一个MQTT链路可以兼容处理物联网设备和移动设备两种不同安全需求的网络接入。
如图3所示,图3示出了本发明一实施例提供的一种业务请求处理方法的流程图,本实施例中业务请求处理方法的执行主体可为智能终端,该方法可包括下述的步骤。
301、智能终端基于HTTP链路向所述物联网服务器发送令牌请求,所述令牌请求包括:所述智能终端的账户验证成功后的信息和登录方式。
举例来说,智能终端可采用HTTP协议传输令牌请求。其中,登录方式可为令牌请求中的source参数。
本实施例中的物联网服务器可为云端服务器,或者云平台(如阿里云、百度云等搭建有基础设施的平台)等。本实施例的服务器是包含了业务处理功能的服务器。
302、智能终端基于HTTP链路接收所述物联网服务器根据所述令牌请求分发的一次性的设有有效期的准入令牌(MQTT Token),所述准入令牌与验证成功的账户信息关联。
需要说明的是,在本实施例中,物联网服务器在分发一次性的准入令牌之后,可按照登录方式将MQTT Token记入MQTT broker的ACL数据字段中。
例如,如果是客户端的登录方式,则将物联网服务器中的ACL数据中与账户信息对应的其他客户端的准入令牌覆盖。即一个时间段内只能允许一个客户端的准入令牌是有效的。
对于WEB页面的登录方式,则在物联网服务器中的ACL数据中增加准入令牌,即在一个时间段内允许多个有效的准入令牌。
当然,为了更好的保证安全校验,本实施例中对分发的准入令牌设置有效周期,即物联网服务器在分发准入令牌之后,可启动该准入令牌的定时机制。如果准入令牌失效即超时,则物联网服务器可将MQTT broker的ACL数据中超时的准入令牌移除。由此,后续智能终端登录使用超时的准入令牌则无法接入。
在其他实施例中,智能终端基于HTTP链路向所述物联网服务器发送令牌请求,所述令牌请求包括:所述智能终端的账户信息和登录方式;
智能终端基于HTTP链路接收所述物联网服务器在账户信息验证成功后分发的一次性的设有有效期的准入令牌,所述准入令牌与验证成功的账户信息关联
上述令牌请求的方式可依据终端和服务器的协商方式进行配置,本实施例不对其限定。
303、智能终端基于MQTT链路向物联网服务器发送业务请求,所述业务请求包括:准入令牌和业务请求信息;以使所述物联网服务器基于所述准入令牌确定是否转发所述业务请求信息。
基于上述实施例的方法,在通过令牌超时和消费机制保证了MQTT令牌的唯一短时间有效性。进而有效保证全链路的安全。
为了更好的保证MQTT链路的安全,如果准入令牌被消费了,即之前分发过了,则后续可不能再使用。
进一步地,需要说明的是,前述任意实施例的方法中的准入令牌均是智能终端和物联网服务器交互的信息,并不向用户呈现,用户还是按照原有的登录方式,如用户名密码等的方式进行登录操作。
通过本实施例中准入令牌的方式,对于用户登录的智能终端(即前端系统)在申请到准入令牌之后,后续和物联网服务器的交互,不再携带用户名密码等身份信息,而携带准入令牌即可。这样如果整个物联网系统收到攻击,不管从前端,后端,还是中间截取到的用户身份信息都是不全的,不能直接操作对应的API进行数据攻击。
图4示出了本发明一实施例提供的一种业务请求处理装置的结构示意图,本实施例的业务请求处理装置可位于物联网服务器中,或者业务请求处理装置可单独设置在云端网络侧。如图4所示,本实施例的业务请求处理装置可包括:接收器41、处理器42和发送器43;
其中,接收器41用于接收智能终端基于MQTT链路发送的业务请求,所述业务请求包括:准入令牌和业务请求信息;所述准入令牌为物联网服务器在所述智能终端的账户验证成功后下发的一次性的设有有效期的安全信息;
所述处理器42用于判断所述准入令牌是否正确且处于有效期;
所述发送器43用于在所述处理器确定准入令牌正确且处于有效期,则转发所述业务请求信息。
在具体实现过程中,本实施例的业务请求处理装置还包括:存储器44;
具体地,接收器41还用于接收智能终端基于HTTP链路发送的令牌请求,所述令牌请求包括:所述智能终端的账户验证成功后的信息和登录方式;
所述处理器42还用于根据所述令牌请求,生成与所述账户信息关联的一次性的设有有效期的准入令牌;
发送器43还用于向所述智能终端分发一次性的设有有效期的准入令牌;
所述处理器42还用于根据所述登录方式在存储器44中存储所述准入令牌。
在另一可选的实现方式中,所述接收器41还用于接收智能终端基于HTTP链路发送的令牌请求,所述令牌请求包括:所述智能终端的账户信息和登录方式;
所述处理器42还用于对所述账户信息验证成功后,生成与所述账户信息关联的一次性的设有有效期的准入令牌;以及根据所述登录方式在存储器中存储所述准入令牌;
所述发送器43还用于向所述智能终端分发所述准入令牌。
举例来说,所述处理器43具体用于,在所述登录方式为客户端时,在存储器中存储时将所述准入令牌覆盖账户信息关联的其他客户端的准入令牌;或者在所述登录方式为WEB时,在存储器中存储时将所述准入令牌增加在账户信息关联的准入令牌中。
在具体应用中,为了更好的监控准入令牌的时效性,所述处理器43具体用于,在分发所述准入令牌后,启动所述准入令牌的有效时长的定时机制;并监测到至少一个准入令牌超时,则将物联网服务器内超时的准入令牌移除。
为更好的理解,本实施例的业务请求处理装置可设置在物联网平台或物联网服务器中,其用于在MQTT链路转发业务请求信息时进行安全验证,由此,可以保证物联网系统中前端和后端的链路安全,保证了整个链路的安全。
图5示出了本发明一实施例提供的一种业务请求处理装置的结构示意图;本实施例的业务请求处理装置可设置在智能终端如物联网终端设备中,本实施例的业务请求处理装置可包括:发送器51和接收器52;
其中,发送器51用于基于MQTT链路向物联网服务器发送业务请求,所述业务请求包括:准入令牌和业务请求信息;以使所述物联网服务器基于所述准入令牌确定是否转发所述业务请求信息;
其中,所述准入令牌为所述物联网服务器在智能终端的账户验证成功后下发的一次性的设有有效期的安全信息。
在可能的实现方式中,发送器51还用于在发送业务请求之前,基于HTTP链路向所述物联网服务器发送令牌请求,所述令牌请求包括:所述智能终端的账户验证成功后的信息和登录方式;
所述接收器52用于基于HTTP链路接收所述物联网服务器根据所述令牌请求分发的一次性的设有有效期的准入令牌,所述准入令牌与验证成功的账户信息关联;
在另一种可能的实现方式中,所述发送器51还用于在发送业务请求之前,基于HTTP链路向所述物联网服务器发送令牌请求,所述令牌请求包括:所述智能终端的账户信息和登录方式;
所述接收器52用于基于HTTP链路接收所述物联网服务器在账户信息验证成功后分发的一次性的设有有效期的准入令牌,所述准入令牌与验证成功的账户信息关联。
在具体实现中,本实施例的业务请求处理装置可位于智能终端中,也可以属于浏览器网页中的装置/插件,本实施例不对其限定,根据用户的实际需要进行配置。本实施例的业务请求处理装置通过令牌的方式,可实现全链路的安全。
另外,图6是本发明实施例提供的通信设备的结构示意图。该通信设备可以智能终端或浏览器中的设备,或者是物联网服务器中的设备或者是物联网服务平台中的设备。上述图1至图3所描述的方法可由通信设备来实现。进一步地,本实施例的通信设备可包括执行第一方面的方法的业务请求处理装置,或者包括执行第二方面的方法的业务请求处理装置。
图6所示的通信设备可包括:至少一个处理器61、至少一个存储器62、至少一个网络接口64和其他的用户接口63。通信设备中的各个组件通过总线系统65耦合在一起。可理解,总线系统65用于实现这些组件之间的连接通信。总线系统65除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线系统65。
其中,用户接口63可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)或者触感板等。
可以理解,本实施例中的存储器62可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-OnlyMemory,ROM)、可编程只读存储器(ProgrammableROM,PROM)、可擦除可编程只读存储器(ErasablePROM,EPROM)、电可擦除可编程只读存储器(ElectricallyEPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(RandomAccessMemory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(StaticRAM,SRAM)、动态随机存取存储器(DynamicRAM,DRAM)、同步动态随机存取存储器(SynchronousDRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(DoubleDataRateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(SynchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambusRAM,DRRAM)。本文描述的存储器62旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器62存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统621和应用程序622。
其中,操作系统621,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序622,包含各种应用程序,例如媒体播放器(MediaPlayer)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序622中。
在本发明实施例中,处理器61通过调用存储器62存储的程序或指令,具体的,可以是应用程序622中存储的程序或指令,处理器61用于执行第一方面所提供的方法步骤,例如包括以下步骤:
接收智能终端基于MQTT链路发送的业务请求,所述业务请求包括:准入令牌和业务请求信息;所述准入令牌为物联网服务器在所述智能终端的账户验证成功后下发的一次性的设有有效期的安全信息;
判断所述准入令牌是否正确且处于有效期;
若准入令牌正确且处于有效期,则转发所述业务请求信息。
在本发明实施例中,处理器61通过调用存储器62存储的程序或指令,具体的,可以是应用程序622中存储的程序或指令,处理器61用于执行第二方面所提供的方法步骤,例如包括以下步骤:
向物联网服务器发送业务请求,所述业务请求包括:所述智能终端的准入令牌和请求信息;以使所述物联网服务器基于所述准入令牌确定是否转发所述请求信息;
其中,所述准入令牌为所述物联网服务器在所述智能终端的账户验证成功后下发的一次性安全信息。
在实际应用中,还向所述物联网服务器发送令牌请求,所述令牌请求为所述智能终端的账户验证成功后发送的包括身份标识、登录方式标识的请求;
所述智能终端接收所述物联网服务器根据所述令牌请求分发的与所述身份标识对应的一次性的准入令牌。
上述本发明实施例揭示的方法可以应用于处理器61中,或者由处理器61实现。处理器61可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器61中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器61可以是通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecific IntegratedCircuit,ASIC)、现成可编程门阵列(FieldProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器62,处理器61读取存储器62中的信息,结合其硬件完成上述方法的步骤。
另外,结合上述实施例中的业务请求处理方法,本发明实施例可提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上方法实施例中的任意一种业务请求处理方法。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPDevice,DSPD)、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,方法实施例的步骤之间除非存在明确的先后顺序,否则执行顺序可任意调整。所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种业务请求处理方法,其特征在于,包括:
物联网服务器接收智能终端基于超文本传输协议HTTP链路发送的令牌请求,所述令牌请求包括登录方式;
所述物联网服务器根据所述令牌请求生成设有有效期的准入令牌,并向所述智能终端分发所述准入令牌;
所述物联网服务器根据所述登录方式存储所述准入令牌;
物联网服务器接收智能终端基于消息队列遥测传输MQTT链路发送的业务请求,所述业务请求包括:准入令牌和业务请求信息;所述准入令牌为物联网服务器在所述智能终端的账户验证成功后下发的一次性的设有有效期的安全信息;
所述物联网服务器判断所述准入令牌是否正确且处于有效期;
若准入令牌正确且处于有效期,则所述物联网服务器转发所述业务请求信息,其中,
所述物联网服务器根据所述登录方式存储所述准入令牌,包括:
若所述登录方式为客户端,则将所述准入令牌覆盖账户信息关联的其他客户端的准入令牌;或者
若所述登录方式为WEB,则将所述准入令牌增加在账户信息关联的准入令牌中。
2.根据权利要求1所述的方法,其特征在于,所述令牌请求还包括:所述智能终端的账户验证成功后的信息;
所述物联网服务器根据所述令牌请求生成设有有效期的准入令牌,具体包括:所述物联网服务器根据所述令牌请求,生成与所述账户信息关联的一次性的设有有效期的准入令牌。
3.根据权利要求1所述的方法,其特征在于,所述令牌请求还包括:所述智能终端的账户信息和登录方式;
所述物联网服务器根据所述令牌请求生成设有有效期的准入令牌,具体包括:所述物联网服务器对所述账户信息验证成功后,生成与所述账户信息关联的一次性的设有有效期的准入令牌,并向所述智能终端分发所述准入令牌。
4.根据权利要求1所述的方法,其特征在于,向所述智能终端分发所述准入令牌之后,所述方法还包括:
所述物联网服务器启动所述准入令牌的有效时长的定时机制;
和/或,
若所述物联网服务器监测到至少一个准入令牌超时,则将物联网服务器内超时的准入令牌移除。
5.根据权利要求1所述的方法,其特征在于,所述物联网服务器判断所述准入令牌是否正确且处于有效期之后,所述方法还包括:
若所述准入令牌错误或失效,则所述物联网服务器向所述智能终端发送用于拒绝接入的拒绝响应。
6.一种业务请求处理装置,其特征在于,包括:接收器、处理器、发送器和存储器;
所述接收器,用于接收智能终端基于超文本传输协议HTTP链路发送的令牌请求,所述令牌请求包括登录方式、以及接收智能终端基于消息队列遥测传输MQTT链路发送的业务请求,所述业务请求包括:准入令牌和业务请求信息;所述准入令牌为物联网服务器在所述智能终端的账户验证成功后下发的一次性的设有有效期的安全信息;
所述处理器,用于判断所述准入令牌是否正确且处于有效期,还用于根据所述登录方式在存储器中存储所述准入令牌,具体用于,在所述登录方式为客户端时,在存储器中存储时将所述准入令牌覆盖账户信息关联的其他客户端的准入令牌;或者,在所述登录方式为WEB时,在存储器中存储时将所述准入令牌增加在账户信息关联的准入令牌中;
所述发送器,用于在所述处理器确定准入令牌正确且处于有效期,则转发所述业务请求信息。
7.根据权利要求6所述的装置,其特征在于,
所述接收器,还用于接收智能终端基于超文本传输协议HTTP链路发送的令牌请求,所述令牌请求包括:所述智能终端的账户验证成功后的信息和登录方式;
所述处理器,还用于根据所述令牌请求,生成与账户信息关联的一次性的设有有效期的准入令牌;
所述发送器,还用于向所述智能终端分发所述准入令牌。
8.根据权利要求6所述的装置,其特征在于,
所述接收器,还用于接收智能终端基于HTTP链路发送的令牌请求,所述令牌请求包括:所述智能终端的账户信息;
所述处理器,还用于对所述账户信息验证成功后,生成与所述账户信息关联的一次性的设有有效期的准入令牌;
所述发送器,还用于向所述智能终端分发所述准入令牌;
所述处理器,还用于根据所述登录方式在存储器中存储所述准入令牌。
9.根据权利要求7或8所述的装置,其特征在于,所述处理器,具体用于
在分发所述准入令牌后,启动所述准入令牌的有效时长的定时机制;和/或,
监测到至少一个准入令牌超时,则将物联网服务器内超时的准入令牌移除。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储有计算机程序,所述计算机程序使被调用时执行如权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910787757.2A CN110708281B (zh) | 2019-08-26 | 2019-08-26 | 业务请求处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910787757.2A CN110708281B (zh) | 2019-08-26 | 2019-08-26 | 业务请求处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110708281A CN110708281A (zh) | 2020-01-17 |
CN110708281B true CN110708281B (zh) | 2022-07-22 |
Family
ID=69193953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910787757.2A Active CN110708281B (zh) | 2019-08-26 | 2019-08-26 | 业务请求处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110708281B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111371811B (zh) * | 2020-04-23 | 2022-08-09 | Oppo广东移动通信有限公司 | 一种资源调用方法、资源调用装置、客户端及业务服务器 |
CN114499855A (zh) * | 2021-03-29 | 2022-05-13 | 荣霞 | 一种基于云计算的安全验证方法、装置及电子设备 |
CN114331445A (zh) * | 2022-03-15 | 2022-04-12 | 上海金仕达软件科技有限公司 | 用于海量用户接入的api接口、方法、存储介质及电子设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AT513782B1 (de) * | 2014-04-11 | 2018-08-15 | Avl List Gmbh | Vorrichtung und Verfahren zur Übermittlung von Daten |
US10382203B1 (en) * | 2016-11-22 | 2019-08-13 | Amazon Technologies, Inc. | Associating applications with Internet-of-things (IoT) devices using three-way handshake |
CN107846447A (zh) * | 2017-09-21 | 2018-03-27 | 烽火通信科技股份有限公司 | 一种基于mqtt协议的家庭终端接入消息中间件的方法 |
CN108900471B (zh) * | 2018-05-31 | 2022-02-25 | 北京证大向上金融信息服务有限公司 | 用于传输数据的服务器、客户端、网络系统及方法 |
CN110032082A (zh) * | 2019-04-26 | 2019-07-19 | 广东昇辉电子控股有限公司 | 智能家居设备管理系统及方法 |
-
2019
- 2019-08-26 CN CN201910787757.2A patent/CN110708281B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110708281A (zh) | 2020-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110708281B (zh) | 业务请求处理方法及装置 | |
TWI732458B (zh) | 憑證申請方法、裝置、終端設備、閘道設備和伺服器 | |
US9374372B2 (en) | Systems and methods for profiling client devices | |
CN103065178B (zh) | 一种二维码分享装置、访问装置和分享方法 | |
CN102457509B (zh) | 云计算资源安全访问方法、装置及系统 | |
US10375064B2 (en) | Method, apparatus, and system for remotely accessing cloud applications | |
CN103685300A (zh) | 一种嵌入式web服务器 | |
CN102457507A (zh) | 云计算资源安全共享方法、装置及系统 | |
CN103795690A (zh) | 一种云访问控制的方法、代理服务器和系统 | |
CN105577602A (zh) | 基于开放的应用程序编程接口的数据推送方法和装置 | |
CN113271296B (zh) | 一种登录权限管理的方法和装置 | |
CN113079164B (zh) | 堡垒机资源的远程控制方法、装置、存储介质及终端设备 | |
JP2008197973A (ja) | ユーザ認証システム | |
CN105049427A (zh) | 应用系统登录账号的管理方法及装置 | |
CN112866385B (zh) | 接口调用方法、装置、电子设备和存储介质 | |
CN112583834B (zh) | 一种通过网关单点登录的方法和装置 | |
CN103905399A (zh) | 一种帐号登录管理的方法和装置 | |
CN102624687A (zh) | 基于移动终端的联网程序用户验证方法 | |
CN109690491A (zh) | 执行远程命令 | |
US20180176165A1 (en) | Third party messaging system for monitoring and managing domain names and websites | |
CN115022047B (zh) | 基于多云网关的账户登录方法、装置、计算机设备及介质 | |
CN101360107A (zh) | 一种提高单次登录系统安全的方法、系统及装置 | |
US11095460B2 (en) | Certificate application operations | |
TW201121275A (en) | Cookie processing device, cookie processing method, cookie processing program, cookie processing system and information communication system | |
CN114417318A (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 |