JP6268242B1 - Server and token issuing method - Google Patents

Server and token issuing method Download PDF

Info

Publication number
JP6268242B1
JP6268242B1 JP2016162143A JP2016162143A JP6268242B1 JP 6268242 B1 JP6268242 B1 JP 6268242B1 JP 2016162143 A JP2016162143 A JP 2016162143A JP 2016162143 A JP2016162143 A JP 2016162143A JP 6268242 B1 JP6268242 B1 JP 6268242B1
Authority
JP
Japan
Prior art keywords
token
access
client
user
priority
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
Application number
JP2016162143A
Other languages
Japanese (ja)
Other versions
JP2018032088A (en
Inventor
昇平 廣川
昇平 廣川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Data Corp
Original Assignee
NTT Data Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Data Corp filed Critical NTT Data Corp
Priority to JP2016162143A priority Critical patent/JP6268242B1/en
Application granted granted Critical
Publication of JP6268242B1 publication Critical patent/JP6268242B1/en
Publication of JP2018032088A publication Critical patent/JP2018032088A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

【課題】権限が付与された第三者により行われるまたは行われたリソースに対するアクセスに関する情報に基づいてトークンの有効期間を設定することを可能とする。【解決手段】IBサーバ4のトークン要求受付部402は、ユーザのリソースに対してアクセスする権限がユーザ装置のユーザからクライアントに対して付与されたことを証明するトークンの要求を受け付ける。有効期間設定部403は、上記の権限が付与されたクライアントにより行われるまたは行われた上記のリソースに対するアクセスに関する1以上の情報に基づいて、要求されたトークンの有効期間を設定する。アクセストークン発行部404は、上記の有効期間が設定されたトークンをクライアントに対して発行する。【選択図】図3It is possible to set a validity period of a token based on information on access to a resource performed or performed by an authorized third party. A token request reception unit 402 of an IB server 4 receives a request for a token that proves that a user device user is authorized to access a user resource by a user. The validity period setting unit 403 sets the validity period of the requested token based on one or more pieces of information regarding access to the resource performed or performed by the client to which the authority is granted. The access token issuing unit 404 issues a token with the above valid period set to the client. [Selection] Figure 3

Description

本発明は、ユーザのリソースにアクセスする権限を当該ユーザから第三者に付与する技術に関する。   The present invention relates to a technology for granting a right to access a user's resources from the user to a third party.

従来、残高照会や振込といった銀行サービスをインターネットを通じて利用者に提供するインターネットバンキングという仕組みが存在する。サービス開始当初は、IDとパスワードを保持する利用者本人が当該システムを利用するのが原則であったが、近年、利用者の許可を得ることを条件として、第三者が利用者の口座情報にアクセスして、利用者のために家計簿を作成する等のサービスが提供されている。このようなサービスを提供する第三者は、利用者の口座情報にアクセスする権限が自身に付与されたことを証明するトークンを、認可サーバから発行してもらう。そして、発行されたトークンを、口座情報を管理するリソースサーバに提示することで、当該口座情報へのアクセスを許可してもらう。このような権限付与の仕組みは、例えばOAuth 2.0という標準プロトコルにより実現される(特許文献1参照)。   2. Description of the Related Art Conventionally, there is a mechanism called Internet banking that provides bank services such as balance inquiry and transfer to users through the Internet. At the beginning of the service, it was a general rule that the user who holds the ID and password uses the system. Services such as creating a household account book for users are provided. A third party providing such a service has an authorization server issue a token that proves that the authority to access the user's account information has been granted. Then, the issued token is presented to a resource server that manages the account information, thereby permitting access to the account information. Such a mechanism for granting authority is realized by, for example, a standard protocol called OAuth 2.0 (see Patent Document 1).

特開2015−125510号公報JP2015-125510A

しかし、従来の権限付与の仕組みでは、トークンの有効期間が、アクセスの方法や範囲にかかわらず設定されており、必要以上の時間、権限を第三者に付与することにより、利用者の口座情報を危険にさらす可能性があった。   However, in the conventional authorization system, the validity period of the token is set regardless of the access method and scope, and by granting authority to a third party for a time longer than necessary, the account information of the user is obtained. Could be at risk.

本発明は、このような事情に鑑みてなされたものであり、権限が付与された第三者により行われるまたは行われたリソースに対するアクセスに関する情報に基づいてトークンの有効期間を設定することを可能にすることを目的とする。   The present invention has been made in view of such circumstances, and it is possible to set the validity period of a token based on information relating to access to resources performed or performed by an authorized third party. The purpose is to.

上記の課題を解決するため、本発明は、ユーザのリソースに対してアクセスする権限が当該ユーザからクライアントに対して付与されたことを証明するトークンまたは当該トークンを取得するために使用されるトークンの要求を受け付けるトークン要求受付部と、前記権限が付与された前記クライアントにより行われるまたは行われた前記リソースに対するアクセスに関する1以上の情報に基づいて、前記要求されたトークンの有効期間を設定する有効期間設定部と、前記有効期間が設定されたトークンを前記クライアントに対して発行するトークン発行部とを備えるサーバを提供する。   In order to solve the above-mentioned problem, the present invention provides a token that proves that the user is authorized to access a user's resource by the user or a token used to obtain the token. A token request receiving unit that receives a request, and a validity period for setting a validity period of the requested token based on one or more information related to access to the resource performed or performed by the client to which the authority is granted A server is provided that includes a setting unit and a token issuing unit that issues a token with the valid period set to the client.

好ましい態様において、前記1以上の情報は、前記要求されたトークンが発行された後に前記クライアントにより前記リソースに対して行われるアクセスに関する情報である。   In a preferred aspect, the one or more pieces of information are information relating to access made to the resource by the client after the requested token is issued.

別の好ましい態様において、前記1以上の情報は、前記要求されたトークンが発行される前に前記クライアントにより前記リソースに対して行われたアクセスに関する情報である。   In another preferred aspect, the one or more information is information relating to access made to the resource by the client before the requested token is issued.

さらに好ましい態様において、前記1以上の情報は複数の情報であり、前記有効期間設定部は、前記複数の情報の各々に基づいて複数の有効期間を特定し、当該特定した複数の有効期間のうち、最長または最短の有効期間を、前記要求されたトークンの有効期間として設定する。   In a further preferred aspect, the one or more pieces of information are a plurality of pieces of information, and the valid period setting unit identifies a plurality of valid periods based on each of the plurality of pieces of information, and among the plurality of identified valid periods The longest or shortest validity period is set as the validity period of the requested token.

別の好ましい態様において、前記1以上の情報は複数の情報であり、前記有効期間設定部は、前記複数の情報の各々に基づいて複数の有効期間を特定し、当該特定した複数の有効期間を所定の数式に代入して算出した有効期間を、前記要求されたトークンの有効期間として設定する。   In another preferable aspect, the one or more pieces of information are a plurality of pieces of information, and the valid period setting unit identifies a plurality of valid periods based on each of the plurality of pieces of information, The validity period calculated by substituting into a predetermined mathematical formula is set as the validity period of the requested token.

さらに好ましい態様において、前記有効期間設定部は、前記特定した複数の有効期間の各々に対して、当該有効期間を特定するために参照した前記情報に応じた重み付けを行う。   In a further preferred aspect, the effective period setting unit weights each of the specified effective periods according to the information referred to in order to specify the effective period.

さらに好ましい態様において、前記権限が付与された前記クライアントにより行われる前記リソースに対するアクセスの内容に基づいて、前記要求されたトークンの優先度を設定する優先度設定部をさらに備え、前記優先度は、前記権限が付与された前記クライアントにより行われる前記リソースに対する他のアクセスを許可するか否かを判断するために参照される情報であり、前記トークン発行部は、前記有効期間と前記優先度とが設定されたトークンを前記クライアントに対して発行する。   In a further preferred aspect, the apparatus further comprises a priority setting unit configured to set a priority of the requested token based on a content of access to the resource performed by the client to which the authority is granted. The reference is made to determine whether to permit other access to the resource performed by the client to which the authority is granted, and the token issuing unit determines whether the valid period and the priority are The set token is issued to the client.

さらに好ましい態様において、前記他のアクセスが許可されなかった場合に、前記トークン要求受付部は、他のアクセスを行う他の権限が前記ユーザから前記クライアントに対して付与されたことを証明する他のトークンの要求を受け付け、前記有効期間設定部は、前記他の権限が付与された前記クライアントにより行われるまたは行われた前記リソースに対する他のアクセスに関する1以上の情報に基づいて、前記要求された他のトークンの有効期間を設定し、前記優先度設定部は、前記権限が付与されたクライアントにより行われる前記リソースに対する他のアクセスの内容に基づいて、前記要求された他のトークンの他の優先度であって、前記優先度よりも高い他の優先度を設定し、前記トークン発行部は、前記他の有効期間と前記他の優先度とが設定された他のトークンを前記クライアントに対して発行する。   In a further preferred aspect, when the other access is not permitted, the token request accepting unit certifies that another authority to perform another access has been granted from the user to the client. Accepts a request for a token, and the validity period setting unit determines whether the requested other is based on one or more information related to other access to the resource performed or performed by the client to which the other authority is granted. The priority setting unit sets other priorities of the other requested tokens based on the content of other accesses to the resource performed by the authorized client. And setting another priority higher than the priority, and the token issuing unit sets the other valid period and the other Other tokens priority and is set to issue to the client.

また、本発明は、コンピュータに実行されるトークン発行方法であって、ユーザのリソースに対してアクセスする権限が当該ユーザからクライアントに対して付与されたことを証明するトークンまたは当該トークンを取得するために使用されるトークンの要求を受け付けるステップと、前記権限が付与された前記クライアントにより行われるまたは行われた前記リソースに対するアクセスに関する1以上の情報に基づいて、前記要求されたトークンの有効期間を設定するステップと、前記有効期間が設定されたトークンを前記クライアントに対して発行するステップとを備えるトークン発行方法を提供する。   The present invention is also a token issuing method executed by a computer for acquiring a token or a token for proving that an authority to access a user's resource is granted to the client from the user. Accepting a request for a token to be used for, and setting a validity period for the requested token based on one or more information regarding access to the resource made or performed by the authorized client And a token issuing method comprising: issuing a token with the valid period set to the client.

本発明によれば、権限が付与された第三者により行われるまたは行われたリソースに対するアクセスに関する情報に基づいてトークンの有効期間を設定することができる。   According to the present invention, it is possible to set the validity period of a token based on information related to access to a resource performed or performed by an authorized third party.

権限付与システム100の構成の一例を示す図である。1 is a diagram illustrating an example of a configuration of an authorization system 100. FIG. 口座情報管理テーブル21と、アクセストークン管理テーブル22と、リフレッシュトークン管理テーブル23の一例を示す図である。5 is a diagram illustrating an example of an account information management table 21, an access token management table 22, and a refresh token management table 23. FIG. IBサーバ4の構成の一例を示す図である。2 is a diagram illustrating an example of a configuration of an IB server 4. FIG. ユーザ管理テーブル409の一例である。It is an example of a user management table 409. クライアント管理テーブル410の一例である。4 is an example of a client management table 410. 認可コード管理テーブル412と、アクセストークン管理テーブル413と、リフレッシュトークン管理テーブル414の一例を示す図である。5 is a diagram illustrating an example of an authorization code management table 412, an access token management table 413, and a refresh token management table 414. FIG. 有効期間テーブル415の一例を示す図である。It is a figure which shows an example of the effective period table. 処理履歴管理テーブル416の一例を示す図である。5 is a diagram illustrating an example of a processing history management table 416. FIG. 権限付与処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of an authorization process. アクセストークン発行処理の一例を示すフロー図である。It is a flowchart which shows an example of an access token issue process. アクセス処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of an access process. アクセストークン再発行処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of an access token reissue process. 優先度テーブルの一例を示す図である。It is a figure which shows an example of a priority table.

1.実施形態
1−1.権限付与システム100の構成
図1は、本発明の一実施形態に係る権限付与システム100の構成の一例を示す図である。この権限付与システム100は、1以上のユーザ装置1と、1以上のクライアント装置2と、1以上の銀行サーバ3と、インターネットバンキング機能提供サーバ(以下、「IBサーバ」)4とを有する。ユーザ装置1とクライアント装置2とIBサーバ4とは、インターネット等の通信回線5により相互接続される。銀行サーバ3とIBサーバ4とは、専用線等の通信回線6により相互接続される。
1. Embodiment 1-1. Configuration of Authorization System 100 FIG. 1 is a diagram illustrating an example of a configuration of an authorization system 100 according to an embodiment of the present invention. The authorization system 100 includes one or more user devices 1, one or more client devices 2, one or more bank servers 3, and an Internet banking function providing server (hereinafter “IB server”) 4. The user device 1, the client device 2, and the IB server 4 are connected to each other by a communication line 5 such as the Internet. The bank server 3 and the IB server 4 are interconnected by a communication line 6 such as a dedicated line.

1−2.ユーザ装置1の構成
ユーザ装置1は、クライアント装置2が提供するサービスと、IBサーバ4が提供するサービスのユーザが使用するコンピュータである。例えば、スマートフォンやタブレット端末等の携帯型のコンピュータや、据え置き型のコンピュータである。ユーザ装置1は、具体的には、CPU等の演算処理装置と、フラッシュメモリ等のメモリと、タッチセンサ等の入力装置と、液晶ディスプレイ等の表示装置と、データ通信カード等の通信モジュール等を備える。ユーザ装置1では、演算処理装置が、メモリに記憶されるプログラムを実行することで、ユーザエージェント10の機能が実現される。ユーザエージェント10は、具体的にはウェブブラウザである。
1-2. Configuration of User Device 1 The user device 1 is a computer used by a user of a service provided by the client device 2 and a service provided by the IB server 4. For example, a portable computer such as a smartphone or a tablet terminal, or a stationary computer. Specifically, the user device 1 includes an arithmetic processing device such as a CPU, a memory such as a flash memory, an input device such as a touch sensor, a display device such as a liquid crystal display, and a communication module such as a data communication card. Prepare. In the user device 1, the function of the user agent 10 is realized by the arithmetic processing device executing a program stored in the memory. The user agent 10 is specifically a web browser.

ユーザ装置1のユーザは、銀行サーバ3またはIBサーバ4に記憶される自身のリソースにアクセスする権限を有している。また、このユーザは、当該リソースにアクセスする権限を、クライアント装置2上で機能するクライアント20に付与する権限を有している。   The user of the user device 1 has the authority to access his / her resources stored in the bank server 3 or the IB server 4. Further, this user has the authority to give the right to access the resource to the client 20 that functions on the client device 2.

1−3.クライアント装置2の構成
クライアント装置2は、銀行サーバ3またはIBサーバ4に記憶される、ユーザ装置1のユーザのリソースにアクセスして、当該リソースに基づいてユーザにサービスを提供するサービス事業者が使用するコンピュータである。例えば、サーバである。クライアント装置2は、具体的には、CPU等の演算処理装置と、HDD等の記憶装置と、データ通信カード等の通信モジュール等を備える。クライアント装置2では、演算処理装置が、記憶装置に記憶されるプログラムを実行することで、クライアント20の機能が実現される。クライアント20は、具体的には家計簿アプリケーションである。より具体的には、銀行サーバ3またはIBサーバ4に記憶される、ユーザ装置1のユーザの口座情報にアクセスして、当該口座情報に基づいてユーザのために家計簿を自動で作成するアプリケーションである。クライアント20は、家計簿を自動で作成するにあたり、ユーザの口座情報にアクセスする権限の付与を当該ユーザから受ける。
1-3. Configuration of Client Device 2 The client device 2 is used by a service provider that accesses a user resource of the user device 1 stored in the bank server 3 or the IB server 4 and provides a service to the user based on the resource. Computer. For example, a server. Specifically, the client device 2 includes an arithmetic processing device such as a CPU, a storage device such as an HDD, and a communication module such as a data communication card. In the client device 2, the function of the client 20 is realized by the arithmetic processing device executing a program stored in the storage device. The client 20 is specifically a household account book application. More specifically, an application that accesses account information of the user of the user device 1 stored in the bank server 3 or the IB server 4 and automatically creates a household account book for the user based on the account information. is there. In order to automatically create a household account book, the client 20 receives from the user an authority to access the user's account information.

クライアント20の記憶装置には、口座情報管理テーブル21と、アクセストークン管理テーブル22と、リフレッシュトークン管理テーブル23とが記憶される。   In the storage device of the client 20, an account information management table 21, an access token management table 22, and a refresh token management table 23 are stored.

図2(a)は、口座情報管理テーブル21の一例を示す図である。口座情報管理テーブル21は、ユーザ装置1のユーザの口座ごとに作成され、IBサーバ4から取得されたユーザの口座情報が登録される。口座情報管理テーブル21の各レコードは、日付と、入金金額と、出金金額と、残高と、摘要の各フィールドにより構成される。   FIG. 2A is a diagram illustrating an example of the account information management table 21. The account information management table 21 is created for each user account of the user device 1, and the user account information acquired from the IB server 4 is registered therein. Each record of the account information management table 21 includes fields of date, deposit amount, withdrawal amount, balance, and description.

図2(b)は、アクセストークン管理テーブル22の一例を示す図である。アクセストークン管理テーブル22は、IBサーバ4によりクライアント20に対して発行されるアクセストークンを管理するためのテーブルである。ここで、アクセストークンとは、ユーザ装置1のユーザの口座情報にアクセスする権限が当該ユーザからクライアント20に付与されたことを証明する認証情報である。具体的には、ランダムな文字列である。アクセストークン管理テーブル22の各レコードは、アクセストークンと、アクセストークンの有効期限と、アクセストークンのスコープの各フィールドにより構成される。ここで、アクセストークンのスコープは、当該アクセストークンにより権限が付与されていることが証明されるアクセスの範囲を示し、アクセスの種類と、ユーザ装置1のユーザを識別するユーザID(銀行ごとに異なる)と、アクセスの処理方式と、照会期間とにより構成される。ここで、アクセスの処理方式のうち、オフライン方式は、IBサーバ4に記憶されるリソースにアクセスするものであり、オンライン方式は、銀行サーバ3に記憶されるオリジナルのリソースにアクセスするものである。   FIG. 2B is a diagram illustrating an example of the access token management table 22. The access token management table 22 is a table for managing an access token issued to the client 20 by the IB server 4. Here, the access token is authentication information that proves that the right to access the account information of the user of the user device 1 is given to the client 20 by the user. Specifically, it is a random character string. Each record of the access token management table 22 includes an access token, an access token expiration date, and an access token scope field. Here, the scope of the access token indicates the range of access that is proved to be authorized by the access token, and the type of access and the user ID that identifies the user of the user device 1 (different for each bank). ), An access processing method, and an inquiry period. Here, of the access processing methods, the offline method is to access resources stored in the IB server 4, and the online method is to access original resources stored in the bank server 3.

図2(c)は、リフレッシュトークン管理テーブル23の一例を示す図である。リフレッシュトークン管理テーブル23は、IBサーバ4によりクライアント20に対して発行されるリフレッシュトークンを管理するためのテーブルである。ここで、リフレッシュトークンとは、アクセストークンを取得するために使用される認証情報である。より具体的には、アクセストークンの再発行を要求する権限を有することを証明する認証情報である。リフレッシュトークンは、ランダムな文字列からなる。リフレッシュトークン管理テーブル23の各レコードは、リフレッシュトークンと、リフレッシュトークンの有効期限と、リフレッシュトークンのスコープの各フィールドにより構成される。ここで、リフレッシュトークンのスコープは、当該リフレッシュトークンを使用して取得されるアクセストークンにより権限が付与されていることが証明されるアクセスの範囲を示し、アクセスの種類と、ユーザIDと、アクセスの処理方式と、照会期間とにより構成される。   FIG. 2C is a diagram illustrating an example of the refresh token management table 23. The refresh token management table 23 is a table for managing refresh tokens issued to the client 20 by the IB server 4. Here, the refresh token is authentication information used for acquiring an access token. More specifically, the authentication information proves that the user has the authority to request reissuance of the access token. The refresh token consists of a random character string. Each record of the refresh token management table 23 includes a refresh token, a refresh token expiration date, and a refresh token scope field. Here, the scope of the refresh token indicates a range of access that is proved to be authorized by an access token acquired using the refresh token, and includes an access type, a user ID, and an access type. It consists of processing method and inquiry period.

1−4.銀行サーバ3の構成
銀行サーバ3は、銀行が管理するサーバである。銀行サーバ3は、具体的には、CPU等の演算処理装置と、HDD等の記憶装置と、データ通信カード等の通信モジュール等を備える。銀行サーバ3の記憶装置には、口座情報管理テーブル30が記憶される。口座情報管理テーブル30は、ユーザ装置1のユーザの口座ごとに作成され、ユーザのオリジナルの口座情報が登録される。口座情報管理テーブル30の各レコードは、日付と、入金金額と、出金金額と、残高と、摘要の各フィールドにより構成される。口座情報管理テーブル30の構成は、口座情報管理テーブル21と同様のため、図示を省略する。
なお、銀行(普通銀行)は、あくまで金融機関の一例であり、他の実施形態では、信託銀行やクレジットカード会社や保険会社等の他の金融機関によりサーバが管理されてもよい。
1-4. Configuration of Bank Server 3 The bank server 3 is a server managed by a bank. Specifically, the bank server 3 includes an arithmetic processing device such as a CPU, a storage device such as an HDD, a communication module such as a data communication card, and the like. An account information management table 30 is stored in the storage device of the bank server 3. The account information management table 30 is created for each user account of the user device 1, and the original account information of the user is registered. Each record of the account information management table 30 includes fields of date, deposit amount, withdrawal amount, balance, and description. The configuration of the account information management table 30 is the same as that of the account information management table 21, and is not shown.
A bank (ordinary bank) is merely an example of a financial institution, and in other embodiments, the server may be managed by another financial institution such as a trust bank, a credit card company, or an insurance company.

1−5.IBサーバ4の構成
図3は、IBサーバ4の構成の一例を示す図である。IBサーバ4は、銀行サーバ3に対してインターネットバンキングの機能を提供するインターネットバンキング事業者が管理するサーバである。IBサーバ4は、具体的には、CPU等の演算処理装置と、HDD等の記憶装置と、データ通信カード等の通信モジュール等を備える。IBサーバ4では、演算処理装置が、記憶装置に記憶されるプログラムを実行することで、ユーザ装置1のユーザからクライアント20に対してアクセス権限を付与するための各種機能が実現される。これらの機能については後述する。
1-5. Configuration of IB Server 4 FIG. 3 is a diagram illustrating an example of the configuration of the IB server 4. The IB server 4 is a server that is managed by an internet banking company that provides the bank server 3 with an internet banking function. Specifically, the IB server 4 includes an arithmetic processing device such as a CPU, a storage device such as an HDD, a communication module such as a data communication card, and the like. In the IB server 4, various functions for granting access authority from the user of the user device 1 to the client 20 are realized by the arithmetic processing device executing a program stored in the storage device. These functions will be described later.

IBサーバ4の記憶装置には、ユーザ管理テーブル409と、クライアント管理テーブル410と、口座情報管理テーブル411と、認可コード管理テーブル412と、アクセストークン管理テーブル413と、リフレッシュトークン管理テーブル414と、有効期間テーブル415と、処理履歴管理テーブル416とが記憶される。   The storage device of the IB server 4 includes a user management table 409, a client management table 410, an account information management table 411, an authorization code management table 412, an access token management table 413, and a refresh token management table 414. A period table 415 and a processing history management table 416 are stored.

図4は、ユーザ管理テーブル409の一例である。ユーザ管理テーブル409は、インターネットバンキングを利用する、ユーザ装置1のユーザの認証情報と個人情報を管理するためのテーブルである。ユーザ管理テーブル409の各レコードは、ユーザIDと、パスワードと、氏名と、住所とにより構成される。   FIG. 4 is an example of the user management table 409. The user management table 409 is a table for managing authentication information and personal information of the user of the user device 1 that uses Internet banking. Each record of the user management table 409 includes a user ID, a password, a name, and an address.

図5は、クライアント管理テーブル410の一例である。クライアント管理テーブル410は、IBサーバ4からアクセストークンの発行を受けるクライアント20の認証情報を管理するためのテーブルである。クライアント管理テーブル410の各レコードは、クライアント20を識別するクライアントIDと、パスワードとにより構成される。   FIG. 5 is an example of the client management table 410. The client management table 410 is a table for managing authentication information of the client 20 that receives an access token issued from the IB server 4. Each record of the client management table 410 includes a client ID for identifying the client 20 and a password.

口座情報管理テーブル411は、ユーザ装置1のユーザの口座ごとに作成され、銀行サーバ3から取得されたユーザの口座情報が登録される。IBサーバ4は、口座情報管理テーブル411を、定期的に銀行サーバ3の口座情報管理テーブル30に同期させる。口座情報管理テーブル411の各レコードは、日付と、入金金額と、出金金額と、残高と、摘要の各フィールドにより構成される。口座情報管理テーブル411の構成は、口座情報管理テーブル21と同様のため、図示を省略する。   The account information management table 411 is created for each user account of the user device 1, and the user account information acquired from the bank server 3 is registered therein. The IB server 4 periodically synchronizes the account information management table 411 with the account information management table 30 of the bank server 3. Each record of the account information management table 411 includes fields of date, deposit amount, withdrawal amount, balance, and description. The configuration of the account information management table 411 is the same as that of the account information management table 21 and is not shown.

図6(a)は、認可コード管理テーブル412の一例を示す図である。認可コード管理テーブル412は、クライアント20に対して発行された認可コードに関する情報を管理するためのテーブルである。ここで、認可コードとは、アクセストークンとリフレッシュトークンを取得するために使用される認証情報である。より具体的には、アクセストークンとリフレッシュトークンの発行を要求する権限を有することを証明する認証情報である。認可コードは、ランダムな文字列からなる。認可コード管理テーブル412の各レコードは、認可コードと、クライアントIDと、認可コードの有効期限と、認可コードの要求時にクライアント20からIBサーバ4に送信されるリダイレクトURIの各フィールドにより構成される。   FIG. 6A is a diagram illustrating an example of the authorization code management table 412. The authorization code management table 412 is a table for managing information related to the authorization code issued to the client 20. Here, the authorization code is authentication information used to acquire an access token and a refresh token. More specifically, the authentication information proves that the user has the authority to request access token and refresh token issuance. The authorization code consists of a random character string. Each record of the authorization code management table 412 includes an authorization code, a client ID, an expiration date of the authorization code, and fields of a redirect URI transmitted from the client 20 to the IB server 4 when the authorization code is requested.

図6(b)は、アクセストークン管理テーブル413の一例を示す図である。アクセストークン管理テーブル22は、IBサーバ4によりクライアント20に対して発行されるアクセストークンを管理するためのテーブルである。アクセストークン管理テーブル413の各レコードは、アクセストークンと、クライアントIDと、アクセストークンの有効期限と、アクセストークンのスコープの各フィールドにより構成される。アクセストークンのスコープは、アクセスの種類と、ユーザIDと、アクセスの処理方式と、照会期間とにより構成される。   FIG. 6B is a diagram illustrating an example of the access token management table 413. The access token management table 22 is a table for managing an access token issued to the client 20 by the IB server 4. Each record of the access token management table 413 includes fields of an access token, a client ID, an access token expiration date, and an access token scope. The scope of the access token includes an access type, a user ID, an access processing method, and an inquiry period.

図6(c)は、リフレッシュトークン管理テーブル414の一例を示す図である。リフレッシュトークン管理テーブル414は、IBサーバ4によりクライアント20に対して発行されるリフレッシュトークンを管理するためのテーブルである。リフレッシュトークン管理テーブル414の各レコードは、リフレッシュトークンと、クライアントIDと、リフレッシュトークンの有効期限と、リフレッシュトークンのスコープと、アクセストークンの再発行回数の各フィールドにより構成される。リフレッシュトークンのスコープは、アクセスの種類と、ユーザIDと、アクセスの処理方式と、照会期間とにより構成される。   FIG. 6C is a diagram illustrating an example of the refresh token management table 414. The refresh token management table 414 is a table for managing refresh tokens issued to the client 20 by the IB server 4. Each record of the refresh token management table 414 includes fields for a refresh token, a client ID, a refresh token expiration date, a refresh token scope, and an access token reissue count. The scope of the refresh token includes an access type, a user ID, an access processing method, and an inquiry period.

