CN110138718B - 信息处理系统及其控制方法 - Google Patents
信息处理系统及其控制方法 Download PDFInfo
- Publication number
- CN110138718B CN110138718B CN201910106833.9A CN201910106833A CN110138718B CN 110138718 B CN110138718 B CN 110138718B CN 201910106833 A CN201910106833 A CN 201910106833A CN 110138718 B CN110138718 B CN 110138718B
- Authority
- CN
- China
- Prior art keywords
- authorization
- token
- server
- client
- user
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000010365 information processing Effects 0.000 title claims abstract description 25
- 238000013475 authorization Methods 0.000 claims abstract description 411
- 230000004044 response Effects 0.000 claims abstract description 57
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 38
- 238000012545 processing Methods 0.000 description 24
- 238000012790 confirmation Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000012546 transfer Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 3
- 102100029968 Calreticulin Human genes 0.000 description 2
- 235000014510 cooky Nutrition 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 210000003813 thumb Anatomy 0.000 description 2
- 101100326671 Homo sapiens CALR gene Proteins 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
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/0884—Network 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- 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
-
- 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/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- 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/102—Entity profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- 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
- 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/3236—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 using cryptographic hash functions
-
- 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/3247—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 digital signatures
-
- 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)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及信息处理系统及其控制方法。客户端基于与从客户端接收到的授权请求对应的授权响应指定第一授权服务器,并且将用于请求授权令牌的令牌请求传送到第一授权服务器。第一授权服务器响应令牌请求发出授权令牌。
Description
技术领域
本发明涉及用于指定授权服务器的授权终点的信息处理系统及其控制方法。
背景技术
存在如下构造:包括在诸如多功能外围设备(MFP)的客户端中的应用经由包括在客户端中的令牌提供部,从授权服务器获取授权令牌。授权令牌是表示如下客户端已经许可对由资源服务器发布的应用程序编程接口(API)进行访问的令牌,该客户端通过被认证的用户进行的授权操作而已经接收到权限委派。通过使用授权令牌,客户端能够在不必向资源服务器或授权服务器传递诸如ID、密码信息和授权信息等的用户信息的情况下,对由资源服务器发布的API进行访问。例如,如果客户端是MFP,则通过使用所获取的授权令牌,MFP能够使用由资源服务器提供的诸如打印服务和商业表单服务等的web服务来显示数据并执行打印。
授权令牌由执行被称作OAuth 2.0的标准协议中的授权代码授予(AuthorizationCode Grant)流程的授权服务器发出。更具体地,用户通过web浏览器授权客户端使用由资源服务器提供的web服务,授权服务器将授权令牌发出到已经传送令牌请求的令牌提供部。令牌请求是传送到授权服务器的请求,使得令牌提供部能够获取授权令牌。
日本特开2017-107396号公报讨论了如下系统:包括在客户端中的应用经由包括在客户端中的令牌提供部,从授权服务器获取授权令牌。
发明内容
根据本发明的一方面,信息处理系统包括:客户端,其用于传送授权请求,所述授权请求供用户使用以授权通过所述客户端对资源服务器进行访问;以及两个或多个授权服务器,其存在于不同的区域中。所述授权服务器均包括第一指定单元,所述第一指定单元用于指定第一授权服务器,与授权进行所述访问的用户有关的用户信息位于所述第一授权服务器中。所述客户端包括第二指定单元,所述第二指定单元用于基于与所述区域有关的区域信息指定存在于所述区域中的授权服务器。所述授权服务器均包括第一传送单元,所述第一传送单元用于在接收到所述授权请求时,将用于对用户进行认证的认证请求传送到由所述第一指定单元指定的第一授权服务器,与授权进行所述访问的用户有关的用户信息位于所述第一授权服务器中。所述第一授权服务器包括第二传送单元,所述第二传送单元用于在通过所述第一传送单元传送所述认证请求时对用户进行认证,并且将作为对所述授权请求的响应的授权响应与如下信息一起传送到所述客户端,该信息表示与被认证的用户有关的用户信息所位于的所述第一授权服务器作为传送目的地的、。所述客户端包括第三传送单元,所述第三传送单元用于基于由所述第二传送单元传送的授权响应,将令牌请求传送到由所述第二指定单元指定的第一授权服务器,所述令牌请求用于请求对所述资源服务器进行访问的授权令牌。所述第一授权服务器包括发出单元,所述发出单元用于响应由所述第三传送单元传送的令牌请求发出所述授权令牌。
通过以下参照附图对示例性实施例的描述,本发明的其它特征将变得明显。
附图说明
图1是示出信息处理系统的网络构造的框图。
图2是示出各种设备的硬件构造的框图。
图3是示出构成信息处理系统的各种设备的软件构造的框图。
图4是示出令牌提供部中包括的功能的框图。
图5是信息处理系统中的授权流程图。
图6是示出客户端中的令牌请求处理的流程图。
图7是示出授权服务器中的令牌响应处理的流程图。
图8A和图8B是均示出JavaScript对象表示法(JSON(JavaScript ObjectNotation))Web Token(JWT)格式的授权请求(授权断言)声明的示例的图。
图9A和图9B是均示出id_token声明的示例的图。
图10A和图10B是均示出令牌请求(令牌断言)声明的示例的图。
图11是示出包括用户移动目的地信息的令牌响应的示例的图。
图12是示出授权确认画面的示例的图。
图13是示出在客户端登记期间进行的处理的流程图。
具体实施方式
上述用户信息由特定区域(以下称作区域)中的授权服务器管理。在提供分别与多个用户对应的多条用户信息的情况下,这些条用户信息并不总是由一个授权服务器集体管理。例如,如果应用被分配到多个区域并在全世界使用,则与使用该应用的用户有关的用户信息由用户所位于的区域中的授权服务器管理。用户信息所位于的授权服务器发出授权令牌。授权令牌由与用户信息的定位对应的授权服务器发出。这是因为从个人信息保护、安全性等观点出发,用户信息向另一区域的移动或共享是受限的,并且使用移动或共享受限的用户信息对用户进行认证。当由被认证的用户授予权限时,发出授权令牌。
用户通过授权确认画面(稍后描述)授予权限,该授权确认画面作为将授权请求从客户端传送到授权服务器的结果而进行显示。假定应用被用在多个区域中,对于授权请求被传送到的授权服务器存在大量选择。因此,令牌提供部需要指定授权请求被传送到的且用户信息所位于的授权服务器。
作为用于指定授权服务器的方法,例如,可以采用通过用户的操作来指定区域的方法。然而,该方法需要麻烦的手动操作,并且会因区域的选择留给用户的操作而导致安全问题。
本发明旨在于维持安全性的同时适当地选择用户信息所在的授权服务器,并且通过所选择的授权服务器发出授权令牌。根据本发明,可以在维持安全性的同时适当地选择用户信息所在的授权服务器,并且通过所选择的授权服务器发出授权令牌。
以下将参照附图描述用于实施本发明的示例性实施例。当不需要区分稍后描述的授权服务器200和201时,将授权服务器200和201称作“授权服务器200(201)”。当不需要区分稍后描述的资源服务器300和301时,将资源服务器300和301称作“资源服务器300(301)”。当授权服务器201发出授权令牌时,使用由授权服务器201发出的授权令牌访问由资源服务器301发布的应用程序编程接口(API(application programming interface))。授权服务器200与资源服务器300之间的关系也是如此。
将参照图1描述根据本发明的第一示例性实施例的信息处理系统。信息处理系统通过如图1所示的网络构造实现。广域网(WAN(wide area network))100由万维网(WWW(World Wide Web))系统创建。WAN100和各种设备200至500经由局域网(LAN(local areanetwork))101连接。
授权服务器200(201)是实现Oauth 2.0并进行诸如认证请求的接收和管理等的处理的服务器。图1示出了如下形式:授权服务器200和资源服务器300经由LAN 101连接,授权服务器201和资源服务器301经由LAN 101连接。然而,还能够使用如下形式:授权服务器200和资源服务器300经由WAN 100连接,授权服务器201和资源服务器301经由WAN 100连接。
授权服务器200(201)经由LAN 101连接到数据库服务器(未示出)。供授权服务器200(201)使用以实现授权服务器200(201)自身功能的数据可以存储在数据库服务器中。假定授权服务器200和资源服务器300是单独的服务器,并且授权服务器201和资源服务器301也是单独的服务器,来描述本示例性实施例。然而,各种服务器的物理配置不特别限于此。例如,两种服务器的功能可以配置在同一服务器上,或者单个授权服务器或单个资源服务器的功能可以由多个服务器实现。
在资源服务器300和授权服务器200(或资源服务器301和授权服务器201)的定位方面,形式不限于两服务器位于同一区域中或位于同一系统中的形式。不特别限制两服务器所定位的形式,只要资源服务器300能够对由授权服务器200发出的授权令牌进行询问即可。可选地,资源服务器300可以验证与授权令牌一起接收到的签名信息。
客户端400的示例包括打印机、多功能外围设备(MFP(multifunctionperipheral))、个人计算机(PC(personal computer))和智能电话。终端500包括web浏览器510。终端500的示例包括PC和智能手机。用户能够通过web浏览器510使用各种设备200至500的功能,诸如对授权服务器200(201)的用户认证请求和对客户端400进行的登录操作等。
客户端400还包括web浏览器410。用户通过操作web浏览器410或web浏览器510执行稍后描述的授权操作。客户端400和终端500经由LAN 101连接。当不需要区分用于执行操作的web浏览器410和510时,在下文中将web浏览器410和510称作“web浏览器410(510)”。
在本示例性实施例中,客户端400、终端500、授权服务器200和资源服务器300位于区域“jp”中,授权服务器201和资源服务器301位于区域“eu”中。在本示例性实施例中使用的术语区域是指如下区域:从个人信息保护、安全性等的观点出发,在与用户信息向该区域的外部移动有关的信息技术、法律等方面存在某种限制的区域。
接下来参照图2,将描述授权服务器200(201)、资源服务器300(301)、客户端400和终端500中的每一者的硬件构造。图2是示出常规信息处理装置的框图。根据本示例性实施例的各种设备200至500能够应用常规信息处理装置的硬件构造,或者能够应用被作为基础设施即服务(IaaS(Infrastructure as a Service))提供的信息处理装置的虚拟硬件构造。尽管图2通过以客户端400为例示出了硬件构造,但是资源服务器300(301)、授权服务器200(201)和终端500也具有与客户端400类似的硬件构造。
中央处理单元(CPU)2001是从随机存取存储器(RAM(random access memory))2002、只读存储器(ROM(read-only memory))2003、外部存储器2011等读取程序、执行程序的指令并控制客户端400的单元。通过执行程序的指令来实现稍后描述的顺序。另外,CPU2001还控制连接到系统总线2004的每个块。
RAM 2002是供CPU 2001使用以执行指令的工作存储器。RAM 2002加载有存储在ROM 2003或外部存储器2011中的诸如操作系统(OS(operating system))和应用等的程序。CPU 2001依次读取程序的指令,由此执行指令。ROM2003是记录有包括应用程序和OS的内置程序和数据的存储设备。
键盘控制器(KBC(keyboard controller))2005是控制来自键盘(KB(keyboard))2009或指示设备(未示出)的输入的单元。阴极射线管控制器(CRTC(cathode ray tubecontroller))2006是控制阴极射线管(CRT(cathode ray tube))显示器2010的显示的单元。磁盘控制器(DKC(disk controller))2007是控制对外部存储器2011的数据访问的单元。网络控制器(NC(network controller))2008对与经由WAN 100或LAN 101连接的另一设备的通信进行控制处理。被作为IaaS提供的虚拟信息处理装置不包括KBC 2005和CRTC2006,并且被构造为通过包括在经由NC2008连接的终端中的键盘或CRT显示器进行操作。
在以下描述中,除非另有说明,CPU 2001是执行各种设备200至500的功能的硬件的主体,安装在RAM 2002、ROM 2003、外部存储器2011中的程序是软件的主体。
接下来参照图3,将描述授权服务器200(201)、资源服务器300(301)、客户端400和终端500具有的功能。授权服务器201包括与授权服务器200的功能类似的功能,资源服务器300包括与资源服务器301的功能类似的功能。因此,在图3中,以客户端400、授权服务器200和资源服务器300为例进行描述。
授权服务器200包括授权服务器单元210和超文本传输协议(HTTP(HyperTextTransfer Protocol))服务器单元220。HTTP服务器单元220具有经由WAN100连接到客户端400和终端500中的每一者的功能,并且与web浏览器410(510)和稍后描述的应用420进行HTTP通信。HTTP服务器单元220能够通过使用安全套接层(SSL(Secure Sockets Layer))/传输层安全(TLS(Transport Layer Security))进行通信,并且包括证书存储器(未示出)。
授权服务器单元210具有经由HTTP服务器单元220从web浏览器410(510)接收请求并将接收到的请求的结果作为响应发送出去的功能。更具体地,HTTP服务器单元220从web浏览器410(510)接收用户认证的请求,并且生成与认证成功的用户的用户信息相关联的认证令牌。所生成的认证令牌发送到web浏览器410(510)。认证令牌是表示用户已经登录授权服务器200的令牌,或者是用于验证用户是否在授权服务器200中被认证的令牌。通过使用认证令牌,授权服务器200能够识别用户。授权服务器单元210还能够被构造为保存用于为授权令牌提供签名信息的私钥。在这种情况下,私钥用于为授权令牌提供签名信息,具有签名信息的授权令牌发出到客户端400。
资源服务器300包括资源服务器单元310。资源服务器单元310具有发布用于提供web服务的API的功能。与授权服务器200类似,资源服务器300可以被构造为包括HTTP服务器单元,并且经由HTTP服务器单元向外部装置传送信息和从外部装置接收信息。
客户端400包括web浏览器410、应用420、认证单元430和令牌提供部440。web浏览器410具有使用WWW的、通过用户代理实现的功能。web浏览器410通过用户的操作与授权服务器200和令牌提供部440通信。包括在终端500中的web浏览器510具有与web浏览器410类似的功能。应用420具有经由令牌提供部440从授权服务器200获取授权令牌的功能。通过使用所获取的授权令牌,应用420能够利用由资源服务器300发布的API。
令牌提供部440从应用420接收授权令牌请求,并且与授权服务器200通信以获取授权令牌。用户通过使用web浏览器410(510)与授权服务器200和令牌提供部440通信,由此进行授权操作。
在本文中使用的术语“授权令牌请求”是指通过应用420传送到令牌提供部440以获取授权令牌的请求。在本文中使用的术语“令牌请求”是指通过令牌提供部440传送到授权服务器200(201)以获取授权令牌的请求。应当注意,因为即使两请求获取相同的授权令牌,请求的传送目的地和传送源也是不同的,所以这些请求具有不同的名称。
令牌提供部440包括作为供应商默认凭证的客户端证书和客户端证书的私钥,客户端证书以X.509格式定义,用于证明令牌提供部440自身。通过使用客户端证书和其私钥的令牌提供部440建立与授权服务器200的通信,授权服务器200能够对令牌提供部440进行认证。
认证单元430具有对用户进行认证的功能。用户在客户端400的输入画面(未示出)上输入本地用户ID和本地用户密码,以使用客户端400的功能。已经接收到所输入的信息的客户端400将所输入的信息与预先登记在认证单元430中的信息(本地用户ID和本地用户密码)进行比较,以进行用户的认证处理并生成登录上下文(login context)。认证处理不限于该形式。例如,还可以使用采用集成电路(IC(integrated circuit))卡的认证或采用指纹等的生物认证。
在本文中使用的术语“登录上下文”是指用于识别客户端400中的本地用户的信息。例如,登录上下文包括本地用户ID。当本地用户登录客户端400时,会在客户端400的OS(未示出)中生成登录上下文,当本地用户注销客户端400时,登录上下文会被删除。当登录上下文通过本地用户的登录操作而生成时,会在web浏览器410上发布如下网页:所登录的本地用户对该网页具有访问权限。登录上下文会通过本地用户的注销操作而被删除,从而在防止了本地用户具有访问权限的网页向另一用户发布的同时确保了安全性。由认证单元430生成的登录上下文在应用420、认证单元430和令牌提供部440之间是共享的。
本示例性实施例描述了用户通过直接操作客户端400来进行登录操作的形式。然而,还能够使用用户通过web浏览器510远程操作客户端400来进行登录操作的形式。在这种情况下,认证单元430向web浏览器510返回登录画面(未示出)。用户在登录画面上输入本地用户ID和本地用户密码,以使用户信息被认证。
将参照图4描述令牌提供部440具有的功能。令牌提供部440包括终点选择单元610、令牌获取单元620、令牌管理单元630、令牌分配单元640、客户端登记单元650、密钥管理单元660、断言JavaScript对象表示法(JSON(JavaScript Object Notation))Web Token(JWT)生成单元670和id_token验证单元680。
终点选择单元610具有在稍后描述的授权流程中将授权请求传送到授权终点的功能。在这种情况下,终点选择单元610选择所有区域共用的授权终点统一资源标识符(URI)(在下文中,称作所有区域共用URI)。表1示出了所有区域共用URI的示例。
表1所有区域共用URI
No. | 授权终点URI |
1 | <u>https://example.com/oauth2/authorize</u> |
表1包括“No.”(项目编号)和“授权终点URI”的列,所有区域共用URI登记在“授权终点URI”中。可以使用外部应用程序等执行表1中的所有区域共用URI的登记。不特别限制用于登记表1中的所有区域共用URI的形式。
令牌获取单元620具有在稍后描述的授权流程中将令牌请求传送到的令牌终点的功能。令牌终点由令牌获取单元620基于稍后描述的id_token确定。
令牌管理单元630具有针对各本地用户ID管理由令牌获取单元620获取的授权令牌的功能。表2示出了由令牌管理单元630管理的令牌数据库的示例。
表2令牌数据库
表2包括“No.”、“本地用户ID”、“区域”和“授权令牌”的列,本地用户ID设定为主密钥。表2是通过执行稍后描述的授权流程(S1.0至S2.2)生成或更新的,并且由令牌管理单元630管理。在这种情况下,存储在“区域”中的信息是从稍后描述的id_token获取的信息,并且表示供授权令牌获取的授权服务器的区域。
令牌分配单元640具有基于表2指定与从应用420接收到的本地用户ID(包括在授权令牌请求中)相关联的区域信息和授权令牌的功能,并且将授权令牌传送到应用420。
如果表2中不存在从应用420接收到的本地用户ID,则确定不执行图5所示的授权流程。此外,终点选择单元610执行图5所示的授权流程,并且将所获取的授权令牌、本地用户ID和从稍后描述的id_token获取的区域信息存储在令牌管理单元630中(表2)。
客户端登记单元650具有执行用于将客户端400登记在授权服务器200(201)中的客户端登记的功能。密钥管理单元660保存在客户端登记期间获取的断言私钥(用于断言JWT签名的加密密钥)。该密钥用于为稍后描述的授权断言和令牌断言进行签名。
密钥管理单元660预先保存与保存在授权服务器200(201)中的id_token私钥(用于为id_token提供签名的加密密钥)对应的id_token公钥(用于验证id_token的签名的解密密钥),并且具有保存和获取密钥的功能。
断言JWT生成单元670具有通过使用保存在密钥管理单元660中的断言私钥生成稍后描述的授权断言和令牌断言的功能。id_token验证单元680具有通过使用保存在密钥管理单元660中的id_token公钥验证稍后描述的id_token的功能。令牌提供部440包括上述功能。
将参照图5和图13描述客户端登记流程和授权流程。将省略上述处理的详细描述。
首先参照图13,将描述在客户端登记期间进行的处理。作为用于基于Oauth 2.0中的授权代码授予(Authorization Code Grant)来执行根据本示例性实施例的授权流程的预先操作,在步骤S0.0中,将用于登记客户端400的登记请求发送到授权服务器200。更具体地,将用于登记客户端400的登记请求传送到授权服务器200中的登记终点(在图5和图13中,终点由“EP”表示),并且当启动客户端400时,或者当在开始稍后描述的步骤S1.1中的授权流程之际未登记客户端400时,开始登记请求处理。用于传送客户端登记请求的方法的示例包括使令牌提供部440的客户端登记单元650与授权服务器200主动通信的方法,以及用户通过web浏览器510访问授权服务器200以登记客户端400的方法。
步骤S0.0中的客户端登记请求包括待显示在稍后说明的授权确认画面上的客户端名称、描述、图标图像和作为必要参数的重定向统一资源标识符(URI)。重定向URI是指定如下传送目的地的地址:客户端400将稍后描述的授权响应传送到的传送目的地。在步骤S0.1中,已经接收到用于登记客户端400的登记请求的授权服务器200生成用于识别客户端400的客户端ID和用于认证客户端400的一对密钥(断言公钥和断言私钥),并且作为对用于登记客户端400的登记请求的响应将断言私钥传送到客户端400。作为用于传送断言私钥的方法,可以使用密钥交换协议对断言私钥进行加密和传送。
令牌提供部440将断言私钥存储在密钥管理单元660中。授权服务器200以相关联的方式保存客户端ID、断言公钥、在步骤S0.0中获取的各种信息和重定向URI。令牌提供部440将在步骤S0.1中接收到的客户端ID和断言私钥保存在密钥管理单元660中。
在存在于令牌提供部440(客户端400)所在的区域中的授权服务器200上执行图13所示的客户端登记。在客户端登记期间生成和存储的与客户端400有关的信息(客户端ID、断言公钥等)不仅由授权服务器200共享,而且还由另一授权服务器(例如,授权服务器201)共享。结果,即使当认证请求的传送目的地(稍后描述的S1.5)在用户间不同时,也能够使用在授权服务器之间共享的客户端ID和断言公钥来执行诸如稍后描述的id_token的发出或授权令牌的发出等的令牌的信息交换。
以上已经描述了作为用于执行授权流程的预先操作而进行的客户端登记处理。
将参照图5描述在客户端登记处理之后执行的授权流程。
在步骤S1.0中,用户登录客户端400。客户端400的认证单元430生成并保存登录上下文,该登录上下文是用于指定所登录的用户的信息。通过使用所生成的登录上下文,可以从登录上下文获取用于指定所登录的用户的信息(例如,本地用户ID)。
在步骤S1.1中,当用户通过web浏览器510访问授权开始URI时,用户基于根据本示例性实施例的Oauth 2.0开始授权流程。在步骤S1.2中,当访问用于开始授权流程的授权开始URI时,客户端400将授权请求传送到授权终点。经由所有区域共用URI访问授权终点。
<授权终点>
现在将描述用于指定授权终点的方法。为了选择适当的授权服务器并获取授权令牌,首先令牌提供部440将授权请求传送到所有区域共用URI。作为传送授权请求的结果而被访问的域名系统(DNS(Domain Name System))服务器管理使授权终点URI与互联网协议(IP(Internet Protocol))地址相关联的数据(DNS记录)。经由DNS服务器进行通过web浏览器对授权服务器的访问,并且基于DNS记录将所有区域共用的授权终点URI转换(名称解析)为IP地址。在这种情况下,地理路由功能(在亚马逊网络服务(AWS(Amazon Web Services))的情况下为地理路由功能)基于授权请求源(客户端400)的IP地址参照地理数据库,IP地址被转换为适当的授权终点URI,授权终点URI被传送到授权请求传送源。
在本示例性实施例中,客户端400和授权服务器200存在于相同区域“jp”中。因此,在通过web浏览器510访问所有区域共用URI的情况下,通过地理路由功能向令牌提供部440返回存在于相同区域“jp”中的授权服务器200的授权终点URI。令牌提供部440将授权请求传送到授权终点URI。图5所示的步骤S1.2表示授权请求被传送到由地理路由功能指定的授权终点URI的状态。
<授权请求>
将描述由令牌提供部440传送的授权请求。当令牌提供部440传送授权请求时,还传送用于获取安全信息(稍后描述的id_token)的请求。
授权请求以具有签名的JWT格式呈现,包括response_type、client_id、redirect_uri和state参数。为了便于描述,在下文中将JWT格式的授权请求称作“授权断言”。授权断言包括稍后描述的报头和有效负载。
响应于授权请求,使用在步骤S0.1中的客户端登记响应时获取的断言私钥为授权断言提供签名,并且使用RFC7518JSON Web算法(JWA)中规定的ES256(使用P-256曲线和SHA-256散列的ECDSA)作为签名算法。图8A示出了授权断言的报头的示例。
在图8A中,“typ”代表JWT的类型,其中“Assertion(断言)”被设定为表示类型是断言JWT的值,“alg”代表值“ES256”被设定的签名算法,“kid”代表用于验证JWT的签名的、断言公钥和断言私钥的ID。被设定为“kid”的值的示例包括通用唯一标识符(UUID(Universally Unique Identifier))和基于JSON Web Key(JWK)Thumbprint(RFC 7638)规范的公钥的thumbprint。
图8B示出了授权断言的有效负载声明(payload claim)的示例。在图8B中,“response_type”代表Oauth 2.0中的响应类型。为了在稍后描述的授权响应中获取id_token,为“response_type”设定值“id_token”。
用“iss”代表用于识别JWT的发出者的标识符。在授权断言的情况下,将表示客户端ID的UUID设定为值。与“iss”类似,用“sub”代表用户标识符,并且设定表示客户端ID的UUID。通过用以“iss”和“sub”中的每一者的URI-safe Base64格式代表的字符串进行编码,将“iss”和“sub”包括在JWT格式的授权请求中。用“exp”代表授权断言的到期日期,用“iat”代表授权断言的发出日期和时间。“exp”和“iat”两者均用从Unix Epoch(1970年1月1日(世界标准时间))起所经过的秒数代表。
图8B所示的有效负载声明还包括代表Oauth 2.0中的重定向URI的“state”和“redirect_uri”。“state”代表用于使授权请求与授权响应唯一地相关联的信息,并且用于防止跨站请求伪造(CSRF(cross-site request forgery))攻击或令牌替换攻击。因而,需要将不能被推测出的唯一值设定为“state”。已经接收到稍后描述的授权响应的客户端400验证state的值是否与在步骤S1.2中的授权请求时传送的state的值一致。为了识别已经执行授权请求的本地用户,通过客户端400以如下方式管理由客户端400发出的“state”:“state”与重定向URI和登录上下文中的每一者相关联。
令牌提供部440基于JWT规范如图8A和图8B所示那样创建授权断言。通过使用上述断言私钥,为授权断言提供JWT格式的签名(未示出)。以上已经描述了授权请求。
返回参照图5,在步骤S1.3中,已经在步骤S1.2中接收到授权请求的授权服务器200向web浏览器510返回所有区域共用的登录画面。登录画面在隐藏域中包括授权断言。在步骤S1.4中,用户通过web浏览器510输入用户ID和密码,并且将认证请求发送到授权服务器200。此时,同时发布先前作为登录画面中的隐藏域而被接收的授权断言和认证请求。在这种情况下,在步骤S1.4中传送到授权服务器200的用户ID是用于登录授权服务器的用户标识符,并且与在步骤S1.0中使用的本地用户ID不同。
在步骤S1.5中,授权服务器200确定用户ID所属区域(授权服务器的用于管理与由用户ID指定的用户有关的用户信息的区域),并且将登录画面重定向到适当区域中的授权服务器。表3示出了在不同区域中的授权服务器之间共享的用户所属区域表的示例。
表3用户所属区域表
用户ID(散列值)是通过安全散列算法(SHA(Secure Hash Algorithm))-256算法针对各用户ID字符串计算出的散列值。所属区域是由用户ID指定的用户所属的区域。表3示出了“user1@110AA”(散列值:b927736961c523464a5559982a527eccd18277cbeeec092ea67959990241bcc3)的所属区域是“JP”,“user2@110Ab”(散列值:8afe0cae0d1a4fbb380348ff1999aa1d40ecf829a730b82bdcb6a628796b51b2)的所属区域是“EU”,“user3@120AA”(散列值:25dac1eaecc81673cb64157be38babb6a13b53b020e2d88dfdca70054c84cf03)的所属区域是“jp”。
用户所属区域表(表3)在用户登记期间更新,并且在所有区域中的授权服务器之间定期共享最新数据。由于用户ID是用散列值代表的,所以通常无法从该值恢复用户ID。因此,在所有区域中的授权服务器之间共享用户所属区域表(表3)并不意味着用户信息被共享。
将描述步骤S1.5中的登录画面的重定向。描述在步骤S1.3中的所有区域共用登录画面上输入用户ID“user2@110Ab”和密码“password”的情况。授权服务器200计算所输入的用户ID的散列值。参照表3由计算出的散列值,指定用户的所属区域“eu”。向web浏览器510中的cookie返回在认证请求中发布的用户ID、密码和授权断言,并且在认证请求中发布的用户ID、密码和授权断言作为认证请求重定向到授权服务器201的登录URI,其中授权服务器201是从属于区域“eu”的授权服务器。
本示例性实施例示出了由存储在表3中的从属区域指定授权服务器201的登录URI的形式。更具体地,提前确定不同区域中的各授权服务器的登录URI的类型,对该类型应用表3所示的“从属区域”,由此为各授权服务器指定登录URI。然而,本示例性实施例的形式不限于该形式(表3)。可选地,可以使用如下形式:以使登录URI与散列值相关联的方式管理各授权服务器的登录URI和各用户ID的散列值。
授权服务器201验证与在步骤S1.5中重定向的用户ID和密码相关联的关联信息是否与提前登记的关联信息一致。如果各关联信息一致,则发出认证令牌。向web浏览器510中的cookie返回所发出的认证令牌。以上已经描述了登录画面的重定向。
返回参照图5,在步骤S1.6中,授权服务器201向web浏览器510返回用于确认用户是否同意对客户端400的授权的授权确认画面。图12示出了授权确认画面的示例。作为要求用户同意的内容,授权确认画面1200包括待授权的客户端400的客户端名称1201、与客户端400有关的描述1202以及图标图像1203。授权确认画面1200还包括供用户授权客户端400的“许可”按钮1204以及供用户拒绝授权的“拒绝”按钮1205。将稍后描述当按下“拒绝”按钮1205时执行的处理或当按下“许可”按钮1204时执行的处理(S1.7)。
授权确认画面包括作为隐藏域的包括在被重定向的认证请求中的授权断言。然而,在验证了包括在验证请求中的授权断言的签名之后,如果包括在授权断言中的客户端ID和重定向URI的组合与被服务器201和另一区域中的授权服务器共享的客户端ID和重定向URI的组合不一致,则向web浏览器510返回错误画面而非授权确认画面。因而,能够防止对登录URI进行未经授权的重定向。类似地,当按下授权确认画面1200的“拒绝”按钮1205时,向web浏览器510传送错误画面。
如果已经登录过授权服务器201的用户使用相同的客户端ID已经完成授权操作,则能够省略步骤S1.6和S1.7的处理。
在步骤S1.7中的按下“许可”按钮1204且用户执行了授权操作之后,在步骤S1.8中,授权服务器201向授权服务器201的授权终点发布包括在授权操作中的授权断言。授权服务器201验证向授权终点发布的授权断言。在这种情况下验证授权断言的原因是,授权断言是从作为授权服务器201外部的装置(web浏览器510)接收到的指令(在这种情况下为授权操作)。因而,需要验证授权断言的内容是否非伪造。
如果授权断言的验证成功,则在步骤S1.9中,生成id_token,并且将所生成的id_token作为对客户端400的重定向URI的授权响应传送出去。更具体地,通过web浏览器510将所生成的id_token从授权服务器201传送到客户端400。在传送所生成的id_token时,将id_token作为重定向URI的询问参数提供并传送到web浏览器510。结果,id_token重定向到由重定向URI指定的目的地。由授权服务器201生成的id_token与客户端ID、用户ID和重定向URI相关联地存储在授权服务器201中。
如果在步骤S1.8中授权断言的验证不成功,则授权服务器201向web浏览器510返回授权错误。
<id_token>
由授权服务器201生成的id_token是包括与授权服务器的最终用户认证有关的声明的安全令牌,并且在OpenID Connect规范(OpenID Foundation OpenID ConnectCore1.0)中是有规定的。id_token包括与使用授权令牌的区域有关的区域信息,并且用具有签名的JSON Web Token(JWT RFC7518,JWT RFC7515)代表。通常,id_token包括关于最终用户认证的声明组(与认证有关的声明)和与其它用户属性有关的声明组。根据本示例性实施例的id_token在有效负载声明中包括“iss”、“sub”、“aud”、“exp”、“iat”和“nonce”。
使用id_token私钥提供id_token的签名,并且使用JWA中规定的ES256签名作为签名算法。图9A示出了id_token的报头的示例。将省略以上参照图8A和图8B描述的部分的描述。
id_token的报头包括:id_token的签名算法“ES256”,其用“alg”代表;和“kid”,其代表用于验证id_token的签名的、id_token公钥和id_token私钥的ID。作为“kid”,可以使用UUID和基于JWK Thumbprint(RFC7638)规范的公钥的thumbprint。
图9B示出了与存在于id_token的有效负载中的用户属性有关的声明的示例。基于OpenID Connect Core1.0的定义,为“iss”设定不包括询问和片段部(fragment portion)的、以“https://”开头的URI。在这种情况下,由于id_token的发出者是授权服务器201,所以设定代表授权服务器201的“https://eu-auth.example.com”。
用“aud”代表id_token的发出对象。在这种情况下,将客户端ID的值设定为“aud”。“sub”和“aud”是均以URI-safe Base64格式代表的字符串。id_token包括主要用于防止重放攻击的“nonce”,将“state”参数的值设定为“nonce”。以上已经描述了id_token。
返回参照图5,对于为id_token提供签名而言需要id_token私钥,对于验证id_token而言需要id_token公钥。描述了如下情况:在各个区域中的授权服务器之间提前共享id_token私钥,将id_token公钥预先存储在客户端400中。
已经在步骤S1.9中接收到授权响应的客户端400验证包括在该授权响应中的id_token的签名(未示出),并且确定包括在id_token中的“nonce”是否与由客户端400管理的“state”一致。如果确定“nonce”与“state”一致,则客户端400参照id_token中的“iss”获取作为id_token的发出者的授权服务器201的URI。在这种情况下,令牌提供部440的id_token验证单元680参照id_token中的“iss”获取授权服务器201的URI“https://eu-auth.example.com”。参照所获取的授权服务器201的URI中的位于主机名“eu-auth”中的连字符之前的字符串“eu”,识别区域字符串。将识别出的区域字符串存储在令牌数据库(表2)中。
令牌数据库还存储当前登录客户端400的用户的本地用户ID。在步骤S2.0中,将用于获取授权令牌的令牌请求传送到授权服务器201的令牌终点。令牌请求以JWT格式描述。为了将令牌请求与在授权请求期间使用的断言JWT区分开,在下文中将JWT格式的令牌请求称作“令牌断言”。令牌断言包括报头和有效负载。令牌断言还包括客户端ID、从id_token中的子声明获取的用户ID和重定向URI。图10A示出了令牌断言的报头的示例。
在图10A中,“typ”代表JWT的类型,其中“Assertion”被设定为表示类型是断言JWT的值。报头还包括:“alg”,其代表被设定为“ES256”的签名算法;和“kid”,其代表用于验证JWT签名的、断言公钥和断言私钥的ID。作为“kid”,可以使用UUID和基于JWK Thumbprint(RFC7638)规范的公钥的thumbprint。
图10B示出了与令牌断言有关的有效负载声明的示例。将省略对上述部件的描述。
在图10B中,“response_type”代表Oauth 2.0中的被设定为“id_token”的响应类型。有效负载声明还包括:“iss”,其代表Oauth 2.0中的客户端ID;“redirect_uri”,其代表Oauth 2.0中的重定向URI;和“sub”,其代表用户标识符。在本示例性实施例中,将包括在先前获取的id_token中的值设定为“sub”。
令牌提供部440基于JWT规范如图10A和图10B那样创建包括报头和有效负载的令牌断言。令牌断言包括使用在客户端登记响应时获取的断言私钥所提供的签名(省略了JWT中的签名的细节)。
已经在步骤S2.0中接收到令牌请求的授权服务器201通过使用断言公钥来验证令牌断言的签名。此外,授权服务器201分析在步骤S2.0中接收到的令牌断言,并且获取“iss”、“sub”、“redirect_uri”、“iat”和“exp”。通过分析所获取的信息,授权服务器201能够验证已经在步骤S1.2中将授权请求传送出去的客户端400是否与已经在步骤S2.0中将令牌请求传送出去的客户端400一致,并且验证授权服务器201中是否存在与请求授权令牌的用户有关的信息。
如果验证成功,则在步骤S2.1中,授权服务器201将授权令牌作为令牌响应传送到客户端400。令牌提供部440的令牌管理单元630将所获取的授权令牌存储在令牌数据库(表2)中。
在步骤S3.0中,令牌提供部440的令牌分配单元640从包括在令牌管理单元630中的令牌数据库(表2)中搜索当前登录的用户的用户ID,并且获取区域信息和授权令牌。将所获取的区域信息和授权令牌传送到应用420。
在步骤S3.1中,应用420基于接收到的授权令牌和区域信息访问由资源服务器301发布的API。更具体地,应用420通过使用预先内置在应用420中的、各区域的资源服务器URI(未示出),以及从令牌提供部440获取的区域信息,来访问由资源服务器301发布的API。在示例性实施例中,将步骤S3.1中的资源请求传送到资源服务器301,其中资源服务器301存在于与管理用户信息的授权服务器201相同的区域“eu”中。
以上已经描述了授权流程。根据本示例性实施例,可以在无需用户任何手动操作的情况下适当地选择存在有用户信息的授权服务器,并且可以使得所选择的授权服务器发出授权令牌。另外,通过使用所获取的授权令牌,可以请求区域中的存在有用户信息的资源服务器发送资源。
第二示例性实施例描述在授权请求(S1.2)和授权响应(S1.9)正常完成之后且在传送令牌请求(S2.0)之前,在用户移动到另一区域的情况下,继续获取令牌的形式。
更具体地,假定情况是这样的:在步骤S1.2至S1.9中授权的用户因出差、搬家等而已经移动到另一区域。在这种情况下,需要将与已经移动的用户有关的用户信息移动到移动目的地的区域中的授权服务器。假定情形是这样的:在用户信息移动期间,在用户移动到另一区域之前将令牌请求传送到已经授权的授权服务器。
首先参照图6,将描述在从授权响应(S1.9)到令牌请求(S2.0)期间,当与被授权的用户有关的用户信息从授权服务器201移动时所要进行的处理。图6所示的处理是主要由令牌提供部440(客户端400)执行的令牌请求处理。
在步骤S6.0中,令牌提供部440将授权请求传送到授权服务器200。该处理与第一示例性实施例中的步骤S1.2的处理类似。在步骤S6.1中,令牌提供部440接收授权响应。该处理与第一示例性实施例中的步骤S1.9类似。在这种情况下,令牌提供部440验证包括在授权响应中的id_token。在验证之后,在步骤S6.2中,令牌提供部440将JWT格式的令牌请求(令牌断言)传送到授权服务器201的令牌终点,并且在步骤S6.3中,令牌提供部440接收对令牌请求的令牌响应。在步骤S6.4中,令牌提供部440分析令牌响应并确定令牌响应是否包括授权令牌。如果确定包括授权令牌(在步骤S6.4中为“是”),则与第一示例性实施例类似,处理前进到步骤S3.0。如果确定不包括授权令牌(在步骤S6.4中为“否”),则处理前进到步骤S6.5。在步骤S6.5中,令牌提供部440确定令牌响应是否包括用户移动目的地信息。
图11示出了包括用户移动目的地信息的令牌响应的示例。在图11中,“destination_uri”代表移动目的地令牌终点,其由授权服务器201基于稍后描述的用户移动目的地信息确定为用户信息的移动目的地。
如果在步骤S6.5中确定令牌响应包括用户移动目的地信息(在步骤S6.5中为“是”),则处理返回到步骤S6.2,并且将令牌请求再次传送到由用户移动目的地信息指定的移动目的地令牌终点。只要令牌响应中包括“destination_uri”,就反复执行步骤S6.2至S6.5的处理。然而,在这种情况下,还可以使用如下形式:当执行次数超过一定值或当经过一定时间时,在令牌提供部440中发生错误,由此终止处理。
在步骤S6.5中,如果确定令牌响应中不存在用户移动目的地信息(在步骤S6.5中为“否”),则处理返回到步骤S6.0,并且令牌提供部440将授权请求传送到授权服务器200。反复执行从步骤S6.5返回到步骤S6.0的处理,直到令牌响应中包括用户移动目的地信息为止。然而,与返回到步骤S6.2的处理类似,还可以使用如下形式:为执行次数或处理时间设定上限,并且当超过该上限时,在令牌提供部440中发生错误,由此终止处理。以上已经描述了图6所示的处理。
参照图7,将描述已经从令牌提供部440接收到令牌请求的授权服务器201传送令牌响应的处理。与步骤S2.0类似,在步骤S7.1中,授权服务器201在令牌终点处接收令牌断言。在步骤S7.2中,授权服务器201通过使用断言公钥验证令牌断言,并且从“sub”获取用户标识符。此时,在步骤S7.3中,授权服务器201确定授权服务器201中是否存在所获取的用户标识符。如果确定授权服务器201中存在用户标识符(在步骤S7.3中为“是”),则处理前进到步骤S7.4。在步骤S7.4中,与第一示例性实施例的步骤S2.1类似,将授权令牌作为令牌响应传送到客户端400。如果确定授权服务器201中不存在用户标识符(在步骤S7.3中为“否”),则处理前进到步骤S7.5。在步骤S7.5中,确定用户信息移动目的地表中是否存在用户标识符。表4示出了在确定时参照的用户信息移动目的地表的示例。
表4用户信息移动目的地表
No. | 用户标识符 | 移动目的地令牌终点 |
1 | dXNlcjJAMTEwQUI | https://us.example.com/oauth2/token |
用户信息移动目的地表包括用户标识符和移动目的地令牌终点的列。移动目的地令牌终点代表当用户信息被移动到另一区域中的授权服务器时,用户信息的移动目的地的授权服务器的令牌终点URI。
更具体地,在步骤S7.5中,授权服务器201确定是否存在包括在令牌断言的“sub”中的用户标识符“dXNlcjJAMTEwQUI”。如果确定存在用户标识符(在步骤S7.5中为“是”),则处理前进到步骤S7.6。在步骤S7.6中,授权服务器201获取相应的移动目的地令牌终点,并且将被描述为“destination_uri”的移动目的地令牌终点URI的令牌响应传送到令牌提供部440。“destination_uri”代表在图6所示的处理中描述过的“用户移动目的地信息”。
如果在步骤S7.5中确定不存在用户标识符(步骤S7.5中为“否”),则授权服务器201将错误响应传送到令牌提供部440并终止处理。
根据本示例性实施例,即使在当将与被授权的用户有关的用户信息传送到另一授权服务器时执行令牌请求的情况下,也可以在不再次对用户授权的情况下继续处理,直到获取授权令牌为止。
以上示例性实施例描述了如下形式:使用地理路由功能将授权请求传送到在地理上靠近令牌提供部440(客户端400)的授权服务器200。鉴于访问时间等,采用该形式。然而,用于确定授权请求的传送目的地的方法不特别限于此,只要传送目的地是共享用户所属区域表(表3)的授权服务器即可。
其它实施例
另外,可以通过读取并执行记录在存储介质(也可更完整地称为“非临时性计算机可读存储介质”)上的计算机可执行指令(例如,一个或更多个程序)以执行上述实施例中的一个或更多个的功能、并且/或者包括用于执行上述实施例中的一个或更多个的功能的一个或更多个电路(例如,专用集成电路(ASIC))的系统或装置的计算机,来实现本发明的实施例,并且,可以利用通过由所述系统或装置的所述计算机例如读取并执行来自所述存储介质的所述计算机可执行指令以执行上述实施例中的一个或更多个的功能、并且/或者控制所述一个或更多个电路执行上述实施例中的一个或更多个的功能的方法,来实现本发明的实施例。所述计算机可以包括一个或更多个处理器(例如,中央处理单元(CPU),微处理单元(MPU)),并且可以包括分开的计算机或分开的处理器的网络,以读取并执行所述计算机可执行指令。所述计算机可执行指令可以例如从网络或所述存储介质被提供给计算机。所述存储介质可以包括例如硬盘、随机存取存储器(RAM)、只读存储器(ROM)、分布式计算系统的存储器、光盘(诸如压缩光盘(CD)、数字通用光盘(DVD)或蓝光光盘(BD)TM)、闪存设备以及存储卡等中的一个或更多个。
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
虽然已经参照示例性实施例描述了本发明,但是应当理解,本发明不限于所公开的示例性实施例。应当对所附权利要求的范围给予最宽的解释,以使其涵盖所有这些变型例以及等同的结构和功能。
Claims (12)
1.一种信息处理系统,所述信息处理系统包括:
客户端,其用于传送授权请求,所述授权请求供用户使用以授权通过所述客户端对资源服务器进行访问;以及
两个或更多个授权服务器,其存在于不同的区域中,
其中,所述授权服务器均提供不依赖于不同的区域的共用登录画面并且包括第一指定单元,所述第一指定单元用于指定第一授权服务器,与授权进行所述访问的用户有关的用户信息位于所述第一授权服务器中,并且所述用户信息和与所述第一授权服务器有关的区域信息相互关联,
其中,所述授权服务器均包括第一传送单元,所述第一传送单元用于在从所述客户端接收到所述授权请求时,使得所述第一指定单元基于经由所述共用登录画面输入的用户信息对应的区域信息指定第一授权服务器并且利用经由所述共用登录画面输入的用户信息将授权请求重定向到第一授权服务器,
其中,所述第一授权服务器包括:
认证单元,所述认证单元用于基于所述用户信息对用户进行认证,以及
第二传送单元,所述第二传送单元用于将作为对所述授权请求的响应的授权响应与统一资源标识符(URI)信息一起传送到所述客户端,所述URI信息表示与被认证的用户有关的用户信息所位于的所述第一授权服务器作为传送目的地,
其中,所述客户端包括第三传送单元,所述第三传送单元用于基于所述URI信息将令牌请求传送到第一授权服务器,所述令牌请求用于请求对所述资源服务器进行访问的授权令牌,并且
其中,所述第一授权服务器包括发出单元,所述发出单元用于响应由所述第三传送单元传送的令牌请求发出所述授权令牌。
2.根据权利要求1所述的信息处理系统,其中,所述客户端获取由所述发出单元发出的授权令牌,并且使用所获取的授权令牌对所述资源服务器进行访问。
3.根据权利要求1所述的信息处理系统,其中,从所述客户端传送到所述授权服务器的所述授权请求通过web浏览器而被从所述客户端传送到共用统一资源标识符,并且所述授权请求被传送到存在于所述不同的区域中的所述两个或更多个授权服务器中的任一者。
4.根据权利要求3所述的信息处理系统,其中,传送到所述共用统一资源标识符的所述授权请求被传送到在地理上靠近已经传送出所述授权请求的客户端的授权服务器。
5.根据权利要求1所述的信息处理系统,其中,所述授权响应包括表示所述第一授权服务器作为目的地的信息和与表示所述第一授权服务器作为目的地的信息有关的签名信息。
6.根据权利要求5所述的信息处理系统,
其中,所述第一授权服务器还包括用于管理加密秘钥的第一管理单元,所述加密秘钥用于为所述授权响应提供所述签名信息,并且
其中,所述客户端还包括用于管理解密密钥的第二管理单元,所述解密密钥用于验证所述签名信息。
7.根据权利要求1所述的信息处理系统,
其中,所述客户端还包括用于管理加密秘钥的第三管理单元,所述加密秘钥用于为所述授权请求提供签名信息,
其中,所述第一授权服务器还包括用于管理解密密钥的第四管理单元,所述解密密钥用于验证提供给所述授权请求的签名信息,
其中,由所述第三管理单元管理的加密密钥为用于获取所述授权令牌的令牌请求提供签名信息,并且
其中,由所述第四管理单元管理的解密密钥验证提供给所述令牌请求的签名信息。
8.根据权利要求7所述的信息处理系统,其中,由所述第四管理单元管理的解密密钥在存在于所述不同的区域中的所述两个或更多个授权服务器之间共享。
9.根据权利要求1所述的信息处理系统,
其中,所述授权服务器均还包括第三指定单元,所述第三指定单元用于指定所述用户信息移动到的移动目的地的授权服务器,
其中,所述客户端还包括:
第一验证单元,其用于验证对用于获取所述授权令牌的令牌请求的响应是否包括所述授权令牌;以及
第二验证单元,其用于验证对用于获取所述授权令牌的令牌请求的响应是否包括与由所述第三指定单元指定的所述用户信息的移动目的地有关的信息,并且
其中,在所述第一验证单元确定对所述令牌请求的响应不包括所述授权令牌的情况下,所述第二验证单元验证对所述令牌请求的响应是否包括与移动目的地有关的信息。
10.根据权利要求9所述的信息处理系统,其中,在所述第二验证单元验证对所述令牌请求的响应包括与所述移动目的地相关的信息的情况下,用于请求所述授权令牌的令牌请求被传送到所述移动目的地。
11.根据权利要求9所述的信息处理系统,其中,所述第三指定单元通过使用包括在从所述客户端接收到的令牌请求中的用户标识符来指定所述移动目的地。
12.一种信息处理系统的控制方法,所述信息处理系统包括:
客户端,其用于传送授权请求,所述授权请求供用户使用以授权通过所述客户端对资源服务器进行访问;以及
两个或更多个授权服务器,其存在于不同的区域中,
所述控制方法包括:
通过提供不依赖于不同的区域的共用登录画面的所述授权服务器指定第一授权服务器,与授权进行所述访问的用户有关的用户信息位于所述第一授权服务器中,并且所述用户信息和与所述第一授权服务器有关的区域信息相互关联;
在从所述客户端接收到所述授权请求时,通过所述授权服务器使得基于经由所述共用登录画面输入的用户信息对应的区域信息指定第一授权服务器并且利用经由所述共用登录画面输入的用户信息将授权请求重定向到第一授权服务器;
通过所述第一授权服务器基于所述用户信息对用户进行认证,以及
通过所述第一授权服务器将作为对所述授权请求的响应的授权响应与统一资源标识符(URI)信息一起传送到所述客户端,所述URI信息表示与被认证的用户有关的用户信息所位于的所述第一授权服务器作为传送目的地;
通过所述客户端基于所述URI信息将令牌请求传送到第一授权服务器,所述令牌请求用于请求对所述资源服务器进行访问的授权令牌;以及
响应由所述客户端传送的令牌请求,通过所述第一授权服务器发出所述授权令牌。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-022405 | 2018-02-09 | ||
JP2018022405A JP6643373B2 (ja) | 2018-02-09 | 2018-02-09 | 情報処理システムと、その制御方法とプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110138718A CN110138718A (zh) | 2019-08-16 |
CN110138718B true CN110138718B (zh) | 2022-03-01 |
Family
ID=65443656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910106833.9A Active CN110138718B (zh) | 2018-02-09 | 2019-02-02 | 信息处理系统及其控制方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11082225B2 (zh) |
EP (1) | EP3525415B1 (zh) |
JP (1) | JP6643373B2 (zh) |
KR (1) | KR102390108B1 (zh) |
CN (1) | CN110138718B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018112946A1 (zh) * | 2016-12-23 | 2018-06-28 | 深圳前海达闼云端智能科技有限公司 | 注册及授权方法、装置及系统 |
US11258865B2 (en) * | 2019-03-28 | 2022-02-22 | Servicenow, Inc. | Automated integration with cloud-based services |
US11582229B2 (en) | 2019-06-01 | 2023-02-14 | Apple Inc. | Systems and methods of application single sign on |
US11281640B2 (en) | 2019-07-02 | 2022-03-22 | Walmart Apollo, Llc | Systems and methods for interleaving search results |
EP4006330A4 (en) | 2019-07-30 | 2022-11-23 | Mitsubishi Jidosha Kogyo Kabushiki Kaisha | Fuel tank system |
CN112688773A (zh) * | 2019-10-17 | 2021-04-20 | 浙江大搜车软件技术有限公司 | 一种令牌的生成和校验方法及装置 |
CN111064708B (zh) * | 2019-11-25 | 2022-05-17 | 北京秒针人工智能科技有限公司 | 授权认证方法、装置及电子设备 |
JP7310616B2 (ja) * | 2020-01-20 | 2023-07-19 | 富士通株式会社 | サーバ装置、データ処理方法、および通信プログラム |
CN111294354B (zh) * | 2020-02-04 | 2021-03-30 | 北京嗨学网教育科技股份有限公司 | 用于分布式环境的签名验证方法、装置、设备和存储介质 |
US11783022B2 (en) | 2020-06-01 | 2023-10-10 | Apple Inc. | Systems and methods of account verification upgrade |
US11601285B2 (en) * | 2020-06-24 | 2023-03-07 | EMC IP Holding Company LLC | Securely authorizing service level access to a backup system using a specialized access key |
US11770377B1 (en) * | 2020-06-29 | 2023-09-26 | Cyral Inc. | Non-in line data monitoring and security services |
CN112380517B (zh) * | 2020-11-17 | 2022-09-16 | 上海福君基因生物科技有限公司 | 基于生物信息统一认证的云平台管理方法及系统 |
JP7626212B2 (ja) | 2021-05-19 | 2025-02-04 | 日本電信電話株式会社 | 鍵交換システム、端末、サーバ、鍵交換方法、及びプログラム |
US20240129111A1 (en) * | 2021-05-19 | 2024-04-18 | Nippon Telegraph And Telephone Corporation | Key exchange system, terminal, server, key exchange method, and program |
CN113905368A (zh) * | 2021-12-06 | 2022-01-07 | 武汉天喻信息产业股份有限公司 | 移动终端安全通信方法、装置、设备及可读存储介质 |
US12256006B1 (en) * | 2022-06-16 | 2025-03-18 | Cisco Technology, Inc. | API compliance verification based on a distributed ledger |
JP2024148060A (ja) * | 2023-04-04 | 2024-10-17 | キヤノン株式会社 | 消耗品自動配送システム、その制御方法およびプログラム |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012119620A1 (en) * | 2011-03-08 | 2012-09-13 | Telefonica S.A. | A method for providing authorized access to a service application in order to use a protected resource of an end user |
CN103139181A (zh) * | 2011-12-01 | 2013-06-05 | 华为技术有限公司 | 一种开放式认证的授权方法、装置和系统 |
CN104255007A (zh) * | 2011-09-29 | 2014-12-31 | 甲骨文国际公司 | Oauth框架 |
CN104350501A (zh) * | 2012-05-25 | 2015-02-11 | 佳能株式会社 | 授权服务器和客户端设备、服务器协作系统和令牌管理方法 |
CN104917721A (zh) * | 2014-03-10 | 2015-09-16 | 腾讯科技(北京)有限公司 | 基于oAuth协议的授权方法、装置和系统 |
CN105100007A (zh) * | 2014-05-08 | 2015-11-25 | 国际商业机器公司 | 用于控制资源访问的方法和装置 |
CN105323237A (zh) * | 2014-05-30 | 2016-02-10 | 佳能株式会社 | 权限授予系统、方法及认证服务器系统 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9241003B2 (en) * | 2010-12-15 | 2016-01-19 | At&T Intellectual Property I, L.P. | Methods, systems, and computer program products for authenticating an entity through use of a global identity of the entity that serves as a proxy for one or more local identities of the entity |
US8875243B1 (en) * | 2011-01-27 | 2014-10-28 | Sprint Communications Company L.P. | Identity abstraction providing limited cross-domain access |
US8650622B2 (en) * | 2011-07-01 | 2014-02-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and arrangements for authorizing and authentication interworking |
US8782411B2 (en) * | 2012-07-25 | 2014-07-15 | Oracle International Corporation | System and method of extending oauth server(s) with third party authentication/authorization |
US9253198B2 (en) * | 2013-10-29 | 2016-02-02 | Mapquest, Inc. | Systems and methods for geolocation-based authentication and authorization |
JP6335657B2 (ja) * | 2014-05-30 | 2018-05-30 | キヤノン株式会社 | 権限委譲システム、方法、認証サーバーシステム、およびプログラム |
JP2016009299A (ja) * | 2014-06-24 | 2016-01-18 | キヤノン株式会社 | シングルサインオンシステム、端末装置、制御方法およびコンピュータプログラム |
JP6561441B2 (ja) * | 2014-09-05 | 2019-08-21 | 株式会社リコー | 情報処理装置、アクセス制御方法、通信システム、及びプログラム |
CA2961135A1 (en) * | 2014-09-12 | 2016-03-17 | Giftagram | System, apparatus and method for access and authorization control |
DE112014007224T5 (de) * | 2014-12-02 | 2017-08-24 | Canon Kabushiki Kaisha | Drucksystem, Verfahren und Programm |
US9860322B2 (en) * | 2015-04-08 | 2018-01-02 | Apple Inc. | Stateless technique for distributing data uploads |
KR102563795B1 (ko) * | 2015-07-02 | 2023-08-07 | 콘비다 와이어리스, 엘엘씨 | 자원 구동 동적 권한부여 프레임워크 |
JP6675163B2 (ja) * | 2015-07-24 | 2020-04-01 | キヤノン株式会社 | 権限委譲システム、認可サーバの制御方法、認可サーバおよびプログラム |
CN106714075B (zh) * | 2015-08-10 | 2020-06-26 | 华为技术有限公司 | 一种处理授权的方法和设备 |
JP6727799B2 (ja) | 2015-12-09 | 2020-07-22 | キヤノン株式会社 | 権限委譲システム、情報処理装置、認可サーバ、制御方法およびプログラム |
US11038967B2 (en) * | 2017-01-26 | 2021-06-15 | Verizon Patent And Licensing Inc. | Enabling hypertext transfer protocol (HTTP) connect in association with a toll-free data service |
JP6929181B2 (ja) * | 2017-09-27 | 2021-09-01 | キヤノン株式会社 | デバイスと、その制御方法とプログラム |
JP2019096076A (ja) * | 2017-11-22 | 2019-06-20 | キヤノン株式会社 | アクセス制御システム、その制御方法およびプログラム |
JP6949688B2 (ja) * | 2017-11-30 | 2021-10-13 | キヤノン株式会社 | システムおよびその制御方法 |
-
2018
- 2018-02-09 JP JP2018022405A patent/JP6643373B2/ja active Active
-
2019
- 2019-02-02 CN CN201910106833.9A patent/CN110138718B/zh active Active
- 2019-02-07 US US16/270,458 patent/US11082225B2/en active Active
- 2019-02-07 EP EP19155931.9A patent/EP3525415B1/en active Active
- 2019-02-08 KR KR1020190014826A patent/KR102390108B1/ko active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012119620A1 (en) * | 2011-03-08 | 2012-09-13 | Telefonica S.A. | A method for providing authorized access to a service application in order to use a protected resource of an end user |
CN104255007A (zh) * | 2011-09-29 | 2014-12-31 | 甲骨文国际公司 | Oauth框架 |
CN103139181A (zh) * | 2011-12-01 | 2013-06-05 | 华为技术有限公司 | 一种开放式认证的授权方法、装置和系统 |
CN104350501A (zh) * | 2012-05-25 | 2015-02-11 | 佳能株式会社 | 授权服务器和客户端设备、服务器协作系统和令牌管理方法 |
CN104917721A (zh) * | 2014-03-10 | 2015-09-16 | 腾讯科技(北京)有限公司 | 基于oAuth协议的授权方法、装置和系统 |
CN105100007A (zh) * | 2014-05-08 | 2015-11-25 | 国际商业机器公司 | 用于控制资源访问的方法和装置 |
CN105323237A (zh) * | 2014-05-30 | 2016-02-10 | 佳能株式会社 | 权限授予系统、方法及认证服务器系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3525415B1 (en) | 2022-07-20 |
EP3525415A1 (en) | 2019-08-14 |
US11082225B2 (en) | 2021-08-03 |
KR102390108B1 (ko) | 2022-04-25 |
JP6643373B2 (ja) | 2020-02-12 |
KR20190096825A (ko) | 2019-08-20 |
JP2019139520A (ja) | 2019-08-22 |
US20190253251A1 (en) | 2019-08-15 |
CN110138718A (zh) | 2019-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110138718B (zh) | 信息处理系统及其控制方法 | |
CN109428947B (zh) | 权限转移系统及其控制方法和存储介质 | |
CN109428891B (zh) | 权限转移系统及其控制方法和客户端 | |
EP3462701B1 (en) | Device, control method of the same, and program | |
JP6335657B2 (ja) | 権限委譲システム、方法、認証サーバーシステム、およびプログラム | |
JP6061633B2 (ja) | デバイス装置、制御方法、およびそのプログラム。 | |
JP6066647B2 (ja) | デバイス装置、その制御方法、およびそのプログラム | |
US8347403B2 (en) | Single point authentication for web service policy definition | |
US9185102B2 (en) | Server system and control method | |
JP7096736B2 (ja) | システム、及びデータ処理方法 | |
JP6675163B2 (ja) | 権限委譲システム、認可サーバの制御方法、認可サーバおよびプログラム | |
JP2018163616A (ja) | 認証認可サーバー、リソースサーバー、認証認可システム、認証方法及びプログラム | |
JP2018092446A (ja) | 認証認可システム及び情報処理装置と認証認可方法とプログラム | |
JP2016115260A (ja) | 権限移譲システム、権限移譲システムに用いられる認可サーバー、リソースサーバー、クライアント、媒介装置、権限移譲方法およびプログラム | |
JP7043480B2 (ja) | 情報処理システムと、その制御方法とプログラム | |
JP2014142732A (ja) | 権限委譲システム | |
JP2019134333A (ja) | 情報処理システム、クライアント装置、認証認可サーバー、制御方法とそのプログラム | |
JP4950573B2 (ja) | 認証システムおよび認証方法 |
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 |