CN114401110B - 请求认证方法、系统、计算机设备和可读存储介质 - Google Patents

请求认证方法、系统、计算机设备和可读存储介质 Download PDF

Info

Publication number
CN114401110B
CN114401110B CN202111517778.6A CN202111517778A CN114401110B CN 114401110 B CN114401110 B CN 114401110B CN 202111517778 A CN202111517778 A CN 202111517778A CN 114401110 B CN114401110 B CN 114401110B
Authority
CN
China
Prior art keywords
request
signature
call request
call
account
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
CN202111517778.6A
Other languages
English (en)
Other versions
CN114401110A (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.)
DBAPPSecurity Co Ltd
Original Assignee
DBAPPSecurity 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 DBAPPSecurity Co Ltd filed Critical DBAPPSecurity Co Ltd
Priority to CN202111517778.6A priority Critical patent/CN114401110B/zh
Publication of CN114401110A publication Critical patent/CN114401110A/zh
Application granted granted Critical
Publication of CN114401110B publication Critical patent/CN114401110B/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

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

Abstract

本申请涉及一种请求认证方法、系统、计算机设备和可读存储介质,其中,该请求认证方法包括:接收调用请求,调用请求包括账户ID和原始请求签名;根据调用请求计算得到最新请求签名,将最新请求签名和原始请求签名进行比对;当最新请求签名和原始请求签名一致时,则通过验证,并将账户ID传递至业务逻辑。通过本申请,解决了在对HTTP请求认证时接口直接暴露在外部导致自身系统存有安全漏洞的问题,实现精准防篡改的用户身份识别。

Description

请求认证方法、系统、计算机设备和可读存储介质
技术领域
本申请涉及信息技术领域,特别是涉及一种请求认证方法、系统、计算机设备和可读存储介质。
背景技术
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议,HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。
目前,HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求,WEB服务器根据接收到的请求后,向客户端发送响应信息。在HTTP请求交互过程中,为了防止请求参数被拦截篡改,因此一般会对请求参数进行加签,且在对HTTP请求进行认证时,通常是将用户权限和签名校验等作为普通的应用程序编程接口进行调用,而这种方式直接将接口暴露在外部,使得自身的系统存有安全漏洞。
目前针对相关技术中在对HTTP请求认证时接口直接暴露在外部导致自身系统存有安全漏洞的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种请求认证方法、系统、计算机设备和可读存储介质,以至少解决相关技术中在对HTTP请求认证时接口直接暴露在外部导致自身系统存有安全漏洞的问题。
第一方面,本申请实施例提供了一种请求认证方法,包括:
接收调用请求,所述调用请求包括账户ID和原始请求签名;
根据所述调用请求计算得到最新请求签名,将所述最新请求签名和原始请求签名进行比对;
当所述最新请求签名和原始请求签名一致时,则通过验证,并将所述账户ID传递至业务逻辑。
在其中一些实施例中,根据所述调用请求中是否携带Token信息判断所述调用请求的请求类型,所述调用请求的请求类型为WEB调用请求和服务端调用请求的其中一种。
在其中一些实施例中,当所述调用请求中未携带Token信息时,则确定所述调用请求为服务端调用请求,所述服务端调用请求包括请求发起时间、账户ID、请求URL和客户端计算的原始请求签名;
确定所述调用请求为服务端调用请求之后,所述方法还包括:
根据所述账户ID、请求URL和请求发起时间计算得到当前请求签名,并将所述当前请求签名和客户端计算的原始请求签名进行比对;
当所述当前请求签名和客户端计算的原始请求签名一致时,则通过验证,并将所述账户ID传递至业务逻辑。
在其中一些实施例中,当所述调用请求中携带Token信息时,则确定所述调用请求为WEB调用请求,所述WEB调用请求包括Json数据和数据签名;
确定所述调用请求为WEB调用请求之后,所述方法还包括:
根据所述Json数据进行计算,得到本次验证签名,所述Json数据包括生效时间、失效时间以及账户ID;
将所述本次验证签名和数据签名进行比对,当所述本次验证和数据签名一致时,则确定所述Token信息有效,通过验证,并将所述账户ID传递至业务逻辑。
在其中一些实施例中,所述根据账户ID、请求URL和请求发起时间计算得到当前请求签名之后,所述方法还包括:
检查所述请求发起时间与当前时间的时间间隔是否在预设范围内,当所述时间间隔在所述预设范围内,则确定所述服务端调用请求为有效请求,并继续完成验证操作;
当所述时间间隔超过所述预设范围,则确定所述调用请求为失效请求,并将所述调用请求返回至调用端。
第二方面,本申请实施例提供了一种请求认证系统,包括:
接收模块,用于接收调用请求,所述调用请求包括账户ID和原始请求签名;
比对模块,用于根据所述调用请求计算得到最新请求签名,将所述最新请求签名和原始请求签名进行比对;
验证模块,用于当所述最新请求签名和原始请求签名一致时,则通过验证,并将所述账户ID传递至业务逻辑。
在其中一些实施例中,根据所述调用请求中是否携带Token信息判断所述调用请求的请求类型,所述调用请求的请求类型为WEB调用请求和服务端调用请求的其中一种。
在其中一些实施例中,所述系统还包括:
第一确定模块,用于当调用请求中未携带Token信息时,则确定所述调用请求为服务端调用请求,所述服务端调用请求包括请求发起时间、账户ID、请求URL和客户端计算的原始请求签名;
第一计算模块,用于根据所述账户ID、请求URL和请求发起时间计算得到当前请求签名,并将所述当前请求签名和客户端计算的原始请求签名进行比对;
第一传递模块,用于当所述当前请求签名和客户端计算的原始请求签名一致时,则通过验证,并将所述账户ID传递至业务逻辑。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的请求认证方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的请求认证方法。
相比于相关技术,本申请实施例提供的请求认证方法,在客户端发起调用请求时携带原始请求签名并置于调用请求的请求头中,然后服务端接收到调用请求,并根据特定的计算规则对调用请求进行计算得到最新请求签名,将最新请求签名和原始请求签名进行比对,以判断所述调用请求是否被篡改,解决了在对HTTP请求认证时接口直接暴露在外部导致自身系统存有安全漏洞的问题,实现精准防篡改的用户身份识别。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请第一实施例的请求认证方法的流程图;
图2是根据本申请第二实施例的请求认证方法的流程图;
图3是根据本申请第三实施例的请求认证系统的结构框图;
图4是根据本申请第四实施例的请求认证系统的结构框图;
图5是根据本申请第五实施例的计算机设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本申请第一实施例提供了一种请求认证方法。图1是本申请实施例的请求认证方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,接收调用请求,所述调用请求包括账户ID和原始请求签名;
其中,基于HTTP协议,客户端发送HTTP请求,服务端提供接口接收并返回相关响应信息,在本实施例中,所述调用请求为HTTP请求,显而易见的,HTTP请求包括请求头、请求头和请求正文,请求头中会存有请求参数、账户ID和原始请求签名。
步骤S102,根据所述调用请求计算得到最新请求签名,将所述最新请求签名和原始请求签名进行比对;
其中,所述最新请求签名是通过服务端接收到所述调用请求,服务端通过特定的计算规则计算得来的,通过将所述最新请求签名和原始请求签名进行比对,方便判断所述调用请求是否被篡改过,能够防止一定的安全风险。
步骤S103,当所述最新请求签名和原始请求签名一致时,则通过验证,并将所述账户ID传递至业务逻辑。
其中,当计算得到本次请求的所述最新请求签名和客户端发起请求时所携带的原始请求签名一致时,则可以确实该调用请求未被篡改,也就是说能够通过验证,并将所述账户ID传递至业务逻辑,通过业务逻辑执行所述调用请求中的业务。
通过上述步骤,在客户端发起所述调用请求时携带所述原始请求签名并置于所述调用请求的请求头中,然后服务端接收到所述调用请求,并根据特定的计算规则对所述调用请求进行计算得到所述最新请求签名,将所述最新请求签名和所述原始请求签名进行比对,以判断所述调用请求是否被篡改,解决了在对HTTP请求认证时接口直接暴露在外部导致自身系统存有安全漏洞的问题,实现精准防篡改的用户身份识别。
本申请第二实施例还提供了一种请求认证方法。图2是本申请第二实施例的请求认证方法的流程图,如图2所示,该流程包括如下步骤:
步骤S201,接收调用请求,检查所述调用请求中是否携带Token信息;
其中,若所述调用请求中并未携带Token信息,则说明发送所述调用请求的发起端为服务端,也就是说,服务端调用并对请求的权限鉴权,所述调用请求确定为服务端调用请求,需要说明的是,若所述调用请求中携带Token信息,则说明所述调用请求的发起端为客户端,后续对请求验证的操作另做设定。
步骤S202,当所述调用请求中未携带Token信息时,则确定所述调用请求为服务端调用请求,所述服务端调用请求包括请求发起时间、账户ID、请求URL和客户端计算的原始请求签名;
步骤S203,根据所述账户ID、请求URL和请求发起时间计算得到当前请求签名,并将所述当前请求签名和客户端计算的原始请求签名进行比对;
其中,所述客户端计算的原始请求签名和所述当前请求签名这两者所利用的计算规则时一致的,但不同的是,前者是客户端进行的,后者是服务端进行的,即客户端计算的原始请求签名是在客户端发起请求使所计算得到的,所述当前请求签名是基于服务端接收到请求并计算得来的,通过将所述客户端计算的原始请求签名和所述当前请求签名进行比对,以判断所述调用请求是否被篡改。
步骤S204,当所述当前请求签名和客户端计算的原始请求签名一致时,则通过验证,并将所述账户ID传递至业务逻辑。
其中,所述账户ID是通过客户端产生并传递至服务端,由服务端接收去使用的,当所述当前请求签名和客户端计算的原始请求签名一致时,则说明所述调用请求未被篡改,由此得到所述调用请求通过验证。
通过上述步骤,在对所述调用请求进行认证时,根据所述调用请求中是否携带Token信息以确定所述调用请求的类型,并当所述调用请求未携带Token信息时,在所述调用请求中置入客户端计算的原始请求签名,并将服务端接收到请求后计算的所述当前请求签名与客户端计算的原始请求签名进行比对,以判断是否能够通过验证,这种方式不仅能够对应用程序编程接口的调用方进行访问鉴权,同时还能利用同一个接口将服务端调用和客户端调用兼容在一起,也就是说,一个接口同时支持服务端调用和客户端调用两者业务模式,以进行双模校验处理,解决了在对HTTP请求认证时接口直接暴露在外部导致自身系统存有安全漏洞的问题,实现了精准防篡改的用户身份识别,权限时效校验以及更高安全度的单次请求的数据防篡改校验。
在其中一些实施例中,所述根据账户ID、请求URL和请求发起时间计算得到当前请求签名之后,所述方法还包括:
检查所述请求发起时间与当前时间的时间间隔是否在预设范围内,当所述时间间隔在所述预设范围内,则确定所述服务端调用请求为有效请求,并继续完成验证操作;
当所述时间间隔超过所述预设范围,则确定所述服务端调用请求为失效请求,并将所述服务端调用请求返回至调用端。
其中,所述预设范围可以进行自定义设置,通过将所述请求发起时间与当前时间确实时间间隔,然后判断时间间隔是否落入在预设范围内,以此实现权限时效校验,且能够有效地阻止单个有效请求频繁重复调用,以此避免恶意刷单行为。
在其中一些实施例中,当所述调用请求中携带Token信息时,则确定所述调用请求为WEB调用请求,所述WEB调用请求包括Json数据和数据签名;
确定所述调用请求为WEB调用请求之后,所述方法还包括:
根据所述Json数据进行计算,得到本次验证签名,所述Json数据包括生效时间、失效时间以及账户ID;
将所述本次验证签名和数据签名进行比对,当所述本次验证和数据签名一致时,则确定所述Token信息有效,通过验证,并将所述账户ID传递至业务逻辑。
其中,所述Json数据和数据签名其实是一个整体,然后置入所述WEB调用请求的请求头中,通过从所述Token信息中单独提出所述Json数据,并根据所述Json数据利用服务端提供的签名计算规则计算得到所述本次请求的本次验证签名,所述本次验证签名和数据签名进行比对,以对所述WEB调用请求进行验证,如果通过验证,则正常访问相应的服务端。
在其中一些实施例中,所述将本次验证签名和数据签名进行比对之后,所述方法还包括:
当所述本次验证签名和数据签名不一致时,则确定所述Token信息已过期,并返回错误值至相应的发起端。
其中,当所述本次验证签名和数据签名不一致时,说明该请求可能被恶意篡改,因此禁止访问相应的数据,并返回相应的错误信息至发起端。
在其中一些实施例中,所述根据调用请求是否携带Token信息以确定所述调用请求的发起端,所述发起端为客户端或服务端的其中一种;
当所述调用请求携带所述Token信息时,则确定所述发起端为客户端;
当所述调用请求未携带所述Token信息时,则确定所述发起端为服务端。
其中,当所述调用请求携带所述Token信息时,则所述发起端为客户端,且发送所述WEB调用请求,当所述调用请求未携带所述Token信息时,则发起端为服务端,且发送服务端调用请求。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本申请的一个较佳实施例中,上述调用请求的双模认证流程如下:
接收调用请求,检查所述调用请求是否携带Token信息;
如果所述调用请求未携带Token信息,则确定所述调用请求为服务端调用请求,所述服务端调用请求包括请求发起时间、账户ID、请求URL和客户端计算的原始请求签名;根据所述账户ID、请求URL和请求发起时间计算得到当前请求签名,并将所述当前请求签名和客户端计算的原始请求签名进行比对;当所述当前请求签名和客户端计算的原始请求签名一致时,则通过验证,并将所述账户ID传递至业务逻辑;
如果所述调用请求中携带Token信息,则确定所述调用请求为WEB调用请求,所述WEB调用请求包括Json数据和数据签名;根据所述Json数据进行计算,得到本次验证签名,所述Json数据包括生效时间、失效时间以及账户ID;将所述本次验证签名和数据签名进行比对,当所述本次验证和数据签名一致时,则确定所述Token信息有效,通过验证,并将所述账户ID传递至业务逻辑。
在本实施例中,不仅能够对应用程序编程接口的调用方进行访问鉴权,同时还能利用同一个接口将服务端调用和客户端调用兼容在一起,也就是说,一个接口同时支持服务端调用和客户端调用两者业务模式,以进行双模校验处理,实现精准防篡改的用户身份识别,权限时效校验以及更高安全度的单次请求的数据防篡改校验。
本申请第三实施例还提供了一种请求认证系统,该系统用于实现上述第一实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本申请第三实施例的请求认证系统的结构框图,如图3所示,该系统包括:
接收模块10,用于接收调用请求,所述调用请求包括账户ID和原始请求签名;
比对模块20,用于根据所述调用请求计算得到最新请求签名,将所述最新请求签名和原始请求签名进行比对;
验证模块30,用于当所述最新请求签名和原始请求签名一致时,则通过验证,并将所述账户ID传递至业务逻辑。
通过上述步骤,在客户端发起所述调用请求时携带所述原始请求签名并置于所述调用请求的请求头中,然后服务端接收到所述调用请求,并根据特定的计算规则对所述调用请求进行计算得到所述最新请求签名,将所述最新请求签名和所述原始请求签名进行比对,以判断所述调用请求是否被篡改,解决了在对HTTP请求认证时接口直接暴露在外部导致自身系统存有安全漏洞的问题,实现精准防篡改的用户身份识别。
本申请第四实施例还提供了一种请求认证系统,该系统用于实现上述第二实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本申请第四实施例的请求认证系统的结构框图,如图4所示,该系统包括:
检查模块100,用于接收调用请求,检查所述调用请求中是否携带Token信息;
第一确定模块200,用于当所述调用请求中未携带Token信息时,则确定所述调用请求为服务端调用请求,所述服务端调用请求包括请求发起时间、账户ID、请求URL和客户端计算的原始请求签名;
第一计算模块300,用于根据所述账户ID、请求URL和请求发起时间计算得到当前请求签名,并将所述当前请求签名和客户端计算的原始请求签名进行比对;
第一传递模块400,当所述当前请求签名和客户端计算的原始请求签名一致时,则通过验证,并将所述账户ID传递至业务逻辑。
通过上述步骤,在对所述调用请求进行认证时,根据所述调用请求中是否携带Token信息以确定所述调用请求的类型,并当所述调用请求未携带Token信息时,在所述调用请求中置入客户端计算的原始请求签名,并将服务端接收到请求后计算的所述当前请求签名与客户端计算的原始请求签名进行比对,以判断是否能够通过验证,这种方式不仅能够对应用程序编程接口的调用方进行访问鉴权,同时还能利用同一个接口将服务端调用和客户端调用兼容在一起,进行双模校验处理,解决了在对HTTP请求认证时接口直接暴露在外部导致自身系统存有安全漏洞的问题,实现了精准防篡改的用户身份识别,权限时效校验以及更高安全度的单次请求的数据防篡改校验。
在其中一些实施例中,所述第一计算模块300之后,所述系统还包括:
有效模块,用于检查所述请求发起时间与当前时间的时间间隔是否在预设范围内,当所述时间间隔在所述预设范围内,则确定所述服务端调用请求为有效请求,并继续完成验证操作;
失效模块,用于当所述时间间隔超过所述预设范围,则确定所述服务端调用请求为失效请求,并将所述服务端调用请求返回至调用端。
在其中一些实施例中,所述检查模块100之后,所述系统还包括:
第二确定模块,用于当所述调用请求中携带Token信息时,则确定所述调用请求为WEB调用请求,所述WEB调用请求包括Json数据和数据签名;
第二计算模块,用于根据所述Json数据进行计算,得到本次验证签名,所述Json数据包括生效时间、失效时间以及账户ID;
第二传递模块,用于将所述本次验证签名和数据签名进行比对,当所述本次验证和数据签名一致时,则确定所述Token信息有效,通过验证,并将所述账户ID传递至业务逻辑。
在其中一些实施例中,所述系统还包括:
返回模块,用于当所述本次验证签名和数据签名不一致时,则确定所述Token信息已过期,并返回错误值至相应的发起端。
在其中一些实施例中,所述根据调用请求是否携带Token信息以确定所述调用请求的发起端,所述发起端为客户端或服务端的其中一种;
当所述调用请求携带所述Token信息时,则确定所述发起端为客户端;
当所述调用请求未携带所述Token信息时,则确定所述发起端为服务端。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
另外,结合图1描述的本申请实施例请求认证方法可以由计算机设备来实现。图5为根据本申请第五实施例的计算机设备的硬件结构示意图。
计算机设备可以包括处理器51以及存储有计算机程序指令的存储器52。
具体地,上述处理器51可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器52可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器52可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(SolidState Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(Universal SerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器52可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器52可在数据处理装置的内部或外部。在特定实施例中,存储器52是非易失性(Non-Volatile)存储器。在特定实施例中,存储器52包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(RandomAccess Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(Erasable ProgrammableRead-Only Memory,简称为EPROM)、电可擦除PROM(Electrically Erasable ProgrammableRead-Only Memory,简称为EEPROM)、电可改写ROM(Electrically Alterable Read-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-Access Memory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode Dynamic Random Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(Extended Date Out Dynamic RandomAccess Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
存储器52可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器51所执行的可能的计算机程序指令。
处理器51通过读取并执行存储器52中存储的计算机程序指令,以实现上述实施例中的任意一种请求认证方法。
在其中一些实施例中,计算机设备还可包括通信接口53和总线50。其中,如图5所示,处理器51、存储器52、通信接口53通过总线50连接并完成相互间的通信。
通信接口53用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信接口53还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
总线50包括硬件、软件或两者,将计算机设备的部件彼此耦接在一起。总线50包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(Control Bus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线50可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(Front Side Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、外围组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线50可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该计算机设备可以基于获取到的计算机程序,执行本申请实施例中的请求认证方法,从而实现结合图1描述的请求认证方法。
另外,结合上述实施例中的请求认证方法,本申请实施例可提供一种可读存储介质来实现。该可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种请求认证方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (6)

1.一种请求认证方法,其特征在于,包括:
接收调用请求,所述调用请求包括账户ID和原始请求签名;
根据所述调用请求计算得到最新请求签名,将所述最新请求签名和原始请求签名进行比对;
当所述最新请求签名和原始请求签名一致时,则通过验证,并将所述账户ID传递至业务逻辑;
根据所述调用请求中是否携带Token信息判断所述调用请求的请求类型,所述调用请求的请求类型为WEB调用请求和服务端调用请求的其中一种;
当所述调用请求中未携带Token信息时,则确定所述调用请求为服务端调用请求,所述服务端调用请求包括请求发起时间、账户ID、请求URL和客户端计算的原始请求签名;
确定所述调用请求为服务端调用请求之后,所述方法还包括:
根据所述账户ID、请求URL和请求发起时间计算得到当前请求签名,并将所述当前请求签名和客户端计算的原始请求签名进行比对;
其中,所述最新请求签名包括所述当前请求签名;
当所述当前请求签名和客户端计算的原始请求签名一致时,则通过验证,并将所述账户ID传递至业务逻辑。
2.根据权利要求1所述的请求认证方法,其特征在于,当所述调用请求中携带Token信息时,则确定所述调用请求为WEB调用请求,所述WEB调用请求包括Json数据和数据签名;
所述原始请求签名包括所述数据签名;
确定所述调用请求为WEB调用请求之后,所述方法还包括:
根据所述Json数据进行计算,得到本次验证签名,所述Json数据包括生效时间、失效时间以及账户ID,所述最新请求签名还包括所述本次验证签名;
将所述本次验证签名和数据签名进行比对,当所述本次验证和数据签名一致时,则确定所述Token信息有效,通过验证,并将所述账户ID传递至业务逻辑。
3.根据权利要求2所述的请求认证方法,其特征在于,所述根据账户ID、请求URL和请求发起时间计算得到当前请求签名之后,所述方法还包括:
检查所述请求发起时间与当前时间的时间间隔是否在预设范围内,当所述时间间隔在所述预设范围内,则确定所述服务端调用请求为有效请求,并继续完成验证操作;
当所述时间间隔超过所述预设范围,则确定所述调用请求为失效请求,并将所述调用请求返回至调用端。
4.一种请求认证系统,其特征在于,包括:
接收模块,用于接收调用请求,所述调用请求包括账户ID和原始请求签名;
比对模块,用于根据所述调用请求计算得到最新请求签名,将所述最新请求签名和原始请求签名进行比对;
验证模块,用于当所述最新请求签名和原始请求签名一致时,则通过验证,并将所述账户ID传递至业务逻辑;
根据所述调用请求中是否携带Token信息判断所述调用请求的请求类型,所述调用请求的请求类型为WEB调用请求和服务端调用请求的其中一种;
所述系统还包括:
第一确定模块,用于当调用请求中未携带Token信息时,则确定所述调用请求为服务端调用请求,所述服务端调用请求包括请求发起时间、账户ID、请求URL和客户端计算的原始请求签名;
第一计算模块,用于根据所述账户ID、请求URL和请求发起时间计算得到当前请求签名,并将所述当前请求签名和客户端计算的原始请求签名进行比对,其中,所述最新请求签名包括所述当前请求签名;
第一传递模块,用于当所述当前请求签名和客户端计算的原始请求签名一致时,则通过验证,并将所述账户ID传递至业务逻辑。
5.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3中任一项所述的请求认证方法。
6.一种可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至3中任一项所述的请求认证方法。
CN202111517778.6A 2021-12-13 2021-12-13 请求认证方法、系统、计算机设备和可读存储介质 Active CN114401110B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111517778.6A CN114401110B (zh) 2021-12-13 2021-12-13 请求认证方法、系统、计算机设备和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111517778.6A CN114401110B (zh) 2021-12-13 2021-12-13 请求认证方法、系统、计算机设备和可读存储介质

Publications (2)

Publication Number Publication Date
CN114401110A CN114401110A (zh) 2022-04-26
CN114401110B true CN114401110B (zh) 2024-05-28

Family

ID=81227484

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111517778.6A Active CN114401110B (zh) 2021-12-13 2021-12-13 请求认证方法、系统、计算机设备和可读存储介质

Country Status (1)

Country Link
CN (1) CN114401110B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2584940A1 (en) * 2007-04-13 2008-10-13 Cognos Incorporated Method and system for stateless validation
CN104144161A (zh) * 2014-07-08 2014-11-12 北京彩云动力教育科技有限公司 一种客户端与web服务端的交互方法及系统
CN107135073A (zh) * 2016-02-26 2017-09-05 北京京东尚科信息技术有限公司 接口调用方法和装置
CN108809988A (zh) * 2018-06-14 2018-11-13 北京中电普华信息技术有限公司 一种请求的认证方法及系统
CN110855624A (zh) * 2019-10-18 2020-02-28 平安科技(深圳)有限公司 基于web接口的安全校验方法及相关设备
CN112019493A (zh) * 2019-05-31 2020-12-01 北京京东尚科信息技术有限公司 身份认证方法、身份认证装置、计算机设备和介质
CN112583606A (zh) * 2020-12-16 2021-03-30 深圳市欢太科技有限公司 安全校验方法及服务器、终端、存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2584940A1 (en) * 2007-04-13 2008-10-13 Cognos Incorporated Method and system for stateless validation
CN104144161A (zh) * 2014-07-08 2014-11-12 北京彩云动力教育科技有限公司 一种客户端与web服务端的交互方法及系统
CN107135073A (zh) * 2016-02-26 2017-09-05 北京京东尚科信息技术有限公司 接口调用方法和装置
CN108809988A (zh) * 2018-06-14 2018-11-13 北京中电普华信息技术有限公司 一种请求的认证方法及系统
CN112019493A (zh) * 2019-05-31 2020-12-01 北京京东尚科信息技术有限公司 身份认证方法、身份认证装置、计算机设备和介质
CN110855624A (zh) * 2019-10-18 2020-02-28 平安科技(深圳)有限公司 基于web接口的安全校验方法及相关设备
CN112583606A (zh) * 2020-12-16 2021-03-30 深圳市欢太科技有限公司 安全校验方法及服务器、终端、存储介质

Also Published As

Publication number Publication date
CN114401110A (zh) 2022-04-26

Similar Documents

Publication Publication Date Title
CN110784450A (zh) 一种基于浏览器的单点登录方法和装置
CN112491776B (zh) 安全认证方法及相关设备
CN111191212B (zh) 基于区块链的数字凭证处理方法、装置、设备和存储介质
CN114513350B (zh) 身份校验方法、系统和存储介质
CN114257440B (zh) 网络功能服务发现方法、系统以及存储介质
CN114422139B (zh) Api网关请求安全验证方法、装置、电子设备及计算机可读介质
CN109145651B (zh) 一种数据处理方法及装置
CN111177741A (zh) 一种基于企业浏览器的预授权数据访问方法和装置
CN111241523B (zh) 认证处理方法、装置、设备和存储介质
CN110489957B (zh) 访问请求的管理方法和计算机存储介质
CN112149097B (zh) 身份认证方法、装置、设备及存储介质
CN110866827B (zh) 一种通证处理方法、装置、存储介质及服务器
CN114401110B (zh) 请求认证方法、系统、计算机设备和可读存储介质
CN110943827B (zh) 一种基于网络协议的数据获取方法及装置
CN112152993A (zh) 网页劫持的检测方法、装置、计算机设备以及存储介质
CN107995214B (zh) 一种网站登录方法及相关设备
CN111355583B (zh) 一种业务提供系统、方法、装置、电子设备及存储介质
CN115118625B (zh) 一种数据校验方法和装置
CN111104653A (zh) 用户操作的处理方法、装置、电子设备及可读存储介质
CN109428869B (zh) 钓鱼攻击防御方法和授权服务器
CN109672756A (zh) 一种数据传输方法及相关装置、服务器和存储介质
CN110875895A (zh) 实现智能终端软件登录的方法、系统、设备、及车辆
CN114338060A (zh) 一种权限校验方法、装置、系统、设备及存储介质
CN112787989B (zh) 一种签名方法及装置
CN112543454B (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