CN108259502A - 用于获取接口访问权限的鉴定方法、服务端及存储介质 - Google Patents

用于获取接口访问权限的鉴定方法、服务端及存储介质 Download PDF

Info

Publication number
CN108259502A
CN108259502A CN201810086667.6A CN201810086667A CN108259502A CN 108259502 A CN108259502 A CN 108259502A CN 201810086667 A CN201810086667 A CN 201810086667A CN 108259502 A CN108259502 A CN 108259502A
Authority
CN
China
Prior art keywords
random number
authentication request
time
server
token
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
CN201810086667.6A
Other languages
English (en)
Other versions
CN108259502B (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.)
Ping An Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management 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 Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN201810086667.6A priority Critical patent/CN108259502B/zh
Publication of CN108259502A publication Critical patent/CN108259502A/zh
Application granted granted Critical
Publication of CN108259502B publication Critical patent/CN108259502B/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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

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)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种用于获取接口访问权限的鉴定方法、服务端和存储介质,该方法包括:响应客户端发起的鉴权请求,并确定请求类型,类型为包括固定码和第一时间戳的首次鉴权请求以及包括反馈的随机数的二次鉴权请求;在鉴权请求为首次鉴权请求时,判断请求中的固定码和第一时间戳是否符合预设鉴权条件;在鉴权请求为二次鉴权请求时,判断请求中的随机数是否与当前服务端中的动态更新的随机数序列中的随机数匹配;在固定码和第一时间戳符合预设鉴权条件时,或在二次鉴权请求中的随机数与当前服务端中随机数序列中的一个随机数匹配,确定接口访问权限获取成功时,基于随机数序列创建包含一随机数的令牌,并将令牌返回给所述客户端。本发明鉴权速度快。

Description

用于获取接口访问权限的鉴定方法、服务端及存储介质
技术领域
本发明涉及鉴权领域,尤其涉及用于获取接口访问权限的鉴定方法、鉴权服务端及计算机可读存储介质。
背景技术
随着信息安全技术的不断发展,验证用户是否拥有访问服务端或接口的权利的鉴权技术也在不断更新。目前当用户需要登录服务端获取数据时,需要在首次登录时通过登录用的客户端注册用户名和密码以请求登录,服务端收到请求后验证密码和用户名,如果验证成功,服务端端会签发一个固定的令牌给客户端。后续使用时通过该令牌作为鉴权的钥匙每次向服务端请求资源时带着服务端签发的令牌即可访问。但是如果不清楚请求方是谁的情况下,请求方没有用户名和密码则无法获取令牌,还需要新注册用户名和密码,鉴权速度慢。
发明内容
本发明的主要目的在于提供一种用于获取接口访问权限的鉴定方法、鉴权服务端和计算机可读存储介质,旨在解决首次登录时需要在客户端注册用户名和密码,鉴权速度慢的技术问题。
为实现上述目的,本发明提供一种用于获取接口访问权限的鉴定方法,包括步骤:
服务端响应客户端发起的鉴权请求,并确定所述鉴权请求的类型,所述鉴权请求的类型包括首次鉴权请求以及二次鉴权请求;其中,所述首次鉴权请求包括固定码和第一时间戳,所述二次鉴权请求包括服务端反馈的随机数;
在所述鉴权请求为首次鉴权请求时,所述服务端判断所述首次鉴权请求中的所述固定码和所述第一时间戳是否符合预设鉴权条件;
在所述固定码和所述第一时间戳符合预设鉴权条件时,所述服务端基于动态更新的随机数序列创建令牌,并将创建的所述令牌返回给所述客户端,所述令牌包含一随机数;
在所述鉴权请求为二次鉴权请求时,所述服务端判断所述客户端发送的二次鉴权请求中的所述随机数是否与当前服务端中的动态更新的随机数序列中的任一个随机数匹配;
在所述二次鉴权请求中的所述随机数与当前服务端中的动态更新的随机数序列中的一个随机数匹配时,确定所述接口访问权限获取成功,所述服务端基于动态更新的随机数序列创建令牌,并将创建的所述令牌返回给所述客户端,所述令牌包含一随机数。
可选地,所述动态更新的随机数序列中的随机数的数量为固定的预设值,每个所述随机数为18个字符长度,且均由阿拉伯数字和/或字母随机组合而成,每间隔预设时间所述服务端按照预设顺序更新替换掉所述随机数序列中的一个随机数;
所述服务端基于动态更新的随机数序列创建令牌的步骤包括:
所述服务端从固定数量的随机数序列中选择更新时间最近的随机数;
所述服务端根据所述被选择的随机数创建所述令牌。
可选地,所述服务端根据所述被选择的随机数创建所述令牌的步骤包括:
所述服务端通过AES对称加密算法对第二时间戳以及所述被选择的随机数进行加密以得到所述令牌。
可选地,其中,所述第二时间戳为当前服务端选择更新时间最近的随机数时所对应的时间。
可选地,所述在所述鉴权请求为二次鉴权请求时,所述服务端判断所述客户端发送的二次鉴权请求中的所述随机数是否与当前服务端中的动态更新的随机数序列中的任一个随机数匹配的步骤之后,还包括:
当所述二次鉴权请求中的所述随机数与所述随机数序列中的任一个随机数均不匹配时,所述服务端确定所述接口访问权限获取失败;
所述服务端反馈重置鉴权命令至所述客户端,以供所述客户端重新发起首次鉴权请求。
可选地,所述二次鉴权请求还包括第三时间戳;
所述在二次鉴权请求中的所述随机数与当前服务端中的动态更新的随机数序列中的一个随机数匹配时,确定所述接口访问权限获取成功的步骤包括:
在二次鉴权请求中的所述随机数与当前服务端中的动态更新的随机数序列中的一个随机数匹配时,判断所述二次鉴权请求中的所述第三时间戳是否与随机数序列中匹配的随机数对应的时间范围匹配;
当所述二次鉴权请求中的所述第三时间戳与随机数序列中匹配的随机数对应的时间范围匹配时,确定所述接口访问权限获取成功。
可选地,所述服务端判断所述首次鉴权请求中的所述固定码和所述第一时间戳是否符合预设鉴权条件的步骤包括:
所述服务端判断所述首次鉴权请求中的所述固定码是否与预存固定码匹配;
当所述首次鉴权请求中的所述固定码与预存固定码匹配时,判断所述首次鉴权请求中的所述第一时间戳与当前服务端的服务端时间的差值是否在预设范围;其中,当所述第一时间戳与当前服务端的服务端时间的差值在预设范围内时,所述固定码和所述第一时间戳符合预设鉴权条件。
此外,为实现上述目的,本发明还提供一种鉴权服务端,用于鉴定接口访问的权限,包括:
确定模块,用于响应客户端发起的鉴权请求,并确定所述鉴权请求的类型,所述鉴权请求的类型包括首次鉴权请求以及二次鉴权请求;其中,所述首次鉴权请求包括固定码和第一时间戳,所述二次鉴权请求包括服务端反馈的随机数;
第一判断模块,用于在所述鉴权请求为首次鉴权请求时,判断所述首次鉴权请求中的所述固定码和所述第一时间戳是否符合预设鉴权条件;
第一创建模块,用于在所述固定码和所述第一时间戳符合预设鉴权条件时,基于动态更新的随机数序列创建令牌,并将创建的所述令牌返回给所述客户端,所述令牌包含一随机数;
第二判断模块,还用于在所述鉴权请求为二次鉴权请求时,判断所述客户端发送的二次鉴权请求中的所述随机数是否与当前服务端中的动态更新的随机数序列中的任一个随机数匹配;
第二创建模块,用于在所述二次鉴权请求中的所述随机数与当前服务端中的动态更新的随机数序列中的一个随机数匹配时,确定所述接口访问权限获取成功,所述服务端基于动态更新的随机数序列创建令牌,并将创建的所述令牌返回给所述客户端,所述令牌包含一随机数。
此外,为实现上述目的,本发明还提供一种鉴权服务端,用于鉴定接口访问的权限,所述鉴权服务端包括:通信模块、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的用于获取接口访问权限的鉴定方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的用于获取接口访问权限的鉴定方法的步骤。
本发明提出的一种用于获取接口访问权限的鉴定方法、鉴权服务端及计算机可读存储介质,通过服务端响应客户端发起的鉴权请求,并确定所述鉴权请求的类型,所述鉴权请求的类型包括首次鉴权请求以及二次鉴权请求;其中,所述首次鉴权请求包括固定码和第一时间戳,所述二次鉴权请求包括服务端反馈的随机数;在所述鉴权请求为首次鉴权请求时,所述服务端判断所述首次鉴权请求中的所述固定码和所述第一时间戳是否符合预设鉴权条件;在所述固定码和所述第一时间戳符合预设鉴权条件时,所述服务端基于动态更新的随机数序列创建令牌,并将创建的所述令牌返回给所述客户端,所述令牌包含一随机数;在所述鉴权请求为二次鉴权请求时,所述服务端判断所述客户端发送的二次鉴权请求中的所述随机数是否与当前服务端中的动态更新的随机数序列中的任一个随机数匹配;在所述二次鉴权请求中的所述随机数与当前服务端中的动态更新的随机数序列中的一个随机数匹配时,确定所述接口访问权限获取成功,所述服务端基于动态更新的随机数序列创建令牌,并将创建的所述令牌返回给所述客户端,所述令牌包含一随机数。从而无需在客户端上注册用户名和密码以获取令牌实现鉴权,广泛适用于批量大规模鉴权的情况。再者,由于减少了注册用户名和密码的过程,因此提升了鉴权速度。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的结构示意图;
图2为本发明用于获取接口访问权限的鉴定方法第一实施例的流程示意图;
图3为本发明用于获取接口访问权限的鉴定方法第一实施例中步骤S20的细化流程示意图;
图4为本发明用于获取接口访问权限的鉴定方法第二实施例中步骤S30的细化流程示意图;
图5为本发明用于获取接口访问权限的鉴定方法第三实施例的流程示意图;
图6为本发明用于获取接口访问权限的鉴定方法第四实施例中步骤S50的细化流程示意图;
图7为本发明鉴权服务端的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参照图1,图1为本发明各个实施例中的鉴权服务端100的硬件结构示意图,在本发明所提供的鉴权服务端100中,可以包括通信模块10、存储器20及处理器30等部件。所述鉴权服务端100与客户端通信连接,所述鉴权服务端100可以是单独的专用于鉴定权限的系统,也可以是服务器,还可以是监控数据收集平台。其中,所述处理器30分别与所述存储器20和所述通信模块10连接,所述存储器20上存储有计算机程序,所述计算机程序同时被处理器30执行。
通信模块10,可通过网络与外部设备连接。通信模块10可以接收外部通讯设备发出的请求,还可广播事件、指令及信息至所述外部通讯设备。所述外部通讯设备可以是客户端或其他服务器,所述客户端例如可以是手机、电脑及电视机等电子设备。可选地,所述客户端上可以安装数据上报插件,用于将收集的数据上报给鉴权服务端100,还可以用于发送请求、接收信息以及调用接口获取数据。
存储器20,可用于存储软件程序以及各种数据。存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如鉴定权限)等;存储数据区可包括数据库,存储数据区可存储根据鉴权服务端100的使用所创建的数据或信息等。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器30,是鉴权服务端100的控制中心,利用各种接口和线路连接整个鉴权服务端100的各个部分,通过运行或执行存储在存储器20内的软件程序和/或模块,以及调用存储在存储器20内的数据,执行鉴权服务端100的各种功能和处理数据,从而对鉴权服务端100进行整体监控。处理器30可包括一个或多个处理单元;优选的,处理器30可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器30中。
尽管图1未示出,但上述鉴权服务端100还可以包括电路控制模块,用于与电源连接,保证其他部件的正常工作。所述鉴权服务端100还可以包括显示模块,用于从存储器20中提取数据进行前端页面和后端数据的展示。
本领域技术人员可以理解,图1中示出的鉴权服务端结构并不构成对鉴权服务端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
基于上述硬件结构,提出本发明方法各个实施例。
参照图2,在本发明用于获取接口访问权限的鉴定方法的第一实施例中,所述方法包括步骤:
步骤S10,服务端响应客户端发起的鉴权请求,并确定所述鉴权请求的类型,所述鉴权请求的类型包括首次鉴权请求以及二次鉴权请求;其中,所述首次鉴权请求包括固定码和第一时间戳,所述二次鉴权请求包括服务端反馈的随机数;
鉴权(Authentication)是指验证用户是否拥有访问的权限。在本实施例中,客户端需要获取接口访问权限时会发起鉴权请求,所述鉴权请求可以为HTTP(Hyper TextTransport Protocol,超文本传输协议)请求,服务端响应该鉴权请求后将确定鉴权请求的类型,其中,确认鉴权请求类型的方法可以根据鉴权请求包括的内容进行区分,或者还可以在鉴权请求中设置标识符进行区分。
当客户端首次申请访问API(Application Programming Interface,应用程序编程接口)或其他服务端接口时,或者客户端发送二次鉴权请求后权限获取失败时,可以向服务端发送包括固定码和第一时间戳的首次鉴权请求。当客户端首次鉴权通过,或者发起二次鉴权请求后权限获取成功时,可以发起包括服务端反馈的随机数的二次鉴权请求。
可选地,所述固定码和第一时间戳以及服务端反馈的随机数均可以存储在鉴权请求头部。需要说明的是,其中的固定码是指固定的字符,时间戳(Timestamp)是指能表示一份数据在某个特定时间之前已经存在的、完整的、可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间,本实施例中第一时间戳可以指鉴权请求的发生时间。
步骤S20,在所述鉴权请求为首次鉴权请求时,所述服务端判断所述首次鉴权请求中的所述固定码和所述第一时间戳是否符合预设鉴权条件;若是,则执行步骤S30;
可以按照接口的类型设定对应的预设鉴权条件,也可以仅设置一种预设鉴权条件。根据所述预设鉴权条件对首次鉴权请求中的固定码和第一时间戳进行判断的过程可以是:首先判断首次鉴权请求中的固定码和存储在存储器中的预存固定码是否匹配,当固定码与预存固定码匹配时,验证第一时间戳与当前服务端的服务端时间的差值是否在预设范围内,例如预设范围是3分钟。其中,判断固定码和存储在存储器中的预存固定码是否匹配的过程可以是判断固定码是否与多个预存固定码中的任一个一致,当一致时表示固定码与存储器中的预存固定码匹配。
请一并参照图3,所述步骤S20的步骤可以是:
步骤S21,所述服务端判断所述首次鉴权请求中的所述固定码是否与预存固定码匹配;若是,则执行步骤S22,;
步骤S22,判断所述首次鉴权请求中的所述第一时间戳与当前服务端的服务端时间的差值是否在预设范围;其中,当所述第一时间戳与当前服务端的服务端时间的差值在预设范围内时,所述固定码和所述第一时间戳符合预设鉴权条件。
步骤S30,所述服务端基于动态更新的随机数序列创建令牌,并将创建的所述令牌返回给所述客户端,所述令牌包含一随机数;
当首次鉴权请求中的固定码和第一时间戳符合预设鉴权条件时,第一次鉴权通过,此时接口访问权限不放开,服务端将根据动态更新的随机数创建包含一随机数的令牌,然后将该令牌反馈给客户端。进一步地,客户端接收到令牌后,还可以获取其中的随机数用于发起二次鉴权请求。
可选地,为了提高传输过程中令牌的安全性还可以对创建的令牌进行加密,例如可以采用MD5哈希算法进行加密,还可以采用加盐加密以及非对称加密算法进行加密等。相应地,如果服务端返回的令牌是经过加密的,那么客户端也需要通过相同的加密算法的密钥对返回的令牌进行解密,从而得到解密的令牌中的随机数。
步骤S40,在所述鉴权请求为二次鉴权请求时,所述服务端判断所述客户端发送的二次鉴权请求中的所述随机数是否与当前服务端中的动态更新的随机数序列中的任一个随机数匹配;若是,则执行步骤S50;
在客户端发送的鉴权请求为二次鉴权请求时,该二次鉴权请求中包括服务端返回给所述客户端的令牌中的一随机数。服务端判断所述二次鉴权请求中包含的随机数与当前服务端中动态更新的随机数序列中的任一随机数是否匹配,例如当前服务端的随机数序列由N个动态更新的随机数构成,每间隔M分钟将按照预设顺序更新随机数序列中的若干个随机数,当二次鉴权请求中的随机数与当前服务端中N个随机数中至少一个相同,则可以认为二次鉴权请求中包含的随机数与当前服务端中更新的随机数匹配;反之,如果都不相同,则可以认为服务端中动态更新的随机数序列中的随机数与二次鉴权请求中的随机数均不匹配,可能是因为发送二次鉴权请求的时间距离前一次发送鉴权请求的时间比较长,服务端的随机数已经全部更新,此时二次鉴权失败,可以确定接口访问权限获取失败。
步骤S50,确定所述接口访问权限获取成功,所述服务端基于动态更新的随机数序列创建令牌,并将创建的所述令牌返回给所述客户端,所述令牌包含一随机数。
当二次鉴权请求中的随机数与动态更新的随机数序列中的任一随机数匹配,表示客户端与当前服务端正在进行数据交互,且交互时间在服务端的所有随机数需要更新的时间内,当前验证有效,可以确定接口访问权限获取成功。
通过将固定码和第一时间戳作为首次鉴权验证的钥匙,相比通过客户端注册用户名和密码,无需提交注册流程,而且固定码和时间戳能增强签名难度,因此提高了鉴权的安全性和鉴权速度,适合大批量的鉴权且不知道请求方是谁的情况。此外,由于二次鉴权请求中由服务端创建的令牌中包括从动态更新的随机数序列中选择的一随机数,因此进一步使得用于验证是否可以获取接口访问权限的令牌具备随机性,也提高了接口访问权限鉴定的安全性。
进一步地,请继续参照图2,在其他实施例中,当所述步骤S20的判断结果为“所述固定码和所述第一时间戳不符合预设鉴权条件”时,执行步骤S60;
所述步骤S60,所述服务端确定所述接口访问权限获取失败。
其中当首次鉴权请求中的第一时间戳与当前服务端的服务端时间的差值不在预设范围内时或者当首次鉴权请求中的固定码与预存固定码不匹配时,该客户端确定接口访问权限获取失败。进一步地,还可以在确定接口权限获取失败后,监听客户端是否发起新的鉴权请求。通过过滤不符合预设鉴权条件的鉴权请求,帮助提高了接口访问的门槛,排除了不安全的客户端。
进一步地,基于本发明用于获取接口访问权限的鉴定方法的第一实施例提出本发明用于获取接口访问权限的鉴定方法的第二实施例,在本实施例中,所述动态更新的随机数序列中的随机数的数量为固定的预设值,每个随机数为18个字符长度,且均由阿拉伯数字和/或字母随机组合而成,每间隔预设时间所述服务端将按照预设顺序更新替换掉所述随机数序列中的一个随机数,例如随机数序列中的一个随机数可以为dfsdu2fsFIO85jf842。
参见图4,所述步骤S30可以包括:
步骤S31,所述服务端从固定数量的随机数序列中选择更新时间最近的随机数;
步骤S32,所述服务端根据所述被选择的随机数创建所述令牌。
若干个随机数可以存放在存储器中以表或堆栈等形式进行存放,摆放随机数的顺序可以是随机的,也可以按照更新时间进行摆放。例如,在若干个随机数组成的随机数序列中,随机数的更新时间是一分钟,可以按照从上到下的顺序,每分钟更新一个随机数。假设当前箭头指向的位置对应的是30秒前更新的随机数,其他随机数上次更新时对应的更新时间都超过了30秒,可以是1分30秒,2分30秒等等,此时则选择当前箭头指向的位置对应更新的随机数用于创建令牌。
通过设置长达18个字符长度,由数字和/或字母组成的动态更新的若干个随机数,并选择更新时间最近的随机数用于创建包含该随机数的令牌,能减小随机数的泄露,增强鉴权的安全性。
进一步地,在其他实施例中,所述步骤S32还可以包括:
所述服务端通过AES对称加密算法对第二时间戳以及所述被选择的随机数进行加密以得到所述令牌。
需要说明的是,为了防止在请求过程中服务端或客户端被攻击,使攻击者了解到令牌的生成规则,可以采用AES对称加密算法对第二时间戳以及选择的随机数进行加密,得到处理后的字符串,这样攻击者就无法轻易的破解令牌,加强了数据资源的安全性。
其中,所述第二时间戳为当前服务端选择更新时间最近的随机数时所对应的时间,可选地,还可以在客户端发起二次鉴权请求时将第二时间戳与被选择的随机数一起存入二次鉴权请求中,以使得服务端在进行被选择的随机数的标准判断后,还可以进一步确认第二时间戳是否符合时间范围,例如确认是否与当前随机数序列中与被选择的随机数匹配的随机数的更新时间对应。
需要说明的是,所述AES(The Advanced Encryption Standard)对称加密算法是指美国国家标准与技术研究所使用于加密电子数据的规范,AES是一个迭代的、对称密钥分组的密码,可以使用128、192、256密钥,并用16字节分组加密和解密数据。
进一步地,客户端在发送首次鉴权请求时也可以先将固定码和第一时间戳经过AES对称加密,然后将加密后的字符串发送给所述客户端。通过使用AES对称加密算法进行加密处理,使得黑客无法得知其规律,提高了校验安全性。
进一步地,基于本发明用于获取接口访问权限的鉴定方法的第一实施例提出本发明用于获取接口访问权限的鉴定方法的第三实施例,参见图5,在本实施例中,当所述步骤S40的判断结果为“所述二次鉴权请求中的所述随机数与所述随机数序列中的任一个随机数均不匹配”时,则执行以下步骤:
步骤S70,所述服务端确定所述接口访问权限获取失败;
本实施例是对第一实施例的进一步细化,本实施例的技术方案与第一实施例相比,其区别在于本实施例中新增了随机数与当前随机数序列中的任一随机数均不匹配后的情况。
若二次鉴权请求中的所述随机数与所述随机数序列中的任一个随机数均不匹配,则表示二次鉴权请求距离前一次鉴权请求的时间已经超过了随机数序列中全部随机数的更新时间,在此更新时间内发起二次鉴权请求的客户端与服务端没有进行交互,接口访问权限过期,或者可能本身申请二次鉴权的客户端为非法客户端,此时接口访问权限获取失败。
步骤S80,所述服务端反馈重置命令至所述客户端,以供所述客户端重新发起鉴权请求。
服务端可以在确定接口访问权限获取失败后,反馈重置命令至客户端,使客户端重新发起鉴权请求。可选地,客户端可以重新确认固定码和第一时间戳,也可以选择原本首次鉴权请求中的固定码和第一时间戳用于发起鉴权请求。
通过在二次鉴权失败后,反馈重置命令给客户端,使客户端及时了解鉴权结果,加快鉴权速度。
进一步地,基于本发明用于获取接口访问权限的鉴定方法的第一实施例提出本发明用于获取接口访问权限的鉴定方法的第四实施例,参见图6,在本实施例中,所述二次鉴权请求还包括第三时间戳;
所述步骤S50包括:
步骤S51,判断所述二次鉴权请求中的所述第三时间戳是否与随机数序列中匹配的随机数对应的时间范围匹配;若是,则执行步骤S52;
步骤S52,确定所述接口访问权限获取成功。
在本实施例中,可以在返回的二次鉴权请求中也添加时间戳进行验证,仅当二次鉴权请求中的随机数与第三时间戳均与服务端中对应的内容匹配时,才确定接口访问权限获取成功。其中,所述第三时间戳可以是创建令牌时的第二时间戳,也可以是二次鉴权请求的发生时间。
需要说明的是,服务端中与二次鉴权请求中的随机数及第三时间戳对应的内容之间也可以存在关联关系,即是服务端的随机数序列中所匹配的随机数对应有一定的时间范围。通过第三时间戳的对应验证,提高了接口权限获取的安全性。
本发明还提供一种鉴权服务端,用于鉴定接口访问的权限,参见图7,包括:
确定模块10,用于响应客户端发起的鉴权请求,并确定所述鉴权请求的类型,所述鉴权请求的类型包括首次鉴权请求以及二次鉴权请求;其中,所述首次鉴权请求包括固定码和第一时间戳,所述二次鉴权请求包括服务端反馈的随机数;
第一判断模块20,用于在所述鉴权请求为首次鉴权请求时,判断所述首次鉴权请求中的所述固定码和所述第一时间戳是否符合预设鉴权条件;
第一创建模块30,用于在所述固定码和所述第一时间戳符合预设鉴权条件时,基于动态更新的随机数序列创建令牌,并将创建的所述令牌返回给所述客户端,所述令牌包含一随机数;
第二判断模块40,还用于在所述鉴权请求为二次鉴权请求时,判断所述客户端发送的二次鉴权请求中的所述随机数是否与当前服务端中的动态更新的随机数序列中的任一个随机数匹配;
第二创建模块50,用于在所述二次鉴权请求中的所述随机数与当前服务端中的动态更新的随机数序列中的一个随机数匹配时,确定所述接口访问权限获取成功,所述服务端基于动态更新的随机数序列创建令牌,并将创建的所述令牌返回给所述客户端,所述令牌包含一随机数。
在另一实施例中,所述动态更新的随机数序列中的随机数的数量为固定的预设值,每个所述随机数为18个字符长度,且均由阿拉伯数字和/或字母随机组合而成,每间隔预设时间所述服务端按照预设顺序更新替换掉所述随机数序列中的一个随机数;
所述第一创建模块30,包括:
选择单元31,用于从固定数量的随机数序列中选择更新时间最近的随机数;
创建单元32,用于根据所述被选择的随机数创建所述令牌。
在又一实施例中,所述创建单元32,还用于通过AES对称加密算法对第二时间戳以及所述被选择的随机数进行加密以得到所述令牌。
在又一实施例中,所述第二时间戳为当前服务端选择更新时间最近的随机数时所对应的时间。
在又一实施例中,所述鉴权服务端还包括反馈模块60:
所述确定模块10,还用于当所述二次鉴权请求中的所述随机数与所述随机数序列中的任一个随机数均不匹配时,确定所述接口访问权限获取失败;
所述反馈模块60,用于反馈重置鉴权命令至所述客户端,以供所述客户端重新发起首次鉴权请求。
在又一实施例中,所述二次鉴权请求还包括第三时间戳;
所述第二创建模块50包括:
第一判断单元51,用于在二次鉴权请求中的所述随机数与当前服务端中的动态更新的随机数序列中的一个随机数匹配时,判断所述二次鉴权请求中的所述第三时间戳是否与随机数序列中匹配的随机数对应的时间范围匹配;
确定单元52,用于当所述二次鉴权请求中的所述第三时间戳与随机数序列中匹配的随机数对应的时间范围匹配时,确定所述接口访问权限获取成功。
在又一实施例中,所述第一判断模块20包括:
第二判断单元21,用于判断所述首次鉴权请求中的所述固定码是否与预存固定码匹配;
第三判断单元22,用于当所述首次鉴权请求中的所述固定码与预存固定码匹配时,判断所述首次鉴权请求中的所述第一时间戳与当前服务端的服务端时间的差值是否在预设范围;其中,当所述第一时间戳与当前服务端的服务端时间的差值在预设范围内时,所述固定码和所述第一时间戳符合预设鉴权条件。
本发明还提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述用于获取接口访问权限的鉴定方法的全部步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者服务端不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者服务端所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者服务端中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种用于获取接口访问权限的鉴定方法,其特征在于,包括步骤:
服务端响应客户端发起的鉴权请求,并确定所述鉴权请求的类型,所述鉴权请求的类型包括首次鉴权请求以及二次鉴权请求;其中,所述首次鉴权请求包括固定码和第一时间戳,所述二次鉴权请求包括服务端反馈的随机数;
在所述鉴权请求为首次鉴权请求时,所述服务端判断所述首次鉴权请求中的所述固定码和所述第一时间戳是否符合预设鉴权条件;
在所述固定码和所述第一时间戳符合预设鉴权条件时,所述服务端基于动态更新的随机数序列创建令牌,并将创建的所述令牌返回给所述客户端,所述令牌包含一随机数;
在所述鉴权请求为二次鉴权请求时,所述服务端判断所述客户端发送的二次鉴权请求中的所述随机数是否与当前服务端中的动态更新的随机数序列中的任一个随机数匹配;
在所述二次鉴权请求中的所述随机数与当前服务端中的动态更新的随机数序列中的一个随机数匹配时,确定所述接口访问权限获取成功,所述服务端基于动态更新的随机数序列创建令牌,并将创建的所述令牌返回给所述客户端,所述令牌包含一随机数。
2.如权利要求1所述的用于获取接口访问权限的鉴定方法,其特征在于,所述动态更新的随机数序列中的随机数的数量为固定的预设值,每个所述随机数为18个字符长度,且均由阿拉伯数字和/或字母随机组合而成,每间隔预设时间所述服务端按照预设顺序更新替换掉所述随机数序列中的一个随机数;
所述服务端基于动态更新的随机数序列创建令牌的步骤包括:
所述服务端从固定数量的随机数序列中选择更新时间最近的随机数;
所述服务端根据所述被选择的随机数创建所述令牌。
3.如权利要求2所述的用于获取接口访问权限的鉴定方法,其特征在于,所述服务端根据所述被选择的随机数创建所述令牌的步骤包括:
所述服务端通过AES对称加密算法对第二时间戳以及所述被选择的随机数进行加密以得到所述令牌。
4.如权利要求3所述的用于获取接口访问权限的鉴定方法,其特征在于,其中,所述第二时间戳为当前服务端选择更新时间最近的随机数时所对应的时间。
5.如权利要求1所述的用于获取接口访问权限的鉴定方法,其特征在于,所述在所述鉴权请求为二次鉴权请求时,所述服务端判断所述客户端发送的二次鉴权请求中的所述随机数是否与当前服务端中的动态更新的随机数序列中的任一个随机数匹配的步骤之后,还包括:
当所述二次鉴权请求中的所述随机数与所述随机数序列中的任一个随机数均不匹配时,所述服务端确定所述接口访问权限获取失败;
所述服务端反馈重置鉴权命令至所述客户端,以供所述客户端重新发起首次鉴权请求。
6.如权利要求1所述的用于获取接口访问权限的鉴定方法,其特征在于,所述二次鉴权请求还包括第三时间戳;
所述在二次鉴权请求中的所述随机数与当前服务端中的动态更新的随机数序列中的一个随机数匹配时,确定所述接口访问权限获取成功的步骤包括:
在二次鉴权请求中的所述随机数与当前服务端中的动态更新的随机数序列中的一个随机数匹配时,判断所述二次鉴权请求中的所述第三时间戳是否与随机数序列中匹配的随机数对应的时间范围匹配;
当所述二次鉴权请求中的所述第三时间戳与随机数序列中匹配的随机数对应的时间范围匹配时,确定所述接口访问权限获取成功。
7.如权利要求1所述的用于获取接口访问权限的鉴定方法,其特征在于,所述服务端判断所述首次鉴权请求中的所述固定码和所述第一时间戳是否符合预设鉴权条件的步骤包括:
所述服务端判断所述首次鉴权请求中的所述固定码是否与预存固定码匹配;
当所述首次鉴权请求中的所述固定码与预存固定码匹配时,判断所述首次鉴权请求中的所述第一时间戳与当前服务端的服务端时间的差值是否在预设范围;其中,当所述第一时间戳与当前服务端的服务端时间的差值在预设范围内时,所述固定码和所述第一时间戳符合预设鉴权条件。
8.一种鉴权服务端,用于鉴定接口访问的权限,其特征在于,包括:
确定模块,用于响应客户端发起的鉴权请求,并确定所述鉴权请求的类型,所述鉴权请求的类型包括首次鉴权请求以及二次鉴权请求;其中,所述首次鉴权请求包括固定码和第一时间戳,所述二次鉴权请求包括服务端反馈的随机数;
第一判断模块,用于在所述鉴权请求为首次鉴权请求时,判断所述首次鉴权请求中的所述固定码和所述第一时间戳是否符合预设鉴权条件;
第一创建模块,用于在所述固定码和所述第一时间戳符合预设鉴权条件时,基于动态更新的随机数序列创建令牌,并将创建的所述令牌返回给所述客户端,所述令牌包含一随机数;
第二判断模块,还用于在所述鉴权请求为二次鉴权请求时,判断所述客户端发送的二次鉴权请求中的所述随机数是否与当前服务端中的动态更新的随机数序列中的任一个随机数匹配;
第二创建模块,用于在所述二次鉴权请求中的所述随机数与当前服务端中的动态更新的随机数序列中的一个随机数匹配时,确定所述接口访问权限获取成功,所述服务端基于动态更新的随机数序列创建令牌,并将创建的所述令牌返回给所述客户端,所述令牌包含一随机数。
9.一种鉴权服务端,用于鉴定接口访问的权限,其特征在于,所述鉴权服务端包括:通信模块、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的用于获取接口访问权限的鉴定方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的用于获取接口访问权限的鉴定方法的步骤。
CN201810086667.6A 2018-01-29 2018-01-29 用于获取接口访问权限的鉴定方法、服务端及存储介质 Active CN108259502B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810086667.6A CN108259502B (zh) 2018-01-29 2018-01-29 用于获取接口访问权限的鉴定方法、服务端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810086667.6A CN108259502B (zh) 2018-01-29 2018-01-29 用于获取接口访问权限的鉴定方法、服务端及存储介质

Publications (2)

Publication Number Publication Date
CN108259502A true CN108259502A (zh) 2018-07-06
CN108259502B CN108259502B (zh) 2020-12-04

Family

ID=62743609

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810086667.6A Active CN108259502B (zh) 2018-01-29 2018-01-29 用于获取接口访问权限的鉴定方法、服务端及存储介质

Country Status (1)

Country Link
CN (1) CN108259502B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109639629A (zh) * 2018-10-30 2019-04-16 平安科技(深圳)有限公司 数据访问处理方法、装置、计算机设备和存储介质
CN110224974A (zh) * 2019-04-26 2019-09-10 平安科技(深圳)有限公司 基于第三方接入的接口鉴权方法及相关设备
CN110263574A (zh) * 2019-06-06 2019-09-20 深圳前海微众银行股份有限公司 数据管理方法、装置、系统及可读存储介质
CN110708291A (zh) * 2019-09-10 2020-01-17 平安普惠企业管理有限公司 分布式网络中数据授权访问方法、装置、介质及电子设备
CN111259445A (zh) * 2020-01-16 2020-06-09 深圳市元征科技股份有限公司 一种数据库平台访问方法、装置、设备、介质
CN112016082A (zh) * 2020-10-26 2020-12-01 成都掌控者网络科技有限公司 一种权限清单安全控制方法
CN112398824A (zh) * 2020-11-03 2021-02-23 珠海格力电器股份有限公司 一种权限校验方法、存储介质及电子设备
WO2021068963A1 (zh) * 2019-10-12 2021-04-15 深圳市道通科技股份有限公司 云端服务访问的方法、云端服务器及终端
CN112699350A (zh) * 2020-12-30 2021-04-23 中国邮政储蓄银行股份有限公司 登录验证方法及装置
CN113505397A (zh) * 2021-07-27 2021-10-15 中国工商银行股份有限公司 授权方法、服务器、系统及存储介质
US20210359992A1 (en) * 2018-09-18 2021-11-18 Allstate Insurance Company Authenticating devices via tokens and verification computing devices
CN117650950A (zh) * 2024-01-30 2024-03-05 浙江省电子信息产品检验研究院(浙江省信息化和工业化融合促进中心) 安全通信方法与装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040078571A1 (en) * 2000-12-27 2004-04-22 Henry Haverinen Authentication in data communication
CN102546532A (zh) * 2010-12-07 2012-07-04 中国移动通信集团公司 能力调用方法、请求装置、平台及系统
CN104052602A (zh) * 2013-03-16 2014-09-17 国际商业机器公司 利用单点登录结合命令行接口防止密码泄漏
CN105634743A (zh) * 2015-12-30 2016-06-01 中国银联股份有限公司 用于开放接口调用的认证方法
CN106302346A (zh) * 2015-05-27 2017-01-04 阿里巴巴集团控股有限公司 Api调用的安全认证方法、装置、系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040078571A1 (en) * 2000-12-27 2004-04-22 Henry Haverinen Authentication in data communication
CN102546532A (zh) * 2010-12-07 2012-07-04 中国移动通信集团公司 能力调用方法、请求装置、平台及系统
CN104052602A (zh) * 2013-03-16 2014-09-17 国际商业机器公司 利用单点登录结合命令行接口防止密码泄漏
CN106302346A (zh) * 2015-05-27 2017-01-04 阿里巴巴集团控股有限公司 Api调用的安全认证方法、装置、系统
CN105634743A (zh) * 2015-12-30 2016-06-01 中国银联股份有限公司 用于开放接口调用的认证方法

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210359992A1 (en) * 2018-09-18 2021-11-18 Allstate Insurance Company Authenticating devices via tokens and verification computing devices
US11811754B2 (en) * 2018-09-18 2023-11-07 Allstate Insurance Company Authenticating devices via tokens and verification computing devices
CN109639629A (zh) * 2018-10-30 2019-04-16 平安科技(深圳)有限公司 数据访问处理方法、装置、计算机设备和存储介质
CN110224974A (zh) * 2019-04-26 2019-09-10 平安科技(深圳)有限公司 基于第三方接入的接口鉴权方法及相关设备
CN110224974B (zh) * 2019-04-26 2022-08-30 平安科技(深圳)有限公司 基于第三方接入的接口鉴权方法及相关设备
CN110263574A (zh) * 2019-06-06 2019-09-20 深圳前海微众银行股份有限公司 数据管理方法、装置、系统及可读存储介质
CN110708291A (zh) * 2019-09-10 2020-01-17 平安普惠企业管理有限公司 分布式网络中数据授权访问方法、装置、介质及电子设备
WO2021068963A1 (zh) * 2019-10-12 2021-04-15 深圳市道通科技股份有限公司 云端服务访问的方法、云端服务器及终端
CN111259445B (zh) * 2020-01-16 2022-04-19 深圳市元征科技股份有限公司 一种数据库平台访问方法、装置、设备、介质
CN111259445A (zh) * 2020-01-16 2020-06-09 深圳市元征科技股份有限公司 一种数据库平台访问方法、装置、设备、介质
CN112016082A (zh) * 2020-10-26 2020-12-01 成都掌控者网络科技有限公司 一种权限清单安全控制方法
CN112398824B (zh) * 2020-11-03 2021-12-14 珠海格力电器股份有限公司 一种权限校验方法、存储介质及电子设备
CN112398824A (zh) * 2020-11-03 2021-02-23 珠海格力电器股份有限公司 一种权限校验方法、存储介质及电子设备
CN112699350A (zh) * 2020-12-30 2021-04-23 中国邮政储蓄银行股份有限公司 登录验证方法及装置
CN112699350B (zh) * 2020-12-30 2024-02-27 中国邮政储蓄银行股份有限公司 登录验证方法及装置
CN113505397A (zh) * 2021-07-27 2021-10-15 中国工商银行股份有限公司 授权方法、服务器、系统及存储介质
CN117650950A (zh) * 2024-01-30 2024-03-05 浙江省电子信息产品检验研究院(浙江省信息化和工业化融合促进中心) 安全通信方法与装置
CN117650950B (zh) * 2024-01-30 2024-04-19 浙江省电子信息产品检验研究院(浙江省信息化和工业化融合促进中心) 安全通信方法与装置

Also Published As

Publication number Publication date
CN108259502B (zh) 2020-12-04

Similar Documents

Publication Publication Date Title
CN108259502A (zh) 用于获取接口访问权限的鉴定方法、服务端及存储介质
CN108200050B (zh) 单点登录服务器、方法及计算机可读存储介质
CN111917773B (zh) 业务数据处理方法、装置和服务器
US9794235B2 (en) Systems and methods for encrypted communication in a secure network
CN107948204B (zh) 一键登录方法及系统、相关设备以及计算机可读存储介质
EP3346660B1 (en) Authentication information update method and device
CN107302539B (zh) 一种电子身份注册及认证登录的方法及其系统
CN103873454B (zh) 一种认证方法及设备
US20120204245A1 (en) Secure authentication using one-time passwords
US9015819B2 (en) Method and system for single sign-on
CN112671720B (zh) 一种云平台资源访问控制的令牌构造方法、装置及设备
KR101451359B1 (ko) 사용자 계정 회복
CN103986584A (zh) 基于智能设备的双因子身份验证方法
US9124571B1 (en) Network authentication method for secure user identity verification
US11757877B1 (en) Decentralized application authentication
CN110113355A (zh) 物联网云端的接入方法及装置
KR102372503B1 (ko) 탈중앙화 아이디 앱을 이용하여 인증 서비스를 제공하는 방법 및 이를 이용한 탈중앙화 아이디 인증 서버
CN104125230A (zh) 一种短信认证服务系统以及认证方法
CN111460410A (zh) 服务器登录方法、装置、系统与计算机可读存储介质
CN111918287A (zh) 一种信息处理方法和装置
CN111405016B (zh) 用户信息获取方法及相关设备
CN116915493A (zh) 安全登录方法、装置、系统、计算机设备和存储介质
CN112929388B (zh) 网络身份跨设备应用快速认证方法和系统、用户代理设备
KR20050071768A (ko) 원타임 패스워드 서비스 시스템 및 방법
CN109981677A (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