図7は、有効期間テーブル415の一例を示す図である。有効期間テーブル415は、アクセストークンの有効期間を設定するために参照されるテーブルである。この有効期間テーブル415では、アクセス権限が付与されたクライアント20により行われるまたは行われたリソースに対するアクセスに関する情報ごとに有効期間が対応付けられている。ここで、このアクセスに関する情報は、要求されたアクセストークンが発行された後にクライアント20によりリソースに対して行われるアクセス(言い換えると、将来のアクセス)に関する情報と、要求されたアクセストークンが発行される前にクライアント20によりリソースに対して行われたアクセス(言い換えると、過去のアクセス)に関する情報とに分けられる。将来のアクセスに関する情報は、言い換えると、アクセストークンのスコープの情報であり、処理方式と、照会範囲とが含まれる。ここで、照会範囲には、照会期間と、照会対象の口座数と、照会対象の入出金明細数とが含まれる。処理方式に対応付けられる有効期間については、セキュリティの観点から、オンライン方式に対応付けられる有効期間の方が、オフライン方式に対応付けられる有効期間よりも短めに設定されている。照会範囲に対応付けられる有効期間については、クライアント20の利便性の観点から、照会範囲の値に比例するように設定されている。一方、過去のアクセスに関する情報には、処理時間と、アクセス回数(言い換えると、アクセストークンの再発行回数)と、直近のアクセス日時とが含まれる。ここで、処理時間とは、IBサーバ4がクライアント20からアクセス要求を受信してから、要求されたアクセスを実行するまでに要する時間である。処理時間とアクセス回数に対応付けられる有効時間については、クライアント20の利便性の観点から、その値に比例するように設定されている。直近のアクセス日時に対応付けられる有効時間については、セキュリティの観点から、負の比例関係となるように設定されている。   FIG. 7 is a diagram illustrating an example of the validity period table 415. The validity period table 415 is a table referred to for setting the validity period of the access token. In this effective period table 415, an effective period is associated with each piece of information related to access to resources performed or performed by the client 20 to which the access authority is granted. Here, the information related to this access includes information related to access (in other words, future access) performed on the resource by the client 20 after the requested access token is issued, and the requested access token. It is divided into information related to access (in other words, past access) previously performed on the resource by the client 20. In other words, the information related to future access is information on the scope of the access token, and includes a processing method and a query range. Here, the inquiry range includes the inquiry period, the number of accounts to be inquired, and the number of deposit / withdrawal items to be inquired. Regarding the effective period associated with the processing method, the effective period associated with the online method is set shorter than the effective period associated with the offline method from the viewpoint of security. The effective period associated with the inquiry range is set to be proportional to the value of the inquiry range from the viewpoint of convenience of the client 20. On the other hand, information related to past access includes processing time, the number of accesses (in other words, the number of reissues of access tokens), and the most recent access date and time. Here, the processing time is the time required for the IB server 4 to execute the requested access after receiving the access request from the client 20. The effective time associated with the processing time and the access count is set to be proportional to the value from the viewpoint of convenience of the client 20. The effective time associated with the most recent access date / time is set to have a negative proportional relationship from the viewpoint of security.

図8は、処理履歴管理テーブル416の一例を示す図である。処理履歴管理テーブル416は、アクセス権限が付与されたクライアント20により行われたリソースに対するアクセスの履歴を管理するためのテーブルである。処理履歴管理テーブル416は、クライアント20ごとに作成される。この処理履歴管理テーブル416の各レコードは、日時と、処理時間と、アクセスのスコープの各フィールドにより構成される。アクセスのスコープは、アクセスの種類と、ユーザIDと、アクセスの処理方式と、照会期間とにより構成される。   FIG. 8 is a diagram illustrating an example of the processing history management table 416. The processing history management table 416 is a table for managing a history of access to resources performed by the client 20 to which access authority is granted. The processing history management table 416 is created for each client 20. Each record of the processing history management table 416 includes fields of date / time, processing time, and access scope. The access scope includes an access type, a user ID, an access processing method, and an inquiry period.

次に、IBサーバ4で実現される各種機能について説明する。具体的には、認可取得部401と、トークン要求受付部402と、有効期間設定部403と、アクセストークン発行部404と、リフレッシュトークン発行部405と、アクセス要求受付部406と、処理実行部407と、トークン再要求受付部408とについて説明する。   Next, various functions realized by the IB server 4 will be described. Specifically, the authorization acquisition unit 401, the token request reception unit 402, the validity period setting unit 403, the access token issue unit 404, the refresh token issue unit 405, the access request reception unit 406, and the process execution unit 407. The token re-request receiving unit 408 will be described.

認可取得部401は、クライアント20により生成された認可要求を受け付けると、ユーザ装置1のユーザから、当該ユーザのリソースにアクセスする権限をクライアント20に付与することに対する認可を取得する。その際、認可取得部401は、ユーザから認可を取得するのに先立ち、ユーザ管理テーブル409を参照して、当該ユーザの認証を行う。この認証に成功すると、認可取得部401は、アクセス権限をクライアント20に付与することに対する認可をユーザから取得する。認可をユーザから取得すると、認可取得部401は、クライアント20に対して認可コードを発行する。   Upon receiving the authorization request generated by the client 20, the authorization acquisition unit 401 acquires an authorization for granting the client 20 authority to access the user's resources from the user of the user device 1. At that time, the authorization acquisition unit 401 refers to the user management table 409 and authenticates the user before acquiring the authorization from the user. If the authentication is successful, the authorization acquisition unit 401 acquires an authorization for granting access authority to the client 20 from the user. When obtaining the authorization from the user, the authorization obtaining unit 401 issues an authorization code to the client 20.

トークン要求受付部402は、認可コードを発行されたクライアント20により生成される、アクセストークンの要求を受け付ける。この要求を受け付けると、トークン要求受付部402は、クライアント管理テーブル410を参照して、クライアント20を認証する。この認証に成功すると、トークン要求受付部402は、受け付けた要求に含まれる認可コードの有効性を検証する。具体的には、認可コード管理テーブル412を参照して、認可コードの有効期限が経過しているか否かを検証する。   The token request reception unit 402 receives an access token request generated by the client 20 that has been issued an authorization code. When receiving this request, the token request receiving unit 402 refers to the client management table 410 and authenticates the client 20. If the authentication is successful, the token request reception unit 402 verifies the validity of the authorization code included in the received request. Specifically, with reference to the authorization code management table 412, it is verified whether or not the expiration date of the authorization code has passed.

有効期間設定部403は、トークン要求受付部402による認証および検証が成功すると、トークン要求受付部402により要求が受け付けられたアクセストークンの有効期間を設定する。その際、有効期間設定部403は、有効期間テーブル415を参照しつつ、認可取得部401により受け付けられた認可要求に基づいて有効期間を設定する。具体的には、有効期間設定部403は、認可要求に含まれるクライアントIDとアクセスのスコープに基づいて複数の有効期間を特定し、特定した複数の有効期間のうち、最短の有効期間を、要求されたアクセストークンの有効期間として設定する。ここで、最短の有効期間をアクセストークンの有効期間として設定しているのは、セキュリティの観点から、アクセストークンに設定される有効期間は短い方が好ましいからである。   When the authentication and verification by the token request receiving unit 402 is successful, the valid period setting unit 403 sets the valid period of the access token for which the request has been received by the token request receiving unit 402. At that time, the validity period setting unit 403 sets the validity period based on the authorization request received by the authorization acquisition unit 401 while referring to the validity period table 415. Specifically, the validity period setting unit 403 identifies a plurality of validity periods based on the client ID and access scope included in the authorization request, and requests the shortest validity period among the identified validity periods. Set as the validity period of the access token Here, the reason why the shortest valid period is set as the valid period of the access token is that, from the viewpoint of security, it is preferable that the valid period set in the access token is short.

アクセストークン発行部404は、有効期間設定部403により有効期間が設定されたアクセストークンを、クライアント20に対して発行する。アクセストークンを発行すると、アクセストークン発行部404は、現在の時点から、設定された有効期間が経過した後の時点である有効期限を算出し、発行したアクセストークンと、認可取得部401により受け付けられた認可要求に含まれるクライアントIDおよびアクセスのスコープとに対応付けて、アクセストークン管理テーブル413に登録する。   The access token issuing unit 404 issues an access token whose validity period has been set by the validity period setting unit 403 to the client 20. When the access token is issued, the access token issuing unit 404 calculates the expiration date after the set effective period has elapsed from the current time, and is received by the issued access token and the authorization acquisition unit 401. Are registered in the access token management table 413 in association with the client ID and the access scope included in the authorization request.

リフレッシュトークン発行部405は、リフレッシュトークンをクライアント20に対して発行する。リフレッシュトークンを発行すると、リフレッシュトークン発行部405は、現在の時点から、銀行ごとに設定される所定の有効期間が経過した後の時点である有効期限を算出し、発行したリフレッシュトークンと、認可取得部401により受け付けられた認可要求に含まれるクライアントIDおよびアクセスのスコープとに対応付けて、リフレッシュトークン管理テーブル414に登録する。   The refresh token issuing unit 405 issues a refresh token to the client 20. When the refresh token is issued, the refresh token issuing unit 405 calculates an expiration date that is a time point after a predetermined validity period set for each bank has elapsed from the current time point, and issues the refresh token and authorization acquisition. Registered in the refresh token management table 414 in association with the client ID and the access scope included in the authorization request received by the unit 401.

アクセス要求受付部406は、クライアント20から送信されるアクセス要求を受け付ける。アクセス要求を受け付けると、アクセス要求受付部406は、クライアント管理テーブル410を参照して、クライアント20を認証する。この認証に成功すると、アクセス要求受付部406は、受け付けたアクセス要求に含まれるアクセストークンの有効性を検証する。具体的には、アクセストークン管理テーブル413を参照して、アクセストークンの有効期限が経過しているか否かを検証する。アクセストークンの有効性を検証すると、アクセス要求受付部406は、要求されたアクセスが権限の範囲内のものであるか否かを検証する。具体的には、アクセストークン管理テーブル413を参照して、受け付けたアクセス要求に含まれるアクセストークンとアクセストークンのスコープの組が登録されているか否かを判断する。   The access request receiving unit 406 receives an access request transmitted from the client 20. When receiving the access request, the access request receiving unit 406 refers to the client management table 410 and authenticates the client 20. If the authentication is successful, the access request receiving unit 406 verifies the validity of the access token included in the received access request. Specifically, the access token management table 413 is referenced to verify whether the access token expiration date has passed. When the validity of the access token is verified, the access request receiving unit 406 verifies whether or not the requested access is within the authority range. Specifically, referring to access token management table 413, it is determined whether or not a pair of access token and access token scope included in the received access request is registered.

処理実行部407は、アクセス要求受付部406による認証および検証が成功すると、アクセス要求受付部406により要求が受け付けられたアクセスを許可する。ここで、アクセスとは、残高や入出金明細等の口座情報の照会である。アクセスは、例えば、IBサーバ4が有するAPI(Application Programming Interface)を呼び出すことにより行われる。処理実行部407は、要求された処理を実行すると、実行した処理の日時と、処理時間と、アクセスのスコープとを対応付けて、処理履歴管理テーブル416に登録する。   When the authentication and verification by the access request receiving unit 406 is successful, the process execution unit 407 permits the access for which the request has been received by the access request receiving unit 406. Here, the access is an inquiry of account information such as balance and deposit / withdrawal details. Access is performed, for example, by calling an API (Application Programming Interface) of the IB server 4. When executing the requested process, the process executing unit 407 registers the date and time of the executed process, the process time, and the access scope in the process history management table 416 in association with each other.

トークン再要求受付部408は、クライアント20から送信されるアクセストークン再要求を受け付ける。アクセストークン再要求を受け付けると、トークン再要求受付部408は、クライアント管理テーブル410を参照して、クライアント20を認証する。この認証に成功すると、トークン再要求受付部408は、受け付けたアクセストークン再要求に含まれるリフレッシュトークンの有効性を検証する。具体的には、リフレッシュトークン管理テーブル23を参照して、リフレッシュトークンの有効期限が経過しているか否かを検証する。リフレッシュトークンの有効性を検証すると、トークン再要求受付部408は、受け付けたアクセストークン再要求に含まれるアクセストークンのスコープが、権限の範囲内のものであるか否かを検証する。具体的には、リフレッシュトークン管理テーブル414を参照して、受け付けたアクセストークン再要求に含まれるリフレッシュトークンとアクセストークンのスコープの組が登録されているか否かを判断する。この際、照会期間については、リフレッシュトークン管理テーブル414に登録されている照会期間と同じか、それよりも短ければよい。   The token rerequest receiving unit 408 receives an access token rerequest transmitted from the client 20. When receiving the access token re-request, the token re-request receiving unit 408 refers to the client management table 410 and authenticates the client 20. If the authentication is successful, the token rerequest receiving unit 408 verifies the validity of the refresh token included in the received access token rerequest. Specifically, the refresh token management table 23 is referenced to verify whether or not the expiration date of the refresh token has elapsed. When the validity of the refresh token is verified, the token rerequest receiving unit 408 verifies whether or not the scope of the access token included in the received access token rerequest is within the authority range. Specifically, the refresh token management table 414 is referred to, and it is determined whether or not a pair of a refresh token and an access token scope included in the received access token re-request is registered. At this time, the inquiry period may be the same as or shorter than the inquiry period registered in the refresh token management table 414.

1−6.権限付与システム100の動作
権限付与システム100の動作について説明する。具体的には、ユーザ装置1のユーザの認可を受けて、クライアント20に対してアクセストークンとリフレッシュトークンを発行する権限付与処理と、クライアント20からのアクセス要求を受けてアクセスを許可するアクセス処理と、クライアント20からのアクセストークン再要求を受けてアクセストークンを再発行するアクセストークン再発行処理とについて説明する。
1-6. Operation of Authorization System 100 The operation of the authorization system 100 will be described. Specifically, an authorization process for issuing an access token and a refresh token to the client 20 upon receiving the authorization of the user of the user device 1, and an access process for permitting access upon receiving an access request from the client 20. An access token reissue process for reissuing an access token in response to an access token rerequest from the client 20 will be described.

