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

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

Info

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
Application number
JP2014107754A
Other languages
Japanese (ja)
Other versions
JP6364957B2 (en
Inventor
誠二郎 堀
Seijiro Hori
誠二郎 堀
哲彦 大森
Tetsuhiko Omori
哲彦 大森
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 JP2014107754A priority Critical patent/JP6364957B2/en
Priority to US14/700,544 priority patent/US20150333909A1/en
Publication of JP2015226072A publication Critical patent/JP2015226072A/en
Application granted granted Critical
Publication of JP6364957B2 publication Critical patent/JP6364957B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To reduce dependency on communication in relation to single sign-on.SOLUTION: A first information processing device receives a first encryption key at prescribed timing, and if it succeeds in authentication of information sent from a client device, it generates a hush value of prescribed information, encrypts the hush value by means of the first encryption key received last to generate encryption data, and returns the encryption data and the prescribed information to the client device. A second information processing device receives a second encryption key at the prescribed timing, receives a request including the encryption data and the prescribed information transmitted by the client device, decrypts the encryption data by means of the second encryption key received last, generates a hush value of the prescribed information, compares the decrypted result and the hush value, and performs processing corresponding to the request depending on the comparison result.

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.

本発明の実施の形態における情報処理システムの構成例を示す図である。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. 各サーバ装置への暗号鍵の配信処理の処理手順の一例を説明するためのシーケンス図である。It is a sequence diagram for demonstrating an example of the process sequence of the delivery process of the encryption key to each server apparatus. 情報処理システムにおけるシングルサインオンの処理手順の一例を説明するためのシーケンス図である。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、鍵管理装置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 server device 10A, a server device 10B, a key management device 30, 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. Each server device 10 and the key management device 30 are communicably connected via a network such as a LAN or the Internet.

鍵管理装置30は、各サーバ装置10が使用する暗号鍵を、各サーバ装置10間において同期したタイミングで、周期的に各サーバ装置10に配信するコンピュータである。   The key management device 30 is a computer that periodically distributes an encryption key used by each server device 10 to each server device 10 at a timing synchronized between the server devices 10.

サーバ装置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.

なお、鍵管理装置30も、図2に示されるようなハードウェアを有していてもよい。   Note that the key management device 30 may also have hardware as shown in FIG.

図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 key management device 30 includes a key generation unit 31, a key distribution unit 32, and the like. Each of these units is realized by processing that a program installed in the key management device 30 causes the CPU of the key management device 30 to execute.

鍵生成部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 server device 10. A common encryption key is distributed to each server device 10. Alternatively, the encryption key distributed to the server device 10A and the encryption key distributed to the server device 10B may be asymmetric. That is, the encryption key distributed to the server device 10A may be a secret key, and the encryption key distributed to the server device 10B may be a public key that is paired with the secret key. In this case, the key generation unit 31 generates two encryption keys, a secret key and a public key.

クライアント装置20は、クライアント部21を有する。クライアント部21は、サーバ装置10を利用するためのユーザインタフェースの提供や、サーバ装置10への要求の送信、当該要求に応じてサーバ装置10から返信される情報の受信及び表示等を行う。クライアント部21は、例えば、専用のアプリケーションプログラム、又はWebブラウザプログラム等が、クライアント装置20のCPUに実行させる処理により実現される。   The client device 20 has 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 a process in which a dedicated application program, a Web browser program, or the like is executed by the CPU of the client device 20.

サーバ装置10Aは、鍵取得部110、要求受信部111、認証部112、ハッシュ値生成部113、トークン生成部114、及び応答部115等を有する。これら各部は、サーバ装置10Aにインストールされたプログラムが、サーバ装置10AのCPU104に実行させる処理により実現される。サーバ装置10Aは、また、ユーザ情報記憶部116を利用する。ユーザ情報記憶部116は、サーバ装置10Aの補助記憶装置102、又はサーバ装置10Aにネットワークを介して接続される記憶装置等を用いて実現可能である。   The server device 10A includes a key acquisition unit 110, 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.

鍵取得部110は、鍵管理装置30から配信される暗号鍵を取得(受信)する。鍵取得部11によって取得された暗号鍵は、例えば、サーバ装置10Aのメモリ装置103又は補助記憶装置102に記憶される。   The key acquisition unit 110 acquires (receives) the encryption key distributed from the key management device 30. The encryption key acquired by the key acquisition unit 11 is stored in, for example, the memory device 103 or the auxiliary storage device 102 of the server device 10A.

要求受信部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によって生成されるハッシュ値と、有効期限を示す情報とを暗号鍵を用いて暗号化する。当該暗号化によって生成されるデータを、以下「トークン」という。なお、有効期限を示す情報は、当該トークンの有効期限を示す日時情報である。暗号化に利用される暗号鍵は、鍵取得部110によって最後に取得された暗号鍵である。   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 used for encryption is the encryption key acquired last by the key acquisition unit 110.

応答部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は、鍵受信部120、要求受信部121、復号部122、有効性判定部123、ハッシュ値生成部124、検証部125、及び処理実行部126等を有する。これら各部は、サーバ装置10Bにインストールされたプログラムが、サーバ装置10BのCPU104に実行させる処理により実現される。   The server device 10B includes a key reception unit 120, 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.

鍵取得部120は、鍵管理装置30から配信される暗号鍵を取得(受信)する。鍵取得部11によって取得された暗号鍵は、例えば、サーバ装置10Bのメモリ装置103又は補助記憶装置102に記憶される。   The key acquisition unit 120 acquires (receives) the encryption key distributed from the key management device 30. The encryption key acquired by the key acquisition unit 11 is stored in, for example, the memory device 103 or the auxiliary storage device 102 of the server device 10B.

要求受信部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によって受信される要求に含まれているサブジェクトを構成するトークンを、暗号鍵によって復号する。復号に利用される暗号鍵は、鍵取得部120によって最後に取得された暗号鍵である。   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 used for decryption is the encryption key acquired last by the key acquisition unit 120.

有効性判定部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によって生成されたことが検証され、ハッシュ元情報について、改竄されていないことが検証される。   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.

処理実行部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 processing procedure for distributing the encryption key to each server device.

鍵管理装置30の鍵生成部31は、一定間隔で、繰り返し暗号鍵を生成する(S11)。なお、当該一定間隔は、例えば、管理者等によって設定可能とされてもよい。但し、鍵生成部31は、ユーザによる指示の入力等に応じたタイミングで暗号鍵を生成してもよい。   The key generation unit 31 of the key management device 30 repeatedly generates an encryption key at regular intervals (S11). Note that the certain interval may be set by an administrator or the like, for example. However, the key generation unit 31 may generate an encryption key at a timing according to an instruction input by the user.

一方、各サーバ装置10の鍵取得部110及び鍵取得部120は、暗号鍵の更新を問い合わせるためのポーリングを行う(S21、S31)。なお、図5において、ループ処理Laとループ処理Lbとは、並列的に実行される。   On the other hand, the key acquisition unit 110 and the key acquisition unit 120 of each server device 10 perform polling for inquiring about the update of the encryption key (S21, S31). In FIG. 5, the loop processing La and the loop processing Lb are executed in parallel.

鍵配信部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 server device 10 with a response indicating that the encryption key has been updated (hereinafter, “ Update response ”) (S22, S32). The polling from each server device 10 may be long polling. Long polling refers to polling in a format in which a response is returned at a timing when a response needs to be returned without immediately returning a response to an inquiry. In the present embodiment, the timing when the response needs to be returned is the timing when the encryption key is newly generated.

鍵取得部110及び鍵取得部120は、更新応答を受信すると、暗号鍵の取得要求を鍵管理装置30に送信する(S23、S33)。鍵管理装置30の鍵配信部32は、当該取得要求に応じ、最新の暗号鍵(最後に生成された暗号鍵)を返信する(S24、S34)。   Upon receiving the update response, the key acquisition unit 110 and the key acquisition unit 120 transmit an encryption key acquisition request to the key management device 30 (S23, S33). In response to the acquisition request, the key distribution unit 32 of the key management device 30 returns the latest encryption key (the last generated encryption key) (S24, S34).

なお、更新応答に含められて、暗号鍵が返信されてもよい。また、各サーバ装置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 server device 10, the key distribution unit 32 may actively (PUSH type) to distribute the generated encryption key to each server device 10.

図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 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)。図6では、サービスの提供要求として、「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. 6 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の詳細について説明する。図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 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.

