JP2020053100A - Information processing system, control method thereof and program - Google Patents
Information processing system, control method thereof and program Download PDFInfo
- Publication number
- JP2020053100A JP2020053100A JP2019238008A JP2019238008A JP2020053100A JP 2020053100 A JP2020053100 A JP 2020053100A JP 2019238008 A JP2019238008 A JP 2019238008A JP 2019238008 A JP2019238008 A JP 2019238008A JP 2020053100 A JP2020053100 A JP 2020053100A
- Authority
- JP
- Japan
- Prior art keywords
- authorization
- token
- user
- server
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
Description
本発明は、認可サーバーの認可エンドポイントを特定する情報処理システムと、その制御方法とプログラムに関する。 The present invention relates to an information processing system for specifying an authorization endpoint of an authorization server, and a control method and a program thereof.
MFPなどのクライアントが有するアプリケーションが、同じくクライアントが有するトークンプロバイダーを介して認可サーバーから認可トークンを取得する形態がある。認可トークンとは、認証されたユーザーの認可操作により権限委譲されたクライアントが、リソースサーバーの公開するAPIにアクセスすることを許可した事を示すトークンである。クライアントは認可トークンを用いることで、ID、パスワード情報、認可情報などのユーザー情報をリソースサーバー、または認可サーバーに受け渡すことなく、リソースサーバーが公開するAPIをアクセスできる。例えばクライアントがMFPであれば、取得した認可トークンを用いてMFPは、リソースサーバーが提供するプリントサービスや帳票サービスなどのWebサービスを利用し、MFPはデータの表示、印刷を実行することができる。 There is a form in which an application of a client such as an MFP acquires an authorization token from an authorization server via a token provider of the client. The authorization token is a token indicating that the client delegated the authority by the authorization operation of the authenticated user is permitted to access the API published by the resource server. By using the authorization token, the client can access the API published by the resource server without passing user information such as ID, password information, and authorization information to the resource server or the authorization server. For example, if the client is an MFP, the MFP can use a Web service such as a print service or a form service provided by the resource server using the obtained authorization token, and the MFP can display and print data.
認可トークンは、認可サーバーがOAuth 2.0と呼ばれる標準プロトコルの認可フローAuthorization Code Grantを実行することで発行される。具体的には、クライアントがリソースサーバーのWebサービスを利用することを、Webブラウザーを介してユーザーが認可することで、認可サーバーはトークン要求の送信元であるトークンプロバイダーに対して認可トークンを発行する。トークン要求は、トークンプロバイダーが認可トークンを取得するために、認可サーバーに送信されるリクエストである。 The authorization token is issued when the authorization server executes an authorization flow Authorization Code Grant of a standard protocol called OAuth 2.0. Specifically, the user authorizes, via a web browser, the client to use the web service of the resource server, and the authorization server issues an authorization token to the token provider that has transmitted the token request. . A token request is a request sent to an authorization server for a token provider to obtain an authorization token.
特許文献1には、クライアントが有するアプリケーションが、同じくクライアントが有するトークンプロバイダーを介して認可サーバーから認可トークンを取得するシステムが開示されている。 Patent Literature 1 discloses a system in which an application of a client acquires an authorization token from an authorization server via a token provider of the client.
上記でも記載したユーザー情報は、ある特定の地域(以下、リージョン)の認可サーバーで管理されている。複数のユーザーに対応してユーザー情報が複数存在する場合、それらのユーザー情報が1つの認可サーバーで一括管理されているとは限らない。例えば、アプリケーションが複数のリージョンで配布されワールドワイドで使用されている場合、アプリケーションを使用するユーザーのユーザー情報は、そのユーザーがいるリージョンの認可サーバーで管理される。そしてユーザー情報の所在する認可サーバーが、認可トークンを発行する。ユーザー情報の所在に応じた認可サーバーが認可トークンを発行する理由は、個人情報保護や安全保障等の観点から別のリージョンへのユーザー情報の移動や共有に制限が設けられており、移動や共有が制限されたユーザー情報を用いて、ユーザーが認証される。その認証されたユーザーによる認可をきっかけに、認可トークンが発行される。 The user information described above is managed by an authorization server in a specific region (hereinafter, region). When there are a plurality of pieces of user information corresponding to a plurality of users, the user information is not always managed collectively by one authorization server. For example, when an application is distributed in a plurality of regions and used worldwide, user information of a user who uses the application is managed by an authorization server in the region where the user is located. Then, the authorization server where the user information is located issues an authorization token. The reason that the authorization server issues the authorization token according to the location of the user information is that there is a restriction on the movement or sharing of user information to another region from the viewpoint of personal information protection and security, etc. The user is authenticated using the restricted user information. An authorization token is issued in response to the authorization by the authenticated user.
ユーザーによる認可は、クライアントによる認可リクエストが認可サーバーに送信された結果表示される認可確認画面(後述)を介して行われる。アプリケーションが複数のリージョンで利用されることを想定した場合、その認可リクエストの送信先である認可サーバーの選択肢が広がる。そのため、トークンプロバイダーは、認可リクエストの送信先であり、ユーザー情報の所在する認可サーバーを特定する必要がある。 Authorization by the user is performed via an authorization confirmation screen (described later) that is displayed as a result of an authorization request sent from the client to the authorization server. Assuming that the application is used in multiple regions, the options of the authorization server to which the authorization request is sent are expanded. Therefore, the token provider needs to specify the authorization server that is the destination of the authorization request and where the user information is located.
認可サーバーを特定する方法として例えば、ユーザー操作によりリージョンを指定させる方法がある。しかしその方法では手動操作による煩雑さと、リージョンの選択をユーザー操作に委ねる点でセキュリティ上の問題が生じる。 As a method of specifying the authorization server, for example, there is a method of specifying a region by a user operation. However, this method has a problem of security in that it is complicated by manual operation and that the region selection is left to the user operation.
本発明は、セキュリティを維持しつつ、ユーザー情報が存在する認可サーバーを適切に選択し、選択した認可サーバーが認可トークンを発行することを目的とする。 An object of the present invention is to appropriately select an authorization server in which user information exists while maintaining security, and to have the selected authorization server issue an authorization token.
クライアントによるリソースサーバーへのアクセスをユーザーが認可するための認可リクエストを送信するクライアントと、互いに異なるリージョンに存在する2つ以上の認可サーバーと、を含む情報処理システムであって、前記認可サーバーは、前記アクセスを認可するユーザーのユーザー情報が所在する第一の認可サーバーを特定する第一の特定手段と、前記クライアントは、前記リージョンのリージョン情報に基づいて、前記リージョンに存在する認可サーバーを特定する第二の特定手段と、を有し、前記認可サーバーは、前記認可リクエストを受信したことに伴って、前記アクセスを認可するユーザーのユーザー情報が所在する第一の認可サーバーを前記第一の特定手段によって特定し、特定された第一の認可サーバーに対して、前記ユーザーを認証するための認証要求を送信する第一の送信手段と、前記第一の認可サーバーは、前記第一の送信手段によって前記認証要求が送信されたことに伴って、前記ユーザーを認証し、認証されたユーザーのユーザー情報が所在する第一の認可サーバーを送信先として示す情報とともに、前記認可リクエストに対する応答である認可レスポンスを前記クライアントに送信する第二の送信手段と、前記クライアントは、前記第二の送信手段によって送信された認可レスポンスに基づいて、前記第二の特定手段により前記第一の認可サーバーを特定し、特定された第一の認可サーバーに対して、前記リソースサーバーにアクセスするための認可トークンを要求するトークン要求を送信する第三の送信手段と、前記第一の認可サーバーは、前記第三の送信手段によって送信されたトークン要求に対して前記認可トークンを発行する発行手段と、を有する情報処理システム。 An information processing system including: a client that transmits an authorization request for permitting a user to access a resource server by a client; and two or more authorization servers existing in different regions from each other, wherein the authorization server includes: First specifying means for specifying a first authorization server where user information of a user who authorizes the access is located, and the client specifies an authorization server present in the region based on region information of the region And second authorization means, wherein the authorization server, in response to receiving the authorization request, the first authorization server in which the user information of the user authorizing the access is located in the first identification By means of the first authorization server identified and A first transmission unit for transmitting an authentication request for authenticating the user, and the first authorization server authenticates the user with the transmission of the authentication request by the first transmission unit. Along with information indicating the first authorization server where the user information of the authenticated user is located as a destination, a second transmission unit that transmits an authorization response that is a response to the authorization request to the client, and the client includes: Based on the authorization response transmitted by the second transmission unit, the second identification unit identifies the first authorization server, and accesses the resource server for the identified first authorization server. A third transmission means for transmitting a token request for requesting an authorization token for performing, the first authorization server, Serial third information processing system having, an issuing means for issuing the authorization token for token request transmitted by the transmission means.
本発明は、セキュリティを維持しつつ、ユーザー情報が存在する認可サーバーを適切に選択し、選択した認可サーバーが認可トークンを発行することができる。 The present invention can appropriately select an authorization server in which user information exists while maintaining security, and the selected authorization server can issue an authorization token.
以下、本発明を実施するための最良の形態について図面を用いて説明する。尚、後述の認可サーバー200と認可サーバー201のどちらでもよい場合は「認可サーバー200、201」と記載し、リソースサーバー300とリソースサーバー301のどちらでもよい場合も「リソースサーバー300、301」と記載する。また、認可サーバー201が認可トークンを発行する場合は、認可サーバー201で発行された認可トークンを用いてリソースサーバー301の公開するAPIがアクセスされるものとする。認可サーバー200とリソースサーバー300の関係についても同様である。
Hereinafter, the best mode for carrying out the present invention will be described with reference to the drawings. Note that when either the
[実施例1]
図1を用いて、本発明の実施形態に係る情報処理システムについて説明する。情報処理システムは、図1に示すようなネットワーク構成で実現される。WAN(Wide Area Network)100はWWW(World Wide Web)システムによって構築されている。WAN100と各種デバイス200〜500はLAN(LocalArea Network)101を介して接続されている。
[Example 1]
An information processing system according to an embodiment of the present invention will be described with reference to FIG. The information processing system is realized by a network configuration as shown in FIG. A WAN (Wide Area Network) 100 is constructed by a WWW (World Wide Web) system. The WAN 100 and
認可サーバー200、201はOAuth 2.0を実現するためのサーバーであり、認証要求の受信、管理等の処理を行う。図1では、認可サーバー200とリソースサーバー300、認可サーバー201とリソースサーバー301がLAN101で接続されている形態を示しているが、WAN100を介して接続される構成も可能である。
The
認可サーバー200、201はLAN101を介して不図示のデータベースサーバーと接続されている。認可サーバー200、201が自身の機能を実現する際に用いるデータは、そのデータベースサーバーに格納されている形態でもよい。本実施例では認可サーバー200とリソースサーバー300、認可サーバー201とリソースサーバー301をそれぞれ別のサーバーであるものとして説明しているが、各種サーバーの物理的構成は問わない。例えば、同一のサーバー上に両サーバーの機能が構成されている形態でもよく、複数のサーバーで一つの認可サーバー、あるいはリソースサーバーの機能を実現する形態でもよい。
The
リソースサーバー300と認可サーバー200(あるいはリソースサーバー301と認可サーバー201)との所在の形態は、同じリージョン内、あるいは同じシステム内である形態に限定されない。認可サーバー200で発行された認可トークンをリソースサーバー300が問い合わせることができれば、所在の形態は問わない。あるいは、リソースサーバー300が、認可トークンとともに受信した署名情報を検証する形態等でもよい。
The location of the
クライアント400としては、例えばプリンターやMFP、もしくはPCやスマートフォン等が挙げられる。端末500はWebブラウザー510を有し、一例としてはPCやスマートフォン等が挙げられる。ユーザーはWebブラウザー510を介して認可サーバー200、201に対するユーザーの認証要求やクライアント400に対するログイン操作等、各種デバイスの機能を利用することができる。
Examples of the
クライアント400もWebブラウザー410を備える。ユーザーはWebブラウザー410またはWebブラウザー510を操作して後述の認可操作を実行する。クライアント400と端末500はLAN101を介して接続されている。以降、Webブラウザー410とWebブラウザー510のどちらで実行するかを問わない場合は、「Webブラウザー410、510」と称する。
The
なお、本実施例では、クライアント400および端末500と認可サーバー200とリソースサーバー300がリージョン「jp」に所在し、認可サーバー201とリソースサーバー301がリージョン「eu」に所在するものとする。本実施例におけるリージョンとは、個人情報保護、安全保障等の観点から域外へのユーザー情報の移動に関して情報技術的、法的などの何らかの制限が存在する地域を示す。
In this embodiment, it is assumed that the
次に図2を用いて、認可サーバー200、201、リソースサーバー300、301およびクライアント400、端末500のハードウェア構成を説明する。なお、図2は一般的な情報処理装置のブロック図であり、本実施形態の各種デバイスには一般的な情報処理装置のハードウェア構成やIaaS(Infrastructure as a Service)として提供される情報処理装置の仮想的なハードウェア構成を適用できる。図2では、クライアント400を例に説明するが、リソースサーバー300、301や認可サーバー200、201、端末500も同様のハードウェア構成を有するものとする。
Next, the hardware configuration of the
CPU2001は、RAM2002、ROM2003、外部メモリ2011などからプログラムを取り出してプログラムの命令を実行し、クライアント400の制御を行うユニットである。後述のシーケンスはこのプログラムの命令が実行されることにより実現される。また、CPU2001はシステムバス2004に接続される各ブロックを制御する。
The
RAM2002は、CPU2001が命令を実行する際に使用するワークメモリである。ROM2003や外部メモリ2011に保存されたOSやアプリケーション等のプログラムがRAM2002へとロードされ、そのプログラムの命令をCPU2001が順次読みだすことで命令を実行する。ROM2003は、アプリケーションプログラムおよびOSを含む組込済みプログラム、およびデータ等が記録されている記憶装置である。
The
KBC(キーボードコントローラ)2005は、KB(キーボード)2009や不図示のポインティングデバイスからの入力を制御するユニットである。CRTC(Cathode Ray Tube Controller)2006は、CRTディスプレイ2010の表示を制御するユニットである。DKC(Disk Controller)2007は外部メモリ2011に対するデータアクセスを制御するユニットである。NC(ネットワークコントローラ)2008はWAN100やLAN101を介して接続された他のデバイスとの通信制御処理を実行する。なお、IaaSとして提供される仮想的な情報処理装置の場合は、KBC2005やCRTC2006等を備えず、NC2008を介して接続される端末が備えるキーボードやCRTディスプレイから操作されるよう構成される。
A KBC (keyboard controller) 2005 is a unit that controls an input from a KB (keyboard) 2009 or a pointing device (not shown). A CRTC (Cathode Ray Tube Controller) 2006 is a unit that controls display on the
尚、後述の説明においては、特に断りのない限り、各種デバイスの機能が実行される際のハードウェアの主体はCPU2001であり、ソフトウェアの主体はRAM2002、ROM2003、外部メモリ2011等にインストールされたプログラムであるものとする。
Note that in the following description, unless otherwise specified, the hardware of the hardware when executing the functions of the various devices is the
次に図3を用いて、認可サーバー200、201、リソースサーバー300、301、クライアント400、端末500が有する機能について説明する。認可サーバー201は認可サーバー200と、リソースサーバー300はリソースサーバー301と同様の機能を有するため、図3の説明ではクライアント400の説明に加えて、認可サーバー200とリソースサーバー300を例に説明する。
Next, the functions of the
認可サーバー200は、認可サーバー部210とHTTPサーバー部220を有する。HTTPサーバー部220はWAN100を介してクライアント400と端末500に接続されており、Webブラウザー410、510や後述のアプリケーション420とHTTP通信を行う機能である。また、HTTPサーバー部220はSSL/TLSによる通信が可能であり、不図示の証明書ストアを有する。
The
認可サーバー部210はHTTPサーバー部220を介してWebブラウザー410、510からの要求を受信し、受信した要求に対する結果を応答する機能である。具体的には、ユーザー認証の要求をHTTPサーバー部220がWebブラウザー410、510から受信し、認証が成功したユーザー情報に紐づいた認証トークンを生成する。生成された認証トークンはWebブラウザー410、510に通知される。認証トークンとは、ユーザーが認可サーバー200にログインしている事を示すためのトークン、またはユーザーが認可サーバー200において認証されているかを検証するためのトークンである。認証トークンを用いることで認可サーバー200はユーザーを識別することが可能となる。また、認可サーバー部210は、認可トークンに署名情報を付与するための秘密鍵を保持するように構成する事もできる。その場合は、この秘密鍵を用いて認可トークンに署名情報を付与し、署名情報付きの認可トークンをクライアント400に対して発行する。
The
リソースサーバー300はリソースサーバー部310を有する。リソースサーバー部310は、Webサービスを提供するためのAPIを公開する機能である。なお、認可サーバー200と同様に、HTTPサーバー部を備え、HTTPサーバー部を介して外部との受送信を実行する形態でもよい。
The
クライアント400はWebブラウザー410とアプリケーション420と認証部430とトークンプロバイダー440を有する。Webブラウザー410はWWWを利用するためのユーザーエージェントによって実現される機能である。Webブラウザー410はユーザーの操作により、認可サーバー200およびトークンプロバイダー440と通信を行う。端末500が備えるWebブラウザー510もWebブラウザー410と同様の機能である。アプリケーション420は、トークンプロバイダー440を介して認可サーバー200から認可トークンを取得する機能である。取得した認可トークンを用いて、アプリケーション420はリソースサーバー300が公開するAPIを利用できる。
The
トークンプロバイダー440は、アプリケーション420からの認可トークン要求を受信し、認可サーバー200と通信を行う事で認可トークンを取得する。ユーザーはWebブラウザー410、510を用いて認可サーバー200およびトークンプロバイダー440と通信を行う事で認可操作を行う。
The
ここで、認可トークン要求は、アプリケーション420が認可トークンを取得するためにトークンプロバイダー440に対して送信するリクエストである。一方のトークン要求は、トークンプロバイダー440が認可トークンを取得するために認可サーバー200、201に対して送信するリクエストである。このように、同じ認可トークンを取得するリクエストであっても、リクエストの受信元と送信先とが異なることでリクエストの呼称を変えていることに留意されたい。
Here, the authorization token request is a request that the
トークンプロバイダー440はベンダーデフォルトクレデンシャルとして、トークンプロバイダー440自身を証明するためにX.509形式で定められるクライアント証明書およびその秘密鍵を備える。そして、トークンプロバイダーがクライアント証明書およびその秘密鍵を、認可サーバー200との通信を確立する際に利用する事で、認可サーバー200はトークンプロバイダーを認証することができる。
The
認証部430はユーザーを認証するための機能である。ユーザーはクライアント400の機能を利用するために、クライアント400における不図示の入力画面においてローカルユーザーIDとローカルユーザーパスワードを入力する。入力情報を受信したクライアント400は、認証部430において予め登録されている情報(ローカルユーザーIDとローカルユーザーパスワード)と入力された情報とを照合することでユーザーの認証処理を行い、ログインコンテキストを生成する。なお認証処理の形態はこれに留まらず、例えば、ICカードを使った認証や指紋等の生体認証でもよい。
The
ここでログインコンテキストは、クライアント400でローカルユーザーを識別するための情報であり、例えば、ローカルユーザーIDから構成される。ログインコンテキストは、クライアント400にローカルユーザーがログインした際にクライアント400のOS(不図示)において生成され、ログオフした際に消去される。ローカルユーザーのログイン操作でログインコンテキストが生成されることにより、ログイン中のローカルユーザーがアクセス権限を有するWebページがWebブラウザー410上に公開される。ローカルユーザーのログオフ操作でログインコンテキストが消去されることにより、ローカルユーザーがアクセス権限を有するWebページを別のユーザーに公開することなく、セキュリティを担保することができる。認証部430で生成されたログインコンテキストはアプリケーション420と認証部430とトークンプロバイダー440で共有される。
Here, the login context is information for identifying a local user in the
本実施例では、ユーザーが直接クライアント400を操作してログインする形態で説明するが、Webブラウザー510を介してリモートでログインする形態でもよい。その場合、認証部430は不図示のログイン画面をWebブラウザー510に応答する。ユーザーはそのログイン画面にローカルユーザーIDとローカルユーザーパスワードを入力することでユーザー情報は認証される。
In the present embodiment, a case where the user directly operates the
図4を用いてトークンプロバイダー440が有する機能を説明する。トークンプロバイダー440は、エンドポイント選択部610、トークン取得部620、トークン管理部630、トークン配布部640、クライアント登録部650、鍵管理部660、Assertion JWT生成部670、id_token検証部680を有する。
The function of the
エンドポイント選択部610は後述の認可フローにおいて、認可エンドポイントに対し認可リクエストを送信する機能である。その際、エンドポイント選択部610は全リージョン共通の認可エンドポイントURL(以下、全リージョン共通URL)を選択する。全リージョン共通URLの一例を表1に示す。
The
表1は、「No.」(項目番号)と「認可エンドポイントURL」のカラムを有し、「認可エンドポイントURL」に全リージョン共通URLが登録されている。表1への全リージョン共通URLの登録は外部のアプリケーション等から実行しても良く、表1への登録の形態は問わない。 Table 1 has columns of “No.” (item number) and “Authorization Endpoint URL”, and the URL common to all regions is registered in “Authorization Endpoint URL”. The registration of the URL common to all regions in Table 1 may be executed from an external application or the like, and the form of registration in Table 1 does not matter.
トークン取得部620は後述の認可フローにおいて、トークンエンドポイントにトークン要求を送信する機能である。トークンエンドポイントは後述のid_tokenを元に、トークン取得部620によって決定される。
The
トークン管理部630は、トークン取得部620が取得した認可トークンをローカルユーザーID毎に管理する機能である。トークン管理部630が管理するトークンデータベースの一例を表2に示す。
The
表2は、「No」、「ローカルユーザーID」、「リージョン」、「認可トークン」のカラムを有し、ローカルユーザーIDを主キーとする。表2は後述の認可フロー(S1.0〜S2.2)が実行されたことで生成、または更新され、トークン管理部630で管理される。ここで、「リージョン」に格納された情報は後述のid_tokenから取得された情報であり、認可トークンの取得先である認可サーバーのリージョンを示す。
Table 2 has columns of “No”, “local user ID”, “region”, and “authorization token”, and uses the local user ID as a primary key. Table 2 is generated or updated by execution of an authorization flow (S1.0 to S2.2) described later, and is managed by the
トークン配布部640は表2に基づいて、アプリケーション420から受信したローカルユーザーID(認可トークン要求に含まれる)に紐付くリージョン情報と認可トークンを特定し、認可トークンをアプリケーション420に送信する機能である。
The
アプリケーション420から受信したローカルユーザーIDが表2に存在しない場合、図5の認可フローが実行されていないと判断される。そして、エンドポイント選択部610は図5の認可フローを実行し、取得した認可トークンと、ローカルユーザーID、後述のid_tokenから取得したリージョン情報をトークン管理部630(表2)に格納する。
If the local user ID received from the
クライアント登録部650は、認可サーバー200、201に対してクライアントをクライアント登録する機能である。鍵管理部660はクライアント登録時に取得するAssertion秘密鍵(Assertion JWT 署名用の暗号鍵)を保持する。この鍵は、後述の認可AssertionとトークンAssertionに署名する際に用いられる。
The
また、鍵管理部660は、認可サーバー200、201に保持するid_token秘密鍵(id_tokenに署名を付与する暗号鍵)に対応するid_token公開鍵(id_tokenの署名を検証する復号鍵)を予め保持しており、各々の鍵の保持および取得機能を有する。
Further, the
Assertion JWT生成部670は鍵管理部660のAssertion秘密鍵を用いて、後述の認可AssertionとトークンAssertionを生成する機能である。id_token検証部680は、鍵管理部660のid_token公開鍵を用いて後述のid_tokenを検証する機能である。以上が、トークンプロバイダー440が有する機能である。
The assertion
図5、図13を用いてクライアント登録時のフローと、認可フローを説明する。また、上記で説明済みの処理については、詳細な説明を省略する。 The flow at the time of client registration and the authorization flow will be described with reference to FIGS. In addition, detailed description of the processing described above is omitted.
まず、図13を用いて、クライアント登録時の処理を説明する。OAuth 2.0におけるAuthorization Code Grantをベースとした本実施例の認証認可フローを実行するための事前操作として、認可サーバー200にクライアント400を登録するための登録要求を行う(S0.0)。具体的には、クライアント400の登録要求は認可サーバー200の登録エンドポイント(図5、13ではエンドポイントを「EP」と記載)に対して送信され、クライアント400の起動時か、または後述のS1.1の認可フローの開始時にクライアント400が未登録であった場合に開始される。クライアント登録要求を送信する方法としては、トークンプロバイダー440のクライアント登録部650が能動的に認可サーバー200と通信する方法や、ユーザーがWebブラウザー510を介して認可サーバー200にアクセスしてクライアント400を登録する方法が挙げられる。
First, processing at the time of client registration will be described with reference to FIG. As a preliminary operation for executing the authentication / authorization flow of the present embodiment based on the Authorization Code Grant in OAuth 2.0, a registration request for registering the
S0.0のクライアント登録要求には、後述の認可確認画面に表示するためのクライアント名、説明、アイコン画像、および必須パラメーターであるリダイレクトURIが含まれる。リダイレクトURIとは、クライアント400が後述の認可レスポンスを送信する送信先を指定するアドレスである。クライアント400の登録要求を受信した認可サーバー200は、クライアント400を識別するためのクライアントIDと、クライアントを認証するために鍵ペア(Assertion公開鍵、Assertion秘密鍵)を生成し、クライアント400の登録応答としてクライアント400にAssertion秘密鍵を送信する(S0.1)。Assertion秘密鍵の送り方については、鍵交換のプロトコルによって暗号化して送信してもよい。
The client registration request in S0.0 includes a client name, a description, an icon image, and a redirect URI that is an essential parameter to be displayed on an authorization confirmation screen described later. The redirect URI is an address that specifies a transmission destination to which the
トークンプロバイダー部440は鍵管理部660にAssertion秘密鍵を保存する。認可サーバー200はクライアントIDとAssertion公開鍵と、S0.0で取得した各種情報とリダイレクトURIとを紐づけて保持する。トークンプロバイダー部440は、鍵管理部660にS0.1で受信したクライアントIDとAssertion秘密鍵を保持する。
The
図13のクライアント登録では、トークンプロバイダー440(クライアント400)と同じリージョン内に存在する認可サーバー200に対して実行される。その際に生成され、保存されるクライアント400に関する情報(クライアントIDやAssertion公開鍵等)は、認可サーバー200のみならず、別の認可サーバー(例えば認可サーバー201)に対しても共有される。その結果、ユーザー毎に認証要求の送信先(後述のS1.5)が異なっても、認可サーバーで共有されているクライアントIDやAssertion公開鍵を用いることで、後述のid_tokenの発行や認可トークンの発行等のやり取りを実行することができる。
The client registration in FIG. 13 is executed for the
以上が認可フローを実行する事前操作であるクライアント登録処理である。 The above is the client registration processing which is the preparatory operation for executing the authorization flow.
図5を用いて、クライアント登録後の認可フローについて説明する。 An authorization flow after client registration will be described with reference to FIG.
ユーザーはクライアント400にログインする(S1.0)。クライアント400の認証部430は、ログインしたユーザーを特定するための情報であるログインコンテキストを生成し保持する。生成されたログインコンテキストを用いることで、ログインしたユーザーを特定する情報(ローカルユーザーID等)をログインコンテキストから取得することができる。
The user logs in to the client 400 (S1.0). The
ユーザーがWebブラウザー510を介して認可開始のURIにアクセスすることで、本実施例のOAuth 2.0をベースとした認可フローを開始する(S1.1)。クライアント400は認可フローを開始するための認可開始URIにアクセスされると、認可エンドポイントに対して認可リクエストを送信する(S1.2)。この認可エンドポイントは、全リージョン共通URIを介してアクセスされる。
When the user accesses the URI of the authorization start via the
<認可エンドポイント>
ここで、認可エンドポイントの特定方法について説明する。トークンプロバイダー440は適切な認可サーバーを選択して認可トークンを取得するために、まず全リージョン共通URIに対して認可リクエストを送信する。認可リクエストが送信された結果アクセスされるDNS(Domain Name System)サーバーには、認可エンドポイントURLとIPアドレスの紐付けデータ(DNSレコード)が管理されている。Webブラウザーを介して認可サーバーにアクセスする際にはこのDNSサーバーを経由し、DNSレコードに基づいて全リージョン共通の認可エンドポイントURLがIPアドレスに変換(名前解決)される。その際、Geo Routing機能(AWSの場合はGeoRouting機能)は、認可リクエスト元(クライアント400)のIPアドレスから地理データベースを参照し、適切な認可エンドポイントURIに変換され、認可リクエスト送信元に送信される。
<Authorization endpoint>
Here, a method for specifying the authorization endpoint will be described. The
本実施例では、クライアント400と認可サーバー200とが同じリージョン「jp」に存在する。そのためトークンプロバイダー440は、Webブラウザー510を介して全リージョン共通URIにアクセスした場合、Geo Routing機能により同じリージョン「jp」に存在する認可サーバー200の認可エンドポイントURIが返信される。その認可エンドポイントURIに対してトークンプロバイダー440は認可リクエストを送信する。図5に示すS1.2は、Geo Routing機能により特定された認可エンドポイントURIに対して認可リクエストが送信された状態を示す。
In this embodiment, the
<認可リクエスト>
トークンプロバイダー440が送信する認可リクエストについて説明する。トークンプロバイダー440が認可リクエストを送信する際、セキュリティ情報(後述のid_token)の取得依頼も送信する。
<Authorization request>
The authorization request transmitted by the
認可リクエストはresponse_type、client_id、redirect_uri、stateパラメーターを含む、署名付きのJWT形式で表現される。以下、説明の都合上、JWT形式の認可リクエストを「認可Assertion」と称する。認可Assertionは後述のヘッダーとペイロードとを含む。 The authorization request is expressed in a signed JWT format including response_type, client_id, redirect_uri, and state parameters. Hereinafter, the authorization request in the JWT format will be referred to as “authorization assertion” for convenience of description. The authorization assertion includes a header and a payload described below.
認可リクエストに対し、S0.1のクライアント登録応答時に入手したAssertion秘密鍵を用いて付与され、署名アルゴリズムはJWA(RFC7518 JSON Web Algorithms)で規定されるES256(ECDSA using P−256 curve and SHA−256 hash)である。認可Assertionのヘッダーの一例を図8(a)に示す。 The authorization request is attached using the assertion private key obtained at the time of the client registration response in S0.1, and the signature algorithm is ES256 (ECDSA using P-256 curve and SHA-256) specified by JWA (RFC7518 JSON Web Algorithms). hash). FIG. 8A shows an example of the header of the authorization assertion.
「typ」はJWTのタイプであり、Assertion JWTであることを示す値「Assertion」が設定されている。「alg」は署名アルゴリズムを示し、値「ES256」が設定されている。「kid」は、JWTの署名検証に用いるAssertion公開鍵とAssertion秘密鍵のIDを示す。「kid」に設定される値としては、UUIDなどの他にJSON Web Key(JWK)Thumbprint(RFC 7638)仕様に基づく公開鍵のThumbprintの値等がある。 “Type” is the type of JWT, and a value “Assertion” indicating that it is an assertion JWT is set. “Alg” indicates a signature algorithm, and a value “ES256” is set. “Kid” indicates the ID of the assertion public key and the assertion secret key used for the JWT signature verification. The value set as “kid” includes a Thumbprint value of a public key based on the JSON Web Key (JWK) Thumbprint (RFC 7638) specification in addition to the UUID and the like.
認可Assertionのペイロードクレームの一例を図8(b)に示す。「response_type」はOAuth2.0のレスポンスタイプを示し、後述の認可レスポンスでid_tokenを取得するため、値「id_token」が設定されている。 FIG. 8B shows an example of the payload claim of the authorization assertion. “Response_type” indicates a response type of OAuth 2.0, and a value “id_token” is set in order to acquire id_token in an authorization response described later.
「iss」はJWTの発行者(issuer)を識別するための識別子であり、認可Assertionの場合はクライアントIDを示すUUIDが値として設定される。「sub」はユーザー識別子を表し、「iss」と同様にクライアントIDを示すUUIDが入る。「iss」と「sub」は各々URL SafeなBase64形式で表した文字列をエンコードしてJWT形式の認可リクエストに含める。「exp」は認可Assertionの有効期限、「iat」は認可Assertionの発行日時を示し、共にUnix Epoch(1970年1月1日(世界標準時))からの経過秒数で表される。 “Iss” is an identifier for identifying a JWT issuer (issuer), and in the case of an authorized assertion, a UUID indicating a client ID is set as a value. “Sub” indicates a user identifier, and a UUID indicating a client ID is entered similarly to “iss”. “Iss” and “sub” respectively encode a character string expressed in the URL Safe Base64 format and include it in the JWT format authorization request. “Exp” indicates the expiration date of the Authorized Assertion, and “iat” indicates the date and time of issuance of the Authorized Assertion, both of which are represented by the number of seconds elapsed since Unix Epoch (January 1, 1970 (Coordinated Universal Time)).
図8(b)のペイロードクレームはさらに、OAuth2.0のリダイレクトURIを示す「redirect_uri」と、「state」を含む。「state」は認可リクエストと認可レスポンスとを一意に紐づけるための情報であり、CSRF(cross−site request forgery)攻撃や、トークン置換攻撃を防ぐために用いられる。そのため、stateは推測不可能でかつ重複しない値である必要がある。後述の認可レスポンスを受信したクライアント400は、stateの値とS1.2の認可リクエストで送信したstateの値とが一致するかを検証する。認可リクエストを実行したローカルユーザーを識別するために、クライアント400で発行されるstateはリダイレクトURIとログインコンテキストと紐付いて、クライアント400で管理される。
The payload claim in FIG. 8B further includes “redirect_uri” indicating the redirect URI of OAuth 2.0 and “state”. “State” is information for uniquely associating an authorization request with an authorization response, and is used to prevent a cross-site request forgery (CSRF) attack or a token replacement attack. Therefore, the state needs to be a value that cannot be estimated and does not overlap. The
トークンプロバイダー440はJWT仕様に基づき、図8で示したような認可Assertionを作成する。認可Assertionには先に述べたAssertion秘密鍵を用いてJWT形式の署名(不図示)が付与される。以上が認可リクエストの説明である。
The
図5の説明に戻る。S1.2で認可リクエストを受信した認可サーバー200は、Webブラウザー510に対して全リージョン共通のログイン画面を応答する(S1.3)。ログイン画面にはhiddenフィールドで認可Assertionを含める。ユーザーは、Webブラウザー510を介してユーザーIDとパスワードを入力し、認可サーバー200に対して認証要求を行う(S1.4)。その際、先にログイン画面のhiddenフィールドとして受信した認可Assertionを認証要求と同時にPOSTする。ここで、S1.4で認可サーバー200に送信されるユーザーIDは、認可サーバーにログインするためのユーザー識別子であり、S1.0のローカルユーザーIDとは異なる。
Returning to the description of FIG. The
認可サーバー200は、ユーザーIDの所属リージョン(ユーザーIDで特定されるユーザーのユーザー情報を管理する認可サーバーのリージョン)を判定し、適切なリージョンの認可サーバーにログイン画面をリダイレクトする(S1.5)。異なるリージョンの認可サーバー同士が共有するユーザー所属リージョン表の一例を表3に示す。
The
ユーザーID(ハッシュ値)は、ユーザーID文字列についてsha256アルゴリズムで算出したハッシュ値である。所属リージョンはユーザーIDで特定されるユーザーが所属するリージョンである。表3より、「user1@110AA」(ハッシュ値:b927736961c523464a5559982a527eccd18277cbeeec092ea67959990241bcc3)の所属リージョンは「jp」、「user2@110Ab」(ハッシュ値:8afe0cae0d1a4fbb380348ff1999aa1d40ecf829a730b82bdcb6a628796b51b2)の所属リージョンは「eu」、「user3@120AA」(ハッシュ値:25dac1eaecc81673cb64157be38babb6a13b53b020e2d88dfdca70054c84cf03)の所属リージョンは「jp」である。 The user ID (hash value) is a hash value calculated by the sha256 algorithm for the user ID character string. The belonging region is a region to which the user specified by the user ID belongs. From Table 3, "user1 @ 110AA" (hash value: b927736961c523464a5559982a527eccd18277cbeeec092ea67959990241bcc3) belong Region of the "jp", "user2 @ 110Ab" (hash value: 8afe0cae0d1a4fbb380348ff1999aa1d40ecf829a730b82bdcb6a628796b51b2) is affiliated Region "eu", "user3 @ 120AA" (hash value : 25dac1eaeccc81673cb64157be38babb6a13b53b020e2d88dfdca70054c84cf03) belongs to “jp”.
ユーザー所属リージョン表(表3)はユーザー登録の際に更新され、定期的に全リージョンの認可サーバーで最新データを共有する。ユーザーIDはハッシュ値であるため、この値からユーザーIDを復元することは一般に不可能である。そのため、ユーザー所属リージョン表(表3)を全リージョンの認可サーバーで共有しても、ユーザー情報を共有していることにはならない。 The user affiliation region table (Table 3) is updated at the time of user registration, and the latest data is periodically shared by the authorization servers in all regions. Since the user ID is a hash value, it is generally impossible to recover the user ID from this value. Therefore, even if the user belonging region table (Table 3) is shared by the authorization servers in all regions, it does not mean that the user information is shared.
S1.5におけるログイン画面のリダイレクトについて説明する。S1.3の全リージョン共通のログイン画面においてユーザーID「user2@110Ab」、パスワード「password」が入力されたものとする。認可サーバー200は入力されたユーザーIDのハッシュ値を算出する。算出したハッシュ値から表3を参照して、ユーザーの所属リージョン「eu」が特定される。そして、ユーザーID、パスワード、認証要求でPOSTされた認可Assertionが、Webブラウザー510のCookieに応答され、リージョン「eu」の認可サーバーである認可サーバー201のログインURLに対し、認証要求としてリダイレクトされる。
The redirection of the login screen in S1.5 will be described. It is assumed that the user ID “user2 @ 110 Ab” and the password “password” have been input on the login screen common to all regions in S1.3. The
本実施例では、表3に格納された所属リージョンから、認可サーバー201のログインURLを特定する形態を示した。具体的には、異なるリージョンの各認可サーバーのログインURLの型が予め決まっており、その型に対して表3の「所属リージョン」をあてはめることで、各認可サーバーのログインURLを特定する形態である。本実施例の形態(表3)に限定されず、ユーザーIDのハッシュ値に対し認可サーバーのログインURLを紐付けて管理しておく形態でもよい。
In the present embodiment, the form in which the login URL of the
認可サーバー201はS1.5でリダイレクトされたユーザーIDとパスワードとの紐付け情報が事前に登録されている紐付け情報と一致するかを検証し、一致する場合は認証トークンを発行する。発行された認証トークンはWebブラウザー510のCookieに応答される。以上が、ログイン画面のリダイレクトの説明である。
The
図5の説明に戻る。認可サーバー201はユーザーに対して、クライアント400の認可を同意するための認可確認画面をWebブラウザー510に応答する(S1.6)。認可確認画面の一例を図12に示す。認可確認画面1200は、ユーザーに対して同意を求める内容として、認可の対象となるクライアント400のクライアント名1201、クライアント400に関する説明1202、および、アイコン画像1203を有する。さらに認可確認画面1200は、ユーザーがクライアント400を認可するための許可ボタン1204、認可を拒否するための拒否ボタン1205を備える。拒否ボタン1205が押下された場合の処理、または許可ボタン1204が押下された場合の処理(S1.7)については後述する。
Returning to the description of FIG. The
認可確認画面には、リダイレクトされた認証要求に含まれる認可Assertion をhiddenフィールドとして含む。ただし、認証要求に含まれる認可Assertionの署名を検証した後、認可Assertionに含まれるクライアントIDとリダイレクトURIとの組み合わせが、認可サーバー201や別のリージョンの認可サーバーとで共有されたクライアントIDとリダイレクトURIとの組み合わせと一致しない場合は、Webブラウザー510に認可確認画面ではなく、エラー画面を応答する。これによりに、URLへの不正なリダイレクトを防ぐことができる。また、認可確認画面1200の拒否ボタン1205が押下された場合も、エラー画面がWebブラウザー510に送信される。
The authorization confirmation screen includes an authorization assertion included in the redirected authentication request as a hidden field. However, after verifying the signature of the authorization Assertion included in the authentication request, the combination of the client ID and the redirect URI included in the authorization Assertion becomes the client ID and the redirect shared by the
認可サーバー201にログイン中のユーザーが既に同一のクライアントIDで認可操作済みであった場合はS1.6とS1.7の処理を省略できる。
If the user logged in to the
許可ボタン1204が押下されたことで、ユーザーによる認可操作が実行された(S1.7)後、認可サーバー201は、認可操作に含まれる認可Assertionを認可サーバー201の認可エンドポイントに対してPOSTする(S1.8)。認可サーバー201は、認可エンドポイントにPOSTされた認可Assertionを検証する。ここで認可Assertionを検証する理由としては、認可サーバー201にとって外部(Web ブラウザー510)からの指示(今回は認可操作)であるため、認可Assertionの内容が詐称されていないか、認可Assertionを検証する必要がある。
After the
認可Assertionの検証が成功した場合はid_tokenを生成し、クライアント400のリダイレクトURIに対して認可レスポンスとしてid_tokenを送信する(S1.9)。つまり、生成されたid_tokenは、認可サーバー201からWebブラウザー510を介して、クライアント400に送信される。送信する際には、id_tokenをリダイレクトURIのクエリパラメーターとして付与しWebブラウザー510に送信する。それにより、リダイレクトURIで指定された宛先にid_tokenをリダイレクトされる。認可サーバー201で生成されたid_tokenは、クライアントID、ユーザーID、リダイレクトURIと紐づいて認可サーバー201で保存される。
If the verification of the authorization assertion is successful, an id_token is generated, and the id_token is transmitted as an authorization response to the redirect URI of the client 400 (S1.9). That is, the generated id_token is transmitted from the
S1.8の認可Assertionの検証に失敗した場合は、認可サーバー201はWebブラウザー510に対して認可エラーを応答する。
If the verification of the authorization assertion in S1.8 fails, the
<id_token>
認可サーバー201で生成されるid_tokenは、認可サーバーによるエンドユーザー認証に関するクレームを含んだセキュリティトークンであり、OpenID Connect仕様(OpenID Foundation OpenID Connect Core 1.0)で規定されている。id_tokenには、認可トークンの利用先リージョン情報が含まれ、署名付きのJSON Web Token(JWT RFC7518、JWT RFC7515)で表される。一般にid_tokenには、エンドユーザー認証に関するクレーム群(Claims about the Authentication)と、その他のユーザー属性に関するクレーム群が含まれる。本実施例におけるid_tokenは、ペイロードクレームに「iss」、「sub」、「aud」、「exp」、「iat」、「nonce」を含む。
<Id_token>
The id_token generated by the
id_tokenの署名はid_token秘密鍵を用いて付与され、署名アルゴリズムはJWAで規定されるES256署名である。id_tokenのヘッダーの一例を図9(a)に示す。尚、図8で説明済みの部分については説明を省略する。 The signature of id_token is given using an id_token private key, and the signature algorithm is an ES256 signature defined by JWA. FIG. 9A shows an example of the header of id_token. Note that the description of the parts already described in FIG. 8 is omitted.
id_tokenのヘッダーは、「alg」で示されるid_tokenの署名アルゴリズム「ES256」と、id_tokenの署名検証に用いるid_token公開鍵・id_token秘密鍵のIDを示す「kid」を含む。kidとしてはUUIDなどの他に、JSON Web Key(JWK)Thumbprint(RFC 7638)仕様に基づく公開鍵のThumbprintの値を用いてもよい。 The header of id_token includes a signature algorithm “ES256” of id_token indicated by “alg”, and “kid” indicating an ID of an id_token public key / id_token private key used for signature verification of id_token. The value of Thumbprint of the public key based on the JSON Web Key (JWK) Thumbprint (RFC 7638) specification may be used as the kid in addition to the UUID and the like.
id_tokenのペイロードに存在するユーザー属性に関するクレームの一例を図9(b)に示す。「iss」にはOpenID Connect Core 1.0の定義により、クエリーとフラグメント部を含まない「https://」で始まるURLが設定される。今回は、id_tokenの発行者が認可サーバー201であるため、認可サーバー201を示す「https://eu−auth.example.com」が設定される。
FIG. 9B shows an example of a claim relating to the user attribute present in the payload of id_token. According to the definition of OpenID Connect Core 1.0, the URL starting with “https: //” that does not include the query and the fragment part is set in “iss”. In this case, since the issuer of id_token is the
「aud」はid_tokenの発行対象を示し、今回はクライアントIDの値が設定される。「sub」と「aud」は、各々URL Safe なBase64形式で表した文字列となる。「nonce」は主にリプレイアタックを防ぐ目的でid_tokenに含まれ、stateパラメーターの値が設定されている。以上がid_tokenに関する説明である。 “Aud” indicates an issue target of id_token, and the value of the client ID is set this time. “Sub” and “aud” are character strings represented in a URL Safe Base64 format. “Nonce” is included in id_token mainly for the purpose of preventing replay attacks, and the value of the state parameter is set. The above is the description regarding id_token.
図5の説明に戻る。id_tokenの署名付与にはid_token秘密鍵、id_tokenの検証にはid_token公開鍵が必要である。id_token秘密鍵は異なるリージョンの各認可サーバーで予め共有されており、id_token公開鍵は予めクライアント400に保存されているものとする。
Returning to the description of FIG. An id_token private key is required to give the id_token signature, and an id_token public key is required to verify the id_token. It is assumed that the id_token secret key is shared in advance by each authorization server in a different region, and the id_token public key is stored in the
S1.9で認可レスポンスを受信したクライアント400は、認可レスポンスに含まれるid_tokenの署名(不図示)を検証し、id_tokenに含まれる「nonce」と、クライアント400が管理する「state」とが一致するかを判定する。一致すると判定された場合、クライアント400はid_tokenの「iss」を参照して、id_tokenの発行者である認可サーバー201のURLを取得する。今回は、トークンプロバイダー部440のid_token検証部680が、id_tokenの「iss」を参照し認可サーバー201のURL「https://eu−auth.example.com」を取得するものとする。取得した認可サーバー201のURLのホスト名「eu−auth」のハイフンより前の文字列「eu」を参照し、リージョン文字列を認識する。認識されたリージョン文字列は、トークンデータベース(表2)に格納される。
The
トークンデータベースにはさらに、現在クライアント400にログインしているローカルユーザーIDも格納される。そして、認可サーバー201のトークンエンドポイントに対して、認可トークンを取得するためのトークン要求を送信する(S2.0)。トークン要求はJWT形式で記載され、以下、認可リクエスト時のAssertion JWTと区別するために、JWT形式のトークン要求を「トークンAssertion」と称する。トークンAssertionは、ヘッダーとペイロードとを含む。また、トークンAssertionには、クライアントIDと、id_tokenのsubクレームから取得したユーザーIDと、リダイレクトURIが含まれる。トークンAssertionのヘッダーの一例を図10(a)に示す。
The token database further stores the local user ID currently logged in to the
「typ」はJWTのタイプを示し、Assertion JWTであることを示す値「Assertion」が設定されている。署名アルゴリズムを示す「ES256」、JWTの署名検証に用いるAssertion公開鍵・Assertion秘密鍵のIDを示す「kid」を含む。kidとしてはUUIDなどの他に、JSON Web Key(JWK)Thumbprint(RFC 7638)仕様に基づく公開鍵のThumbprintの値を用いてもよい。 “Type” indicates the type of the JWT, and a value “Assertion” indicating that it is an assertion JWT is set. “ES256” indicating the signature algorithm, and “kid” indicating the ID of the assertion public key / assertion secret key used for the JWT signature verification are included. The value of Thumbprint of the public key based on the JSON Web Key (JWK) Thumbprint (RFC 7638) specification may be used as the kid in addition to the UUID and the like.
トークンAssertionのペイロードクレームの一例を図10(b)に示す。上記で説明済みの部分については、説明を省略する。 FIG. 10B shows an example of a payload claim of the token assertion. The description of the parts already described above is omitted.
「response_type」はOAuth2.0のレスポンスタイプを示し、「id_token」が設定されている。またOAuth2.0のクライアントIDを示す「iss」、OAuth2.0のリダイレクトURIを示す「redirect_uri」、ユーザー識別子を表す「sub」がペイロードクレームに含まれる。「sub」には、本実施例においては先に取得したid_tokenに含まれる値が設定される。 “Response_type” indicates a response type of OAuth 2.0, and “id_token” is set. Also, “iss” indicating the client ID of OAuth 2.0, “redirect_uri” indicating the redirect URI of OAuth 2.0, and “sub” indicating the user identifier are included in the payload claim. In the present embodiment, a value included in id_token acquired earlier is set in “sub”.
トークンプロバイダー440は、JWT仕様に基づき図10で示したようなヘッダーやペイロードを含むトークンAssertionを作成する。トークンAssertionには、クライアント登録応答時に取得したAssertion秘密鍵を用いて付与された署名が含まれる(JWTの署名部分の詳細については省略する)。
The
S2.0でトークン要求を受信した認可サーバー201はAssertion公開鍵を用いて、トークンAssertionの署名を検証する。さらに認可サーバー201は、S2.0で受信したトークンAssertionを解析し、「iss」、「sub」、「redirect_uri」、「iat」、「exp」を取得する。取得した情報の解析により、S1.2の認可リクエストを送信したクライアント400とS2.0のトークン要求を送信したクライアント400とが一致するか、認可トークンを要求するユーザーのユーザー情報が認可サーバー201に存在するか、を認可サーバー201で検証する事ができる。
Upon receiving the token request in S2.0, the
検証が成功した場合、認可サーバー201はクライアント400に対してトークン応答として、認可トークンを送信する(S2.1)。トークンプロバイダー440のトークン管理部630はトークンデータベース(表2)に対し、取得した認可トークンを格納する。
If the verification is successful, the
トークンプロバイダー440のトークン配布部640は、トークン管理部630が有するトークンデータベース(表2)から、現在ログイン中のユーザーIDを検索し、リージョン情報と認可トークンを取得する。取得したリージョン情報と認可トークンをアプリケーション420に送信する(S3.0)。
The
アプリケーション420は受信した認可トークンとリージョン情報に基づいて、リソースサーバー301が公開するAPIにアクセスする(S3.1)。具体的には、事前にアプリケーションに内蔵されているリージョン毎のリソースサーバーURL(不図示)と、トークンプロバイダー440から取得したリージョン情報を用いて、リソースサーバー301が公開するAPIにアクセスする。本実施例では、ユーザー情報を管理する認可サーバー201と同じリージョンeuに存在するリソースサーバー301に、S3.1のリソース要求が送信される。
The
以上が認可フローである。本実施例により、ユーザーの手動操作を介することなく、ユーザー情報が存在する認可サーバーを適切に選択し、選択した認可サーバーが認可トークンを発行することができる。また取得した認可トークンを用いて、ユーザー情報が存在するリージョンのリソースサーバーに対し、リソースを要求することができる。 The above is the authorization flow. According to this embodiment, it is possible to appropriately select an authorization server in which the user information exists without the manual operation of the user, and the selected authorization server can issue the authorization token. Using the obtained authorization token, a resource can be requested from a resource server in the region where the user information exists.
[実施例2]
実施例2では、認可リクエスト(S1.2)と認可レスポンス(S1.9)が正常に終了した後、トークン要求(S2.0)までの間にユーザーが別のリージョンに移動した場合に、トークン取得を継続する手段を説明する。
[Example 2]
In the second embodiment, if the user moves to another region before the token request (S2.0) after the authorization request (S1.2) and the authorization response (S1.9) end normally, the token The means for continuing the acquisition will be described.
具体的には、S1.2〜S1.9において認可されたユーザーが、出張や引っ越し等で別のリージョンを移動したとする。その際、移動したユーザーのユーザー情報も、移動先のリージョンの認可サーバーに移動させる必要がある。そのユーザー情報を移動させている最中に、ユーザーの移動前にユーザーを認可した認可サーバーに対し、トークン要求が送信される状況を想定する。 Specifically, it is assumed that the user authorized in S1.2 to S1.9 has moved to another region due to a business trip or moving. At that time, it is necessary to move the user information of the moved user to the authorization server in the destination region. It is assumed that a token request is transmitted to the authorization server that authorized the user before moving the user while moving the user information.
まず、図6を用いて、認可レスポンス(S1.9)からトークン要求(S2.0)の間に、認可されたユーザー情報が認可サーバー201から移動させている際の処理を説明する。図6の処理は、トークンプロバイダー440(クライアント400)が主体で実行されるトークン要求処理である。
First, a process when the authorized user information is transferred from the
トークンプロバイダー440は認可サーバー200に対して認可リクエストを送信する(S6.0)。本処理は実施例1におけるS1.2と同様の処理である。トークンプロバイダー440は認可レスポンスを受信する(S6.1)。本処理は実施例1におけるS1.9と同様である。その際、トークンプロバイダー440は、認可レスポンスに含まれるid_tokenを検証する。検証後、認可サーバー201のトークンエンドポイントに対して、JWT形式のトークン要求(トークンAssertion)を送信し(S6.2)、それに対するトークン応答を受信する(S6.3)。トークンプロバイダー440はトークン応答を解析し、トークン応答に認可トークンが含まれているかを判定する(S6.4)。含まれていると判定された後は、実施例1と同様、S3.0に進む。含まれていないと判定された後は、トークン応答にユーザー移動先情報が含まれているかを判定する(S6.5)。
The
ユーザー移動先情報が含まれているトークン応答の一例を図11に示す。図11の「destination_url」は後述のユーザー移動先情報を元に認可サーバー201が判定した、ユーザー情報の移動先である移動先トークンエンドポイントを示す。
FIG. 11 shows an example of the token response including the user destination information. “Destination_url” in FIG. 11 indicates a destination token endpoint, which is a destination of user information, determined by the
S6.5においてトークン応答にユーザー移動先情報が含まれていると判定された場合、S6.2の処理に戻り、ユーザー移動先情報で特定される移動先トークンエンドポイントに対してトークン要求を改めて送信する。S6.2〜S6.5の処理は、トークン応答に「destination_url」が含まれる限り、繰り返し実行される。ただし、実行回数がある一定の値を越えた場合や一定の時間が経過した場合に、トークンプロバイダー440がエラーを起こして処理を終了する等の形態も可能である。
If it is determined in S6.5 that the user response destination information is included in the token response, the process returns to S6.2, and the token request is made again to the destination token endpoint specified by the user destination information. Send. The processing of S6.2 to S6.5 is repeatedly executed as long as "destination_url" is included in the token response. However, when the number of times of execution exceeds a certain value or when a certain time elapses, a form in which the
S6.5においてトークン応答にユーザー移動先情報が存在しないと判定された場合、トークンプロバイダー440はS6.0の処理に戻り、認可リクエストを認可サーバー200に送信する。S6.5からS6.0に戻る処理は、トークン応答にユーザー移動先情報が含まれるまで、繰り返し実行される。ただし、S6.2へ戻る処理と同様、実行回数や処理時間に制限を設け、超過した場合に、トークンプロバイダー440がエラーを起こして処理を終了する等の形態も可能である。以上が図6の処理である。
When it is determined in S6.5 that the user response destination information does not exist in the token response, the
図7を用いて、トークンプロバイダー440からトークン要求を受信した認可サーバー201が、トークン応答を送信する処理を説明する。S2.0と同様に、認可サーバー201はトークンエンドポイントにトークンAssertionを受信する(S7.1)。認可サーバー201は、Assertion公開鍵を用いてトークンAssertionを検証し、「sub」からユーザー識別子を取得する(S7.2)。その際、認可サーバー201は、取得したユーザー識別子が認可サーバー201に存在するか判定する(S7.3)。存在すると判定された場合は、実施例1のS2.1と同様に、認可トークンをトークン応答としてクライアント400に送信する(S7.4)。認可サーバー201にユーザー識別子が存在しないと判定された場合は、ユーザー識別子がユーザー情報移動先テーブルに存在するかを判定する(S7.5)。判定の際に参照するユーザー情報移動先テーブルの一例を表4に示す。
The process in which the
ユーザー情報移動先テーブルは、ユーザー識別子と移動先トークンエンドポイントのカラムを有する。移動先トークンエンドポイントは、ユーザー情報を異なるリージョンの認可サーバーに移動した際に、その移送先である認可サーバーのトークンエンドポイントURLである。 The user information transfer destination table has columns of a user identifier and a transfer destination token end point. The transfer destination token endpoint is a token end point URL of the transfer destination authorization server when the user information is moved to the authorization server in a different region.
S7.5においては具体的に、トークンAssertionの「sub」に含まれるユーザー識別子「dXNlcjJAMTEwQUI」が存在するかを判定する。ユーザー識別子が存在すると判定された場合、対応する移動先トークンエンドポイントを取得して、移動先トークンエンドポイントURLを「destination_url」として記載したトークン応答をトークンプロバイダー440に送信する(S7.6)。「destination_url」が、図6の処理で記載した「ユーザー移送先情報」である。 In S7.5, specifically, it is determined whether the user identifier “dXNlcjJAMTEwQUI” included in “sub” of the token assertion exists. When it is determined that the user identifier exists, the corresponding destination token endpoint is obtained, and a token response in which the destination token endpoint URL is described as "destination_url" is transmitted to the token provider 440 (S7.6). “Destination_url” is “user transfer destination information” described in the processing of FIG.
S7.5においてユーザー識別子が存在しないと判定された場合、認可サーバー201はエラー応答をトークンプロバイダー440に送信して処理を終了する。
If it is determined in S7.5 that the user identifier does not exist, the
本実施例により、認可されたユーザーのユーザー情報が別の認可サーバーに送信された際にトークン要求が実行されても再度認可することなく、認可トークンを取得するまでの処理を続行させることができる。 According to this embodiment, even when a token request is executed when the user information of the authorized user is transmitted to another authorization server, the process until the authorization token is obtained can be continued without performing authorization again. .
[その他の実施例]
上記の実施例では、Geo Routing機能を用いることで、トークンプロバイダー440(クライアント400)と地理的に近い認可サーバー200に、認可リクエストが送信される形態を示した。それは、アクセス時間等を考慮したことによるものだが、ユーザー所属リージョン表(表3)が共有されている認可サーバーであれば、認可リクエストの送信先の決定方法は問わない。
[Other Examples]
In the above embodiment, the form in which the authorization request is transmitted to the
また、本発明の目的は以下の処理を実行することによっても達成される。即ち、上述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。 The object of the present invention is also achieved by executing the following processing. That is, a storage medium storing a program code of software for realizing the functions of the above-described embodiments is supplied to a system or an apparatus, and a computer (or CPU, MPU, or the like) of the system or the apparatus stores the program stored in the storage medium. This is the process of reading the code. In this case, the program code itself read from the storage medium realizes the function of the above-described embodiment, and the program code and the storage medium storing the program code constitute the present invention.
200 認可サーバー
420 クライアントアプリケーション
440 トークンプロバイダー部
200
Claims (13)
互いに異なるリージョンに存在する2つ以上の認可サーバーと、
を含む情報処理システムであって、
前記認可サーバーは、
前記アクセスを認可するユーザーのユーザー情報が所在する第一の認可サーバーを特定する第一の特定手段と、
前記クライアントは、
前記リージョンのリージョン情報に基づいて、前記リージョンに存在する認可サーバーを特定する第二の特定手段と、
を有し、
前記認可サーバーは、
前記認可リクエストを受信したことに伴って、前記アクセスを認可するユーザーのユーザー情報が所在する第一の認可サーバーを前記第一の特定手段によって特定し、特定された第一の認可サーバーに対して、前記ユーザーを認証するための認証要求を送信する第一の送信手段と、
前記第一の認可サーバーは、
前記第一の送信手段によって前記認証要求が送信されたことに伴って、前記ユーザーを認証し、認証されたユーザーのユーザー情報が所在する第一の認可サーバーを送信先として示す情報とともに、前記認可リクエストに対する応答である認可レスポンスを前記クライアントに送信する第二の送信手段と、
前記クライアントは、
前記第二の送信手段によって送信された認可レスポンスに基づいて、前記第二の特定手段により前記第一の認可サーバーを特定し、特定された第一の認可サーバーに対して、前記リソースサーバーにアクセスするための認可トークンを要求するトークン要求を送信する第三の送信手段と、
前記第一の認可サーバーは、
前記第三の送信手段によって送信されたトークン要求に対して前記認可トークンを発行する発行手段と、
を有する情報処理システム。 A client that sends an authorization request for the user to authorize the client to access the resource server,
Two or more authorization servers in different regions,
An information processing system including
The authorization server,
First specifying means for specifying a first authorization server where the user information of the user authorizing the access is located,
The client,
Based on the region information of the region, a second specifying means for specifying an authorization server present in the region,
Has,
The authorization server,
Along with receiving the authorization request, identify the first authorization server where the user information of the user authorizing the access is located by the first identification means, for the identified first authorization server First transmission means for transmitting an authentication request for authenticating the user,
The first authorization server,
Along with the authentication request being transmitted by the first transmission means, the user is authenticated, along with information indicating a first authorization server where the user information of the authenticated user is located as a transmission destination, the authorization A second transmission unit that transmits an authorization response that is a response to the request to the client,
The client,
Based on the authorization response transmitted by the second transmission unit, the second identification unit identifies the first authorization server, and for the identified first authorization server, accesses the resource server. A third transmitting means for transmitting a token request for requesting an authorization token for performing
The first authorization server,
Issuance means for issuing the authorization token in response to the token request transmitted by the third transmission means,
Information processing system having
前記発行手段によって発行された認可トークンを取得し、取得した認可トークンを用いて前記リソースサーバーにアクセスする請求項1に記載の情報処理システム。 The client,
2. The information processing system according to claim 1, wherein an authorization token issued by the issuing unit is acquired, and the resource server is accessed using the acquired authorization token.
前記クライアントからWebブラウザーを介して共通URLに送信され、互いに異なるリージョンに存在する2つ以上の認可サーバーのいずれか一つの認可サーバーに送信される請求項1または2に記載の情報処理システム。 The authorization request sent from the client to the authorization server,
The information processing system according to claim 1, wherein the information is transmitted from the client to a common URL via a Web browser, and is transmitted to any one of two or more authorization servers existing in different regions.
前記認可リクエストの送信元であるクライアントと地理的に近い認可サーバーに送信されることを特徴とする請求項3に記載の情報処理システム。 The authorization request sent to the common URL is:
4. The information processing system according to claim 3, wherein the authorization request is transmitted to an authorization server that is geographically close to a client that has transmitted the authorization request.
前記ユーザーを識別するユーザー識別子のハッシュ値と、前記ユーザーのユーザー情報が存在する第一の認可サーバーのリージョン情報とが関連付いた第一の情報に管理し、
前記認証要求に含まれるユーザー識別子のハッシュ値を算出し、算出されたハッシュ値と前記第一の情報とに基づいて、前記第一の認可サーバーのリージョン情報を特定することを特徴とする請求項1乃至4のいずれか一項に記載の情報処理システム。 The first specifying means,
Managing the hash value of the user identifier for identifying the user and the first information associated with the region information of the first authorization server where the user information of the user exists,
A hash value of a user identifier included in the authentication request is calculated, and region information of the first authorization server is specified based on the calculated hash value and the first information. The information processing system according to any one of claims 1 to 4.
前記第一の認可サーバーを宛先として示す情報と、前記第一の認可サーバーを宛先として示す情報の署名情報とを含むことを特徴とする請求項1乃至5のいずれか一項に記載の情報処理システム。 The authorization response is
6. The information processing apparatus according to claim 1, further comprising information indicating the first authorization server as a destination and signature information of the information indicating the first authorization server as a destination. system.
前記認可レスポンスに対して前記署名情報を付与するための暗号鍵を管理する第一の管理手段と、
前記クライアントは、
前記署名情報を検証するための復号鍵を管理する第二の管理手段と、を更に有する請求項6に記載の情報処理システム。 The first authorization server,
First management means for managing an encryption key for adding the signature information to the authorization response,
The client,
The information processing system according to claim 6, further comprising: a second management unit that manages a decryption key for verifying the signature information.
前記認可リクエストに署名情報を付与するための暗号鍵を管理する第三の管理手段と、前記第一の認可サーバーは、
前記認可リクエストに付与された署名情報を検証するための復号鍵を管理する第四の管理手段と、を更に有し、
前記第三の管理手段によって管理される暗号鍵は、
前記認可トークンを取得するための前記トークン要求に署名情報を付与し、
前記第四の管理手段によって管理された復号鍵は、
前記トークン要求に付与された署名情報を検証する請求項1乃至7のいずれか一項に記載の情報処理システム。 The client,
Third management means for managing an encryption key for adding signature information to the authorization request, and the first authorization server,
A fourth management unit that manages a decryption key for verifying the signature information given to the authorization request,
The encryption key managed by the third management means is
Adding signature information to the token request for obtaining the authorization token,
The decryption key managed by the fourth management means,
The information processing system according to claim 1, wherein the signature information provided to the token request is verified.
前記互いに異なるリージョンに存在する2つ以上の認可サーバーにおいて共有されることを特徴とする請求項8に記載の情報処理システム。 The decryption key managed by the fourth management means,
The information processing system according to claim 8, wherein the information processing system is shared by two or more authorization servers existing in the different regions.
前記ユーザー情報が移動した移動先の認可サーバーを特定する第三の特定手段と、
前記クライアントは、
前記認可トークンを取得するためのトークン要求に対する応答に、前記認可トークンが含まれているかを検証する第一の検証手段と、
前記認可トークンを取得するためのトークン要求に対する応答に、前記第三の特定手段によって特定された、前記ユーザー情報の移動先に関する情報と含むかを検証する第二の検証手段と、を更に有し、
前記第一の検証手段によって、前記トークン要求に対する応答に前記認可トークンが含まれないと判定された場合に、
前記第二の検証手段によって、前記トークン要求に対する応答に前記移動先に関する情報を含むかを検証することを特徴とする請求項1乃至9のいずれか一項に記載の情報処理システム。 The authorization server,
Third specifying means for specifying a destination authorization server to which the user information has moved,
The client,
A first verification unit that verifies whether the authorization token is included in the response to the token request for acquiring the authorization token,
A second verification unit for verifying whether or not the response to the token request for acquiring the authorization token includes information on a destination of the user information specified by the third specification unit. ,
When the first verification unit determines that the authorization token is not included in the response to the token request,
10. The information processing system according to claim 1, wherein the second verification unit verifies whether a response to the token request includes information on the destination.
前記移動先に対して、前記認可トークンを要求するためのトークン要求を送信することを特徴とする請求項10に記載の情報処理システム。 When the response to the token request is verified by the second verification unit to include information on the destination,
The information processing system according to claim 10, wherein a token request for requesting the authorization token is transmitted to the destination.
前記クライアントから受信したトークン要求に含まれるユーザー識別子を用いて、前記移動先を特定することを特徴とする請求項10または11に記載の情報処理システム。 The third specifying means,
The information processing system according to claim 10, wherein the destination is specified using a user identifier included in a token request received from the client.
互いに異なるリージョンに存在する2つ以上の認可サーバーと、
を含む情報処理システムの制御方法であって、
前記認可サーバーは、
前記アクセスを認可するユーザーのユーザー情報が所在する第一の認可サーバーを特定する第一の特定ステップと、
前記クライアントは、
前記リージョンのリージョン情報に基づいて、前記リージョンに存在する認可サーバーを特定する第二の特定ステップと、
を有し、
前記認可サーバーは、
前記認可リクエストを受信したことに伴って、前記アクセスを認可するユーザーのユーザー情報が所在する第一の認可サーバーを前記第一の特定ステップによって特定し、特定された第一の認可サーバーに対して、前記ユーザーを認証するための認証要求を送信する第一の送信ステップと、
前記第一の認可サーバーは、
前記第一の送信ステップによって前記認証要求が送信されたことに伴って、前記ユーザーを認証し、認証されたユーザーのユーザー情報が所在する第一の認可サーバーを送信先として示す情報とともに、前記認可リクエストに対する応答である認可レスポンスを前記クライアントに送信する第二の送信ステップと、
前記クライアントは、
前記第二の送信ステップによって送信された認可レスポンスに基づいて、前記第二の特定ステップにより前記第一の認可サーバーを特定し、特定された第一の認可サーバーに対して、前記リソースサーバーにアクセスするための認可トークンを要求するトークン要求を送信する第三の送信ステップと、
前記第一の認可サーバーは、
前記第三の送信ステップによって送信されたトークン要求に対して前記認可トークンを発行する発行ステップと、
を有する情報処理システムの制御方法。 A client that sends an authorization request for the user to authorize the client to access the resource server,
Two or more authorization servers in different regions,
An information processing system control method including:
The authorization server,
A first identification step of identifying a first authorization server where the user information of the user authorizing the access is located,
The client,
Based on the region information of the region, a second specifying step of specifying an authorization server present in the region,
Has,
The authorization server,
Along with receiving the authorization request, identify the first authorization server in which the user information of the user authorizing the access is located by the first identification step, for the identified first authorization server A first transmission step of transmitting an authentication request for authenticating the user,
The first authorization server,
Along with the authentication request being transmitted by the first transmission step, the user is authenticated, and together with information indicating a first authorization server where the user information of the authenticated user is located as a destination, the authorization is performed. A second transmission step of transmitting an authorization response that is a response to the request to the client,
The client,
Based on the authorization response transmitted by the second transmission step, the first identification server is identified by the second identification step, and the resource server is accessed for the identified first authorization server. A third sending step of sending a token request requesting an authorization token for
The first authorization server,
An issuing step of issuing the authorization token in response to the token request transmitted by the third transmitting step,
A control method for an information processing system having:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019238008A JP7043480B2 (en) | 2019-12-27 | 2019-12-27 | Information processing system and its control method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019238008A JP7043480B2 (en) | 2019-12-27 | 2019-12-27 | Information processing system and its control method and program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018022405A Division JP6643373B2 (en) | 2018-02-09 | 2018-02-09 | Information processing system, control method and program therefor |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2020053100A true JP2020053100A (en) | 2020-04-02 |
JP2020053100A5 JP2020053100A5 (en) | 2020-12-10 |
JP7043480B2 JP7043480B2 (en) | 2022-03-29 |
Family
ID=69997490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019238008A Active JP7043480B2 (en) | 2019-12-27 | 2019-12-27 | Information processing system and its control method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7043480B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112021001788T5 (en) | 2020-03-24 | 2023-01-12 | Honda Motor Co., Ltd. | vehicle |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015228068A (en) * | 2014-05-30 | 2015-12-17 | キヤノン株式会社 | Power transition system, method, authentication server system, and program |
JP2016009299A (en) * | 2014-06-24 | 2016-01-18 | キヤノン株式会社 | Single sign-on system, terminal device, control method and computer program |
JP2016057656A (en) * | 2014-09-05 | 2016-04-21 | 株式会社リコー | Information processor, access control method, communication system, and program |
US9537865B1 (en) * | 2015-12-03 | 2017-01-03 | International Business Machines Corporation | Access control using tokens and black lists |
JP2018032085A (en) * | 2016-08-22 | 2018-03-01 | キヤノン株式会社 | Information processor, information processing method and program |
JP2019096076A (en) * | 2017-11-22 | 2019-06-20 | キヤノン株式会社 | Access control system, method for controlling of the same, and program |
-
2019
- 2019-12-27 JP JP2019238008A patent/JP7043480B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015228068A (en) * | 2014-05-30 | 2015-12-17 | キヤノン株式会社 | Power transition system, method, authentication server system, and program |
JP2016009299A (en) * | 2014-06-24 | 2016-01-18 | キヤノン株式会社 | Single sign-on system, terminal device, control method and computer program |
JP2016057656A (en) * | 2014-09-05 | 2016-04-21 | 株式会社リコー | Information processor, access control method, communication system, and program |
US9537865B1 (en) * | 2015-12-03 | 2017-01-03 | International Business Machines Corporation | Access control using tokens and black lists |
JP2018032085A (en) * | 2016-08-22 | 2018-03-01 | キヤノン株式会社 | Information processor, information processing method and program |
JP2019096076A (en) * | 2017-11-22 | 2019-06-20 | キヤノン株式会社 | Access control system, method for controlling of the same, and program |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112021001788T5 (en) | 2020-03-24 | 2023-01-12 | Honda Motor Co., Ltd. | vehicle |
Also Published As
Publication number | Publication date |
---|---|
JP7043480B2 (en) | 2022-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6643373B2 (en) | Information processing system, control method and program therefor | |
KR102362456B1 (en) | Authority transfer system, control method therefor, and storage medium | |
KR102313859B1 (en) | Authority transfer system, control method therefor, and client | |
KR102509688B1 (en) | Method and apparatus for verifying digital identity, device and storage medium | |
JP6335657B2 (en) | Authority delegation system, method, authentication server system, and program | |
JP6929181B2 (en) | Devices and their control methods and programs | |
JP6061633B2 (en) | Device apparatus, control method, and program thereof. | |
JP7096736B2 (en) | System and data processing method | |
KR102372503B1 (en) | Method for providing authentification service by using decentralized identity and server using the same | |
JP7100561B2 (en) | Authentication system, authentication server and authentication method | |
JP2016115260A (en) | Authority transfer system, authorization server used for authority transfer system, resource server, client, mediation device, authority transfer method and program | |
JP6240102B2 (en) | Authentication system, authentication key management device, authentication key management method, and authentication key management program | |
JP5086024B2 (en) | User authentication system, apparatus, and method | |
JP7043480B2 (en) | Information processing system and its control method and program | |
JP7226457B2 (en) | TOKEN PROTECTION METHOD, AUTHORIZATION SYSTEM, APPARATUS AND PROGRAM RECORDING MEDIUM | |
KR102062851B1 (en) | Single sign on service authentication method and system using token management demon | |
KR101073685B1 (en) | Method for controlling data access using location information of user | |
JP5860421B2 (en) | Decoding method and decoding system | |
JP2018180692A (en) | Authentication permission system, authentication permission server, authentication method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201029 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211221 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220131 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220215 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220316 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7043480 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |