CN114793243A - 自包含格式的一次性使用授权码 - Google Patents

自包含格式的一次性使用授权码 Download PDF

Info

Publication number
CN114793243A
CN114793243A CN202111281843.XA CN202111281843A CN114793243A CN 114793243 A CN114793243 A CN 114793243A CN 202111281843 A CN202111281843 A CN 202111281843A CN 114793243 A CN114793243 A CN 114793243A
Authority
CN
China
Prior art keywords
authorization
request
server
authorization code
unique
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.)
Pending
Application number
CN202111281843.XA
Other languages
English (en)
Inventor
R.I.苏加雷夫
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.)
SAP SE
Original Assignee
SAP SE
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 SAP SE filed Critical SAP SE
Publication of CN114793243A publication Critical patent/CN114793243A/zh
Pending legal-status Critical Current

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/3226Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • G06F21/645Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • 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/0442Network 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 asymmetric encryption, i.e. different keys 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/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/067Network architectures or network communication protocols for network security for supporting key management in a packet data network using one-time 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/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/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • 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/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • 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/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本公开涉及用于基于授权码在认证服务器处生成访问令牌的计算机实施的方法、软件和系统。来自授权服务器集合的第一授权服务器接收对资源所有者访问资源的请求的授权请求。第一授权服务器验证该请求的授权请求,以生成授权码。响应于成功验证授权请求以生成授权码,第一授权服务器通过用唯一私钥对所生成的授权码进行签名来生成一次性使用授权码。保存唯一公钥以用于验证签名的授权码。一次性使用授权码以自包含格式生成。一次性使用授权码被提供给客户端应用,用于由来自授权服务器集合的授权服务器之一生成访问令牌。

Description

自包含格式的一次性使用授权码
技术领域
本公开涉及用于安全数据处理的计算机实施的方法、软件和系统。
背景技术
软件应用可以提供服务和资源访问。基于用户权限和角色,资源可以被限制到有限数量的用户。令牌可以用于认证在软件应用处接收到的请求,以获得对电子受限资源的访问。令牌可以作为密码的补充或替代,并且可以被验证以确定是否提供或以其他方式允许访问或执行特定操作。当用户请求访问资源时,可以由用户提供访问令牌,以在访问资源之前进行认证。可以验证访问令牌,以确定是否可以处理该请求以及该请求是否有效。为了由授权服务器生成访问令牌,授权码可以作为令牌交换,以验证请求者的真实性,从而允许生成访问令牌。
发明内容
本公开涉及用于以自包含令牌格式生成作为一次性使用码的授权码的系统、软件和计算机实施的方法。
一种示例方法可以包括如下操作,诸如:在来自身份提供者的授权服务器集合的第一授权服务器处接收对资源所有者访问资源的请求的授权请求,其中,该请求是通过用户代理接收的,其中该用户代理向客户端应用发送重定向请求以重定向到第一授权服务器;在第一授权服务器处验证请求的授权请求,以生成授权码;响应于成功验证授权请求以生成授权码,在第一授权服务器处,通过用唯一私钥对所生成的授权码进行签名来生成一次性使用授权码,并且其中,保存唯一公钥以用于验证签名的授权码,其中,一次性使用授权码以自包含格式生成;以及,向客户端应用提供一次性使用授权码,用于由来自授权服务器集合的授权服务器之一生成访问令牌,其中,访问令牌用于来自客户端应用的对资源的访问授权,其中,访问令牌将基于在身份提供者的授权服务器集合中的一个或多个授权服务器处执行的验证以及基于唯一公钥来生成,其中,响应于调用唯一公钥来验证一次性使用授权码,动态删除唯一公钥。该方面的其他实施方式包括相应的系统、装置和被配置为执行方法的动作、被编码在计算机存储设备上的计算机程序。
实施方式可以可选地包括唯一私钥存储在第一授权服务器的内存(in-memory)中。
在一些实例中,唯一公钥可以存储在来自多个授权服务器的授权服务器的内存中,其中该授权服务器被定义为身份提供者的授权服务器集合的分层组织中的领导者服务器。
在一些实例中,唯一私钥可以不保存在与身份提供者相关联的数据存储中。
在一些实例中,唯一公钥可以存储在身份提供者的多个授权服务器可访问的共享密钥存储中,其中,该共享密钥存储不在身份提供者的多个授权服务器的外部共享。
在一些实例中,该示例方法还可以包括:在第一授权服务器处生成包括唯一公钥和唯一私钥的唯一密钥对,其中,该唯一密钥对与授权码相关联地生成;以及响应于一次性使用授权码的生成,动态删除唯一私钥。
在一些实例中,授权码可以是JSON Web令牌格式。
在一些实例中,该示例方法可以包括:响应于在第一授权服务器处接收到基于一次性使用授权码的访问令牌生成请求,执行基于唯一公钥的一次性使用授权码的验证,以及可以动态删除唯一公钥。
在一些实例中,访问令牌生成请求可以被定向到与一次性使用授权码的生成相关联的授权服务器的实例。第一授权服务器可以被确定为与请求相关并且用于基于生成的会话一致性标识符来定向访问令牌生成请求的服务器。在这些实例中的一些实例中,会话一致性标识符可以在身份提供者处实施的负载平衡器处生成,负载平衡器分派包括用于生成授权码和访问令牌的请求的请求。
在一些实例中,对资源所有者访问资源的请求的授权请求可以是来自客户端应用的重定向请求。在一些实例中,客户端应用最初可以通过资源的用户代理从资源所有者接收请求。
类似的操作和过程可以在包括至少一个过程和通信地耦合到至少一个处理器的存储器的系统中执行,其中存储器存储指令,当指令被执行时,使得至少一个处理器执行操作。此外,还可以设想存储指令的非暂时性计算机可读介质,当指令被执行时,使得至少一个处理器执行操作。换句话说,虽然通常被描述为体现在有形的、非暂时性的介质上的处理和转换相应数据的计算机实施的软件,但是一些或所有方面可以是计算机实施的方法或者进一步包括在用于执行该描述的功能的相应系统或其他设备中。本公开的这些和其他方面和实施例的细节在附图和以下描述中阐述。根据说明书、附图和权利要求,本公开的其他特征、目的和优点将是明显的。
附图说明
图1示出了根据本公开的实施方式的用于管理授权请求的示例计算机系统架构。
图2是根据本公开的实施方式的用于生成授权码作为一次性使用的自包含令牌的示例系统的框图。
图3是根据本公开的实施方式的用于生成授权码的示例方法的流程图。
图4是根据本公开的实施方式的用于在由负载平衡器管理的授权服务器处生成授权码的示例方法的流程图。
图5是根据本公开的实施方式的用于在以分层方式组织的授权服务器处生成授权码的示例方法的流程图。
图6是根据本公开的实施方式的用于以非合意(non-consensual)组织方式管理的授权服务器处生成授权码的示例方法的流程图。
图7是根据本公开的实施方式的用于在授权服务器处生成授权码的示例方法的流程图。
图8是可以用于执行本公开的实施方式的示例计算机系统的示意图。
具体实施方式
本公开描述了用于基于授权码在认证服务器处生成访问令牌的各种工具和技术。授权服务器可以是安全提供者的单个服务器,或者可以是安全提供者的多个授权服务器实例中的一个实例。授权码可以被提供给请求者,诸如资源所有者,以请求安全令牌的发布,其中该安全令牌可以用于授权客户端和服务器应用之间的通信。在一些实例中,授权码可以作为自包含令牌生成,其中该自包含令牌可以基于授权服务器环境中管理的唯一密钥对以安全的方式仅使用一次。所生成的授权码可以用于发布包括授权码的安全令牌,诸如访问令牌、刷新令牌以及可由授权服务器发布的其他合适的令牌或码。
在一些实例中,客户端应用可以与应用服务器通信,并请求数据和资源。应用之间的通信可以是安全通信,其中客户端应用在应用服务器处进行认证,例如通过提供请求者的身份数据,例如用户或客户端应用等。
在一些实例中,当客户端应用从应用服务器请求资源时,客户端应用可以提供访问令牌来授权请求。如果可以基于访问令牌的验证成功授权请求,则可以成功提供资源。客户端应用可以基于(例如通过用户代理应用)从用户接收的请求向应用服务器发送请求。
在一些实例中,为了从应用服务器获取可以用于授权访问客户端应用的资源的访问令牌,客户端应用可以与授权服务器通信以请求访问令牌。生成访问令牌的启动可以从用户经由用户代理应用(例如,浏览器应用)触发。
在一些实例中,资源所有者(例如,用户代理应用的用户)可以通过客户端应用请求访问资源。为了授权访问,客户端应用可以将用户重定向到授权服务器。授权服务器可以通过发布授权码作为临时码来处理从用户传入的授权请求,其中该临时码可以被客户端应用用于授权服务器处的后续授权请求,以发布访问令牌。客户端应用可以获取授权服务器为用户提供的授权码。客户端应用可以使用授权码来请求授权服务器发布访问令牌。
在一些实例中,可以以给定的格式生成访问令牌,以对用户和/或应用的身份的安全信息进行编码。例如,访问令牌可以是可以在通信方(例如,客户端应用和服务器应用)之间交换的软件令牌,并且可以基于授权安全服务的公钥验证来验证。安全令牌可以与从客户端发送到服务器的请求一起提供,以认证请求和用户。例如,安全令牌可以是用于访问应用的访问令牌,诸如JavaScript对象标记(JSON)Web令牌(JWT)。
在一些实例中,用户使用网络浏览器代理通过客户端应用请求资源。当用户通过客户端应用请求资源时,客户端应用需要提供请求资源的用户的身份。身份信息可以作为请求的一部分或与请求分开发送。请求者身份的标识可以通过随请求发送访问令牌来提供,或者在用于获得对资源的授权访问的单独的授权交互中提供。
在一些实例中,访问令牌可以包括便于在与多个实体和域相关联的环境中共享身份和安全信息的信息。例如,可以向客户端应用提供由安全授权服务器发布的访问令牌,用于响应于从用户代理接收的请求,在服务器应用处授权客户端应用。
在一些实例中,为了授权对资源的请求,用户代理可以向授权服务器授权其请求,并生成可以提供给客户端以用于(多个)验证的访问令牌。在一些实例中,访问令牌可以作为响应于向客户端提供从用户代理接收的对资源的访问的请求的一部分来生成。在一些其他实例中,访问令牌可以作为单独的过程生成,并且所生成的访问令牌可以用于在客户端处从用户代理接收的对资源的后续请求。
在一些实例中,作为授权服务器生成访问令牌的一部分,用户可以通过用户代理向授权服务器进行认证,并且可以确定访问资源的请求是被许可还是被拒绝。如果对资源的访问将被许可,授权服务器可以将用户代理重定向到客户端应用,并提供客户端应用可以使用的授权码,以在授权服务器处发布访问令牌。当生成访问令牌时,授权码可以用于在客户端和授权服务器之间交换关于用户身份的信息。
在一些实例中,当客户端应用响应于来自用户代理的请求而请求生成访问令牌时,可以在身份提供者的多个授权服务器之一处生成授权码。授权码可以用于请求要在授权服务器环境中发布访问令牌。授权码可以由请求者(即,用户代理)从授权服务器获得,并且稍后被交换为访问令牌或其他安全令牌(例如,用于发布新访问令牌的刷新令牌)。在一些实施方式中,授权码可以是临时码,一旦生成,客户端和用户代理只能使用一次来生成访问令牌或另一个安全令牌。
在一些实例中,授权码可以由多个授权服务器之一基于包括私钥和公钥的唯一密钥对来生成。在一些实例中,唯一密钥对的私钥可以用于生成授权码,公钥可以用于验证授权码(当提供用于生成访问令牌时)。
在一些实例中,授权码可以在用户(例如,资源所有者)在授权服务器处对所请求的资源进行认证和许可之后发布。一旦生成授权码并将其提供给客户端,客户端就可以将其提供给授权服务器,其中授权服务器可以将授权码映射到相应的用户并生成访问令牌。
在一些实例中,授权码可以被生成为包括与认证用户相关联的数据,例如名字、姓氏、电子邮件、唯一标识符以及其他用户可识别信息。
在一些实例中,所生成的授权码可以以自包含格式生成,例如以JWT格式。通过以自包含格式生成授权码,可以验证授权码,而不需要将授权码存储在数据库中。如果授权码存储在数据库中,则可以通过查询数据库来验证授权码。然而,授权码的这种保存需要资源来管理和存储授权码。因此,通过生成自包含格式的授权码,可以在不查询数据库来验证码的情况下执行验证。
在一些实例中,授权码必须具有用于生成访问令牌的有限使用。在这些实例中,一旦授权码被用于请求和生成访问令牌,基于相同授权码的第二个请求将无效。因此,授权码可以作为自包含令牌的签名版本生成,该签名版本只能验证一次。自包含令牌的签名版本可以基于发布机构的公钥进行验证。因此,为了限制签名的自包含形式的授权码的验证,验证公钥的有效期可以被限制为一次性使用或调用。
在一些实例中,授权码的签名版本可以在授权服务器处生成。在一些实例中,授权码的签名版本可以是可以用于生成访问令牌的自包含码。签名版本必须由接收授权服务器验证,以便能够访问授权码内容并验证生成访问令牌的请求。授权码的签名版本可以基于公钥-私钥对,该公钥-私钥对可以是由安全身份提供者生成和管理的唯一密钥对。唯一密钥对可以被管理以允许单个签名和验证操作。在一些实例中,响应于对唯一对的公钥的调用来验证签名的授权码,可以删除唯一密钥对。在一些其他实例中,授权服务器使用的唯一密钥对可以不保存在数据库中,而可以只存储在内存中。在一些其他实例中,每个密钥可以在用于对应的签名或验证操作时被自动删除。
在一些实例中,唯一密钥对或仅唯一密钥对的公钥可以存储在“授权服务器实例A”235的内存存储234中。
在一些实例中,第一公钥-私钥对可以用于加密第一授权码,并且响应于基于该第一授权码请求生成访问令牌,可以获取第一公钥-私钥对的公钥。响应于公钥的使用,至少密钥对的公钥可以被删除,以排除使用密钥对来验证对具有相同第一授权码的访问令牌的后续请求。在一些更多实例中,如果基于第二授权码请求后续访问令牌,则第二公钥-私钥对可以用于加密第二授权码,其中第二对不同于第一对。一旦被使用,第一密钥对的公钥就不被保存,以确保对已经执行的基于基于第一私钥的签名的第一授权码获取访问令牌的请求的后续请求将不会被验证,因为公钥将不可能被定位和调用。在一些其他实例中,基于根据第二私钥的加密的第一授权码的后续请求可以基于确定第二公钥是否可以被定位和调用以在验证期间使用来验证。
在一些实例中,根据本公开的实施方式,授权码、访问令牌和其他类型的安全令牌的生成可以由身份提供者的一个或多个授权服务器的一个或多个实例来执行。因此,当接收到生成授权码、访问令牌或其他合适示例的请求时,授权服务器实例之一可以处理该请求,并且如果需要,与来自授权服务器实例的另一个授权服务器实例通信,以同步关于先前安全码生成的信息。例如,一个授权服务器可以处理授权码的生成,而第二授权服务器可以基于已经发布的授权码来处理访问令牌的生成。在该示例中,两个授权服务器可以同步以验证请求,并基于授权码提供安全的访问令牌生成,其中该授权码是自包含以供验证的,并基于唯一密钥对被限制仅使用一次。在一些实例中,与令牌/码生成相关联的授权服务器可以管理唯一密钥对的保存,以支持自包含形式的授权码的一次性使用。
图1描绘了根据本公开的实施方式的示例架构100。在所描绘的示例中,示例架构100包括客户端设备102、客户端设备104、网络110、平台环境106和平台环境108。平台环境106和平台环境108可以是云环境。平台环境106和平台环境108可以包括对应的一个或多个服务器设备和数据库(例如,处理器、存储器)。在所描绘的示例中,用户114与客户端设备102交互,并且用户116与客户端设备104交互。
在一些示例中,客户端设备102和/或客户端设备104可以通过网络110与平台环境106和/或平台环境108通信。客户端设备102可以包括任何适当类型的计算设备,诸如台式计算机、膝上型计算机、手持计算机、平板计算机、个人数字助理(PDA)、蜂窝电话、网络设备、相机、智能电话、增强型通用分组无线电服务(EGPRS)移动电话、媒体播放器、导航设备、电子邮件设备、游戏控制台、或者这些设备或其他数据处理设备中的任何两个或更多个的适当组合。在一些实施方式中,网络110可以包括大型计算机网络,诸如局域网(LAN)、广域网(WAN)、互联网、蜂窝网络、电话网络(例如,PSTN)或其连接任意数量的通信设备、移动计算设备、固定计算设备和服务器系统的适当组合。
在一些实施方式中,平台环境106包括至少一个服务器和至少一个数据存储120。在图1的示例中,平台环境106旨在表示各种形式的服务器,包括但不限于网络服务器、应用服务器、代理服务器、网络服务器和/或服务器池。一般地,服务器系统接受对应用服务的请求,并向任意数量的客户端设备(例如,网络110上的客户端设备102)提供这种服务,以及适当的其他服务请求。
在一些实例中,平台环境106和108可以托管一个或多个客户端应用、应用服务器和授权服务器,以支持客户端应用和应用服务器之间的安全请求的执行。在一些实例中,用户114或116可以通过网络110访问客户端应用。客户端应用可以与应用服务器通信耦合。应用服务器可以包括被实施为向终端用户提供服务和资源的应用逻辑。为了响应从客户端应用接收的请求,应用服务器对接收的请求执行身份验证,并验证该请求以确定请求是否与授权用户相关联。在一些实例中,客户端应用可以向应用服务器发送访问令牌来认证请求。在一些情况下,授权服务器可以为客户端应用生成访问令牌,其中该授权服务器可以是独立的,并且与应用服务器无关。在一些实例中,可以基于为从授权服务器请求资源的用户先前发布的授权码来生成访问令牌。
在一些实例中,安全令牌的生成可以包括访问令牌、授权码以及可以被验证以确定授权权限的其他类型的码的生成。在一些实例中,安全令牌的生成可以在包括作为不同端点的一个或多个授权服务器的身份提供者授权环境中执行,其中可以调用这些授权服务器或其实例来处理生成安全令牌的请求。
在一些实例中,授权码可以由授权服务器以如上所述的自包含格式生成。因此,当生成访问令牌时,可以验证授权码,而无需查询数据库并基于授权码中的内容。授权码可以被生成有给定的有效期,并且可以被定义为限于用于生成一个访问令牌或另一个安全令牌的一次性使用。在一些实例中,授权服务器可以基于唯一密钥对以加密的自包含形式生成授权码,其中一个密钥对只能使用一次。在一些实例中,唯一密钥对可以包括加密密钥和解密密钥。当密钥对中的每一个密钥都被使用一次(用于生成授权码和用于验证授权码)时,唯一密钥对应该被删除,而不被保存。在一些实例中,唯一密钥对可以存储在内存中,而不是保存在数据库中。当验证访问令牌生成的请求时,响应于获取公钥以验证授权码的调用,可以动态删除唯一密钥对。
在一些实例中,当在客户端处接收到对资源的请求并且该请求需要授权时,该请求可以由定义支持敏感请求的安全执行的授权环境的多个授权服务器之一来处理。多个授权服务器可以是特定授权服务器的服务器实例,其中多个服务器可以被组织和管理以安全的方式处理来自用户的多个请求。例如,授权服务器可以以如下方式处理请求:(1)以分层方式,其中授权服务器之一被确定为领导服务器;(2)以非合意方式,其中每个授权服务器具有相同的权限和角色;(3)通过使用共享存储;(4)以负载平衡的方式;以及以安全方式组织处理授权操作的分发以基于限于一次使用的自包含授权码生成访问令牌的其他合适方式。
图2是根据本公开的实施方式的用于生成授权码作为一次性使用的自包含令牌的示例系统200的框图。示例系统200包括用户代理210、客户端应用220和包括授权服务器的多个实例的授权提供者230。
在一些实例中,用户代理210和客户端应用220通信地耦合以处理对资源的请求并获取可以用于从应用服务器接收资源的访问令牌。当用户代理210向客户端应用220发送请求时(在240处),这些请求与客户端应用和应用服务器的用户205相关联,其中请求可以包括与用户205相关联的身份凭证。用户205提供身份凭证,客户端应用220和授权提供者230的授权服务器可以使用该身份凭证来确定请求是否有效以及是否被授权被服务。在一些实例中,用户205可以是请求访问资源的资源所有者。
在一些实例中,授权提供者230包括一个或多个授权服务器——这里被示出为“授权服务器实例A”235到“授权服务器实例N”237。可以组织相同类型并应用相同授权协议和实施方式的多个服务器实例来处理从用户代理(例如,用户代理210)和客户端应用(例如,客户端应用220)传入的不同请求。
在一些实例中,授权提供者230处的授权服务器可以实施用于授权的行业标准协议,诸如OAUTH 2.0。
在241处,当客户端应用220已经从用户代理210接收到对资源的请求时,客户端应用220将用户代理210重定向到来自授权提供者230的授权服务器,以批准资源的授权。在一些实例中,响应于重定向241,用户代理210向授权提供者230发送授权请求(在242处)。在一些实例中,授权提供者230具有或包括用于处理授权请求的实施逻辑。例如,授权提供者230可以包括负载均衡器组件,其可以基于负载均衡考虑将请求分派给不同的实例。可以实施在授权提供者230处处理请求的其他组织。
在一些实例中,诸如“授权服务器实例A”235的授权服务器实例可以处理接收到的重定向请求。授权服务器实例通过用户代理210认证资源所有者,并确立资源所有者是否可以根据请求被许可或拒绝访问权限(在240处)。
在一些实例中,如果资源所有者许可访问资源的权限,则授权服务器235可以使用重定向统一资源标识符(URI)将用户代理重定向(在243处)回客户端(在244处)。重定向URI可以是可以随请求242或在另一个交互(例如,在客户端应用220向授权提供者230注册时)中提供的地址位置。当用户代理210被重定向到客户端应用220时,提供在授权服务器235处生成的授权码。
在一些实例中,授权服务器235可以包括以自包含格式生成授权码的实施逻辑,该自包含格式可以允许接收方在不查询数据库的情况下对码进行验证。例如,授权码可以如上所述,与图1相关联,并且贯穿本公开。授权码可以基于生成的公钥和私钥对生成为签名的授权码。授权码可以作为自包含令牌的签名版本生成,该自包含令牌的签名版本表示包括关于资源所有者的信息的字符串,例如名字、姓氏、电子邮件、唯一id和身份信息的其他示例。
在一些实例中,生成的授权码可以是JWT,其提供一种紧凑且自包含的方式,以用于作为JSON对象在各方之间安全地传输信息。授权码可以被签名和/或加密。授权码的结构,诸如带有签名的JWT,包括三个部分:报头、有效载荷和签名。例如,JWT通常具有以下格式:报头.有效载荷.签名。报头可以包括码类型和所使用的签名算法的信息。授权码的有效载荷可以包括声明,该声明包括关于实体(例如,用户)的陈述和附加数据。为了创建码的签名部分,系统可以组合数据,包括编码的报头、编码的有效载荷和要在报头中指定的算法的标识,然后系统对该数据组合进行签名。
在一些实例中,“授权服务器实例A”235可以生成密钥对,该密钥对是唯一密钥对,其可以以这样的方式被管理,即它只能被使用一次,并且在最初被用于签名或验证授权码之后被丢弃。在一些实例中,“授权服务器实例A”235可以在密钥生成器232处生成密钥对。在一些其他实例中,密钥对可以在授权服务器的另一实例(例如,在授权提供者230处的服务器实例的分层组织中定义的领导者授权服务器)处生成。在一些更多的实例中,密钥对可以在由授权提供者管理的密钥生成器处并且在任何实例之外生成。
在一些实例中,一旦生成密钥对,密钥对的私钥就可以用于对生成的授权码进行签名,以生成签名的授权码。授权码可以被配置为一次性使用授权码,并且公钥可以用于验证签名的授权码。在一些实例中,公钥可以被配置为在响应于验证基于签名的授权码生成访问令牌的请求而从授权提供者230处的一个或多个授权服务器实例中获取后被动态删除。在一些实例中,私钥和公钥即使是在单独的服务器实例处生成的,也可以以这样的方式使用,即在第一次使用后,它们可以从它们所在的任何存储或空间中删除。例如,私钥可以用于对授权码进行签名,而无需被存储,或者可以被存储,然后在生成签名的授权码后被删除。在一些实例中,如果授权码用于在授权码的有效期内发布访问令牌,则可以保存公钥来用于验证授权码。在一些实例中,公钥可以只存储在授权提供者处的服务器实例之一的内存中。例如,为通过243和244提供给客户端应用的签名的授权码生成的公钥可以存储在处理请求的“授权服务器实例A”235处的内存中。
在一些实例中,客户端应用220接收重定向请求244和签名的授权码,并在245处请求来自授权服务器实例之一的访问令牌。请求245包括签名的授权码。授权提供者230可以包括可以将接收到的请求分派给授权服务器实例中的特定一个的实施逻辑。在一个示例中,请求245可以在作为已经用于生成签名的授权码的实例的授权服务器实例A”235处被处理。在一些其他实例中,请求245可以由不同的服务器实例处理,以在不同的服务器实例之间负载平衡。在又一些其他实例中,确定哪个服务器实例可以用于处理访问令牌请求可以基于随机选择。
在一些实例中,授权服务器实例之一通过确定签名的授权码的公钥存储在何处来基于签名的授权码处理请求。例如,该确定可以通过不同实例之间的直接请求来执行,以定位存储公钥的实例。在一些实例中,一旦公钥被获取,就可以自动删除公钥,并且可以基于解密的授权码来处理对访问令牌的请求的验证。在一些其他实例中,与签名的授权码匹配的公钥可以不存在于任何授权服务器实例中。在这种情况下,生成访问令牌的请求可以被拒绝。例如,不能确定可以用于验证签名的授权码的公钥的原因可能是,该公钥由于先前用于另一个生成访问令牌的请求而已经被删除。在一些实例中,一旦授权码被解密,就可以确定该授权码对于访问令牌的发布是否仍然有效。
在一些实例中,一旦来自多个授权服务器的授权服务器认证客户端应用220并验证授权码,授权服务器就可以用访问令牌对客户端应用220做出响应(245)。在一些实例中,还可以生成刷新令牌。在一些示例中,当处理请求245时,在244处,授权服务器可以确定接收到的用于提供访问令牌的重定向URI是否与接收到的用于重定向的URI匹配。
图3是根据本公开的实施方式的用于生成授权码的示例方法300的流程图。
示例方法300可以在系统环境中执行,诸如图1的示例系统100或图2的示例系统200。例如,方法300可以在图2的授权提供者230的授权服务器的一个或多个实例处执行。
在310处,接收对访问资源的请求的授权请求。在一些情况下,请求可以来自资源所有者。请求在来自身份提供者的授权服务器集合的第一授权服务器处接收。在一些实例中,授权实例集合可以包括一个授权服务器的多个实例或不同授权服务器的多个实例,而在其他实例中,每个授权服务器实例可以彼此不同。请求可以通过用户代理在由资源所有者发起以接收对资源的访问的过程中接收,其中该请求被发送到客户端应用。在一些实例中,当用户代理向客户端发送请求时,客户端可以将请求的授权重定向到来自身份提供者提供的服务器的授权服务器。请求可以通过用户代理从资源所有者接收,并且可以是来自客户端应用的重定向请求。在一些实例中,310处的请求可以在图2的“授权服务器实例A”235处接收。
在320处,在第一授权服务器处验证请求的授权请求。执行验证以生成自包含格式的授权码。在一些实例中,授权码可以如上所述并通过本公开;例如,授权码可以是JWT格式。
在330处,响应于对资源所有者的授权请求的成功验证,在第一授权服务器处生成一次性使用授权码。通过用唯一私钥对所生成的授权码进行签名,生成一次性使用授权码。唯一私钥可以在第一授权服务器处(例如,在密钥生成器处)生成。密钥生成器可以是针对图2的密钥生成器232所描述的。在一些实例中,唯一私钥被生成与唯一公钥相关联,以形成可以用于签名和验证信息的密钥对。可以保存唯一公钥来解密签名的授权码。
在一些实例中,唯一私钥和唯一公钥都可以存储在第一授权服务器的内存中。在一些其他实例中,唯一私钥可以在生成一次性使用授权码时被动态删除。在一些实例中,一旦唯一公钥被生成为唯一私钥(该唯一私钥被生成为对授权码进行签名的加密密钥)的验证密钥,则提供唯一公钥以存储在密钥存储中。在一些其他实例中,唯一私钥和唯一公钥被生成并存储在不同于第一授权服务器的授权服务器处,其中不同的授权服务器是在用于管理身份提供者的授权服务器的分层组织中定义的领导者服务器。
在340处,一次性使用授权码被提供给客户端应用,用于由来自授权服务器集合的授权服务器之一生成访问令牌。访问令牌用作来自客户端应用的对资源的访问授权。访问令牌将基于在身份提供者的授权服务器集合的一个或多个授权服务器处执行的验证并基于唯一公钥来生成。在一些实例中,访问令牌是基于通过使用由身份提供者的至少一个授权服务器保存的唯一公钥来验证所提供的一次性使用授权码而执行的验证来生成的。响应于调用唯一公钥来验证一次性使用授权码,可以动态删除唯一公钥。因此,如果一次性使用授权码被再次使用,则它不能被验证,因为验证密钥(即,唯一公钥)将被删除,并且不能被调用来解码。
图4、5、6和7是用于在包括多个授权服务器的授权提供者环境中生成授权码的示例方法的流程图。在一些实例中,图4、5、6和7是如结合图2的系统200所述的授权码生成的不同实施方式。在一些实例中,这些流程图定义了用于管理授权码生成的替代选项,如图1、2和3所示,其中授权码生成取决于授权提供者环境中不同授权服务器的配置和角色。这些图与用户代理和客户端相关联,用户代理和客户端可以对应于针对图1、2和3讨论的用户代理和客户端。这些图与基于唯一公钥-私钥的授权码的生成相关联,该唯一公钥-私钥以支持自包含格式的授权码的一次性使用的方式生成和管理,如在图1、2和/或3的公开中所讨论的。
图4是根据本公开的实施方式的用于在由负载平衡器管理的授权服务器处生成授权码的示例方法400的流程图。示例方法400是关于包括负载平衡器415和授权服务器420和425的两个实例的授权提供者环境来实施的。负载平衡器415管理从用户代理405接收的与授权请求相关的请求,以生成授权码作为一次性使用的自包含令牌,并生成访问令牌和其他类型的安全令牌(例如,刷新令牌)。
在一些实例中,方法400用于基于签名的授权码生成访问令牌。签名的授权码和后续访问令牌的生成由来自实例420和425的授权服务器实例执行。在一些实例中,客户端410通过将资源所有者的用户代理405定向到授权端点来发起授权流,其中授权端点由负载平衡器415确定。在一些实例中,客户端410可以包括其客户端标识符、所请求的范围、本地状态和重定向URI(其中一旦访问被许可或拒绝,授权服务器就可以将用户代理发送回该重定向URI)。
在一些实例中,负载平衡器425可以包括提供能够生成和管理会话一致性cookies的反向代理能力的逻辑。如果负载平衡器425不包括处理会话一致性cookie的逻辑,则授权服务器实例420和425可以支持生成和管理会话一致性cookie,以跟踪从用户代理405接收的请求,并通过负载平衡器415将这些请求重定向到授权服务器之一。
在440处,负载平衡器415将授权请求重定向到“授权服务器实例2”425。负载平衡器415将请求路由到授权服务器实例425,并生成会话一致性cookie。在445处,“授权服务器实例2”425生成新的公钥和私钥对用于签名。在445处,“授权服务器实例2”425可以将新生成的公钥和私钥存储在内存存储中。在450处,“授权服务器实例2”425使用新生成的私钥生成签名,以生成加密形式(例如,JWT签名格式)的授权码。因此,“授权服务器实例2”425生成例如在图1、2和3中讨论的签名的授权码。
在一些实例中,在访问令牌生成请求过程期间,负载平衡器415可以基于会话一致性cookie将客户端410路由到“授权服务器实例2”425。
在一些实例中,当“授权服务器实例2”425接收到请求(在470处)以基于相应的服务和对应的签名授权码生成访问令牌时,“授权服务器实例2”425可以使用先前生成的公钥来验证签名(在480处)。在485处,“授权服务器实例2”425可以删除先前生成的公钥和私钥。在490处,“授权服务器实例2”425生成访问令牌和/或刷新令牌。例如,访问令牌和/或刷新令牌可以是自包含令牌。具体地,访问令牌和/或刷新令牌可以是JWT格式。图5是根据本公开的实施方式的用于在以分层方式组织的授权服务器处生成授权码的示例方法500的流程图。示例方法500是关于包括用户代理505、客户端510、授权服务器的三个实例——授权服务器515、520和525的授权提供者环境来实施的。
示例方法500是处理生成授权码的请求的另一种方法,其可以是图4中描述的方法的替代。根据方法500的授权码的生成在授权服务器环境中实施,其中不同的服务器节点以分层方式组织,并且其中服务器之一被指定为领导或主节点(例如,通过使用Raft合意算法)。被定义为领导节点的授权服务器可以负责生成和存储与授权码的生成相关联的所有新生成的公钥和私钥。在一些实例中,“授权服务器实例2”520被确定为选定的领导服务器。
在540处,对资源请求的授权请求被重定向到来自授权服务器提供者的多个授权服务器的授权服务器之一,这里被示出为“授权服务器实例3”530。然后,当在辅助服务器节点处而不是领导节点处接收到请求时,“授权服务器实例3”530发起请求的验证,并以自包含格式生成初始授权码。
在560处,“授权服务器实例3”530查询领导者节点以生成新的公钥和私钥对。在一些实例中,如果请求540是在领导者节点处而不是在辅助节点处接收的,则请求540可以由领导者节点处理,并且服务器节点之间的通信可能不是必需的。
在565处,辅助节点530使用获取的私钥生成签名。
在基于在这种分层设置内生成的授权码的访问令牌生成期间,如果生成访问令牌的请求没有被定向到领导节点,则从节点可以向主节点请求与该授权码相关联的公钥,并且基于所获取的公钥来验证签名的授权码。在一些实例中,一旦验证完成,该主节点可以删除先前生成的公钥和私钥。在一些其他实例中,私钥可以根本不被存储,而公钥一旦从主节点获取就可以被自动删除。在一些实例中,访问令牌的生成以及请求和获取访问令牌的过程可以类似于图4中描述的过程来执行。图6是根据本公开的实施方式的用于在非合意组织中管理的授权服务器处生成授权码的示例方法600的流程图。示例方法600是关于包括用户代理605、客户端610和授权服务器的三个实例——授权服务器615、620和625的授权提供者环境来实施的。
与图4和/或5中描述的方法相比,示例方法600是处理生成授权码的请求的替代方法。根据方法600的授权码的生成在授权服务器环境中实施,其中服务器节点(即,授权服务器)是在授权提供者环境的架构内以非合意组织定义的。
在一些实例中,在授权服务节点的非合意组织设计中,为了处理生成授权码的请求,每个节点都可以生成和保存公钥和私钥对。在一些实例中,可以从其他节点查询每个节点,以获取公钥来验证授权码的签名版本。
在一些实例中,当在多个授权服务器的服务器实例之一处接收到授权码生成请求时,生成新的公钥和私钥对,并将其存储在运行授权服务器实例的特定实例机器(例如,虚拟机)的内存中。例如,在“授权服务器实例3”625处接收请求640。“授权服务器实例3”625基于生成的私钥生成授权码和签名。生成的私钥和对应的公钥保存在内存中,而不是永久存储中。
在645处,当不同于用于生成用于验证签名的授权码的公钥的授权服务器节点接收到访问令牌生成请求时,接收服务器实例615可以从其他服务器节点之一获取公钥,以便验证授权码的签名。由于接收服务器实例615不知道哪个服务器节点生成了签名的授权码,因此接收服务器实例615可以执行一个或多个查询来确定公钥的位置并获取密钥。一旦获取了公钥(在650处),就基于存储授权服务器实例的实施逻辑来指示删除或自动删除公钥。在一些实例中,一旦获取了公钥,就可以在服务器实例615处生成访问令牌,并将其提供给客户端610。访问令牌的生成可以类似于图4和/或5中讨论的访问令牌生成。
图7是根据本公开的实施方式的用于在授权服务器处生成授权码的示例方法700的流程图。示例方法700是关于包括用户代理705、客户端710和授权服务器的两个实例——授权服务器715和725、以及键/值存储720的授权提供者环境来实施的。
与图4、5和/或6中描述的方法相比,示例方法700是处理生成授权码的请求的另一种替代方法。根据方法700的授权码的生成是在授权服务器环境中实施的,其中服务器节点(授权服务器)是在授权提供者环境的架构内以非合意组织定义的。授权提供者环境的授权服务器部分可以使用键/值存储720来存储与如以上结合图1、2和/或3所述的生成授权码相关的私钥和/或公钥。
在一些实例中,通过使用可以充当密钥存储(即键/值存储720)的附加组件来管理私钥-公钥对存储,与生成的授权码相关联的公钥和私钥可以在授权服务器节点(即,“授权服务器实例1”715和“授权服务器实例2”725)之间共享。
在一些实例中,键/值存储720存储键和值之间的映射。例如,键/值存储720可以存储用于验证操作的键和值。在一些实例中,键/值存储720处的第一记录可以包括唯一地标识签名的授权码的标识符作为键和用于验证签名的授权码的公钥作为该键的对应值。例如,授权码的有效载荷的唯一授权码标识符部分可以用作标识符,以提供授权码和公钥之间的映射。
在一些实例中,在750处,当授权请求被重定向到授权服务器之一(即,“授权服务器实例2”725)时,基于在同一授权服务器处生成的新公钥和私钥来生成授权码。在一些实例中,私钥可以用于生成授权码的签名(例如,以JWT格式)。
在一些实例中,公钥可以存储在键/值存储720中。在一些实例中,公钥可以映射到生成的授权码的标识符。在一些实例中,用户代理从“授权服务器实例3”725接收重定向响应,该响应包括生成的签名授权码。签名授权码的生成可以类似于图2、3、4、5和/或6中讨论的签名授权码的生成。
在一些实例中,一旦用户代理705接收到带有签名的授权码的重定向响应,用户代理705就向客户端710发送请求,以从实例授权服务器请求(750)生成访问令牌。在一些实例中,在访问令牌生成请求750的处理期间,从键/值存储720获取公钥。基于获取的公钥,可以验证请求750提供的授权码。在一些实例中,键/值存储720可以被配置为一旦获取公钥以验证与对应的签名授权码相关联的请求,就自动从键/值存储中删除该公钥。
现在参考图8,提供了示例计算系统800的示意图。系统800可以用于结合本文描述的实施方式描述的操作。例如,系统800可以包括在本文讨论的任何或所有服务器组件中。系统800包括处理器810、存储器820、存储设备830和输入/输出设备840。组件810、820、830、840使用系统总线850互连。处理器810能够处理在系统800内执行的指令。在一些实施方式中,处理器810是单线程处理器。在一些实施方式中,处理器810是多线程处理器。处理器810能够处理存储在存储器820或存储设备830中的指令,以在输入/输出设备840上显示用户界面的图形信息。
存储器820存储系统800内的信息。在一些实施方式中,存储器820是计算机可读介质。在一些实施方式中,存储器820是易失性存储单元。在一些实施方式中,存储器820是非易失性存储单元。存储设备830能够为系统800提供大容量存储。在一些实施方式中,存储设备830是计算机可读介质。在一些实施方式中,存储设备830可以是软盘设备、硬盘设备、光盘设备或磁带设备。输入/输出设备840为系统800提供输入/输出操作。在一些实施方式中,输入/输出设备840包括键盘和/或定点设备。在一些实施方式中,输入/输出设备840包括用于显示图形用户界面的显示单元。
所描述的特征可以在数字电子电路中实施,或者在计算机硬件、固件、软件或它们的组合中实施。装置可以在有形地体现在信息载体中的计算机程序产品中实施(例如,在机器可读存储设备中,用于由可编程处理器执行),并且方法步骤可以由可编程处理器执行,该可编程处理器执行指令程序以通过对输入数据进行操作并生成输出来执行所描述的实施方式的功能。所描述的特征可以有利地在可在可编程系统上执行的一个或多个计算机程序中实施,其中该可编程系统包括至少一个可编程处理器、至少一个输入设备和至少一个输出设备,其中该至少一个可编程处理器被耦合来从数据存储系统接收数据和指令,以及向数据存储系统发送数据和指令。计算机程序是可以在计算机中直接或间接用来执行特定活动或产生特定结果的指令集。计算机程序可以用任何形式的编程语言编写,包括编译语言或解释语言,并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。
举例来说,用于执行指令程序的合适处理器包括通用和专用微处理器两者,以及任何类型计算机的唯一处理器或多个处理器之一。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的元件可以包括用于执行指令的处理器和用于存储指令和数据的一个或多个存储器。通常,计算机还可以包括或可操作地耦合以与用于存储数据文件的一个或多个大容量存储设备通信;这种设备包括磁盘,诸如内部硬盘和可移动盘;磁光盘;和光盘。适合于有形地体现计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,包括例如半导体存储设备,诸如EPROM、EEPROM和闪存设备;磁盘,诸如内部硬盘和可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用集成电路(ASIC)补充,或者包含在专用集成电路中。
为了提供与用户的交互,这些特征可以在计算机上实施,其中该计算机具有显示设备,诸如用于向用户显示信息的阴极射线管(CRT)或液晶显示器(LCD)监视器,以及用户可以向计算机提供输入的键盘和定点设备,诸如鼠标或轨迹球。
这些特征可以在计算机系统中实施,其中该计算机系统包括后端组件,诸如数据服务器;或者包括中间件组件,诸如应用服务器或互联网服务器;或者包括前端组件,诸如具有图形用户界面或互联网浏览器的客户端计算机,或者它们的任意组合。系统的组件可以通过任何形式或介质的数字数据通信(诸如通信网络)来连接。通信网络的示例包括,例如,LAN、WAN以及形成互联网的计算机和网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般彼此远离,并且通常通过诸如所描述的网络进行交互。客户端和服务器的关系是通过运行在各自计算机上并且彼此之间具有客户端-服务器关系的计算机程序产生的。
此外,附图中描绘的逻辑流程不需要所示的特定顺序或连续顺序来实现期望的结果。此外,可以从所描述的流程中提供其他步骤,或者可以删除步骤,并且可以向所描述的系统添加其他组件,或者从所描述的系统中移除其他组件。因此,其他实施方式在以下权利要求的范围内。
已经描述了本公开的许多实施方式。然而,应当理解,在不脱离本公开的精神和范围的情况下,可以进行各种修改。因此,其他实施方式在所附权利要求的范围内。
鉴于主题的上述实施方式,本申请公开了以下示例列表,其中单独的示例的一个特征或者所述示例的一个以上特征的组合以及可选地与一个或多个其他示例的一个或多个特征的组合是也落入本申请公开范围内的其他示例。
示例1.一种计算机实施的方法,包括:在来自身份提供者的授权服务器集合的第一授权服务器处接收对资源所有者访问资源的请求的授权请求,其中,该请求是通过用户代理接收的,其中该用户代理向客户端应用发送重定向请求以重定向到第一授权服务器;在第一授权服务器处验证请求的授权请求,以生成授权码;响应于成功验证授权请求以生成授权码,在第一授权服务器处,通过用唯一私钥对所生成的授权码进行签名来生成一次性使用授权码,并且其中,保存唯一公钥以用于验证签名的授权码,其中,一次性使用授权码以自包含格式生成;以及,向客户端应用提供一次性使用授权码,用于由来自授权服务器集合的授权服务器之一生成访问令牌,其中,访问令牌用于来自客户端应用的对资源的访问授权,其中,访问令牌将基于在身份提供者的授权服务器集合中的一个或多个授权服务器处执行的验证以及基于唯一公钥来生成,其中,响应于调用唯一公钥来验证一次性使用授权码,动态删除唯一公钥。
示例2.根据示例1所述的方法,其中,唯一私钥存储在第一授权服务器的内存中。
示例3.根据示例1或2所述的方法,其中,唯一公钥存储在来自多个授权服务器的授权服务器的内存中,其中该授权服务器被定义为身份提供者的授权服务器集合的分层组织中的领导者服务器。
示例4:根据示例1、2或3所述的方法,其中,唯一私钥不保存在与身份提供者相关联的数据存储中。
示例5:根据示例1、2、3或4所述的方法,其中,唯一公钥存储在身份提供者的多个授权服务器可访问的共享密钥存储中,其中,该共享密钥存储不在身份提供者的多个授权服务器的外部共享。
示例6:根据示例1、2、3、4或5所述的方法,还包括:在第一授权服务器处生成包括唯一公钥和唯一私钥的唯一密钥对,其中,该唯一密钥对与授权码相关联地生成;以及响应于一次性使用授权码的生成,动态删除唯一私钥。
示例7:根据示例1、2、3、4、5、6或7所述的方法,其中,授权码是JSON Web令牌格式。
示例8:根据示例1、2、3、4、5、6、7或8所述的方法,还包括:响应于在第一授权服务器处接收到基于一次性使用授权码的访问令牌生成请求,基于唯一公钥验证一次性使用授权码,并动态删除唯一公钥。
示例9:根据示例8所述的方法,其中,访问令牌生成请求被定向到与一次性使用授权码的生成相关联的授权服务器的实例,并且其中,第一授权服务器被确定用于基于生成的会话一致性标识符来定向访问令牌生成请求,其中,会话一致性标识符在身份提供者处实施的负载平衡器处生成,负载平衡器分派包括用于生成授权码和访问令牌的请求的请求。
示例10:根据示例1、2、3、4、5、6、7、8或9所述的方法,其中,对资源所有者访问资源的请求的授权请求是来自客户端应用的重定向请求,其中,客户端应用最初通过资源的用户代理从资源所有者接收请求。
在示例1至10中描述的类似操作和过程可以在包括至少一个处理器和通信地耦合到至少一个处理器的存储器的系统中执行,其中该存储器存储当被执行时使得至少一个处理器执行操作的指令。此外,还可以设想存储指令的非暂时性计算机可读介质,当指令被执行时,使得至少一个处理器执行示例1至10中任一个中描述的操作。

Claims (20)

1.一种计算机实施的方法,所述方法包括:
在来自身份提供者的授权服务器集合的第一授权服务器处接收对资源所有者访问资源的请求的授权请求,其中,所述请求是通过用户代理接收的,其中所述用户代理向客户端应用发送重定向请求以重定向到所述第一授权服务器;
在所述第一授权服务器处验证所述请求的授权请求,以生成授权码;
响应于成功验证所述授权请求以生成授权码,在所述第一授权服务器处,通过用唯一私钥对所生成的授权码进行签名来生成一次性使用授权码,并且其中,保存唯一公钥以用于验证签名的授权码,其中,所述一次性使用授权码以自包含格式生成;以及
向所述客户端应用提供所述一次性使用授权码,用于由来自所述授权服务器集合的授权服务器之一生成访问令牌,其中,所述访问令牌用于来自所述客户端应用的对所述资源的访问授权,其中,所述访问令牌将基于在所述身份提供者的所述授权服务器集合中的一个或多个授权服务器处执行的验证以及基于所述唯一公钥来生成,其中,响应于调用所述唯一公钥来验证所述一次性使用授权码,动态删除所述唯一公钥。
2.根据权利要求1所述的方法,其中,所述唯一私钥存储在所述第一授权服务器的内存中。
3.根据权利要求1所述的方法,其中,所述唯一公钥存储在来自所述多个授权服务器的授权服务器的内存中,其中所述授权服务器被定义为所述身份提供者的所述授权服务器集合的分层组织中的领导者服务器。
4.根据权利要求3所述的方法,其中,所述唯一私钥不保存在与所述身份提供者相关联的数据存储中。
5.根据权利要求1所述的方法,其中,所述唯一公钥存储在所述身份提供者的所述多个授权服务器可访问的共享密钥存储中,其中,所述共享密钥存储不在所述身份提供者的所述多个授权服务器的外部共享。
6.根据权利要求1所述的方法,还包括:
在所述第一授权服务器处生成包括所述唯一公钥和所述唯一私钥的唯一密钥对,其中,所述唯一密钥对与所述授权码相关联地生成;以及
响应于所述一次性使用授权码的生成,动态删除所述唯一私钥。
7.根据权利要求1所述的方法,其中,所述授权码是JSON Web令牌格式。
8.根据权利要求1所述的方法,还包括,响应于在所述第一授权服务器处接收到基于所述一次性使用授权码的访问令牌生成请求:
基于所述唯一公钥验证所述一次性使用授权码,以及
动态删除所述唯一公钥。
9.根据权利要求8所述的方法,其中,所述访问令牌生成请求被定向到与所述一次性使用授权码的生成相关联的授权服务器的实例,并且其中,所述第一授权服务器被确定用于基于生成的会话一致性标识符来定向所述访问令牌生成请求,其中,所述会话一致性标识符是在所述身份提供者处实施的负载平衡器处生成的,所述负载平衡器分派包括用于生成授权码和访问令牌的请求的请求。
10.根据权利要求1所述的方法,其中,对所述资源所有者访问所述资源的请求的授权请求是来自所述客户端应用的重定向请求,其中,所述客户端应用最初通过所述资源的用户代理从所述资源所有者接收请求。
11.一种耦合到一个或多个处理器并且其上存储有指令的非暂时性计算机可读介质,当所述指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行操作,所述操作包括:
在来自身份提供者的授权服务器集合的第一授权服务器处接收对资源所有者访问资源的请求的授权请求,其中,所述请求是通过用户代理接收的,其中所述用户代理向客户端应用发送重定向请求以重定向到所述第一授权服务器;
在所述第一授权服务器处验证所述请求的授权请求,以生成授权码;
响应于成功验证所述授权请求以生成授权码,在所述第一授权服务器处,通过用唯一私钥对所生成的授权码进行签名来生成一次性使用授权码,并且其中,保存唯一公钥以用于验证签名的授权码,其中,所述一次性使用授权码以自包含格式生成;以及
向所述客户端应用提供所述一次性使用授权码,用于由来自所述授权服务器集合的授权服务器之一生成访问令牌,其中,所述访问令牌用于来自所述客户端应用的对所述资源的访问授权,其中,所述访问令牌将基于在所述身份提供者的所述授权服务器集合中的一个或多个授权服务器处执行的验证以及基于所述唯一公钥来生成,其中,响应于调用所述唯一公钥来验证所述一次性使用授权码,动态删除所述唯一公钥。
12.根据权利要求11所述的计算机可读存储介质,其中,所述唯一公钥存储在来自所述多个授权服务器的授权服务器的内存中,其中所述授权服务器被定义为所述身份提供者的所述授权服务器集合的分层组织中的领导者服务器,其中,所述唯一私钥不保存在与所述身份提供者相关联的数据存储中,并且其中,所述授权码是JSON Web令牌格式。
13.根据权利要求11所述的计算机可读存储介质,其中,所述唯一公钥存储在所述身份提供者的所述多个授权服务器可访问的共享密钥存储中,其中,所述共享密钥存储不在所述身份提供者的所述多个授权服务器的外部共享。
14.根据权利要求11所述的计算机可读存储介质,其中所述操作还包括:
在所述第一授权服务器处生成包括所述唯一公钥和所述唯一私钥的唯一密钥对,其中,所述唯一密钥对与所述授权码相关联地生成;以及
响应于所述一次性使用授权码的生成,动态删除所述唯一私钥。
15.根据权利要求11所述的计算机可读存储介质,其中,所述操作还包括,响应于在所述第一授权服务器处接收到基于所述一次性使用授权码的访问令牌生成请求:
基于所述唯一公钥验证所述一次性使用授权码,以及
动态删除所述唯一公钥,
其中,所述访问令牌生成请求被定向到与所述一次性使用授权码的生成相关联的授权服务器的实例,并且其中,所述第一授权服务器被确定用于基于生成的会话一致性标识符来定向所述访问令牌生成请求,其中,所述会话一致性标识符是在所述身份提供者处实施的负载平衡器处生成的,所述负载平衡器分派包括用于生成授权码和访问令牌的请求的请求。
16.一种系统,包括:
计算设备;和
耦合到所述计算设备并且其上存储有指令的计算机可读存储设备,当所述指令由所述计算设备执行时,使得所述计算设备执行操作,所述操作包括:
在来自身份提供者的授权服务器集合的第一授权服务器处接收对资源所有者访问资源的请求的授权请求,其中,所述请求是通过用户代理接收的,其中所述用户代理向客户端应用发送重定向请求以重定向到所述第一授权服务器;
在所述第一授权服务器处验证所述请求的授权请求,以生成授权码;
响应于成功验证所述授权请求以生成授权码,在所述第一授权服务器处,通过用唯一私钥对所生成的授权码进行签名来生成一次性使用授权码,并且其中,保存唯一公钥以用于验证签名的授权码,其中,所述一次性使用授权码以自包含格式生成;以及
向所述客户端应用提供所述一次性使用授权码,用于由来自所述授权服务器集合的授权服务器之一生成访问令牌,其中,所述访问令牌用于来自所述客户端应用的对所述资源的访问授权,其中,所述访问令牌将基于在所述身份提供者的所述授权服务器集合中的一个或多个授权服务器处执行的验证以及基于所述唯一公钥来生成,其中,响应于调用所述唯一公钥来验证所述一次性使用授权码,动态删除所述唯一公钥。
17.根据权利要求16所述的系统,其中,所述唯一公钥存储在来自所述多个授权服务器的授权服务器的内存中,其中所述授权服务器被定义为所述身份提供者的所述授权服务器集合的分层组织中的领导者服务器,其中,所述唯一私钥不保存在与所述身份提供者相关联的数据存储中,并且其中,所述授权码是JSON Web令牌格式。
18.根据权利要求16所述的系统,其中,所述唯一公钥存储在所述身份提供者的所述多个授权服务器可访问的共享密钥存储中,其中,所述共享密钥存储不在所述身份提供者的所述多个授权服务器的外部共享。
19.根据权利要求16所述的系统,其中,所述系统还包括指令,当所述指令被执行时,使得所述计算设备执行操作,所述操作包括:
在所述第一授权服务器处生成包括所述唯一公钥和所述唯一私钥的唯一密钥对,其中,所述唯一密钥对与所述授权码相关联地生成;以及
响应于所述一次性使用授权码的生成,动态删除所述唯一私钥。
20.根据权利要求16所述的系统,其中,所述系统还包括指令,当所述指令被执行时,使得所述计算设备执行操作,所述操作包括:响应于在所述第一授权服务器处接收到基于所述一次性使用授权码的访问令牌生成请求:
基于所述唯一公钥验证所述一次性使用授权码,以及
动态删除所述唯一公钥,
其中,所述访问令牌生成请求被定向到与所述一次性使用授权码的生成相关联的授权服务器的实例,并且其中,所述第一授权服务器被确定用于基于生成的会话一致性标识符来定向所述访问令牌生成请求,其中,所述会话一致性标识符是在所述身份提供者处实施的负载平衡器处生成的,所述负载平衡器分派包括用于生成授权码和访问令牌的请求的请求。
CN202111281843.XA 2021-01-26 2021-11-01 自包含格式的一次性使用授权码 Pending CN114793243A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/158,509 2021-01-26
US17/158,509 US11757645B2 (en) 2021-01-26 2021-01-26 Single-use authorization codes in self-contained format