図8は、ユーザ情報記憶部の構成例を示す図である。図8において、ユーザ情報記憶部116は、ユーザごとに、ユーザ名、パスワード、氏名、住所、電話番号、及びメールアドレス等を記憶する。   FIG. 8 is a diagram illustrating a configuration example of the user information storage unit. In FIG. 8, a 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は、図6のステップ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によって生成されたハッシュ値と、有効期限を示す日時情報とを、鍵取得部110によって最後に受信された暗号鍵を使用して暗号化することによりトークンを生成する(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 using the encryption key received last by the key acquisition unit 110. Thus, 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は、図6のステップ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.

続いて、図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 decryption unit 122 decrypts the token included in the received subject using the encryption key received last by the key acquisition unit 120. 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, success in 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.

なお、図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 decryption unit 122 fails in decryption, the decryption unit 122 may decrypt the token using the encryption key received before the last received encryption key. For example, the decryption unit 122 may perform decryption using the encryption keys received before the last received encryption key in order from the new encryption key, and may proceed to step S303 when the decryption is successful. Further, the number of encryption keys used for decryption may be limited to a predetermined number.

なお、図6のステップS103とステップS104との間において、クライアント部21は、サーバ装置10Aに対してサービスの提供要求を送信してもよい。この場合、当該要求には、サブジェクトが指定されればよい。サーバ装置10Aは、当該要求に応じて図9において説明した処理と同様の処理を実行してもよい。また、クライアント部21は、サーバ装置10A及びサーバ装置10Bとは別のサーバ装置10に対して、サブジェクトが指定された要求を送信してもよい。当該要求に応じ、当該サーバ装置10は、図9において説明した処理と同様の処理を実行してもよい。   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. 9 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.

また、各サーバ装置10が使用する暗号鍵は、定期的に更新される。したがって、暗号鍵が固定的である場合に比べて、暗号鍵の漏洩又は推定に対するセキュリティを向上させることができる。   Further, the encryption key used by each server device 10 is updated periodically. Therefore, the security against leakage or estimation of the encryption key can be improved as compared with the case where the encryption key is fixed.

なお、本実施の形態において、サーバ装置10Aは、第一の情報処理装置の一例である。サーバ装置10Bは、第二の情報処理装置の一例である。鍵取得部110は、第一の受信部の一例である。ハッシュ値生成部113は、第一の生成部の一例である。トークン生成部114は、暗号化部の一例である。トークンは、暗号データの一例である。応答部115は、返信部の一例である。鍵取得部120は、第二の受信部の一例である。要求受信部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 key acquisition unit 110 is an example of a first reception unit. 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 key acquisition unit 120 is an example of a second reception unit. The request receiving unit 121 is an example of a third 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 クライアント部
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 Information processing system 10A Server apparatus 10B Server apparatus 20 Client apparatus 21 Client part 30 Key management apparatus 31 Key generation part 32 Key distribution part 100 Drive apparatus 101 Recording medium 102 Auxiliary storage apparatus 103 Memory apparatus 104 CPU
105 interface device 110 key acquisition unit 111 request reception unit 112 authentication unit 113 hash value generation unit 114 token generation unit 115 response unit 116 user information storage unit 120 key reception unit 121 request reception unit 122 decryption unit 123 validity determination unit 124 hash value Generation unit 125 Verification unit 126 Processing execution unit B Bus

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

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.
JP2014107754A 2014-05-15 2014-05-26 Information processing system, information processing method, and program Active JP6364957B2 (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024100843A1 (en) * 2022-11-10 2024-05-16 三菱電機株式会社 Communication system, server, and communication method

Citations (6)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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