JP6398308B2 - Information processing system, information processing method, and program - Google Patents

Information processing system, information processing method, and program Download PDF

Info

Publication number
JP6398308B2
JP6398308B2 JP2014101334A JP2014101334A JP6398308B2 JP 6398308 B2 JP6398308 B2 JP 6398308B2 JP 2014101334 A JP2014101334 A JP 2014101334A JP 2014101334 A JP2014101334 A JP 2014101334A JP 6398308 B2 JP6398308 B2 JP 6398308B2
Authority
JP
Japan
Prior art keywords
unit
procedure
information processing
information
hash value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014101334A
Other languages
Japanese (ja)
Other versions
JP2015220526A (en
Inventor
哲彦 大森
哲彦 大森
誠二郎 堀
誠二郎 堀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2014101334A priority Critical patent/JP6398308B2/en
Priority to US14/700,544 priority patent/US20150333909A1/en
Publication of JP2015220526A publication Critical patent/JP2015220526A/en
Application granted granted Critical
Publication of JP6398308B2 publication Critical patent/JP6398308B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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.

そこで上記課題を解決するため、第一の情報処理装置と第二の情報処理装置とを含む情報処理システムは、前記第一の情報処理装置が、クライアント装置から送信される情報について認証を実行する認証部と、前記認証部による認証に成功した場合に、所定の情報のハッシュ値を生成する第一の生成部と、前記ハッシュ値を第一の暗号鍵によって暗号化して暗号データを生成する暗号化部と、前記暗号データと前記所定の情報とを前記クライアント装置に返信する返信部とを有し、前記第二の情報処理装が、前記クライアント装置から送信される前記暗号データと前記所定の情報とを含む要求を受信する受信部と、前記受信部によって受信された要求に含まれる前記暗号データを、前記第一の暗号鍵と同一の第二の暗号鍵又は前記第一の暗号鍵と対をなす第二の暗号鍵によって復号する復号部と、前記受信部によって受信された前記所定の情報のハッシュ値を生成する第二の生成部と、前記復号部による復号結果と前記第二の生成部によって生成されたハッシュ値とを比較する比較部とを有し、前記比較部による比較結果に応じて、前記要求に応じた処理を実行する。   Therefore, in order to solve the above problem, an information processing system including a first information processing device and a second information processing device performs authentication on information transmitted from the client device by the first information processing device. An authentication unit, a first generation unit that generates a hash value of predetermined information when authentication by the authentication unit is successful, and a cipher that generates encrypted data by encrypting the hash value with a first encryption key And a reply unit that returns the encrypted data and the predetermined information to the client device, wherein the second information processing device transmits the encrypted data transmitted from the client device and the predetermined information. A receiving unit that receives a request including information, and the encrypted data included in the request received by the receiving unit is a second encryption key that is the same as the first encryption key or the first encryption key. A decryption unit that decrypts with a second encryption key that is paired with, a second generation unit that generates a hash value of the predetermined information received by the reception unit, a decryption result by the decryption unit, and the second 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.

本発明の実施の形態における情報処理システムの構成例を示す図である。It is a figure which shows the structural example of the information processing system in embodiment of this invention. 本発明の実施の形態におけるサーバ装置のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the server apparatus in embodiment of this invention. 本発明の実施の形態における情報処理システムの機能構成例を示す図である。It is a figure which shows the function structural example of the information processing system in embodiment of this invention. サブジェクトを構成するデータの関係の一例を示す図である。It is a figure which shows an example of the relationship of the data which comprise a subject. 情報処理システムにおけるシングルサインオンの処理手順の一例を説明するためのシーケンス図である。FIG. 11 is a sequence diagram for explaining an example of a single sign-on processing procedure in the information processing system. 認証処理の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of an authentication process. ユーザ情報記憶部の構成例を示す図である。It is a figure which shows the structural example of a user information storage part. サブジェクトを伴った要求に応じて実行される処理の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the process performed according to the request | requirement accompanied by a subject.

以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における情報処理システムの構成例を示す図である。図1に示される情報処理システム1は、サーバ装置10A、サーバ装置10B、及び1以上のクライアント装置20等を含む。サーバ装置10A及びサーバ装置10Bを区別しない場合、「サーバ装置10」という。各クライアント装置20と、各サーバ装置10とは、LAN(Local Area Network)又はインターネット等のネットワークを介して通信可能に接続される。   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 server device 10A, a server device 10B, and one or more client devices 20 and the like. When the server apparatus 10A and the server apparatus 10B are not distinguished, they are referred to as “server apparatus 10”. Each client device 20 and each server device 10 are communicably connected via a network such as a LAN (Local Area Network) or the Internet.

サーバ装置10は、認証されたユーザに対して所定のサービスを提供するコンピュータ、又は1以上のコンピュータの集合である。又は、サーバ装置10は、画像形成装置等の機器であってもよい。   The server device 10 is a computer that provides a predetermined service to an authenticated user, or a set of one or more computers. Alternatively, the server device 10 may be a device such as an image forming apparatus.

クライアント装置20は、ユーザが、サーバ装置10によって提供されるサービスを利用する際におけるユーザインタフェースとして機能する端末である。例えば、PC(Personal Computer)、スマートフォン、タブレット端末、又は携帯電話等が、クライアント装置20として用いられてもよい。又は、クライアント装置20は、画像形成装置等の機器であってもよい。   The client device 20 is a terminal that functions as a user interface when a user uses a service provided by the server device 10. For example, a PC (Personal Computer), a smartphone, a tablet terminal, a mobile phone, or the like may be used as the client device 20. Alternatively, the client device 20 may be a device such as an image forming apparatus.

本実施の形態では、サーバ装置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 server device 10A can use not only the service provided by the server device 10A but also the service provided by the server device 10B. That is, an example in which single sign-on is realized regarding the use of the server device 10A and the server device 10B will be described. Note that network communication may not be possible between the server apparatus 10A and the server apparatus 10B. Also, three or more server devices 10 may be included in the information processing system 1.

図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 server device 10 in FIG. 2 includes a drive device 100, an auxiliary storage device 102, a memory device 103, a CPU 104, an interface device 105, and the like that are mutually connected by a bus B.

サーバ装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。   A program for realizing processing in the server device 10 is provided by a recording medium 101 such as a CD-ROM. When the recording medium 101 storing the program is set in the drive device 100, the program is installed from the recording medium 101 to the auxiliary storage device 102 via the drive device 100. However, the program need not be installed from the recording medium 101 and may be downloaded from another computer via a network. The auxiliary storage device 102 stores the installed program and also stores necessary files and data.

メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってサーバ装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。   The memory device 103 reads the program from the auxiliary storage device 102 and stores it when there is an instruction to start the program. The CPU 104 executes functions related to the server device 10 in accordance with a program stored in the memory device 103. The interface device 105 is used as an interface for connecting to a network.

図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において、クライアント装置20は、クライアント部21を有する。クライアント部21は、サーバ装置10を利用するためのユーザインタフェースの提供や、サーバ装置10への要求の送信、当該要求に応じてサーバ装置10から返信される情報の受信及び表示等を行う。クライアント部21は、例えば、専用のアプリケーションプログラム、又はWebブラウザプログラム等が、クライアント装置20のCPUに実行させる処理により実現される。   In FIG. 3, the client device 20 includes a client unit 21. The client unit 21 provides a user interface for using the server device 10, transmits a request to the server device 10, and receives and displays information returned from the server device 10 in response to the request. The client unit 21 is realized, for example, by processing that a dedicated application program, a Web browser program, or the like causes the CPU of the client device 20 to execute.

サーバ装置10Aは、要求受信部111、認証部112、ハッシュ値生成部113、トークン生成部114、及び応答部115等を有する。これら各部は、サーバ装置10Aにインストールされたプログラムが、サーバ装置10AのCPU104に実行させる処理により実現される。サーバ装置10Aは、また、ユーザ情報記憶部116を利用する。ユーザ情報記憶部116は、サーバ装置10Aの補助記憶装置102、又はサーバ装置10Aにネットワークを介して接続される記憶装置等を用いて実現可能である。   The server device 10A includes a request reception unit 111, an authentication unit 112, a hash value generation unit 113, a token generation unit 114, a response unit 115, and the like. Each of these units is realized by processing that a program installed in the server device 10A causes the CPU 104 of the server device 10A to execute. The server device 10A also uses the user information storage unit 116. The user information storage unit 116 can be realized by using the auxiliary storage device 102 of the server device 10A or a storage device connected to the server device 10A via a network.

要求受信部111は、クライアント部21から送信される要求を受信する。認証部112は、クライアント部21からの要求が、ログイン要求である場合に、当該ログイン要求に含まれている認証情報について認証処理を実行する。認証処理は、例えば、当該認証情報を、ユーザ情報記憶部116に記憶されている情報と照合することにより行われる。認証情報は、例えば、ユーザ名及びパスワードである。但し、ICカード等が利用される場合は、カード情報が認証情報であってもよい。また、生体認証が行われる場合、生体情報が認証情報であってもよい。   The request receiving unit 111 receives a request transmitted from the client unit 21. When the request from the client unit 21 is a login request, the authentication unit 112 performs an authentication process on the authentication information included in the login request. The authentication process is performed, for example, by collating the authentication information with information stored in the user information storage unit 116. The authentication information is, for example, a user name and a password. However, when an IC card or the like is used, the card information may be authentication information. When biometric authentication is performed, the biometric information may be authentication information.

ユーザ情報記憶部116は、情報処理システム1の利用が許可されるユーザごとに、当該ユーザの認証情報や属性情報等を記憶する。以下、当該認証情報及び属性情報を含む情報をユーザ情報という。   The user information storage unit 116 stores authentication information, attribute information, and the like of each user who is permitted to use the information processing system 1. Hereinafter, information including the authentication information and attribute information is referred to as user information.

ハッシュ値生成部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 authentication unit 112. Part or all of the user information used to generate the hash value is hereinafter referred to as “hash source information”.

トークン生成部114は、ハッシュ値生成部113によって生成されるハッシュ値と、有効期限を示す情報とを暗号鍵を用いて暗号化する。当該暗号化によって生成されるデータを、以下「トークン」という。なお、有効期限を示す情報は、当該トークンの有効期限を示す日時情報である。暗号鍵は、例えば、サーバ装置10Aの補助記憶装置102等に記憶されている。又は、暗号鍵の記憶に、セキュリティチップ等が用いられてもよい。   The token generation unit 114 encrypts the hash value generated by the hash value generation unit 113 and information indicating the expiration date using an encryption key. The data generated by the encryption is hereinafter referred to as “token”. The information indicating the expiration date is date / time information indicating the expiration date of the token. The encryption key is stored in, for example, the auxiliary storage device 102 of the server device 10A. Alternatively, a security chip or the like may be used for storing the encryption key.

応答部115は、要求受信部111によって受信される要求に対する応答を、当該要求の送信元のクライアント部21に返信する。例えば、当該要求がログイン要求であり、認証部112による認証が成功した場合、応答部115は、トークン生成部114によって生成されるトークンと、当該トークンに関するハッシュ元情報とを、クライアント部21に返信する。当該トークンとハッシュ元情報との組み合わせを、以下、「サブジェクト」という。   The response unit 115 returns a response to the request received by the request reception unit 111 to the client unit 21 that has transmitted the request. For example, when the request is a login request and authentication by the authentication unit 112 is successful, the response unit 115 returns a token generated by the token generation unit 114 and hash source information regarding the token to the client unit 21 To do. Hereinafter, the combination of the token and the hash source information is referred to as “subject”.

図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は、要求受信部121、復号部122、有効性判定部123、ハッシュ値生成部124、検証部125、及び処理実行部126等を有する。これら各部は、サーバ装置10Bにインストールされたプログラムが、サーバ装置10BのCPU104に実行させる処理により実現される。   The server device 10B includes a request reception unit 121, a decryption unit 122, a validity determination unit 123, a hash value generation unit 124, a verification unit 125, a process execution unit 126, and the like. Each of these units is realized by processing that the program installed in the server device 10B causes the CPU 104 of the server device 10B to execute.

要求受信部121は、サーバ装置10Aによってサブジェクトが発行されたクライアント部21から送信される要求を受信する。当該要求には、サブジェクトが含まれる。   The request receiving unit 121 receives a request transmitted from the client unit 21 to which a subject has been issued by the server device 10A. The request includes a subject.

復号部122は、要求受信部121によって受信される要求に含まれているサブジェクトを構成するトークンを、暗号鍵によって復号する。当該暗号鍵は、例えば、サーバ装置10Bの補助記憶装置102等に記憶されている。又は、当該暗号鍵の記憶に、セキュリティチップ等が用いられてもよい。なお、復号部122が使用する暗号鍵は、トークン生成部114が使用する暗号鍵と共通の暗号鍵である。又は、復号部122が使用する暗号鍵と、トークン生成部114が使用する暗号鍵とは非対称であってもよい。すなわち、トークン生成部114が使用する暗号鍵が秘密鍵であり、復号部122が使用する暗号鍵が、当該秘密鍵と対をなす公開鍵であってもよい。   The decryption unit 122 decrypts the token constituting the subject included in the request received by the request reception unit 121 with the encryption key. The encryption key is stored in, for example, the auxiliary storage device 102 of the server device 10B. Alternatively, a security chip or the like may be used for storing the encryption key. The encryption key used by the decryption unit 122 is a common encryption key with the encryption key used by the token generation unit 114. Alternatively, the encryption key used by the decryption unit 122 and the encryption key used by the token generation unit 114 may be asymmetric. That is, the encryption key used by the token generation unit 114 may be a secret key, and the encryption key used by the decryption unit 122 may be a public key that is paired with the secret key.

有効性判定部123は、トークンを復号することによって得られる有効期限を示す情報に基づいて、当該トークンが有効期限内であるか否かを判定する。   The validity determination unit 123 determines whether or not the token is within the expiration date based on information indicating the expiration date obtained by decrypting the token.

ハッシュ値生成部124は、要求受信部121によって受信される要求に含まれているサブジェクトを構成するハッシュ元情報のハッシュ値を生成する。ハッシュ値の生成には、ハッシュ値生成部113が使用するハッシュ関数と同一のハッシュ関数が用いられる。   The hash value generation unit 124 generates a hash value of hash source information that constitutes a subject included in the request received by the request reception unit 121. For the generation of the hash value, the same hash function as the hash function used by the hash value generation unit 113 is used.

検証部125は、復号部122によるトークンの復号結果に含まれているハッシュ値と、ハッシュ値生成部124によって生成されたハッシュ値とを比較することにより、サブジェクトの正当性を検証する。すなわち、比較されたハッシュ値が一致すれば、トークンについて、サーバ装置10Aによって生成されたことが検証され、ハッシュ元情報について、改竄されていないことが検証される。但し、サーバ装置10Aにおける暗号鍵が外部に漏洩していないことが、斯かる検証の前提とされる。   The verification unit 125 verifies the validity of the subject by comparing the hash value included in the decryption result of the token by the decryption unit 122 with the hash value generated by the hash value generation unit 124. That is, if the compared hash values match, it is verified that the token is generated by the server device 10A, and the hash source information is verified not to be falsified. However, it is assumed that such an encryption key in the server device 10A is not leaked to the outside.

処理実行部126は、検証部125による比較結果に応じて、要求受信部121によって受信される要求に応じた処理を実行する。   The process execution unit 126 executes a process according to the request received by the request reception unit 121 according to the comparison result by the verification unit 125.

なお、サーバ装置10Aは、更に、サーバ装置10Bが有する機能構成を有していてもよい。また、サーバ装置10Bは、更に、サーバ装置10Aが有する機能構成を有していてもよい。   The server apparatus 10A may further have a functional configuration that the server apparatus 10B has. The server device 10B may further have a functional configuration that the server device 10A has.

以下、情報処理システム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 single sign-on processing procedure in the information processing system.

ステップS101において、クライアント装置20のクライアント部21は、例えば、ログイン画面を介して入力された認証情報を含むログイン要求を、サーバ装置10A宛に送信する。当該ログイン要求には、当該認証情報に係るユーザのユーザ情報を構成する項目のうち、取得対象とする1以上の項目の項目名が含まれる。例えば、「ユーザ名」、「氏名」、「メールアドレス」等が、取得対象の項目とされてもよい。なお、本実施の形態では、便宜上、認証情報として、ユーザ名及びパスワードが用いられる例について説明する。   In step S101, the client unit 21 of the client device 20 transmits, for example, a login request including authentication information input via the login screen to the server device 10A. The login request includes item names of one or more items to be acquired among items constituting the user information of the user related to the authentication information. For example, “user name”, “name”, “mail address”, and the like may be items to be acquired. In the present embodiment, for convenience, an example in which a user name and a password are used as authentication information will be described.

当該ログイン要求は、サーバ装置10Aの要求受信部111によって受信される。サーバ装置10Aは、ログイン要求が受信されると、認証処理を実行する(S102)。認証処理の詳細については後述される。続いて、サーバ装置10Aの応答部115は、ログイン要求に対する応答を、クライアント部21に返信する(S103)。認証に成功した場合、当該応答には、サブジェクトが含まれる。認証に失敗した場合、当該応答には、例えば、認証に失敗したことを示す情報が含まれる。   The login request is received by the request receiving unit 111 of the server device 10A. When the login request is received, the server device 10A executes an authentication process (S102). Details of the authentication process will be described later. Subsequently, the response unit 115 of the server device 10A returns a response to the login request to the client unit 21 (S103). When the authentication is successful, the response includes a subject. When authentication fails, the response includes, for example, information indicating that authentication has failed.

認証に成功した場合、クライアント部21は、サーバ装置10Bに対して、サービスの提供要求を送信する(S104)。図5では、サービスの提供要求として、「getXX」というAPI(Application Program Interface)が呼び出された例が示されている。サービスの提供要求には、例えば、ステップS103において返信されたサブジェクトと、「getXX」に固有の引数とが指定される。   If the authentication is successful, the client unit 21 transmits a service provision request to the server device 10B (S104). FIG. 5 shows an example in which an API (Application Program Interface) “getXX” is called as a service provision request. In the service provision request, for example, the subject returned in step S103 and an argument specific to “getXX” are specified.

サービスの提供要求は、サーバ装置10Bの要求受信部121によって受信される。サーバ装置10Bは、サービスの提供要求が受信されると、当該要求に応じた処理を実行する(S105)。   The service provision request is received by the request receiving unit 121 of the server apparatus 10B. When the service provision request is received, the server apparatus 10B executes a process corresponding to the request (S105).

続いて、ステップS102の詳細について説明する。図6は、認証処理の一例を説明するためのフローチャートである。   Next, details of step S102 will be described. FIG. 6 is a flowchart for explaining an example of the authentication process.

ステップS201において、認証部112は、ログイン要求に含まれている認証情報について、ユーザ情報記憶部116に記憶されている認証情報との照合により、認証を行う。   In step S <b> 201, the authentication unit 112 authenticates the authentication information included in the login request by checking with the authentication information stored in the user information storage unit 116.

図7は、ユーザ情報記憶部の構成例を示す図である。図7において、ユーザ情報記憶部116は、ユーザごとに、ユーザ名、パスワード、氏名、住所、電話番号、及びメールアドレス等を記憶する。   FIG. 7 is a diagram illustrating a configuration example of the user information storage unit. In FIG. 7, the user information storage unit 116 stores a user name, password, name, address, telephone number, mail address, and the like for each 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 authentication unit 112 determines that the authentication is successful if a record including the user name and password included in the login request is stored in the user information storage unit 116, and the corresponding record is determined to be a user. If it is not stored in the information storage unit 116, it is determined that the authentication has failed.

認証に失敗した場合(S202でNo)、ステップS203以降は実行されない。この場合、応答部115は、図5のステップS103において、例えば、認証の失敗を示す情報を、クライアント部21に返信する。   If the authentication fails (No in S202), steps S203 and after are not executed. In this case, the response unit 115 returns, for example, information indicating a failure of authentication to the client unit 21 in step S103 of FIG.

一方、認証に成功した場合(S202でYes)、認証部112は、ログイン要求において取得対象として指定された情報を、ユーザ情報記憶部116から取得する(S203)。例えば、認証に成功したユーザの、「ユーザ名」、「氏名」、及び「メールアドレス」のそれぞれの値が取得される。   On the other hand, when the authentication is successful (Yes in S202), the authentication unit 112 acquires the information specified as the acquisition target in the login request from the user information storage unit 116 (S203). For example, the values of “user name”, “name”, and “mail address” of the user who has been successfully authenticated are acquired.

続いて、ハッシュ値生成部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によって生成されたハッシュ値と、有効期限を示す日時情報とを、サーバ装置10Aに記憶されている暗号鍵を使用して暗号化することによりトークンを生成する(S205)。なお、有効期限を示す情報は、例えば、現在日時から一定期間後を示す情報でもよい。   Subsequently, the token generation unit 114 encrypts the hash value generated by the hash value generation unit 113 and the date / time information indicating the expiration date by using the encryption key stored in the server device 10A. A token is generated (S205). Note that the information indicating the expiration date may be information indicating a certain period after the current date and time, for example.

ステップS205が実行された場合、応答部115は、図5のステップS103において、生成されたトークンと、ハッシュ元情報とを含むサブジェクトを、クライアント部21に返信する。   When step S205 is executed, the response unit 115 returns the subject including the generated token and the hash source information to the client unit 21 in step S103 of FIG.

続いて、図5のステップS105の詳細について説明する。図8は、サブジェクトを伴った要求に応じて実行される処理の一例を説明するためのフローチャートである。   Next, details of step S105 in FIG. 5 will be described. FIG. 8 is a flowchart for explaining an example of processing executed in response to a request with a subject.

ステップS301において、復号部122は、受信されたサブジェクトに含まれているトークンを、サーバ装置10Bに記憶されている暗号鍵を使用して復号する。復号に失敗した場合(S302でNo)、処理実行部126は、要求に応じた処理の実行を拒否する(S307)。この場合、当該トークンが、サーバ装置10Aによって生成されたものではない可能性が高いからである。換言すれば、復号に成功するということは、当該トークンが、サーバ装置10Aによって生成された可能性が高いということになる。   In step S301, the decryption unit 122 decrypts the token included in the received subject using the encryption key stored in the server device 10B. When decryption fails (No in S302), the process execution unit 126 rejects execution of the process according to the request (S307). This is because there is a high possibility that the token is not generated by the server device 10A. In other words, successful decryption means that there is a high possibility that the token is generated by the server device 10A.

復号に成功した場合(S302でYes)、有効性判定部123は、トークンの復号によって得られる有効期限を示す情報に基づいて、当該トークンが有効期限内であるか否かを判定する(S303)。例えば、当該有効期限を示す情報が、現在日時を経過していなければ、当該トークンは有効期限内であると判定される。   When the decryption is successful (Yes in S302), the validity determination unit 123 determines whether the token is within the expiration date based on the information indicating the expiration date obtained by decoding the token (S303). . For example, if the information indicating the expiration date has not passed the current date and time, it is determined that the token is within the expiration date.

当該トークンが有効期限外である場合(S303でNo)、処理実行部126は、要求された処理の実行を拒否する(S307)。   If the token is out of validity (No in S303), the process execution unit 126 rejects execution of the requested process (S307).

当該トークンが有効期限内である場合(S303でYes)、ハッシュ値生成部124は、受信されたサブジェクトに含まれるハッシュ元情報のハッシュ値を生成する(S304)。続いて、検証部125は、トークンの復号によって得られたハッシュ値と、ハッシュ値生成部124によって生成されたハッシュ値とが一致するか否かを判定する(S305)。比較された値が一致しない場合(S305でNo)、処理実行部126は、要求された処理の実行を拒否する(S307)。この場合、ハッシュ元情報が改竄された可能性が高く、不正な要求である可能性が高いからである。本実施の形態では、ハッシュ元情報には、ユーザ名等のユーザの識別情報が含まれる。したがって、例えば、成りすましを目的として、ハッシュ元情報が改竄されることが考えられる。   If the token is within the validity period (Yes in S303), the hash value generation unit 124 generates a hash value of the hash source information included in the received subject (S304). Subsequently, the verification unit 125 determines whether or not the hash value obtained by decoding the token matches the hash value generated by the hash value generation unit 124 (S305). If the compared values do not match (No in S305), the process execution unit 126 rejects execution of the requested process (S307). In this case, it is highly likely that the hash source information has been tampered with, and there is a high possibility that it is an unauthorized request. In the present embodiment, the hash source information includes user identification information such as a user name. Therefore, for example, it is conceivable that the hash source information is falsified for the purpose of impersonation.

一方、比較された値が一致する場合(S305)、処理実行部126は、要求された処理を実行する(S306)。なお、処理実行部126は、要求された処理の実行内容を、ハッシュ元情報に含まれているユーザ名に応じて変化させてもよい。例えば、ユーザ名に対応付けられて管理されている権限情報に基づいて、実行可能な処理が制限されてもよい。   On the other hand, when the compared values match (S305), the process execution unit 126 executes the requested process (S306). Note that the process execution unit 126 may change the execution content of the requested process in accordance with the user name included in the hash source information. For example, an executable process may be limited based on authority information managed in association with a user name.

なお、図5のステップS103とステップS104との間において、クライアント部21は、サーバ装置10Aに対してサービスの提供要求を送信してもよい。この場合、当該要求には、サブジェクトが指定されればよい。サーバ装置10Aは、当該要求に応じて図8において説明した処理と同様の処理を実行してもよい。また、クライアント部21は、サーバ装置10A及びサーバ装置10Bとは別のサーバ装置10に対して、サブジェクトが指定された要求を送信してもよい。当該要求に応じ、当該サーバ装置10は、図8において説明した処理と同様の処理を実行してもよい。   Note that the client unit 21 may transmit a service provision request to the server device 10A between step S103 and step S104 in FIG. In this case, a subject may be specified in the request. The server apparatus 10A may execute a process similar to the process described in FIG. 8 in response to the request. Further, the client unit 21 may transmit a request in which a subject is designated to a server device 10 different from the server device 10A and the server device 10B. In response to the request, the server device 10 may execute a process similar to the process described in FIG.

なお、トークンには、有効期限が含まれなくてもよい。この場合、ハッシュ元情報のハッシュ値が暗号化されたものがトークンとされてもよい。   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 server device 10A and server device 10B. In other words, single sign-on can be realized even when communication between the server device 10A and the server device 10B becomes impossible. Therefore, the dependence on communication with respect to single sign-on can be reduced.

なお、本実施の形態において、サーバ装置10Aは、第一の情報処理装置の一例である。サーバ装置10Bは、第二の情報処理装置の一例である。ハッシュ値生成部113は、第一の生成部の一例である。トークン生成部114は、暗号化部の一例である。トークンは、暗号データの一例である。応答部115は、返信部の一例である。要求受信部121は、受信部の一例である。ハッシュ値生成部124は、第二の生成部の一例である。検証部125は、比較部の一例である。   In the present embodiment, the server apparatus 10A is an example of a first information processing apparatus. The server device 10B is an example of a second information processing device. The hash value generation unit 113 is an example of a first generation unit. The token generation unit 114 is an example of an encryption unit. A token is an example of encrypted data. The response unit 115 is an example of a reply unit. The request receiving unit 121 is an example of a receiving unit. The hash value generation unit 124 is an example of a second generation unit. The verification unit 125 is an example of a comparison unit.

以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   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 クライアント部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
111 要求受信部
112 認証部
113 ハッシュ値生成部
114 トークン生成部
115 応答部
116 ユーザ情報記憶部
121 要求受信部
122 復号部
123 有効性判定部
124 ハッシュ値生成部
125 検証部
126 処理実行部
B バス
DESCRIPTION OF SYMBOLS 1 Information processing system 10A Server apparatus 10B Server apparatus 20 Client apparatus 21 Client part 100 Drive apparatus 101 Recording medium 102 Auxiliary storage apparatus 103 Memory apparatus 104 CPU
105 interface device 111 request reception unit 112 authentication unit 113 hash value generation unit 114 token generation unit 115 response unit 116 user information storage unit 121 request reception unit 122 decoding unit 123 validity determination unit 124 hash value generation unit 125 verification unit 126 process execution Part B Bus

特開2002−335239号公報JP 2002-335239 A

Claims (4)

第一の情報処理装置と第二の情報処理装置とを含む情報処理システムであって、
前記第一の情報処理装置は、
クライアント装置から送信されるユーザ識別情報について認証を実行する認証部と、
前記認証部による認証に成功した場合に、前記ユーザ識別情報に関連付けられて記憶部に記憶されているデータ群のうち、前記ユーザ識別情報と共に前記クライアント装置から送信される情報が示す1以上のデータのハッシュ値を生成する第一の生成部と、
前記ハッシュ値を第一の暗号鍵によって暗号化して暗号データを生成する暗号化部と、
前記暗号データと前記1以上のデータとを前記クライアント装置に返信する返信部とを有し、
前記第二の情報処理装置は、
前記クライアント装置から送信される前記暗号データと前記1以上のデータとを含む要求を受信する受信部と、
前記受信部によって受信された要求に含まれる前記暗号データを、前記第一の暗号鍵と同一の第二の暗号鍵又は前記第一の暗号鍵と対をなす第二の暗号鍵によって復号する復号部と、
前記受信部によって受信された前記1以上のデータのハッシュ値を生成する第二の生成部と、
前記復号部による復号結果と前記第二の生成部によって生成されたハッシュ値とを比較する比較部とを有し、
前記比較部による比較結果に応じて、前記要求に応じた処理を実行する、
ことを特徴とする情報処理システム。
An information processing system including a first information processing device and a second information processing device,
The first information processing apparatus includes:
An authentication unit that performs authentication on user identification information transmitted from the client device;
One or more pieces of data indicated by information transmitted from the client device together with the user identification information, out of a data group associated with the user identification information and stored in the storage unit when the authentication unit is successfully authenticated. A first generator for generating a hash value of
An encryption unit that encrypts the hash value with a first encryption key to generate encrypted data;
A reply unit that returns the encrypted data and the one or more data to the client device;
The second information processing apparatus
A receiving unit for receiving a request including the encrypted data and the one or more data transmitted from the client device;
Decryption for decrypting the encrypted data included in the request received by the receiving unit with a second encryption key identical to the first encryption key or a second encryption key paired with the first encryption key And
A second generator that generates a hash value of the one or more data received by the receiver;
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記載の情報処理システム。
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 claim 1.
第一の情報処理装置と第二の情報処理装置とが実行する情報処理方法であって、
前記第一の情報処理装置が、
クライアント装置から送信されるユーザ識別情報について認証を実行する認証手順と、
前記認証手順における認証に成功した場合に、前記ユーザ識別情報に関連付けられて記憶部に記憶されているデータ群のうち、前記ユーザ識別情報と共に前記クライアント装置から送信される情報が示す1以上のデータのハッシュ値を生成する第一の生成手順と、
前記ハッシュ値を第一の暗号鍵によって暗号化して暗号データを生成する暗号化手順と、
前記暗号データと前記1以上のデータとを前記クライアント装置に返信する返信手順とを実行し、
前記第二の情報処理装置が、
前記クライアント装置から送信される前記暗号データと前記1以上のデータとを含む要求を受信する受信手順と、
前記受信手順において受信された要求に含まれる前記暗号データを、前記第一の暗号鍵と同一の第二の暗号鍵又は前記第一の暗号鍵と対をなす第二の暗号鍵によって復号する復号手順と、
前記受信手順において受信された前記1以上のデータのハッシュ値を生成する第二の生成手順と、
前記復号手順における復号結果と前記第二の生成手順において生成されたハッシュ値とを比較する比較手順とを実行し、
前記比較手順における比較結果に応じて、前記要求に応じた処理を実行する、
ことを特徴とする情報処理方法。
An information processing method executed by a first information processing apparatus and a second information processing apparatus,
The first information processing apparatus is
An authentication procedure for authenticating user identification information transmitted from the client device;
One or more pieces of data indicated by information transmitted from the client device together with the user identification information out of a data group associated with the user identification information and stored in a storage unit when the authentication in the authentication procedure is successful A first generation procedure for generating a hash value of
An encryption procedure for generating encrypted data by encrypting the hash value with a first encryption key;
A reply procedure for returning the encrypted data and the one or more data to the client device;
The second information processing apparatus is
A reception procedure for receiving a request including the encrypted data and the one or more data transmitted from the client device;
Decryption for decrypting the encrypted data included in the request received in the reception procedure with a second encryption key identical to the first encryption key or a second encryption key paired with the first encryption key Procedure and
A second generation procedure for generating a hash value of the one or more data received in the 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.
コンピュータに、
クライアント装置から送信されるユーザ識別情報について認証を実行する認証手順と、
前記認証手順における認証に成功した場合に、前記ユーザ識別情報に関連付けられて記憶部に記憶されているデータ群のうち、前記ユーザ識別情報と共に前記クライアント装置から送信される情報が示す1以上のデータのハッシュ値を生成する第一の生成手順と、
前記ハッシュ値を暗号鍵によって暗号化して暗号データを生成する暗号化手順と、
前記暗号データと前記1以上のデータとを前記クライアント装置に返信する返信手順とを実行させるプログラム。
On the computer,
An authentication procedure for authenticating user identification information transmitted from the client device;
One or more pieces of data indicated by information transmitted from the client device together with the user identification information out of a data group associated with the user identification information and stored in a storage unit when the authentication in the authentication procedure is successful A first generation procedure for generating a hash value of
An encryption procedure for generating encrypted data by encrypting the hash value with an encryption key;
A program for executing a reply procedure for returning the encrypted data and the one or more data to the client device.
JP2014101334A 2014-05-15 2014-05-15 Information processing system, information processing method, and program Active JP6398308B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014101334A JP6398308B2 (en) 2014-05-15 2014-05-15 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
JP2014101334A JP6398308B2 (en) 2014-05-15 2014-05-15 Information processing system, information processing method, and program

Publications (2)

Publication Number Publication Date
JP2015220526A JP2015220526A (en) 2015-12-07
JP6398308B2 true JP6398308B2 (en) 2018-10-03

Family

ID=54779611

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014101334A Active JP6398308B2 (en) 2014-05-15 2014-05-15 Information processing system, information processing method, and program

Country Status (1)

Country Link
JP (1) JP6398308B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001186122A (en) * 1999-12-22 2001-07-06 Fuji Electric Co Ltd Authentication system and authentication method
US7690026B2 (en) * 2005-08-22 2010-03-30 Microsoft Corporation Distributed single sign-on service
JP2010081372A (en) * 2008-09-26 2010-04-08 Mekiki Creates Co Ltd System, device and method for registering electronic filing document and computer program
WO2011062251A1 (en) * 2009-11-18 2011-05-26 日本電気株式会社 Communication system, application server, service server, authentication method, and computer program

Also Published As

Publication number Publication date
JP2015220526A (en) 2015-12-07

Similar Documents

Publication Publication Date Title
US11799668B2 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
CN109075976B (en) Certificate issuance dependent on key authentication
US10574648B2 (en) Methods and systems for user authentication
US10523441B2 (en) Authentication of access request of a device and protecting confidential information
US10848304B2 (en) Public-private key pair protected password manager
WO2018145127A1 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
CN110677376B (en) Authentication method, related device and system and computer readable storage medium
US9544299B2 (en) Information processing apparatus, server, method for controlling the same and storage medium
WO2019239591A1 (en) Authentication system, authentication method, application provision device, authentication device, and authentication program
KR102137122B1 (en) Security check method, device, terminal and server
WO2015188424A1 (en) Key storage device and method for using same
US9942042B1 (en) Key containers for securely asserting user authentication
US20180262471A1 (en) Identity verification and authentication method and system
GB2554082B (en) User sign-in and authentication without passwords
JP2015194879A (en) Authentication system, method, and provision device
JP6378424B1 (en) User authentication method with enhanced integrity and security
US20150333909A1 (en) Information processing system and information processing method
JP2009199147A (en) Communication control method and communication control program
TWI546698B (en) Login system based on servers, login authentication server, and authentication method thereof
KR102053993B1 (en) Method for Authenticating by using Certificate
CN115242471A (en) Information transmission method and device, electronic equipment and computer readable storage medium
CN112653676B (en) Identity authentication method and equipment crossing authentication system
JP5793593B2 (en) Network authentication method for securely verifying user identification information
JP6398308B2 (en) Information processing system, information processing method, and program
JP6364957B2 (en) Information processing system, information processing method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170421

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180420

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180820

R151 Written notification of patent or utility model registration

Ref document number: 6398308

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151