Publications (1)

Publication Number Publication Date
CN114793243A true CN114793243A (zh) 2022-07-26

Family

ID=78414284

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111281843.XA Pending CN114793243A (zh) 2021-01-26 2021-11-01 自包含格式的一次性使用授权码

Country Status (3)

Country Link
US (2) US11757645B2 (zh)
EP (1) EP4033385B1 (zh)
CN (1) CN114793243A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115604033A (zh) * 2022-12-05 2023-01-13 深圳市蓝凌软件股份有限公司(Cn) 微服务系统访问控制方法、装置、设备和存储介质
CN117331964A (zh) * 2023-12-01 2024-01-02 成都明途科技有限公司 数据查询方法、装置、设备及存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11757645B2 (en) * 2021-01-26 2023-09-12 Sap Se Single-use authorization codes in self-contained format
US20230120785A1 (en) * 2021-10-18 2023-04-20 Sophos Limited Updating a cluster of nodes in a network appliance

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130007846A1 (en) * 2011-07-01 2013-01-03 Telefonaktiebolaget L M Ericsson (Publ) Methods and Arrangements for Authorizing and Authentication Interworking
CN104255007A (zh) * 2011-09-29 2014-12-31 甲骨文国际公司 Oauth框架
CN108322472A (zh) * 2016-05-11 2018-07-24 甲骨文国际公司 多租户身份和数据安全性管理云服务
CN108463982A (zh) * 2015-11-16 2018-08-28 万事达卡国际股份有限公司 用于使用安全授权服务器来认证在线用户的系统和方法
US20190251241A1 (en) * 2018-02-15 2019-08-15 Nokia Technologies Oy Security management for service authorization in communication systems with service-based architecture
CN111131301A (zh) * 2019-12-31 2020-05-08 江苏徐工信息技术股份有限公司 一种统一鉴权授权方案
US20200211002A1 (en) * 2017-09-21 2020-07-02 The Authoriti Network, Inc. System and method for authorization token generation and transaction validation

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6959393B2 (en) * 2002-04-30 2005-10-25 Threat Guard, Inc. System and method for secure message-oriented network communications
DE602006005912D1 (de) * 2006-05-26 2009-05-07 Sap Ag Verfahren und Vorrichtung zur sicheren Bearbeitung eines Befehls durch einen mobilen Agent in einem Netzwerk.
US8019860B2 (en) 2008-12-22 2011-09-13 Sap Ag Service accounting method and apparatus for composite service
US9256413B2 (en) 2012-04-17 2016-02-09 Sap Se Automatic identification of services
US8700899B1 (en) * 2012-06-27 2014-04-15 Emc Corporation Forward-secure key unlocking for cryptographic devices
US9898734B2 (en) 2012-12-19 2018-02-20 Deutsche Telekom Ag Method and system for terminal device-based communication between third-party applications and an electronic wallet
US9197408B2 (en) * 2013-05-10 2015-11-24 Sap Se Systems and methods for providing a secure data exchange
US9344410B1 (en) * 2014-10-31 2016-05-17 Sap Se Telecommunication method for securely exchanging data
US9900212B2 (en) 2014-11-03 2018-02-20 Sap Se Installation of an arbitrary server as an extension of a computing platform
US9813400B2 (en) * 2014-11-07 2017-11-07 Probaris Technologies, Inc. Computer-implemented systems and methods of device based, internet-centric, authentication
US20160179494A1 (en) 2014-12-18 2016-06-23 Vladimir Pavlov Integration of an arbitrary server installed as an extension of a computing platform
US10469484B1 (en) 2015-01-27 2019-11-05 Google Llc Automatic discovery and retrieval of interoperable applications
US9819672B1 (en) 2015-06-26 2017-11-14 EMC IP Holding Company LLC Sharing access tokens with trusted users
US10447681B2 (en) 2016-12-07 2019-10-15 Vmware, Inc. Secure asymmetric key application data sharing
US10205709B2 (en) 2016-12-14 2019-02-12 Visa International Service Association Key pair infrastructure for secure messaging
EP3422630B1 (en) 2017-06-27 2021-02-17 Nokia Technologies Oy Access control to a network device from a user device
US10887301B1 (en) 2017-12-12 2021-01-05 United Services Automobile Association (Usaa) Client registration for authorization
US10931656B2 (en) 2018-03-27 2021-02-23 Oracle International Corporation Cross-region trust for a multi-tenant identity cloud service
US11303449B2 (en) * 2018-06-22 2022-04-12 Salesforce.Com, Inc. User device validation at an application server
US10834074B2 (en) 2018-08-17 2020-11-10 International Business Machines Corporation Phishing attack prevention for OAuth applications
US11398913B2 (en) 2018-08-24 2022-07-26 Powch, LLC Secure distributed information system for public device authentication
WO2021071116A1 (ko) * 2019-10-11 2021-04-15 (주)소프트제국 브라우저의 웹스토리지를 이용한 간편인증 방법 및 시스템
US11349662B2 (en) 2019-10-29 2022-05-31 Synchrony Bank Persistent login
US11443380B2 (en) * 2020-02-20 2022-09-13 Mark Cummings System and method of providing and recording personalized context-specific advice in the form of an artificial intelligence view of a hierarchical portfolio
US11463258B2 (en) * 2020-03-13 2022-10-04 Ebay Inc. Secure token refresh
US11431502B2 (en) * 2020-09-18 2022-08-30 Citrix Systems, Inc. Enhanced token transfer
US20220138306A1 (en) * 2020-11-05 2022-05-05 Adobe Inc. Offline multi-factor one-time password authentication
US11563580B2 (en) * 2020-11-12 2023-01-24 Sap Se Security token validation
US11716325B2 (en) 2021-01-20 2023-08-01 International Business Machines Corporation Limiting scopes in token-based authorization systems
US11757645B2 (en) * 2021-01-26 2023-09-12 Sap Se Single-use authorization codes in self-contained format

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130007846A1 (en) * 2011-07-01 2013-01-03 Telefonaktiebolaget L M Ericsson (Publ) Methods and Arrangements for Authorizing and Authentication Interworking
CN104255007A (zh) * 2011-09-29 2014-12-31 甲骨文国际公司 Oauth框架
CN108463982A (zh) * 2015-11-16 2018-08-28 万事达卡国际股份有限公司 用于使用安全授权服务器来认证在线用户的系统和方法
CN108322472A (zh) * 2016-05-11 2018-07-24 甲骨文国际公司 多租户身份和数据安全性管理云服务
US20200211002A1 (en) * 2017-09-21 2020-07-02 The Authoriti Network, Inc. System and method for authorization token generation and transaction validation
US20190251241A1 (en) * 2018-02-15 2019-08-15 Nokia Technologies Oy Security management for service authorization in communication systems with service-based architecture
CN111131301A (zh) * 2019-12-31 2020-05-08 江苏徐工信息技术股份有限公司 一种统一鉴权授权方案

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115604033A (zh) * 2022-12-05 2023-01-13 深圳市蓝凌软件股份有限公司(Cn) 微服务系统访问控制方法、装置、设备和存储介质
CN117331964A (zh) * 2023-12-01 2024-01-02 成都明途科技有限公司 数据查询方法、装置、设备及存储介质
CN117331964B (zh) * 2023-12-01 2024-02-27 成都明途科技有限公司 数据查询方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US20220239491A1 (en) 2022-07-28
EP4033385B1 (en) 2023-08-23
US11757645B2 (en) 2023-09-12
EP4033385A1 (en) 2022-07-27
US20230353367A1 (en) 2023-11-02

Similar Documents

Publication Publication Date Title
US11899820B2 (en) Secure identity and profiling system
CN109144961B (zh) 授权文件共享方法及装置
US10162982B2 (en) End user control of personal data in the cloud
US10263987B2 (en) Techniques for sharing virtual machine (VM) resources
US11757645B2 (en) Single-use authorization codes in self-contained format
US11863677B2 (en) Security token validation
US9819665B1 (en) Synchronization of access tokens for session continuity across multiple devices
US9560080B2 (en) Extending organizational boundaries throughout a cloud architecture
US10922401B2 (en) Delegated authorization with multi-factor authentication
US9306922B2 (en) System and method for common on-behalf authorization protocol infrastructure
US9769137B2 (en) Extensible mechanism for securing objects using claims
US9401911B2 (en) One-time password certificate renewal
US9602275B2 (en) Server pool kerberos authentication scheme
GB2489563A (en) Long term delegation of cloud/server data/resource access authorisation to applications by establishing token request rights
US20040260946A1 (en) User not present
US11870766B2 (en) Integration of legacy authentication with cloud-based authentication
Chinnasamy et al. A scalable multilabel‐based access control as a service for the cloud (SMBACaaS)
US9232078B1 (en) Method and system for data usage accounting across multiple communication networks
WO2022144024A1 (en) Attribute-based encryption keys as key material for key-hash message authentication code user authentication and authorization
US11954672B1 (en) Systems and methods for cryptocurrency pool management
KR20040101616A (ko) 무선 인터넷상에서의 사용자 컨텐츠 접근권한 관리시스템및 그 방법과, 사용자 컨텐츠 접근권한 관리 소프트웨어를기록한 컴퓨터가 읽을 수 있는 기록매체
Gray et al. A repository system with secure file access for collaborative environments

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