CN111404695A - 令牌请求验证方法和装置 - Google Patents

令牌请求验证方法和装置 Download PDF

Info

Publication number
CN111404695A
CN111404695A CN202010183636.XA CN202010183636A CN111404695A CN 111404695 A CN111404695 A CN 111404695A CN 202010183636 A CN202010183636 A CN 202010183636A CN 111404695 A CN111404695 A CN 111404695A
Authority
CN
China
Prior art keywords
request
token
service identification
product service
signature
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
CN202010183636.XA
Other languages
English (en)
Other versions
CN111404695B (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.)
AI Speech Ltd
Original Assignee
AI Speech 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 AI Speech Ltd filed Critical AI Speech Ltd
Priority to CN202010183636.XA priority Critical patent/CN111404695B/zh
Publication of CN111404695A publication Critical patent/CN111404695A/zh
Application granted granted Critical
Publication of CN111404695B publication Critical patent/CN111404695B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • 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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

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

Abstract

本发明公开令牌请求验证方法和装置,其中,一种令牌请求验证方法,包括获取用户的令牌请求,令牌请求中包括所述用户提供的公钥、第一产品服务标识ID、请求时间戳和第一签名;基于用户提供的公钥以及请求时间戳生成第二签名和第二产品服务标识ID;验证第一签名和第二签名是否一致,以及验证第一产品服务标识ID与第二产品服务标识ID是否一致;以及返回令牌请求处理结果。本申请实施例的方案通过首先要求与令牌请求验证装置匹配的用户端生成包含预设信息的令牌请求,之后在获取该令牌请求后,基于从令牌请求中提取的信息可以生成用于验证令牌请求的信息,从而利用后续生成的信息对之前令牌请求中的信息进行验证,最后返回令牌验证结果。

Description

令牌请求验证方法和装置
技术领域
本发明属于请求处理技术领域,尤其涉及令牌请求验证方法和装置。
背景技术
现有技术中,目前市面上,比较流行的API调用授权验证有下面两种:1、百度使用的国际通用oauth-token的形式;2、阿里云使用的学习自AWS的公私钥access-token形式。
上面提到的两种方式都是基于请求中携带验证令牌的方式来对请求进行权限与调用校验。唯一不同的区别是在令牌生成的逻辑与请求验证逻辑。
对于第一种国际通用的oauth2形式,需要在获取请求的携带用户的关键信息(比如密码或私钥),服务端在接收到请求后,根据请求中的用户验证信息做校验并生成随机令牌。
对于第二种学习自AWS的公私钥access-token形式则是在摒弃了第一种直接传递用户敏感数据的方式。在对申请令牌的请求做部分加密或签名,同时在服务端做相同的操作来检查加密或签名部分是否一致来达到校验请求的效果。
发明人在实现本申请的过程中发现,现有方案至少存在以下缺陷:
对于第一种oauth2的形式,在Http的请求中会明文传输用户敏感数据,存在非常大的暴露用户敏感数据的风险。
对于第二种形式,主要缺陷在于构建获取令牌的请求时,对报文的加密逻辑复杂,通常需要引入服务供应商的第三方工具包来完成。引入了额外的系统性风险。
发明内容
本发明实施例提供一种令牌请求验证方法及装置,用于至少解决上述技术问题之一。
第一方面,本发明实施例提供一种令牌请求验证方法,包括:获取用户的令牌请求,其中,所述令牌请求中包括所述用户提供的公钥、第一产品服务标识ID、请求时间戳和第一签名;基于所述用户提供的公钥以及所述请求时间戳生成第二签名和第二产品服务标识ID;验证所述第一签名和所述第二签名是否一致,以及验证所述第一产品服务标识ID与所述第二产品服务标识ID是否一致;以及返回令牌请求处理结果。
第二方面,本发明实施例提供一种令牌请求验证装置,包括:令牌请求获取模块,配置为获取用户的令牌请求,其中,所述令牌请求中包括所述用户提供的公钥、第一产品服务标识ID、请求时间戳和第一签名;生成模块,配置为基于所述用户提供的公钥以及所述请求时间戳生成第二签名和第二产品服务标识ID;验证模块,配置为验证所述第一签名和所述第二签名是否一致,以及验证所述第一产品服务标识ID与所述第二产品服务标识ID是否一致;以及结果返回模块,配置为返回令牌请求处理结果。
第三方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的令牌请求验证方法的步骤。
第四方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行本发明任一实施例的令牌请求验证方法的步骤。
本申请的方法和装置提供的方案通过首先要求与令牌请求验证装置匹配的用户端生成包含预设信息的令牌请求,之后在获取该令牌请求后,基于从令牌请求中提取的信息可以生成用于验证令牌请求的信息,从而利用后续生成的信息对之前令牌请求中的信息进行验证,最后返回令牌验证结果。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种令牌请求验证方法的流程图;
图2为本发明一实施例提供的另一种令牌请求验证方法的流程图;
图3为本发明一实施例提供的令牌请求验证流程的一具体示例的多端交互图;
图4为本发明一实施例提供的令牌请求验证流程的一具体示例的签名验证流程图;
图5为本发明一实施例提供的令牌请求验证流程的一具体示例业务请求验证流程图;
图6为本发明一实施例提供的一种令牌请求验证装置的框图;
图7是本发明一实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,其示出了本申请的令牌请求验证方法一实施例的流程图,本实施例的令牌请求验证方法可以适用于对用户的请求进行鉴权和验证,本申请在此没有限制。
如图1所示,在步骤101中,获取用户的令牌请求,其中,所述令牌请求中包括所述用户提供的公钥、第一产品服务标识ID、请求时间戳和第一签名;
在步骤102中,基于所述用户提供的公钥以及所述请求时间戳生成第二签名和第二产品服务标识ID;
在步骤103中,验证所述第一签名和所述第二签名是否一致,以及验证所述第一产品服务标识ID与所述第二产品服务标识ID是否一致;
在步骤104中,返回令牌请求处理结果。
在本实施例中,对于步骤101,令牌请求验证装置首先会获取到用户发来的令牌请求,该令牌请求中一般会包括该用户提供的公钥、第一产品服务标识ID、请求时间戳以及第一签名,该格式是令牌请求装置对发送过来的令牌请求的基本要求,即每一个由用户端生成并发送过来的令牌请求都需要携带这些信息。
之后,对于步骤102,令牌请求验证装置可以根据从令牌请求中提取的用户提供的公钥以及请求时间戳生成与之相关的第二签名和第二产品服务标识ID。然后,对于步骤103,令牌请求验证装置会验证改第二签名与之前令牌请求中携带的第一签名是否一致,以及验证改第二产品服务标识ID与之前令牌请求中携带的第一产品服务标识ID是否一致。最后,对于步骤104,令牌请求验证装置将根据之前的验证返回令牌请求处理结果。
本实施例的方法通过首先要求与令牌请求验证装置匹配的用户端生成包含预设信息的令牌请求,之后在获取该令牌请求后,基于从令牌请求中提取的信息可以生成用于验证令牌请求的信息,从而利用后续生成的信息对之前令牌请求中的信息进行验证,最后返回令牌验证结果。
请参考图2,其示出了本申请的令牌请求验证方法另一实施例的流程图。本实施例的方法主要应用与在令牌请求通过之后处理用户发来的业务请求的流程步骤。
如图2所示,在步骤201中,获取用户的业务请求,其中,所述业务请求包括请求头;
在步骤202中,从所述请求头中获取令牌与第三产品服务标识ID;
在步骤203中,通过所述令牌获取与所述令牌绑定的第四产品服务标识ID;
在步骤204中,响应于获取所述第四产品服务标识ID成功,检查获取的所述第四产品服务标识ID与所述用户的业务请求中附带的第三产品服务标识ID是否一致;
在步骤205中,若一致,转发所述用户的业务请求至与所述业务请求对应的业务服务器。
在本实施例中,对于步骤201,令牌请求验证装置首先获取用户的业务请求,该业务请求的请求头中包含第三产品服务标识ID和令牌,该第三产品服务标识ID和令牌可以是与之前处理令牌请求返回的令牌验证结果相关。之后,对于步骤202,令牌请求验证装置从该业务请求的请求头中获取令牌与该第三产品服务标识ID。然后,对于步骤203,令牌请求验证装置通过从该业务请求中提取的令牌获取与该令牌绑定的第四产品服务ID。
之后,对于步骤204,响应于成功获取与所述令牌绑定的第四产品服务标识ID,检查获取的该第四产品服务标识ID与之前业务请求中附带的第三产品服务标识ID是否一致。然后,对于步骤205,若第四产品服务标识ID与第三产品服务标识ID一致,则转发该用户的业务请求至与该业务请求对应的业务服务器进行业务处理。
本实施例的方法通过在令牌请求验证通过后,从相应的令牌处理结果中提取令牌和第三产品服务标识ID,之后又通过令牌获取与该令牌绑定的第四产品服务标识ID,获取成功的话,通过比对该第四产品服务标识ID与第三产品服务标识ID是否一致,来决定是否要将业务请求转到相应的业务服务器进行处理。
在一些可选的实施例中,所述基于所述用户提供的公钥以及所述请求时间戳生成第二签名和第二产品服务标识ID包括:提取令牌请求中的请求信息,其中,所述请求信息包括所述用户提供的公钥、第一产品服务标识ID、请求时间戳和第一签名;以及使用所述用户提供的公钥获取第二产品服务标识ID;从而可以从令牌请求中的一些信息间接获取第二签名和第二产品服务标识ID。
所述验证所述第一签名和所述第二签名是否一致,以及验证所述第一产品服务标识ID与所述第二产品服务标识ID是否一致包括:检验所述令牌请求中的所述第一产品服务标识ID是否与所述第二产品服务标识ID一致;若所述第一产品服务标识ID与所述第二产品服务标识ID一致,验证所述请求时间戳是否超时;若所述请求时间戳不超时,使用数据库中公私钥与所述请求时间戳生成第二签名;验证所述第二签名与所述第一签名是否一致;以及若所述第二签名与所述第一签名一致,生成随机UUID作为令牌,并缓存所述UUID和所述第一产品服务标识ID;从而可以通过验证签名是否一致,产品服务标识ID是否一致以及请求时间戳是否超时来验证令牌请求。
所述返回令牌请求处理结果包括:返回所述令牌与所述请求时间戳。从而在令牌请求验证通过时,返回相应的令牌和请求时间戳。
在一些可选的实施例中,在所述检验所述令牌请求中的所述第一产品服务标识ID是否与所述第二产品服务标识ID一致之后,所述方法还包括:若所述第一产品服务标识ID与所述第二产品服务标识ID不一致,返回错误结果。从而对于产品服务标识ID不一致的情况,说明验证不通过,返回错误结果。
在另一些可选的实施例中,在所述验证所述请求时间戳是否超时之后,所述方法还包括:若所述请求时间戳超时,返回错误结果。从而对于请求时间戳超时的情况,说明令牌请求验证不通过,返回错误结果。
在另一些可选的实施例中,在所述验证所述第二签名与所述第一签名是否一致之后,所述方法还包括:若所述第二签名与所述第一签名不一致,返回错误结果。从而对于签名不一致的情况,说明令牌请求验证不通过,返回错误结果。
进一步可选的,在所述通过所述令牌获取与所述令牌绑定的产品服务识别ID之后,所述方法还包括:响应于获取所述产品服务标识ID失败,返回错误结果。从而对于业务请求处理阶段,若无法获取与令牌绑定的产品服务标识ID,或者获取失败时,之后将无法进行后续处理,返回错误结果。
进一步可选的,在所述检查获取的第四产品服务标识ID与所述用户的业务请求中附带的第三产品服务标识ID是否一致之后,所述方法还包括:若不一致,返回错误结果。从而对于业务请求处理阶段,若获取的第四产品服务标识ID与业务请求中自带的第三产品服务标识ID不一致,说明业务请求验证不通过,返回错误结果。
下面对通过描述发明人在实现本发明的过程中遇到的一些问题和对最终确定的方案的一个具体实施例进行说明,以使本领域技术人员更好地理解本申请的方案。
发明人在实现本申请的过程中发现,相关技术中存在的以上缺陷主要是由于以下内容导致的:Oauth技术为国际通用标准,因而对于加密逻辑与算法的不适合做整齐划定。第二种技术是为了规避Oauth明文传输报文的风险,引入的复杂加密算法的同时,引入了额外的系统复杂度。
本领域技术人员在解决上述技术问题时,之所以不容易想到本申请的技术方案,主要是因为Oauth2.0为国际通用方案,在Https协议下不存在暴露信息的风险,而且作为平台的openAPI统一鉴权标准,Oauth2.0已经足够满足他们的需要。其次,阿里云方案对于接口权限的控制是面向整个阿里云平台接口的,没有业务ID的控制。所以如果要实现也会是在鉴权后服务端添加额外的逻辑来实现。
本申请一实施例的方案对于明文传输的部分,我们使用了HTTPS协议来保证报文加密;同时在传输报文中并不携带用户密钥,只传递通过用户密钥所计算出的加密签名,进一步降低了安全风险;同时在获取token时候就与用户业务ID绑定。Token与业务ID绑定。同时在请求时需要同时携带客户业务ID与请求令牌,网关通过读取分布式高速缓存中的token与对应业务ID做验证,同时将业务ID随请求传递至对应微服务。大大提高了网关的吞吐量。
请参考图3,其示出了本申请实施例所采用的技术方案的详细设计的流程图。
本方案设计包含了两个流程:
1.用户通过加密请求获取调用令牌的流程
2.用户通过调用令牌成功调用业务服务器的令牌验证流程
角色解释:
·用户-服务调用方
·网关-自研高性能网关服务器
·token服务器-负责校验令牌获取请求的验签服务器
·REDIS-高性能缓存
·语音业务服务器-实际后台服务器提供各种业务服务
图3中关键步骤或流程如下:
1、用户通过加密请求获取调用令牌的流程包含图中编号①-⑤的关键步骤,其中:
①用户通过约定方式对请求进行加密并通过网关请求令牌服务器
请求如下
请求协议:HTTPS
请求方法:POST
请求格式:JSON
请求体参数:
Figure BDA0002413414370000081
签名生成方式:
通过按顺序拼接publickey,productId,timeStamp,secretKey(用户申请接入时获取的私钥)并做MD5加密运算获取。
响应参数:
Figure BDA0002413414370000082
Figure BDA0002413414370000091
②网关识别用户获取令牌请求,将请求转发token服务器
③token服务器处理用户token请求,并验证签名
具体验证签名的流程如图4所示。
④返回token请求处理请求
⑤用户发起令牌获取请求并等待回复
2、用户通过调用令牌成功调用业务服务器的令牌验证流程包含图中编号⑥-⑨的关键步骤
⑥当用户获取到正确的token后,根据业务需要调用相关接口,并在HTTP请求头中传递:
X-AISPEECH-TOKEN:{令牌}
X-AISPEECH-PRODUCT-ID:{产品服务识别标识}
⑦发送业务请求;
⑧网关验签流程,具体请参考图5;
⑨业务服务器根据产品识别标识获取资源并处理客户请求。
在设计之初,考虑过oauth2的方案,Oauth2的优点在于1.国际标准,同时在于第三方集成是的花销比较小。2.目前有现成的工具可以直接集成到目前的网关系统,只需做简单的配置可以直接使用。但是Oauth2有另外两个缺点.第一点明文传输用户密钥,第二点业务ID与请求耦合需要额外的开发投入。基于这两点,完全可以自研单独的解决方案。
本方案对于整个系统的主要起到一下几个正向效果:
1、原有的网关验证系统,需要将整个请求中的请求报文转发给专门的验证服务器做验证。在业务流量峰值时刻,验证服务器将会承受很大的压力,并且成为整个系统的瓶颈。同时请求中所携带的签名并不具有时效性,在一定程度上有安全风险.本方案将验证服务的压力移到高性能缓存,同时对签名引入了超时机制。在根本上解决了原有方案的弊端。将最大支持并发量提升了5倍。
2、新方案的加密方式比原有的方案更为简单,但是在安全性上进一步提升。避免了明文密钥,引入了签名超时。进一步简化了客户集成客户端的复杂程度,降低了系统性风险。
请参考图6,其示出了本发明一实施例提供的一种令牌请求验证装置的框图。
如图6所示,令牌请求验证装置600,包括令牌请求获取模块610、生成模块620、验证模块630和结果返回模块640。
其中,令牌请求获取模块610,配置为获取用户的令牌请求,其中,所述令牌请求中包括所述用户提供的公钥、第一产品服务标识ID、请求时间戳和第一签名;生成模块620,配置为基于所述用户提供的公钥以及所述请求时间戳生成第二签名和第二产品服务标识ID;验证模块630,配置为验证所述第一签名和所述第二签名是否一致,以及验证所述第一产品服务标识ID与所述第二产品服务标识ID是否一致;以及结果返回模块640,配置为返回令牌请求处理结果。
应当理解,图6中记载的诸模块与参考图1、图2和图3中描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征以及相应的技术效果同样适用于图6中的诸模块,在此不再赘述。
值得注意的是,本申请的实施例中的模块并不用于限制本申请的方案,例如结果返回模块可以描述为返回令牌请求处理结果的模块。另外,还可以通过硬件处理器来实现相关功能模块,例如结果返回模块也可以用处理器实现,在此不再赘述。
在另一些实施例中,本发明实施例还提供了一种非易失性计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的令牌请求验证方法;
作为一种实施方式,本发明的非易失性计算机存储介质存储有计算机可执行指令,计算机可执行指令设置为:
获取用户的令牌请求,其中,所述令牌请求中包括所述用户提供的公钥、第一产品服务标识ID、请求时间戳和第一签名;
基于所述用户提供的公钥以及所述请求时间戳生成第二签名和第二产品服务标识ID;
验证所述第一签名和所述第二签名是否一致,以及验证所述第一产品服务标识ID与所述第二产品服务标识ID是否一致;
返回令牌请求处理结果。
非易失性计算机可读存储介质可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据令牌请求验证装置的使用所创建的数据等。此外,非易失性计算机可读存储介质可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,非易失性计算机可读存储介质可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至令牌请求验证装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本发明实施例还提供一种计算机程序产品,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,使计算机执行上述任一项令牌请求验证方法。
图7是本发明实施例提供的电子设备的结构示意图,如图7所示,该设备包括:一个或多个处理器710以及存储器720,图7中以一个处理器710为例。令牌请求验证方法的设备还可以包括:输入装置730和输出装置740。处理器710、存储器720、输入装置730和输出装置740可以通过总线或者其他方式连接,图7中以通过总线连接为例。存储器720为上述的非易失性计算机可读存储介质。处理器710通过运行存储在存储器720中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例令牌请求验证方法。输入装置730可接收输入的数字或字符信息,以及产生与令牌请求验证装置的用户设置以及功能控制有关的键信号输入。输出装置740可包括显示屏等显示设备。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
作为一种实施方式,上述电子设备应用于令牌请求验证装置中,包括:
至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够:
获取用户的令牌请求,其中,所述令牌请求中包括所述用户提供的公钥、第一产品服务标识ID、请求时间戳和第一签名;
基于所述用户提供的公钥以及所述请求时间戳生成第二签名和第二产品服务标识ID;
验证所述第一签名和所述第二签名是否一致,以及验证所述第一产品服务标识ID与所述第二产品服务标识ID是否一致;
返回令牌请求处理结果。
本申请实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种令牌请求验证方法,包括:
获取用户的令牌请求,其中,所述令牌请求中包括所述用户提供的公钥、第一产品服务标识ID、请求时间戳和第一签名;
基于所述用户提供的公钥以及所述请求时间戳生成第二签名和第二产品服务标识ID;
验证所述第一签名和所述第二签名是否一致,以及验证所述第一产品服务标识ID与所述第二产品服务标识ID是否一致;
返回令牌请求处理结果。
2.根据权利要求1所述的方法,其中,所述方法还包括:
获取用户的业务请求,其中,所述业务请求包括请求头;
从所述请求头中获取令牌与第三产品服务标识ID;
通过所述令牌获取与所述令牌绑定的第四产品服务标识ID;
响应于获取所述第四产品服务标识ID成功,检查获取的所述第四产品服务标识ID与所述用户的业务请求中附带的第三产品服务标识ID是否一致;
若一致,转发所述用户的业务请求至与所述业务请求对应的业务服务器。
3.根据权利要求1所述的方法,其中,所述基于所述用户提供的公钥以及所述请求时间戳生成第二签名和第二产品服务标识ID包括:
提取令牌请求中的请求信息,其中,所述请求信息包括所述用户提供的公钥、第一产品服务标识ID、请求时间戳和第一签名;
使用所述用户提供的公钥获取第二产品服务标识ID;
所述验证所述第一签名和所述第二签名是否一致,以及验证所述第一产品服务标识ID与所述第二产品服务标识ID是否一致包括:
检验所述令牌请求中的所述第一产品服务标识ID是否与所述第二产品服务标识ID一致;
若所述第一产品服务标识ID与所述第二产品服务标识ID一致,验证所述请求时间戳是否超时;
若所述请求时间戳不超时,使用数据库中公私钥与所述请求时间戳生成第二签名;
验证所述第二签名与所述第一签名是否一致;
若所述第二签名与所述第一签名一致,生成随机UUID作为令牌,并缓存所述UUID和所述第一产品服务标识ID;
所述返回令牌请求处理结果包括:
返回所述令牌与所述请求时间戳。
4.根据权利要求3所述的方法,其中,在所述检验所述令牌请求中的所述第一产品服务标识ID是否与所述第二产品服务标识ID一致之后,所述方法还包括:
若所述第一产品服务标识ID与所述第二产品服务标识ID不一致,返回错误结果。
5.根据权利要求3所述的方法,其中,在所述验证所述请求时间戳是否超时之后,所述方法还包括:
若所述请求时间戳超时,返回错误结果。
6.根据权利要求3所述的方法,其中,在所述验证所述第二签名与所述第一签名是否一致之后,所述方法还包括:
若所述第二签名与所述第一签名不一致,返回错误结果。
7.根据权利要求6所述的方法,其中,在所述通过所述令牌获取与所述令牌绑定的第四产品服务识别ID之后,所述方法还包括:
响应于获取所述第四产品服务标识ID失败,返回错误结果。
8.根据权利要求6所述的方法,其中,在所述检查获取的第四产品服务标识ID与所述用户的业务请求中附带的第三产品服务标识ID是否一致之后,所述方法还包括:
若不一致,返回错误结果。
9.一种令牌请求验证装置,包括:
令牌请求获取模块,配置为获取用户的令牌请求,其中,所述令牌请求中包括所述用户提供的公钥、第一产品服务标识ID、请求时间戳和第一签名;
生成模块,配置为基于所述用户提供的公钥以及所述请求时间戳生成第二签名和第二产品服务标识ID;
验证模块,配置为验证所述第一签名和所述第二签名是否一致,以及验证所述第一产品服务标识ID与所述第二产品服务标识ID是否一致;
结果返回模块,配置为返回令牌请求处理结果。
10.一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至8任一项所述方法的步骤。
CN202010183636.XA 2020-03-16 2020-03-16 令牌请求验证方法和装置 Active CN111404695B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010183636.XA CN111404695B (zh) 2020-03-16 2020-03-16 令牌请求验证方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010183636.XA CN111404695B (zh) 2020-03-16 2020-03-16 令牌请求验证方法和装置

Publications (2)

Publication Number Publication Date
CN111404695A true CN111404695A (zh) 2020-07-10
CN111404695B CN111404695B (zh) 2023-11-24

Family

ID=71413383

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010183636.XA Active CN111404695B (zh) 2020-03-16 2020-03-16 令牌请求验证方法和装置

Country Status (1)

Country Link
CN (1) CN111404695B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112202705A (zh) * 2020-08-21 2021-01-08 上海微亿智造科技有限公司 一种数字验签生成和校验方法、系统
CN112865981A (zh) * 2021-02-02 2021-05-28 中国工商银行股份有限公司 一种令牌获取、验证方法及装置
CN113111390A (zh) * 2021-03-25 2021-07-13 南京飞灵智能科技有限公司 基于微服务架构的鉴权方法及装置
CN113595744A (zh) * 2021-09-29 2021-11-02 北京卓建智菡科技有限公司 入网方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104199654A (zh) * 2014-08-27 2014-12-10 百度在线网络技术(北京)有限公司 开放平台的调用方法及装置
CN110545173A (zh) * 2019-07-29 2019-12-06 大众问问(北京)信息科技有限公司 一种安全验证及发送请求的方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104199654A (zh) * 2014-08-27 2014-12-10 百度在线网络技术(北京)有限公司 开放平台的调用方法及装置
CN110545173A (zh) * 2019-07-29 2019-12-06 大众问问(北京)信息科技有限公司 一种安全验证及发送请求的方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112202705A (zh) * 2020-08-21 2021-01-08 上海微亿智造科技有限公司 一种数字验签生成和校验方法、系统
CN112865981A (zh) * 2021-02-02 2021-05-28 中国工商银行股份有限公司 一种令牌获取、验证方法及装置
CN113111390A (zh) * 2021-03-25 2021-07-13 南京飞灵智能科技有限公司 基于微服务架构的鉴权方法及装置
CN113595744A (zh) * 2021-09-29 2021-11-02 北京卓建智菡科技有限公司 入网方法、装置、电子设备及存储介质
CN113595744B (zh) * 2021-09-29 2021-12-31 北京卓建智菡科技有限公司 入网方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN111404695B (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
CN111935094B (zh) 数据库访问方法、装置、系统及计算机可读存储介质
JP6914275B2 (ja) 車載端末のための決済認証方法、装置、及び、システム
WO2018177124A1 (zh) 业务处理方法、装置、数据共享系统及存储介质
EP3726804A2 (en) Device authentication method, service access control method, device, and non-transitory computer-readable recording medium
CN111404695A (zh) 令牌请求验证方法和装置
WO2018036314A1 (zh) 一种单点登录认证方法及装置、存储介质
US11673058B2 (en) Data transport of encryption key used to secure communication between computing devices
CN112953970B (zh) 一种身份认证方法及身份认证系统
CN108322416B (zh) 一种安全认证实现方法、装置及系统
CN103139200A (zh) 一种web service单点登录的方法
CN105656850B (zh) 一种数据处理方法、相关装置及系统
CN111865882B (zh) 一种微服务认证方法和系统
WO2019140790A1 (zh) 业务跟踪方法、装置、终端设备及存储介质
KR20220019834A (ko) 디바이스로의 보안 자격증명 전송을 인증하는 방법 및 시스템
US11706219B1 (en) Secure session sharing between computing devices
CN111199037B (zh) 登录方法、系统和装置
US8589683B2 (en) Authentication of a secure virtual network computing (VNC) connection
CN111249740A (zh) 一种资源数据的访问方法及系统
CN108200075B (zh) 一种身份认证方法、系统、终端及存储介质
CN117336092A (zh) 一种客户端登录方法、装置、电子设备和存储介质
CN104079527A (zh) 一种信息处理方法及电子设备
CN106888448A (zh) 应用下载方法、安全元件及终端
WO2023155642A1 (zh) 基于时间的一次性密码算法的身份认证
WO2019184206A1 (zh) 身份认证方法及装置
CN108141434B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 215123 building 14, Tengfei Innovation Park, 388 Xinping street, Suzhou Industrial Park, Suzhou City, Jiangsu Province

Applicant after: Sipic Technology Co.,Ltd.

Address before: 215123 building 14, Tengfei Innovation Park, 388 Xinping street, Suzhou Industrial Park, Suzhou City, Jiangsu Province

Applicant before: AI SPEECH Co.,Ltd.

GR01 Patent grant
GR01 Patent grant