(57)【特許請求の範囲】
【請求項１】
端末と通信し、端末を利用するユーザに対して認証を行うことでサービスを提供する情報処理装置であって、
前記端末から受信した、前記ユーザを認証するために用いられる認証情報に基づいて認証を行う認証手段と、
前記認証手段により認証が許可された場合に、前記端末から受信した認証情報を暗号化することで秘匿情報を生成し、生成した秘匿情報を文字列にエンコードし、エンコードされた秘匿情報のうち、先頭又は末尾から所定の文字数分の文字列を第一の情報、残りの文字列を第二の情報として、前記エンコードされた秘匿情報を第一の情報と第二の情報とに分割する分割処理手段と、
前記第一の情報を記憶する記憶手段と、
前記第二の情報を前記端末に送信する送信手段と、
前記第二の情報を前記端末から受信する受信手段と、
前記記憶手段に記憶されている前記第一の情報と受信手段で受信された前記第二の情報とを結合した文字列をデコードすることで秘匿情報を生成し、生成した秘匿情報を復号化することで認証情報を生成する結合処理手段と、を有し、
前記認証手段は、前記結合処理手段で生成された認証情報に基づいて認証を行う、情報処理装置。
【請求項２】
前記分割処理手段は、
前記第一の情報の文字数が、前記第二の情報の文字数よりも少なくなるように分割する、請求項１に記載の情報処理装置。
【請求項３】
端末とサービス提供装置と通信し、前記サービス提供装置が前記端末を利用するユーザに対して行う認証を代理する情報処理装置であって、
前記ユーザを認証するために用いられる認証情報であって前記サービス提供装置により認証が許可された認証情報を暗号化することで秘匿情報を生成し、生成した秘匿情報を文字列にエンコードし、エンコードされた秘匿情報のうち、先頭又は末尾から所定の文字数分の文字列を第一の情報、残りの文字列を第二の情報として、前記エンコードされた秘匿情報を第一の情報と第二の情報とに分割する分割処理手段と、
前記第一の情報を記憶する記憶手段と、
前記第二の情報を前記端末に送信する送信手段と、
前記第二の情報を前記端末から受信する受信手段と、
前記記憶手段に記憶されている前記第一の情報と受信手段で受信した前記第二の情報とを結合した文字列をデコードすることで秘匿情報を生成し、生成した秘匿情報を復号化することで認証情報を生成する結合処理手段と、を有し、
前記送信手段は、前記結合処理手段により生成された認証情報を前記サービス提供装置に送信する、情報処理装置。
【請求項４】
前記分割処理手段は、
前記第一の情報の文字数が、前記第二の情報の文字数よりも少なくなるように分割する、請求項３に記載の情報処理装置。
【請求項５】
端末と通信し、端末を利用するユーザに対して認証を行うことでサービスを提供する情報処理装置が実行する認証処理方法であって、
前記端末から受信した、前記ユーザを認証するために用いられる認証情報に基づいて認証を行う認証ステップと、
前記認証ステップにより認証が許可された場合に、前記端末から受信した認証情報を暗号化することで秘匿情報を生成し、生成した秘匿情報を文字列にエンコードし、エンコードされた秘匿情報のうち、先頭又は末尾から所定の文字数分の文字列を第一の情報、残りの文字列を第二の情報として、前記エンコードされた秘匿情報を第一の情報と第二の情報とに分割する分割処理ステップと、
前記第一の情報を記憶部に記憶する記憶ステップと、
前記第二の情報を前記端末に送信する送信ステップと、
前記第二の情報を前記端末から受信する受信ステップと、
前記記憶部に記憶されている前記第一の情報と前記受信ステップで受信された前記第二の情報とを結合した文字列をデコードすることで秘匿情報を生成し、生成した秘匿情報を復号化することで認証情報を生成する結合処理ステップと、を有し、
前記認証ステップは、前記結合処理ステップで生成された認証情報に基づいて認証を行う、認証処理方法。
【請求項６】
コンピューターを、請求項１乃至４のいずれか一項に記載の情報処理装置の各手段として機能させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、認証処理方法及びプログラムに関する。
【背景技術】
【０００２】
Ｗｅｂブラウザ及びＷｅｂサーバを用いて実現されるＷｅｂサービスにおいて、ユーザＩＤ及びパスワードを用いて正規のユーザからのアクセスであるか否かを確認する認証技術が知られている。
【０００３】
また、ユーザに繰り返しユーザＩＤ及びパスワードを入力させる手間を省くため、一旦認証が成功した場合に、ユーザ端末のＷｅｂブラウザに秘匿情報（ユーザＩＤ、パスワードを容易に読み取ることができないように加工した情報）をクッキーとして格納しておき、２度目以降のログイン時にＷｅｂブラウザからＷｅｂサーバに秘匿情報を送信することで、ユーザに再度ユーザＩＤ及びパスワードを入力させることなく認証を許可することが可能な技術が知られている。
【０００４】
なお、Ｗｅｂサービスにおけるユーザ認証に関する従来技術として例えば特許文献１に開示された技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−００８７２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ユーザ端末のＷｅｂブラウザに秘匿情報を格納した場合、ユーザ端末のＷｅｂブラウザから秘匿情報が不正に取得されてしまう可能性がある。万が一秘匿情報が解読されてしまうとユーザＩＤ及びパスワードが漏洩してしまい、不正アクセス等のセキュリティリスクが生じることになる。また、このような問題は、Ｗｅｂサービスに限らず、クライアント端末とサーバ間でユーザの認証を行うサービス全般に発生し得る。
【０００７】
本発明は上記に鑑みてなされたものであって、セキュリティを担保しつつ、ユーザ認証の手間を省き利便性を向上させる技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の実施の形態に係る情報処理装置は、端末と通信し、端末を利用するユーザに対して認証を行うことでサービスを提供する情報処理装置であって、前記端末から受信した、前記ユーザを認証するために用いられる認証情報に基づいて認証を行う認証手段と、前記認証手段により認証が許可された場合に、前記端末から受信した認証情報を暗号化することで秘匿情報を生成し、生成した秘匿情報を第一の情報と第二の情報とに分割する分割処理手段と、前記第一の情報を記憶する記憶手段と、前記第二の情報を前記端末に送信する送信手段と、を有する。
【発明の効果】
【０００９】
本発明の実施の形態によれば、セキュリティを担保しつつ、ユーザ認証の手間を省き
利便性を向上させる技術が提供される。
【図面の簡単な説明】
【００１０】
【図１】第一の実施の形態に係る通信システムの構成例を示す図である。
【図２】第一の実施の形態に係るサービス提供装置の機能構成の一例を示す図である。
【図３】認証情報ＤＢ及び秘匿情報ＤＢの一例を示す図である。
【図４】第一の実施の形態に係る通信システムの動作例（初回ログイン時）を示すシーケンス図である。
【図５】第一の実施の形態に係る通信システムの動作例（二回目以降のログイン時）を示すシーケンス図である。
【図６】ユーザＩＤ／ＰＷＤの暗号化及び分割処理の一例を示すフローチャートである。
【図７】Ｃｏｏｋｉｅ生成及び秘匿情報ＤＢ登録処理の一例を示すフローチャートである。
【図８】ユーザＩＤ／ＰＷＤ復号処理の一例を示すフローチャートである。
【図９】第二の実施の形態に係る通信システムの構成例を示す図である。
【図１０】第二の実施の形態に係るサービス提供装置及び代理ログイン装置の機能構成の一例を示す図である。
【図１１】第二の実施の形態に係る通信システムの動作例（初回ログイン時）を示すシーケンス図である。
【図１２】第二の実施の形態に係る通信システムの動作例（二回目以降のログイン時）を示すシーケンス図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。以下の実施の形態は、Ｗｅｂサービスにおいてユーザの認証を行う通信システムを前提としているが、本発明の実施の形態は、Ｗｅｂサービスに関わらず、クライアント端末とサーバ間でユーザの認証を行う通信システム全般に適用することが可能である。
【００１２】
［第一の実施の形態］
＜システム構成＞
図１は、第一の実施の形態に係る通信システムの構成例を示す図である。本通信システムは、端末１０と、サービス提供装置２０とを有する。図１の例では、端末１０は１台のみ図示されているが、便宜上であり、複数であってもよい。
【００１３】
端末１０は、ユーザがサービス提供装置２０にアクセスするために用いるクライアント端末である。端末１０はＷｅｂブラウザを備えており、ユーザは、Ｗｅｂブラウザを用いてサービス提供装置２０にアクセスすることで、所望のサービスを利用することができる。端末１０は、例えば、ＰＣ（Personal Computer）、スマートフォン、タブレット端末、携帯電話、テレビ、又はゲーム機などであるが、Ｗｅｂブラウザを備えていればどのような機器であってもよい。
【００１４】
サービス提供装置２０は、端末１０からのアクセスを受けて各種のサービスを提供する装置である。より具体的には、サービス提供装置２０は、Ｗｅｂサーバ機能を備えており、端末１０が備えるＷｅｂブラウザからのアクセスを受けて各種のサービスを提供する。また、サービス提供装置２０は、端末１０から送信された認証情報に基づいてユーザの認証を行い、認証が許可された場合に各種のサービスを提供する。
【００１５】
＜概要＞
第一の実施の形態では、サービス提供装置２０は、一旦認証が許可されたユーザに対して、当該ユーザの認証情報に対して暗号化処理を行うことで秘匿情報を生成し、生成した秘匿情報を２つに分割する処理を行う。更に、サービス提供装置２０は、分割した秘匿情報の一方（以下、「第一の分割秘匿情報」と呼ぶ）を自身で記憶しておくと共に、分割した秘匿情報の他方（以下、「第二の分割秘匿情報」と呼ぶ）を端末１０に送信する。
【００１６】
端末１０は、二回目以降にサービス提供装置２０にアクセスする際、ユーザの認証情報に代えて、第二の分割秘匿情報をサービス提供装置２０に送信する。端末１０から第二の分割秘匿情報を受信したサービス提供装置２０は、自身で記憶している第一の分割秘匿情報と端末１０から受信した第二の分割秘匿情報とを結合することで秘匿情報を生成し、生成した秘匿情報を復号化することで認証情報を生成する（つまり、ユーザの認証情報から第一の分割秘匿情報及び第二の分割秘匿情報を生成する処理とは逆の処理を行う）。続いて、サービス提供装置２０は、生成した認証情報に基づいてユーザの認証を行う。
【００１７】
＜機能構成＞
図２は、第一の実施の形態に係るサービス提供装置の機能構成の一例を示す図である。図２に示すように、サービス提供装置２０は、通信部１０１と、サービス提供部１０２と、認証部１０３と、秘匿情報処理部１０４と、記憶部１０５とを有する。また、秘匿情報処理部１０４は、暗号化部１０４１と、分割部１０４２と、結合部１０４３と、復号化部１０４４と、とクッキー処理部１０４５とを有する。これら各部は、サービス提供装置２０にインストールされた１以上のプログラムが、サービス提供装置２０のＣＰＵに実行させる処理により実現され得る。通信部１０１と、サービス提供部１０２と、認証部１０３と、秘匿情報処理部１０４と、記憶部１０５とは、異なるコンピューターを用いて実現されていてもよいし、更に細かい単位でコンピューターが分散されていてもよい。すなわち、サービス提供装置２０は、１又は複数のコンピューターを用いて実現されていてもよい。また、当該１又は複数のコンピューターは、仮想化技術を利用した仮想サーバであってもよいし、クラウド上に実装された仮想サーバであってもよい。
【００１８】
通信部１０１は、有線又は無線を介してネットワークと接続され、端末１０と通信する機能を有する。サービス提供部１０２は、端末１０からのアクセスを受けて各種のサービスを提供する機能を有する。なお、サービス提供部１０２はＷｅｂサーバ機能を含む。認証部１０３は、端末１０から受信したユーザの認証情報と、記憶部１０５に格納されている認証情報ＤＢとを比較することで、ユーザの認証を行う機能を有する。
【００１９】
秘匿情報処理部１０４は、ユーザの認証情報から秘匿情報を生成して分割する際の各種の処理、分割された秘匿情報を認証情報に戻す際の各種の処理を行う機能、及び、Ｃｏｏｋｉｅの生成／取得等に関する各種の処理を有する。暗号化部１０４１は、ユーザの認証情報に対して所定の暗号化アルゴリズムを適用することで秘匿情報を生成する。分割部１０４２は、暗号化部１０４１で生成された秘匿情報を第一の分割秘匿情報と第二の分割秘匿情報に分割する。結合部１０４３は、第一の分割秘匿情報と第二の分割秘匿情報とを結合することで秘匿情報を生成する（秘匿情報に戻す）。復号化部１０４４は、秘匿情報に対して所定の復号化アルゴリズムを適用することでユーザの認証情報を生成する（認証情報に戻す）。クッキー処理部１０４５は、利用者のＷｅｂブラウザに記憶させるＣｏｏｋｉｅの生成、端末１０からのＣｏｏｋｉｅの取得等に関する処理を行う。
【００２０】
記憶部１０５は、認証情報ＤＢと秘匿情報ＤＢとを記憶する機能を有する。記憶部１０５は、サービス提供装置２０が備える記憶装置（メモリ、ＨＤＤ等）、サービス提供装置２０にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
【００２１】
図３（ａ）は、認証情報ＤＢの一例を示している。認証情報ＤＢには、サービス提供装置２０を利用するユーザの認証情報（ユーザＩＤ及びＰＷＤ（パスワード：Password））が、ユーザごとに格納される。
【００２２】
図３（ｂ）は、秘匿情報ＤＢの一例を示している。認証情報ＤＢには、端末１０のＷｅｂブラウザにＣｏｏｋｉｅが記憶される単位で、「ＣｏｏｋｉｅＩＤ」、「ユーザＩＤ」、「第一の分割秘匿情報」、「生成日時」及び「更新日時」を含むレコードが格納される。例えば、同一ユーザが異なる端末１０を用いてアクセスした場合、端末ごとにＷｅｂブラウザは異なるため、端末１０ごとに異なるレコードが格納されることになる。「ＣｏｏｋｉｅＩＤ」は、端末１０のＷｅｂブラウザに記憶させたＣｏｏｋｉｅを一意に識別するためのＩＤである。「生成日時」は、レコードが生成された日時を示し、「更新日時」は、当該レコードに含まれるいずれかの項目が更新された日時を示している。
【００２３】
＜通信システムの動作例＞
（初回ログイン時のシーケンス）
図４は、第一の実施の形態に係る通信システムの動作例（初回ログイン時）を示すシーケンス図である。図４に示すシーケンスは、ユーザが端末１０を用いて最初にサービス提供装置２０にログインする際に行われる処理手順を示している。
【００２４】
ステップＳ１０１で、端末１０のＷｅｂブラウザは、ユーザの指示（操作）に従い、サービス提供装置２０のログイン画面にアクセスする。
【００２５】
ステップＳ１０２で、サービス提供装置２０のサービス提供部１０２は、ログイン画面を端末１０に送信する。
【００２６】
ステップＳ１０３で、端末１０のＷｅｂブラウザは、ユーザにより入力されたユーザＩＤ及びＰＷＤをサービス提供装置２０に送信する。
【００２７】
ステップＳ１０４で、サービス提供装置２０の認証部１０３は、ステップＳ１０３の処理手順で受信したユーザＩＤ及びＰＷＤが認証情報ＤＢに格納されているか否かを確認することで認証を行う。認証に成功した場合、ステップＳ１０４の処理手順に進む。認証に失敗した場合、認証部１０３は、認証失敗を示す情報を端末１０に送信して処理を終了する。
【００２８】
ステップＳ１０５で、秘匿情報処理部１０４は、ステップＳ１０３の処理手順で受信したユーザＩＤ及びＰＷＤを暗号化することで秘匿情報を生成し、生成した秘匿情報を分割することで第一の分割秘匿情報及び第二の分割秘匿情報を生成する。具体的な処理手順については後述する。
【００２９】
ステップＳ１０６で、秘匿情報処理部１０４は、端末１０のＷｅｂブラウザに格納させるＣｏｏｋｉｅを生成する。当該Ｃｏｏｋｉｅには第二の分割秘匿情報が含まれる。また、秘匿情報処理部１０４は、ＣｏｏｌｉｅＩＤ、ユーザＩＤ及び第一の分割秘匿情報を秘匿情報ＤＢに格納する。具体的な処理手順については後述する。
【００３０】
ステップＳ１０７で、認証部１０３は、通信部１０１を介して、認証に成功した旨を示す情報、ログイン後画面、及びステップＳ１０６の処理手順で生成されたＣｏｏｋｉｅを端末１０に送信する。
【００３１】
ステップＳ１０８で、端末１０のＷｅｂブラウザは、ステップＳ１０７の処理手順で受信したＣｏｏｋｉｅを記憶する。
【００３２】
ステップＳ１０９で、端末１０のＷｅｂブラウザと、サービス提供装置２０のサービス提供部１０２との間でサービスの利用が開始される。
【００３３】
（二回目以降のログイン時のシーケンス）
図５は、第一の実施の形態に係る通信システムの動作例（二回目以降のログイン時）を示すシーケンス図である。図５に示すシーケンスは、ユーザが、初回ログイン時に認証に成功した端末１０を用いて二回目以降にサービス提供装置２０にログインする際に行われる処理手順を示している。
【００３４】
ステップＳ２０１で、端末１０のＷｅｂブラウザは、ユーザの指示（操作）に従い、サービス提供装置２０のログイン画面にアクセスする。このとき、端末１０のＷｅｂブラウザは、図４のステップＳ１０８の処理手順で記憶したＣｏｏｋｉｅを、ＨＴＴＰ（ＨＴＴＰＳ）リクエストメッセージに含めてサービス提供装置２０に送信する。
【００３５】
ステップＳ２０２で、サービス提供装置２０の秘匿情報処理部１０４は、ステップＳ２０１の処理手順で受信したＣｏｏｋｉｅからＣｏｏｋｉｅＩＤと第二の分割秘匿情報とを取得すると共に、ＣｏｏｋｉｅＩＤをキーとして秘匿情報ＤＢから第一の分割秘匿情報を取得する。秘匿情報処理部１０４は、取得した第一の分割秘匿情報と第二の分割秘匿情報とを結合することで秘匿情報を生成し、生成した秘匿情報を復号化することでユーザＩＤ及びＰＷＤを取得する。具体的な処理手順については後述する。
【００３６】
ステップＳ２０３で、サービス提供装置２０の認証部１０３は、ステップＳ２０２の処理手順で取得したユーザＩＤ及びＰＷＤが認証情報ＤＢに格納されているか否かを確認することで認証を行う。認証に成功した場合、ステップＳ２０４の処理手順に進む。認証に失敗した場合、認証部１０３は、認証失敗を示す情報を端末１０に送信して処理を終了する。
【００３７】
ステップＳ２０４で、認証部１０３は、通信部１０１を介して、認証に成功した旨を示す情報、ログイン後画面を端末１０に送信する。
【００３８】
ステップＳ２０５で、端末１０のＷｅｂブラウザと、サービス提供装置２０のサービス提供部１０２との間でサービスの利用が開始される。
【００３９】
（ユーザＩＤ／ＰＷＤ暗号化、分割に関する具体的処理）
図６は、ユーザＩＤ／ＰＷＤの暗号化及び分割処理の一例を示すフローチャートである。図６を用いて、図４のステップＳ１０５に関する具体的な処理手順を説明する。
【００４０】
ステップＳ３０１で、暗号化部１０４１は、ユーザＩＤ、ＰＷＤ及び現在日時を示すタイムスタンプを、「｜」を用いて連結した文字列を生成する。具体的には、例えば、ユーザＩＤ＝「tanaka」、ＰＷＤ＝「secret」、タイムスタンプ＝「201507311620」である場合、暗号化部１０４１は、「tanaka|secret|201507311620」の文字列を生成する。なお、「｜」に代えて、他の文字を用いてユーザＩＤ、ＰＷＤ及び現在日時の区切りを表現するようにしてもよい。
【００４１】
ステップＳ３０２で、暗号化部１０４１は、生成した文字列を所定の暗号化アルゴリズムを用いて暗号化することで秘匿情報を生成する。所定の暗号化アルゴリズムは例えば「ＡＥＳ（Advanced Encryption Standard）」であるが、これに限られずどのようなアルゴリズムであってもよい。なお、暗号化に用いられる共通鍵は固定でもよいし、ユーザ毎に異なる共通鍵が用いられてもよい。
【００４２】
更に、暗号化部１０４１は、秘匿情報を所定のアルゴリズムを用いて文字列にエンコードする。所定のアルゴリズムは、例えばｂａｓｈ６４であるが、文字列にエンコードするアルゴリズムであればどのようなアルゴリズムであってもよい。
【００４３】
ステップＳ３０３で、分割部１０４２は、秘匿情報（文字列にエンコードされた秘匿情報）を第一の分割秘匿情報と第二の分割秘匿情報に分割する。なお、分割部１０４２は、第一の分割秘匿情報の文字数が、第二の分割秘匿情報の文字数よりも少なくなるように分割するようにしてもよい。例えば、分割部１０４２は、秘匿情報のうち先頭（又は最後）の１０文字を第一の分割秘匿情報とし、残りの文字を第二の分割秘匿情報としてもよい。これにより、第一の分割秘匿情報のデータサイズは小さくなるため、秘匿情報ＤＢの容量を抑えることができる。
【００４４】
以上説明した処理手順のうちＳ３０１の処理手順において、暗号化部１０４１は、タイムスタンプを含めずに文字列を生成するようにしてもよい。例えば、暗号化部１０４１は、「tanaka|secret」の文字列を生成するようにしてもよい。
【００４５】
（Ｃｏｏｋｉｅ生成、秘匿情報ＤＢ登録に関する具体的処理）
図７は、Ｃｏｏｋｉｅ生成及び秘匿情報ＤＢ登録処理の一例を示すフローチャートである。図７を用いて、図４のステップＳ１０６に関する具体的な処理手順を説明する。
【００４６】
ステップＳ４０１で、クッキー処理部１０４５は、ＣｏｏｋｉｅＩＤを生成する。生成するＣｏｏｋｉｅＩＤは、予め定められた桁数の乱数でもよい。桁数は、例えば１０桁でもよいし、これに限られず他の桁数であってもよい。一例として、例えば、クッキー処理部１０４５は、「IKLWMAcMWU」のようなＣｏｏｋｉｅＩＤを生成する。
【００４７】
ステップＳ４０２で、クッキー処理部１０４５は、端末１０のＷｅｂブラウザに格納させるＣｏｏｋｉｅを生成する。生成するＣｏｏｋｉｅのＣｏｏｋｉｅ名は、例えば「tb.partial.token」としてもよいし、これに限られず、本実施の形態で用いるＣｏｏｋｉｅを示す名称であればどのような文字列であってもよい。
【００４８】
クッキー処理部１０４５は、Ｃｏｏｋｉｅ名に対応するＣｏｏｋｉｅ値に、ステップＳ４０１で生成したＣｏｏｋｉｅＩＤと第二の分割秘匿情報とを連結した文字列を格納する。Ｃｏｏｋｉｅの有効期限にはどのような期限が設定されてもよいが、例えば、１０年であってもよい。また、Ｃｏｏｋｉｅには、ｓｅｃｕｒｅ属性をセットするようにしてもよい。
【００４９】
ステップＳ４０１及びステップＳ４０２の処理手順により、例えば、次に示すようなＣｏｏｋｉｅが生成される。「Set-Cookie:tb.partial.token=IKLWMAcMWUadfaafasd…dfafda;max-age=315360000;secure」。
【００５０】
ステップＳ４０３で、クッキー処理部１０４５は、ＣｏｏｋｉｅＩＤ、端末１０から受信したユーザＩＤ、及び第一の分割秘匿情報を、秘匿情報ＤＢに登録する。
【００５１】
（ユーザＩＤ／ＰＷＤ復号に関する具体的処理）
図８は、ユーザＩＤ／ＰＷＤ復号処理の一例を示すフローチャートである。図８を用いて、図５のステップＳ２０２に関する具体的な処理手順を説明する。
【００５２】
ステップＳ５０１で、クッキー処理部１０４５は、端末１０から受信したＨＴＴＰ（ＨＴＴＰＳ）リクエストメッセージに含まれる１以上のＣｏｏｋｉｅのうち、本実施の形態で用いられるＣｏｏｋｉｅのＣｏｏｋｉｅ値を取得する。具体的には、例えば、クッキー処理部１０４５は、ＨＴＴＰ（ＨＴＴＰＳ）リクエストメッセージに含まれる１以上のＣｏｏｋｉｅのうち、Ｃｏｏｋｉｅ名が「tb.partial.token」であるＣｏｏｋｉｅのＣｏｏｋｉｅ値を取得する。
【００５３】
ステップＳ５０２で、クッキー処理部１０４５は、Ｃｏｏｋｉｅ値を、ＣｏｏｋｉｅＩＤと第二の分割秘匿情報に分割する。
【００５４】
ステップＳ５０３で、クッキー処理部１０４５は、ＣｏｏｋｉｅＩＤをキーに秘匿情報ＤＢを検索し、ユーザＩＤと第一の分割秘匿情報を取得する。
【００５５】
ステップＳ５０４で、結合部１０４３は、ステップＳ５０３の処理手順で取得された第一の分割秘匿情報と、ステップＳ５０２の処理手順で得られた第二の分割秘匿情報とを結合した文字列を生成する。
【００５６】
ステップＳ５０５で、復号化部１０４４は、ステップＳ５０４の処理手順で生成された文字列を、ステップＳ３０２の処理手順におけるエンコード処理と同一のアルゴリズム（例えばｂａｓｈ６４）を用いてデコードし、更に、デコードされたデータをステップＳ３０２の処理手順における暗号化処理と同一のアルゴリズム（例えばＡＥＳ）を用いて復号化することで文字列を生成する。
【００５７】
ステップＳ５０６で、復号化部１０４４は、復号化された文字列を「｜」の位置で分割することで、ユーザＩＤ及びＰＷＤを取得する。
【００５８】
ステップＳ５０７で、復号化部１０４４は、ステップＳ５０３の処理手順において秘匿情報ＤＢから検索されたユーザＩＤと、ステップＳ５０６の処理手順で取得されたユーザＩＤとが一致するか否かを確認し、一致する場合は処理を終了する。一致しない場合、復号化部１０４４は、端末１０から送信されたＣｏｏｋｉｅが無効であると判断し、ユーザに再度ユーザＩＤ及びＰＷＤを入力させるために、ログイン画面を端末１０に送信するようにサービス提供部１０２に指示してもよい。
【００５９】
以上、第一の実施の形態について説明した。第一の実施の形態では、従来の技術のように、端末１０が二回目以降にサービス提供装置２０にアクセスする際に用いられる秘匿情報をそのまま端末１０に記憶させるのではなく、当該秘匿情報の一部（第一の分割秘匿情報）をサービス提供装置２０に記憶させ、残り（第二の分割秘匿情報）を端末１０に記憶させるようにした。
【００６０】
これにより、万が一端末１０に記憶された秘匿情報の一部が不正に取得された場合であっても、秘匿情報の一部のみでは秘匿情報を解読することができないことから、セキュリティリスクの発生を抑えることが可能になる。
【００６１】
［第二の実施の形態］
続いて、第二の実施の形態について説明する。第二の実施の形態に係る通信システムは、端末１０及びサービス提供装置２０に加えて、サービス提供装置２０へのログイン処理を代理する代理ログイン装置３０を有する。
【００６２】
第一の実施の形態では、第一の分割秘匿情報と第二の分割秘匿情報とをサービス提供装置２０が生成すると共に、第一の分割秘匿情報をサービス提供装置２０に記憶させるようにした。一方、第二の実施の形態では、第一の分割秘匿情報と第二の分割秘匿情報とを代理ログイン装置３０が生成すると共に、第一の分割秘匿情報を代理ログイン装置３０に記憶させるようにする。その他特に言及しない点については第一の実施の形態と同一でよい。
【００６３】
＜システム構成＞
図９は、第二の実施の形態に係る通信システムの構成例を示す図である。代理ログイン装置３０は、端末１０から受信したユーザＩＤ及びＰＷＤを用いて、サービス提供装置２０へのログインを代理する機能を備える。
【００６４】
＜機能構成＞
図１０は、第二の実施の形態に係るサービス提供装置及び代理ログイン装置の機能構成の一例を示す図である。
【００６５】
（サービス提供装置）
図１０（ａ）に示すように、サービス提供装置２０は、通信部２０１と、サービス提供部２０２と、認証部２０３と、記憶部２０５とを有する。
【００６６】
通信部２０１は、有線又は無線を介してネットワークと接続され、端末１０及び代理ログイン装置３０と通信する機能を有する。
【００６７】
サービス提供部２０２は、端末１０から直接アクセスを受けた場合に、代理ログイン装置３０を介してアクセスさせるために、端末１０にリダイレクトを指示する機能を有する。
【００６８】
認証部２０３は、代理ログイン装置３０から受信したユーザの認証情報と、記憶部２０５に格納されている認証情報ＤＢとを比較することで、ユーザの認証を行う機能を有する。
【００６９】
記憶部２０５は、認証情報ＤＢを記憶する機能を有する。認証情報ＤＢは、第一の実施の形態に係る認証情報ＤＢと同一であるため説明は省略する。
【００７０】
（代理ログイン装置）
図１０（ｂ）に示すように、代理ログイン装置３０は、通信部３０１と、代理ログイン処理部３０２と、秘匿情報処理部３０３と、記憶部３０４とを有する。また、秘匿情報処理部３０３は、暗号化部３０３１と、分割部３０３２と、結合部３０３３と、復号化部３０３４と、クッキー処理部３０３５とを有する。これら各部は、代理ログイン装置３０にインストールされた１以上のプログラムが、代理ログイン装置３０のＣＰＵに実行させる処理により実現され得る。通信部３０１と、代理ログイン処理部３０２と、秘匿情報処理部３０３と、記憶部３０４とは、異なるコンピューターを用いて実現されていてもよいし、更に細かい単位でコンピューターが分散されていてもよい。すなわち、代理ログイン装置３０は、１又は複数のコンピューターを用いて実現されていてもよい。また、当該１又は複数のコンピューターは、仮想化技術を利用した仮想サーバであってもよいし、クラウド上に実装された仮想サーバであってもよい。
【００７１】
通信部３０１は、有線又は無線を介してネットワークと接続され、端末１０及びサービス提供装置２０と通信する機能を有する。代理ログイン処理部３０２は、端末１０とサービス提供装置２０との間でログイン画面の送受信を中継する機能、端末１０から送信された認証情報をサービス提供装置２０に送信することで、ユーザの認証処理を代理する機能等を有する。なお、代理ログイン処理部３０２はＷｅｂサーバ機能及びＷｅｂクライアント機能を含む。
【００７２】
秘匿情報処理部３０３、暗号化部３０３１、分割部３０３２、結合部３０３３、復号化部３０３４、及びクッキー処理部３０３５は、それぞれ、第一の実施の形態に係るサービス提供装置２０の秘匿情報処理部１０４、暗号化部１０４１、分割部１０４２、結合部１０４３、復号化部１０４４、及びクッキー処理部１０４５と同一であるため説明は省略する。
【００７３】
記憶部３０４は、秘匿情報ＤＢを記憶する機能を有する。記憶部３０４は、代理ログイン装置３０が備える記憶装置（メモリ、ＨＤＤ等）、代理ログイン装置３０にネットワークを介して接続可能な記憶装置等を用いて実現可能である。秘匿情報ＤＢは、第一の実施の形態に係る秘匿情報ＤＢと同一であるため説明は省略する。
【００７４】
＜通信システムの動作例＞
（初回ログイン時のシーケンス）
図１１は、第二の実施の形態に係る通信システムの動作例（初回ログイン時）を示すシーケンス図である。図１１に示すシーケンスは、ユーザが端末１０を用いて最初にサービス提供装置２０にログインする際に行われる処理手順を示している。
【００７５】
ステップＳ６０１で、端末１０のＷｅｂブラウザは、ユーザの指示（操作）に従い、サービス提供装置２０のログイン画面にアクセスする。
【００７６】
ステップＳ６０２で、サービス提供装置２０のサービス提供部１０２は、代理ログイン装置３０を介してログイン画面にアクセスさせるため、代理ログイン装置３０にリダイレクトするように端末１０に指示する。
【００７７】
ステップＳ６０３で、端末１０のＷｅｂブラウザは、代理ログイン装置３０にアクセスする。ステップＳ６０４で、代理ログイン装置３０の代理ログイン処理部３０２は、サービス提供装置２０のログイン画面にアクセスする。
【００７８】
ステップＳ６０５で、サービス提供装置２０のサービス提供部１０２は、ログイン画面を代理ログイン装置３０に送信する。ステップＳ６０６で、代理ログイン装置３０の代理ログイン処理部３０２は、ログイン画面を端末１０に送信する。
【００７９】
ステップＳ６０７で、端末１０のＷｅｂブラウザは、ユーザにより入力されたユーザＩＤ及びＰＷＤを代理ログイン装置３０に送信する。ステップＳ６０８で、代理ログイン装置３０の代理ログイン処理部３０２は、ユーザＩＤ及びＰＷＤをサービス提供装置２０に送信する。
【００８０】
ステップＳ６０９で、サービス提供装置２０の認証部２０３は、ステップＳ６０８の処理手順で受信したユーザＩＤ及びＰＷＤが認証情報ＤＢに格納されているか否かを確認することで認証を行う。
【００８１】
ステップＳ６１０で、認証部２０３は、ステップＳ６０９で認証に成功した場合、通信部２０１を介して、認証に成功した旨を示す情報、ログイン後画面を代理ログイン装置３０に送信する。ステップＳ６０９で認証に失敗した場合、認証部２０３は、認証失敗を示す情報を代理ログイン装置３０に送信する。
【００８２】
ステップＳ６１１で、代理ログイン装置３０の秘匿情報処理部３０３は、ステップＳ６１０の処理手順で認証に成功した旨を示す情報を受信した場合、ステップＳ６０７の処理手順で受信したユーザＩＤ及びＰＷＤを暗号化することで秘匿情報を生成し、生成した秘匿情報を分割することで第一の分割秘匿情報及び第二の分割秘匿情報を生成する。具体的な処理手順については、図６と同一であるため説明は省略する。
【００８３】
ステップＳ６１２で、秘匿情報処理部３０３は、端末１０のＷｅｂブラウザに格納させるＣｏｏｋｉｅを生成する。当該Ｃｏｏｋｉｅには第二の分割秘匿情報が含まれる。また、秘匿情報処理部３０３は、ＣｏｏｌｉｅＩＤ、ユーザＩＤ及び第一の分割秘匿情報を秘匿情報ＤＢに格納する。具体的な処理手順については図７と同一であるため説明は省略する。
【００８４】
ステップＳ６１３で、代理ログイン処理部３０２は、通信部３０１を介して、認証に成功した旨を示す情報、ログイン後画面、及びステップＳ６１２の処理手順で生成されたＣｏｏｋｉｅを端末１０に送信する。なお、ステップＳ６１０で認証失敗を示す情報をサービス提供装置２０から受信した場合、代理ログイン処理部３０２は、認証失敗を示す情報を端末１０に送信して処理を終了する。
【００８５】
ステップＳ６１４及びステップＳ６１５の処理手順は、それぞれ図４のステップＳ１０８及びステップＳ１０９の処理手順と同一であるため説明は省略する。
【００８６】
（二回目以降のログイン時のシーケンス）
図１２は、第二の実施の形態に係る通信システムの動作例（二回目以降のログイン時）を示すシーケンス図である。図１２に示すシーケンスは、ユーザが、初回ログイン時に認証に成功した端末１０を用いて二回目以降にサービス提供装置２０にログインする際に行われる処理手順を示している。
【００８７】
ステップＳ７０１及びステップＳ７０２の処理手順は、それぞれ図１１のステップＳ６０１及びステップＳ６０２の処理手順と同一であるため説明は省略する。
【００８８】
ステップＳ７０３で、端末１０のＷｅｂブラウザは、代理ログイン装置３０にアクセスする。このとき、端末１０のＷｅｂブラウザは、図１１のステップＳ６１４の処理手順で記憶したＣｏｏｋｉｅを、ＨＴＴＰ（ＨＴＴＰＳ）リクエストメッセージに含めて代理ログイン装置３０に送信する。
【００８９】
ステップＳ７０４で、代理ログイン装置３０の秘匿情報処理部３０３は、ステップＳ７０３の処理手順で受信したＣｏｏｋｉｅから第二の分割秘匿情報を取得すると共に、ステップＳ７０３の処理手順で受信したＣｏｏｋｉｅに含まれるＣｏｏｋｉｅＩＤをキーとして秘匿情報ＤＢから第一の分割秘匿情報を取得する。秘匿情報処理部３０３は、取得した第一の分割秘匿情報と第二の分割秘匿情報とを結合することで秘匿情報を生成し、生成した秘匿情報を復号化することでユーザＩＤ及びＰＷＤを取得する。具体的な処理手順については図８と同一であるため説明は省略する。
【００９０】
ステップＳ７０５及びステップＳ７０６の処理手順は、それぞれ図１１のステップＳ６０４及びステップＳ６０６の処理手順と同一であるため説明は省略する。
【００９１】
ステップＳ７０７で、代理ログイン装置３０の代理ログイン処理部３０２は、ステップＳ７０４の処理手順で取得したユーザＩＤ及びＰＷＤをサービス提供装置２０に送信する。
【００９２】
ステップＳ７０８で、サービス提供装置２０の認証部２０３は、受信したユーザＩＤ及びＰＷＤが認証情報ＤＢに格納されているか否かを確認することで認証を行う。
【００９３】
ステップＳ７０９で、認証部２０３は、ステップＳ７０８で認証に成功した場合、通信部２０１を介して、認証に成功した旨を示す情報、ログイン後画面を代理ログイン装置３０に送信する。ステップＳ７０８で認証に失敗した場合、認証部２０３は、認証失敗を示す情報を代理ログイン装置３０に送信する。
【００９４】
ステップＳ７１０で、代理ログイン処理部３０２は、通信部３０１を介して、認証に成功した旨を示す情報、ログイン後画面を端末１０に送信する。なお、ステップＳ７０９で認証失敗を示す情報をサービス提供装置２０から受信した場合、代理ログイン処理部３０２は、認証失敗を示す情報を端末１０に送信して処理を終了する。
【００９５】
ステップＳ７１１は、図１１のステップＳ６１５の処理手順と同一であるため説明は省略する。
【００９６】
以上、第二の実施の形態について説明した。第二の実施の形態では、従来の技術のように、端末１０が二回目以降にサービス提供装置２０にアクセスする際に用いられる秘匿情報をそのまま端末１０に記憶させるのではなく、当該秘匿情報の一部（第一の分割秘匿情報）を代理ログイン装置３０に記憶させ、残り（第二の分割秘匿情報）を端末１０に記憶させるようにした。
【００９７】
これにより、万が一端末１０に記憶された秘匿情報の一部が不正に取得された場合であっても、秘匿情報の一部のみでは秘匿情報を解読することができないことから、セキュリティリスクの発生を抑えることが可能になる。
【００９８】
＜実施形態の補足＞
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。実施の形態で述べたシーケンスは、矛盾の無い限り順序を入れ替えてもよい。
【００９９】
以上、実施の形態に係るサービス提供装置２０及び代理ログイン装置３０が有する各機能部は、これらが備えるＣＰＵ及びメモリなどのハードウェア資源を用いて、サービス提供装置２０及び代理ログイン装置３０の各々で実施される処理に対応するプログラムを実行することによって実現することが可能である。また、当該プログラムは、記憶媒体に格納することができる。
【０１００】
なお、各実施の形態において、サービス提供装置２０又は代理ログイン装置３０は、情報処理装置の一例である。第一の分割秘匿情報は、第一の情報の一例である。第二の分割秘匿情報は、第二の情報の一例である。暗号化部１０４１、３０３１、及び分割部１０４２、３０３２は、分割処理手段の一例である。結合部１０４３、３０３３、及び復号化部１０４４、３０３４は、結合処理手段の一例である。
【符号の説明】
【０１０１】
１０  端末
２０  サービス提供装置
３０  代理ログイン装置
１０１、２０１、３０１  通信部
１０２、２０２  サービス提供部
１０３、２０３  認証部
１０４、３０３  秘匿情報処理部
１０５、２０５、３０４  記憶部
１０４１、３０３１  暗号化部
１０４２、３０３２  分割部
１０４３、３０３３  結合部
１０４４、３０３４  復号化部
１０４５、３０３５  クッキー処理部
【図１】
0006571018.tif 000002
【図２】
0006571018.tif 000003
【図３】
0006571018.tif 000004
【図４】
0006571018.tif 000005
【図５】
0006571018.tif 000006
【図６】
0006571018.tif 000007
【図７】
0006571018.tif 000008
【図８】
0006571018.tif 000009
【図９】
0006571018.tif 000010
【図１０】
0006571018.tif 000011
【図１１】
0006571018.tif 000012
【図１２】
0006571018.tif 000013