JP2019134333A - Information processing system, client device, authentication and authorization server, control method, and program thereof - Google Patents
Information processing system, client device, authentication and authorization server, control method, and program thereof Download PDFInfo
- Publication number
- JP2019134333A JP2019134333A JP2018015726A JP2018015726A JP2019134333A JP 2019134333 A JP2019134333 A JP 2019134333A JP 2018015726 A JP2018015726 A JP 2018015726A JP 2018015726 A JP2018015726 A JP 2018015726A JP 2019134333 A JP2019134333 A JP 2019134333A
- Authority
- JP
- Japan
- Prior art keywords
- time
- authentication
- authorization server
- server
- client terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
本発明は、認可トークンを発行する情報処理システム、クライアント装置、認証認可サーバー、制御方法とそのプログラムに関する。 The present invention relates to an information processing system that issues an authorization token, a client device, an authentication authorization server, a control method, and a program thereof.
近年、インターネット上に展開されたクラウドサービスの利用が拡大している。これらクラウドサービスは個々にWebサービスのAPI(Application Programming Interface)を公開しており、他のアプリケーションからAPIを介してサービスが提供する機能を利用する事ができる。APIを呼び出す標準プロトコルでは、認可の連携を実現させるOAuth2.0の採用が進んでいる。 In recent years, the use of cloud services deployed on the Internet has expanded. These cloud services individually publish APIs (Application Programming Interfaces) of Web services, and can use functions provided by the services via APIs from other applications. In the standard protocol for calling an API, the adoption of OAuth 2.0 that realizes authorization cooperation is progressing.
OAuth2.0においてクライアントは、リソースサーバーが公開するAPIにアクセスするために、クライアントである事を認証する認証情報を用いて認証認可サーバーから認可トークンを取得する。APIへのアクセスは、取得した認可トークンを用いて実現される。 In OAuth 2.0, in order to access the API published by the resource server, the client acquires an authorization token from the authentication authorization server using authentication information for authenticating that the client is a client. Access to the API is realized using the acquired authorization token.
クライアントの認証情報を認証認可サーバーに送信する形態としては、クライアントを一意に識別するためのクライアントIDおよび秘匿情報であるシークレットを送信する形態と、デジタル証明書によるデジタル署名(以下、アサーション)を用いる形態がある。 As a form for transmitting the client authentication information to the authentication authorization server, a form for transmitting a client ID for uniquely identifying the client and a secret that is confidential information, and a digital signature (hereinafter, assertion) using a digital certificate are used. There is a form.
前者の形態では、クライアントIDとシークレットはクライアントの秘匿情報であるため、クライアントと認証認可サーバー間でクライアントの秘匿情報をやりとりすることになる。その秘匿情報が漏洩した場合には、自由に認可トークンを発行できてしまう。 In the former form, since the client ID and secret are client confidential information, the client confidential information is exchanged between the client and the authentication authorization server. If the confidential information is leaked, an authorization token can be issued freely.
一方のアサーションを用いる形態では、クライアントと認証認可サーバー間でやり取りする情報に含まれるのは、秘匿情報ではない署名と公開情報である。暗号鍵(秘密鍵)を有するクライアントのみが、認証認可サーバーに対するリクエストに署名を付与できるため、秘匿情報が漏えいすることなく、認証認可サーバーはクライアントを認証し、認可トークンを発行できる。 In the form using one assertion, the information exchanged between the client and the authentication / authorization server includes a signature and public information that are not confidential information. Since only a client having an encryption key (secret key) can sign a request to the authentication and authorization server, the authentication and authorization server can authenticate the client and issue an authorization token without leaking confidential information.
アサーションは一般にJSON Web Token(JWT)で表現される。JWT形式のアサーションは、発行者の識別子(iss)、ユーザー識別子(sub)、利用を想定する主体の識別子(aud)、発行時刻(iat)、有効期限(exp)、トークン識別子(jti)などを含む各種情報に対し、署名が付与されている。認証認可サーバーは、署名とそれに含まれる各種情報を検証し、有効なアサーションであると判断した際に認可トークンを発行する。一方で、検証した結果、不正が確認された場合は認可トークン要求元にエラーを返す。 Assertion is generally expressed in JSON Web Token (JWT). The assertion in JWT format includes an issuer identifier (iss), a user identifier (sub), an identifier of a subject to be used (aud), an issue time (iat), an expiration date (exp), a token identifier (jti), and the like. Signatures are given to various types of information. The authentication authorization server verifies the signature and various types of information included in the signature and issues an authorization token when it is determined to be a valid assertion. On the other hand, if the result of verification shows that fraud is confirmed, an error is returned to the authorization token request source.
このように、アサーションによりクライアントを認証する形態では、クライアントがJWT形式のアサーションを作成できさえすればいつでも認可トークン要求を認証認可サーバーに送信できる。 As described above, in the form in which the client is authenticated by the assertion, an authorization token request can be transmitted to the authentication authorization server at any time as long as the client can create an assertion in JWT format.
セキュリティをより高めるために、アサーションに有効期限を設定する形態がある。これは、アサーションを含む認可トークン要求が詐取され、その認可トークン要求を再利用して認可トークンが取得される、いわゆるリプレイアタックを防ぐためである。セキュリティ向上のためには、アサーションの有効期限をできるだけ短く設定することが望ましい。そのため、例えば、アサーションの有効期限とアサーションの発行時刻との差が5分以上であるアサーションを受け付けない形態も考えられる。特許文献1には、電子証明書自身の発行時刻、あるいは有効期限を含む電子証明書の発行方法が開示されている。 In order to further increase security, there is a form in which an expiration date is set in the assertion. This is to prevent a so-called replay attack in which an authorization token request including an assertion is stolen and an authorization token is acquired by reusing the authorization token request. In order to improve security, it is desirable to set the validity period of the assertion as short as possible. Therefore, for example, a mode in which an assertion in which the difference between the expiration date of the assertion and the issue time of the assertion is 5 minutes or more is not accepted is also conceivable. Patent Document 1 discloses a method for issuing an electronic certificate including an issue time of an electronic certificate itself or an expiration date.
アサーションの有効期限とアサーションの発行時刻との差が設定されているシステムである場合、アサーションの有効期限と発行時刻とが検証の対象となる。その結果、クライアントにおいて設定されたアサーションの発行時刻が、認証認可サーバーにおいて不正であると判定されると、認可トークンが発行されない。不正な発行時刻がクライアントで設定される場合とは具体的に、クライアントに設定されている現在時刻が認証認可サーバーでの現在時刻とずれていたり、クライアントに時計機能が存在しなかったりする場合である。クライアントで設定されている現在時刻に基づいてアサーションの発行時刻が設定されるため、不正な発行時刻がアサーションに設定されることになる。 In a system in which the difference between the validity period of the assertion and the issue time of the assertion is set, the validity period of the assertion and the issue time are subject to verification. As a result, if it is determined that the assertion issue time set in the client is invalid in the authentication authorization server, the authorization token is not issued. An invalid issue time is set on the client when the current time set on the client is different from the current time on the authentication authorization server or the clock function does not exist on the client. is there. Since the issue time of the assertion is set based on the current time set by the client, an incorrect issue time is set in the assertion.
本発明では、クライアント端末で設定されるアサーションの発行時刻が認証認可サーバーの現在時刻と異なる場合でも、アサーションの発行時刻を調整し、クライアント端末に認可トークン要求を再送させることにより、認可トークンを発行する情報処理システムを円滑に運用することを目的とする。 In the present invention, even when the assertion issue time set in the client terminal is different from the current time of the authentication authorization server, the authorization token is issued by adjusting the assertion issue time and causing the client terminal to resend the authorization token request. The purpose is to smoothly operate the information processing system.
リソースサーバーにアクセスするための認可トークンを発行する認証認可サーバーに対する要求に、暗号鍵を用いて署名を付与するクライアント端末と、前記クライアント端末からの要求に付与された署名を、復号鍵を用いて検証する認証認可サーバーと、を含む情報処理システムであって、前記クライアント端末は、前記認可トークンを取得するための要求である認可トークン要求を、前記署名が発行された時刻を含めて前記認証認可サーバーに送信する送信手段と、前記認可トークン要求に対する応答を受信し、検証する検証手段と、前記認証認可サーバーは、前記送信手段によって送信された認可トークン要求に含まれる前記署名の発行時刻と、前記認証認可サーバーにおける時刻とが一定以上の時間差があるかを判定する判定手段と、前記判定手段における判定に基づいて、前記認可トークン要求に対する前記応答として、前記認証認可サーバーにおける時刻を含めたエラー、または前記認可トークンを応答する応答手段と、を有し、前記送信手段によって送信された第一の認可トークン要求に含まれる前記署名の発行時刻と、前記認証認可サーバーにおける時刻とが、前記判定手段によって一定以上の時間差があると判定された場合、前記応答手段は、前記認証認可サーバーにおける時刻を含めたエラーを前記クライアント端末に応答し、前記検証手段によって、前記エラーに前記認証認可サーバーにおける時刻が含まれていると検証された場合、前記送信手段は、前記認証認可サーバーにおける時刻を含めた第二の認可トークン要求を送信する前記認証認可サーバーに送信する。 A client terminal that assigns a signature using an encryption key to a request to an authentication authorization server that issues an authorization token for accessing a resource server, and a signature that is assigned to the request from the client terminal using a decryption key An authentication authorization server to verify, wherein the client terminal sends an authorization token request, which is a request for obtaining the authorization token, including the time when the signature is issued A transmission means for transmitting to the server; a verification means for receiving and verifying a response to the authorization token request; and the authentication authorization server, the issuance time of the signature included in the authorization token request transmitted by the transmission means, Determination means for determining whether there is a time difference of a certain time or more with the time in the authentication authorization server Based on the determination in the determination means, the response to the authorization token request includes an error including a time in the authentication authorization server, or a response means for responding the authorization token, and is transmitted by the transmission means. If the determination means determines that there is a time difference of a certain time or more between the time of issue of the signature included in the first authorization token request and the time in the authentication authorization server, the response means When the error including the time at the server is responded to the client terminal, and the verification means verifies that the error includes the time at the authentication authorization server, the transmission means at the authentication authorization server To the authentication authorization server that sends the second authorization token request including the time To trust.
本発明により、クライアント端末で設定されるアサーションの発行時刻が認証認可サーバーの現在時刻と異なる場合でも、アサーションの発行時刻を調整し、クライアント端末に認可トークン要求を再送させることにより、認可トークンを発行する情報処理システムを円滑に運用することができる。 According to the present invention, even when the assertion issue time set in the client terminal is different from the current time of the authentication authorization server, the authorization token is issued by adjusting the assertion issue time and causing the client terminal to resend the authorization token request It is possible to smoothly operate the information processing system.
以下、本発明を実施するための形態について図面を用いて説明する。 Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings.
[実施例1]
本実施例においては、インターネット上の各種サーバーにアプリケーションが設置されていることとする。アプリケーションはクライアント端末と連携し、様々な機能(サービス)をクライアント端末に提供する。
[Example 1]
In this embodiment, it is assumed that applications are installed on various servers on the Internet. The application cooperates with the client terminal and provides various functions (services) to the client terminal.
本実施例に係る情報処理システムは、図1に示すような構成のネットワーク上で実現される。 The information processing system according to the present embodiment is realized on a network configured as shown in FIG.
WAN100(Wide Area Network)は、World Wide Web(WWW)システムが構築されており、LAN101(Local Area Network)を介して各種装置に接続する。各種装置にはクライアント端末130、クライアント端末130の認証・認可を実現する認証認可サーバー110、クライアント端末130にサービスを提供するリソースサーバー120がある。
A WAN 100 (Wide Area Network) is a World Wide Web (WWW) system, and is connected to various devices via a LAN 101 (Local Area Network). The various apparatuses include a
リソースサーバー120が提供するサービスとしては例えば、クライアント端末130のデータをバックアップするサービスや、クライアント端末130のセンサー情報を分析するサービス等がある。クライアント端末130としては具体的に、パソコン、モバイル端末、画像形成装置などの機器が挙げられる。認証認可サーバー110はクライアント端末130を認証し、認証したクライアント端末から認可トークン要求を受信し、リソースサーバー120を利用するために必要な認可トークンを発行する。
Examples of services provided by the
図1では各種サーバーが1台ずつ設置されている形態を示しているが、物理的な台数や構成は問わず、例えば認証認可サービスシステムとして、認証認可サーバー110やリソースサーバー120の機能を提供する形態でもよい。また、認証認可サーバー110やリソースサーバー120の機能を、複数の物理サーバーで実現する形態等でもよい。
Although FIG. 1 shows a form in which various servers are installed one by one, the functions of the
図2は本実施例に係る、認証認可サーバー110、リソースサーバー120、クライアント端末130を構成する情報処理装置の一般的なハードウェア構成である。なお、図2は一般的な情報処理装置のブロック図であり、本実施形態の各種デバイスには一般的な情報処理装置のハードウェア構成やIaaS(Infrastructure as a Service)として提供される情報処理装置の仮想的なハードウェア構成を適用できる。
FIG. 2 shows a general hardware configuration of an information processing apparatus constituting the authentication /
CPU231は、ROM233のプログラム用ROMに記憶された、或いはハードディスク(HD)等の外部メモリ241からRAM232にロードされたOSやアプリケーション等のプログラムを実行する。またCPU231は、システムバス234に接続される各ブロックを制御する。ここでOSとはコンピューター上で稼動するオペレーティングシステムの略語であり、以下オペレーティングシステムのことをOSと呼ぶ。後述する各シーケンスの処理はこのプログラムの実行により実現できる。RAM232は、CPU231の主メモリ、ワークエリア等として機能する。操作部I/F235は、操作部239からの入力を制御する。CRTコントローラ(CRTC)236は、CRTディスプレイ240の表示を制御する。ディスクコントローラ(DKC)237は各種データを記憶するハードディスク(HD)等の外部メモリ241におけるデータアクセスを制御する。ネットワークコントローラ(NC)238はWAN100もしくはLAN101を介して接続された各種装置との通信制御処理を実行する。
The
尚、後述の全ての説明においては、特に断りのない限り実行のハード上の主体はCPU231であり、ソフトウェア上の主体は外部メモリ241にインストールされたアプリケーションプログラムである。
In all the explanations to be described later, the execution hardware main body is the
次に図9を用いて、認証認可サーバー110、リソースサーバー120、クライアント端末130が有する機能について説明する。認証認可サーバー110は認証認可サーバー部1101、HTTPサーバー部1102、鍵管理部1103を有する。HTTPサーバー部1102はWAN100を介してクライアント端末130とリソースサーバー120と接続されており、HTTP通信を行う機能である。また、HTTPサーバー部1102はSSL/TLSによる通信が可能であり、不図示の証明書ストアを有する。
Next, functions of the authentication /
認証認可サーバー部1101はHTTPサーバー部1102を介してWebブラウザー1301からの要求を受信し、受信した要求に対する結果を応答する機能である。具体的には、認可トークン要求をHTTPサーバー部1102がWebブラウザー1301から受信し、認可トークン要求に含まれるアサーションを検証する。検証に成功した場合は認可トークンを生成し、Webブラウザー1301に認可トークンを送信する。その際、認証認可サーバー部1101は、鍵管理部1103は予め管理している復号鍵(公開鍵)を用いて、クライアント端末130から受信したアサーションの署名を検証する。
The authentication
認証認可サーバー部1101は、生成された認可トークンに署名情報を付与する秘密鍵を保持するように構成する事もできる。その場合は、この秘密鍵を用いて認可トークンに署名情報を付与し、署名情報付きの認可トークンをクライアント端末130に対して発行する。
The authentication
リソースサーバー120のリソースサーバー部1201は、Webサービスを提供するためのAPIを公開する機能である。なお、認証認可サーバー110と同様に、HTTPサーバー部を備え、HTTPサーバー部を介して外部との受送信を実行する形態でもよい。
The
クライアント端末130はWebブラウザー1301とクライアントアプリケーション1302、認証部1303、アサーション生成部1304、鍵管理部1305、応答検証部1306を有する。Webブラウザー1301はWWWを利用するためのユーザーエージェントによって実現される機能である。Webブラウザー1301はユーザーの操作により、認証認可サーバー110およびクライアントアプリケーション1302と通信を行う。クライアントアプリケーション1302は、リソースサーバー120が公開するAPIを実行することで自身が提供する機能と合わせたWebサービスをユーザーに提供する。
The
認証部1303はユーザーを認証するための機能である。ユーザーはクライアント端末130の機能を利用するために、クライアント端末130における不図示の入力画面においてローカルユーザーIDとローカルユーザーパスワードを入力する。入力を受けたクライアント端末130は、認証部1303において予め登録されている情報(ローカルユーザーIDとローカルユーザーパスワード)と入力された情報とを照合することでユーザーの認証処理を行い、ログインコンテキストを生成する。なお認証処理の形態はこれに留まらず、例えば、ICカードを使った認証や指紋等の生体認証でもよい。
An
ログインコンテキストは、クライアント端末130でローカルユーザーを識別するための情報であり、例えば、ローカルユーザーIDから構成される。このログインコンテキストはクライアントアプリケーション1302と認証部1303で共有される。以上が、各種装置が有する機能の説明である。
The login context is information for identifying the local user at the
また、アサーション生成部1304は、鍵管理部1305で予め管理されている秘密鍵を用いて、認可トークン要求に対して署名を付与する機能である。応答検証部1306は、認証認可サーバー110から受信した応答に認可トークン、または認証認可サーバー110の現在時刻が含まれているかを検証する機能である。
The assertion generation unit 1304 is a function that adds a signature to the authorization token request using a secret key managed in advance by the
図3を用いて、認証認可サーバー110でのJWT形式のアサーションの検証処理を説明する。図3のフローは、認証認可サーバー110がクライアント端末130から認可トークン要求を受信したことをきっかけに、認証認可サーバー110で実行される。
With reference to FIG. 3, the verification process of the JWT format assertion in the
認証認可サーバー部1101はクライアント端末130から受信した認可トークン要求に含まれるアサーションの署名を検証する(S301)。署名を検証する際には、鍵管理部1103が予め管理する公開鍵が用いられる。検証した結果、署名が正しいと判定された場合はS302へ、正しくないと判定された場合はS307へと進む。
The authentication
認証認可サーバー部1101は、アサーションに含まれる情報の中からアサーションの発行時刻を取得し、発行時刻が認証認可サーバー110の定める正常な発行時刻範囲内に収まっているかを確認する(S302)。正常な発行時刻範囲とは、現在時刻から許容されるずれの範囲である。例えば、正常な発行時刻範囲を±5分とする場合、「認証認可サーバー110の現在時刻−5分」≦t1≦「認証認可サーバー110の現在時刻+5分」における値t1が、正常な発行時刻範囲に相当する。アサーションの発行時刻(後述のiat)が正常な発行時刻範囲内である場合はS303へ、範囲内でない場合はS306へと進む。
The authentication
ここで図8に、アサーションに含まれる検証用情報の一例を示す。アサーションにはクライアント端末130の識別子(iss)、ユーザー識別子(sub)、サービスの識別子(aud)、アサーションの発行時刻(iat)、アサーションの有効期限(exp)が含まれる。
FIG. 8 shows an example of verification information included in the assertion. The assertion includes an identifier (iss) of the
クライアント端末130の識別子は、クライアント端末130を一意に識別できる識別子であって、デバイスのシリアル番号などが挙げられる。
The identifier of the
ユーザー識別子はユーザーを一意に識別できる識別子である。サービスの識別子には具体的に、リソースサーバーへのリクエスト送信先のURLが設定される。 The user identifier is an identifier that can uniquely identify the user. Specifically, the URL of the request transmission destination to the resource server is set in the service identifier.
図8の検証用情報は、クライアント端末130を認証認可サーバー110にクライアント登録する際や、認証認可サーバー110が秘密鍵をクライアント端末130に対して発行する際に、認証認可サーバー110で発行され、クライアント端末130と認証認可サーバー110で共有されている情報である。アサーションは図8に示した検証用情報以外に、ヘッダー情報を含み、クライアント端末130の秘密鍵で行った署名が付与されて、アサーションを構成する。
The verification information in FIG. 8 is issued by the
図3の説明に戻る。認証認可サーバー部1101は、アサーションに含まれる情報の中からアサーションの有効期限(exp)を取得し、アサーションの有効期限が認証認可サーバー110の定める正常な有効期限範囲内に収まっているかを確認する(S303)。正常な有効期限範囲とは、例えば、アサーションの有効期限を5分とする場合、「認証認可サーバー110の現在時刻」≦t2≦「認証認可サーバー110の現在時刻+5分」の範囲にある値t2である。アサーションに設定されるアサーションの有効期限は、クライアント端末130で予め設定されるものであり、認可トークンを用いて利用されるサービスによって有効期限を変える形態も可能である。
Returning to the description of FIG. The authentication
S303において、有効期限が正常な時間の範囲に収まっている場合はS304へ、範囲外の場合はS306へ進む。 In S303, if the expiration date is within the normal time range, the process proceeds to S304, and if it is out of the range, the process proceeds to S306.
認証認可サーバー部1101は、アサーションに含まれるその他の検証用情報を検証する(S304)。その他の検証用情報とは例えば、クライアント端末130の識別子(iss)や、ユーザー識別子(sub)等であるが、検証の対象とする情報や条件については特に限定しない。検証に成功した場合、認証認可サーバー部1101は認可トークンを発行し(S305)、不合格の場合はS306に進む。
The authentication
また、本実施例ではアサーションの発行時刻と有効期限を検証してから、それ以外の検証用情報を検証する形態を示したが、発行時刻と有効期限を検証する前に、それ以外の検証用情報を検証する形態でもよい。 In this embodiment, the issue time and expiration date of the assertion are verified and then other verification information is verified. However, before the issue time and expiration date are verified, other verification information is used. A form in which information is verified may be used.
認証認可サーバー部1101は、アサーションに含まれるその他の検証用情報が不正な場合はWebブラウザー1301にエラーを返し(S306)、処理を終了する。エラー情報には、クライアント端末130がアサーションを修正するために、正当な有効期限等の情報をエラーとともに返す形態も可能である。
If other verification information included in the assertion is invalid, the authentication
S302においてのアサーションの発行時刻が正常な時間範囲に収まっていないと判定された場合、認証認可サーバー部1101はクライアント端末130の時計が正常に動作していない(、あるいは時計を有さないクライアント端末130である)と判断し、認証認可サーバー110の現在時刻を含めたエラーを返す(S307)。
If it is determined that the issue time of the assertion in S302 is not within the normal time range, the authentication
S301においてアサーションの署名が不正であると判定された場合、認証認可サーバー部1101はWebブラウザー1301にエラーを返し(S308)、処理を終了する。以上が、認証認可サーバー110におけるアサーションの検証フローである(S308)。
If it is determined in S301 that the assertion signature is invalid, the authentication
図4を用いて、クライアント端末130が認可トークンを取得する処理を説明する。
A process in which the
アサーション生成部1304は、クライアント端末130における現在時刻に基づいて、アサーションの発行時刻と有効期限を決定し、アサーションを発行する(S401)。アサーションを発行する際には、決定した発行時刻と有効期限を含む検証用情報に対し、予め保持している秘密鍵で署名される。
The assertion generation unit 1304 determines the assertion issue time and expiration date based on the current time in the
アサーションの有効期限の決定方法としては具体的に、アサーションの発行時刻「2018.01.01 12:00:00」に対して、アサーションの有効期限が5分である場合、アサーションの有効期限は「2018.01.01 12:05:00」と決定される。 Specifically, as the method for determining the expiration date of the assertion, when the expiration date of the assertion is 5 minutes with respect to the issue time of the assertion “2018.01.01 12:00:00”, the expiration date of the assertion is “ 2018.01.01 12:05:00 ".
認可トークン要求としてWebブラウザー1301は、S401で発行したアサーションを認証認可サーバー110に送信する(S402)。認可トークン要求を受信した後の認証認可サーバー110における処理は、図3のフローで示した通りである。
As an authorization token request, the
図3の処理後、Webブラウザー1301は認可トークン要求に対する応答を受信する(S403)。
After the processing of FIG. 3, the
応答検証部1306は、受信した応答に認可トークンが含まれているかを判定する(S404)。認可トークンを含まれていると判定された場合は処理を完了し、認可トークンを含まれていると判定された場合はS405に進む。
The
応答検証部1306は、応答に認証認可サーバー110の現在時刻が含まれているかを判定する(S405)。現在時刻が含まれていると判定された場合にはS406へ進み、現在時刻が含まれていないと判定された場合は本処理をエラー終了する。
The
アサーション生成部1304は、応答が含む認証認可サーバー110の現在時刻に基づいて、アサーションを再度発行する。その際、認証認可サーバー110の現在時刻をアサーションの発行時刻とし、その発行時刻に基づいて署名の有効期限を決定する。そしてアサーション生成部1304は、決定した発行時刻と有効期限を含むアサーションに秘密鍵で署名し、アサーションを再度発行する(S406)。発行したアサーションは、認証認可サーバー110に対して認可トークン要求として送信される(S402)。
The assertion generation unit 1304 issues the assertion again based on the current time of the
本実施例ではS405において、応答に現在時刻が含まれていない場合、エラー終了しているが、認可トークン取得失敗時の対応はこれに限定されない。例えば、図5のフローのように、時刻以外に起因するエラーとしてアサーションを修正するための情報を含むかを判定し(S1101)、含むと判定された場合はその情報に基づいてアサーションを修正する(S1102)。含まないと判定された場合は処理をエラー終了する。S1102の後はS402の処理に戻り、アサーション生成部1304は認証認可サーバー110に対し、修正したアサーションを送信する。時刻以外に起因するエラーの例としては、検証用情報(図8)に含まれるユーザー識別子等のエラーが考えられる。
In this embodiment, in S405, if the response does not include the current time, the process ends in an error, but the response when the authorization token acquisition fails is not limited to this. For example, as shown in the flow of FIG. 5, it is determined whether information for correcting the assertion is included as an error caused by something other than the time (S1101). If it is determined that the information is included, the assertion is corrected based on the information. (S1102). If it is determined that the data is not included, the process ends with an error. After S1102, the process returns to S402, and the assertion generation unit 1304 transmits the corrected assertion to the
以上がクライアント端末130における認可トークンの取得フローである。
The above is the authorization token acquisition flow in the
図10に、クライアント端末130が認可トークン要求を送信し、クライアント端末130に対してリソースが提供されるまでのシーケンス図を示す。上記で説明済みの部分については同じ符番を振り、詳細な説明は省略する。
FIG. 10 shows a sequence diagram from when the
S305において、認証認可サーバー110が認可トークンを発行すると、発行された認可トークンはクライアント端末130に送信される(S1001)。リソース要求として、発行された認可トークンをリソースサーバー部1201に送信し(S1002)、認可トークンが検証された(S1003)ことに応じて、リソースがクライアント端末130に提供される(S1004)。以上が認可トークン要求を送信してからリソースが提供されるまでの処理である。
When the
本実施例により、クライアント端末130の現在時刻が認証認可サーバー110の現在時刻と異なっていても、クライアント端末130は認証認可サーバー110の現在時刻に基づいて新たな認可トークン要求を送信することが出来る。
According to this embodiment, even if the current time of the
[実施例2]
本実施例では、認可トークン要求の度に認証認可サーバー110からのエラーに基づいて、アサーションを修正することなく、認可トークンを取得する形態を示す。実施例1で既に説明された部分については、説明を省略する。
[Example 2]
In the present embodiment, a mode is shown in which an authorization token is acquired without correcting an assertion based on an error from the
実施例2において、クライアント端末130は時計もしくはクライアント起動時からのカウントを示すカウンター値などを保持しているものとする。ここでカウンター値とは、時計を有さない機器が起動する度に、0からカウントアップされる値である。
In the second embodiment, it is assumed that the
認証認可サーバー110でのアサーションの検証処理は実施例1の場合(図3)と同様なので、省略する。また、実施例1で説明済みの処理についても同じ符番を振り、詳細な説明は省略する。
The assertion verification process in the
図6は、実施例2においてクライアント端末130がJWT形式のアサーションを用いて認可トークンを取得するフローである。
FIG. 6 is a flow in which the
クライアント端末130は、時刻補正情報を保持しているかを確認する(S601)。時刻補正情報とは、認証認可サーバー110とクライアント端末130の時間差を記録した値であり、クライアント端末130で管理される。時刻補正情報の一例は後述する。時刻補正情報は図6のフローを初めて実行した際にはクライアント端末130において保持されていないため、S401へ進む。2回目以降の図6の処理であれば時刻補正情報が保持されているため、S602に進む。
The
S601で時刻補正情報が保持されていないと判定された場合、クライアント端末130はアサーションを発行する(S401)。
When it is determined in S601 that the time correction information is not held, the
S601で時刻補正情報が保持されていると判定された場合、クライアント端末130の現在時刻を時刻補正情報で補正した現在時刻をもとにアサーションの発行時刻及び有効期限を決定し、アサーションを発行する(S602)。表1は時刻補正情報の一例を示す。クライアント端末130の現在時刻が「2018.01.01 12:00:00」であり、保持されている時刻補正情報が「+32400秒」である場合、補正後の現在時刻は32400秒後の「2018.01.01 21:00:00」となる。これにより、認証認可サーバー110との時刻ずれを補正することができる。
If it is determined in S601 that the time correction information is held, the assertion issue time and expiration date are determined based on the current time obtained by correcting the current time of the
S402〜S405の処理により、認証認可サーバー110からのエラーに含まれる現在時刻を取得した後、認証認可サーバー110の現在時刻とクライアント端末130の現在時刻の時間差を時刻補正情報として保持する(S603)。例えば、クライアント130の現在時刻が「2018.01.01 1:00:00」のとき、認証認可サーバー110の現在時刻が「2018.01.01 10:00:00」だった場合、その時間差を算出し「+32400秒」という時刻補正情報が算出され保持される。時刻補正情報を算出した後は、S601の処理に戻る。
After acquiring the current time included in the error from the
図6で示した処理では、クライアント端末130が時計を保有していることを想定している形態である。しかし、クライアント端末130が時計を保有しない場合でも、クライアント端末130のカウンター値をUNIX(登録商標)時刻として処理を行うことで同様に補正することができる。
In the processing shown in FIG. 6, it is assumed that the
表2は、カウンター値により算出された時刻補正情報の一例である。たとえば、クライアント端末130のカウンター値が30である場合、カウント開始時刻「1970.01.01 00:00:00」から算出して現在時刻「1970.01.01 0:00:30」が特定される。それに基づいて、認証認可サーバー110の現在時刻「2018.01.01 10:00:00」との時間差から「+ 1514768370秒」という時刻補正情報を算出することができる。
Table 2 is an example of time correction information calculated based on the counter value. For example, if the counter value of the
本実施例により、クライアント端末130が時計を有するかどうかに関わらず、認証認可サーバー110の現在時刻との時間差に基づいて、アサーションを生成することができる。
According to this embodiment, it is possible to generate an assertion based on the time difference from the current time of the
[実施例3]
クライアント端末130の現在時刻が認証認可サーバー110における現在時刻に対して未来に設定されている場合、アサーションに設定されるアサーションの発行時刻は、認証認可サーバー110の現在時刻に対して未来の時刻となる。実施例1の処理に従えば、そのアサーションを含む認可トークン要求は、認証認可サーバー110においてエラーとして判定される。
[Example 3]
When the current time of the
しかし、アサーションに設定された未来の時刻まで待ち、再度同じアサーションを含む認可トークン要求を認証認可サーバーに送信すると認可トークンを取得できてしまい、リプレイアタックを防ぐことができない。 However, if an authorization token request including the same assertion is sent to the authentication authorization server again after waiting for a future time set in the assertion, the authorization token can be acquired, and the replay attack cannot be prevented.
本実施例では、未来の発行時刻が設定されたアサーションによるリプレイアタックを防ぐ方法を、図7を用いて説明する。図7は認証認可サーバー110におけるアサーションの検証フローを示す。クライアント端末130における現在時刻が、認証認可サーバー110の現在時刻に対して未来に設定されているものとする。また、既に説明済みの処理については同じ符番を振り、詳細な説明は省略する。
In this embodiment, a method for preventing a replay attack caused by an assertion in which a future issue time is set will be described with reference to FIG. FIG. 7 shows an assertion verification flow in the
認可トークン要求を受信した認証認可サーバー部1101はアサーションを検証した後、認可トークン要求の検証を行う。具体的には、アサーションに含まれる情報(検証用情報と署名を含む)のハッシュ値が要求済トークンテーブルに存在するかを判定する(S701)。存在しないと判定された場合はS302の処理に進むが、存在すると判定された場合はエラーを返す。
Upon receiving the authorization token request, the authentication
要求済トークンテーブルの一例を表3に示す。表3には、アサーションに設定されたアサーションの有効期限と、アサーションに含まれる情報のハッシュ値、要求済みの認可トークン要求を識別するためのID「001」が含まれる。 An example of the requested token table is shown in Table 3. Table 3 includes the validity period of the assertion set in the assertion, the hash value of the information included in the assertion, and the ID “001” for identifying the requested authorization token request.
S302において、アサーションの発行時刻が不正であると判定されたことに伴い、不正な認可トークン要求であるとみなす。そして、不正であると判定された認可トークン要求に含まれるアサーションの情報をハッシュ化し、要求済トークンテーブル(表3)にそのハッシュ値を記憶する(S702)。尚、認証認可サーバーにおける時刻をエラーとともに送信する処理(S307)とS702の順序は問わない。 In S302, it is determined that the request is an unauthorized authorization token when it is determined that the assertion issue time is invalid. Then, the assertion information included in the authorization token request determined to be invalid is hashed, and the hash value is stored in the requested token table (Table 3) (S702). Note that the order of the processing (S307) for transmitting the time in the authentication authorization server together with the error and S702 does not matter.
表3で、アサーションの有効期限を記載している理由を説明する。S302の処理では、アサーションの発行時刻が認証認可サーバー110の時刻に対して未来に設定されているのか、過去に設定されているのかは問わずに、ハッシュ値が要求済トークンテーブルに管理される。アサーションの発行時刻が未来に設定されている認可トークン要求のみを管理し、リプレイアタックを防ぎたいため、アサーションの有効期限が切れた(または既に切れている)レコードを要求済トークンテーブルから削除する。それにより、有効期限が過ぎリプレイアタックで用いられる恐れがない認可トークン要求を、要求済トークンテーブルで管理せずに済む。
Table 3 explains the reason why the expiration date of the assertion is described. In the process of S302, the hash value is managed in the requested token table regardless of whether the assertion issue time is set in the future or in the past with respect to the time of the
以上が、本実施例におけるアサーションの検証処理である。 The above is the assertion verification processing in the present embodiment.
本実施例により、秘密鍵を保持していない不正なクライアント端末130であれば、検証用情報を正しい情報に書き換えたとしても署名ができず、S301で弾かれる。また、検証用情報を書き変えなければ、同じ認可トークン要求を認証認可サーバー110に送信することとなり、S701で弾かれる。
According to the present embodiment, if the
また、本実施例では、ハッシュ値によりアサーションを識別しているが、アサーションをユニークに識別することができれば、その方法を限定するものではなく、トークン識別子(jti)をアサーション内に含めることで識別しても良く、発行者(iss)と発行時刻(iat)の組み合わせにより識別しても良い。 In this embodiment, the assertion is identified by the hash value. However, if the assertion can be uniquely identified, the method is not limited, and the token identifier (jti) is included in the assertion. Alternatively, it may be identified by a combination of an issuer (iss) and an issue time (iat).
以上のシーケンスにより、未来の時刻が設定されたトークン要求によるリプレイアタックを防止しつつ、正規のクライアント端末130に対しては認可トークン発行を行うことができる。
With the above sequence, it is possible to issue an authorization token to the
[その他の実施例]
上記の実施例において、アサーションの署名で用いる秘密鍵は、クライアント端末130が予め保持している形態で説明したがそれには限定されない。クライアント端末130が認証認可サーバー110にアクセスして認証を行い、認証認可サーバー110から発行された秘密鍵を保持する形態などでも良い。
[Other Examples]
In the above embodiment, the secret key used for the signature of the assertion has been described as being held in advance by the
また、本発明の目的は以下の処理を実行することによっても達成される。即ち、上述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。 The object of the present invention can also be achieved by executing the following processing. That is, a storage medium that records a program code of software that implements the functions of the above-described embodiments is supplied to a system or apparatus, and a computer (or CPU, MPU, etc.) of the system or apparatus is stored in the storage medium. This is the process of reading the code. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the program code and the storage medium storing the program code constitute the present invention.
110 認証認可サーバー
120 リソースサーバー
130 クライアント端末
1101 認証認可サーバー部
1103 鍵管理部
1304 アサーション生成部
1305 鍵管理部
1306 応答検証部
DESCRIPTION OF
Claims (20)
前記クライアント端末からの要求に付与された署名を、復号鍵を用いて検証する認証認可サーバーと、を含む情報処理システムであって、
前記クライアント端末は、
前記認可トークンを取得するための要求である認可トークン要求を、前記署名が発行された時刻を含めて前記認証認可サーバーに送信する送信手段と、
前記認可トークン要求に対する応答を受信し、検証する検証手段と、
前記認証認可サーバーは、
前記送信手段によって送信された認可トークン要求に含まれる前記署名の発行時刻と、
前記認証認可サーバーにおける時刻と、が一定以上の時間差があるかを判定する判定手段と、
前記判定手段における判定に基づいて、前記認可トークン要求に対する前記応答として、前記認証認可サーバーにおける時刻を含めたエラー、または前記認可トークンを応答する応答手段と、
を有し、
前記送信手段によって送信された第一の認可トークン要求に含まれる前記署名の発行時刻と、前記認証認可サーバーにおける時刻とが、前記判定手段によって一定以上の時間差があると判定された場合、
前記応答手段は、前記認証認可サーバーにおける時刻を含めたエラーを前記クライアント端末に応答し、
前記検証手段によって、前記エラーに前記認証認可サーバーにおける時刻が含まれていると検証された場合、
前記送信手段は、前記認証認可サーバーにおける時刻を含めた第二の認可トークン要求を送信する前記認証認可サーバーに送信する情報処理システム。 A client terminal that assigns a signature using an encryption key to a request to an authentication authorization server that issues an authorization token for accessing the resource server;
An authentication authorization server that verifies a signature given to a request from the client terminal by using a decryption key;
The client terminal is
A transmission means for transmitting an authorization token request, which is a request for obtaining the authorization token, to the authentication authorization server including a time when the signature is issued;
Verification means for receiving and verifying a response to the authorization token request;
The authentication authorization server is:
Issuing time of the signature included in the authorization token request transmitted by the transmitting means;
Determining means for determining whether there is a time difference of a certain time or more in the authentication authorization server;
Based on the determination in the determination unit, as the response to the authorization token request, an error including a time in the authentication authorization server, or a response unit that responds to the authorization token;
Have
When it is determined by the determination means that there is a certain time difference between the issuance time of the signature included in the first authorization token request transmitted by the transmission means and the time in the authentication authorization server,
The response means responds to the client terminal with an error including the time in the authentication authorization server,
When it is verified by the verification means that the time in the authentication authorization server is included in the error,
The information processing system that transmits the second authorization token request including the time in the authentication authorization server to the authentication authorization server.
前記応答手段は、
前記認可トークンを前記クライアント端末に応答することを特徴とする請求項1に記載の情報処理システム。 In accordance with the fact that the determination means has not determined that there is a time difference between the issue time of the signature included in the second authorization token request and the time in the authentication authorization server, which is a certain time or more,
The response means includes
The information processing system according to claim 1, wherein the authorization token is returned to the client terminal.
前記応答に前記認可トークンが含まれているかを検証し、
前記検証手段によって、前記認可トークンが含まれていないと検証された場合に、
前記応答に前記認証認可サーバーにおける時刻が含まれているかを検証し、
前記認証認可サーバーにおける時刻が含まれていると検証された場合に、
前記認証認可サーバーにおける時刻を含めた第二の認可トークン要求を送信することを特徴とする請求項1または2に記載の情報処理システム。 The verification means includes
Verify whether the authorization token is included in the response;
When it is verified by the verification means that the authorization token is not included,
Verify whether the response includes the time at the authentication authorization server,
When it is verified that the time in the authentication authorization server is included,
The information processing system according to claim 1, wherein a second authorization token request including a time in the authentication authorization server is transmitted.
前記エラーに含まれた前記認証認可サーバーにおける時刻と、前記クライアント端末における時刻との時間差を管理する管理手段を更に有し、
前記管理手段によって管理されている時間差に基づいて補正した、前記発行時刻を含めた第三の認可トークン要求を前記認証認可サーバーに送信することを特徴とする請求項1乃至3のいずれか一項に記載の情報処理システム。 The client terminal is
Management means for managing the time difference between the time at the authentication authorization server included in the error and the time at the client terminal;
4. The third authorization token request including the issue time, corrected based on the time difference managed by the management means, is transmitted to the authentication authorization server. 5. Information processing system described in 1.
前記認可トークン要求に含まれる情報と署名に基づいてハッシュ値を算出し、保持する保持手段を更に有し、
前記クライアント端末から受信した認可トークン要求に含まれる情報と署名とに基づいてハッシュ値を算出し、算出されたハッシュ値が前記保持手段によって保持されたハッシュ値に含まれているかを判定し、
含まれていると判定された場合は前記エラーを送信することを特徴とする請求項1乃至4のいずれか一項に記載の情報処理システム。 The authentication authorization server is:
It further has holding means for calculating and holding a hash value based on information and a signature included in the authorization token request,
Calculating a hash value based on information and a signature included in the authorization token request received from the client terminal, and determining whether the calculated hash value is included in the hash value held by the holding unit;
The information processing system according to claim 1, wherein the error is transmitted when it is determined that the information is included.
前記判定手段によって、前記認可トークン要求に含まれる署名の発行時刻と、前記認証認可サーバーにおける時刻とが一定以上の差があると判定された場合に、前記認可トークン要求に含まれる情報と署名とに基づいて算出されることを特徴とする請求項5に記載の情報処理システム。 The hash value held by the holding means is
When it is determined by the determination means that there is a certain difference between the time of issue of the signature included in the authorization token request and the time in the authentication authorization server, the information included in the authorization token request and the signature The information processing system according to claim 5, wherein the information processing system is calculated based on the information.
前記署名の有効期限を保持し、前記有効期限が過ぎた署名のハッシュ値を削除することを特徴とする請求項5または6に記載の情報処理システム。 The holding means is
The information processing system according to claim 5 or 6, wherein an expiration date of the signature is retained, and a hash value of the signature whose expiration date has passed is deleted.
前記クライアント端末からの要求に付与された署名を、復号鍵を用いて検証する認証認可サーバーと、を含む情報処理システムの制御方法であって、
前記クライアント端末は、
前記認可トークンを取得するための要求である認可トークン要求を、前記署名が発行された時刻を含めて前記認証認可サーバーに送信する送信ステップと、
前記認可トークン要求に対する応答を受信し、検証する検証ステップと、
前記認証認可サーバーは、
前記送信ステップによって送信された認可トークン要求に含まれる前記署名の発行時刻と、前記認証認可サーバーにおける時刻とが一定以上の差があるかを判定する判定ステップと、
前記判定ステップにおける判定に基づいて、前記認可トークン要求に対する前記応答として、前記認証認可サーバーにおける時刻を含めたエラー、または前記認可トークンを応答する応答ステップと、
を有し、
前記送信ステップによって送信された第一の認可トークン要求に含まれる前記署名の発行時刻と、前記認証認可サーバーにおける時刻とが、前記判定ステップによって一定以上の差があると判定された場合、
前記応答ステップは、前記認証認可サーバーにおける時刻を含めたエラーを前記クライアント端末に応答し、
前記検証ステップによって前記エラーに、前記認証認可サーバーにおける時刻が含まれていると検証された場合、
前記送信ステップは、前記認証認可サーバーにおける時刻を含めた第二の認可トークン要求を送信する前記認証認可サーバーに送信する情報処理システムの制御方法。 A client terminal that assigns a signature using an encryption key to a request to an authentication authorization server that issues an authorization token for accessing the resource server;
An information processing system control method including an authentication authorization server that verifies a signature attached to a request from the client terminal using a decryption key,
The client terminal is
A transmission step of transmitting an authorization token request, which is a request for obtaining the authorization token, to the authentication authorization server including a time when the signature is issued;
A verification step of receiving and verifying a response to the authorization token request;
The authentication authorization server is:
A determination step of determining whether or not there is a difference between the time of issuing the signature included in the authorization token request transmitted in the transmission step and the time in the authentication authorization server;
Based on the determination in the determination step, as the response to the authorization token request, an error including a time in the authentication authorization server, or a response step of responding the authorization token;
Have
When it is determined by the determination step that the signature issuance time included in the first authorization token request transmitted by the transmission step and the time at the authentication authorization server have a certain difference or more,
The response step responds to the client terminal with an error including the time in the authentication authorization server,
When the verification step verifies that the error includes a time in the authentication authorization server,
The method of controlling an information processing system, wherein the transmitting step transmits a second authorization token request including a time in the authentication authorization server to the authentication authorization server.
前記認可トークンを取得するための要求である第一の認可トークン要求を、前記署名が発行された発行時刻を含めて前記クライアント端末が前記認証認可サーバーに送信する送信手段と、
前記送信手段によって送信された第一の認可トークン要求に対する応答を前記認証認可サーバーから受信する受信手段と、を有し、
前記受信手段によって受信した応答がエラーであった場合、
前記送信手段は、
前記エラーと共に受信した、前記認証認可サーバーにおける時刻を含めた第二の認可トークン要求を送信するクライアント端末。 A client terminal that assigns a signature using a cryptographic key to a request to an authentication authorization server that issues an authorization token for accessing a resource server,
A transmission means for transmitting a first authorization token request, which is a request for acquiring the authorization token, to the authentication authorization server by the client terminal including an issue time when the signature is issued;
Receiving means for receiving a response to the first authorization token request sent by the sending means from the authentication authorization server;
If the response received by the receiving means is an error,
The transmission means includes
A client terminal that transmits a second authorization token request including a time at the authentication authorization server, which is received together with the error.
前記認証認可サーバーから前記認可トークンを受信する第二の受信手段を更に有し、
前記第二の受信手段によって受け付けた認可トークンを前記リソースサーバーに送信することで、前記リソースサーバーが提供するサービスを利用することを特徴とする請求項9に記載のクライアント端末。 The client terminal is
Further comprising second receiving means for receiving the authorization token from the authentication authorization server;
The client terminal according to claim 9, wherein a service provided by the resource server is used by transmitting an authorization token received by the second receiving unit to the resource server.
前記認証認可サーバーから受信した認可トークン要求を検証する検証手段を更に有し、
前記検証手段は、
前記応答に前記認可トークンが含まれているかを検証し、
前記認可トークンが含まれていないと検証された場合に、
前記応答に前記認証認可サーバーにおける時刻が含まれているかを検証し、
前記認証認可サーバーにおける時刻が含まれていると検証された場合に、
前記認証認可サーバーにおける時刻を含めた第二の認可トークン要求を送信することを特徴とする請求項9または10に記載のクライアント端末。 The client terminal is
Further comprising verification means for verifying the authorization token request received from the authentication authorization server;
The verification means includes
Verify whether the authorization token is included in the response;
If verified that the authorization token is not included,
Verify whether the response includes the time at the authentication authorization server,
When it is verified that the time in the authentication authorization server is included,
The client terminal according to claim 9 or 10, wherein a second authorization token request including a time in the authentication authorization server is transmitted.
前記受信手段によって受信した前記認証認可サーバーにおける時刻と、前記クライアント端末における時刻との時間差を管理する管理手段を更に有し、
前記管理手段によって管理されている時間差に基づいて補正した前記発行時刻を含めた第三の認可トークン要求を前記認証認可サーバーに送信することを特徴とする請求項9乃至11のいずれか一項に記載のクライアント端末。 The client terminal is
Management means for managing the time difference between the time at the authentication authorization server received by the receiving means and the time at the client terminal;
The third authorization token request including the issue time corrected based on the time difference managed by the management means is transmitted to the authentication authorization server. The client terminal described.
前記認可トークンを取得するための要求である第一の認可トークン要求を、前記署名が発行された発行時刻を含めて前記クライアント端末が前記認証認可サーバーに送信する送信ステップと、
前記送信ステップによって送信された第一の認可トークン要求に対する応答を前記認証認可サーバーから受信する受信ステップと、を有し、
前記受信ステップによって受信した応答がエラーであった場合、
前記送信ステップは、
前記エラーと共に受信した、前記認証認可サーバーにおける時刻を含めた第二の認可トークン要求を送信するクライアント端末の制御方法。 A method for controlling a client terminal that gives a signature to an authentication authorization server that issues an authorization token for accessing a resource server using an encryption key,
A sending step in which the client terminal sends a first authorization token request, which is a request for obtaining the authorization token, to the authentication authorization server, including an issue time when the signature is issued;
Receiving from the authentication authorization server a response to the first authorization token request sent by the sending step;
If the response received by the receiving step is an error,
The transmitting step includes
A method for controlling a client terminal, which transmits a second authorization token request including a time at the authentication authorization server, which is received together with the error.
リソースサーバーにアクセスするための認可トークンを発行する認証認可サーバーに対する要求に、暗号鍵を用いて署名を付与するクライアント端末として機能させるためのプログラムであって、
前記認可トークンを取得するための要求である第一の認可トークン要求を、前記署名が発行された発行時刻を含めて前記クライアント端末が前記認証認可サーバーに送信する送信手段と、
前記送信手段によって送信された第一の認可トークン要求に対する応答を前記認証認可サーバーから受信する受信手段と、を有し、
前記受信手段によって受信した応答がエラーであった場合、
前記送信手段は、
前記エラーと共に受信した、前記認証認可サーバーにおける時刻を含めた第二の認可トークン要求を送信するクライアント端末として機能させるためのプログラム。 Computer
A program for functioning as a client terminal that assigns a signature using an encryption key to a request to an authentication authorization server that issues an authorization token for accessing a resource server,
A transmission means for transmitting a first authorization token request, which is a request for acquiring the authorization token, to the authentication authorization server by the client terminal including an issue time when the signature is issued;
Receiving means for receiving a response to the first authorization token request sent by the sending means from the authentication authorization server;
If the response received by the receiving means is an error,
The transmission means includes
A program for functioning as a client terminal that transmits a second authorization token request including a time at the authentication authorization server, received together with the error.
リソースサーバーにアクセスするための認可トークンを発行する発行手段と、を有する認証認可サーバーであって、
前記認可トークンを取得するための要求である認可トークン要求に含まれる、前記署名の発行時刻と、前記認証認可サーバーにおける時刻とが一定以上の差があるかを判定する判定手段と、
前記判定手段によって一定以上の差があると判定された場合、
エラーとして前記認証認可サーバーにおける時刻を前記クライアント端末に送信する送信手段と、
を有する認証認可サーバー。 Verification means for verifying the signature attached to the request from the client terminal using the decryption key;
An issuance means for issuing an authorization token for accessing the resource server;
A determination unit that determines whether or not there is a difference of a certain amount or more between the time of issuing the signature and the time in the authentication and authorization server included in the authorization token request that is a request for obtaining the authorization token;
If it is determined by the determination means that there is a certain difference or more,
Transmitting means for transmitting the time at the authentication authorization server as an error to the client terminal;
With an authentication authorization server.
前記認可トークン要求を送信したクライアント端末に対して前記認可トークンを送信することを特徴とする請求項15に記載の認証認可サーバー。 When it is determined by the determination means that there is no difference between the issue time included in the authorization token request and the time in the authentication authorization server above a certain level,
The authentication authorization server according to claim 15, wherein the authorization token is transmitted to a client terminal that has transmitted the authorization token request.
前記認可トークン要求に含まれる情報と署名に基づいてハッシュ値を算出し、保持する保持手段を更に有し、
前記クライアント端末から受信した認可トークン要求に含まれる情報と署名とに基づいてハッシュ値を算出し、算出されたハッシュ値が前記保持手段によって保持されたハッシュ値に含まれているかを判定し、
含まれていると判定された場合はエラーを送信することを特徴とする請求項15または16に記載の認証認可サーバー。 The authentication authorization server is:
It further has holding means for calculating and holding a hash value based on information and a signature included in the authorization token request,
Calculating a hash value based on information and a signature included in the authorization token request received from the client terminal, and determining whether the calculated hash value is included in the hash value held by the holding unit;
The authentication authorization server according to claim 15 or 16, wherein an error is transmitted when it is determined that the authentication is included.
前記判定手段によって、前記認可トークン要求に含まれる署名の発行時刻と、前記認証認可サーバーにおける時刻とが一定以上の差があると判定された場合に、前記認可トークン要求を用いて算出されることを特徴とする請求項17に記載の認証認可サーバー。 The hash value held by the holding means is
When it is determined by the determination means that there is a difference of a certain value or more between the signature issuance time included in the authorization token request and the time in the authentication authorization server, the calculation is performed using the authorization token request. The authentication authorization server according to claim 17.
リソースサーバーにアクセスするための認可トークンを発行する発行ステップと、を有する認証認可サーバーの制御方法であって、
前記認可トークンを取得するための要求である認可トークン要求に含まれる、前記署名の発行時刻と、前記認証認可サーバーにおける時刻と、が一定以上の差があるかを判定する判定ステップと、
前記判定ステップによって一定以上の差があると判定された場合、
エラーとして前記認証認可サーバーにおける時刻を前記クライアント端末に送信する送信ステップと、
を有する認証認可サーバーの制御方法。 A verification step of verifying the signature attached to the request from the client terminal using the decryption key;
An issuance step of issuing an authorization token for accessing the resource server, and a method of controlling the authentication authorization server,
A determination step of determining whether or not there is a difference of a certain amount or more between the time of issuance of the signature included in the authorization token request that is a request for acquiring the authorization token and the time in the authentication authorization server;
When it is determined by the determination step that there is a certain difference or more,
A transmission step of transmitting the time in the authentication authorization server as an error to the client terminal;
A method of controlling an authentication and authorization server having
クライアント端末からの要求に付与された署名を、復号鍵を用いて検証する検証手段と、
リソースサーバーにアクセスするための認可トークンを発行する発行手段と、を有する認証認可サーバーとして機能させるためのプログラムであって、
前記認可トークンを取得するための要求である認可トークン要求に含まれる、前記署名の発行時刻と、前記認証認可サーバーにおける時刻とが一定以上の差があるかを判定する判定手段と、
前記判定手段によって一定以上の差があると判定された場合、
エラーとして前記認証認可サーバーにおける時刻を前記クライアント端末に送信する送信手段と、
を有する認証認可サーバーとして機能させるためのプログラム。 Computer
Verification means for verifying the signature attached to the request from the client terminal using the decryption key;
An issuance means for issuing an authorization token for accessing the resource server, and a program for causing an authentication authorization server to function,
A determination unit that determines whether or not there is a difference of a certain amount or more between the time of issuing the signature and the time in the authentication and authorization server included in the authorization token request that is a request for obtaining the authorization token;
If it is determined by the determination means that there is a certain difference or more,
Transmitting means for transmitting the time at the authentication authorization server as an error to the client terminal;
A program for causing a server to function as an authentication and authorization server.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018015726A JP6983685B2 (en) | 2018-01-31 | 2018-01-31 | Information processing system, client device, authentication / authorization server, control method and its program |
US16/261,347 US11108563B2 (en) | 2018-01-31 | 2019-01-29 | Information processing system, client device, authentication and authorization server, control method, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018015726A JP6983685B2 (en) | 2018-01-31 | 2018-01-31 | Information processing system, client device, authentication / authorization server, control method and its program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019134333A true JP2019134333A (en) | 2019-08-08 |
JP6983685B2 JP6983685B2 (en) | 2021-12-17 |
Family
ID=67392966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018015726A Active JP6983685B2 (en) | 2018-01-31 | 2018-01-31 | Information processing system, client device, authentication / authorization server, control method and its program |
Country Status (2)
Country | Link |
---|---|
US (1) | US11108563B2 (en) |
JP (1) | JP6983685B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220029808A1 (en) * | 2020-07-26 | 2022-01-27 | Akeyless Secuirity LTD. | System, Product and Method for Providing Secured Access to Data |
CN115935318B (en) * | 2022-12-27 | 2024-02-13 | 北京深盾科技股份有限公司 | Information processing method, device, server, client and storage medium |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004013374A (en) * | 2002-06-05 | 2004-01-15 | Nec Corp | Unidirectional authentication system |
JP2008033583A (en) * | 2006-07-28 | 2008-02-14 | Nec Corp | Access control system using token, and access control method |
JP2010049420A (en) * | 2008-08-20 | 2010-03-04 | Felica Networks Inc | Apparatus, method, program and system for processing information |
JP2012038255A (en) * | 2010-08-11 | 2012-02-23 | Hitachi Ltd | Terminal system, terminal and terminal control server for guaranteeing authenticity |
JP2013238965A (en) * | 2012-05-14 | 2013-11-28 | Ntt Data Corp | Authentication system, authentication device, authentication method, and program |
JP2017504856A (en) * | 2013-12-03 | 2017-02-09 | アマゾン テクノロジーズ インコーポレイテッド | Data transfer optimization |
US20170134429A1 (en) * | 2015-11-10 | 2017-05-11 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for reliable token revocation |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005080127A (en) | 2003-09-02 | 2005-03-24 | Ricoh Co Ltd | Electronic certificate issuing method |
US7685206B1 (en) * | 2004-02-12 | 2010-03-23 | Microsoft Corporation | Authorization and access control service for distributed network resources |
JP5845973B2 (en) * | 2012-03-01 | 2016-01-20 | 富士通株式会社 | Service use management method, program, and information processing apparatus |
WO2013165186A1 (en) * | 2012-05-02 | 2013-11-07 | Samsung Electronics Co., Ltd. | Method and apparatus for transmitting and receiving message for downloadable cas or drm in mmt |
US8782411B2 (en) * | 2012-07-25 | 2014-07-15 | Oracle International Corporation | System and method of extending oauth server(s) with third party authentication/authorization |
JP5956623B1 (en) * | 2015-01-30 | 2016-07-27 | 株式会社Pfu | system |
US11438168B2 (en) * | 2018-04-05 | 2022-09-06 | T-Mobile Usa, Inc. | Authentication token request with referred application instance public key |
US11134071B2 (en) * | 2018-04-23 | 2021-09-28 | Oracle International Corporation | Data exchange during multi factor authentication |
JP7245032B2 (en) * | 2018-11-21 | 2023-03-23 | キヤノン株式会社 | Information processing device, system, time adjustment method, and program |
GB2582578B (en) * | 2019-03-25 | 2021-09-01 | Sage Uk Ltd | Apparatus and methods for secure access to remote content |
JP2020177537A (en) * | 2019-04-19 | 2020-10-29 | キヤノン株式会社 | Authentication/authorization server, client, service providing system, access management method, and program |
-
2018
- 2018-01-31 JP JP2018015726A patent/JP6983685B2/en active Active
-
2019
- 2019-01-29 US US16/261,347 patent/US11108563B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004013374A (en) * | 2002-06-05 | 2004-01-15 | Nec Corp | Unidirectional authentication system |
JP2008033583A (en) * | 2006-07-28 | 2008-02-14 | Nec Corp | Access control system using token, and access control method |
JP2010049420A (en) * | 2008-08-20 | 2010-03-04 | Felica Networks Inc | Apparatus, method, program and system for processing information |
JP2012038255A (en) * | 2010-08-11 | 2012-02-23 | Hitachi Ltd | Terminal system, terminal and terminal control server for guaranteeing authenticity |
JP2013238965A (en) * | 2012-05-14 | 2013-11-28 | Ntt Data Corp | Authentication system, authentication device, authentication method, and program |
JP2017504856A (en) * | 2013-12-03 | 2017-02-09 | アマゾン テクノロジーズ インコーポレイテッド | Data transfer optimization |
US20170134429A1 (en) * | 2015-11-10 | 2017-05-11 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for reliable token revocation |
Also Published As
Publication number | Publication date |
---|---|
US11108563B2 (en) | 2021-08-31 |
US20190238339A1 (en) | 2019-08-01 |
JP6983685B2 (en) | 2021-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11082225B2 (en) | Information processing system and control method therefor | |
US20180278603A1 (en) | Control method for authentication/authorization server, resource server, and authentication/authorization system | |
AU2007345313B2 (en) | Biometric credential verification framework | |
JP4690779B2 (en) | Attribute certificate verification method and apparatus | |
JP4591894B2 (en) | Maintaining privacy for processing that can be performed by user devices with security modules | |
CN111316267A (en) | Authentication using delegated identities | |
EP2768178A1 (en) | Method of privacy-preserving proof of reliability between three communicating parties | |
JP6571890B1 (en) | Electronic signature system, certificate issuing system, certificate issuing method and program | |
CN111641615A (en) | Distributed identity authentication method and system based on certificate | |
EP3570517B1 (en) | Authentication technique making use of emergency credential | |
KR20220006234A (en) | Method for creating decentralized identity able to manage user authority and system for managing user authority using the same | |
JP2010086175A (en) | Remote access management system and method | |
JP6983685B2 (en) | Information processing system, client device, authentication / authorization server, control method and its program | |
JP2020030759A (en) | Authority transfer system, information processing apparatus, control method therefor, and program | |
JP5036500B2 (en) | Attribute certificate management method and apparatus | |
KR102062851B1 (en) | Single sign on service authentication method and system using token management demon | |
CN112738005A (en) | Access processing method, device, system, first authentication server and storage medium | |
WO2015184507A1 (en) | Identity verification | |
KR101821645B1 (en) | Key management method using self-extended certification | |
US11849041B2 (en) | Secure exchange of session tokens for claims-based tokens in an extensible system | |
Corella et al. | An example of a derived credentials architecture | |
KR101737925B1 (en) | Method and system for authenticating user based on challenge-response | |
JP2023132934A (en) | Authentication information signature system, authentication device, authentication information signature program, and authentication information signature method | |
CN113987461A (en) | Identity authentication method and device and electronic equipment | |
JP2005328407A (en) | Method and apparatus for verifying attribute certificate |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210127 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211020 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20211026 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211124 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6983685 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |