CN112136303B - 用于耗时操作的刷新令牌的安全委托 - Google Patents
用于耗时操作的刷新令牌的安全委托 Download PDFInfo
- Publication number
- CN112136303B CN112136303B CN201980033051.5A CN201980033051A CN112136303B CN 112136303 B CN112136303 B CN 112136303B CN 201980033051 A CN201980033051 A CN 201980033051A CN 112136303 B CN112136303 B CN 112136303B
- Authority
- CN
- China
- Prior art keywords
- time
- application
- token
- consuming operation
- refresh 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/108—Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/321—Cryptographic 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/3213—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
- H04W12/084—Access security using delegated authorisation, e.g. open authorisation [OAuth] protocol
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)
- Computer And Data Communications (AREA)
- Storage Device Security (AREA)
Abstract
可以提供一种用于在包括用户系统、应用服务器和授权服务器的数据处理环境中基于令牌授权的计算机实现的方法。该方法包括经由用户代理访问应用程序,从授权服务器向应用程序发送访问令牌和刷新令牌,触发应用程序对提供耗时操作的服务的执行。该触发包括请求和接收可转移刷新令牌,通过将可转移刷新令牌与标识符一起从应用程序传递到提供耗时操作的服务来开始提供耗时操作的服务的执行,将可转移刷新令牌从耗时服务传递到授权服务器,接收访问令牌和刷新令牌,以及继续耗时服务。
Description
技术领域
本发明一般涉及一种用于数据处理环境中授权的方法,并且更具体地,涉及一种用于数据处理环境中基于令牌授权的计算机实现的方法。本发明还涉及一种用于在数据处理环境中基于令牌授权(token-based authorization)的系统以及一种计算机程序产品。
背景技术
在数据保密的时候,私有数据的保护以及企业数据的可靠安全、授权和认证过程和技术是企业信息技术的关键挑战。在过去的几十年中,已经开发了多种专有和开放源技术来解决这些挑战。特别地,在过去的十年中,发展了基于令牌的认证和授权系统。
在这些系统中,终端用户通常对照授权服务器进行认证,并且取回证明该终端用户的授权以及可选地还证明其身份的临时令牌。临时令牌例如由基于web的用户接口后端服务安全使用,因为没有凭证流向那些服务,所以基于令牌的系统使得技术生态系统能够用于不同供应商的服务,这可以利用相同的授权系统和过程。对于服务之间的更复杂的交互,还可以将令牌从用户界面通过服务传递到另一下游服务。
在上述系统中,令牌的一个特定方面是它们在到期之前通常仅具有有限的生命周期。在这样的令牌期满之后,令牌的原始请求客户端应用,例如基于web的用户界面,可以使用刷新令牌来获得新令牌,该新令牌然后被存储在基于web的用户界面应用程序中。其它服务不能刷新令牌。这确实是在当今的分布式计算环境中由特定服务(例如,分析服务)提供的用于耗时事务或其他种类的操作的挑战,所述分布式计算环境严重依赖于分布式专用(软件)服务来解决特定计算任务。
该问题也没有被已知技术解决,例如在RFC 6749中定义的OAuth 2系统“OAuth2.0认证框架”(比较,例如https://tool.iietf.org/html/rfc6749)。
另外,其它出版物未能提供用于耗时应用的上述情形的解决方案:
文献US 2017/0048233A1公开了用于刷新认证令牌的技术。响应于从请求计算设备接收到认证信息,准许对安全计算环境的访问。对会话授权访问,并且一个或多个客户端应用程序通过利用访问令牌来允许代表安全所有者对服务器资源的安全委托访问。
文献US 2017/0026376A1描述了一种授权委托系统,包括提供服务的资源服务器和基于授权信息执行授权委托以便授权作为客户设备的协作服务器并访问资源服务器具有的用户数据的授权服务器。
这些文献仅描述了比OAuth 2.0系统的准标准实现略多的内容。仅提及了很少的增强,例如cookie交换或从资源服务器到授权服务器的认证的抽象委托。传统技术没有解决耗时操作(long-running operations)和服务的问题。
因此,需要为耗时的应用服务配备与当今用户进程可用的相同级别的安全性和认证。同时,这种附加的安全级别,即认证,对于用户来说应该是透明的。
发明内容
根据本发明的一个方面,可以提供一种用于在数据处理环境中基于令牌授权的计算机实现的方法。数据处理环境可以至少包括执行用户代理的用户系统、执行应用程序的应用服务器和授权服务器。用户代理可以经由第一网络连接与所述应用程序通信联系,并且应用程序可以经由第二网络连接与所述授权服务器通信联系。应用程序可以提供对提供耗时操作的服务的访问。至少提供耗时操作的服务可以是可由标识符标识的。
该方法可以包括经由用户代理访问所述应用程序,在授权协议已经成功完成之后从授权服务器向所述应用程序发送访问令牌和刷新令牌,以及触发所述应用程序对提供耗时操作的服务的执行。
由此,所述触发可以包括由所述应用程序从所述授权服务器请求可转移刷新令牌,由所述应用程序从所述授权服务器接收可转移刷新令牌,其中所述可转移刷新令牌至少包括刷新令牌和用于提供所述耗时操作的服务的标识符,以及通过将可转移刷新令牌与所述标识符一起从所述应用程序传递到提供所述耗时操作的所述服务来开始提供所述耗时操作的服务的执行。
此外,所述触发可以包括将可转移刷新令牌与提供耗时操作的服务的标识符一起从提供耗时操作的服务传递到授权服务器,作为响应,接收用于提供耗时操作的服务的访问和刷新令牌,以及使用可由提供耗时操作的服务从授权服务器接收的刷新令牌来继续提供耗时操作的服务。
根据本发明的另一方面,可以提供一种用于在数据处理环境中基于令牌授权的系统。此外,这里,数据处理环境可以至少包括执行用户代理的用户系统、执行应用程序的应用服务器和授权服务器。用户代理可以经由第一网络连接与所述应用程序通信联系,并且其中所述应用程序可以经由第二网络连接与所述授权服务器通信联系。
应用程序可以提供对提供耗时操作的服务的访问,并且至少提供耗时操作的服务可以是通过标识符可识别的。
安全系统可以包括:访问单元,适于经由用户代理访问所述应用程序;发送方,适于在授权协议已经成功完成之后从所述授权服务器向所述应用程序发送访问令牌和刷新令牌;以及触发单元,适于触发应用程序对提供耗时操作的服务的执行。
所述触发单元可以包括:请求模块,适于由所述应用程序从所述授权服务器请求可转移刷新令牌;接收方,适于由所述应用程序从所述授权服务器接收所述可转移刷新令牌,其中所述可转移刷新令牌可以至少包括刷新令牌和用于提供耗时操作的所述服务的标识符;以及开始单元,适于通过将可转移刷新令牌与所述标识符一起从所述应用程序传递到提供所述耗时操作的所述服务来开始提供所述耗时操作的所述服务的执行。
所触发单元还可以包括传递模块,其适于将可转移刷新令牌连同提供所述耗时操作的服务的标识符一起从提供所述耗时操作的服务传递到所述授权服务器;接收方,其适于作为响应接收用于提供耗时操作的服务的访问和刷新令牌;以及继续模块,其适于使用可由提供耗时操作的服务从所述授权服务器接收的刷新令牌来继续提供耗时操作的服务。
所提出的用于数据处理环境中的基于令牌的授权的计算机实现的方法可以提供多个优点和技术效果:
解决了在基于令牌的认证环境中,面向用户的进程和与面向用户的进程之一相关的耗时的后端服务的分离问题。可以为委托实现与用于服务和资源的常规访问和理论化相同的安全标准。
由客户机系统上的面向用户的应用程序调用的服务器系统上的计算服务可以作为与客户机系统上的面向用户的应用程序相同的授权级别的基础。在初始设置过程之后,相关的后端、耗时服务将由独占访问和刷新令牌来认证。
该过程可以完全由面向用户的应用控制,但是可以不调用客户端应用程序与递送服务的后端应用程序之间的任何附加通信开销,例如耗时的、计算机密集型的和复杂的数据分析。
这里提出的概念也不依赖于存储在一个或另一个计算系统上的不安全的cookie,其可以是可自由访问的,并且因此是不安全的。
相反,客户机应用程序在初始阶段之后无需关心后端计算服务的认证,直到该后端系统能够将其结果传递给客户机应用程序。因此,对客户端应用程序的影响可以保持为最小。此外,对现有授权概念的影响也是最小侵入性的,并且因此,其优雅地扩展了可靠且高度可信的授权概念。
此外,这里提出的方法可以使用相同的端点、参数和调用样式(POST/令牌请求发送作为主体的表单数据,响应包含JSON(Java Script Object Notation),如同所有其他OAuth 2.0交互。因此,提供了良好的兼容性。该新令牌方法的用户、程序员和/或采用者的学习努力保持较低,并且其使得能够实现OAuth 2的新区域,例如银行应用,其通常可以将“真实”处理移动到夜间批处理运行中,该夜间批处理运行由于令牌将过期而不能采用纯OAuth2.0。所提出的概念允许替代地将OAuth 2.0扩展到那些场景,并且可以允许将OAuth2.0应用于该场景中的所有步骤。
下面将描述本发明概念的附加实施例,其适用于相关方法以及相关安全系统。
根据所述方法的一个优选实施例,可转移刷新令牌还可以包括到期时间。这可以是固定的日期/时间组合、从令牌启动开始的时间单位的总数、从令牌启动开始的预设秒数等。这将限制可转移刷新令牌的有效时间。在这段时间之后,令牌不再可用于应用程序或服务。
根据该方法的另一优选实施例,经由用户代理访问应用程序还可以包括在应用程序、用户代理和授权服务器之间使用授权协议,其中通过在应用程序和授权服务器之间交换认证证书来授权访问。作为选定的授权协议,也可以使用已知的协议或其要素,并且可以将其集成到所提出的概念中。这些潜在授权协议之一是开放标准OAuth 2.0协议。
根据该方法的一个有利实施例,与请求可转移刷新令牌相关的请求还可以包括刷新令牌以及执行耗时操作的服务的标识符。这样,可以保证关于可转移刷新令牌的安全请求。
还可以注意到,请求可转移刷新令牌和上述经由用户代理访问应用程序可以组合成一个请求,例如一个API(应用编程接口)调用。
根据该方法的一个许可实施例,授权服务器可以适于根据OAuth 2.0协议提供授权服务。这符合上述开放标准安全协议的潜在用户边缘。当然,也可以完全地或部分地使用其它协议类型作为这里提出的概念的一部分。
根据该方法的一个另外允许的实施例,从包括数据分析过程、数据传送过程、备份过程、数据重组和神经网络的过程的组中选择耗时操作。这些不同的应用领域也可以用作具有相对较长执行时间的其他计算任务的示例。
根据所述方法的另一实施例,所述耗时操作可运行长于所述应用程序的访问令牌到期时间。这可以表示其中所提出的概念可以显示其全部优点的环境。
根据该方法的一个另外的有利实施例,可转移刷新令牌可以至少包括用户标识符(具体地,实际上表示用户的用户代理标识符)、可转移刷新令牌的到期时间、提供耗时操作的服务的标识符以及提供耗时操作的服务的到期时间的一个或多个范围(即,“允许的动作”)。可以将附加的参数组件添加到可转移刷新令牌,以便适合底层安全协议的体系结构。
可转移刷新令牌的到期时间可以确保新发布的可转移刷新令牌可以在其已经被接收之后的预定时间内使用。该到期时间可能必须与所需的和与耗时操作相关的探索时间区分开。
还可以注意到,范围的设置已经在OAuth 2.0协议的上下文中描述。
根据所述方法的另一有利实施例,提供耗时操作的服务可以请求将第二可转移刷新令牌提供给提供第二耗时操作的第二服务。这可以允许耗时的服务或应用程序的链接。这可以表示面向服务的架构中的典型设置,其中例如多个耗时的操作并行运行,例如以在大数据环境中执行复杂的分析。
根据该方法的一个可选实施例,由应用程序从授权服务器请求可转移刷新令牌可以仅在用户代理确认之后执行。为此,可能需要或者可能推荐用户交互。因此,用户可以控制将他的安全访问转移到第三实体,即提供耗时操作的服务的方式。因此,最终用户可以保持对整个过程以及访问权限的委托的控制。
此外,实施例可以采取可从计算机可用或计算机可读介质访问的相关计算机程序产品的形式,所述计算机可用或计算机可读介质提供由计算机或任何指令执行系统使用或与计算机或任何指令执行系统结合使用的程序代码。为了本说明书的目的,计算机可用或计算机可读介质可以是任何装置,其可以包含用于存储、传送、传播或传输程序的装置,该程序由指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合使用。
附图说明
应当注意,本发明的实施例是参考不同的主题来描述的。特别地,一些实施例是参考方法类型权利要求来描述的,而其他实施例是参考装置类型权利要求来描述的。然而,本领域技术人员将从以上和以下描述中了解到,除非另外指出,除了属于一种类型的主题的特征的任何组合之外,与不同主题相关的特征之间的任何组合,特别是方法类型权利要求的特征与装置类型权利要求的特征之间的任何组合,也被认为是在本文件内公开的。
从下文将描述的实施例的示例中,本发明的上述方面和其它方面是显而易见的,并且将参考实施例的示例进行解释,但是本发明不限于此。
将仅通过示例并参考以下附图来描述本发明的优选实施例:
图1示出了用于数据处理环境中基于令牌授权的本发明的计算机实现的方法的实施例的框图。
图2示出了在所提出的概念和发明概念的交互中涉及的组件的框图。
图3a示出了本方法的可实现实施例的第一步骤的交互的框图。
图3b示出了根据图3a的第一步骤的状态和信息交换图。
图4a和图4b示出了所提出的方法的可实现实施例的下一步骤的交互所涉及的单元以及相关状态和信息交换图。
图5a和图5b示出了所提出的方法的可实现实施例的另一步骤的交互所涉及的单元以及相关状态和信息交换图。
图6a和图6b示出了所提出的方法的可实现实施例的另一步骤的交互所涉及的单元以及相关状态和信息交换图。
图7a和图7b示出了所提出的方法的可实现实施例的再一个步骤的交互所涉及的单元以及相关状态和信息交换图。
图8a和图8b示出了所提出的方法的可实现实施例的附加步骤的交互所涉及的单元以及相关状态和信息交换图。
图9a和图9b示出了所提出的方法的可实现实施例的最后步骤的交互所涉及的单元以及相关状态和信息交换图。
图10a、图10b、图10c分别示出了访问令牌、刷新令牌和可转移刷新令牌。
图11示出了用于数据处理环境中基于令牌授权的安全系统1100的框图。
图12示出了作为所提出的方法的实现的工具的计算系统的框图。
具体实施方式
在本说明书的上下文中,可以使用以下惯例、术语和/或表达:
术语“基于令牌授权”可以表示认证和授权过程以及本领域已知的并且在OAuth2.0的开放标准的上下文中描述的相关协议。关键要素之一是在调用和被调用服务之间交换令牌,其中令牌的创建由授权服务器控制。对于基于预定义安全概念的实体,仅可以建立调用和被调用服务之间的那些连接。
术语“数据处理环境”可以表示包括具有不同特性的不同计算节点的网络。这种计算节点的示例是终端用户系统、应用服务器、数据库服务器、计算服务器-特别是提供耗时操作的那些计算服务器。其它类型的服务器或节点可以包括资源节点和/或认证和授权服务。
术语“用户系统”可以表示由终端用户操作的节点之一。通常,终端用户可以通过浏览器访问计算机网络。浏览器可以以两部分实现:用户接口和后端服务,通常在用户系统上执行,并且示例性地表示为用户代理。用户代理可以表示计算机网络中的实际终端用户。
术语“应用服务器”可以表示提供应用服务的一个或多个专用计算系统。通常,用户代理可以访问一个应用服务器,提供特定服务。在后台,应用服务器可以访问来自其它应用服务器的服务。
术语“授权服务器”可以表示专用服务器(通常实现为专用硬件系统),其能够认证特定终端用户并在预定安全概念下授权终端用户在计算节点网络中的相关动作的访问。
术语“网络连接”可以表示两个系统之间的任何技术连接,特别是使用底层硬件设备的软件服务之间的任何技术连接。因此,网络连接可以是有线连接或无线连接。用于网络连接的协议的一个例子是因特网协议。
术语“耗时操作(long-running operation)”可以表示可以是非常计算和/或事务密集型的应用程序,如数据分析作业、复杂搜索查询、涉及人工智能系统的服务、备份过程、针对大量数据的数据传输过程等。提供耗时操作的这种服务的共同特征是它们的运行时间通常超过访问令牌的到期时间。
术语“标识符(identifier)”可以表示用于标识计算系统中或计算系统、协议和/或应用程序的网络内的实体的数字代码。
术语“访问令牌(access token)”可以表示授权应用程序(或应用服务)访问计算机网络内的特定资源的数字代码。在发出访问令牌时,可能涉及预定义的安全系统和相关协议。基本上,访问令牌允许应用程序(或另一资源)使用计算机网络中的另一资源的服务。
在上述访问令牌和相关安全协议的上下文中,术语“刷新令牌(refresh token)”可以用于在原始访问令牌过期之后继续对相关资源的访问。因此,可以定期发出刷新令牌,以便允许资源或服务继续其访问其他资源的操作。
术语“可转移刷新令牌(transferable refresh token)”可以表示作为所提出的方法和相关系统的一部分的新引入的概念。在传统的安全概念中,可以向资源提供访问令牌以便访问另一资源。然而,这样的访问令牌不能被转移到另一资源。依赖于不是那么安全的协议的其它机制必须被用作“快速修复”,以便克服传统安全架构的限制。所提出的概念使得这些“快速修复”过时,并且用具有与所使用的底层安全协议相同的安全标准的授权协议来代替它们。
术语“OAuth 2.0协议”可以表示用于访问委托的已知开放标准协议OAuth,其通常被用作因特网用户授予网站或应用程序对其他网站上的他们的信息的访问权而不向他们给予密码的方式。这种机制被世界著名的因特网公司用来允许他们的用户与第三方应用或网站共享关于他们的账户的信息。
通常,OAuth代表资源所有者向客户端提供对服务器资源的“安全委托访问”。它指定了资源所有者授权第三方访问他们的服务器资源而不共享他们的凭证的过程。OAuth被特别设计为与超文本传输协议(HTTP)一起工作,本质上允许在资源所有者的批准下由授权服务器向第三方客户端发布访问令牌。第三方然后使用访问令牌来访问由资源服务器托管的受保护资源。
术语“范围”可以表示在OAuth 2.0安全性概念中描述。基本上,范围定义了活动的级别,并且可以准许应用程序(或另一资源)。例如,应用程序可以对某些数据具有读访问权,但没有写或删除权限。另外,读访问可被限于预定义的数据集。
下面,将给出附图的详细描述。图中的所有说明都是示意性的。首先,给出了本发明的用于数据处理环境中的基于令牌的授权的计算机实现的方法的实施例的框图。然后,将描述进一步的实施例以及用于数据处理环境中的基于令牌的授权的系统的实施例。
图1示出了用于数据处理环境中的基于令牌授权的计算机实现的方法100的实施例的框图。这可以是例如云计算环境或基于面向服务的架构的另一系统。
数据处理环境至少包括用户系统,该用户系统通常可以配备有由终端用户操作的浏览器。它也可以执行将动作表示为最终用户的用户代理。用户代理可以表示浏览器的后端服务。
数据处理环境还包括执行应用程序(通常是web应用)的应用服务器和通常可以根据由这里提出的概念增强的OAuth 2.0规则操作的授权服务器。
用户代理经由第一网络连接与应用程序通信联系,并且应用程序经由第二网络连接与授权服务器通信联系。
应用程序提供对提供耗时操作的服务的访问。这可以是例如专用系统,如数据分析应用程序(或其一部分)、数据传输程序、人工智能系统的任务以及需要相对长的执行时间的等效服务。至少提供耗时操作的服务是可通过标识符来标识的(即,可识别的)。
该方法可以包括:经由用户代理访问102应用程序;在授权协议已经成功完成之后,从授权服务器向应用程序发送104访问令牌和刷新令牌;以及触发106由应用程序执行提供耗时操作的服务。实际上,触发可以由用户代理执行。
由此,触发106包括由应用程序从授权服务器请求108可转移刷新令牌,由应用程序从授权服务器接收110可转移刷新令牌,其中可转移刷新令牌至少包括刷新令牌和提供耗时操作的服务的标识符。
此外,触发106包括通过将可转移刷新令牌与标识符一起从应用程序传递到提供耗时操作的服务来开始112提供耗时操作的服务的执行,将可转移刷新令牌与提供耗时操作的服务的标识符一起从提供耗时操作的服务传递114到授权服务器,作为响应,接收116提供耗时操作的服务的访问令牌和刷新令牌,以及使用刷新令牌继续118提供耗时操作的服务,该刷新令牌由提供耗时操作的服务从授权服务器(具体地,直接和定期地)接收的。
图2示出了在所提出的概念和发明概念的交互中涉及的元件的框图200。资源所有者210(通常是位于web浏览器前端的终端用户)与客户机206(通常是运行在向终端用户提供服务的应用服务器(未示出)上的web应用)进行交互。可以注意到,在此,代替作为个人的资源所有者,用户代理可以被用作与图2的其他元件通信联系的交互组件。
将外部交互式登录体验,即资源所有者210(或等效地,用户代理)重定向到授权服务器202,以对客户机206的访问请求进行认证和授权。
客户端206(通常是web应用)与授权服务器202交互以检索访问令牌。另外,作为所提出的概念的一部分,客户端206还与授权服务器202交互以检索可转移刷新令牌。客户机206例如经由API调用将可转移刷新令牌传递给耗时的客户端208。
耗时的客户端208与授权服务器202交互,以安全地解开可转移刷新令牌,并检索访问令牌以及刷新令牌。稍后需要相同的交互来刷新访问令牌。然后,耗时的客户端208与资源服务器204交互,以代表资源的所有者访问资源。
可以注意到,作为底层授权(和认证)过程,可以应用OAuth 2.0的概念。然而,还应当清楚的是,刚刚提到的可转移刷新令牌不是OAuth 2.0系统概念的一部分。
简言之,交互步骤的一般流程可以描述如下,以便具有所提出的概念的益处:
1.客户端206从资源所有者210检索访问令牌和一个或多个刷新令牌。
2.客户端206从授权服务器202检索可转移刷新令牌。
3.客户端206调用耗时的客户端208并传递可转移刷新令牌。
4.耗时客户端208从可转移刷新令牌中检索访问令牌和一个或多个刷新令牌。
5.耗时的客户机208用适当的访问令牌调用资源服务器204。
6.耗时的客户机208刷新访问令牌以继续调用资源服务器208。
可以注意到,步骤1、5、6可以由OAuth 2.0系统覆盖。然而,可以指出,步骤2、3、4与这里新提出的概念相关。
图3a示出了第一步骤的交互的框图。简言之:资源所有者210(即,表示最终用户的用户代理)与客户端206(例如,八个web应用程序)交互以开始例如耗时的数据分析作业。可以注意到,代替数据分析工作,其他耗时的操作是可能的,例如,耗时的事务、耗时的数据传输、涉及变量之间的许多依赖性的数据净化过程、对人工智能系统的复杂访问等。
现在参考图3b(其示出了第一步骤的状态和信息交换图),OAuth 2.0标准定义了两种方式来获得客户端206针对资源所有者210或其用户代理检索的令牌(访问令牌刷新令牌)。在第一种方式中,资源所有者210向客户端206发送302用户名/密码组合。客户端206取得这些凭证以及他自己的客户端标识符和秘密,并将令牌请求发送304到授权服务器202。授权服务器返回306仅可由客户端206使用的访问令牌和刷新令牌。通常,客户端206发送回308会话cookie等,或类似的,以保持与资源所有者的会话。
现在参考图4a和图4b的第二种方式,根据OAuth 2.0检索客户端206的令牌,而不必将用户名/密码传递给客户端206。在资源所有者210尝试402/404登录到客户端206之后,客户端206将来自资源所有者210的凭证(具体地,相关请求包括用户名/密码、client_ID)重定向404到授权服务器202。连同该重定向,客户端206标识符和重定向URI(通用资源标识符)一起被传递406到授权服务器202。在授权服务器202成功地完成授权/认证之后,重定向URI稍后将用于将资源所有者210发送回客户端206。
资源所有者210遵循406到授权服务器202的重定向,传递408客户端标识符和重定向URI,并用用户名和密码或类似方法来认证。在成功验证之后,认证服务器202使用该响应的重定向URI和授权码(authorization_code)将资源所有者发送回客户端206(比较208)。
然后,客户端206获取410授权码及其客户端标识符和秘密,并从授权服务器检索414访问令牌和刷新令牌(202)(在请求412之后,利用Wittrent_type=authCode,client-ID,client_secret,authCode)。与第一种描述方式类似,令牌只能由相关的客户标识符使用。客户机206发送回416会话cookie或类似的,以保持与资源所有者210的会话。
以下考虑再次示出了在附图的上下文中所提出的概念的动机:客户端206从授权服务器206检索可转移刷新令牌。可以假设客户端206意图调用耗时的客户端208上的API。通常的API调用将使用证明该API调用的授权的访问令牌。在这种情况下,耗时的客户端208意味着客户端206的操作将持续比最大访问令牌到期时间更长的时间。然而,在这里传递访问令牌是无用的,因为操作最终将失败。相反,传递刷新令牌也不起作用,因为耗时的客户端208的授权,即,耗时的客户端208的客户端标识符和秘密,不同于原始客户端206的客户端标识符。由于刷新令牌只能由创建它的客户端使用,因此刷新令牌对于耗时的客户端208将是无用的。
对于这种情况,所提出的概念引入了可转移刷新令牌1006,如图10c所示。可转移刷新令牌1006的令牌类型类似于图10b中所示的名义刷新令牌1004,但是包含附加信息。出于比较的原因,图10a示出了访问令牌1002。
为了创建这种可转移刷新令牌1006,客户端206使用刷新令牌(refresh_token)许可类型和特殊响应类型。客户端206通过(比较图5b,502;图5b与图5a相关,示出了相关的交互组件)
·刷新令牌1004,
·作为该客户端206的认证信息的客户端标识符和客户端秘密,以及
·耗时的客户端208的客户端标识符。
伪格式可以是:POST/token,grant_type=refresh_token、client_id、client_secret、refresh_token、receive_client_id、expire、response_type=transferable_refresh_token。
作为回应,客户端206将接收(比较图5b,504)可转移刷新令牌1006。
耗时的客户端208的客户端标识符将被存储为“接收方客户端标识符”1008,以指示只有该客户端标识符将能够使用可转移刷新令牌1006。可转移刷新令牌1006包含刷新令牌1004的原始到期时间,该到期时间被传递到授权服务器202,但是也保持指示可转移刷新令牌1006可以被消耗多长时间的单独到期时间,即,被转换成访问令牌和刷新令牌。
图6a和图6b示出了所涉及的组件和相关的状态信息流以及第三步骤的图,即,客户端206调用耗时的客户端208并解析可转移刷新令牌。
在客户端206从授权服务器202检索到可转移刷新令牌之后,客户端206可以调用耗时的客户端208。相关的耗时操作是用API调用来开始的602,该API调用传递该操作的所有相关参数以及允许耗时的客户端208在任何时间刷新访问令牌的可转移刷新令牌。开始API将返回604操作标识符以允许稍后对耗时的客户机208的状态更新。
图7a和图7b示出了所涉及的组件和相关的状态信息流以及第四步骤的图,即耗时的客户端208从可转移刷新令牌中检索访问令牌和刷新令牌。
耗时的客户端208需要在使用可转移刷新令牌之前解开可转移刷新令牌。为此,耗时的客户端108涉及授权服务器202,并传递702可转移刷新令牌和耗时的客户端208的认证,即相关的客户端标识符和秘密。潜在的格式可以是:POST/token、grant_type=transferable_refresh_token、client_id、client_secret、transferable_refresh_token。
授权服务器202向客户端验证标识符和秘密,解开可转移刷新令牌,将耗时的客户端208的客户端标识符与存储在可转移刷新令牌内作为该令牌的有效接收方的客户端标识符进行比较。只有当耗时的客户端208标识符包含在可转移刷新令牌中时,操作才可以成功。最后,验证可转移刷新令牌的到期时间。
在成功完成所有验证之后,创建由耗时的客户端208的客户端标识符拥有的新的访问令牌/刷新令牌对,并在704将其返回给调用者,即耗时的客户端208。
图8a和图8b示出了所涉及的组件和相关的状态信息流以及第五步骤的图,即耗时的客户机208用适当的访问令牌调用资源服务器204。
在耗时的客户端208已经接收到其访问令牌和刷新令牌对之后,可以继续进行耗时操作的执行。如果访问令牌没有过期,则耗时的客户机208可以在调用802资源服务器204时重用访问令牌。最后,耗时的客户端208从资源服务器202接收804结果。
图9a和图9b示出了所涉及的组件和相关的状态信息流以及第五步骤的图,即耗时的客户端208刷新访问令牌以便继续调用资源服务器204。
在耗时操作的执行期间,耗时的客户端208将最终达到访问令牌的到期时间。如果访问令牌到期,则需要用新到期时间的新访问令牌来替换它。为此,耗时的客户端208可以使用标准OAuth 2.0刷新令牌方法,并且将重新发出refresh_token API调用,902。格式可以是:POST/token,grant_type=refresh_token,client_ID,client_secret,refresh_token=…。结果,在904,将从认证服务器202向耗时的客户端208返回新的访问令牌和新的刷新令牌。因此,为了保持耗时的操作(即,耗时的客户端208和资源服务器204之间的交互)继续,客户端206和资源所有者210根本不被涉及。
图11示出了用于数据处理环境中的基于令牌的授权的安全系统1100的框图。数据处理环境至少包括执行用户代理的用户系统、执行应用程序的应用服务器和授权服务器。用户代理经由第一网络连接与所述应用程序通信联系,并且其中所述应用程序经由第二网络连接与所述授权服务器通信联系。该应用程序提供对提供耗时操作的服务的访问,其中至少提供所述耗时操作的所述服务可由标识符标识。
安全系统包括:访问单元1102,适于经由所述用户代理访问所述应用程序;发送方1104,适于在授权协议已经成功完成之后从所述授权服务器向所述应用程序发送访问令牌和刷新令牌;以及触发单元1106,适于触发由所述应用程序执行提供所述耗时操作的所述服务。
触发单元包括:请求模块1108,适于由所述应用程序从所述授权服务器请求可转移刷新令牌;接收方1110,适于由所述应用程序从所述授权服务器接收所述可转移刷新令牌,其中所述可转移刷新令牌至少包括刷新令牌和提供所述耗时操作的所述服务的所述标识符;以及开始单元1112,适于通过将所述可转移刷新令牌与所述标识符一起从所述应用程序传递到提供所述耗时操作的服务来开始执行提供所述耗时操作的所述服务。
此外,触发单元包括:传递模块1114,适于将所述可转移刷新令牌连同提供所述耗时操作的所述服务的所述标识符一起从提供所述耗时操作的所述服务传递到所述授权服务器;接收方1116,适于作为响应接收提供所述耗时操作的所述服务的访问令牌和刷新令牌,以及继续模块1118,适于使用可由提供所述耗时操作的所述服务从所述授权服务器接收的刷新令牌继续提供所述耗时操作的所述服务。
本发明的实施例实际上可以与任何类型的计算机一起实现,而不管平台是否适于存储和/或执行程序代码。图12示出了作为示例的计算系统1200,其适于执行与所提出的方法相关的程序代码。用于执行所提出的方法的一个或多个服务器可以具有计算系统1200的形式。
计算系统1200仅是合适的计算机系统的一个示例,并且不旨在对本文描述的本发明的实施例的使用范围或功能提出任何限制,无论计算机系统1200是否能够被实现和/或执行上文阐述的任何功能。在计算机系统1200中,存在可与许多其它通用或专用计算系统环境或配置一起操作的组件。适合与计算机系统/服务器1200一起使用的公知的计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户端、胖客户端、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机系统、大型计算机系统、以及包括任何上述系统或设备的分布式云计算环境等。计算机系统/服务器1200可以在计算机系统可执行指令的一般上下文中描述,诸如由计算机系统1200执行的程序模块。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统/服务器1200可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于本地和远程计算机系统存储介质中,包括存储器存储设备。
如图所示,计算机系统/服务器1200以通用计算设备的形式示出。计算机系统/服务器1200的组件可以包括但不限于一个或多个处理器或处理单元1202、系统存储器1204以及将包括系统存储器1204的各种系统组件耦合到处理器1202的总线1206。总线1206表示若干类型的总线结构中的任何一种的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线体系结构中的任何一种的处理器或局部总线。作为示例而非限制,这些体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线。计算机系统/服务器1200通常包括各种计算机系统可读介质。这样的介质可以是可由计算机系统/服务器1200访问的任何可用介质,并且它包括易失性和非易失性介质、可移动和不可移动介质两者。
系统存储器1204可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)1208和/或高速缓冲存储器1210。计算机系统/服务器1200还可以包括其它可移动/不可移动、易失性/非易失性计算机系统存储介质。仅作为示例,存储系统1212可被提供用于从不可移动、非易失性磁介质(未示出且通常被称为“硬盘驱动器”)读取和向其写入。尽管未示出,但是可以提供用于从可移动、非易失性磁盘(例如,“软盘”)读取和向其写入的磁盘驱动器,以及用于从诸如CD-ROM、DVD-ROM或其它光学介质的可移动、非易失性光盘读取或向其写入的光盘驱动器。在这样的实例中,每个可以通过一个或多个数据介质接口连接到总线1206。如下面将进一步示出和描述的,存储器1204可以包括至少一个程序产品,该程序产品具有一组(例如,至少一个)程序模块,该程序模块被配置成执行本发明的实施例的功能。
具有一组(至少一个)程序模块1216的程序/实用程序,作为示例而非限制的,以及操作系统,一个或多个应用程序、其它程序模块和程序数据可被存储在存储器1204中。操作系统、一个或多个应用程序、其它程序模块和程序数据或其某种组合中的每一个可包括联网环境的实现。程序模块1216一般执行如本文所述的本发明的实施例的功能和/或方法。
计算机系统/服务器1200还可以与一个或多个外部设备1218通信,诸如键盘、指示设备、显示器1220等;一个或多个设备,其使得用户能够与计算机系统/服务器1200交互;和/或使计算机系统/服务器1200能够与一个或多个其它计算设备通信的任何设备(例如,网卡、调制解调器等)。这种通信可以经由输入/输出(I/O)接口1214发生。此外,计算机系统/服务器1200还可以经由网络适配器1222与一个或多个网络(例如局域网(LAN)、通用广域网(WAN)和/或公共网络(例如因特网))通信。如所示出的,网络适配器1222可以经由总线1206与计算机系统/服务器1200的其他组件通信。应当理解,尽管未示出,但是可以结合计算机系统/服务器1200使用其他硬件和/或软件组件。示例包括但不限于:微码、设备驱动程序、冗余处理单元、外部磁盘驱动器阵列、RAID系统、磁带驱动器和数据档案存储系统等。
已经出于说明的目的给出了本发明的各种实施例的描述,但是其不旨在是穷尽的或限于所公开的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。
本发明可以是系统,方法和/或计算机程序产品。该计算机程序产品可以包括其上具有用于使处理器执行本发明的方面的计算机可读程序指令的计算机可读存储介质。
该介质可以是用于传播介质的电子、磁、光、电磁、红外或半导体系统。计算机可读介质的示例可以包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的当前例子包括光盘只读存储器(CD-ROM)、光盘读/写(CD-R/W)、DVD和蓝光盘。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本文所用的术语仅是为了描述特定实施例的目的,而不是要限制本发明。如本文所用,单数形式“一个(a)”、“一个(an)”和“该(the)”旨在也包括复数形式,除非上下文另有明确指示。还将理解,术语“包括(comprises)”和/或“包括(comprising)”在本说明书中使用时,指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其它特征、整数、步骤、操作、元件、组件和/或其群组的存在或添加。
在以下权利要求中的所有装置或步骤加上功能元件的对应结构、材料、动作和等同物旨在包括用于与如具体要求保护的其它要求保护的元件组合执行功能的任何结构、材料或动作。已经出于说明和描述的目的给出了本发明的描述,但是该描述不是穷举的或者将本发明限制为所公开的形式。在不背离本发明的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员来说是显而易见的。选择和描述实施例是为了最好地解释本发明的原理和实际应用,并且使本领域的其他普通技术人员能够理解本发明的具有各种修改的各种实施例,如适合于预期的特定使用。
Claims (21)
1.一种用于在数据处理环境中基于令牌授权的计算机实现的方法,
其中所述数据处理环境至少包括:
执行用户代理的用户系统;
执行应用程序的应用服务器;以及
授权服务器,
其中所述用户代理经由第一网络连接与所述应用程序通信联系,并且其中所述应用程序经由第二网络连接与所述授权服务器通信联系,
其中所述应用程序提供对提供耗时操作的服务的访问,
其中至少提供所述耗时操作的所述服务可由标识符标识,
其中所述方法包括:
-经由所述用户代理访问所述应用程序,
-在授权协议已经成功完成之后,从所述授权服务器向所述应用程序发送访问令牌和刷新令牌,
-触发所述应用程序对提供所述耗时操作的所述服务的执行,其中所述触发包括:
-由所述应用程序从所述授权服务器请求可转移刷新令牌,
-由所述应用程序从所述授权服务器接收所述可转移刷新令牌,其中所述可转移刷新令牌至少包括刷新令牌和用于提供所述耗时操作的所述服务的所述标识符,
-通过将所述可转移刷新令牌与所述标识符一起从所述应用程序传递到提供所述耗时操作的所述服务,开始提供所述耗时操作的所述服务的执行,
-将所述可转移刷新令牌与提供所述耗时操作的所述服务的所述标识符一起从提供所述耗时操作的所述服务传递到所述授权服务器,
-作为响应,接收用于提供所述耗时操作的所述服务的访问令牌和刷新令牌,
-使用由提供所述耗时操作的所述服务从所述授权服务器接收的刷新令牌来继续提供所述耗时操作的所述服务。
2.根据权利要求1所述的方法,其中所述可转移刷新令牌还包括到期时间。
3.根据权利要求1所述的方法,其中所述经由所述用户代理访问所述应用程序还包括
-在所述应用程序、所述用户代理和所述授权服务器之间使用授权协议,其中通过在所述应用程序和所述授权服务器之间交换认证证书来授权所述访问。
4.根据权利要求1所述的方法,其中与所述请求所述可转移刷新令牌相关的请求还包括所述刷新令牌以及执行所述耗时操作的所述服务的所述标识符。
5.根据权利要求1所述的方法,其中所述授权服务器适用于根据OAuth2.0协议提供授权服务。
6.根据权利要求1所述的方法,其中所述耗时操作是从包括数据分析过程、数据传输过程、备份过程、数据重组和神经网络过程的组中选择的。
7.根据权利要求1所述的方法,其中所述耗时操作运行得比所述应用程序的访问令牌到期时间更长。
8.根据权利要求1所述的方法,其中所述可转移刷新令牌至少包括用户标识符、所述可转移刷新令牌的到期时间、提供所述耗时操作的所述服务的标识符以及提供所述耗时操作的所述服务的到期时间。
9.根据权利要求1所述的方法,其中提供所述耗时操作的所述服务请求将第二可转移刷新令牌提供给提供第二耗时操作的第二服务。
10.根据权利要求1所述的方法,其中所述应用程序从所述授权服务器请求可转移刷新令牌仅在所述用户代理确认之后执行。
11.一种用于在数据处理环境中基于令牌授权的安全系统,
其中所述数据处理环境至少包括:
执行用户代理的用户系统;
执行应用程序的应用服务器;以及
授权服务器,
其中所述用户代理经由第一网络连接与所述应用程序通信联系,并且其中所述应用程序经由第二网络连接与所述授权服务器通信联系,
其中所述应用程序提供对提供耗时操作的服务的访问,
其中至少提供所述耗时操作的所述服务可由标识符标识,
其中所述安全系统包括:
-访问单元,适于经由所述用户代理访问所述应用,
-发送方,适于在授权协议已经成功完成之后,从所述授权服务器向所述应用程序发送访问令牌和刷新令牌,
-触发单元,适于触发所述应用程序对提供所述耗时操作的所述服务的执行,其中所述触发单元包括:
-请求模块,适于由所述应用从所述授权服务器请求可转移刷新令牌,
-接收方,适于通过所述应用程序从所述授权服务器接收所述可转移刷新令牌,其中所述可转移刷新令牌至少包括刷新令牌和用于提供所述耗时操作的所述服务的所述标识符,
-开始单元,适于通过将所述可转移刷新令牌与所述标识符一起从所述应用程序传递到提供所述耗时操作的所述服务,来开始提供所述耗时操作的所述服务的执行,
-传递模块,适于将所述可转移刷新令牌与提供所述耗时操作的所述服务的所述标识符一起从提供所述耗时操作的所述服务传递到所述授权服务器,
-接收方,适于作为响应接收用于提供所述耗时操作的所述服务的访问令牌和刷新令牌,
-继续模块,适于使用由提供所述耗时操作的所述服务从所述授权服务器接收的刷新令牌来继续提供所述耗时操作的所述服务。
12.根据权利要求11所述的安全系统,其中所述可转移刷新令牌还包括到期时间。
13.根据权利要求11所述的安全系统,其中所述访问单元还适于
-在所述应用程序、所述用户代理和所述授权服务器之间使用授权协议,其中通过在所述应用程序和所述授权服务器之间交换认证证书来授权所述访问。
14.根据权利要求11所述的安全系统,其中与所述请求所述可转移刷新令牌相关的请求还包括所述刷新令牌以及执行所述耗时操作的所述服务的所述标识符。
15.根据权利要求11所述的安全系统,其中所述授权服务器适于根据OAuth 2.0协议提供授权服务。
16.根据权利要求11所述的安全系统,其中所述耗时操作是从包括数据分析过程、数据传输过程、备份过程、数据重组和神经网络过程的组中选择的。
17.根据权利要求11所述的安全系统,其中所述耗时操作运行得比所述应用程序的访问令牌到期时间更长。
18.如权利要求11所述的安全系统,其中所述可转移刷新令牌至少包括用户标识符、范围、所述可转移刷新令牌的到期时间、提供所述耗时操作的所述服务的标识符以及提供所述耗时操作的所述服务的到期时间。
19.根据权利要求11所述的安全系统,其中提供所述耗时操作的所述服务请求将第二可转移刷新令牌提供给提供第二耗时操作的第二服务。
20.根据权利要求11所述的安全系统,其中所述请求模块还适于请求所述用户代理的确认。
21.一种用于数据处理环境中的基于令牌授权的计算机程序产品,其中所述数据处理环境至少包括执行用户代理的用户系统、执行应用程序的应用服务器和授权服务器,其中所述用户代理经由第一网络连接与所述应用程序通信联系,并且其中所述应用程序经由第二网络连接与所述授权服务器通信联系,其中所述应用程序提供对提供耗时操作的服务的访问,其中至少提供所述耗时操作的所述服务可由标识符标识,
所述计算机程序产品包括具有其中包含程序指令的计算机可读存储介质,所述程序指令可由一个或多个计算系统或控制器执行以使所述一个或多个计算系统
-在授权协议已经成功完成之后,从所述授权服务器向所述应用程序发送访问令牌和刷新令牌,
-触发所述应用程序对提供所述耗时操作的所述服务的执行,其中所述触发包括:
-由所述应用程序从所述授权服务器请求可转移刷新令牌,
-由所述应用程序从所述授权服务器接收所述可转移刷新令牌,其中所述可转移刷新令牌至少包括刷新令牌和用于提供所述耗时操作的所述服务的所述标识符,
-通过将所述可转移刷新令牌与所述标识符一起从所述应用程序传递到提供所述耗时操作的所述服务,开始提供所述耗时操作的所述服务的执行,
-将所述可转移刷新令牌与提供所述耗时操作的所述服务的所述标识符一起从提供所述耗时操作的所述服务传递到所述授权服务器,
-作为响应,接收用于提供所述耗时操作的所述服务的访问令牌和刷新令牌,
-使用可由提供所述耗时操作的所述服务从所述授权服务器接收的刷新令牌来继续提供所述耗时操作的所述服务。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18174048.1 | 2018-05-24 | ||
EP18174048 | 2018-05-24 | ||
PCT/IB2019/054274 WO2019224766A1 (en) | 2018-05-24 | 2019-05-23 | Secure delegation of a refresh token for long-running operations |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112136303A CN112136303A (zh) | 2020-12-25 |
CN112136303B true CN112136303B (zh) | 2023-02-17 |
Family
ID=62244404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980033051.5A Active CN112136303B (zh) | 2018-05-24 | 2019-05-23 | 用于耗时操作的刷新令牌的安全委托 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11122035B2 (zh) |
JP (1) | JP7091470B2 (zh) |
CN (1) | CN112136303B (zh) |
GB (1) | GB2587169B (zh) |
WO (1) | WO2019224766A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10904238B2 (en) * | 2018-07-13 | 2021-01-26 | Sap Se | Access token management for state preservation and reuse |
JP7301668B2 (ja) * | 2019-08-07 | 2023-07-03 | キヤノン株式会社 | システム、制御方法、プログラム |
US11349662B2 (en) * | 2019-10-29 | 2022-05-31 | Synchrony Bank | Persistent login |
US11962698B2 (en) * | 2020-03-17 | 2024-04-16 | Arris Enterprises Llc | Token node locking with fingerprints authenticated by digital certificates |
US11658984B2 (en) * | 2020-04-24 | 2023-05-23 | Citrix Systems, Inc. | Authenticating access to computing resources |
US11757636B2 (en) | 2020-06-25 | 2023-09-12 | Oracle International Corporation | Access control for short-lived resource principals |
US11418343B2 (en) * | 2020-06-25 | 2022-08-16 | Oracle International Corporation | Access control for long-lived resource principals |
US11811679B2 (en) | 2020-06-25 | 2023-11-07 | Oracle International Corporation | Stacked identities for resource principals |
US11716325B2 (en) * | 2021-01-20 | 2023-08-01 | International Business Machines Corporation | Limiting scopes in token-based authorization systems |
CN114095200B (zh) * | 2021-09-28 | 2023-12-01 | 阿里巴巴(中国)有限公司 | 资源访问权限管理方法、装置、电子设备及介质 |
US11943370B2 (en) * | 2021-11-10 | 2024-03-26 | International Business Machines Corporation | Using device-bound credentials for enhanced security of authentication in native applications |
CN114610394B (zh) * | 2022-03-14 | 2023-12-22 | 海飞科(南京)信息技术有限公司 | 指令调度的方法、处理电路和电子设备 |
CN114513313B (zh) * | 2022-04-20 | 2022-09-27 | 云账户技术(天津)有限公司 | 基于令牌的鉴权方法、装置、电子设备及可读存储介质 |
US11695772B1 (en) * | 2022-05-03 | 2023-07-04 | Capital One Services, Llc | System and method for enabling multiple auxiliary use of an access token of a user by another entity to facilitate an action of the user |
CN114978733B (zh) * | 2022-05-30 | 2024-05-14 | 阿里巴巴(中国)有限公司 | 基于轻应用的访问处理方法、电子设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741851A (zh) * | 2009-12-23 | 2010-06-16 | 北京交通大学 | 一种增强源地址真实性保障的令牌更新方法 |
CN103780396A (zh) * | 2014-01-27 | 2014-05-07 | 华为软件技术有限公司 | 令牌获取方法及装置 |
CN104255007A (zh) * | 2011-09-29 | 2014-12-31 | 甲骨文国际公司 | Oauth框架 |
CN104350501A (zh) * | 2012-05-25 | 2015-02-11 | 佳能株式会社 | 授权服务器和客户端设备、服务器协作系统和令牌管理方法 |
US9313193B1 (en) * | 2014-09-29 | 2016-04-12 | Amazon Technologies, Inc. | Management and authentication in hosted directory service |
US9819672B1 (en) * | 2015-06-26 | 2017-11-14 | EMC IP Holding Company LLC | Sharing access tokens with trusted users |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9374356B2 (en) | 2011-09-29 | 2016-06-21 | Oracle International Corporation | Mobile oauth service |
US8800009B1 (en) | 2011-12-30 | 2014-08-05 | Google Inc. | Virtual machine service access |
JP6166596B2 (ja) * | 2013-06-21 | 2017-07-19 | キヤノン株式会社 | 認可サーバーシステムおよびその制御方法、並びにプログラム |
US9178868B1 (en) | 2013-06-24 | 2015-11-03 | Google Inc. | Persistent login support in a hybrid application with multilogin and push notifications |
JP6265733B2 (ja) | 2013-12-25 | 2018-01-24 | キヤノン株式会社 | 権限管理サーバー及び権限管理方法 |
JP6354407B2 (ja) | 2014-07-11 | 2018-07-11 | 株式会社リコー | 認証システム、認証方法、プログラム及び通信システム |
US9942229B2 (en) * | 2014-10-03 | 2018-04-10 | Gopro, Inc. | Authenticating a limited input device via an authenticated application |
US9779233B2 (en) * | 2015-03-05 | 2017-10-03 | Ricoh Co., Ltd. | Broker-based authentication system architecture and design |
US9819665B1 (en) | 2015-06-26 | 2017-11-14 | EMC IP Holding Company LLC | Synchronization of access tokens for session continuity across multiple devices |
JP6675163B2 (ja) | 2015-07-24 | 2020-04-01 | キヤノン株式会社 | 権限委譲システム、認可サーバの制御方法、認可サーバおよびプログラム |
US10104084B2 (en) | 2015-07-30 | 2018-10-16 | Cisco Technology, Inc. | Token scope reduction |
US10270753B2 (en) | 2015-08-14 | 2019-04-23 | Salesforce.Com, Inc. | Background authentication refresh |
US10936711B2 (en) * | 2017-04-18 | 2021-03-02 | Intuit Inc. | Systems and mechanism to control the lifetime of an access token dynamically based on access token use |
US10708053B2 (en) * | 2017-05-19 | 2020-07-07 | Intuit Inc. | Coordinating access authorization across multiple systems at different mutual trust levels |
-
2019
- 2019-02-28 US US16/288,515 patent/US11122035B2/en active Active
- 2019-05-23 CN CN201980033051.5A patent/CN112136303B/zh active Active
- 2019-05-23 WO PCT/IB2019/054274 patent/WO2019224766A1/en active Application Filing
- 2019-05-23 JP JP2020554199A patent/JP7091470B2/ja active Active
- 2019-05-23 GB GB2019661.4A patent/GB2587169B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741851A (zh) * | 2009-12-23 | 2010-06-16 | 北京交通大学 | 一种增强源地址真实性保障的令牌更新方法 |
CN104255007A (zh) * | 2011-09-29 | 2014-12-31 | 甲骨文国际公司 | Oauth框架 |
CN104350501A (zh) * | 2012-05-25 | 2015-02-11 | 佳能株式会社 | 授权服务器和客户端设备、服务器协作系统和令牌管理方法 |
CN103780396A (zh) * | 2014-01-27 | 2014-05-07 | 华为软件技术有限公司 | 令牌获取方法及装置 |
US9313193B1 (en) * | 2014-09-29 | 2016-04-12 | Amazon Technologies, Inc. | Management and authentication in hosted directory service |
US9819672B1 (en) * | 2015-06-26 | 2017-11-14 | EMC IP Holding Company LLC | Sharing access tokens with trusted users |
Non-Patent Citations (3)
Title |
---|
Building secure healthcare services using OAuth 2.0 and JSON web token in IOT cloud scenario;Prajakta Solapurkar;《2016 2nd International Conference on Contemporary Computing and Informatics (IC3I)》;20170504;全文 * |
基于OAuth 2.0扩展的访问控制委托架构;沈海波;《广东第二师范学院学报》;20160620(第03期);全文 * |
改进的基于DAA的隐私保护云资源消费系统;柳欣;《小型微型计算机系统》;20151215(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
GB202019661D0 (en) | 2021-01-27 |
JP2021531531A (ja) | 2021-11-18 |
GB2587169A (en) | 2021-03-17 |
CN112136303A (zh) | 2020-12-25 |
JP7091470B2 (ja) | 2022-06-27 |
GB2587169B (en) | 2021-08-11 |
US11122035B2 (en) | 2021-09-14 |
WO2019224766A1 (en) | 2019-11-28 |
US20190364035A1 (en) | 2019-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112136303B (zh) | 用于耗时操作的刷新令牌的安全委托 | |
US11431501B2 (en) | Coordinating access authorization across multiple systems at different mutual trust levels | |
US10880292B2 (en) | Seamless transition between WEB and API resource access | |
US20240022431A1 (en) | Methods and systems for device authentication | |
US10277409B2 (en) | Authenticating mobile applications using policy files | |
US10305882B2 (en) | Using a service-provider password to simulate F-SSO functionality | |
US10587697B2 (en) | Application-specific session authentication | |
US8997196B2 (en) | Flexible end-point compliance and strong authentication for distributed hybrid enterprises | |
US9654462B2 (en) | Late binding authentication | |
US11283793B2 (en) | Securing user sessions | |
US10924464B2 (en) | Automatic credential rotation | |
EP3942775A1 (en) | Application integration using multiple user identities | |
US11874905B2 (en) | Establishing access sessions | |
US20180091490A1 (en) | Authentication framework for a client of a remote database | |
CN109587098B (zh) | 一种认证系统和方法、授权服务器 | |
JP2021140821A (ja) | 画面制御装置及び画面制御方法 | |
Edge et al. | Identity and Device Trust | |
CN116502201A (zh) | 基于oidc的机器人身份验证和授权系统及方法 |
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 |