欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 令牌校验方法、装置、设备及存储介质独创技术23159字

令牌校验方法、装置、设备及存储介质

2021-02-23 10:22:57

令牌校验方法、装置、设备及存储介质

  技术领域

  本发明涉及网络访问控制技术领域,尤其涉及一种令牌校验方法、装置、设备及存储介质。

  背景技术

  令牌(Tokens)是针对智能终端安全性的一个概念,随着网络数据安全的不断发展,令牌作为最安全的身份验证技术之一,已经被越来越多的行业应用。当客户端需要访问服务器时,服务器会创建一个访问令牌,该令牌可用于身份认证,能够有效提高身份认证的安全性,广泛应用于网银、电信运营商和电子政务等应用领域。现有技术中常用的令牌验证方法为:客户端预先向服务器申请令牌,服务器生成令牌,将令牌存入数据库中同时把令牌返回给客户端,客户端向服务器请求校验令牌,服务器从数据库中提取令牌详细信息,进行令牌校验。现有的令牌校验流程比较简单,当客户端提供的令牌与服务器中存储的令牌对应时,即通过验证,并未对令牌进行更为严谨的校验流程,导致令牌的可信度不高,从而影响网络访问的安全性。

  发明内容

  本发明实施例的目的是提供一种令牌校验方法、装置、设备及存储介质,能够提高网络访问进程的安全性。

  为实现上述目的,本发明实施例提供了一种令牌校验方法,包括:

  响应于客户端发送的服务请求,获取所述服务请求中的待校验令牌;

  获取所述待校验令牌中的标识符;

  基于所述标识符判断所述待校验令牌是否已被使用过;

  当所述待校验令牌未被使用过时,判断所述待校验令牌是否满足预设的令牌合规性条件;其中,所述令牌合规性条件包括所述待检验令牌的生成时间早于预设的请求送达时间;

  若是,则判定所述待校验令牌验证成功;若否,则判定所述待校验令牌验证失败。

  作为上述方案的改进,所述令牌合规性条件还包括:

  所述待检验令牌未超过其有效使用时间;其中,所述有效使用时间根据所述生成时间和预设的误差时间得到。

  作为上述方案的改进,所述令牌合规性条件还包括:

  所述标识符为预先分配给所述客户端的标识符。

  作为上述方案的改进,所述获取所述待校验令牌中的标识符前,还包括:

  在密钥库中获取与所述待校验令牌对应的第一实时密钥;其中,所述客户端预先对所述待校验令牌采用第二实时密钥进行加密,所述第二实时密钥的密钥种子与所述第一实时密钥的密钥种子相同;

  判断利用所述第一实时密钥是否能够对所述待校验令牌进行解密;

  若是,则执行所述获取所述待校验令牌中的标识符;若否,则判定所述待校验令牌验证失败。

  作为上述方案的改进,所述在密钥库中获取与所述待校验令牌对应的第一实时密钥前,还包括:

  判断所述待校验令牌的组成部分是否完整;

  若是,则执行所述在密钥库中获取与所述待校验令牌对应的第一实时密钥;若否,则判定所述待校验令牌验证失败。

  作为上述方案的改进,所述基于所述标识符判断所述待校验令牌是否已被使用过,包括:

  在令牌记录表中查询是否有与所述待校验令牌的标识符相同的已记录标识符;

  若是,则判定所述待校验令牌已被使用过;若否,则判定所述待校验令牌未被使用过。

  为实现上述目的,本发明实施例还提供了一种令牌校验装置,包括:

  待校验令牌获取模块,用于响应于客户端发送的服务请求,获取所述服务请求中的待校验令牌;

  标识符获取模块,用于获取所述待校验令牌中的标识符;

  令牌重复使用判断模块,用于基于所述标识符判断所述待校验令牌是否已被使用过;

  令牌合规性判断模块,用于当所述待校验令牌未被使用过时,判断所述待校验令牌是否满足预设的令牌合规性条件;其中,所述令牌合规性条件包括所述待检验令牌的生成时间早于预设的请求送达时间;若是,则判定所述待校验令牌验证成功;若否,则判定所述待校验令牌验证失败。

  作为上述方案的改进,所述令牌合规性条件还包括以下至少一种:

  所述待检验令牌未超过其有效使用时间;其中,所述有效使用时间根据所述生成时间和预设的误差时间得到;

  所述标识符为预先分配给所述客户端的标识符。

  为实现上述目的,本发明实施例还提供了一种令牌校验设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一实施例所述的令牌校验方法。

  为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述任一实施例所述的令牌校验方法。

  与现有技术相比,本发明实施例公开的令牌校验方法、装置、设备及存储介质,首先对待校验令牌的完整性进行校验,能够剔除不完整的令牌,确保令牌的完整性;其次采用实时密钥的方式对待校验令牌进行解密,能够辨别该令牌是否由受信端发出的;同时利用标识符剔除重复使用的令牌,能够避免重放攻击;最后判断待校验令牌是否满足令牌合规性条件,可以有效防止令牌泄漏后被滥用。由于在令牌检验的过程中,充分考虑了令牌完整性判断、匹配判断、重复使用判断以及合规性判断,相比于现有的校验流程更为复杂和严谨,从而能够提高网络访问进程的安全性。

  附图说明

  图1是本发明实施例提供的一种令牌校验方法的流程图;

  图2是本发明实施例提供的企业服务总线平台和服务消费方的信息交互流程;

  图3是本发明实施例提供的另一种令牌校验方法的流程图;

  图4是本发明实施例提供的一种令牌校验装置的结构示意图;

  图5是本发明实施例提供的另一种令牌校验装置的结构示意图;

  图6是本发明实施例提供的一种令牌校验设备的结构示意图。

  具体实施方式

  下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

  参见图1,图1是本发明实施例提供的一种令牌校验方法的流程图;所述令牌校验方法包括:

  S11、响应于客户端发送的服务请求,获取所述服务请求中的待校验令牌;

  S12、获取所述待校验令牌中的标识符;

  S13、基于所述标识符判断所述待校验令牌是否已被使用过;

  S14、当所述待校验令牌未被使用过时,判断所述待校验令牌是否满足预设的令牌合规性条件;

  S15、若是,则判定所述待校验令牌验证成功;若否,则判定所述待校验令牌验证失败。

  值得说明的是,本发明实施例所述的令牌校验方法由企业服务总线平台(Enterprise Service Bus,ESB)执行实现,所述企业服务总线平台可为服务器,所述企业服务总线平台将企业级应用系统的部分功能包装成为某一特定服务,对外发布其调用链接,供有服务需求的服务消费方(客户端)通过HTTP(S)形式进行调用,达到服务共享、数据互通的目的。服务消费方在调用服务之前,需要自证其具有调用服务的权限,即企业服务总线平台需对服务消费方进行鉴权,本发明实施例所提供的令牌校验方法即企业服务总线平台对服务消费方的鉴权方式。所述企业服务总线平台和所述服务消费方的信息交互流程可参考图2。

  具体地,在步骤S11中,所述企业服务总线平台响应于客户端发送的服务请求,获取所述服务请求中的待校验令牌。所述服务消费方(客户端)通过HTTP(S)方式调用企业服务总线平台服务的请求,进行基于令牌模式的特定验证流程,以确保服务不被匿名和恶意调用,从而提高数据安全性和平台稳定性。

  具体地,在获取到所述待校验令牌后,首先对所述待校验令牌进行完整性校验,完整性校验流程如下:

  S101、判断所述待校验令牌的组成部分是否完整;

  S102、若是,则执行步骤103;若否,则判定所述待校验令牌验证失败。

  示例性的,所述企业服务总线平台与所述服务消费方预先约定好令牌的组成部分,比如所述待校验令牌的组成部分包括令牌头、令牌负载、令牌签名,则所述企业服务总线平台在获取到所述待检验令牌时,首先确认所述待校验令牌是否包含令牌头、令牌负载、令牌签名这三个结构。在JWT(Json web token)标准规范中,对于令牌完整性校验未作限制,存在恶意的服务消费方可以通过传输不完整的令牌绕开校验机制,本发明实施例中通过强制校验令牌的各个组成部分,能够剔除伪造令牌。

  具体地,在对所述待校验令牌进行完整性校验后,还需要采用实时密钥对所述待校验令牌进行匹配校验,匹配校验流程如下:

  S103、在密钥库中获取与所述待校验令牌对应的第一实时密钥;

  S104、判断利用所述第一实时密钥是否能够对所述待校验令牌进行解密;

  S105、若是,则执行步骤S12;若否,则判定所述待校验令牌验证失败。

  值得说明的是,所述企业服务总线平台和所述服务消费方均预设有密钥库,双方定期更换密钥,并同步所述密钥库中的密钥信息。所述客户端(服务消费方)预先对所述待校验令牌采用第二实时密钥进行加密,所述第二实时密钥的密钥种子与所述第一实时密钥的密钥种子相同。

  可以理解的是,所述密钥种子用于生成实时密钥,相同的密钥种子生成的实时密钥相同,因此在本发明实施例中,利用所述企业服务总线平台和所述服务消费方双方拥有相同的密钥种子,能够通过该密钥种子生成的实时密钥去解密所述待校验令牌,从而能够确定所述待检验令牌是否与对应的客户端匹配。其中,所述服务消费方的密钥库可参考表1,所述企业服务总线平台的密钥库可参考表2,所述服务消费方或所述企业服务总线平台会不定期会更换其自身的密钥种子,此时对应的在所述企业服务总线平台或所述服务消费方也会对应更换相同的密钥种子,从而能够通过该相同的密钥种子生成相同的第一实时密钥和第二实时密钥。

  表1服务消费方的密钥库

  表2企业服务总线平台的密钥库

  具体地,在步骤S12中,获取所述待校验令牌中的标识符。

  具体地,在步骤S13中,基于所述标识符判断所述待校验令牌是否已被使用过。所述企业服务总线平台设有令牌记录表,所述令牌记录表用于记录已使用过的令牌。所述令牌记录表可参考表3。在JWT标准中,已签发的令牌无法被注销,如果不加以限制,令牌会被不可控的重复使用,不利于平台安全稳定高效的运行。因此,在本发明实施例中,所述企业服务总线平台对每次处理的待校验令牌的标识符进行甄别,不响应已存在的令牌请求,能够避免重放攻击。

  表3令牌记录表

  示例性的,所述企业服务总线平台在令牌记录表中查询是否有与所述待校验令牌的标识符相同的已记录标识符;若是,则判定所述待校验令牌已被使用过;若否,则判定所述待校验令牌未被使用过。

  具体地,在步骤S14中,当所述待校验令牌未被使用过时,此时进一步判断所述待校验令牌是否满足预设的令牌合规性条件。其中,所述令牌合规性条件包括:

  a、所述待检验令牌的生成时间早于预设的请求送达时间;

  b、所述待检验令牌未超过其有效使用时间;其中,所述有效使用时间根据所述生成时间和预设的误差时间得到;所述误差时间可为用户自定义的时间,在此不做具体限定,比如当所述生成时间为:2020-04-20,12:21:53,所述误差时间为1s,则所述有效使用时间为:2020-04-20,12:21:54。

  c、所述标识符为预先分配给所述客户端的标识符。

  示例性的,若所述待检验令牌的生成时间晚于请求送达企业服务总线平台的请求送达时间,则所述待检验令牌可能在送达所述企业服务总线平台被拦截,此时到达的所述企业服务总线平台的待校验令牌为第三方重新生成的伪造令牌。若所述待校验令牌在送达所述企业服务总线平台后,已经超过其自身的有效使用时间,则所述待检验令牌可能为第三方重新生成的伪造令牌,所述有效使用时间的设定能够限制请求被第三方篡改后继续送达企业服务总线平台的可操作空间。若所述待检验令牌的标识符不是企业服务总线平台预分配的标识符,所述待检验令牌也可能为伪造令牌,对标识符进行判定能够避免非认证系统冒用他人身份。

  具体地,在步骤S15中,当所述待校验令牌满足所述令牌合规性条件时,判定所述待校验令牌验证成功,此时所述企业服务总线平台可响应所述服务消费方的后续步骤;当所述待校验令牌不满足所述令牌合规性条件时,判定所述待校验令牌验证失败。

  进一步地,上述步骤S11~S15、S101~S105的过程可参考图3。

  与现有技术相比,本发明实施例公开的令牌校验方法,首先对待校验令牌的完整性进行校验,能够剔除不完整的令牌,确保令牌的完整性;其次采用实时密钥的方式对待校验令牌进行解密,能够辨别该令牌是否由受信端发出的;同时利用标识符剔除重复使用的令牌,能够避免重放攻击;最后判断待校验令牌是否满足令牌合规性条件,可以有效防止令牌泄漏后被滥用。由于在令牌检验的过程中,充分考虑了令牌完整性判断、匹配判断、重复使用判断以及合规性判断,相比于现有的校验流程更为复杂和严谨,从而能够提高网络访问进程的安全性。

  参见图4,图4是本发明实施例提供的一种令牌校验装置100的结构示意图;所述令牌校验装置100包括:

  待校验令牌获取模块10,用于响应于客户端发送的服务请求,获取所述服务请求中的待校验令牌;

  标识符获取模块20,用于获取所述待校验令牌中的标识符;

  令牌重复使用判断模块30,用于基于所述标识符判断所述待校验令牌是否已被使用过;

  令牌合规性判断模块40,用于当所述待校验令牌未被使用过时,判断所述待校验令牌是否满足预设的令牌合规性条件;其中,所述令牌合规性条件包括所述待检验令牌的生成时间早于预设的请求送达时间;若是,则判定所述待校验令牌验证成功;若否,则判定所述待校验令牌验证失败。

  可选地,所述令牌合规性条件还包括以下至少一种:

  所述待检验令牌未超过其有效使用时间;其中,所述有效使用时间根据所述生成时间和预设的误差时间得到;

  所述标识符为预先分配给所述客户端的标识符。

  进一步地,参见图5,图5是本发明实施例提供的另一种令牌校验装置100的结构示意图;所述令牌校验装置100还包括:

  完整性判断模块50,用于判断所述待校验令牌的组成部分是否完整;若不完整,则判定所述待校验令牌验证失败;

  实时密钥获取模块60,用于在密钥库中获取与所述待校验令牌对应的第一实时密钥;其中,所述客户端预先对所述待校验令牌采用第二实时密钥进行加密,所述第二实时密钥的密钥种子与所述第一实时密钥的密钥种子相同;

  解密判断模块70,用于判断利用所述第一实时密钥是否能够对所述待校验令牌进行解密;若不能解密,则判定所述待校验令牌验证失败。

  值得说明的是,具体的所述令牌校验装置100中各个模块的工作过程可参考上述实施例所述的令牌校验方法的工作过程,在此不再赘述。

  与现有技术相比,本发明实施例公开的令牌校验装置100,首先对待校验令牌的完整性进行校验,能够剔除不完整的令牌,确保令牌的完整性;其次采用实时密钥的方式对待校验令牌进行解密,能够辨别该令牌是否由受信端发出的;同时利用标识符剔除重复使用的令牌,能够避免重放攻击;最后判断待校验令牌是否满足令牌合规性条件,可以有效防止令牌泄漏后被滥用。由于在令牌检验的过程中,充分考虑了令牌完整性判断、匹配判断、重复使用判断以及合规性判断,相比于现有的校验流程更为复杂和严谨,从而能够提高网络访问进程的安全性。

  参见图6,图6是本发明实施例提供的一种令牌校验设备200的结构示意图;令牌校验设备200包括:处理器21、存储器22以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如行驶控制程序。所述处理器21执行所述计算机程序时实现上述令牌校验方法实施例中的步骤,例如图1所示的步骤S11~S15。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块的功能,例如待校验令牌获取模块10。

  示例性的,所述计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器22中,并由所述处理器21执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述令牌校验设备200中的执行过程。例如,所述计算机程序可以被分割成待校验令牌获取模块10、标识符获取模块20、令牌重复使用判断模块30、令牌合规性判断模块40、完整性判断模块50、实时密钥获取模块60和解密判断模块70,具体的各个模块的工作过程可参考上述实施例所述的令牌校验装置100的工作过程,在此不再赘述。

  所述令牌校验设备200可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述令牌校验设备200可包括,但不仅限于,处理器21、存储器22。本领域技术人员可以理解,所述示意图仅仅是图像增强设备的示例,并不构成对令牌校验设备200的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述令牌校验设备200还可以包括输入输出设备、网络接入设备、总线等。

  所称处理器21可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器21是所述令牌校验设备200的控制中心,利用各种接口和线路连接整个令牌校验设备200的各个部分。

  所述存储器22可用于存储所述计算机程序和/或模块,所述处理器21通过运行或执行存储在所述存储器22内的计算机程序和/或模块,以及调用存储在存储器22内的数据,实现所述令牌校验设备200的各种功能。所述存储器22可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

  其中,所述令牌校验设备200集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。

  以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

《令牌校验方法、装置、设备及存储介质.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)