JP2015226072A - Information processing system, information processing method, and program - Google Patents
Information processing system, information processing method, and program Download PDFInfo
- Publication number
- JP2015226072A JP2015226072A JP2014107754A JP2014107754A JP2015226072A JP 2015226072 A JP2015226072 A JP 2015226072A JP 2014107754 A JP2014107754 A JP 2014107754A JP 2014107754 A JP2014107754 A JP 2014107754A JP 2015226072 A JP2015226072 A JP 2015226072A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- procedure
- information
- encryption key
- information processing
- 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
Abstract
Description
本発明は、情報処理システム、情報処理方法、及びプログラムに関する。 The present invention relates to an information processing system, an information processing method, and a program.
一度の認証によって、複数のサーバを利用することが可能となるシングルサインオンが知られている。シングルサインオンの基本的な仕組みは、以下の通りである。 Single sign-on is known in which a plurality of servers can be used by a single authentication. The basic mechanism of single sign-on is as follows.
サーバAは、クライアントからの認証要求に応じ、認証処理を実行する。認証に成功すると、サーバAは、自らが正当性を検証可能なトークンを生成し、当該トークンをクライアントに返信する。 The server A executes an authentication process in response to an authentication request from the client. If the authentication is successful, the server A generates a token that can be verified by itself and returns the token to the client.
クライアントは、当該トークンをサーバBに送信して、サービスの提供を要求する。サーバBは、当該トークンの検証をサーバAに要求する。サーバBは、サーバAによって当該トークンの正当性が検証されれば、クライアントに対して要求されたサービスを提供する。 The client transmits the token to the server B and requests service provision. Server B requests server A to verify the token. If the validity of the token is verified by the server A, the server B provides the requested service to the client.
しかしながら、上記のような仕組みでは、サーバAとサーバBとの間で通信が不能となった場合、シングルサインオンが正常に機能しない可能性が高くなる。 However, in the mechanism as described above, when communication between the server A and the server B becomes impossible, there is a high possibility that single sign-on will not function normally.
本発明は、上記の点に鑑みてなされたものであって、シングルサインオンに関して通信への依存度を低下させることを目的とする。 The present invention has been made in view of the above points, and an object of the present invention is to reduce the dependence on communication with respect to single sign-on.
そこで上記課題を解決するため、第一の情報処理装置と第二の情報処理装置とを含む情報処理システムは、前記第一の情報処理装置が、所定のタイミングで第一の暗号鍵を受信する第一の受信部と、クライアント装置から送信される情報について認証を実行する認証部と、前記認証部による認証に成功した場合に、所定の情報のハッシュ値を生成する第一の生成部と、前記ハッシュ値を、前記第一の受信部によって最後に受信された前記第一の暗号鍵によって暗号化して暗号データを生成する暗号化部と、前記暗号データと前記所定の情報とを前記クライアント装置に返信する返信部とを有し、前記第二の情報処理装置が、前記所定のタイミングで第二の暗号鍵を受信する第二の受信部と、前記クライアント装置から送信される前記暗号データと前記所定の情報とを含む要求を受信する第三の受信部と、前記第三の受信部によって受信された要求に含まれる前記暗号データを、前記第二の受信部によって最後に受信された第二の暗号鍵によって復号する復号部と、前記第三の受信部によって受信された前記所定の情報のハッシュ値を生成する第二の生成部と、前記復号部による復号結果と前記第二の生成部によって生成されたハッシュ値とを比較する比較部とを有し、前記比較部による比較結果に応じて、前記要求に応じた処理を実行する。 In order to solve the above problem, an information processing system including a first information processing device and a second information processing device receives the first encryption key at a predetermined timing. A first receiving unit, an authenticating unit that authenticates information transmitted from the client device, a first generating unit that generates a hash value of predetermined information when authentication by the authenticating unit is successful, An encryption unit that encrypts the hash value with the first encryption key last received by the first receiving unit to generate encrypted data, and the client device includes the encrypted data and the predetermined information. A second receiving unit that receives the second encryption key at the predetermined timing, and the encrypted data transmitted from the client device. And a third reception unit that receives a request including the predetermined information, and the encrypted data included in the request received by the third reception unit is last received by the second reception unit. A decryption unit for decrypting with the second encryption key; a second generation unit for generating a hash value of the predetermined information received by the third reception unit; a decryption result by the decryption unit; A comparison unit that compares the hash value generated by the generation unit, and executes processing according to the request according to a comparison result by the comparison unit.
シングルサインオンに関して通信への依存度を低下させることができる。 The dependence on communication with respect to single sign-on can be reduced.
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における情報処理システムの構成例を示す図である。図1に示される情報処理システム1は、サーバ装置10A、サーバ装置10B、鍵管理装置30、及び1以上のクライアント装置20等を含む。サーバ装置10A及びサーバ装置10Bを区別しない場合、「サーバ装置10」という。各クライアント装置20と、各サーバ装置10とは、LAN(Local Area Network)又はインターネット等のネットワークを介して通信可能に接続される。また、各サーバ装置10と鍵管理装置30とは、LAN又はインターネット等のネットワークを介して通信可能に接続される。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a diagram illustrating a configuration example of an information processing system according to an embodiment of the present invention. The information processing system 1 illustrated in FIG. 1 includes a
鍵管理装置30は、各サーバ装置10が使用する暗号鍵を、各サーバ装置10間において同期したタイミングで、周期的に各サーバ装置10に配信するコンピュータである。
The
サーバ装置10は、認証されたユーザに対して所定のサービスを提供するコンピュータ、又は1以上のコンピュータの集合である。又は、サーバ装置10は、画像形成装置等の機器であってもよい。
The
クライアント装置20は、ユーザが、サーバ装置10によって提供されるサービスを利用する際におけるユーザインタフェースとして機能する端末である。例えば、PC(Personal Computer)、スマートフォン、タブレット端末、又は携帯電話等が、クライアント装置20として用いられてもよい。又は、クライアント装置20は、画像形成装置等の機器であってもよい。
The
本実施の形態では、サーバ装置10Aにおいて認証されたユーザが、サーバ装置10Aによって提供されるサービスのみならず、サーバ装置10Bによって提供されるサービスも利用可能とされる例について説明する。すなわち、サーバ装置10A及びサーバ装置10Bの利用に関して、シングルサインオンが実現される例について説明する。なお、サーバ装置10Aとサーバ装置10Bとの間は、ネットワーク通信は可能でなくてもよい。また、3つ以上のサーバ装置10が、情報処理システム1に含まれてもよい。
In the present embodiment, an example will be described in which a user authenticated by the
図2は、本発明の実施の形態におけるサーバ装置のハードウェア構成例を示す図である。図2のサーバ装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
FIG. 2 is a diagram illustrating a hardware configuration example of the server device according to the embodiment of the present invention. The
サーバ装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
A program for realizing processing in the
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってサーバ装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
The
なお、鍵管理装置30も、図2に示されるようなハードウェアを有していてもよい。
Note that the
図3は、本発明の実施の形態における情報処理システムの機能構成例を示す図である。 FIG. 3 is a diagram illustrating a functional configuration example of the information processing system according to the embodiment of the present invention.
図3において、鍵管理装置30は、鍵生成部31及び鍵配信部32等を有する。これら各部は、鍵管理装置30にインストールされたプログラムが、鍵管理装置30のCPUに実行させる処理により実現される。
In FIG. 3, the
鍵生成部31は、所定の間隔で繰り返し暗号鍵を生成する。但し、鍵生成部31は、ユーザによる指示の入力等に応じたタイミングで暗号鍵を生成してもよい。鍵配信部32は、鍵生成部31によって暗号鍵が生成されるたびに、生成された暗号鍵を各サーバ装置10に配信する。なお、各サーバ装置10には、共通の暗号鍵が配信される。又は、サーバ装置10Aに配信される暗号鍵と、サーバ装置10Bに配信される暗号鍵とは非対称であってもよい。すなわち、サーバ装置10Aに配信される暗号鍵が秘密鍵であり、サーバ装置10Bに配信される暗号鍵が、当該秘密鍵と対をなす公開鍵であってもよい。この場合、鍵生成部31は、秘密鍵と公開鍵との二つの暗号鍵を生成する。
The key generation unit 31 repeatedly generates an encryption key at a predetermined interval. However, the key generation unit 31 may generate an encryption key at a timing according to an instruction input by the user. Each time the key generation unit 31 generates an encryption key, the key distribution unit 32 distributes the generated encryption key to each
クライアント装置20は、クライアント部21を有する。クライアント部21は、サーバ装置10を利用するためのユーザインタフェースの提供や、サーバ装置10への要求の送信、当該要求に応じてサーバ装置10から返信される情報の受信及び表示等を行う。クライアント部21は、例えば、専用のアプリケーションプログラム、又はWebブラウザプログラム等が、クライアント装置20のCPUに実行させる処理により実現される。
The
サーバ装置10Aは、鍵取得部110、要求受信部111、認証部112、ハッシュ値生成部113、トークン生成部114、及び応答部115等を有する。これら各部は、サーバ装置10Aにインストールされたプログラムが、サーバ装置10AのCPU104に実行させる処理により実現される。サーバ装置10Aは、また、ユーザ情報記憶部116を利用する。ユーザ情報記憶部116は、サーバ装置10Aの補助記憶装置102、又はサーバ装置10Aにネットワークを介して接続される記憶装置等を用いて実現可能である。
The
鍵取得部110は、鍵管理装置30から配信される暗号鍵を取得(受信)する。鍵取得部11によって取得された暗号鍵は、例えば、サーバ装置10Aのメモリ装置103又は補助記憶装置102に記憶される。
The
要求受信部111は、クライアント部21から送信される要求を受信する。認証部112は、クライアント部21からの要求が、ログイン要求である場合に、当該ログイン要求に含まれている認証情報について認証処理を実行する。認証処理は、例えば、当該認証情報を、ユーザ情報記憶部116に記憶されている情報と照合することにより行われる。認証情報は、例えば、ユーザ名及びパスワードである。但し、ICカード等が利用される場合は、カード情報が認証情報であってもよい。また、生体認証が行われる場合、生体情報が認証情報であってもよい。
The
ユーザ情報記憶部116は、情報処理システム1の利用が許可されるユーザごとに、当該ユーザの認証情報や属性情報等を記憶する。以下、当該認証情報及び属性情報を含む情報をユーザ情報という。
The user
ハッシュ値生成部113は、認証部112による認証が成功したユーザに関して、当該ユーザのユーザ情報の一部又は全部のハッシュ値を生成する。ハッシュ値の生成に用いられるユーザ情報の一部又は全部を、以下「ハッシュ元情報」という。
The hash value generation unit 113 generates a hash value of a part or all of the user information of the user regarding the user who has been successfully authenticated by the
トークン生成部114は、ハッシュ値生成部113によって生成されるハッシュ値と、有効期限を示す情報とを暗号鍵を用いて暗号化する。当該暗号化によって生成されるデータを、以下「トークン」という。なお、有効期限を示す情報は、当該トークンの有効期限を示す日時情報である。暗号化に利用される暗号鍵は、鍵取得部110によって最後に取得された暗号鍵である。
The
応答部115は、要求受信部111によって受信される要求に対する応答を、当該要求の送信元のクライアント部21に返信する。例えば、当該要求がログイン要求であり、認証部112による認証が成功した場合、応答部115は、トークン生成部114によって生成されるトークンと、当該トークンに関するハッシュ元情報とを、クライアント部21に返信する。当該トークンとハッシュ元情報との組み合わせを、以下、「サブジェクト」という。
The
図4は、サブジェクトを構成するデータの関係の一例を示す図である。図4に示されるように、サブジェクトは、トークンとハッシュ元情報とを含む。トークンは、当該ハッシュ元情報のハッシュ値と、有効期限を示す日時情報とが、暗号化されたものである。 FIG. 4 is a diagram illustrating an example of a relationship between data constituting a subject. As shown in FIG. 4, the subject includes a token and hash source information. The token is obtained by encrypting the hash value of the hash source information and the date / time information indicating the expiration date.
サーバ装置10Bは、鍵受信部120、要求受信部121、復号部122、有効性判定部123、ハッシュ値生成部124、検証部125、及び処理実行部126等を有する。これら各部は、サーバ装置10Bにインストールされたプログラムが、サーバ装置10BのCPU104に実行させる処理により実現される。
The
鍵取得部120は、鍵管理装置30から配信される暗号鍵を取得(受信)する。鍵取得部11によって取得された暗号鍵は、例えば、サーバ装置10Bのメモリ装置103又は補助記憶装置102に記憶される。
The
要求受信部121は、サーバ装置10Aによってサブジェクトが発行されたクライアント部21から送信される要求を受信する。当該要求には、サブジェクトが含まれる。
The
復号部122は、要求受信部121によって受信される要求に含まれているサブジェクトを構成するトークンを、暗号鍵によって復号する。復号に利用される暗号鍵は、鍵取得部120によって最後に取得された暗号鍵である。
The
有効性判定部123は、トークンを復号することによって得られる有効期限を示す情報に基づいて、当該トークンが有効期限内であるか否かを判定する。
The
ハッシュ値生成部124は、要求受信部121によって受信される要求に含まれているサブジェクトを構成するハッシュ元情報のハッシュ値を生成する。ハッシュ値の生成には、ハッシュ値生成部113が使用するハッシュ関数と同一のハッシュ関数が用いられる。
The hash
検証部125は、復号部122によるトークンの復号結果に含まれているハッシュ値と、ハッシュ値生成部124によって生成されたハッシュ値とを比較することにより、サブジェクトの正当性を検証する。すなわち、比較されたハッシュ値が一致すれば、トークンについて、サーバ装置10Aによって生成されたことが検証され、ハッシュ元情報について、改竄されていないことが検証される。
The
処理実行部126は、検証部125による比較結果に応じて、要求受信部121によって受信される要求に応じた処理を実行する。
The
なお、サーバ装置10Aは、更に、サーバ装置10Bが有する機能構成を有していてもよい。また、サーバ装置10Bは、更に、サーバ装置10Aが有する機能構成を有していてもよい。
The
以下、情報処理システム1において実行される処理手順について説明する。図5は、各サーバ装置への暗号鍵の配信処理の処理手順の一例を説明するためのシーケンス図である。 Hereinafter, a processing procedure executed in the information processing system 1 will be described. FIG. 5 is a sequence diagram for explaining an example of a processing procedure for distributing the encryption key to each server device.
鍵管理装置30の鍵生成部31は、一定間隔で、繰り返し暗号鍵を生成する(S11)。なお、当該一定間隔は、例えば、管理者等によって設定可能とされてもよい。但し、鍵生成部31は、ユーザによる指示の入力等に応じたタイミングで暗号鍵を生成してもよい。
The key generation unit 31 of the
一方、各サーバ装置10の鍵取得部110及び鍵取得部120は、暗号鍵の更新を問い合わせるためのポーリングを行う(S21、S31)。なお、図5において、ループ処理Laとループ処理Lbとは、並列的に実行される。
On the other hand, the
鍵配信部32は、鍵生成部31によって最後に生成された暗号鍵が配信されていない場合、各サーバ装置10からの問い合わせに対して、暗号鍵が更新されたことを示す応答(以下、「更新応答」という。)を返信する(S22、S32)。なお、各サーバ装置10からのポーリングは、ロングポーリングであってもよい。ロングポーリングとは、問い合わせに対して、直ちに応答を返信せずに、応答を返信する必要が生じたタイミングで、応答が返信される形式のポーリングをいう。本実施の形態において、応答を返信する必要が生じたタイミングは、暗号鍵が新たに生成されたタイミングである。
When the encryption key generated last by the key generation unit 31 has not been distributed, the key distribution unit 32 responds to an inquiry from each
鍵取得部110及び鍵取得部120は、更新応答を受信すると、暗号鍵の取得要求を鍵管理装置30に送信する(S23、S33)。鍵管理装置30の鍵配信部32は、当該取得要求に応じ、最新の暗号鍵(最後に生成された暗号鍵)を返信する(S24、S34)。
Upon receiving the update response, the
なお、更新応答に含められて、暗号鍵が返信されてもよい。また、各サーバ装置10からの問い合わせに対する応答ではなく、鍵配信部32が能動的に(PUSH型で)、生成された暗号鍵を各サーバ装置10に配信してもよい。
Note that the encryption key may be returned in the update response. Further, instead of a response to the inquiry from each
図6は、情報処理システムにおけるシングルサインオンの処理手順の一例を説明するためのシーケンス図である。 FIG. 6 is a sequence diagram for explaining an example of a single sign-on processing procedure in the information processing system.
ステップS101において、クライアント装置20のクライアント部21は、例えば、ログイン画面を介して入力された認証情報を含むログイン要求を、サーバ装置10A宛に送信する。当該ログイン要求には、当該認証情報に係るユーザのユーザ情報を構成する項目のうち、取得対象とする1以上の項目の項目名が含まれる。例えば、「ユーザ名」、「氏名」、「メールアドレス」等が、取得対象の項目とされてもよい。なお、本実施の形態では、便宜上、認証情報として、ユーザ名及びパスワードが用いられる例について説明する。
In step S101, the
当該ログイン要求は、サーバ装置10Aの要求受信部111によって受信される。サーバ装置10Aは、ログイン要求が受信されると、認証処理を実行する(S102)。認証処理の詳細については後述される。続いて、サーバ装置10Aの応答部115は、ログイン要求に対する応答を、クライアント部21に返信する(S103)。認証に成功した場合、当該応答には、サブジェクトが含まれる。認証に失敗した場合、当該応答には、例えば、認証に失敗したことを示す情報が含まれる。
The login request is received by the
認証に成功した場合、クライアント部21は、サーバ装置10Bに対して、サービスの提供要求を送信する(S104)。図6では、サービスの提供要求として、「getXX」というAPI(Application Program Interface)が呼び出された例が示されている。サービスの提供要求には、例えば、ステップS103において返信されたサブジェクトと、「getXX」に固有の引数とが指定される。
If the authentication is successful, the
サービスの提供要求は、サーバ装置10Bの要求受信部121によって受信される。サーバ装置10Bは、サービスの提供要求が受信されると、当該要求に応じた処理を実行する(S105)。
The service provision request is received by the
続いて、ステップS102の詳細について説明する。図7は、認証処理の一例を説明するためのフローチャートである。 Next, details of step S102 will be described. FIG. 7 is a flowchart for explaining an example of the authentication process.
ステップS201において、認証部112は、ログイン要求に含まれている認証情報について、ユーザ情報記憶部116に記憶されている認証情報との照合により、認証を行う。
In step S <b> 201, the
図8は、ユーザ情報記憶部の構成例を示す図である。図8において、ユーザ情報記憶部116は、ユーザごとに、ユーザ名、パスワード、氏名、住所、電話番号、及びメールアドレス等を記憶する。
FIG. 8 is a diagram illustrating a configuration example of the user information storage unit. In FIG. 8, a user
ユーザ名は、情報処理システム1を構成するコンピュータ等が、各ユーザを識別するための情報である。パスワードは、ユーザ名に係るユーザのパスワードである。なお、パスワード以外の情報(カード情報、生体情報等)が認証に利用される場合、パスワードは記憶されなくてもよい。氏名、住所、電話番号、メールアドレスは、それぞれ、ユーザ名に係るユーザの氏名、住所、電話番号、メールアドレスである。 The user name is information for identifying each user by a computer or the like constituting the information processing system 1. The password is a password of the user related to the user name. In addition, when information other than a password (card information, biometric information, etc.) is used for authentication, the password may not be stored. The name, address, telephone number, and mail address are the name, address, telephone number, and mail address of the user associated with the user name, respectively.
ステップS201において、認証部112は、ログイン要求に含まれているユーザ名及びパスワードを含むレコードがユーザ情報記憶部116に記憶されていれば、認証は成功であると判定し、該当するレコードがユーザ情報記憶部116に記憶されていなければ、認証は失敗であると判定する。
In step S201, the
認証に失敗した場合(S202でNo)、ステップS203以降は実行されない。この場合、応答部115は、図6のステップS103において、例えば、認証の失敗を示す情報を、クライアント部21に返信する。
If the authentication fails (No in S202), steps S203 and after are not executed. In this case, the
一方、認証に成功した場合(S202でYes)、認証部112は、ログイン要求において取得対象として指定された情報を、ユーザ情報記憶部116から取得する(S203)。例えば、認証に成功したユーザの、「ユーザ名」、「氏名」、及び「メールアドレス」のそれぞれの値が取得される。
On the other hand, when the authentication is successful (Yes in S202), the
続いて、ハッシュ値生成部113は、取得された情報をハッシュ元情報として、当該ハッシュ元情報のハッシュ値を生成する(S204)。なお、ハッシュ元情報は、例えば、「ユーザ名:XXX、氏名:YYY、メールアドレス:ZZZ」といったように、取得された情報の項目名とその値とを含む情報である。 Subsequently, the hash value generation unit 113 generates the hash value of the hash source information using the acquired information as hash source information (S204). The hash source information is information including the item name and the value of the acquired information, such as “user name: XXX, name: YYY, mail address: ZZZ”.
続いて、トークン生成部114は、ハッシュ値生成部113によって生成されたハッシュ値と、有効期限を示す日時情報とを、鍵取得部110によって最後に受信された暗号鍵を使用して暗号化することによりトークンを生成する(S205)。なお、有効期限を示す情報は、例えば、現在日時から一定期間後を示す情報でもよい。
Subsequently, the
ステップS205が実行された場合、応答部115は、図6のステップS103において、生成されたトークンと、ハッシュ元情報とを含むサブジェクトを、クライアント部21に返信する。
When step S205 is executed, the
続いて、図6のステップS105の詳細について説明する。図9は、サブジェクトを伴った要求に応じて実行される処理の一例を説明するためのフローチャートである。 Next, details of step S105 in FIG. 6 will be described. FIG. 9 is a flowchart for explaining an example of processing executed in response to a request accompanied by a subject.
ステップS301において、復号部122は、受信されたサブジェクトに含まれているトークンを、鍵取得部120によって最後に受信された暗号鍵を使用して復号する。復号に失敗した場合(S302でNo)、処理実行部126は、要求に応じた処理の実行を拒否する(S307)。この場合、当該トークンが、サーバ装置10Aによって生成されたものではない可能性が高いからである。換言すれば、復号に成功するとうことは、当該トークンが、サーバ装置10Aによって生成された可能性が高いということになる。
In step S301, the
復号に成功した場合(S302でYes)、有効性判定部123は、トークンの復号によって得られる有効期限を示す情報に基づいて、当該トークンが有効期限内であるか否かを判定する(S303)。例えば、当該有効期限を示す情報が、現在日時を経過していなければ、当該トークンは有効期限内であると判定される。
When the decryption is successful (Yes in S302), the
当該トークンが有効期限外である場合(S303でNo)、処理実行部126は、要求された処理の実行を拒否する(S307)。
If the token is out of validity (No in S303), the
当該トークンが有効期限内である場合(S303でYes)、ハッシュ値生成部124は、受信されたサブジェクトに含まれるハッシュ元情報のハッシュ値を生成する(S304)。続いて、検証部125は、トークンの復号によって得られたハッシュ値と、ハッシュ値生成部124によって生成されたハッシュ値とが一致するか否かを判定する(S305)。比較された値が一致しない場合(S305でNo)、処理実行部126は、要求された処理の実行を拒否する(S307)。この場合、ハッシュ元情報が改竄された可能性が高く、不正な要求である可能性が高いからである。本実施の形態では、ハッシュ元情報には、ユーザ名等のユーザの識別情報が含まれる。したがって、例えば、成りすましを目的として、ハッシュ元情報が改竄されることが考えられる。
If the token is within the validity period (Yes in S303), the hash
一方、比較された値が一致する場合(S305)、処理実行部126は、要求された処理を実行する(S306)。なお、処理実行部126は、要求された処理の実行内容を、ハッシュ元情報に含まれているユーザ名に応じて変化させてもよい。例えば、ユーザ名に対応付けられて管理されている権限情報に基づいて、実行可能な処理が制限されてもよい。
On the other hand, when the compared values match (S305), the
なお、図6のステップS102が実行されるタイミングと、ステップS105が実行されるタイミングとの間に、暗号鍵の更新時期が含まれる可能性も考えられる。この場合、図7のステップS205において使用される暗号鍵と、図9のステップS301において使用される暗号鍵とは、異なる暗号鍵となってしまう。異なる暗号鍵とは、共通ではない、又は対をなさない暗号鍵をいう。そこで、ステップS301において、復号部122は、復号に失敗した場合、最後に受信された暗号鍵より前に受信された暗号鍵を用いて、トークンの復号を行ってもよい。例えば、復号部122は、最後に受信された暗号鍵より前に受信された暗号鍵に関して、新しい暗号鍵から順に使用されて復号を行い、復号が成功した時点で、ステップS303に進んでもよい。また、復号に用いられる暗号鍵の個数は、所定数以内に制限されてもよい。
Note that the encryption key update time may be included between the timing at which step S102 in FIG. 6 is executed and the timing at which step S105 is executed. In this case, the encryption key used in step S205 in FIG. 7 is different from the encryption key used in step S301 in FIG. Different encryption keys refer to encryption keys that are not common or do not pair. Therefore, in step S301, when the
なお、図6のステップS103とステップS104との間において、クライアント部21は、サーバ装置10Aに対してサービスの提供要求を送信してもよい。この場合、当該要求には、サブジェクトが指定されればよい。サーバ装置10Aは、当該要求に応じて図9において説明した処理と同様の処理を実行してもよい。また、クライアント部21は、サーバ装置10A及びサーバ装置10Bとは別のサーバ装置10に対して、サブジェクトが指定された要求を送信してもよい。当該要求に応じ、当該サーバ装置10は、図9において説明した処理と同様の処理を実行してもよい。
Note that the
なお、トークンには、有効期限が含まれなくてもよい。この場合、ハッシュ元情報のハッシュ値が暗号化されたものがトークンとされてもよい。 The token may not include an expiration date. In this case, an encrypted hash value of the hash source information may be used as a token.
また、ハッシュ元情報は、ユーザ情報でなくてもよい。例えば、ドキュメントの書誌情報であってもよいし、特段の意味を有さない情報であってもよい。 The hash source information may not be user information. For example, it may be bibliographic information of a document or information that does not have a special meaning.
上述したように、本実施の形態によれば、サーバ装置10Aとサーバ装置10Bとが通信することなく、シングルサインオンを実現することができる。換言すれば、サーバ装置10Aとサーバ装置10Bとの間の通信が不能となった場合であっても、シングルサインオンを実現することができる。したがって、シングルサインオンに関して通信への依存度を低下させることができる。
As described above, according to the present embodiment, single sign-on can be realized without communication between
また、各サーバ装置10が使用する暗号鍵は、定期的に更新される。したがって、暗号鍵が固定的である場合に比べて、暗号鍵の漏洩又は推定に対するセキュリティを向上させることができる。
Further, the encryption key used by each
なお、本実施の形態において、サーバ装置10Aは、第一の情報処理装置の一例である。サーバ装置10Bは、第二の情報処理装置の一例である。鍵取得部110は、第一の受信部の一例である。ハッシュ値生成部113は、第一の生成部の一例である。トークン生成部114は、暗号化部の一例である。トークンは、暗号データの一例である。応答部115は、返信部の一例である。鍵取得部120は、第二の受信部の一例である。要求受信部121は、第三の受信部の一例である。ハッシュ値生成部124は、第二の生成部の一例である。検証部125は、比較部の一例である。
In the present embodiment, the
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to such specific embodiment, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.
1 情報処理システム
10A サーバ装置
10B サーバ装置
20 クライアント装置
21 クライアント部
30 鍵管理装置
31 鍵生成部
32 鍵配信部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
110 鍵取得部
111 要求受信部
112 認証部
113 ハッシュ値生成部
114 トークン生成部
115 応答部
116 ユーザ情報記憶部
120 鍵受信部
121 要求受信部
122 復号部
123 有効性判定部
124 ハッシュ値生成部
125 検証部
126 処理実行部
B バス
DESCRIPTION OF SYMBOLS 1
105
Claims (8)
前記第一の情報処理装置は、
所定のタイミングで第一の暗号鍵を受信する第一の受信部と、
クライアント装置から送信される情報について認証を実行する認証部と、
前記認証部による認証に成功した場合に、所定の情報のハッシュ値を生成する第一の生成部と、
前記ハッシュ値を、前記第一の受信部によって最後に受信された前記第一の暗号鍵によって暗号化して暗号データを生成する暗号化部と、
前記暗号データと前記所定の情報とを前記クライアント装置に返信する返信部とを有し、
前記第二の情報処理装置は、
前記所定のタイミングで第二の暗号鍵を受信する第二の受信部と、
前記クライアント装置から送信される前記暗号データと前記所定の情報とを含む要求を受信する第三の受信部と、
前記第三の受信部によって受信された要求に含まれる前記暗号データを、前記第二の受信部によって最後に受信された第二の暗号鍵によって復号する復号部と、
前記第三の受信部によって受信された前記所定の情報のハッシュ値を生成する第二の生成部と、
前記復号部による復号結果と前記第二の生成部によって生成されたハッシュ値とを比較する比較部とを有し、
前記比較部による比較結果に応じて、前記要求に応じた処理を実行する、
ことを特徴とする情報処理システム。 An information processing system including a first information processing device and a second information processing device,
The first information processing apparatus includes:
A first receiver that receives the first encryption key at a predetermined timing;
An authentication unit for performing authentication on information transmitted from the client device;
A first generation unit that generates a hash value of predetermined information when authentication by the authentication unit is successful;
An encryption unit that encrypts the hash value with the first encryption key last received by the first reception unit to generate encrypted data;
A reply unit that returns the encrypted data and the predetermined information to the client device;
The second information processing apparatus
A second receiving unit for receiving a second encryption key at the predetermined timing;
A third receiving unit for receiving a request including the encrypted data and the predetermined information transmitted from the client device;
A decryption unit for decrypting the encrypted data included in the request received by the third reception unit with a second encryption key last received by the second reception unit;
A second generation unit that generates a hash value of the predetermined information received by the third reception unit;
A comparison unit that compares the decryption result by the decryption unit and the hash value generated by the second generation unit;
Depending on the comparison result by the comparison unit, processing according to the request is performed.
An information processing system characterized by this.
ことを特徴とする請求項1記載の情報処理システム。 If the decryption unit cannot decrypt with the second encryption key last received by the second reception unit, the decryption unit uses the second encryption key received before the last received second encryption key. Decrypting the encrypted data,
The information processing system according to claim 1.
ことを特徴とする請求項2記載の情報処理システム。 If the decryption unit cannot decrypt using the second encryption key last received by the second reception unit, the decryption unit is configured to receive a second number within a predetermined number received before the last received second encryption key. Decrypting the encrypted data with the encryption key of
The information processing system according to claim 2.
前記第二の情報処理装置は、前記復号部による復号結果に含まれている日時を示す情報に応じて、前記要求に応じた処理を実行する、
ことを特徴とする請求項1乃至3いずれか一項記載の情報処理システム。 The encryption unit encrypts the hash value generated by the first generation unit and information indicating the date and time to generate encrypted data,
The second information processing apparatus executes processing according to the request according to information indicating a date and time included in a decoding result by the decoding unit.
The information processing system according to any one of claims 1 to 3.
ことを特徴とする請求項1乃至4いずれか一項記載の情報処理システム。 The predetermined information is information related to a user authenticated by the authentication unit.
The information processing system according to claim 1, wherein the information processing system is an information processing system.
前記第一の情報処理装置が、
所定のタイミングで第一の暗号鍵を受信する第一の受信手順と、
クライアント装置から送信される情報について認証を実行する認証手順と、
前記認証手順における認証に成功した場合に、所定の情報のハッシュ値を生成する第一の生成手順と、
前記ハッシュ値を、前記第一の受信手順において最後に受信された前記第一の暗号鍵によって暗号化して暗号データを生成する暗号化手順と、
前記暗号データと前記所定の情報とを前記クライアント装置に返信する返信手順とを実行し、
前記第二の情報処理装置が、
前記所定のタイミングで第二の暗号鍵を受信する第二の受信手順と、
前記クライアント装置から送信される前記暗号データと前記所定の情報とを含む要求を受信する第三の受信手順と、
前記第三の受信手順において受信された要求に含まれる前記暗号データを、前記第二の受信手順において最後に受信された第二の暗号鍵によって復号する復号手順と、
前記第三の受信手順において受信された前記所定の情報のハッシュ値を生成する第二の生成手順と、
前記復号手順における復号結果と前記第二の生成手順において生成されたハッシュ値とを比較する比較手順とを実行し、
前記比較手順における比較結果に応じて、前記要求に応じた処理を実行する、
ことを特徴とする情報処理方法。 An information processing method executed by a first information processing apparatus and a second information processing apparatus,
The first information processing apparatus is
A first reception procedure for receiving the first encryption key at a predetermined timing;
An authentication procedure for authenticating information transmitted from the client device;
A first generation procedure for generating a hash value of predetermined information when authentication in the authentication procedure is successful;
An encryption procedure for generating encrypted data by encrypting the hash value with the first encryption key received last in the first reception procedure;
A reply procedure for returning the encrypted data and the predetermined information to the client device;
The second information processing apparatus is
A second reception procedure for receiving a second encryption key at the predetermined timing;
A third reception procedure for receiving a request including the encrypted data and the predetermined information transmitted from the client device;
A decryption procedure for decrypting the encrypted data included in the request received in the third reception procedure with the second encryption key received last in the second reception procedure;
A second generation procedure for generating a hash value of the predetermined information received in the third reception procedure;
Performing a comparison procedure for comparing the decryption result in the decryption procedure with the hash value generated in the second generation procedure;
Depending on the comparison result in the comparison procedure, processing according to the request is performed.
An information processing method characterized by the above.
所定のタイミングで第一の暗号鍵を受信する第一の受信手順と、
クライアント装置から送信される情報について認証を実行する認証手順と、
前記認証手順における認証に成功した場合に、所定の情報のハッシュ値を生成する第一の生成手順と、
前記ハッシュ値を、前記第一の受信手順において最後に受信された前記第一の暗号鍵によって暗号化して暗号データを生成する暗号化手順と、
前記暗号データと前記所定の情報とを前記クライアント装置に返信する返信手順とを実行させるプログラム。 On the computer,
A first reception procedure for receiving the first encryption key at a predetermined timing;
An authentication procedure for authenticating information transmitted from the client device;
A first generation procedure for generating a hash value of predetermined information when authentication in the authentication procedure is successful;
An encryption procedure for generating encrypted data by encrypting the hash value with the first encryption key received last in the first reception procedure;
A program for executing a reply procedure for returning the encrypted data and the predetermined information to the client device.
所定のタイミングで暗号鍵を受信する受信手順と、
クライアント装置から送信される、所定の情報のハッシュ値が暗号化された暗号データと前記所定の情報とを含む要求を受信する第二の受信手順と、
前記受信手順において受信された要求に含まれる前記暗号データを、前記受信手順において最後に受信された暗号鍵によって復号する復号手順と、
前第二の受信手順において受信された前記所定の情報のハッシュ値を生成する第二の生成手順と、
前記復号手順における復号結果と前記第二の生成手順において生成されたハッシュ値とを比較する比較手順とを実行させ、
前記コンピュータは、前記比較手順における比較結果に応じて、前記要求に応じた処理を実行するプログラム。 On the computer,
A reception procedure for receiving an encryption key at a predetermined timing;
A second reception procedure for receiving a request transmitted from the client device and including encrypted data in which a hash value of predetermined information is encrypted and the predetermined information;
A decryption procedure for decrypting the encrypted data included in the request received in the reception procedure with the encryption key last received in the reception procedure;
A second generation procedure for generating a hash value of the predetermined information received in the previous second reception procedure;
A comparison procedure for comparing the decryption result in the decryption procedure with the hash value generated in the second generation procedure;
The computer is a program for executing processing according to the request in accordance with a comparison result in the comparison procedure.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014107754A JP6364957B2 (en) | 2014-05-26 | 2014-05-26 | Information processing system, information processing method, and program |
US14/700,544 US20150333909A1 (en) | 2014-05-15 | 2015-04-30 | Information processing system and information processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014107754A JP6364957B2 (en) | 2014-05-26 | 2014-05-26 | Information processing system, information processing method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015226072A true JP2015226072A (en) | 2015-12-14 |
JP6364957B2 JP6364957B2 (en) | 2018-08-01 |
Family
ID=54842591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014107754A Active JP6364957B2 (en) | 2014-05-15 | 2014-05-26 | Information processing system, information processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6364957B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024100843A1 (en) * | 2022-11-10 | 2024-05-16 | 三菱電機株式会社 | Communication system, server, and communication method |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030163691A1 (en) * | 2002-02-28 | 2003-08-28 | Johnson Ted Christian | System and method for authenticating sessions and other transactions |
JP2005222488A (en) * | 2004-02-09 | 2005-08-18 | Nec Soft Ltd | User authentication system, information distribution server and user authentication method |
US6950522B1 (en) * | 2000-06-15 | 2005-09-27 | Microsoft Corporation | Encryption key updating for multiple site automated login |
JP2007110377A (en) * | 2005-10-13 | 2007-04-26 | Hitachi Ltd | Network system |
WO2011114373A1 (en) * | 2010-03-17 | 2011-09-22 | 富士通株式会社 | Communication device, program, and method |
JP2013138304A (en) * | 2011-12-28 | 2013-07-11 | Toyota Motor Corp | Security system and key data operation method |
-
2014
- 2014-05-26 JP JP2014107754A patent/JP6364957B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6950522B1 (en) * | 2000-06-15 | 2005-09-27 | Microsoft Corporation | Encryption key updating for multiple site automated login |
US20030163691A1 (en) * | 2002-02-28 | 2003-08-28 | Johnson Ted Christian | System and method for authenticating sessions and other transactions |
JP2005222488A (en) * | 2004-02-09 | 2005-08-18 | Nec Soft Ltd | User authentication system, information distribution server and user authentication method |
JP2007110377A (en) * | 2005-10-13 | 2007-04-26 | Hitachi Ltd | Network system |
WO2011114373A1 (en) * | 2010-03-17 | 2011-09-22 | 富士通株式会社 | Communication device, program, and method |
JP2013138304A (en) * | 2011-12-28 | 2013-07-11 | Toyota Motor Corp | Security system and key data operation method |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024100843A1 (en) * | 2022-11-10 | 2024-05-16 | 三菱電機株式会社 | Communication system, server, and communication method |
Also Published As
Publication number | Publication date |
---|---|
JP6364957B2 (en) | 2018-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11606352B2 (en) | Time-based one time password (TOTP) for network authentication | |
TWI725655B (en) | Method, apparatus and system for program execution and data proof for executing a sub-logic code within a trusted execution environment | |
US11665006B2 (en) | User authentication with self-signed certificate and identity verification | |
CN109088889B (en) | SSL encryption and decryption method, system and computer readable storage medium | |
CN110537346B (en) | Safe decentralized domain name system | |
JP2020527298A (en) | Obtaining access data to the blockchain network using a highly available and reliable execution environment | |
US20220286440A1 (en) | Secure Media Delivery | |
WO2019239591A1 (en) | Authentication system, authentication method, application provision device, authentication device, and authentication program | |
US9544299B2 (en) | Information processing apparatus, server, method for controlling the same and storage medium | |
US9942042B1 (en) | Key containers for securely asserting user authentication | |
KR102137122B1 (en) | Security check method, device, terminal and server | |
US20200089867A1 (en) | System and method for authentication | |
JP2018092446A (en) | Authentication approval system, information processing apparatus, authentication approval method, and program | |
US20220417241A1 (en) | Methods, Systems, and Devices for Server Control of Client Authorization Proof of Possession | |
JP2015194879A (en) | Authentication system, method, and provision device | |
JP6378424B1 (en) | User authentication method with enhanced integrity and security | |
JP6240102B2 (en) | Authentication system, authentication key management device, authentication key management method, and authentication key management program | |
US20150333909A1 (en) | Information processing system and information processing method | |
CN115242471B (en) | Information transmission method, information transmission device, electronic equipment and computer readable storage medium | |
KR102053993B1 (en) | Method for Authenticating by using Certificate | |
JP6364957B2 (en) | Information processing system, information processing method, and program | |
JP5793593B2 (en) | Network authentication method for securely verifying user identification information | |
JP6398308B2 (en) | Information processing system, information processing method, and program | |
KR101821645B1 (en) | Key management method using self-extended certification | |
KR102497440B1 (en) | Method and system for providing user information management service based on decentralized identifiers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170509 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180326 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180424 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180516 |
|
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: 20180605 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180618 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6364957 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |