CN105897696A - 一种终端、服务端和终端接入管理方法 - Google Patents

一种终端、服务端和终端接入管理方法 Download PDF

Info

Publication number
CN105897696A
CN105897696A CN201610179057.1A CN201610179057A CN105897696A CN 105897696 A CN105897696 A CN 105897696A CN 201610179057 A CN201610179057 A CN 201610179057A CN 105897696 A CN105897696 A CN 105897696A
Authority
CN
China
Prior art keywords
terminal
access
token
module
service end
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.)
Granted
Application number
CN201610179057.1A
Other languages
English (en)
Other versions
CN105897696B (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.)
Nubia Technology Co Ltd
Original Assignee
Nubia Technology 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 Nubia Technology Co Ltd filed Critical Nubia Technology Co Ltd
Priority to CN201610179057.1A priority Critical patent/CN105897696B/zh
Publication of CN105897696A publication Critical patent/CN105897696A/zh
Application granted granted Critical
Publication of CN105897696B publication Critical patent/CN105897696B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0846Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种终端、服务端和终端接入管理方法,该方法包括终端从服务端获取令牌,将包含该令牌的信息封装为接入请求消息,将所述接入请求消息发送给服务端;所述服务端接收到所述接入请求消息后,根据所述接入请求消息判断是否允许所述终端接入。通过上述方法提供了一个更安全的校验机制,使得服务端能对终端进行有效的接入控制,进一步提高了推送请求连接接入的安全性。

Description

一种终端、服务端和终端接入管理方法
技术领域
本发明涉及通信领域,尤其涉及一种终端、服务端和终端接入管理方法。
背景技术
当前,在很多***或者APP中,都存在使用消息推送的功能。即通过在云端和客户端之间建立一条稳定、可靠的长连接,为开发者提供向客户端应用推送实时消息的服务,帮助开发者有效地拉动用户活跃。而所有的消息推送都需要有后台服务器进行相关的支持才能够实现,保持长链接,才能够实现消息发送以及接收的实时性。
由于需要长期保持服务端和客户端的通信,需要在客户端和服务端中保持一个长连接,如果客户端的数量很多的话,就需要服务端保持很多数目的长连接。而实际情况是,一般APP***的客户端数量会达到几十上百万之多,这么多连接均需要通过安全校验之后,才可成功连接至服务端。如无安全校验,则如有人恶意的进行大量的请求连接,则服务器可能瞬间就会被压垮或者宕机无法提供服务,因此推送的项目需要有一个安全的校验机制。
现有***一般就是通过一个加密的安全校验码,由客户端进行加密,服务端进行解密,如此安全校验码被破解后,服务端就不能进行有效的接入控制,还是很容易被人攻击导致宕机,所以需要一种更安全的校验机制来对终端进行有效的接入控制,提高推送请求连接接入的安全性。
发明内容
本发明的主要目的在于提出一种终端、服务端和终端接入管理方法,旨在解决由于现有的安全校验不完善,使得服务端不能进行有效的接入控制,很容易被人攻击导致宕机,造成推送请求连接接入的安全性差的问题。
为实现上述目的,本发明提供一种终端,包括:第一获取模块,封装模块和第一发送模块,
所述第一获取模块用于从服务端获取令牌;
所述封装模块用于将包含所述令牌的信息封装为接入请求消息;
所述第一发送模块用于将所述接入请求消息发送给所述服务端。
其中,还包括第二获取模块,所述第二获取模块用于获取接入访问地址和安全校验码。
本发明还提供一种服务端,包括:令牌生成模块,第二发送模块,接收模块和判断模块,
所述令牌生成模块用于生成令牌;
所述第二发送模块用于在接收到终端发送来的获取请求后,将所述令牌发送给所述终端;
所述接收模块用于接收所述终端发送来的接入请求消息,所述接入请求消息包含所述令牌;
所述判断模块用于根据所述接入请求消息判断是否允许所述终端接入。
其中,所述接入请求消息还包含接入访问地址和安全校验码。
其中,所述判断模块包括接入位置确定子模块,第一校验子模块和第二校验子模块,
所述位置确定子模块用于通过所述接入访问地址确定所述终端的接入位置;
所述第一校验子模块用于通过所述安全校验码进行第一次校验;
所述第二校验子模块用于所述第一次校验通过后,再通过所述令牌进行第二次校验,若校验通过,则允许所述终端接入。
其中,还包括更新模块,所述更新模块用于定时更新所述令牌。
本发明还提供一种终端接入管理方法,其特征在于,包括:
终端从服务端获取令牌,将包含所述令牌的信息封装为接入请求消息,将所述接入请求消息发送给所述服务端;
所述服务端接收到所述接入请求消息后,根据所述接入请求消息判断是否允许所述终端接入。
其中,所述接入请求消息还包括接入访问地址和安全校验码。
其中,所述服务端根据所述请求接入消息判断是否允许所述终端接入包括:
通过所述接入服务地址确定所述终端的接入位置;
通过所述安全校验码进行第一次校验;
所述第一次校验成功后,再通过所述令牌进行第二次校验,若所述第二次校验成功,则允许所述终端接入。
其中,还包括:服务端定时更新所述令牌。
本发明公开的一种终端、服务端和终端接入管理方法,通过终端从服务端获取令牌,将包含所述令牌的信息封装为接入请求消息,将所述接入请求消息发送给服务端;所述服务端收到所述接入请求消息后,根据所述接入请求消息判断是否允许所述终端接入。提供了一个更安全的校验机制,使得服务端能进行有效的接入控制,进一步提高了推送请求连接接入的安全性。
附图说明
图1为实现本发明各个实施例的移动终端一个可选的硬件结构示意图;
图2为本发明中路由集群的架构示意图;
图3为本发明的终端示意图;
图4为本发明的另一终端示意图;
图5为本发明的服务端示意图;
图6为图5中的判断模块示意图;
图7为本发明的另一服务端示意图;
图8本发明的终端接入管理方法流程图;
图9为本发明的token获取方法流程图;
图10为本发明的通过token进行校验的方法流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现在将参考附图描述实现本发明各个实施例的终端、服务端和终端接入管理方法。在后续的描述中,使用用于表示元件的诸如“模块”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。
终端、服务端可以以各种形式来实施。例如,本发明中描述的终端可以是包括诸如移动电话、智能电话、笔记本电脑、PDA(个人数字助理)、PAD(平板电脑)等移动终端以及诸如数字TV、台式计算机等等的固定终端。下面,假设终端是移动终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
图1为实现本发明各个实施例的移动终端一个可选的硬件结构示意图。
移动终端100可以包括无线通信单元110、用户输入单元120、存储器130、控制器140和电源单元150等等。图1示出了具有各种组件的移动终端,但是应理解的是,并不要求实施所有示出的组件。可以替代地实施更多或更少的组件。将在下面详细描述移动终端的元件。
无线通信单元110通常包括一个或多个组件,其允许移动终端与无线通信***或网络之间的无线电通信。例如,无线通信单元可以包括移动通信模块111和无线互联网模块112中的至少一个,用于与服务端建立通信。
移动通信模块111将无线电信号发送到基站(例如,接入点、节点B等等)、外部终端以及服务器中的至少一个和/或从其接收无线电信号。这样的无线电信号可以包括语音通话信号、视频通话信号、或者根据文本和/或多媒体消息发送和/或接收的各种类型的数据。
无线互联网模块112支持移动终端的无线互联网接入。该模块可以内部或外部地耦接到终端。该模块所涉及的无线互联网接入技术可以包括WLAN(无线LAN)(Wi-Fi)、Wibro(无线宽带)、Wimax(全球微波互联接入)、HSDPA(高速下行链路分组接入)等等。
用户输入单元120可以根据用户输入的命令生成键输入数据以控制移动终端的各种操作。用户输入单元120允许用户输入各种类型的信息,并且可以包括键盘、锅仔片、触摸板(例如,检测由于被接触而导致的电阻、压力、电容等等的变化的触敏组件)、滚轮、摇杆等等。
存储器130可以暂时地存储己经输出或将要输出的数据(例如,电话簿、消息、静态图像、视频等等),比如保存路由信息列表等。存储器130可以包括至少一种类型的存储介质,所述存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等等。而且,移动终端100可以与通过网络连接执行存储器130的存储功能的网络存储装置协作。
控制器140通常控制移动终端的总体操作。例如,控制器140执行与语音通话、数据通信、视频通话等等相关的控制和处理。另外,控制器140可以包括用于再现(或回放)多媒体数据的多媒体模块(未示出),多媒体模块(未示出)可以构造在控制器140内,或者可以构造为与控制器140分离。控制器140可以执行模式识别处理,以将在触摸屏上执行的手写输入或者图片绘制输入识别为字符或图像,控制器140还可以用于将输入移动终端的语音控制指令识别成终端内部可用的格式,然后将指令传给对应的模块或单元,比如控制请求消息的发送及应答消息的接收等。
电源单元150在控制器140的控制下接收外部电力或内部电力并且提供操作各元件和组件所需的适当的电力。
这里描述的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,这样的实施方式可以在控制器140中实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器130中并且由控制器140执行。
至此,己经按照其功能描述了移动终端。下面,为了简要起见,将描述诸如折叠型、直板型、摆动型、滑动型移动终端等等的各种类型的移动终端中的滑动型移动终端作为示例。因此,本发明能够应用于任何类型的移动终端,并且不限于滑动型移动终端。
具体的,本发明提供的终端是在电源单元150供电的情况下进行相应的操作,如通过调用无线通信单元110与服务端建立通信,具体的可以是通过无线通信单元110中的移动通信模块111和/或无线互联网模块112建立相应的通信;用户输入单元120用于终端在与服务端进行交互过程中,用户进行相应的输入操作;存储器130用于存储终端与服务端交互过程中的数据信息,比如获取到的令牌,安全验证码和路由信息列表等一些列相关信息;控制器140用于对终端与服务端的整个交互过程进行控制,使终端进行相应的操作。上述结合图1各模块或单元描述的内容仅用于对发明提供的各实施例进行解释,并不用于对本发明保护的方案进行限定。对于本发明保护的具体方案,下面将结合附图进一步详细说明。
请参见图2,图2为路由集群的架构图,其中路由集群是由多个tomcat应用服务器所组成的集群,集群中提供多个token(令牌)获取接口,通过集群可以实现负载均衡;缓存模块是用来保存token令牌的;接入容器可以用来进行token的校验功能,另外,一些数据的请求与数据的获取调用接口也可在其中实现。
这里描述的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施。
基于上述内容,为了使本技术领域的人员更好地理解本发明方案,下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例;需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例一:
本实施例提出一种终端,请参见图3,包括:第一获取模块11,封装模块12和第一发送模块13,第一获取模块11用于从服务端获取令牌;封装模块12用于将包含令牌的信息封装为接入请求消息;第一发送模块13用于将该接入请求消息发送给服务端。
请参见图4,该终端还包括第二获取模块14,第二获取模块14用于获取接入访问地址和安全校验码。
具体的,推送项目或者其他项目在连接到真正的接入服务器之前,均需要先访问一次路由服务器的接口,由第一获取模块11获取请求token,即终端先向服务端发送请求消息去获取token,以及由第二获取模块14请求获取路由列表信息等信息。服务端接收到请求消息后,获取在线用户数和push接入服务器性能等信息进行分析,由路由服务器根据分析结果生成对应的token信息,并向终端返回满足条件的可以接入的路由列表信息以及token,另外,还需要将该token存放至缓存服务器中。其中路由列表信息包括IP,端口或者域名或者直接的连接地址等相关的信息,待终端获取到此相关的路由列表信息以及token字段之后,封装模块12组织拼装好真正的接入服务器的请求地址,即接入访问地址,还要组织请求参数,生成请求接入信息。该请求接入消息中除了旧有的用于加密的安全校验码字段,还需要带上最新的token信息和接入访问地址以及进行接入服务器的请求接入动作,第一发送模块13将该接入请求消息发送给服务端。然后服务端根据该请求接入信息判断是否允许该终端接入。需要理解的是,上述终端内的各操作及终端与服务端的交互过程相应的都是通过控制器140控制实现的,另外,终端获取的令牌和路由列表信息等信息都是存放在存储器130中的。
本实施例提供的终端,通过从服务端获取令牌,将包含令牌的信息封装为接入请求消息,将该接入请求消息发送给服务端;给终端接入服务端的过程提供了一个更安全的校验机制,使得服务端能进行有效的接入控制,进一步提高了推送请求连接接入的安全性。
实施例二:
本实施例提供一种服务端,请参见图5,包括:令牌生成模块21,第二发送模块22,接收模块23和判断模块24,进一步的,令牌生成模块21用于生成令牌;第二发送模块22用于在接收到终端发送来的获取请求后,将该令牌发送给终端;接收模块23用于接收终端发送来的接入请求消息,该接入请求消息包含令牌;判断模块24用于根据该接入请求消息判断是否允许终端接入。
进一步的,接入请求消息还包含接入访问地址和安全校验码。
进一步的,请参见图6,判断模块24包括接入位置确定子模块241,第一校验子模块242和第二校验子模块243,具体的,位置确定子模块241用于通过接入访问地址确定终端的接入位置;第一校验子模块242用于通过安全校验码进行第一次校验;第二校验子模块243用于第一次校验通过后,再通过令牌进行第二次校验,若校验通过,则允许所述终端接入。
具体的,服务端接收到终端发送来的token获取请求消息后,根据该请求消息向满足服务器接入条件的终端配置token令牌,该token令牌可以由令牌生成模块21生成,然后通过第二发送模块22将该token信息发送给终端。当服务端的接收模块23接收到终端发送来的接入请求消息后,判断模块24根据该接入请求消息判断是否允许终端接入。首先位置确定子模块241根据接入服务地址确定终端的接入位置,然后第一校验子模块242进行旧有的加密字段的校验工作,即通过安全校验码进行第一次校验,若此第一次校验成功,第二校验子模块243再根据token进行第二次校验工作。具体的可以由接入服务器进入缓存服务器中,查看是否存在相同的token信息,若存在则该第二次校验通过,即请求有效;若出现不存在或者该token失效等情况,则说明该请求无效,禁止进行接入操作,保证了终端接入服务端的安全性。同时,还需要返回终端token失效等关键信息。当终端请求成功时,可直接进行双方的通信,当服务端返回token失效时,由终端重新发起请求获取token与路由列表,并再次进行访问。
进一步的,请参见图7,服务端还包括更新模块25,该更新模块25用于定时更新令牌。
具体的,服务端定时更新token,路由服务器隔一定时间重新生成一个token,并将该token存放到缓存服务器中,当token过期使得终端接入失败时,终端需要重新获取更新后的token,进一步提高了终端接入服务端的安全性。
本实施例提供的服务端,通过在接收到终端发来的接入请求消息后,根据该接入请求消息判断是否允许所述终端接入,该接入请求消息包含令牌,给终端在接入服务端的过程中提供了一个更安全的校验机制,使得服务端能进行有效的接入控制,进一步提高了推送请求连接接入的安全性。
实施例三:
本实施例提供一种终端接入管理方法,具体的,请参见图8,包括:
步骤101,终端从服务端获取令牌,将包含所述令牌的信息封装为接入请求消息,将所述接入请求消息发送给所述服务端;
步骤102,服务端接收到该接入请求消息后,根据该接入请求消息判断是否允许终端接入。
具体的,对于步骤101,推送项目或者其他项目在连接到真正的接入服务器之前,均需要先访问一次路由服务器的接口,获取请求token,即终端先向服务端发送请求消息去获取token,以及请求路由列表信息。服务端接收到请求消息后,获取在线用户数和push接入服务器性能等信息进行分析,由路由服务器根据分析结果生成对应的token信息,并向终端返回满足条件的可以接入的路由列表信息以及token,另外,还需要将该token存放至缓存服务器中。其中路由列表信息包括IP,端口或者域名或者直接的连接地址等相关的信息,待终端获取到此相关的路由列表信息以及token字段之后,组织拼装好真正的接入服务器的请求地址,即接入访问地址,还要组织请求参数,生成请求接入信息,然后将该接入请求消息发送给服务端,请求接入该服务端。
需要理解的是,上述终端内的各操作及终端与服务端的交互过程相应的都是通过控制器140控制实现的,另外,终端获取的令牌和路由列表信息等信息都是存放在存储器130中的。
进一步的,该接入请求消息还包括接入访问地址和安全校验码。
具体的,请求接入消息中除了旧有的用于加密的安全校验码字段,还需要带上最新的token信息和接入访问地址以进行接入服务器的请求接入动作,将该接入请求消息发送给服务端。
对于步骤102,服务端接收到该接入请求消息后,根据该接入请求消息判断是否允许终端接入。进一步的,服务端根据该请求接入消息判断是否允许终端接入包括:通过接入服务地址确定终端的接入位置;通过安全校验码进行第一次校验;所述第一次校验成功后,再通过令牌进行第二次校验,若第二次校验成功,则允许终端接入。
具体的,服务端接收到终端发送来的接入请求消息后,首先根据接入服务地址确定终端的接入位置,然后进行旧有的加密字段的校验工作,即通过安全校验码进行第一次校验,若此第一次校验成功,再根据token进行第二次校验工作,具体的可以由接入服务器进入缓存服务器中,查看是否存在相同的token信息,若存在则该第二次校验通过,即请求有效;若出现不存在或者该token失效等情况,则说明该请求无效,禁止进行接入操作,保证了终端接入服务端的安全性。同时,还需要返回终端token失效等关键信息。当终端请求成功时,可直接进行双方的通信,当服务端返回token失效时,由终端端重新发起请求获取token与路由列表,并再次进行访问。
进一步的,还包括:服务端定时更新令牌。
具体的,服务端定时更新token,路由服务器隔一定时间重新生成一个token,并将该token存放到缓存服务器中,当token过期使得终端接入失败时,终端需要重新获取更新后的token,进一步更加提高了终端接入服务端的安全性。
本实施例提供的终端接入管理方法通过终端从服务端获取令牌,通过将包含所述令牌的信息封装为接入请求消息,将所述接入请求消息发送给服务端;所述服务端收到所述接入请求消息后,根据所述接入请求消息判断是否允许所述终端接入。提供了一个更安全的校验机制,使得服务端能进行有效的接入控制,进一步提高了推送请求连接接入的安全性。
实施例四:
本实施例对token的获取过程和通过token进行校验的过程做更为详细的描述,具体的:
请参见图9,获取token的过程具体包括:
步骤201,发起请求,跳转到步骤202;
具体的,推送项目或者其他项目在连接到真正的接入服务器之前,均需要先访问一次路由服务器的接口,去请求获取token,当终端需要与服务端建立通信时,终端先要发起请求。
步骤202,计算设备标志和计算签名,跳转到步骤203;
具体的,发起请求后,终端会计算自身的设备标示和签名,将此信息封装在请求消息内,发送给服务端。
步骤203,发送Https请求,跳转到步骤204;
具体的,将包含终端的设备标志和签名信息的请求消息通过安全Http通道发送给服务端,去获取token。
步骤204,开始参数和签名校验App状态等校验,跳转到步骤205;
具体的,服务端的Push路由服务器接收到终端发送来的请求消息后,分析该请求消息,对终端进行参数和签名校验及App状态等检验,判断是否给终端配置token。
步骤205,判断校验是否成功,若成功,跳转到步骤206;若不成功,跳转到步骤210;
具体的,判断上述检验是否成功,若成功则说明服务端可以根据终端需要给终端配置相应的令牌,若验证失败,则说明该终端是非法接入的,向该终端返回失败消息。
步骤206,获取在线用户数,Push接入服务器性能等信息,跳转到步骤207;
具体的,当校验成功后,Push路由服务器获取服务端的在线用户数和Push接入服务器性能等信息,根据前述消息配置对应的令牌,需要注意的是,为保证终端接入服务器的安全性,该令牌每隔一定的时间进行一次更新。
步骤207,返回信息,跳转到步骤208;
具体的,当给终端配置了相应的令牌后,将该令牌发送给Redis缓存处理器,进行保存。
步骤208,路由返回结果(包含令牌信息),跳转到步骤209;
具体的,当将令牌在Redis缓存处理器保存后,Push路由服务器向终端返回配置结果,该配置结果内包含令牌信息,也包含路由列表信息和安全校验码等信息。
步骤209,成功返回连接许可;
具体的,当服务器给终端返回配置结果信息后,向终端成功返回连接许可,终端即可进行后续操作。
步骤210,返回失败消息。
具体的,当服务端对终端发送过去的请求消息进行分析,对终端进行参数和签名校验及App状态等检验,若检验失败,则说明服务端不允许该终端接入,向终端返回失败消息。
具体的,推送项目或者其他项目在连接到真正的接入服务器之前,均需要先访问一次路由服务器的接口,获取请求token。详细的,终端(Push中控或PushClient)发起请求,然后计算设备标志和计算签名,接着发送Https获取消息,去获取令牌。服务端Push路由接收到该获取消息后,对终端进行参数和签名校验App状态等校验,若校验失败,则向终端返回获取失败消息;若校验成功,则获取在线用户数,push接入服务器性能等信息,根据该信息分配接入服务器,并从Redis获取token,将包含token的消息发送给终端,还向终端返回满足条件的可以接入的路由列表信息,安全校验码等消息,其中路由列表信息包括IP,端口或者域名或者直接的连接地址等相关的信息。另外,服务端还需要将该token存放至缓存服务器中发送成功连接许可。
请参见图10,通过token进行校验的过程具体包括:
步骤301,发起请求,跳转到步骤302;
具体的,推送项目或者其他项目在连接到真正的接入服务器之前,均需要先访问一次路由服务器的接口,去请求获取token,当终端需要与服务端建立通信时,终端先要发起请求。
步骤302,计算设备标志和计算签名,跳转到步骤303;
具体的,发起请求后,终端会计算自身的设备标示和签名,将此信息封装在此次请求消息内,发送给服务端。
步骤303,发送Https请求,跳转到步骤304;
具体的,将包含终端的设备标志和签名信息的请求消息通过安全Http通道发送给服务端,去请求接入服务端。
步骤304,开始参数和签名校验App状态等校验,跳转到步骤305;
具体的,服务端的Push接入服务器接收到终端发送来的请求消息后,分析该请求消息,对终端进行参数和签名校验及App状态等检验,判断是否接入该终端。
步骤305,判断校验是否成功,若成功,跳转到步骤306;若不成功,跳转到步骤309;
具体的,判断上述检验是否成功,上述校验即可理解为是进行第一次校验,具体的可以是通过安全校验码进行校验,若该第一次校验成功,则从Redis缓存处理器获取令牌,继续第二次校验;若不成功,则说明该终端为非法接入,向终端返回失败消息,以继续后续的相应处理。
步骤306,返回令牌信息,跳转到步骤307;
具体的,Redis缓存处理器向Push接入服务器返回存储的token令牌信息,进行后续的第二次验证。
步骤307,检验令牌信息是否存在,若存在,跳转到步骤308;若不存在,跳转到步骤309;
具体的,Push接入服务器根据Redis缓存处理器返回的token令牌信息,判断是否存在与终端发送来的接入请求消息中的token相同的token,若存在,则返回成功连接许可;若失败,则向终端返回获取失败消息。
步骤308,成功返回连接许可;
具体的,当服务端存在与终端发送来的接入请求消息中的token相同的token时,服务端向终端成功返回连接许可。
步骤309,返回失败消息。
具体的,当第一次验证失败或第二次验证时当服务端不存在与终端发送来的接入请求消息中的token相同的token时,服务端向终端返回失败消息。
具体的,终端(Push中控或PushClient)发起请求,然后计算设备标志和计算签名,接着发送Https请求,即发送接入请求消息,请求接入。详细的,接入请求消息包括token,接入访问地址和安全校验码等信息。Push接入服务器接收到该接入请求消息后,进行参数和签名校验App状态等校验,即根据校验码进行第一次校验,若校验失败,则向终端返回获取失败消息;若校验成功,则从Redis获取token,继续第二次校验,判断缓存服务器中是否存在与终端发送来的接入请求消息中的token相同的token,若存在,返回成功连接许可;若失败,则向终端返回获取失败消息。上述方法提供了一个更安全的校验机制,使得服务端能进行有效的接入控制,进一步提高了推送请求连接接入的安全性。
需要理解的是,服务端每隔一定的时间更新token,并将该token存放到缓存服务器中,当token过期使得终端接入失败时,终端需要重新获取更新后的token,进一步更加提高了终端接入服务端的安全性。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种终端,其特征在于,包括:第一获取模块,封装模块和第一发送模块,
所述第一获取模块用于从服务端获取令牌;
所述封装模块用于将包含所述令牌的信息封装为接入请求消息;
所述第一发送模块用于将所述接入请求消息发送给所述服务端。
2.如权利要求1所述的终端,其特征在于,还包括第二获取模块,所述第二获取模块用于获取接入访问地址和安全校验码。
3.一种服务端,其特征在于,包括:令牌生成模块,第二发送模块,接收模块和判断模块,
所述令牌生成模块用于生成令牌;
所述第二发送模块用于在接收到终端发送来的获取请求后,将所述令牌发送给所述终端;
所述接收模块用于接收所述终端发送来的接入请求消息,所述接入请求消息包含所述令牌;
所述判断模块用于根据所述接入请求消息判断是否允许所述终端接入。
4.如权利要求3所述的服务端,其特征在于,所述接入请求消息还包含接入访问地址和安全校验码。
5.如权利要求4所述的服务端,其特征在于,所述判断模块包括接入位置确定子模块,第一校验子模块和第二校验子模块,
所述位置确定子模块用于通过所述接入访问地址确定所述终端的接入位置;
所述第一校验子模块用于通过所述安全校验码进行第一次校验;
所述第二校验子模块用于所述第一次校验通过后,再通过所述令牌进行第二次校验,若校验通过,则允许所述终端接入。
6.如权利要求3-5任一项所述的服务端,其特征在于,还包括更新模块,所述更新模块用于定时更新所述令牌。
7.一种终端接入管理方法,其特征在于,包括:
终端从服务端获取令牌,将包含所述令牌的信息封装为接入请求消息,将所述接入请求消息发送给所述服务端;
所述服务端接收到所述接入请求消息后,根据所述接入请求消息判断是否允许所述终端接入。
8.如权利要求7所述的终端接入管理方法,其特征在于,所述接入请求消息还包括接入访问地址和安全校验码。
9.如权利要求8所述的终端接入管理方法,其特征在于,所述服务端根据所述请求接入消息判断是否允许所述终端接入包括:
通过所述接入服务地址确定所述终端的接入位置;
通过所述安全校验码进行第一次校验;
所述第一次校验成功后,再通过所述令牌进行第二次校验,若所述第二次校验成功,则允许所述终端接入。
10.如权利要求7-9任一项所述的终端接入管理方法,其特征在于,还包括:服务端定时更新所述令牌。
CN201610179057.1A 2016-03-25 2016-03-25 一种终端、服务端和终端接入管理方法 Active CN105897696B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610179057.1A CN105897696B (zh) 2016-03-25 2016-03-25 一种终端、服务端和终端接入管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610179057.1A CN105897696B (zh) 2016-03-25 2016-03-25 一种终端、服务端和终端接入管理方法

Publications (2)

Publication Number Publication Date
CN105897696A true CN105897696A (zh) 2016-08-24
CN105897696B CN105897696B (zh) 2019-08-23

Family

ID=57014889

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610179057.1A Active CN105897696B (zh) 2016-03-25 2016-03-25 一种终端、服务端和终端接入管理方法

Country Status (1)

Country Link
CN (1) CN105897696B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107545418A (zh) * 2017-09-19 2018-01-05 深圳金融电子结算中心有限公司 基于分布式构架的交易处理***及方法
CN108833344A (zh) * 2018-05-04 2018-11-16 广东睿江云计算股份有限公司 一种跨域session验证方法和***
CN109040255A (zh) * 2018-08-08 2018-12-18 中国联合网络通信集团有限公司 物联网设备接入方法、装置、设备及存储介质
WO2019041802A1 (zh) * 2017-08-31 2019-03-07 华为技术有限公司 基于服务化架构的发现方法及装置
CN109802941A (zh) * 2018-12-14 2019-05-24 平安科技(深圳)有限公司 一种登录验证方法、装置、存储介质和服务器
CN110381057A (zh) * 2019-07-17 2019-10-25 上海庆科信息技术有限公司 通讯连接的处理方法、装置、存储介质、处理器及***
CN112260993A (zh) * 2020-09-18 2021-01-22 冠群信息技术(南京)有限公司 一种电子证照库第三方Token令牌验证的方法
CN115333847A (zh) * 2022-08-22 2022-11-11 超聚变数字技术有限公司 数据的传输方法、发送方法、数据处理***及计算设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101707635A (zh) * 2009-12-25 2010-05-12 中国海洋大学 一种基于互联网的资源推送***
CN103037312A (zh) * 2011-10-08 2013-04-10 阿里巴巴集团控股有限公司 消息推送方法及装置
WO2015101357A1 (en) * 2014-01-06 2015-07-09 Tencent Technology (Shenzhen) Company Limited Method and system for pushing web application message
CN104993980A (zh) * 2015-08-11 2015-10-21 上海斐讯数据通信技术有限公司 一种长连接应用接入的安全管控方法及***
CN105246054A (zh) * 2015-08-27 2016-01-13 武汉诚迈科技有限公司 一种适用于android智能手机的消息推送方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101707635A (zh) * 2009-12-25 2010-05-12 中国海洋大学 一种基于互联网的资源推送***
CN103037312A (zh) * 2011-10-08 2013-04-10 阿里巴巴集团控股有限公司 消息推送方法及装置
WO2015101357A1 (en) * 2014-01-06 2015-07-09 Tencent Technology (Shenzhen) Company Limited Method and system for pushing web application message
CN104993980A (zh) * 2015-08-11 2015-10-21 上海斐讯数据通信技术有限公司 一种长连接应用接入的安全管控方法及***
CN105246054A (zh) * 2015-08-27 2016-01-13 武汉诚迈科技有限公司 一种适用于android智能手机的消息推送方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110474875A (zh) * 2017-08-31 2019-11-19 华为技术有限公司 基于服务化架构的发现方法及装置
US11824981B2 (en) 2017-08-31 2023-11-21 Huawei Technologies Co., Ltd. Discovery method and apparatus based on service-based architecture
WO2019041802A1 (zh) * 2017-08-31 2019-03-07 华为技术有限公司 基于服务化架构的发现方法及装置
US11296877B2 (en) 2017-08-31 2022-04-05 Huawei Technologies Co., Ltd. Discovery method and apparatus based on service-based architecture
CN107545418A (zh) * 2017-09-19 2018-01-05 深圳金融电子结算中心有限公司 基于分布式构架的交易处理***及方法
CN108833344A (zh) * 2018-05-04 2018-11-16 广东睿江云计算股份有限公司 一种跨域session验证方法和***
CN109040255B (zh) * 2018-08-08 2021-06-15 中国联合网络通信集团有限公司 物联网设备接入方法、装置、设备及存储介质
CN109040255A (zh) * 2018-08-08 2018-12-18 中国联合网络通信集团有限公司 物联网设备接入方法、装置、设备及存储介质
CN109802941A (zh) * 2018-12-14 2019-05-24 平安科技(深圳)有限公司 一种登录验证方法、装置、存储介质和服务器
CN110381057A (zh) * 2019-07-17 2019-10-25 上海庆科信息技术有限公司 通讯连接的处理方法、装置、存储介质、处理器及***
CN112260993A (zh) * 2020-09-18 2021-01-22 冠群信息技术(南京)有限公司 一种电子证照库第三方Token令牌验证的方法
CN112260993B (zh) * 2020-09-18 2023-08-15 冠群信息技术(南京)有限公司 一种电子证照库第三方Token令牌验证的方法
CN115333847A (zh) * 2022-08-22 2022-11-11 超聚变数字技术有限公司 数据的传输方法、发送方法、数据处理***及计算设备
CN115333847B (zh) * 2022-08-22 2024-03-19 超聚变数字技术有限公司 数据的传输方法、发送方法、数据处理***及计算设备

Also Published As

Publication number Publication date
CN105897696B (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
CN105897696A (zh) 一种终端、服务端和终端接入管理方法
CN109194673B (zh) 基于用户授权信息的认证方法、***、设备及存储介质
CN103249045B (zh) 一种身份识别的方法、装置和***
US9864852B2 (en) Approaches for providing multi-factor authentication credentials
US10362026B2 (en) Providing multi-factor authentication credentials via device notifications
CN109815683B (zh) 权限验证方法及相关装置
CN105843653B (zh) 一种安全应用配置方法及装置
CN104113549A (zh) 一种平台授权方法、平台服务端及应用客户端和***
CN104954383A (zh) 一种应用程序登录方法及***
US10841297B2 (en) Providing multi-factor authentication credentials via device notifications
CN111475795A (zh) 一种面向多应用进行统一认证授权的方法及装置
CN108234509A (zh) 基于tee和pki证书的fido认证器、认证***及方法
CN106341233A (zh) 客户端登录服务器端的鉴权方法、装置、***及电子设备
CN111818088A (zh) 授权模式管理方法、装置、计算机设备及可读存储介质
CN107196761B (zh) 一种保护应用程序中的核心函数的方法
CN110365483A (zh) 云平台认证方法、客户端、中间件及***
CN108449801A (zh) 网络连接方法、装置、计算机装置及计算机可读存储介质
CN109040069A (zh) 一种云应用程序的发布方法、发布***及访问方法
CN107835228A (zh) 一种基于动态广义路由的指令处理方法及装置
CN110661798A (zh) 基于认证鉴权平台的认证鉴权方法
Kellezi et al. Securing Open Banking with Model‐View‐Controller Architecture and OWASP
CN106534071A (zh) 一种基于设备白名单管理的车联网链路安全认证方法和***
CN110166471A (zh) 一种Portal认证方法及装置
CN103107881B (zh) 智能卡的访问方法、装置及***
CN109145543B (zh) 一种身份认证方法

Legal Events

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