1−6−1.権限付与処理
図9は、権限付与処理の一例を示すシーケンス図である。クライアント20が提供する家計簿作成サービスを利用するユーザ装置1のユーザは、当該サービスと、IBサーバ4が提供するインターネットバンキングサービスとの連携を希望する場合、クライアント20に対してインターネットバンキングサービスとの連携を依頼する。その際、ユーザ装置1のユーザエージェント10は、クライアント20に対して連携依頼を送信する(ステップSa1)。クライアント20は、ユーザエージェント10から送信された連携依頼を受け付けると、ユーザエージェント10をIBサーバ4にリダイレクトする(ステップSa2)。その際、ユーザエージェント10からIBサーバ4に対して認可要求を送信させる。この認可要求には、クライアント20のクライアントIDと、アクセスのスコープと、リダイレクトURIとが含まれる。ここで、アクセスのスコープは、アクセスの種類と、ユーザ装置1のユーザのユーザIDと、アクセスの処理方式と、照会期間とにより構成される。リダイレクトURIとは、認可コード発行時にIBサーバ4がユーザエージェント10をリダイレクトする先を示す識別情報である。具体的には、クライアント20のウェブページを示すURLである。
1-6-1. Authorization processing FIG. 9 is a sequence diagram illustrating an example of authorization processing. When the user of the user device 1 who uses the household account book creation service provided by the client 20 desires cooperation between the service and the Internet banking service provided by the IB server 4, the user 20 communicates with the client 20 about the Internet banking service. Request cooperation. At that time, the user agent 10 of the user device 1 transmits a cooperation request to the client 20 (step Sa1). Upon receiving the cooperation request transmitted from the user agent 10, the client 20 redirects the user agent 10 to the IB server 4 (step Sa2). At this time, an authorization request is transmitted from the user agent 10 to the IB server 4. This authorization request includes the client ID of the client 20, the access scope, and the redirect URI. Here, the scope of access is constituted by the type of access, the user ID of the user of the user device 1, the access processing method, and the inquiry period. The redirect URI is identification information indicating a destination to which the IB server 4 redirects the user agent 10 when an authorization code is issued. Specifically, the URL indicates the web page of the client 20.

IBサーバ4の認可取得部401は、ユーザエージェント10から送信された認可要求を受け付けると、ユーザを認証するための認証画面をユーザエージェント10に送信する(ステップSa3)。ユーザエージェント10は、IBサーバ4から送信された認証画面を取得すると、当該認証画面を表示装置に表示させる。この認証画面には、ユーザIDとパスワードを入力する入力欄と、ログインボタンとが含まれる。ユーザ装置1のユーザが、ユーザIDとパスワードを入力してログインボタンを選択すると、ユーザエージェント10は、入力されたユーザIDとパスワードの組を認証情報としてIBサーバ4に送信する(ステップSa4)。IBサーバ4の認可取得部401は、ユーザエージェント10から送信された認証情報を取得すると、この認証情報(すなわち、ユーザIDとパスワードの組)がユーザ管理テーブル409に登録されているか否かを判断する(ステップSa5)。この判断の結果、登録されていない場合には(すなわち、ユーザ認証に失敗した場合には)、認可取得部401はユーザエージェント10に対してエラー応答を送信する。一方、登録されている場合には(すなわち、ユーザ認証に成功した場合には)、認可取得部401は、ユーザの認可を得るための認可画面をユーザエージェント10に送信する(ステップSa6)。   Upon receiving the authorization request transmitted from the user agent 10, the authorization acquisition unit 401 of the IB server 4 transmits an authentication screen for authenticating the user to the user agent 10 (step Sa3). When the user agent 10 acquires the authentication screen transmitted from the IB server 4, the user agent 10 displays the authentication screen on the display device. This authentication screen includes an input field for inputting a user ID and a password, and a login button. When the user of the user device 1 inputs a user ID and a password and selects a login button, the user agent 10 transmits the set of the input user ID and password as authentication information to the IB server 4 (step Sa4). Upon obtaining the authentication information transmitted from the user agent 10, the authorization acquisition unit 401 of the IB server 4 determines whether or not this authentication information (that is, a combination of a user ID and a password) is registered in the user management table 409. (Step Sa5). If the result of this determination is that the user is not registered (that is, if user authentication has failed), the authorization acquisition unit 401 transmits an error response to the user agent 10. On the other hand, when registered (that is, when user authentication is successful), the authorization acquisition unit 401 transmits an authorization screen for obtaining user authorization to the user agent 10 (step Sa6).

ユーザエージェント10は、IBサーバ4から送信された認可画面を取得すると、当該認可画面を表示装置に表示させる。この認可画面には、ステップSa2でIBサーバ4が取得した認可要求に含まれるアクセスのスコープに関する説明と、認可ボタンと、拒否ボタンとが含まれる。ユーザ装置1のユーザが認可ボタンを選択すると、ユーザエージェント10は、ユーザが認可したことをIBサーバ4に通知する(ステップSa7)。IBサーバ4の認可取得部401は、この通知を受け付けると、認可コードを発行して、ユーザエージェント10を、ステップSa3で取得したリダイレクトURIを用いてクライアント20にリダイレクトする(ステップSa8)。その際、ユーザエージェント10からクライアント20に対して認可コードを送信させる。また、IBサーバ4の認可取得部401は、発行した認可コードと、この認可コードの有効期限と、ステップSa3で取得したクライアントIDおよびリダイレクトURIとを対応付けて認可コード管理テーブル412に登録する。   When acquiring the authorization screen transmitted from the IB server 4, the user agent 10 displays the authorization screen on the display device. This authorization screen includes an explanation regarding the scope of access included in the authorization request acquired by the IB server 4 in step Sa2, an authorization button, and a rejection button. When the user of the user device 1 selects the authorization button, the user agent 10 notifies the IB server 4 that the user has authorized (step Sa7). Upon receiving this notification, the authorization acquisition unit 401 of the IB server 4 issues an authorization code and redirects the user agent 10 to the client 20 using the redirect URI acquired in step Sa3 (step Sa8). At that time, the authorization code is transmitted from the user agent 10 to the client 20. Further, the authorization acquisition unit 401 of the IB server 4 registers the issued authorization code, the expiration date of the authorization code, the client ID and the redirect URI acquired in step Sa3 in association with each other in the authorization code management table 412.

なお、ユーザ装置1のユーザが拒否ボタンを選択した場合には、ユーザエージェント10は、ユーザが認可を拒否したことをIBサーバ4に通知する。IBサーバ4の認可取得部401は、この通知を受け付けると、エラー応答を生成して、ユーザエージェント10を、ステップSa3で取得したリダイレクトURIを用いてクライアント20にリダイレクトする。その際、ユーザエージェント10からクライアント20に対してエラー応答を送信させる。   When the user of the user device 1 selects the reject button, the user agent 10 notifies the IB server 4 that the user has rejected the authorization. Upon receiving this notification, the authorization acquisition unit 401 of the IB server 4 generates an error response and redirects the user agent 10 to the client 20 using the redirect URI acquired in step Sa3. At this time, an error response is transmitted from the user agent 10 to the client 20.

クライアント20は、ユーザエージェント10から送信された認可コードを取得すると、アクセストークン要求をIBサーバ4に対して送信する(ステップSa9)。このアクセストークン要求には、認可コードと、クライアントIDと、クライアント20のパスワードと、ステップSa2でIBサーバ4に通知したリダイレクトURIとが含まれる。IBサーバ4のトークン要求受付部402は、クライアント20から送信されたアクセストークン要求を受け付けると、まずクライアント20を認証する(ステップSa10)。具体的には、第1に、受け付けたアクセストークン要求に含まれるクライアントIDとパスワードの組がクライアント管理テーブル410に登録されているか否かを判断する。第2に、受け付けたアクセストークン要求に含まれる認可コードとクライアントIDとリダイレクトURIの組が認可コード管理テーブル412に登録されているか否かを判断する。これら2つの判断のうち、いずれか一方または両方の判断結果が否定的であった場合には(すなわち、クライアント認証に失敗した場合には)、トークン要求受付部402はクライアント20に対してエラー応答を送信する。一方、両方の判断結果が肯定的であった場合には(すなわち、クライアント認証に成功した場合には)、次に、トークン要求受付部402は、認可コードの有効性を検証する(ステップSa11)。具体的には、認可コード管理テーブル412を参照して、受け付けたアクセストークン要求に含まれる認可コードの有効期限が経過しているか否かを判断する。この判断の結果、有効期限が経過済みの場合には(すなわち、認可コードが有効でない場合には)、トークン要求受付部402はクライアント20に対してエラー応答を送信する。一方、有効期限が経過していない場合には(すなわち、認可コードが有効である場合には)、IBサーバ4はアクセストークン発行処理を実行する(ステップSa12)。   When acquiring the authorization code transmitted from the user agent 10, the client 20 transmits an access token request to the IB server 4 (step Sa9). This access token request includes the authorization code, the client ID, the password of the client 20, and the redirect URI notified to the IB server 4 in step Sa2. When receiving the access token request transmitted from the client 20, the token request receiving unit 402 of the IB server 4 first authenticates the client 20 (step Sa10). Specifically, first, it is determined whether or not a client ID and password pair included in the received access token request is registered in the client management table 410. Second, it is determined whether or not a combination of an authorization code, a client ID, and a redirect URI included in the received access token request is registered in the authorization code management table 412. If one or both of the two determination results are negative (that is, if the client authentication fails), the token request reception unit 402 returns an error response to the client 20. Send. On the other hand, if both the determination results are affirmative (that is, if the client authentication is successful), then the token request reception unit 402 verifies the validity of the authorization code (step Sa11). . Specifically, the authorization code management table 412 is referenced to determine whether or not the expiration date of the authorization code included in the received access token request has passed. As a result of this determination, when the expiration date has passed (that is, when the authorization code is not valid), the token request reception unit 402 transmits an error response to the client 20. On the other hand, when the expiration date has not elapsed (that is, when the authorization code is valid), the IB server 4 executes an access token issuing process (step Sa12).

図10は、アクセストークン発行処理の一例を示すフロー図である。このアクセストークン発行処理のステップSb1〜Sb7において、有効期間設定部403は、アクセストークンの有効期間を特定する。その際、有効期間設定部403は、有効期間テーブル415を参照しつつ、ステップSa2で取得された認可要求に基づいて有効期間を特定する。   FIG. 10 is a flowchart showing an example of the access token issuing process. In steps Sb1 to Sb7 of this access token issuing process, the validity period setting unit 403 specifies the validity period of the access token. At that time, the valid period setting unit 403 identifies the valid period based on the authorization request acquired in step Sa2 while referring to the valid period table 415.

まず、有効期間設定部403は、認可要求に示されるアクセスの処理方式に基づいて有効期間を特定する(ステップSb1)。例えば、処理方式が「オンライン」方式の場合には、有効期間として「3分」を特定する(図7参照)。   First, the valid period setting unit 403 identifies a valid period based on the access processing method indicated in the authorization request (step Sb1). For example, when the processing method is the “online” method, “3 minutes” is specified as the effective period (see FIG. 7).

次に、有効期間設定部403は、認可要求に示される照会期間に基づいて有効期間を特定する(ステップSb2)。例えば、照会期間が「当日分」の場合には、有効期間として「3分」を特定する(図7参照)。   Next, the valid period setting unit 403 identifies a valid period based on the inquiry period indicated in the authorization request (step Sb2). For example, when the inquiry period is “for the current day”, “3 minutes” is specified as the effective period (see FIG. 7).

次に、有効期間設定部403は、認可要求に示されるユーザIDに対応付けられている口座の数(言い換えると、照会対象の口座数)に基づいて有効期間を特定する(ステップSb3)。ここで、照会対象の口座数とは、言い換えると、そのユーザIDに対応付けられている口座情報管理テーブル411の数であると言える。例えば、照会対象の口座数が「2」の場合には、有効期間として「3分」を特定する(図7参照)。   Next, the validity period setting unit 403 specifies the validity period based on the number of accounts associated with the user ID indicated in the authorization request (in other words, the number of accounts to be referred) (step Sb3). Here, it can be said that the number of accounts to be inquired is the number of account information management tables 411 associated with the user ID. For example, when the number of accounts to be inquired is “2”, “3 minutes” is specified as the valid period (see FIG. 7).

次に、有効期間設定部403は、認可要求に示されるユーザIDに対応付けられている口座の入出金明細であって、当該認可要求に示される照会期間に対応する入出金明細の数(言い換えると、照会対象の入出金明細数)に基づいて有効期間を特定する(ステップSb4)。例えば、照会対象の入出金明細数が「100」の場合には、有効期間として「9分」を特定する(図7参照)。   Next, the validity period setting unit 403 is the deposit / withdrawal details of the account associated with the user ID indicated in the authorization request, and the number of deposit / withdrawal details corresponding to the inquiry period indicated in the authorization request (in other words, And the valid period is specified based on the number of deposit / withdrawal items to be inquired (step Sb4). For example, when the number of deposit / withdrawal items to be inquired is “100”, “9 minutes” is specified as the valid period (see FIG. 7).

次に、有効期間設定部403は、認可要求に示されるクライアントIDにより識別されるクライアント20により過去に行われたアクセスの処理時間に基づいて有効期間を特定する(ステップSb5)。その際、有効期間設定部403は、そのクライアント20と対応付けられている処理履歴管理テーブル416を参照して、認可要求に示されるアクセスのスコープと対応付けられている処理時間のうち、現在の時点から所定の期間内に行われたアクセスの処理時間を特定する。処理時間を複数特定した場合には、平均値を算出する。例えば、有効期間設定部403は、処理時間として「3秒」を特定した場合には、有効期間として「3分」を特定する(図7参照)。   Next, the validity period setting unit 403 specifies the validity period based on the processing time of the access performed in the past by the client 20 identified by the client ID indicated in the authorization request (step Sb5). At that time, the valid period setting unit 403 refers to the processing history management table 416 associated with the client 20 and among the processing times associated with the access scope indicated in the authorization request, The processing time of access performed within a predetermined period from the time is specified. When a plurality of processing times are specified, an average value is calculated. For example, when “3 seconds” is specified as the processing time, the effective period setting unit 403 specifies “3 minutes” as the effective period (see FIG. 7).

次に、有効期間設定部403は、認可要求に示されるクライアントIDにより識別されるクライアント20により過去に行われたアクセスの回数(言い換えると、アクセストークンの再発行回数)に基づいて有効期間を特定する(ステップSb6)。なお、このステップは、クライアント20に対してすでにアクセストークンとリフレッシュトークンが発行済みであり、クライアント20からリフレッシュトークンを提示されて、アクセストークンの再要求を受けた場合に実行される。有効期間設定部403は、リフレッシュトークン管理テーブル23を参照して、提示されたリフレッシュトークンと対応付けられているアクセストークンの再発行回数を特定する。例えば、有効期間設定部403は、アクセストークンの再発行回数として「50回」を特定した場合には、有効期間として「6分」を特定する(図7参照)。   Next, the validity period setting unit 403 specifies the validity period based on the number of accesses made in the past by the client 20 identified by the client ID indicated in the authorization request (in other words, the number of reissues of the access token). (Step Sb6). This step is executed when an access token and a refresh token have already been issued to the client 20, and when the refresh token is presented from the client 20 and the access token is re-requested. The valid period setting unit 403 refers to the refresh token management table 23 and identifies the number of reissues of the access token associated with the presented refresh token. For example, when “50 times” is specified as the reissue number of access tokens, the validity period setting unit 403 identifies “6 minutes” as the validity period (see FIG. 7).

次に、有効期間設定部403は、認可要求に示されるクライアントIDにより識別されるクライアント20により行われた直近のアクセス日時に基づいて有効期間を特定する(ステップSb7)。その際、有効期間設定部403は、そのクライアント20と対応付けられている処理履歴管理テーブル416を参照して、認可要求に示されるアクセスのスコープ(照会期間を除く。)と対応付けられている直近の日時を特定する。例えば、有効期間設定部403は、直近のアクセス日時として「3日前」を特定した場合には、有効期間として「6分」を特定する(図7参照)。   Next, the validity period setting unit 403 identifies the validity period based on the most recent access date and time performed by the client 20 identified by the client ID indicated in the authorization request (step Sb7). At this time, the valid period setting unit 403 refers to the processing history management table 416 associated with the client 20 and is associated with the access scope (excluding the inquiry period) indicated in the authorization request. Identify the most recent date and time. For example, when “3 days ago” is specified as the most recent access date and time, the effective period setting unit 403 specifies “6 minutes” as the effective period (see FIG. 7).

ステップSb1〜Sb7を経て、複数の有効期間を特定すると、有効期間設定部403は、それらの有効期間の中で最も短い有効期間を特定する(ステップSb8)。有効期間設定部403により最も短い有効期間が特定されると、アクセストークン発行部404は、アクセストークンを生成するとともに、現在の時点から、特定された有効期間が経過した後の時点である有効期限を算出し、生成したアクセストークンと算出した有効期限とを対応付けてアクセストークン管理テーブル413に登録する(ステップSb9)。その際、アクセストークン発行部404は、ステップSa2で取得された認可要求に示されるクライアントIDとアクセスのスコープも対応付けて登録する。次に、リフレッシュトークン発行部405は、リフレッシュトークンを生成するとともに、現在の時点から、銀行ごとに設定される所定の有効期間が経過した後の時点である有効期限を算出し、生成したリフレッシュトークンと算出した有効期限とを対応付けてリフレッシュトークン管理テーブル414に登録する(ステップSb10)。その際、リフレッシュトークン発行部405は、ステップSa2で取得された認可要求に示されるクライアントIDとアクセスのスコープも対応付けて登録する。
以上が、アクセストークン発行処理についての説明である。
When a plurality of effective periods are specified through steps Sb1 to Sb7, the effective period setting unit 403 specifies the shortest effective period among the effective periods (step Sb8). When the shortest valid period is specified by the valid period setting unit 403, the access token issuing unit 404 generates an access token and the expiration date that is the time after the specified valid period has elapsed from the current time And the generated access token and the calculated expiration date are registered in the access token management table 413 in association with each other (step Sb9). At that time, the access token issuing unit 404 registers the client ID and the access scope indicated in the authorization request acquired in step Sa2 in association with each other. Next, the refresh token issuing unit 405 generates a refresh token, calculates an expiration date after a predetermined validity period set for each bank from the current time, and generates the generated refresh token. Are registered in the refresh token management table 414 in association with each other (step Sb10). At that time, the refresh token issuing unit 405 registers the client ID and the access scope shown in the authorization request acquired in step Sa2 in association with each other.
This completes the description of the access token issuing process.

アクセストークン発行処理が完了すると、アクセストークン発行部404は、発行されたアクセストークンとリフレッシュトークンを含むアクセストークン応答をクライアント20に送信する(ステップSa13)。このアクセストークン応答には、発行されたアクセストークンおよびその有効期限と、発行されたリフレッシュトークンおよびその有効期限と、ステップSa2で取得された認可要求に示されるアクセスのスコープとが含まれる。クライアント20は、IBサーバ4から送信されたアクセストークン応答を取得すると、取得したアクセストークン応答に含まれる情報をアクセストークン管理テーブル22とリフレッシュトークン管理テーブル23とに登録する(ステップSa14)。
以上が、権限付与処理についての説明である。
When the access token issuing process is completed, the access token issuing unit 404 transmits an access token response including the issued access token and the refresh token to the client 20 (step Sa13). This access token response includes the issued access token and its expiration date, the issued refresh token and its expiration date, and the scope of access indicated in the authorization request acquired in step Sa2. When acquiring the access token response transmitted from the IB server 4, the client 20 registers the information included in the acquired access token response in the access token management table 22 and the refresh token management table 23 (step Sa14).
This completes the description of the authorization process.

以上説明した権利付与処理によれば、アクセストークンの有効期間は、アクセス権限が付与されるクライアント20により行われるまたは行われたリソースに対するアクセスに関する情報に基づいて設定される。その際、アクセスに関する複数の情報に基づいて特定される複数の有効期間のうち、最短の有効期間がアクセストークンの有効期間として設定されるため、そのような設定が行われない場合と比較して、リソースのセキュリティが向上する。   According to the right granting process described above, the validity period of the access token is set based on information related to access to the resource performed or performed by the client 20 to which the access authority is granted. At that time, the shortest effective period is set as the effective period of the access token among the multiple effective periods specified based on a plurality of information related to access, compared with the case where such setting is not performed. , Improve resource security.

1−6−2.アクセス処理
図11は、アクセス処理の一例を示すシーケンス図である。銀行サーバ3またはIBサーバ4に記憶される、ユーザ装置1のユーザのリソースにアクセスするクライアント20は、IBサーバ4にアクセス要求を送信する(ステップSc1)。このアクセス要求には、アクセストークンと、クライアント20のクライアントIDおよびパスワードと、当該アクセストークンのスコープとが含まれる。ここで、アクセストークンのスコープは、アクセスの種類と、ユーザ装置1のユーザのユーザIDと、アクセスの処理方式と、照会期間とにより構成される。
1-6-2. Access Processing FIG. 11 is a sequence diagram illustrating an example of access processing. The client 20 accessing the user resource of the user device 1 stored in the bank server 3 or the IB server 4 transmits an access request to the IB server 4 (step Sc1). This access request includes the access token, the client ID and password of the client 20, and the scope of the access token. Here, the scope of the access token is configured by the type of access, the user ID of the user of the user device 1, the access processing method, and the inquiry period.

IBサーバ4のアクセス要求受付部406は、クライアント20から送信されたアクセス要求を受け付けると、まずクライアント20を認証する(ステップSc2)。具体的には、第1に、受け付けたアクセス要求に含まれるクライアントIDとパスワードの組がクライアント管理テーブル410に登録されているか否かを判断する。第2に、受け付けたアクセス要求に含まれるアクセストークンとクライアントIDの組がアクセストークン管理テーブル413に登録されているか否かを判断する。これら2つの判断のうち、いずれか一方または両方の判断結果が否定的であった場合には(すなわち、クライアント認証に失敗した場合には)、アクセス要求受付部406はクライアント20に対してエラー応答を送信する。一方、両方の判断結果が肯定的であった場合には(すなわち、クライアント認証に成功した場合には)、次に、アクセス要求受付部406は、アクセストークンの有効性を検証する(ステップSc3)。具体的には、アクセストークン管理テーブル413を参照して、受け付けたアクセス要求に含まれるアクセストークンの有効期限が経過しているか否かを判断する。この判断の結果、有効期限が経過済みの場合には(すなわち、アクセストークンが有効でない場合には)、アクセス要求受付部406はクライアント20に対してエラー応答を送信する。一方、有効期限が経過していない場合には(すなわち、アクセストークンが有効である場合には)、次に、アクセス要求受付部406は、要求されたアクセスが権限の範囲内のものであるか否かを検証する(ステップSc4)。具体的には、アクセストークン管理テーブル413を参照して、受け付けたアクセス要求に含まれるアクセストークンとアクセストークンのスコープの組が登録されているか否かを判断する。この判断の結果、登録されていない場合には(すなわち、権限の範囲内でない場合には)、アクセス要求受付部406はクライアント20に対してエラー応答を送信する。一方、登録されている場合には(すなわち、権限の範囲内である場合には)、処理実行部407は、要求されたアクセスを許可する(ステップSc5)。例えば、オフライン方式によるユーザAの残高情報の照会を要求された場合には、処理実行部407は、ユーザAに対応付けられている口座情報管理テーブル411を参照して、最新の残高を特定して、クライアント20に通知する。処理実行部407は、要求された処理の実行後、実行した処理の日時と、処理時間と、アクセスのスコープとを対応付けて処理履歴管理テーブル416に登録する(ステップSc6)。
以上が、アクセス処理についての説明である。
When the access request receiving unit 406 of the IB server 4 receives the access request transmitted from the client 20, it first authenticates the client 20 (step Sc2). Specifically, first, it is determined whether or not a combination of a client ID and a password included in the received access request is registered in the client management table 410. Second, it is determined whether or not a pair of an access token and a client ID included in the received access request is registered in the access token management table 413. If one or both of the two determination results are negative (that is, if the client authentication fails), the access request reception unit 406 returns an error response to the client 20. Send. On the other hand, if both the determination results are affirmative (that is, if the client authentication is successful), then the access request receiving unit 406 verifies the validity of the access token (step Sc3). . Specifically, the access token management table 413 is referenced to determine whether or not the expiration date of the access token included in the received access request has passed. As a result of this determination, when the expiration date has passed (that is, when the access token is not valid), the access request reception unit 406 transmits an error response to the client 20. On the other hand, if the expiration date has not elapsed (that is, if the access token is valid), the access request reception unit 406 then determines whether the requested access is within the authority range. It is verified whether or not (step Sc4). Specifically, referring to access token management table 413, it is determined whether or not a pair of access token and access token scope included in the received access request is registered. As a result of the determination, if the information is not registered (that is, not within the authority range), the access request receiving unit 406 transmits an error response to the client 20. On the other hand, when registered (that is, within the authority range), the process execution unit 407 permits the requested access (step Sc5). For example, when an inquiry about the balance information of the user A is requested by the offline method, the process execution unit 407 refers to the account information management table 411 associated with the user A and specifies the latest balance. To the client 20. After executing the requested process, the process execution unit 407 associates the date and time of the executed process, the process time, and the access scope with each other and registers them in the process history management table 416 (step Sc6).
The above is the description of the access process.

1−6−3.アクセストークン再発行処理
図12は、アクセストークン再発行処理の一例を示す図である。アクセストークンの再発行を要求するクライアント20は、IBサーバ4に対してアクセストークン再要求を送信する(ステップSd1)。このアクセストークン再要求には、リフレッシュトークンと、クライアントIDおよびパスワードと、発行を要求するアクセストークンのスコープとが含まれる。ここで、アクセストークンのスコープは、アクセスの種類と、ユーザ装置1のユーザのユーザIDと、アクセスの処理方式と、照会期間とにより構成される。
1-6-3. Access Token Reissue Process FIG. 12 is a diagram illustrating an example of the access token reissue process. The client 20 requesting reissue of the access token transmits an access token rerequest to the IB server 4 (step Sd1). This access token re-request includes the refresh token, the client ID and password, and the scope of the access token that requests issuance. Here, the scope of the access token is configured by the type of access, the user ID of the user of the user device 1, the access processing method, and the inquiry period.

IBサーバ4のトークン再要求受付部408は、クライアント20から送信されたアクセストークン再要求を受け付けると、まずクライアント20を認証する(ステップSd2)。具体的には、第1に、受け付けたアクセストークン再要求に含まれるクライアントIDとパスワードの組がクライアント管理テーブル410に登録されているか否かを判断する。第2に、受け付けたアクセストークン再要求に含まれるリフレッシュトークンとクライアントIDの組がリフレッシュトークン管理テーブル414に登録されているか否かを判断する。これら2つの判断のうち、いずれか一方または両方の判断結果が否定的であった場合には(すなわち、クライアント認証に失敗した場合には)、トークン再要求受付部408はクライアント20に対してエラー応答を送信する。一方、両方の判断結果が肯定的であった場合には(すなわち、クライアント認証に成功した場合には)、次に、トークン再要求受付部408は、リフレッシュトークンの有効性を検証する(ステップSd3)。具体的には、リフレッシュトークン管理テーブル414を参照して、受け付けたアクセストークン再要求に含まれるリフレッシュトークンの有効期限が経過しているか否かを判断する。この判断の結果、有効期限が経過済みの場合には(すなわち、リフレッシュトークンが有効でない場合には)、トークン再要求受付部408はクライアント20に対してエラー応答を送信する。一方、有効期限が経過していない場合には(すなわち、リフレッシュトークンが有効である場合には)、次に、トークン再要求受付部408は、受け付けたアクセストークン再要求に含まれるアクセストークンのスコープが、権限の範囲内であるか否かを検証する(ステップSd4)。具体的には、リフレッシュトークン管理テーブル414を参照して、受け付けたアクセストークン再要求に含まれるリフレッシュトークンとアクセストークンのスコープの組が登録されているか否かを判断する。この際、照会期間については、リフレッシュトークン管理テーブル414に登録されている照会期間と同じか、それよりも短ければよい。この判断の結果、登録されていない場合には(すなわち、権限の範囲内でない場合には)、アクセス要求受付部406はクライアント20に対してエラー応答を送信する。一方、登録されている場合には(すなわち、権限の範囲内である場合には)、IBサーバ4は、図10に示すアクセストークン発行処理を実行する(ステップSd5)。   When receiving the access token re-request transmitted from the client 20, the token re-request receiving unit 408 of the IB server 4 first authenticates the client 20 (step Sd2). Specifically, first, it is determined whether or not the client ID and password pair included in the received access token re-request is registered in the client management table 410. Second, it is determined whether or not a set of the refresh token and the client ID included in the received access token re-request is registered in the refresh token management table 414. If one or both of the two determination results are negative (that is, if the client authentication fails), the token rerequest receiving unit 408 gives an error to the client 20. Send a response. On the other hand, if both the determination results are affirmative (that is, if the client authentication is successful), then the token re-request receiving unit 408 verifies the validity of the refresh token (step Sd3). ). Specifically, the refresh token management table 414 is referred to, and it is determined whether or not the expiration date of the refresh token included in the received access token re-request has passed. As a result of this determination, when the expiration date has passed (that is, when the refresh token is not valid), the token rerequest receiving unit 408 transmits an error response to the client 20. On the other hand, when the expiration date has not elapsed (that is, when the refresh token is valid), the token rerequest receiving unit 408 then sets the scope of the access token included in the received access token rerequest. Is within the authority range (step Sd4). Specifically, the refresh token management table 414 is referred to, and it is determined whether or not a pair of a refresh token and an access token scope included in the received access token re-request is registered. At this time, the inquiry period may be the same as or shorter than the inquiry period registered in the refresh token management table 414. As a result of the determination, if the information is not registered (that is, not within the authority range), the access request receiving unit 406 transmits an error response to the client 20. On the other hand, if registered (that is, within the authority range), the IB server 4 executes the access token issuing process shown in FIG. 10 (step Sd5).

ただし、ここで実行されるアクセストークン発行処理では、有効期間設定部403は、ステップSb1〜Sb7において、ステップSa2で取得された認可要求に代えて、ステップSd2で受け付けられたアクセストークン再要求に基づいて有効期間を特定する。また、アクセストークン発行部404は、ステップSb9において、ステップSa2で取得された認可要求に代えて、ステップSd2で受け付けられたアクセストークン再要求に示されるクライアントIDとアクセストークンのスコープとを、生成したアクセストークンと算出した有効期限とに対応付けて、アクセストークン管理テーブル413に登録する。また、リフレッシュトークンの発行(ステップSb10)は行われない。   However, in the access token issuing process executed here, the validity period setting unit 403 is based on the access token re-request accepted in step Sd2 instead of the authorization request obtained in step Sa2 in steps Sb1 to Sb7. To determine the validity period. In step Sb9, the access token issuing unit 404 generates the client ID and the access token scope indicated in the access token re-request accepted in step Sd2, instead of the authorization request acquired in step Sa2. The access token is registered in the access token management table 413 in association with the calculated expiration date. Further, the refresh token is not issued (step Sb10).

アクセストークン発行処理が完了すると、アクセストークン発行部404は、リフレッシュトークン管理テーブル414を参照して、ステップSd2で受け付けられたアクセストークン再要求に含まれるリフレッシュトークンと対応付けられているアクセストークン再発行回数をインクリメントする(ステップSd6)。次に、アクセストークン発行部404は、発行されたアクセストークンを含むアクセストークン応答をクライアント20に送信する(ステップSd7)。このアクセストークン応答には、発行されたアクセストークンおよびその有効期限と、ステップSd2で受け付けられたアクセストークン再要求に示されるアクセストークンのスコープとが含まれる。クライアント20は、IBサーバ4から送信されたアクセストークン応答を取得すると、取得したアクセストークン応答に含まれる情報をアクセストークン管理テーブル22に登録する(ステップSd8)。
以上が、アクセストークン再発行処理についての説明である。
When the access token issuing process is completed, the access token issuing unit 404 refers to the refresh token management table 414, and reissues the access token associated with the refresh token included in the access token re-request accepted in step Sd2. The number of times is incremented (step Sd6). Next, the access token issuing unit 404 transmits an access token response including the issued access token to the client 20 (step Sd7). This access token response includes the issued access token and its expiration date, and the scope of the access token indicated in the access token re-request accepted in step Sd2. When acquiring the access token response transmitted from the IB server 4, the client 20 registers information included in the acquired access token response in the access token management table 22 (step Sd8).
This completes the description of the access token reissue process.

2.変形例
上記の実施形態は、以下に示すように変形してもよい。また、以下の変形例は互いに組み合わせてもよい。
2. Modifications The above embodiment may be modified as shown below. Further, the following modifications may be combined with each other.

2−1.変形例1
上記の実施形態に係るクライアント20は家計簿アプリケーションであるが、ユーザ装置1のユーザの口座情報にアクセスして、当該口座情報に基づいてユーザにサービスを提供する他のアプリケーションであってもよい。例えば、会計帳簿を作成する会計アプリケーションや、銀行の口座間で金銭を移動させる金銭移動(具体的には、決済または送金)アプリケーションであってもよい。
2-1. Modification 1
Although the client 20 which concerns on said embodiment is a household account book application, it may be another application which accesses a user's account information of the user apparatus 1, and provides a service to a user based on the said account information. For example, it may be an accounting application for creating an accounting book, or a money transfer (specifically, settlement or remittance) application for transferring money between bank accounts.

2−2.変形例2
上記の実施形態に係るIBサーバ4は、アクセストークンを発行する認可サーバの機能と、リソースを保持して、当該リソースに対するアクセス要求を処理するリソースサーバの機能を兼ね備えているが、各機能につき別々のサーバを構築してもよい。
2-2. Modification 2
The IB server 4 according to the above embodiment has a function of an authorization server that issues an access token and a function of a resource server that holds a resource and processes an access request for the resource. You may build a server.

2−3.変形例3
上記の実施形態に係る権限付与システム100では、IBサーバ4により銀行サーバ3に対してインターネットバンキングの機能が提供されているが、銀行サーバ3自体がインターネットバンキングの機能(すなわち、IBサーバ4の機能)を有し、通信回線5に接続されてもよい。
2-3. Modification 3
In the authorization system 100 according to the above embodiment, the Internet banking function is provided to the bank server 3 by the IB server 4, but the bank server 3 itself has the Internet banking function (that is, the function of the IB server 4). ) And may be connected to the communication line 5.

2−4.変形例4
上記の実施形態では、ユーザから認可を取得する方法として、「The OAuth 2.0 Authorization Framework」([online] D. Hardt、2016年8月 <URL http://tools.ietf.org/html/rfc6749>)に規定されるAuthorization Code Grant方式が採用されているが、これに代えて、同仕様書に規定されるImplicit Grant方式や、Resource Owner Password Credentials Grant方式や、Client Credentials Grant方式が採用されてもよい。
2-4. Modification 4
In the above embodiment, as a method for obtaining authorization from the user, “The OAuth 2.0 Authorization Framework” ([online] D. Hardt, August 2016 <URL http://tools.ietf.org/html/rfc6749> However, instead of this, the Implicit Grant method, the Resource Owner Password Credentials Grant method, and the Client Credentials Grant method specified in the same specification are adopted. Good.

2−5.変形例5
上記の実施形態に係るアクセストークン発行処理のステップSb3において、有効期間設定部403は、ユーザが複数の銀行に口座を有する場合に、それら複数の銀行の口座の合計を、照会対象の口座数として特定してもよい。
2-5. Modification 5
In step Sb3 of the access token issuing process according to the above embodiment, when the user has accounts at a plurality of banks, the validity period setting unit 403 uses the total of the accounts of the plurality of banks as the number of accounts to be referred. You may specify.

2−6.変形例6
上記の実施形態に係るアクセストークン発行処理のステップSb5において、有効期間設定部403は、処理履歴管理テーブル416を参照してアクセスの処理時間を特定し、有効期間テーブル415を参照して、その特定した処理時間に対応付けられている有効時間を特定しているが、処理履歴管理テーブル416を参照して特定したアクセスの処理時間を、有効期間としてもよい。
2-6. Modification 6
In step Sb5 of the access token issuing process according to the above-described embodiment, the valid period setting unit 403 identifies the access processing time with reference to the process history management table 416 and identifies with reference to the valid period table 415. The effective time associated with the processed time is specified, but the access processing time specified with reference to the processing history management table 416 may be used as the effective period.

2−7.変形例7
上記の実施形態に係るアクセストークン発行処理において、有効期間設定部403は、ステップSb1〜Sb7に加えてまたはいずれかと代えて、クライアント20によるアクセスに関する他の情報に基づいて有効期間を特定してもよい。例えば、有効期間設定部403は、認可要求に示されるアクセスの種類に基づいて有効期間を特定してもよい。ここで、アクセスの種類には、口座情報の照会と、口座情報の更新が含まれる。口座情報の更新とは、具体的には、振込や振替といった口座間の金銭の移動のことである。アクセスの種類に対応付けられる有効期間については、口座情報の更新に対応付けられる有効期間の方が、口座情報の照会に対応付けられる有効期間よりも短めに設定される。
2-7. Modification 7
In the access token issuing process according to the above-described embodiment, the validity period setting unit 403 may identify the validity period based on other information related to access by the client 20 in addition to or in place of steps Sb1 to Sb7. Good. For example, the validity period setting unit 403 may specify the validity period based on the type of access indicated in the authorization request. Here, the type of access includes inquiry of account information and update of account information. Specifically, the update of the account information is money transfer between accounts such as transfer or transfer. Regarding the effective period associated with the type of access, the effective period associated with the update of the account information is set shorter than the effective period associated with the inquiry of the account information.

または、有効期間設定部403は、認可要求により、照会対象の口座情報の種類が示される場合には、その口座情報の種類に基づいて有効期間を特定してもよい。ここで、口座情報の種類には、残高と、入出金明細と、ユーザの個人情報とが含まれる。口座情報の種類に対応付けられる有効期間については、残高に対応付けられる有効期間の方が、入出金明細に対応付けられる有効期間よりも短めに設定される。   Alternatively, the validity period setting unit 403 may specify the validity period based on the type of account information when the type of account information to be referred is indicated by the authorization request. Here, the type of account information includes a balance, deposit / withdrawal details, and user personal information. Regarding the effective period associated with the type of account information, the effective period associated with the balance is set shorter than the effective period associated with the deposit / withdrawal details.

2−8.変形例8
上記の実施形態に係るアクセストークン発行処理において、有効期間設定部403は、ステップSb1〜Sb7のすべてを実行しなくてもよい。
2-8. Modification 8
In the access token issuing process according to the above embodiment, the validity period setting unit 403 does not have to execute all of steps Sb1 to Sb7.

2−9.変形例9
上記の実施形態に係るアクセストークン発行処理のステップSb1〜Sb7において、有効期間設定部403は、有効期間テーブル415を参照せずに、クライアント20によるアクセスに関する情報ごとに用意された所定の数式を用いて有効期間を特定してもよい。
2-9. Modification 9
In steps Sb1 to Sb7 of the access token issuing process according to the above-described embodiment, the valid period setting unit 403 uses a predetermined mathematical formula prepared for each piece of information related to access by the client 20 without referring to the valid period table 415. The validity period may be specified.

2−10.変形例10
上記の実施形態に係る有効期間テーブル415において、処理方式に対応付けられる有効期間について、クライアント20の利便性の観点から、オンライン方式に対応付けられる有効期間の方を、オフライン方式に対応付けられる有効期間よりも長めに設定するようにしてもよい。また、直近のアクセス日時に対応付けられる有効時間について、クライアント20の利便性の観点から、正の比例関係となるように設定してもよい。
2-10. Modification 10
In the effective period table 415 according to the above embodiment, for the effective period associated with the processing method, the effective period associated with the online method is the effective period associated with the offline method from the viewpoint of the convenience of the client 20. You may make it set longer than a period. Further, the effective time associated with the most recent access date and time may be set so as to have a positive proportional relationship from the viewpoint of convenience of the client 20.

2−11.変形例11
上記の実施形態に係るアクセストークン発行処理のステップSb8において、有効期間設定部403は、クライアント20の利便性の観点から、特定した複数の有効期間のうち、最も長い有効期間を特定するようにしてもよい。
2-11. Modification 11
In step Sb8 of the access token issuing process according to the above embodiment, the validity period setting unit 403 specifies the longest validity period from the plurality of identified validity periods from the viewpoint of the convenience of the client 20. Also good.

2−12.変形例12
上記の実施形態に係るアクセストークン発行処理のステップSb8において、有効期間設定部403は、特定した複数の有効期間を所定の数式に代入して算出することにより、一の有効期間を特定するようにしてもよい。ここで、所定の数式は、例えば、以下のように表される。
[数1]
y=(ax1+bx2+cx3+dx4+ex5+fx6+gx7)/(a+b+c+d+e+f+g)
2-12. Modification 12
In step Sb8 of the access token issuing process according to the above embodiment, the validity period setting unit 403 identifies one validity period by calculating by substituting the plurality of identified validity periods into a predetermined mathematical expression. May be. Here, the predetermined mathematical expression is expressed as follows, for example.
[Equation 1]
y = (ax 1 + bx 2 + cx 3 + dx 4 + ex 5 + fx 6 + gx 7 ) / (a + b + c + d + e + f + g)

数1の式において、yは求める有効期間を表し、x1〜x7はステップSb1〜Sb7で特定される有効期間を表し、a〜gは係数を表す。ここで、係数a〜gは、ステップSb1〜Sb7で特定される有効期間ごとに異なるように設定されてもよい。すなわち、有効期間設定部403は、ステップSb1〜Sb7で特定した複数の有効期間の各々に対して、当該有効期間を特定するために参照した情報に応じた重み付けを行うようにしてもよい。例えば、アクセスの処理方式に基づいて特定した有効期間に対して、照会対象の入出金明細数に基づいて特定した有効期間よりも大きい重みを付けるようにしてもよい。あるいは、係数a〜gは、一律に「1」に設定されてもよい。すなわち、有効期間設定部403は、ステップSb1〜Sb7で特定した複数の有効期間の各々に対して重み付けを行わなくてもよい。 In the formula (1), y represents the effective period to be obtained, x 1 to x 7 represent the effective period specified in steps Sb1 to Sb7, and a to g represent coefficients. Here, the coefficients a to g may be set so as to differ for each effective period specified in steps Sb1 to Sb7. That is, the validity period setting unit 403 may weight each of the plurality of validity periods identified in steps Sb1 to Sb7 according to the information referred to identify the validity period. For example, the effective period specified based on the access processing method may be given a greater weight than the effective period specified based on the number of deposit / withdrawal details to be queried. Alternatively, the coefficients a to g may be uniformly set to “1”. In other words, the validity period setting unit 403 may not weight each of the plurality of validity periods specified in steps Sb1 to Sb7.

2−13.変形例13
上記の実施形態において、アクセストークンは、その有効期間を示す文字列を含むような文字列としてもよい。同様に、リフレッシュトークンは、その有効期間を示す文字列を含むような文字列としてもよい。
2-13. Modification 13
In the above embodiment, the access token may be a character string including a character string indicating the validity period. Similarly, the refresh token may be a character string including a character string indicating the validity period.

2−14.変形例14
上記の実施形態において、IBサーバ4は、アクセストークンのスコープに応じて当該アクセストークンに優先度を設定し、クライアント20からアクセス要求を受け付けた際に、アクセストークンに設定された優先度と、要求されたアクセスの種類に対応付けられた優先度とを比較することで、当該アクセスを許可するか否かを判断するようにしてもよい。
2-14. Modification 14
In the above embodiment, the IB server 4 sets the priority for the access token according to the scope of the access token, and when the access request is received from the client 20, the priority set in the access token and the request It may be determined whether to permit the access by comparing the priority associated with the type of access made.

アクセストークンに優先度を設定するために、IBサーバ4は、優先度設定部の機能を有してもよい。この優先度設定部の機能は、IBサーバ4の演算処理装置が、記憶装置に記憶されるプログラムを実行することで実現される。この優先度設定部は、認可取得部401により受け付けられた認可要求に含まれるアクセスのスコープに基づいて、トークン要求受付部402により要求が受け付けられたアクセストークンの優先度を設定する。その際、優先度設定部は、後述する優先度テーブルを参照して、アクセストークンの優先度を設定する。ここで、優先度とは、アクセス権限が付与されたクライアント20により行われるリソースに対するアクセスを許可するか否かを判断するために参照される情報である。   In order to set the priority to the access token, the IB server 4 may have a function of a priority setting unit. The function of the priority setting unit is realized by the arithmetic processing device of the IB server 4 executing a program stored in the storage device. This priority setting unit sets the priority of the access token for which the request has been received by the token request reception unit 402, based on the access scope included in the authorization request received by the authorization acquisition unit 401. At that time, the priority setting unit sets the priority of the access token with reference to a priority table described later. Here, the priority is information that is referred to in order to determine whether or not to permit access to the resource performed by the client 20 to which the access authority is granted.

図13は、優先度テーブルの一例を示す図である。この優先度テーブルでは、アクセスの種類ごとに優先度が対応付けられている。優先度の高さは、優先度を示す数字の大きさに比例する。   FIG. 13 is a diagram illustrating an example of a priority table. In this priority table, a priority is associated with each access type. The high priority is proportional to the size of the number indicating the priority.

優先度設定部は、上記の実施形態に係るアクセストークン発行処理において、有効期間設定部403により最も短い有効期間が特定されると(ステップSb8)、優先度テーブルを参照しつつ、認可要求に示されるアクセスの種類に基づいて、発行されるアクセストークンの優先度を設定する。例えば、認可要求に示されるアクセスの種類が「決済(振替)」の場合には、アクセストークンの優先度として「2」を設定する(図13参照)。優先度設定部が優先度を設定すると、アクセストークン発行部404は、ステップSb9において、アクセスのスコープに代えて、設定された優先度を、アクセストークンと有効期限とクライアントIDと対応付けて、アクセストークン管理テーブル413に登録する。リフレッシュトークン発行部405は、ステップSb10において、アクセスのスコープに代えて、設定された優先度を、リフレッシュトークンと有効期限とクライアントIDと対応付けて、リフレッシュトークン管理テーブル414に登録する。   In the access token issuing process according to the above embodiment, when the shortest valid period is specified by the valid period setting unit 403 (step Sb8), the priority setting unit refers to the priority table and indicates the authorization request. The priority of the issued access token is set based on the type of access to be issued. For example, when the type of access indicated in the authorization request is “settlement (transfer)”, “2” is set as the priority of the access token (see FIG. 13). When the priority setting unit sets the priority, the access token issuing unit 404 associates the set priority with the access token, the expiration date, and the client ID in step Sb9, instead of the access scope. Register in the token management table 413. In step Sb10, the refresh token issuing unit 405 registers the set priority in the refresh token management table 414 in association with the refresh token, the expiration date, and the client ID instead of the access scope.

アクセストークンに優先度が設定された場合、上記の実施形態に係るアクセス処理のステップSc4において、アクセス要求受付部406は、要求されたアクセスが権限の範囲内のものであるか否かを検証するために、受け付けたアクセス要求に含まれるアクセストークンの優先度が、要求されたアクセスの種類に対応付けられた優先度以上であるか否かを判断する。ここで、アクセス要求に含まれるアクセストークンの優先度は、アクセストークン管理テーブル413を参照することにより特定され、要求されたアクセスの種類に対応付けられた優先度は、優先度テーブルを参照することにより特定される。この判断の結果、アクセストークンの優先度が、要求されたアクセスの種類の優先度未満である場合には(すなわち、権限の範囲内でない場合には)、アクセス要求受付部406はクライアント20に対してエラー応答を送信する。一方、アクセストークンの優先度が、要求されたアクセスの種類の優先度以上である場合には(すなわち、権限の範囲内である場合には)、処理実行部407は、要求されたアクセスを許可する(ステップSc5)。   When the priority is set for the access token, in step Sc4 of the access process according to the above embodiment, the access request receiving unit 406 verifies whether the requested access is within the authority range. Therefore, it is determined whether or not the priority of the access token included in the received access request is equal to or higher than the priority associated with the requested access type. Here, the priority of the access token included in the access request is specified by referring to the access token management table 413, and the priority associated with the requested access type is referred to the priority table. Specified by. As a result of this determination, when the priority of the access token is less than the priority of the requested access type (that is, not within the authority range), the access request receiving unit 406 Send an error response. On the other hand, when the priority of the access token is equal to or higher than the priority of the requested access type (that is, within the authority range), the process execution unit 407 permits the requested access. (Step Sc5).

また、アクセストークンに優先度が設定された場合、上記の実施形態に係るアクセストークン再発行処理のステップSd4において、トークン再要求受付部408は、受け付けたアクセストークン再要求に含まれるアクセストークンのスコープが、権限の範囲内であるか否かを検証するために、受け付けたアクセストークン再要求に含まれるリフレッシュトークンの優先度が、受け付けたアクセストークン再要求に示されるアクセスの種類に対応付けられた優先度以上であるか否かを判断する。ここで、アクセストークン再要求に含まれるリフレッシュトークンの優先度は、リフレッシュトークン管理テーブル414を参照することにより特定され、受け付けたアクセストークン再要求に示されるアクセスの種類の優先度は、優先度テーブルを参照することにより特定される。この判断の結果、リフレッシュトークンの優先度が、受け付けたアクセストークン再要求に示されるアクセスの種類の優先度未満である場合には(すなわち、権限の範囲内でない場合には)、トークン再要求受付部408はクライアント20に対してエラー応答を送信する。一方、リフレッシュトークンの優先度が、受け付けたアクセストークン再要求に示されるアクセスの種類の優先度以上である場合には(すなわち、権限の範囲内である場合には)、IBサーバ4は、図10に示すアクセストークン発行処理を実行する(ステップSd5)。   When priority is set for the access token, in step Sd4 of the access token reissue process according to the above embodiment, the token rerequest accepting unit 408 determines the scope of the access token included in the accepted access token rerequest. In order to verify whether or not is within the scope of authority, the priority of the refresh token included in the received access token re-request is associated with the type of access indicated in the received access token re-request It is determined whether or not the priority is higher. Here, the priority of the refresh token included in the access token re-request is specified by referring to the refresh token management table 414, and the priority of the access type indicated in the received access token re-request is the priority table. It is specified by referring to. As a result of this determination, if the priority of the refresh token is less than the priority of the access type indicated in the received access token re-request (that is, not within the authority), the token re-request is accepted. The unit 408 transmits an error response to the client 20. On the other hand, when the priority of the refresh token is equal to or higher than the priority of the access type indicated in the received access token re-request (that is, within the authority range), the IB server 4 The access token issuing process shown in FIG. 10 is executed (step Sd5).

以上説明した本変形例によれば、アクセスの種類ごとに異なるアクセストークンを発行する必要がない。   According to this modification described above, there is no need to issue different access tokens for each type of access.

2−15.変形例15
上記の変形例14に係るアクセス処理のステップSc4において、アクセストークンの優先度が、要求されたアクセスの種類の優先度未満である場合に(すなわち、権限の範囲内でない場合に)、アクセス要求受付部406は、当該アクセストークンを失効させてもよい。具体的には、当該アクセストークンに関する情報をアクセストークン管理テーブル413から削除してもよい。
2-15. Modification 15
In step Sc4 of the access process according to the modified example 14 described above, when the priority of the access token is less than the priority of the requested access type (that is, not within the authority range), the access request is accepted. The unit 406 may invalidate the access token. Specifically, information regarding the access token may be deleted from the access token management table 413.

2−16.変形例16
上記の変形例14に係るアクセス処理のステップSc4において、IBサーバ4からエラー応答を受信したクライアント20は、当該エラー応答の受信を受けて、IBサーバ4に拒否されたアクセスの権限をユーザ装置1のユーザから取得するようにしてもよい。言い換えると、クライアント20は、IBサーバ4により拒否されたアクセス要求に含まれていたアクセストークンよりも高い優先度が設定されたアクセストークンをIBサーバ4から取得するようにしてもよい。優先度の高いアクセストークンを取得するために、クライアント20は、ユーザエージェント10に連携依頼を促して取得し、図9に示す権限付与処理を開始してもよい。
2-16. Modification 16
In step Sc4 of the access process according to the modified example 14 described above, the client 20 that has received the error response from the IB server 4 receives the error response and gives the authority of access denied to the IB server 4 to the user device 1. You may make it acquire from the user. In other words, the client 20 may acquire from the IB server 4 an access token set with a higher priority than the access token included in the access request rejected by the IB server 4. In order to acquire an access token with a high priority, the client 20 may acquire the user agent 10 by requesting a cooperation request, and may start the authorization process shown in FIG.

なお、ここで実行される権限付与処理内のアクセストークン発行処理において、アクセストークン発行部404は、生成したアクセストークンをアクセストークン管理テーブル413に登録するのに伴い、当該アクセストークンよりも優先度の低いアクセストークンであって、共通のクライアントIDおよびユーザIDと対応付けられているアクセストークンを削除するようにしてもよい(ステップSb9)。また、リフレッシュトークン発行部405は、生成したリフレッシュトークンをリフレッシュトークン管理テーブル414に登録するのに伴い、当該リフレッシュトークンよりも優先度の低いリフレッシュトークンであって、共通のクライアントIDおよびユーザIDと対応付けられているリフレッシュトークンを削除するようにしてもよい(ステップSb10)。   In the access token issuing process in the authorization process executed here, the access token issuing unit 404 has a higher priority than the access token as the generated access token is registered in the access token management table 413. An access token that is a low access token and associated with a common client ID and user ID may be deleted (step Sb9). In addition, the refresh token issuing unit 405 is a refresh token having a lower priority than the refresh token as the generated refresh token is registered in the refresh token management table 414, and corresponds to a common client ID and user ID. The attached refresh token may be deleted (step Sb10).

あるいは、アクセストークン発行部404が優先度の低いアクセストークンを削除する代わりに、リフレッシュトークン発行部405がリフレッシュトークンの発行を省略するようにしてもよい。リフレッシュトークンの発行が省略されることで、新たに生成されたアクセストークンの再発行が不可能となり、新たに生成されたアクセストークンの使用機会が制限されることになる。あるいは、リフレッシュトークン発行部405は、アクセストークンと同じ有効期間を、リフレッシュトークンの有効期間として設定するようにしてもよい。   Alternatively, instead of the access token issuing unit 404 deleting the access token having a low priority, the refresh token issuing unit 405 may omit issuing the refresh token. Since the issue of the refresh token is omitted, the newly generated access token cannot be reissued, and the use opportunity of the newly generated access token is limited. Alternatively, the refresh token issuing unit 405 may set the same validity period as the access token as the validity period of the refresh token.

2−17.変形例17
上記の変形例14に係るアクセストークン発行処理において、有効期間設定部403は、ステップSb1〜Sb8を実行せずに、銀行ごとに設定される所定の有効期間を、発行されるアクセストークンの有効期間として特定してもよい。
2-17. Modification 17
In the access token issuance process according to the modified example 14, the validity period setting unit 403 does not execute steps Sb1 to Sb8, but sets a predetermined validity period set for each bank to the validity period of the issued access token. May be specified.

2−18.変形例18
上記の実施形態では、クライアント20ごとにアクセストークンおよびリフレッシュトークンが発行されているが、複数のクライアント20からなるグループ単位でアクセストークンおよびリフレッシュトークンが発行されてもよい。
2-18. Modification 18
In the above embodiment, an access token and a refresh token are issued for each client 20, but an access token and a refresh token may be issued for each group including a plurality of clients 20.

2−19.変形例19
上記の実施形態に係るアクセストークン発行処理のステップSb10において、リフレッシュトークン発行部405は、ステップSa2で取得された認可要求に示されるアクセスの種類に基づいて、リフレッシュトークン発行部405の有効期間を設定してもよい。ここで、アクセスの種類には、口座情報の照会と、口座情報の更新が含まれる。アクセスの種類に対応付けられる有効期間については、口座情報の更新に対応付けられる有効期間の方が、口座情報の照会に対応付けられる有効期間よりも短めに設定される。
2-19. Modification 19
In step Sb10 of the access token issuing process according to the above embodiment, the refresh token issuing unit 405 sets the validity period of the refresh token issuing unit 405 based on the type of access indicated in the authorization request acquired in step Sa2. May be. Here, the type of access includes inquiry of account information and update of account information. Regarding the effective period associated with the type of access, the effective period associated with the update of the account information is set shorter than the effective period associated with the inquiry of the account information.

2−20.変形例20
上記の実施形態に係る権限付与処理において、リフレッシュトークンのみの発行が、クライアント20からIBサーバ4に対して要求されてもよい。
2-20. Modification 20
In the authorization process according to the above embodiment, the client 20 may request the IB server 4 to issue only the refresh token.

2−21.変形例21
上記の実施形態または変形例に係るIBサーバ4において実行されるプログラムは、磁気ディスク、光ディスク、光磁気ディスク、メモリ等の記憶媒体に記憶された状態で提供されてもよい。また、当該プログラムは、インターネット等の通信回線を介してダウンロードされてもよい。
2-21. Modification 21
The program executed in the IB server 4 according to the above-described embodiment or modification may be provided in a state stored in a storage medium such as a magnetic disk, an optical disk, a magneto-optical disk, or a memory. The program may be downloaded via a communication line such as the Internet.

1…ユーザ装置、2…クライアント装置、3…銀行サーバ、4…IBサーバ、5…通信回線、6…通信回線、10…ユーザエージェント、20…クライアント、21…口座情報管理テーブル、22…アクセストークン管理テーブル、23…リフレッシュトークン管理テーブル、30…口座情報管理テーブル、100…権限付与システム、401…認可取得部、402…トークン要求受付部、403…有効期間設定部、404…アクセストークン発行部、405…リフレッシュトークン発行部、406…アクセス要求受付部、407…処理実行部、408…トークン再要求受付部、409…ユーザ管理テーブル、410…クライアント管理テーブル、411…口座情報管理テーブル、412…認可コード管理テーブル、413…アクセストークン管理テーブル、414…リフレッシュトークン管理テーブル、415…有効期間テーブル、416…処理履歴管理テーブル DESCRIPTION OF SYMBOLS 1 ... User apparatus, 2 ... Client apparatus, 3 ... Bank server, 4 ... IB server, 5 ... Communication line, 6 ... Communication line, 10 ... User agent, 20 ... Client, 21 ... Account information management table, 22 ... Access token Management table, 23 ... Refresh token management table, 30 ... Account information management table, 100 ... Authorization system, 401 ... Authorization acquisition unit, 402 ... Token request reception unit, 403 ... Validity period setting unit, 404 ... Access token issuing unit, 405 ... Refresh token issuing unit, 406 ... Access request receiving unit, 407 ... Processing execution unit, 408 ... Token re-request receiving unit, 409 ... User management table, 410 ... Client management table, 411 ... Account information management table, 412 ... Authorization Code management table, 413 ... Access talk Management table 414 ... refresh token management table, 415 ... valid period table, 416 ... processing history management table

Claims (7)

ユーザのリソースに対してアクセスする権限が当該ユーザからクライアントに対して付与されたことを証明するトークンまたは当該トークンを取得するために使用されるトークンの要求を受け付けるトークン要求受付部と、
前記権限が付与された前記クライアントにより行われるまたは行われた前記リソースに対するアクセスに関する1以上の情報に基づいて、前記要求されたトークンの有効期間を設定する有効期間設定部と、
前記権限が付与された前記クライアントにより行われる前記リソースに対するアクセスの内容に基づいて、前記要求されたトークンの優先度を設定する優先度設定部と、
前記有効期間と前記優先度とが設定されたトークンを前記クライアントに対して発行するトークン発行部と
を備え
前記優先度は、前記権限が付与された前記クライアントにより行われる前記リソースに対する他のアクセスを許可するか否かを判断するために参照される情報であり、
前記他のアクセスが許可されなかった場合に、前記トークン要求受付部は、他のアクセスを行う他の権限が前記ユーザから前記クライアントに対して付与されたことを証明する他のトークンの要求を受け付け、
前記有効期間設定部は、前記他の権限が付与された前記クライアントにより行われるまたは行われた前記リソースに対する他のアクセスに関する1以上の情報に基づいて、前記要求された他のトークンの有効期間を設定し、
前記優先度設定部は、前記権限が付与されたクライアントにより行われる前記リソースに対する他のアクセスの内容に基づいて、前記要求された他のトークンの他の優先度であって、前記優先度よりも高い他の優先度を設定し、
前記トークン発行部は、前記他の有効期間と前記他の優先度とが設定された他のトークンを前記クライアントに対して発行する
ことを特徴とするサーバ。
A token request accepting unit that accepts a request for a token that is used to acquire a token or a token that proves that an authority to access a user's resource is granted to the client from the user;
A validity period setting unit that sets a validity period of the requested token based on one or more information related to access to the resource performed or performed by the client to which the authority is granted;
A priority setting unit configured to set the priority of the requested token based on the content of access to the resource performed by the client to which the authority is granted;
A token issuing unit that issues a token in which the validity period and the priority are set to the client ;
The priority is information that is referred to in order to determine whether or not to permit other access to the resource performed by the client to which the authority is granted,
When the other access is not permitted, the token request accepting unit accepts a request for another token certifying that another authority for performing another access is granted from the user to the client. ,
The validity period setting unit determines the validity period of the requested other token based on one or more information related to other access to the resource performed or performed by the client to which the other authority is granted. Set,
The priority setting unit is another priority of the other requested tokens based on the content of another access to the resource performed by the client to which the authority is granted, and is higher than the priority. Set another high priority,
The token issuing unit issues another token in which the other valid period and the other priority are set to the client.
A server characterized by that .
前記1以上の情報は、前記要求されたトークンが発行された後に前記クライアントにより前記リソースに対して行われるアクセスに関する情報であることを特徴とする請求項1に記載のサーバ。   The server according to claim 1, wherein the one or more pieces of information are information related to an access made to the resource by the client after the requested token is issued. 前記1以上の情報は、前記要求されたトークンが発行される前に前記クライアントにより前記リソースに対して行われたアクセスに関する情報であることを特徴とする請求項1に記載のサーバ。   The server according to claim 1, wherein the one or more pieces of information are information related to an access made to the resource by the client before the requested token is issued. 前記1以上の情報は複数の情報であり、
前記有効期間設定部は、前記複数の情報の各々に基づいて複数の有効期間を特定し、当該特定した複数の有効期間のうち、最長または最短の有効期間を、前記要求されたトークンの有効期間として設定する
ことを特徴とする請求項1乃至3のいずれか1項に記載のサーバ。
The one or more pieces of information are a plurality of pieces of information;
The validity period setting unit identifies a plurality of validity periods based on each of the plurality of pieces of information, and sets the longest or shortest validity period of the identified plurality of validity periods as the validity period of the requested token. The server according to claim 1, wherein the server is set as follows.
前記1以上の情報は複数の情報であり、
前記有効期間設定部は、前記複数の情報の各々に基づいて複数の有効期間を特定し、当該特定した複数の有効期間を所定の数式に代入して算出した有効期間を、前記要求されたトークンの有効期間として設定する
ことを特徴とする請求項1乃至3のいずれか1項に記載のサーバ。
The one or more pieces of information are a plurality of pieces of information;
The effective period setting unit specifies a plurality of effective periods based on each of the plurality of pieces of information, and calculates the effective period calculated by substituting the specified plurality of effective periods into a predetermined mathematical formula. The server according to any one of claims 1 to 3, wherein the server is set as an effective period.
前記有効期間設定部は、前記特定した複数の有効期間の各々に対して、当該有効期間を特定するために参照した前記情報に応じた重み付けを行うことを特徴とする請求項5に記載のサーバ。   The server according to claim 5, wherein the effective period setting unit weights each of the specified effective periods according to the information referred to in order to specify the effective period. . コンピュータに実行されるトークン発行方法であって、
ユーザのリソースに対してアクセスする権限が当該ユーザからクライアントに対して付与されたことを証明するトークンまたは当該トークンを取得するために使用されるトークンの要求を受け付けるステップと、
前記権限が付与された前記クライアントにより行われるまたは行われた前記リソースに対するアクセスに関する1以上の情報に基づいて、前記要求されたトークンの有効期間を設定するステップと、
前記権限が付与された前記クライアントにより行われる前記リソースに対するアクセスの内容に基づいて、前記要求されたトークンの優先度を設定するステップと、
前記有効期間と前記優先度とが設定されたトークンを前記クライアントに対して発行するステップと
を備え
前記優先度は、前記権限が付与された前記クライアントにより行われる前記リソースに対する他のアクセスを許可するか否かを判断するために参照される情報であり、
前記他のアクセスが許可されなかった場合に、他のアクセスを行う他の権限が前記ユーザから前記クライアントに対して付与されたことを証明する他のトークンの要求を受け付けるステップと、
前記他の権限が付与された前記クライアントにより行われるまたは行われた前記リソースに対する他のアクセスに関する1以上の情報に基づいて、前記要求された他のトークンの有効期間を設定するステップと、
前記権限が付与されたクライアントにより行われる前記リソースに対する他のアクセスの内容に基づいて、前記要求された他のトークンの他の優先度であって、前記優先度よりも高い他の優先度を設定するステップと、
前記他の有効期間と前記他の優先度とが設定された他のトークンを前記クライアントに対して発行するステップと
をさらに備えるトークン発行方法。
A token issuing method executed on a computer,
Receiving a request for a token certifying that the user has been authorized to access the user's resources from the user or a token used to obtain the token;
Setting a validity period of the requested token based on one or more information regarding access to the resource made or performed by the authorized client;
Setting the priority of the requested token based on the content of access to the resource performed by the authorized client;
Issuing a token in which the validity period and the priority are set to the client ,
The priority is information that is referred to in order to determine whether or not to permit other access to the resource performed by the client to which the authority is granted,
Receiving a request for another token certifying that the user has been granted other authority to perform other access when the other access is not permitted; and
Setting a validity period for the other requested tokens based on one or more information relating to other access to the resource made or performed by the client to which the other authorization has been granted;
Based on the content of other accesses to the resource performed by the authorized client, other priorities of the requested other tokens that are higher than the priorities are set. And steps to
Issuing another token set with the other validity period and the other priority to the client;
A token issuing method further comprising :
JP2016162143A 2016-08-22 2016-08-22 Server and token issuing method Active JP6268242B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016162143A JP6268242B1 (en) 2016-08-22 2016-08-22 Server and token issuing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016162143A JP6268242B1 (en) 2016-08-22 2016-08-22 Server and token issuing method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017247331A Division JP6446119B2 (en) 2017-12-25 2017-12-25 Server and token issuing method

Publications (2)

Publication Number Publication Date
JP6268242B1 true JP6268242B1 (en) 2018-01-24
JP2018032088A JP2018032088A (en) 2018-03-01

Family

ID=61020698

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016162143A Active JP6268242B1 (en) 2016-08-22 2016-08-22 Server and token issuing method

Country Status (1)

Country Link
JP (1) JP6268242B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7399672B2 (en) * 2018-10-19 2023-12-18 住信Sbiネット銀行株式会社 financial institution system
WO2020096752A1 (en) * 2018-11-09 2020-05-14 Capital Intellect, Inc. System and method for diminishing latency in reward payments
JP7170550B2 (en) 2019-01-28 2022-11-14 キヤノン株式会社 Management device and its control method
JP6750063B1 (en) * 2019-03-29 2020-09-02 みずほ情報総研株式会社 Service management system and service management method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009237778A (en) * 2008-03-26 2009-10-15 Fujitsu Ltd Information processor, information processing system, and computer program
JP2014106652A (en) * 2012-11-26 2014-06-09 Fujitsu Ltd Data reference system and application authentication method
JP2015005222A (en) * 2013-06-21 2015-01-08 キヤノン株式会社 Authorization server system, its control method and program
JP2016030377A (en) * 2014-07-28 2016-03-07 株式会社リコー Image forming device, control program of image forming device and control method of image forming device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009237778A (en) * 2008-03-26 2009-10-15 Fujitsu Ltd Information processor, information processing system, and computer program
JP2014106652A (en) * 2012-11-26 2014-06-09 Fujitsu Ltd Data reference system and application authentication method
JP2015005222A (en) * 2013-06-21 2015-01-08 キヤノン株式会社 Authorization server system, its control method and program
JP2016030377A (en) * 2014-07-28 2016-03-07 株式会社リコー Image forming device, control program of image forming device and control method of image forming device

Also Published As

Publication number Publication date
JP2018032088A (en) 2018-03-01

Similar Documents

Publication Publication Date Title
US11222312B2 (en) Method and system for a secure registration
US11797981B2 (en) Automated application programming interface (API) system and method
US20230052004A1 (en) Expedited e-commerce tokenization
US11954674B1 (en) Systems and methods for third party token based authentication
JP5585969B2 (en) Method, program and computer system for reading attribute from ID token
US20170308896A1 (en) Methods and apparatus for brokering a transaction
US20130204787A1 (en) Authentication &amp; authorization of transactions using an external alias
KR102280061B1 (en) Corporation related certificate issue system and method using did based on blockchain
JP6268242B1 (en) Server and token issuing method
EP2569692A1 (en) One-time use password systems and methods
JP7308618B2 (en) Virtual currency management method
US20220321357A1 (en) User credential control system and user credential control method
JP6643374B2 (en) Service management system and service management method
CN101291217A (en) Network identity authentication method
JP6446119B2 (en) Server and token issuing method
JP6750063B1 (en) Service management system and service management method
US20170104748A1 (en) System and method for managing network access with a certificate having soft expiration
US10277579B2 (en) Information processing system that provides a resource to an application of a terminal through a network
KR101505667B1 (en) Method of subscription, authentication and payment without resident registration number
US11087321B2 (en) Securely upgrading an untrusted channel into a trusted channel
US10587610B2 (en) Method for authorization management in an arrangement having multiple computer systems
Corella et al. Frictionless web payments with cryptographic cardholder authentication
JP2016091128A (en) User identification system, method, and program
Saadatmandi Enhanced attribute retrieval and provisioning through the eIDAS digital identity infrastructure
Corella et al. A Proposed Architecture for the NSTIC Ecosystem

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171117

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: 20171205

R150 Certificate of patent or registration of utility model

Ref document number: 6268242

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250