(57)【特許請求の範囲】
【請求項１】
通信ネットワークに接続されるクライアントと第一のサーバと第二のサーバとを備えるユーザ認証システムであって、
前記第一のサーバが、
前記クライアントを利用するユーザの認証を行って、前記クライアントを利用するユーザが前記第一のサーバの正当なユーザであるか否かを判定する認証部と、
前記クライアントから認証用コード列を受信したときに、前記認証用コード列を送信したクライアントを利用するユーザの認証を前記認証部に行わせ、前記ユーザの認証が成功した場合に、前記第一のサーバを前記第二のサーバと関連付ける第一の関連情報と、前記クライアントから受信した認証用コード列とに基づいて応答用コード列を生成し、前記生成した応答用コード列を前記クライアントへ送信する応答部と、を備え、
前記第二のサーバが、
前記クライアントから前記第二のサーバへのアクセス要求を受信したときに、任意の認証用コード列を生成し、前記生成した認証用コード列と、前記第二のサーバと前記クライアント間のセッションを示すセッション情報とを対応付けて記憶するとともに、前記生成した認証用コード列及び前記セッション情報を前記クライアントへ送信する生成部と、
前記生成部が生成した認証用コード列に基づいて前記第一のサーバの応答部が生成した応答用コード列及びセッション情報を、前記クライアントから受信したときに、前記クライアントから受信したセッション情報と同一のセッション情報を前記生成部が記憶していれば、前記第二のサーバを前記第一のサーバと関連付ける第二の関連情報と、前記同一のセッション情報に対応付けて記憶されている認証用コード列とに基づいて応答用コード列を生成し、前記生成した応答用コード列と前記クライアントから受信した応答用コード列とを比較することにより、前記クライアントに対する前記第二のサーバへのアクセスを許可するか否かを判定する判定部と、を備える、
ユーザ認証システム。
【請求項２】
通信ネットワークに接続されるクライアントと第一のサーバと複数の第二のサーバとを備えるユーザ認証システムであって、
前記第一のサーバが、
前記複数の第二のサーバのそれぞれと対応付けられ、互いに異なる複数の第一の関連情報を記憶する第一の関連情報記憶部と、
前記クライアントを利用するユーザの認証を行って、前記クライアントを利用するユーザが前記第一のサーバの正当なユーザであるか否かを判定する認証部と、
認証用コード列とともに前記認証用コード列を送信した第二のサーバの識別情報を前記クライアントから受信したときに、前記認証用コード列を送信したクライアントを利用するユーザの認証を前記認証部に行わせ、前記ユーザの認証が成功した場合に、更に前記第一の関連情報記憶部に記憶されている、前記クライアントから受信した第二のサーバの識別情報によって特定される第二のサーバに対応する第一の関連情報を選択し、前記選択した第一の関連情報と、前記クライアントから受信した認証用コード列とに基づいて応答用コード列を生成し、前記生成した応答用コード列を前記クライアントへ送信する応答部と、を備え、
前記第二のサーバが、
前記クライアントから前記第二のサーバへのアクセス要求を受信したときに、任意の認証用コード列を生成し、前記生成した認証用コード列を記憶するとともに、前記生成した認証用コード列を前記クライアントへ送信する生成部と、
前記生成部が生成した認証用コード列に基づいて前記第一のサーバの応答部が生成した応答用コード列を、前記クライアントから受信したときに、前記第二のサーバを前記第一のサーバと関連付ける第二の関連情報と、前記生成部が記憶する認証用コード列とに基づいて応答用コード列を生成し、前記生成した応答用コード列と前記クライアントから受信した応答用コード列とを比較することにより、前記クライアントに対する前記第二のサーバへのアクセスを許可するか否かを判定する判定部と、を備える、
ユーザ認証システム。
【請求項３】
前記第一のサーバの応答部は、前記第一の関連情報と、前記クライアントから受信した認証用コード列と、前記クライアントを利用するユーザを識別するための識別用コード列とに基づいて応答用コード列を生成し、前記生成した応答用コード列とともに前記識別用コード列を前記クライアントへ送信し、
前記第二のサーバの判定部は、前記第一のサーバの応答部が生成した応答用コード列とともに識別用コード列を前記クライアントから受信したときに、前記第二の関連情報と、前記生成部が記憶する認証用コード列と、前記クライアントから受信した識別用コード列とに基づいて応答用コード列を生成し、前記生成した応答用コード列と前記クライアントから受信した応答用コード列とを比較することにより、前記クライアントに対する前記第二のサーバへのアクセスを許可するか否かを判定する、
請求項１乃至２のうちのいずれか１項に記載のユーザ認証システム。
【請求項４】
前記第一のサーバの応答部は、前記生成した応答用コード列とともに前記クライアントから受信した認証用コード列を前記クライアントへ送信し、
前記第二のサーバの判定部は、前記第一のサーバの応答部が生成した応答用コード列とともに認証用コード列を前記クライアントから受信したときに、前記クライアントから受信した認証用コード列と同一の認証用コード列を前記生成部が記憶していれば、前記第二の関連情報と、前記同一の認証用コード列とに基づいて応答用コード列を生成し、前記生成した応答用コード列と前記クライアントから受信した応答用コード列とを比較することにより、前記クライアントに対する前記第二のサーバへのアクセスを許可するか否かを判定する、
請求項１乃至３のうちのいずれか１項に記載のユーザ認証システム。
【請求項５】
前記第二のサーバの生成部は、前記生成した認証用コード列とともに前記第一のサーバの識別情報を前記クライアントへ送信し、
前記クライアントは、前記第二のサーバから受信した第一のサーバの識別情報によって特定される第一のサーバへ、前記第二のサーバから受信した認証用コード列を送信し、
前記第一のサーバの応答部は、前記生成した応答用コード列とともに前記第二のサーバの識別情報を前記クライアントへ送信し、
前記クライアントは、前記第一のサーバから受信した第二のサーバの識別情報によって特定される第二のサーバへ、前記第一のサーバから受信した応答用コード列を送信する、
請求項１乃至２のうちのいずれか１項に記載のユーザ認証システム。
【請求項６】
前記第一の関連情報と前記第二の関連情報とは、同一の情報である、
請求項１乃至２のうちのいずれか１項に記載のユーザ認証システム。
【請求項７】
前記通信ネットワークは、第一の通信ネットワークと第二の通信ネットワークとを有し、
前記第一の通信ネットワークから前記第二の通信ネットワークへのアクセスは許可されており、前記第二の通信ネットワークから前記第一の通信ネットワークへのアクセスは禁止されており、
前記クライアントと前記第一のサーバとが前記第一の通信ネットワークに接続され、前記第二のサーバが前記第二の通信ネットワークに接続される、
請求項１乃至６のうちのいずれか１項に記載のユーザ認証システム。
【請求項８】
前記第一のサーバは複数台備えられており、
前記第二のサーバは、
前記複数の第一のサーバのそれぞれと対応付けられ、互いに異なる複数の前記第二の関連情報を有し、
前記第二のサーバの生成部は、前記クライアントから前記第二のサーバへのアクセス要求とともにいずれかの第一のサーバの識別情報を受信したときは、更に前記クライアントから受信した第一のサーバの識別情報を前記生成した認証用コード列とともに記憶し、
前記第二のサーバの判定部は、前記クライアントから前記第一のサーバの応答部が生成した応答用コード列を受信したときに、前記生成部が記憶する第一のサーバの識別情報によって特定される第一のサーバに対応する第二の関連情報を選択し、前記選択した第二の関連情報と、前記生成部が記憶する認証用コード列とに基づいて応答用コード列を生成し、前記生成した応答用コード列と前記クライアントから受信した応答用コード列とを比較することにより、前記クライアントに対する前記第二のサーバへのアクセスを許可するか否かを判定する、
請求項１乃至７のうちのいずれか１項に記載のユーザ認証システム。
【請求項９】
前記第二のサーバは複数台備えられており、
前記第一のサーバは、
前記複数の第二のサーバのそれぞれと対応付けられ、互いに異なる複数の前記第一の関連情報を有し、
前記第一のサーバの応答部は、認証用コード列とともに前記認証用コード列を送信した第二のサーバの識別情報を前記クライアントから受信したときは、更に前記第一の関連情報記憶部に記憶されている、前記クライアントから受信した第二のサーバの識別情報によって特定される第二のサーバに対応する第一の関連情報を選択し、前記選択した第一の関連情報と、前記クライアントから受信した認証用コード列とに基づいて応答用コード列を生成し、前記生成した応答用コード列を前記クライアントへ送信する、
請求項１記載のユーザ認証システム。
【請求項１０】
クライアントからのアクセス要求に基づいて前記クライアントのユーザを認証するユーザ認証装置であって、
前記クライアントから前記ユーザ認証装置へのアクセス要求を受信したときに、任意の認証用コード列を生成し、前記生成した認証用コード列と、前記ユーザ認証装置と前記クライアント間のセッションを示すセッション情報とを対応付けて記憶するとともに、前記生成した認証用コード列とともに前記セッション情報を前記クライアントへ送信する生成部と、
認証サーバが行う前記クライアントを利用するユーザの認証が成功した後に、前記認証サーバを前記ユーザ認証装置と関連付ける第一の関連情報と前記生成部が生成した認証用コード列とに基づいて前記認証サーバが生成した応答用コード列、及びセッション情報を、前記クライアントから受信したときに、前記クライアントから受信したセッション情報と同一のセッション情報を前記生成部が記憶していれば、前記ユーザ認証装置を前記認証サーバと関連付ける第二の関連情報と、前記生成部が記憶する前記同一のセッション情報に対応付けて記憶されている認証用コード列とに基づいて応答用コード列を生成し、前記生成した応答用コード列と前記クライアントから受信した応答用コード列とを比較することにより、前記クライアントに対する前記ユーザ認証装置へのアクセスを許可するか否かを判定する判定部と、
を備えるユーザ認証装置。
【請求項１１】
クライアントからのアクセス要求に基づいて前記クライアントのユーザを認証するユーザ認証装置が行うユーザ認証方法であって、
前記クライアントから前記ユーザ認証装置へのアクセス要求を受信したときに、任意の認証用コード列を生成し、前記生成した認証用コード列と、前記ユーザ認証装置と前記クライアント間のセッションを示すセッション情報とを対応付けて記憶するとともに、前記生成した認証用コード列とともに前記セッション情報を前記クライアントへ送信する第一のステップと、
認証サーバが行う前記クライアントを利用するユーザの認証が成功した後に、前記認証サーバを前記ユーザ認証装置と関連付ける第一の関連情報と前記第一のステップで生成された認証用コード列とに基づいて前記認証サーバが生成した応答用コード列、及びセッション情報を、前記クライアントから受信したときに、前記クライアントから受信したセッション情報と同一のセッション情報を前記生成部が記憶していれば、前記ユーザ認証装置を前記認証サーバと関連付ける第二の関連情報と、前記第一のステップで記憶されている前記同一のセッション情報に対応付けて記憶されている認証用コード列とに基づいて応答用コード列を生成し、前記生成した応答用コード列と前記クライアントから受信した応答用コード列とを比較することにより、前記クライアントに対する前記ユーザ認証装置へのアクセスを許可するか否かを判定する第二のステップと、
を備えるユーザ認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介したユーザ認証の技術に関する。
【背景技術】
【０００２】
一般に、通信ネットワーク上で所定のサービス（例えば、Ｗｅｂサイトの提供サービスやＷｅｂアプリケーションの実行サービス等）を提供するサーバの多くは、そのサーバが認める正当なユーザにそのサービスを提供するために、ネットワークを介したユーザ認証を行う。ネットワークを介したユーザ認証の方式の一つとして、例えば、特許文献１に開示されているようなチャレンジアンドレスポンス方式が知られている。
【０００３】
【特許文献１】特開２００５−３０１５７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ネットワークを介したユーザ認証を行うサーバでは、そのサーバが認める正当なユーザごとに、それぞれに関する個人情報が登録される。登録される個人情報には、様々なものがあり、サーバは、提供するサービスの種類に応じて、登録する個人情報の内容を定めることができる。サーバに登録され得る個人情報としては、例えば、ユーザＩＤやユーザ認証の成否を決定する認証情報（例えば、ユーザ認証にパスワードが利用される場合は、パスワード）や氏名や住所や性別やユーザが勤務する会社名や所属部署等がある。このうち、ユーザ認証を行う上では、少なくもユーザＩＤや認証情報の登録が必須となる。例えば、サーバが提供するサービスが、ユーザ管理を厳密に行う必要があるサービス（例えば、会社がその従業員に提供する社内システムや、銀行等の金融機関が提供するサービス等）である場合は、上記ユーザＩＤや認証情報に加えて、個人を特定するために氏名や住所等が、サーバに登録される。一方、サーバが提供するサービスが、ユーザ管理をそれ程厳密に行わないサービスである場合は、ユーザＩＤや認証情報以外の個人情報は、必ずしも登録される必要はない。しかしその反面、氏名や住所等が登録されなければ、サーバは、そのユーザがどんな人物であるかを特定できなくなる。
【０００５】
ところで、サーバが提供するサービスの種類によっては、その情報単独でも個人がある程度特定され得る個人情報（例えば、氏名や住所等）の登録を必要としなくとも、身元の保証されたユーザ（サーバが、その個人を正確に特定できなくとも、どんな人物であるかを把握できるユーザ）に、そのサービスを提供できるようにすることが望まれる場合がある。例えば、コミュニティサイトの提供サービスが、その例の一つである。コミュニティサイトの提供サービスでは、個人がある程度特定され得る個人情報の登録をユーザに要求することが、多くのユーザの獲得を図る上で、弊害となる場合がある。ユーザは、そのような個人情報を登録してまでそのサービスを利用しようとは思わないことがあるからである。その一方で、そのサービスを提供するサーバは、そのユーザが、どんな人物であるかをある程度把握したい場合がある。個人が特定されないことをよいことに、ユーザが、そのサービスを不正に利用する（例えば、掲示板で他人を中傷する等）ことがあるからである。
【０００６】
そこで、本発明の目的は、サービスを提供するサーバが、個人がある程度特定され得る個人情報の登録を要することなく、身元の保証されたユーザにそのサービスを提供できるようにすることである。
【課題を解決するための手段】
【０００７】
本発明の一実施態様に従うユーザ認証システムは、通信ネットワークに接続されるクライアントと第一のサーバと第二のサーバとを備えるユーザ認証システムであって、前記第一のサーバが、前記クライアントを利用するユーザの認証を行って、前記クライアントを利用するユーザが前記第一のサーバの正当なユーザであるか否かを判定する認証部と、前記クライアントから認証用コード列を受信したときに、前記認証用コード列を送信したクライアントを利用するユーザの認証を前記認証部に行わせ、前記ユーザの認証が成功した場合に、前記第一のサーバを前記第二のサーバと関連付ける第一の関連情報と、前記クライアントから受信した認証用コード列とに基づいて応答用コード列を生成し、前記生成した応答用コード列を前記クライアントへ送信する応答部と、を備える。また、前記第二のサーバが、前記クライアントから前記第二のサーバへのアクセス要求を受信したときに、任意の認証用コード列を生成し、前記生成した認証用コード列を記憶するとともに、前記生成した認証用コード列を前記クライアントへ送信する生成部と、前記生成部が生成した認証用コード列に基づいて前記第一のサーバの応答部が生成した応答用コード列を、前記クライアントから受信したときに、前記第二のサーバを前記第一のサーバと関連付ける第二の関連情報と、前記生成部が記憶する認証用コード列とに基づいて応答用コード列を生成し、前記生成した応答用コード列と前記クライアントから受信した応答用コード列とを比較することにより、前記クライアントに対する前記第二のサーバへのアクセスを許可するか否かを判定する判定部と、を備える。
【０００８】
これにより、第二のサーバは、第二のサーバの正当なユーザが第一のサーバの正当なユーザであることを根拠として、第二のサーバの正当なユーザがどんな人物であるかをある程度把握できるようになる。
【０００９】
好適な実施形態では、前記第一のサーバの応答部は、前記第一の関連情報と、前記クライアントから受信した認証用コード列と、前記クライアントを利用するユーザを識別するための識別用コード列とに基づいて応答用コード列を生成し、前記生成した応答用コード列とともに前記識別用コード列を前記クライアントへ送信し、前記第二のサーバの判定部は、前記第一のサーバの応答部が生成した応答用コード列とともに識別用コード列を前記クライアントから受信したときに、前記第二の関連情報と、前記生成部が記憶する認証用コード列と、前記クライアントから受信した識別用コード列とに基づいて応答用コード列を生成し、前記生成した応答用コード列と前記クライアントから受信した応答用コード列とを比較することにより、前記クライアントに対する前記第二のサーバへのアクセスを許可するか否かを判定することができる。
【００１０】
これにより、両サーバ（第一のサーバ及び第二のサーバ）では、第一のサーバから第二のサーバへ通知される情報（ユーザを識別する情報）を含めてレスポンスが生成されるので、第一のサーバから第二のサーバへ通知される情報の改ざんの検出が可能となる。
【００１１】
好適な実施形態では、前記第一のサーバの応答部は、前記生成した応答用コード列とともに前記クライアントから受信した認証用コード列を前記クライアントへ送信し、前記第二のサーバの判定部は、前記第一のサーバの応答部が生成した応答用コード列とともに認証用コード列を前記クライアントから受信したときに、前記クライアントから受信した認証用コード列と同一の認証用コード列を前記生成部が記憶していれば、前記第二の関連情報と、前記同一の認証用コード列とに基づいて応答用コード列を生成し、前記生成した応答用コード列と前記クライアントから受信した応答用コード列とを比較することにより、前記クライアントに対する前記第二のサーバへのアクセスを許可するか否かを判定することができる。
【００１２】
好適な実施形態では、前記第二のサーバの生成部は、前記生成した認証用コード列と、前記第二のサーバと前記クライアント間のセッションを示すセッション情報とを対応付けて記憶するとともに、前記生成した認証用コード列とともに前記セッション情報を前記クライアントへ送信し、前記第二のサーバの判定部は、前記第一のサーバの応答部が生成した応答用コード列とともにセッション情報を前記クライアントから受信したときに、前記クライアントから受信したセッション情報と同一のセッション情報を前記生成部が記憶していれば、前記第二の関連情報と、前記同一のセッション情報に対応付けて記憶されている認証用コード列とに基づいて応答用コード列を生成し、前記生成した応答用コード列と前記クライアントから受信した応答用コード列とを比較することにより、前記クライアントに対する前記第二のサーバへのアクセスを許可するか否かを判定することができる。
【００１３】
好適な実施形態では、前記第二のサーバの生成部は、前記生成した認証用コード列とともに前記第一のサーバの識別情報を前記クライアントへ送信し、前記クライアントは、前記第二のサーバから受信した第一のサーバの識別情報によって特定される第一のサーバへ、前記第二のサーバから受信した認証用コード列を送信し、前記第一のサーバの応答部は、前記生成した応答用コード列とともに前記第二のサーバの識別情報を前記クライアントへ送信し、前記クライアントは、前記第一のサーバから受信した第二のサーバの識別情報によって特定される第二のサーバへ、前記第一のサーバから受信した応答用コード列を送信することができる。
【００１４】
好適な実施形態では、前記第一の関連情報と前記第二の関連情報とは、同一の情報であってもよい。
【００１５】
好適な実施形態では、前記通信ネットワークは、第一の通信ネットワークと第二の通信ネットワークとを有し、前記第一の通信ネットワークから前記第二の通信ネットワークへのアクセスは許可されており、前記第二の通信ネットワークから前記第一の通信ネットワークへのアクセスは禁止されており、前記クライアントと前記第一のサーバとが前記第一の通信ネットワークに接続され、前記第二のサーバが前記第二の通信ネットワークに接続されてもよい。
【００１６】
好適な実施形態では、前記第一のサーバは複数台備えられており、前記第二のサーバは、前記複数の第一のサーバのそれぞれと対応付けられ、互いに異なる複数の前記第二の関連情報を有し、前記第二のサーバの生成部は、前記クライアントから前記第二のサーバへのアクセス要求とともにいずれかの第一のサーバの識別情報を受信したときは、更に前記クライアントから受信した第一のサーバの識別情報を前記生成した認証用コード列とともに記憶し、前記第二のサーバの判定部は、前記クライアントから前記第一のサーバの応答部が生成した応答用コード列を受信したときに、前記生成部が記憶する第一のサーバの識別情報によって特定される第一のサーバに対応する第二の関連情報を選択し、前記選択した第二の関連情報と、前記生成部が記憶する認証用コード列とに基づいて応答用コード列を生成し、前記生成した応答用コード列と前記クライアントから受信した応答用コード列とを比較することにより、前記クライアントに対する前記第二のサーバへのアクセスを許可するか否かを判定することができる。
【００１７】
好適な実施形態では、前記第二のサーバは複数台備えられており、前記第一のサーバは、前記複数の第二のサーバのそれぞれと対応付けられ、互いに異なる複数の前記第一の関連情報を有し、前記第一のサーバの応答部は、認証用コード列とともに前記認証用コード列を送信した第二のサーバの識別情報を前記クライアントから受信したときは、更に前記第一の関連情報記憶部に記憶されている、前記クライアントから受信した第二のサーバの識別情報によって特定される第二のサーバに対応する第一の関連情報を選択し、前記選択した第一の関連情報と、前記クライアントから受信した認証用コード列とに基づいて応答用コード列を生成し、前記生成した応答用コード列を前記クライアントへ送信することができる。
【００１８】
本発明の一実施態様に従うユーザ認証装置は、クライアントからのアクセス要求に基づいて前記クライアントのユーザを認証するユーザ認証装置であって、前記クライアントから前記ユーザ認証装置へのアクセス要求を受信したときに、任意の認証用コード列を生成し、前記生成した認証用コード列を記憶するとともに、前記生成した認証用コード列を前記クライアントへ送信する生成部と、認証サーバが行う前記クライアントを利用するユーザの認証が成功した後に、前記認証サーバを前記ユーザ認証装置と関連付ける第一の関連情報と、前記生成部が生成した認証用コード列とに基づいて前記認証サーバが生成した応答用コード列を、前記クライアントから受信したときに、前記ユーザ認証装置を前記認証サーバと関連付ける第二の関連情報と、前記生成部が記憶する認証用コード列とに基づいて応答用コード列を生成し、前記生成した応答用コード列と前記クライアントから受信した応答用コード列とを比較することにより、前記クライアントに対する前記ユーザ認証装置へのアクセスを許可するか否かを判定する判定部と、を備える。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照しながら本発明の幾つかの実施形態について詳細に説明する。
【００２０】
図１は、本発明の第一の実施形態に係るユーザ認証システムの構成例を示す図である。
【００２１】
ここでは、わかりやすくイメージするために、ホームサイトとは別にログインを試みるサーバの一例として、コミュニティサイト（以下、「コムサイト」と記述する）を運用するサーバを想定する。もちろん、コミュニティサイトに限らず、あらゆる用途のサーバが、ログインを試みるサーバとして適用されても良い。
【００２２】
クライアント１と、コムサイトサーバ２と、２つのホームサイトサーバ３Ａ、３Ｂとが、それぞれ通信ネットワーク４を介して接続されている。通信ネットワーク４は、インターネットやＬＡＮ（Local Area Network）等である。本実施形態では、説明の便宜上、通信ネットワーク４に接続されるホームサイトサーバの数を２つとしているが、この数を１つとしてもよいし、３つ以上としてもよい。
【００２３】
クライアント１は、通信ネットワーク４に接続されたサーバ（コムサイトサーバ２やホームサイトサーバ３等）にアクセスする計算機（例えば、パーソナルコンピュータ）である。クライアント１は、例えば、Ｗｅｂページを閲覧するためのアプリケーションであるＷｅｂブラウザ１１を備える。クライアント１のユーザは、Ｗｅｂブラウザ１１を利用することで、通信ネットワーク４を介してコムサイトサーバ２やホームサイトサーバ３が提供するＷｅｂサイト２２，３２にアクセスし、そのＷｅｂサイト２２，３２に含まれるＷｅｂページを閲覧することができる。具体的には、例えば、Ｗｅｂブラウザ１１は、クライアント１のユーザからの指示に従って、閲覧の対象となるＷｅｂページのＵＲＬ（Uniform Resource Locator）を指定した、Ｗｅｂサイト２２，３２へのアクセス要求を、コムサイトサーバ２やホームサイトサーバ３へ送信する。アクセス要求を受信したコムサイトサーバ２やホームサイトサーバ３は、そのアクセス要求において指定されたＵＲＬによって特定されるＷｅｂページを、Ｗｅｂブラウザ１１へ送信する。コムサイトサーバ２やホームサイトサーバ３からＷｅｂページを受信したＷｅｂブラウザ１１は、クライアント１が備えるディスプレイ（図示しない）に、その受信したＷｅｂページを表示する。
【００２４】
ホームサイトサーバ３は、所定のＷｅｂページ群であるＷｅｂサイト３２（アクセスするために、例えば、個人がある程度特定され得る個人情報（例えば、氏名や住所等であり、以下、「第一種個人情報」という）が登録されるＷｅｂサイトであり、例えば、社内システムを運用するＷｅｂサイト等）を、通信ネットワーク４を介して、クライアント１のユーザに提供する計算機（サーバマシン）である。ホームサイトサーバ３は、特定のユーザ（例えば、Ｗｅｂサイト３２が社内システムを運用するＷｅｂサイトである場合は、その会社の従業員）に、そのＷｅｂサイト３２へのアクセスを許可する。従って、例えば、ホームサイトサーバ３は、そのＷｅｂサイト３２へのアクセスを許可するユーザを、予めサーバ３に登録しておく。そして、ホームサイトサーバ３は、クライアント１のＷｅｂブラウザ１１からＷｅｂサイト３２へのアクセス要求を受信したとき、所望のＷｅｂページをクライアント１に送信する前に、そのアクセス要求を出したクライアント１のユーザの認証を行う。このユーザ認証では、アクセス要求を出したクライアント１のユーザが、ホームサイトサーバ３に登録されている、Ｗｅｂサイト３２へのアクセスを許可される正当なユーザ（以下、「ホームサイト登録ユーザ」）であるか否かが判定される。アクセス要求を出したクライアント１のユーザが正当なユーザ（ホームサイト登録ユーザ）であると判定された場合に、ホームサイトサーバ３は、そのアクセス要求において指定されたＵＲＬによって特定されるＷｅｂページを、クライアント１のＷｅｂブラウザ１１に送信する。
【００２５】
本実施形態では、上述したような、ホームサイトサーバ３のＷｅｂサイト３２（或いは、コムサイト応答部３５）へのアクセス要求を出したユーザについて、正当なユーザ（ホームサイト登録ユーザ）であるか否かを判定するユーザ認証を、「ホームサイト認証」と呼ぶこととする。ホームサイト認証は、通常の通信ネットワーク４を介したユーザ認証である。これに対し、コムサイトサーバ２のＷｅｂサイト２２へのアクセス要求を出したユーザについて、正当なユーザ（コムサイトサーバ２のＷｅｂサイト２２にアクセスできるユーザ）であるか否かを判定するユーザ認証を、「コムサイト認証」と呼ぶこととする。ホームサイト認証は、上述したように、アクセス要求を受信したホームサイトサーバ３によって行われる（即ち、サーバ３単独で行われる）。一方、コムサイト認証は、アクセス要求を受信したコムサイトサーバ２と、アクセス要求を出したユーザのホームサイトサーバ３（アクセス要求を出したユーザをホームサイト登録ユーザとして登録しているホームサイトサーバ３）とが連携することによって行われる。まず、図２を参照して、コムサイト認証の大まかな流れを説明する。
【００２６】
図２は、本実施形態に係るコムサイト認証の概要を示す図である。
【００２７】
コムサイト認証には、例えば、チャレンジアンドレスポンス方式のようなユーザ認証方式（即ち、２つの装置の各々において、両者のみが知り得る情報を利用して同一のコード列に対して所定の演算を施して、それらの結果が一致するか否かによりユーザが正当か否かを判定するユーザ認証方式）が採用される。通常、チャレンジアンドレスポンス方式では、上記２つの装置とは、認証を行う側の装置と認証の相手側の装置である。そして、認証を行う側がチャレンジの生成と受信したレスポンスの判定とを行い、認証の相手側がチャレンジに対するレスポンスの生成を行う。本実施形態におけるコムサイト認証では、認証を行う側である、アクセス要求を受信したコムサイトサーバ２が、上記所定の演算の対象となる任意のランダムなコード列である認証用コード列（以下、便宜上、「チャレンジ」と呼ぶ）の生成（同図（４））と、受信した応答用のコード列（上記ランダムなコード列に対して所定の演算を施して得られたコード列であり、以下、便宜上、「レスポンス」と呼ぶ）の判定（同図（１６））とを行うが、認証の相手側であるクライアント１ではなく、認証の相手側であるクライアント１のユーザのホームサイトサーバ３が、レスポンスの生成（同図（１３））を行う。コムサイト認証の大まかな流れは、次の通りである。尚、（９）〜（１１）の処理は、ホームサイト認証の処理である。（７）の判定の結果に応じて、（８）〜（１２）の処理が行われずに、（７）の処理の後に（１３）の処理が行われることもある。
（１）クライアント１のユーザが、コムサイトサーバ２のＷｅｂサイト２２へアクセス要求を出す。
（２）Ｗｅｂサーバ部２１が、クライアント１のユーザを相手とするコムサイト認証を行う必要があるかどうかを判定する。
（３）Ｗｅｂサーバ部２１が、コムサイト認証部２３にコムサイト認証の依頼をする。
（４）コムサイト認証部２３が、チャレンジを生成する。
（５）コムサイト認証部２３が、ホームサイトサーバ３へのアクセス指示の応答（（４）で生成したチャレンジがパラメータとして含まれる）をクライアント１へ送信する。
（６）クライアント１が、コムサイト応答部３５へアクセス要求（（４）で生成したチャレンジがパラメータとして含まれる）を出す。
（７）コムサイト応答部３５が、クライアント１のユーザを相手とするホームサイト認証を行う必要があるかどうかを判定する。
（８）コムサイト応答部３５が、ホームサイト認証部３３にホームサイト認証の依頼をする。
（９）ホームサイト認証部３３が、クライアント１に認証情報（例えば、パスワード）を要求する。
（１０）クライアント１が、ユーザが入力した認証情報をホームサイト認証部３３へ送信する。
（１１）ホームサイト認証部３３が、受信した認証情報が正当か否かを判定する。
（１２）ホームサイト認証部３３が、ホームサイト認証の結果（（１１）の判定の結果）をコムサイト応答部３５へ通知する。
（１３）コムサイト応答部３５が、チャレンジ（（６）で受信したもの）に基づいてレスポンスを生成する。
（１４）コムサイト応答部３５が、コムサイトサーバ２へのアクセス指示の応答（（１３）で生成したレスポンスがパラメータとして含まれる）をクライアント１へ送信する。
（１５）クライアント１が、コムサイト認証部２３へアクセス要求（（１３）で生成したレスポンスがパラメータとして含まれる）を出す。
（１６）コムサイト認証部２３が、受信したレスポンスが正当か否かを判定する。
【００２８】
図１に戻る。図２で説明したように、ホームサイトサーバ３は、コムサイト認証における一部の処理（コムサイトサーバ２のＷｅｂサイト２２へのアクセス要求を出したユーザが正当か否かの判定（図２（１１））やレスポンスの生成（図２（１３））等）を行う。後述するように、コムサイトサーバ２は、ホームサイト登録ユーザに、自己（コムサイトサーバ２）のＷｅｂサイト２２へのアクセスを許可する。従って、コムサイトサーバ２のＷｅｂサイト２２へのアクセス要求を出したユーザ（以下、「コムサイトアクセスユーザ」）が正当か否かは、そのユーザがホームサイト登録ユーザであるか否かにより決定される。そのため、図２で説明したように、ホームサイトサーバ３は、コムサイトアクセスユーザを相手としてホームサイト認証を行うことで、そのユーザが正当か否かを判定する。ホームサイトサーバ３は、コムサイトアクセスユーザを相手としたホームサイト認証に成功した場合（コムサイトアクセスユーザが、自己のホームサイト登録ユーザである場合）に、そのユーザを正当なユーザと判定する。尚、ホームサイトサーバ３が複数ある場合に、コムサイトアクセスユーザのホームサイトサーバ３以外のホームサイトサーバ３（例えば、コムサイトアクセスユーザのホームサイトサーバ３をホームサイトサーバＡとすれば、それ以外のホームサイトサーバ３であるホームサイトサーバＢ）がこの認証を行えば、本来は正当であるユーザも不当と判定されてしまう。そのため、この認証は、コムサイトアクセスユーザのホームサイトサーバ３（上記の例の場合は、ホームサイトサーバＡ）において行われる必要がある。ホームサイトサーバ３は、コムサイトアクセスユーザが正当であると判定された場合に、コムサイトサーバ２から受け取ったチャレンジに基づいてレスポンスを生成する。そして、ホームサイトサーバ３は、生成したレスポンスをコムサイトサーバ２へ渡す。コムサイトサーバ２とホームサイトサーバ３間におけるチャレンジとレスポンスの受け渡しは、図２で示したとおり、コムサイトアクセスユーザが利用するクライアント１を介して行われる。
【００２９】
ホームサイトサーバ３は、例えば、Ｗｅｂサーバ部３１と、ホームサイト認証部３３と、コムサイト応答部３５とを備える。
【００３０】
Ｗｅｂサーバ部３１は、クライアント１から受信したＷｅｂサイト３２へのアクセス要求に対して、クライアント１へ所定の応答を返す機能ブロックである。Ｗｅｂサーバ部３１には、ホームサイトサーバ３がクライアント１のユーザに提供するＷｅｂサイト３２（Ｗｅｂページ群）が備えられる。例えば、Ｗｅｂサーバ部３１は、クライアント１のＷｅｂブラウザ１１からＷｅｂサイト３２へのアクセス要求を受信したとき、既にそのクライアント１のユーザを相手としたホームサイト認証が行われておりそのユーザがホームサイト登録ユーザであると判定されているのか、それとも未だそのクライアント１のユーザを相手としたホームサイト認証が行われていないのかを判定する。この判定は、例えば、Ｗｅｂサイト３２へのアクセス要求とともに受信するクッキー（Cookie）の情報を参照することにより行われる。既にそのクライアント１のユーザがホームサイト登録ユーザであると判定されている場合は、Ｗｅｂサーバ部３１は、そのアクセス要求において指定されたＵＲＬによって特定されるＷｅｂページを、Ｗｅｂサイト３２から選択する。そして、Ｗｅｂサーバ部３１は、アクセス要求を行ったクライアント１のＷｅｂブラウザ１１へ、選択したＷｅｂページを送信する。一方、未だそのクライアント１のユーザを相手としたホームサイト認証が行われていない場合は、Ｗｅｂサーバ部３１は、ホームサイト認証部３３に、そのクライアント１のユーザを相手としたホームサイト認証を行わせる。
【００３１】
ホームサイト認証部３３は、ホームサイト認証を行う機能ブロックである。即ち、ホームサイト認証部３３は、Ｗｅｂサイト３２或いはコムサイト応答部３５にアクセス要求を出したクライアント１のユーザが、ホームサイトサーバ３に予め登録されている、Ｗｅｂサイト３２へのアクセスを許可される正当なユーザ（ホームサイト登録ユーザ）であるか否かを判定する。ホームサイト認証部３３が備える記憶部（図示しない）には、ホームサイト登録ユーザテーブル３４が記憶される。ホームサイト登録ユーザテーブル３４には、ホームサイト登録ユーザごとに、それぞれの個人情報が記録される。ホームサイト登録ユーザテーブル３４の詳細については、後述する。
【００３２】
ホームサイト認証には、例えば、パスワードが利用される。ホームサイト認証にパスワードが利用される場合は、ホームサイトサーバ３には、ホームサイト登録ユーザとともに、その各々のユーザＩＤとパスワードが登録される（ユーザＩＤとパスワードは、ホームサイト登録ユーザテーブル３４に登録される）。この場合のホームサイト認証の流れは、例えば、次のようになる。即ち、まず、ホームサイト認証部３３は、アクセス要求を出したクライアント１のＷｅｂブラウザ１１に、ユーザＩＤとパスワードの入力を行わせるためのＷｅｂページ（ログイン用のＷｅｂページ）を送信する（図２（９））。Ｗｅｂブラウザ１１は、受信したログイン用のＷｅｂページを表示してクライアント１のユーザからユーザＩＤとパスワードの入力を受け付ける。そして、Ｗｅｂブラウザ１１は、その受け付けたユーザＩＤとパスワードを、ホームサイト認証部３３に送信する（図２（１０））。ホームサイト認証部３３は、Ｗｅｂブラウザ１１から受信したユーザＩＤとパスワードが、ホームサイト登録ユーザテーブル３４に登録されているホームサイト登録ユーザのユーザＩＤとパスワードに一致するかどうかを判定する（図２（１１））。それらが一致した場合に、ホームサイト認証部３３は、アクセス要求を出したクライアント１のユーザを、ホームサイト登録ユーザと判定する。
【００３３】
コムサイト応答部３５は、コムサイト認証における一部の処理（コムサイトアクセスユーザが正当か否かの判定（この判定はホームサイト認証部３３に行わせる）とレスポンスの生成）を行う機能ブロックである。コムサイト応答部３５は、コムサイトサーバ２から受け取ったチャレンジに対するレスポンスを生成するレスポンス生成部３６を備える。また、コムサイト応答部３５が備える記憶部（図示しない）には、プリシェアド情報３７が記憶される。プリシェアド情報３７とは、コムサイトサーバ２とホームサイトサーバ３とを関連付ける、両者のみが知り得る情報であり、レスポンスの生成に利用される情報である。例えば、関連付けられたコムサイトサーバ２とホームサイトサーバ３は、それぞれが保持するプリシェアド情報を、同一の情報とすることができる。本実施形態では、関連付けられたコムサイトサーバ２とホームサイトサーバ３は、互いに同一のプリシェアド情報を共有するものとするが、それらが保持するプリシェアド情報は、必ずしも同一である必要はない。例えば、関連付けられたコムサイトサーバ２とホームサイトサーバ３とが、相手が行うレスポンス生成のための演算処理を知っており或いは推測して、同じ計算結果になるように計算できる場合等は、それぞれが保持するプリシェアド情報が異なることもある。プリシェアド情報３７としては、例えば、レスポンスの生成に利用されるキーや、レスポンスを生成するためのアルゴリズムを示す情報（どのような演算方法でレスポンスを生成すればよいかを特定する情報）等を採用することができる。
【００３４】
コムサイト応答部３５が行う処理（以下、「応答処理」）は、例えば、コムサイト応答部３５がコンピュータプログラムによって実現される場合は、そのプログラムをアクセス先とするアクセス要求（アクセス先を示す情報にそのプログラム名が含まれるアクセス要求）を受信することにより、その実行が開始される。このアクセス要求を出すユーザは、通常、コムサイトサーバ２のＷｅｂサイト２２へアクセス要求を出したユーザ（即ち、コムサイトアクセスユーザ）である。尚、コムサイトアクセスユーザ以外のユーザからアクセス要求を受信した場合は、コムサイト応答部３５は、必ずしも応答処理を実行する必要はない。アクセス要求とともにチャレンジが渡されなければ、コムサイト応答部３５は、レスポンスの生成を行えないからである。
【００３５】
応答処理の流れは、例えば、次のようになる。即ち、コムサイト応答部３５は、まず、既にそのコムサイトアクセスユーザを相手としたホームサイト認証が行われておりそのユーザがホームサイト登録ユーザであると判定されているのか、それとも未だそのコムサイトアクセスユーザを相手としたホームサイト認証が行われていないのかを判定する（図２（７））。この判定は、Ｗｅｂサーバ部３１が行う判定と同様に、例えば、コムサイト応答部３５へのアクセス要求とともに受信するクッキーの情報を参照することにより行われる。未だそのコムサイトアクセスユーザを相手としたホームサイト認証が行われていない場合は、コムサイト応答部３１は、ホームサイト認証部３３に、そのコムサイトアクセスユーザを相手としたホームサイト認証を行わせる（図２（８））。このホームサイト認証に成功した場合、或いは、既にそのコムサイトアクセスユーザがホームサイト登録ユーザであると判定されている場合は、コムサイト応答部３１は、レスポンス生成部３６に、レスポンスの生成を行わせる。レスポンス生成部３６は、プリシェアド情報３７を利用して、アクセス要求とともに受け取ったチャレンジに対するレスポンスを生成する（図２（１３））。
【００３６】
その後、コムサイト応答部３５は、このコムサイト認証のその後の処理（レスポンスの判定（図２（１６）））を行うサーバ（即ち、コムサイトサーバ２）へのアクセスを指示する応答（以下、「アクセス指示応答」）を、ホームサイトアクセスユーザが利用するクライアント１のＷｅｂブラウザ１１へ送信する（図２（１４））。このアクセス指示応答には、例えば、アクセス先を示す情報や、コムサイトサーバ２から受信したチャレンジや、レスポンス生成部３６が生成したレスポンスや、このコムサイト認証の相手とされているコムサイトアクセスユーザに関する個人情報（個人がほとんど特定されない程度の個人情報（例えば、ユーザＩＤや性別等であり、以下、「第二種個人情報」という））等が含まれる。このアクセス指示応答に含まれる情報のうち、レスポンス生成部３６が生成したレスポンス以外の情報については、アクセス指示応答に含めるか否かは任意である。例えば、クライアント１が、その後のアクセス先となるコムサイトサーバ２を示す情報（ドメイン名やプログラム名等）を保持している場合は、上記アクセス先を示す情報は、このアクセス指示応答に必ずしも含まれなくともよい。また、コムサイトサーバ２が、レスポンスを送信してきたクライアント１のユーザの確認を行うためにクライアント１に発行したチャレンジを利用する場合は、コムサイトサーバ２から受信したチャレンジが、このアクセス指示応答に含められる。
【００３７】
このアクセス指示応答に含められる、コムサイトアクセスユーザに関する第二種個人情報は、例えば、コムサイトサーバ２とホームサイトサーバ３間で予め行われた取り決め（例えば、ホームサイトサーバ３がどの程度の情報をコムサイトサーバ２へ開示するか等を定めた取り決め）に基づいて定められる。尚、アクセス指示応答に含められるユーザＩＤは、ホームサイト認証に用いられるユーザＩＤとは別個のユーザＩＤ（例えば、後述するコムサイト用ＩＤ）とされる。ホームサイトサーバ３がホームサイト登録ユーザを識別するためのユーザＩＤと、コムサイトサーバ２がその正当なユーザを識別するためのユーザＩＤとを同一にすることは、好ましくないからである。また、ホームサイト認証に用いられるユーザＩＤに加えてパスワードも、通常、アクセス指示応答には含まれない。ホームサイト認証に用いられるユーザＩＤやパスワードが、ホームサイト認証を行うサーバ以外のサーバであるコムサイトサーバ２に通知されるのは、セキュリティ上、好ましくないからである。
【００３８】
アクセス先を示す情報としては、例えば、通信ネットワーク４上におけるコムサイトサーバ２の場所（ドメイン名）やアクセスした際に実行されるプログラム名が埋め込まれたＵＲＬとすることができる。アクセス先を示す情報をＵＲＬとする場合は、例えば、アクセス指示応答を、ＵＲＬによって示されるアクセス先に自動的に転送されるリダイレクトの応答とすることができる。また、アクセス先を示す情報をＵＲＬとする場合は、コムサイト応答部３５は、アクセス指示応答に含められる全ての情報をそのＵＲＬに埋め込んで、クライアント１に渡すことができる。尚、コムサイト応答部３５は、アクセス指示応答に含められるアクセス先を示す情報以外の情報を、ＵＲＬには埋め込まずにＰｏｓｔデータとして、クライアント１に渡すこともできる。
【００３９】
アクセス指示応答を受信したクライアント１のＷｅｂブラウザ１１は、その応答に含まれるアクセス先を示す情報によって特定されるアクセス先へアクセスする（図２（１５））。クライアント１がその後のアクセス先となるコムサイトサーバ２を示す情報を保持しており、上記アクセス指示応答にアクセス先を示す情報が含まれていない場合は、クライアント１は、自己が保持するアクセス先を示す情報によって特定されるアクセス先（即ち、コムサイトサーバ２）へアクセスすることができる。この際、アクセス指示応答に含まれている全ての情報が、アクセス先に渡される。以上により、ホームサイトサーバ３のコムサイト応答部３５において生成されたレスポンスが、コムサイトサーバ２のレスポンス判定部２５に渡される。
【００４０】
コムサイトサーバ２は、所定のＷｅｂページ群であるＷｅｂサイト（例えば、個人がある程度特定され得る個人情報（即ち、第一種個人情報）の登録なしでアクセスできることが望まれるＷｅｂサイトであり、例えば、コミュニティサイト等）２２を、通信ネットワーク４を介して、クライアント１のユーザに提供する計算機（サーバマシン）である。コムサイトサーバ２は、ホームサイトサーバ３のＷｅｂサイト３２にアクセスすることができるユーザ（即ち、ホームサイト登録ユーザ）に、自己（コムサイトサーバ２）のＷｅｂサイト２２へのアクセスを許可する。尚、ホームサイトサーバ３が複数ある場合は、全てのホームサイトサーバ３（本実施形態では、ホームサイトサーバＡとホームサイトサーバＢ）のそれぞれのホームサイト登録ユーザが、コムサイトサーバ２のＷｅｂサイト２２へのアクセスを許可される。以下、コムサイトサーバ２がそのＷｅｂサイト２２へのアクセスを許可するユーザを、「コムサイト正当ユーザ」と呼ぶ。例えば、本実施形態の場合は、コムサイト正当ユーザは、ホームサイトサーバＡのホームサイト登録ユーザと、ホームサイトＢのホームサイト登録ユーザとの集合となる。
【００４１】
コムサイトサーバ２は、例えば、Ｗｅｂサーバ部２１と、コムサイト認証部２３とを備える。
【００４２】
Ｗｅｂサーバ部２１は、クライアント１から受信したＷｅｂサイト２２へのアクセス要求に対して、クライアント１へ所定の応答を返す機能ブロックである。Ｗｅｂサーバ部２１は、ホームサイトサーバ３におけるＷｅｂサーバ部３１と実質的に同じである。即ち、Ｗｅｂサーバ部２１は、クライアント１のＷｅｂブラウザ１１からＷｅｂサイト２２へのアクセス要求を受信したとき、既にそのクライアント１のユーザ（コムサイトアクセスユーザ）を相手としたコムサイト認証が行われておりそのユーザがコムサイト正当ユーザであると判定されているのか、それとも未だそのコムサイトアクセスユーザを相手としたコムサイト認証が行われていないのかを判定する（図２（２））。この判定は、Ｗｅｂサーバ部３１が行う判定と同様に、例えば、Ｗｅｂサイト３２へのアクセス要求とともに受信するクッキーの情報を参照することにより行われる。既にそのコムサイトアクセスユーザがコムサイト正当ユーザであると判定されている場合は、Ｗｅｂサーバ部２１は、そのアクセス要求において指定されたＵＲＬによって特定されるＷｅｂページを、Ｗｅｂサイト２２から選択する。そして、Ｗｅｂサーバ部２１は、アクセス要求を行ったクライアント１のＷｅｂブラウザ１１へ、選択したＷｅｂページを送信する。一方、未だそのコムサイトアクセスユーザを相手としたコムサイト認証が行われていないと判定された場合は、Ｗｅｂサーバ部２１は、コムサイト認証部２３に、そのコムサイトアクセスユーザを相手としたコムサイト認証を行わせる（図２（３））。
【００４３】
コムサイト認証部２３は、コムサイト認証における一部の処理（チャレンジの生成（図２（４））と、ホームサイトサーバ３から受け取ったレスポンスが正当か否かの判定（図２（１６）））を行う機能ブロックである。コムサイト認証部２３は、コムサイト認証に利用するチャレンジを生成するチャレンジ生成部２４と、ホームサイトサーバ３から受け取ったレスポンスが正当か否かを判定するレスポンス判定部２５とを備える。また、コムサイト認証部２３が備える記憶部（図示しない）には、プリシェアド情報テーブル２７が記憶される。プリシェアド情報テーブル２７には、ホームサイトサーバ３ごとに、それぞれのサーバ３と共有されるプリシェアド情報が記録される。プリシェアド情報テーブル２７の詳細については、後述する。
【００４４】
コムサイト認証の流れは、例えば、次のようになる。まず、チャレンジ生成部２４は、コムサイト認証に利用する任意のチャレンジを生成し、その生成したチャレンジをコムサイト認証部２３が備える記憶部に記憶する（図２（４））。そして、チャレンジ生成部２４は、このコムサイト認証のその後の処理（レスポンスの生成等）を行うサーバ（即ち、コムサイトアクセスユーザのホームサイトサーバ３）へのアクセスを指示する応答（アクセス指示応答）を、ホームサイトアクセスユーザが利用するクライアント１のＷｅｂブラウザ１１へ送信する（図２（５））。このアクセス指示応答には、例えば、アクセス先を示す情報や、チャレンジ生成部２４が生成したチャレンジや、レスポンスの返信先を示す情報が含まれる。このアクセス指示応答に含まれる情報のうち、チャレンジ生成部２４が生成したチャレンジ以外の情報については、アクセス指示応答に含めるか否かは任意である。例えば、クライアント１が、その後のアクセス先となるホームサイトサーバ３やレスポンスの返信先であるサーバ（即ち、クライアント１がアクセス要求を出したコムサイトサーバ２）を示す情報（ドメイン名やプログラム名等）を保持している場合は、上記アクセス先を示す情報やレスポンスの返信先を示す情報は、このアクセス指示応答に必ずしも含まれなくともよい。このアクセス指示応答により、その応答に含まれる情報がクライアント１を介してアクセス先のサーバ３に渡される仕組みは、上述した、コムサイト応答部３５が送信するアクセス指示応答の場合と、実質的に同じである（アクセス指示応答に含まれる情報とアクセス先を示す情報の内容とが異なる）。この応答を受信したクライアント１のＷｅｂブラウザ１１は、その応答に含まれるアクセス先を示す情報によって特定されるアクセス先へアクセスする（図２（６））。クライアント１がその後のアクセス先となるホームサイトサーバ３を示す情報を保持しており、上記アクセス指示応答にアクセス先を示す情報が含まれていない場合は、クライアント１は、自己が保持するアクセス先を示す情報によって特定されるアクセス先（即ち、クライアント１のユーザのホームサイトサーバ３）へアクセスすることができる。以上により、コムサイトサーバ２のチャレンジ生成部２４において生成されたチャレンジが、ホームサイトサイトサーバ３のコムサイト応答部３５に渡される。
【００４５】
その後、ホームサイトサーバ３のコムサイト応答部３５において応答処理が行われることにより、ホームサイトサーバ３のコムサイト応答部３５において生成されたレスポンスが、コムサイトサーバ２のレスポンス判定部２５に渡される。
【００４６】
レスポンス判定部２５が行う判定処理は、例えば、レスポンス判定部２５がコンピュータプログラムによって実現される場合は、そのプログラムをアクセス先とするアクセス要求を受信することにより、その実行が開始される。この判定処理において、レスポンス判定部２５は、ホームサイトサーバ３から渡されたレスポンスが正当か否かを判定する（図２（１６））。具体的には、レスポンス判定部２５は、プリシェアド情報テーブル２７を参照して、コムサイトアクセスユーザのホームサイトサーバ３に対応するプリシェアド情報を選択する。そして、レスポンス判定部２５は、その選択したプリシェアド情報を利用して、ホームサイトアクセスサーバ３に渡したチャレンジ（コムサイト認証部２３が備える記憶部に記憶されているチャレンジ、或いは、レスポンスとともにホームサイトサーバ３から渡されたチャレンジ）に基づいてレスポンスを生成する。そして、レスポンス判定部２５は、自ら生成したレスポンスと、ホームサイトサーバ３から渡されたレスポンスとを比較する。それらが一致した場合に、レスポンス判定部２５は、コムサイトアクセスユーザを、コムサイト正当ユーザと判定する。
【００４７】
図３は、ホームサイト登録ユーザテーブル３４の一例を示す図である。
【００４８】
ホームサイト登録ユーザテーブル３４は、ホームサイト登録ユーザごとに、そのユーザに関する個人情報を管理するテーブルである。本実施形態では、上述したように、二種類の個人情報がある。一つは、その情報単独でも個人がある程度特定され得る個人情報（第一種個人情報）である。第一種個人情報には、氏名や住所等が含まれる。第一の個人情報は、ユーザにとって、特に第三者に知られたくない情報である。もう一つは、その情報単独では個人が特定されない程度の個人情報（第二種個人情報）である。第二種個人情報には、例えば、ユーザＩＤやパスワードや性別や所属部署等が含まれる。ホームサイト登録ユーザテーブル３４には、第一種個人情報と第二種個人情報のどちらが登録されてもよい。ホームサイト登録ユーザテーブル３４には、ホームサイト登録ユーザごとに、例えば、ユーザＩＤ３４１と、パスワード３４２と、コムサイト用ＩＤ３４７とが記録される。ユーザＩＤ３４１は、そのホームサイト登録ユーザを、そのホームサイトサーバ３のＷｅｂサイト３２内において一意に特定するための識別子である。パスワード３４２は、ホームサイト認証部３３が行うユーザ認証において、その認証の成否を決定する（即ち、アクセス要求を出したクライアント１のユーザが、ホームサイト登録ユーザであるかどうかを決定する）ために用いられる任意のコード列である。コムサイト用ＩＤ３４７は、ユーザＩＤ３４１とは異なる、そのホームサイト登録ユーザを一意に特定するための識別子である。コムサイト用ＩＤ３４７は、例えば、ランダムな数値やそれ自体意味をなさないコード列とされる。コムサイト用ＩＤがコムサイトサーバ２へ通知された場合は、例えば、コムサイトサーバ２は、通知されたコムサイト用ＩＤを、コムサイト正当ユーザを識別するためのＩＤとして利用することができる。ホームサイト登録ユーザテーブル３４には、ユーザＩＤ３４１とパスワード３４２の他に、ホームサイト登録ユーザごとに、例えば、氏名３４３や性別３４４や住所３４５や所属部署３４６等の様々な個人情報が記録される。
【００４９】
図４は、プリシェアド情報テーブル２６の一例を示す図である。
【００５０】
プリシェアド情報テーブル２６は、このコムサイトサーバ２がコムサイト認証において連携することができる全てのホームサイトサーバ３について、それぞれと共有されるプリシェアド情報を管理するテーブルである。プリシェアド情報テーブル２７には、ホームサイトサーバ３ごとに、そのホームサイトサーバ名２７１と、そのホームサイトサーバ３と共有されるプリシェアド情報２７２とが記録される。尚、本実施形態では、ホームサイトサーバ３ごとにそれぞれ異なるプリシェアド情報がコムサイトサーバ２と共有されているが、これに代えて、全てのホームサイトサーバ３とコムサイトサーバ２との間で同一のプリシェアド情報が共有されてもよい。但し、この場合は、コムサイトサーバ２は、コムサイトアクセスユーザが、どのホームサイトサーバ３のホームサイト登録ユーザであるかを特定することはできず、ホームサイトサーバ３のうちのいずれかのホームサイト登録ユーザであることを把握できるにとどまる。
【００５１】
以上が、本実施形態に係るユーザ認証システムの構成の説明である。以下、図５及び図６を参照して、コムサイト認証が行われる際の処理の流れを説明する。
【００５２】
図５は、本実施形態に係るコムサイト認証が行われる際の処理のフローチャートである。図６は、図５の処理において指定されるＵＲＬの一例を示す図である。本処理の説明では、各サーバ２，３Ａ，３Ｂのドメイン名として、コムサイトサーバ２には“comsite.net”が、ホームサイトサーバＡには“homesite1.net”が、ホームサイトサーバＢには“homesite2.net”が、それぞれ割り当てられているものとする。
【００５３】
まず、クライアント１のＷｅｂブラウザ１１は、ユーザからの指示に従って、コムサイトサーバ２のＷｅｂサイト２２に含まれる閲覧対象のＷｅｂページのＵＲＬ（ＵＲＬ１）を指定したアクセス要求を、コムサイトサーバ２へ送信する（Ｓ１）。例えば、ＵＲＬ１としては、図６に示したもの（ＵＲＬ１の（例１））が指定される。
【００５４】
アクセス要求を受信したコムサイトサーバ２のＷｅｂサーバ部２１は、アクセス要求とともに受信したクッキーの情報を参照して、アクセス要求を出したクライアント１のユーザの認証（コムサイト認証）を行う必要があるか否かを判定する（Ｓ２）。具体的には、Ｗｅｂサーバ部２１は、アクセス要求とともに受信したクッキーの情報に、コムサイト正当ユーザであることを証明する情報（例えば、クライアント１のユーザがコムサイト認証を成功させた際に、クライアント１がコムサイトサーバ２から受け取った任意のコード列（例えば、セッションＩＤ））が含まれているか否かを判定する。クッキーの情報にコムサイト正当ユーザであることを証明する情報が含まれている場合は、コムサイト認証を行う必要がないと判定される。一方、クッキーの情報にコムサイト正当ユーザであることを証明する情報が含まれていない場合は、コムサイト認証を行う必要があると判定される。
【００５５】
コムサイト認証を行う必要がないと判定された場合は（Ｓ２：ＮＯ）、本処理は、Ｓ１３に移行する。
【００５６】
一方、コムサイト認証を行う必要があると判定された場合は（Ｓ２：ＹＥＳ）、アクセス要求を出したクライアント１のユーザを相手とするコムサイト認証が行われる。以下、本処理の説明において、コムサイト認証の相手となるクライアント１のユーザを「対象ユーザ」と呼ぶ。尚、本例では、対象ユーザのホームサイトサーバ３を、ホームサイトサーバＡとする。
【００５７】
コムサイト認証の処理が開始されると、まず、コムサイト認証部２３のチャレンジ生成部２４が、任意のチャレンジを生成する。そして、チャレンジ生成部２４は、その生成したチャレンジを、コムサイト認証部２３が備える記憶部に記憶する（Ｓ３）。尚、チャレンジ生成部２４は、そのチャレンジを生成した時刻を、その生成したチャレンジと対応付けて記憶してもよい。
【００５８】
次に、コムサイト認証部２３は、対象ユーザのホームサイトサーバ３であるホームサイトサーバＡへのアクセスを指示するアクセス指示応答を、クライアント１のＷｅｂブラウザ１１へ送信する（Ｓ４）。このアクセス指示応答に含まれるアクセス先を示す情報をＵＲＬとした場合、そのＵＲＬは、例えば、図６のＵＲＬ２のようになる。図６のＵＲＬ２には、アクセス指示応答に含まれる全ての情報が埋め込まれている。即ち、このＵＲＬ２には、アクセス先のサーバ３のドメイン名及び実行されるプログラム名（２ａ）と、レスポンスの返信先を示す情報（２ｂ）と、チャレンジ（２ｃ）とが含まれている。アクセス先のサーバ３のドメイン名は、ホームサイトサーバＡのドメイン名“homesite1.net”である。また、実行されるプログラム名は、“answer”である。従って、このアクセス指示応答を受信したクライアント１は、ホームサイトサーバＡにアクセスすることになる。そして、アクセスされたホームサイトサーバＡでは、“answer”と呼ばれる応答プログラムが実行されることになる。尚、“answer”と呼ばれるプログラムは、コムサイト応答部３５を実現するプログラムに相当する。
【００５９】
尚、ホームサイトサーバ３が複数ある場合、コムサイト認証部２３には、どのホームサイトサーバ３が対象ユーザのホームサイトサーバ３となるかがわからない。そのため、コムサイト認証部２３は、アクセス先を示す情報に含めるドメイン名やプログラム名（ＵＲＬ２の（２ａ））を決定することができない。そこで、コムサイト認証部２３は、例えば、対象ユーザから受信した情報に基づいて、アクセス先を示す情報に含めるドメイン名やプログラム名を決定することができる。具体的には、Ｓ１において、対象ユーザが、その対象ユーザのホームサイトサーバ３のドメイン名やコムサイト応答部３５を実現するプログラムのプログラム名が埋め込まれたＵＲＬを指定して、アクセス要求を出す。このＵＲＬは、例えば、図６におけるＵＲＬ１の（例２）のようになる。ＵＲＬ１の（例２）には、対象ユーザのホームサイトサーバ３であるホームサイトサーバＡのドメイン名“homesite1.net”と、ホームサイトサーバＡにおいてコムサイト応答部３５を実現するプログラムのプログラム名“answer”とが含まれている（ＵＲＬ１の（例２）の（１））。尚、コムサイトサーバ２が、何らかの識別子や約束事によりそのドメイン名とプログラム名とを知ることができる場合は、ＵＲＬ１の（例２）の（１）の情報に代えて、対象ユーザのホームサイトサーバ３を示す情報が埋め込まれてもよい。
【００６０】
コムサイトサーバ２は、このＵＲＬ１の（例２）の形式でアクセス要求を受けるために、例えば、対象ユーザにそのホームサイトサーバ３を指定させるＷｅｂページを、対象ユーザが利用するクライアント１へ送信することができる。そして、対象ユーザによって入力された情報（ホームサイトサーバ３を示す情報、或いはホームサイトサーバ３のドメイン名やプログラム名）が、ＵＲＬ１の（例２）のようにＵＲＬに組み込まれて、コムサイトサーバ２へ通知される。また、上記のようなＷｅｂページを送信しなくとも、対象ユーザ自身が、ＵＲＬをＵＲＬ１の（例２）の（１）のように編集して、アクセス要求を出してもよい。更に、ＵＲＬ１の（例２）の（１）のようなＵＲＬをブックマークしておけば、対象ユーザは、ＵＲＬを編集することなく、また、上記のＷｅｂページ上でホームサイトサーバ３を指定することなく、ＵＲＬ１の（例２）の形式でアクセス要求を出すことができる。
【００６１】
コムサイト認証部２３は、このドメイン名とプログラム名（ＵＲＬ１の（例２）の（１））を、アクセス先を示す情報に含めるドメイン名とプログラム名（ＵＲＬ２の（２ａ））と決定することができる。また、コムサイト認証部２３は、ＵＲＬ１の（例２）から知り得た、対象ユーザのホームサイトサーバ３（本例では、ホームサイトサーバＡ）を、Ｓ３にて記憶されたチャレンジと対応付けて記憶する。こうすることで、レスポンス判定部２５は、後述するＳ１１の処理において、プリシェアド情報テーブル２７に含まれるプリシェアド情報のうち、どのホームサイトサーバ３のプリシェアド情報を利用してレスポンスを生成すればよいを決定できるようになる（レスポンスの生成には、対象ユーザのホームサイトサーバ３に対応するプリシェアド情報が利用される）。
【００６２】
図５の処理の説明に戻り、コムサイトサーバ２のコムサイト認証部２３からアクセス指示応答を受信したクライアント１のＷｅｂブラウザ１１は、その応答に含まれるアクセス先を示す情報（ＵＲＬ２）によって特定されるアクセス先（即ち、ホームサイトサーバＡ）へアクセスする（Ｓ５）。
【００６３】
アクセスされたホームサイトサーバ３では、アクセス先を示す情報（ＵＲＬ２）に含まれているプログラム名“answer”によって特定されるプログラム（コムサイト応答部３５を実現するプログラム）の実行が開始される。
【００６４】
コムサイト応答部３５は、Ｓ５のアクセスの際に受信したクッキーの情報を参照して、対象ユーザを相手とするホームサイト認証を行う必要があるか否かを判定する（Ｓ６）。
【００６５】
ホームサイト認証を行う必要がないと判定された場合は（Ｓ６：ＮＯ）、本処理は、Ｓ８に移行する。
【００６６】
一方、ホームサイト認証を行う必要があると判定された場合は（Ｓ６：ＹＥＳ）、対象ユーザを相手とするホームサイト認証が行われる。即ち、ホームサイト認証部３３は、対象ユーザが入力したユーザＩＤとパスワードが、ホームサイト登録ユーザテーブル３４に登録されているものと一致するか否かを判定することにより、対象ユーザがホームサイト登録ユーザであるか否かを判定する（Ｓ７）。
【００６７】
対象ユーザがホームサイト登録ユーザではないと判定された場合は（Ｓ７：ＮＯ）、本処理は終了する。
【００６８】
一方、対象ユーザがホームサイト登録ユーザであると判定された場合は（Ｓ７：ＹＥＳ）、レスポンス生成部３５は、プリシェアド情報３７を利用して、受信したチャレンジ（ＵＲＬ２の（２ｃ））に対するレスポンスを生成する（Ｓ８）。
【００６９】
その後、コムサイト応答部３５は、対象ユーザがアクセス要求を出したコムサイトサーバ２へのアクセスを指示するアクセス指示応答を、クライアント１のＷｅｂブラウザ１１へ送信する（Ｓ９）。このアクセス指示応答に含まれるアクセス先を示す情報をＵＲＬとした場合、そのＵＲＬは、例えば、図６のＵＲＬ３のようになる。図６のＵＲＬ３には、ＵＲＬ２と同様に、アクセス指示応答に含まれる全ての情報が埋め込まれている。即ち、このＵＲＬ３には、アクセス先のコムサイトサーバ２のドメイン名及び実行されるプログラム名（３ａ）と、コムサイト用ＩＤ（３ｂ）と、コムサイトサーバ２から受信したチャレンジ（３ｃ）と、チャレンジに対するレスポンス（３ｄ）と、性別（３ｅ）とが含まれている。尚、このアクセス指示応答には、第二種個人情報としてコムサイト用ＩＤ（３ｂ）と性別（３ｅ）が含まれているが、これら以外の第二種個人情報、例えば、ユーザＩＤ、が含まれても良いし、必ずしも含まれなくても良い。また、第一種情報が含まれても良い。コムサイト応答部３５は、ＵＲＬ２に含まれる、レスポンスの返信先を示す情報（２ｂ）を、アクセス先のコムサイトサーバ２のドメイン名及びプログラム名（３ａ）と決定することができる。即ち、アクセス先のコムサイト２のドメイン名は“comsite.net”とされ、プログラム名は“confirm”とされる。従って、このアクセス指示応答を受信したクライアント１は、コムサイトサーバ２にアクセスすることになる。そして、アクセスされたコムサイトサーバでは、“confirm”と呼ばれる応答プログラムが実行されることになる。尚、“confirm”と呼ばれるプログラムは、レスポンス判定部２５を実現するプログラムに相当する。
【００７０】
ホームサイトサーバＡのコムサイト応答部３５からアクセス指示応答を受信したクライアント１のＷｅｂブラウザ１１は、その応答に含まれるアクセス先を示す情報（ＵＲＬ３）によって特定されるアクセス先（即ち、コムサイトサーバ）へアクセスする（Ｓ１０）。
【００７１】
アクセスされたコムサイトサーバ２では、アクセス先を示す情報（ＵＲＬ３）に含まれているプログラム名“confirm”によって特定されるプログラム（レスポンス判定部２５を実現するプログラム）の実行が開始される。
【００７２】
レスポンス判定部２５は、Ｓ４及びＳ５にてホームサイトサーバ３に渡したチャレンジに対するレスポンスを生成する（Ｓ１１）。具体的には、例えば、クライアント１に発行したチャレンジをキーとして、コムサイトサーバ２からチャレンジを受信したクライアント１のユーザとコムサイトサーバ２へレスポンスを送信してきたクライアント１のユーザとが対応するか否かが判定される。即ち、レスポンス判定部２５は、レスポンスとともにホームサイトサーバ３から渡されたチャレンジ（ＵＲＬ３の（３ｃ））に一致するものが、コムサイト認証部２３が備える記憶部に記憶されていることを確認する（一致するものがない場合は、不正なアクセスとされ、レスポンス判定部２５は、処理を終了する）。次に、レスポンス判定部２５は、プリシェアド情報テーブル２７を参照して、対象ユーザのホームサイトサーバ３（本例では、ホームサイトサーバＡ）に対応するプリシェアド情報を選択する。尚、ホームサイトサーバ３が複数あって個々にプリシェアド情報が異なる場合は、コムサイトサーバ２は、プリシェアド情報を選択する上で、対象ユーザのホームサイトサーバ３を知る必要がある。そこで、上述したように、コムサイトサーバ２には、Ｓ３にて記憶したチャレンジに対応付けて、そのチャレンジを送信した対象ユーザのホームサイトサーバ３を示す情報が記憶される。コムサイトサーバ２は、その記憶されている情報に基づいて、ホームサイトサーバ３に渡したチャレンジに対応するホームサイトサーバ３を対象ユーザのホームサイトサーバ３と決めることができる。レスポンス判定部２５は、その選択したプリシェアド情報を利用して、ホームサイトサーバ３に渡したチャレンジ（Ｓ３にて記憶されたチャレンジ、或いは、レスポンスとともにホームサイトサーバ３から渡されたチャレンジ（ＵＲＬ３の（３ｃ）））に対するレスポンスを生成する。
【００７３】
尚、コムサイトサーバ２は、レスポンスの生成を行う前に、Ｓ１０のアクセス要求を受けた時刻と、Ｓ３にて記憶されたチャレンジを生成した時刻との時刻の差を計算して、その時刻の差が所定値以上となった場合には、Ｓ１１以降の処理を行わない（即ち、対象ユーザからのアクセスを許可しない）ようにすることもできる。
【００７４】
次に、レスポンス判定部２５は、Ｓ１１にて生成したレスポンスと、ホームサイトサーバ３から渡されたレスポンス（ＵＲＬ３の（３ｄ））とが一致するかどうかを判定する（Ｓ１２）。
【００７５】
両レスポンスが一致しなかった場合は（Ｓ１２：ＮＯ）、本処理は終了する。
【００７６】
一方、両レスポンスが一致した場合は（Ｓ１２：ＹＥＳ）、Ｗｅｂサーバ部２１は、Ｓ１のアクセス要求において指定されたＵＲＬによって特定されるＷｅｂページを、Ｗｅｂサイト２２から選択する。そして、Ｗｅｂサーバ部２１は、対象ユーザが利用するクライアント１のＷｅｂブラウザ１１へ、選択したＷｅｂページを送信する（Ｓ１３）。
【００７７】
尚、コムサイトサーバ２は、ホームサイトサーバ３から渡された対象ユーザに関する第二種個人情報（ＵＲＬ３の（３ｂ）や（３ｅ））を、コムサイトサーバ２が備える記憶部に記憶してもよい。例えば、本例の場合は、コムサイトサーバ２は、ＵＲＬ３に含まれるユーザＩＤ（３ｂ）である“51”と、性別（３ｅ）である“female”とを記憶することができる。
【００７８】
以上が、コムサイト認証が行われる際の処理の流れの説明である。上述した処理が行われることにより、クライアント１のユーザ（対象ユーザ）は、その対象ユーザに関する、個人がある程度特定され得る個人情報（第一種個人情報）をコムサイトサーバ２に登録することなく、コムサイトサーバ２へアクセスできるようになる。対象ユーザがコムサイトサーバ２にアクセスするために、対象ユーザ自らが自己の個人情報をコムサイトサーバ２へ登録する必要がなくなる。一方で、コムサイトサーバ２へのアクセスが許可されるためには、対象ユーザが、ホームサイトサーバ３（コムサイトサーバ２と連携してコムサイト認証を行うことができるサーバ）の正当なユーザであることが前提となる。従って、コムサイトサーバ２と連携可能なホームサイトサーバ３をどのように定めるかによって、コムサイトサーバ２は、そのサーバ２にアクセス可能なユーザをある程度把握できるようになる。例えば、コムサイトサーバ２と連携可能なホームサイトサーバ３を、所定の会社の社内システムを運用するサーバ（その会社の従業員にアクセスを許可するサーバ）とすれば、コムサイトサーバ２は、そのサーバ２にアクセス可能なユーザはその所定の会社の従業員であると把握できるようになる。このように、コムサイトサーバ２は、そのサーバ２に通知された個人情報からは対象ユーザが誰であるかを特定できないが、コムサイトサーバ２の正当なユーザがホームサイトサーバ３の正当なユーザであることを根拠として、対象ユーザがどんな人物であるかをある程度把握できるようになる。
【００７９】
コムサイトサーバ２は、あるユーザについて、ホームサイトサーバ３のＵＲＬと、ホームサイトサーバ３から返される情報のみを知識として持つことを説明した。特に本発明の非常に特徴的なこととして、ログイン情報を共有する相手であるホームサイトサーバ３におけるログイン時にユーザを一意に識別できる情報（一般にはユーザＩＤ）を持たない、持つ必要がない、という点が挙げられる。つまり、ホームサイトサーバ３から与えられる情報以外に、コムサイトサーバ２のユーザがホームサイトサーバ３上の誰なのかを特定できる情報がないのであり、これはコムサイトサーバ２のサーバ管理者でさえ知り得ないのである。
【００８０】
尚、ホームサイトサーバ３からコムサイトサーバ２へ通知される個人情報は、第二種個人情報（通常、ホームサイト認証に用いられるユーザＩＤやパスワードを除いた第二種個人情報）である。そのため、情報を提供する側であるホームサイトサーバ３は、コムサイトサーバ２と連携するにあたって、セキュリティ上のリスクを負わなくともよくなる。
【００８１】
また、本実施形態において、ユーザが正当であることを示す情報としてホームサイトサーバ３からコムサイトサーバ２へ渡されるレスポンスは、それ自体では意味をなさないコード列である。つまり、ユーザが正当であることを示す情報は、例えば、「ＯＫ」或いは「ＮＧ」等のような単純な情報ではないため、その情報が改ざんされて不正アクセスを許可してしまうといったおそれはほとんどなくなる。
【００８２】
また、ホームサイトサーバ３は、コムサイトアクセスユーザがそのコムサイトサーバ２の正当なユーザであるか否か（ホームサイトサーバ３から見れば、レスポンスを含んだ応答を返す相手であるか否か）を、ホームサイト認証を行うことにより判定する。ここで、ホームサイト認証とは、上述したように、認証の相手となるユーザが、ホームサイトサーバ３の正当なユーザ（ホームサイトサーバ３のＷｅｂサイト３２へのアクセス可能なユーザ）であるか否かを判定するユーザ認証である。即ち、このホームサイト認証を行うモジュール（ホームサイト認証部３３に相当するモジュール）は、ホームサイトサーバ３がユーザ認証を行うサーバであれば、コムサイトサーバ２と連携するしないにかかわらず、通常、ホームサイトサーバ３に備えられるモジュールである。従って、ユーザ認証を行っているホームサイトサーバ３は、コムサイトサーバ２と連携する上で、既存のホームサイト認証を行うモジュールを利用でき、応答を返すためのモジュール（コムサイト応答部３５に相当するモジュール）を追加するだけでコムサイトサーバ２と連携できるようになる。また、コムサイトサーバ２と連携する際には、既存のホームサイト認証を行うモジュールをそのまま利用できるので、そのホームサイト認証を行うモジュールに対して特別な拡張を要することもない。従って、ホームサイトサーバ３をコムサイトサーバ２と連携できるようしたからといって、ホームサイトサーバ３上の既存のユーザ認証システムは、何らの影響も受けることなく、既存のユーザ認証システムに不具合が生じることはほとんどない。
【００８３】
更に、コムサイトサーバ２とホームサイトサーバ３との間での情報（チャレンジやレスポンス等）の受け渡しは、クライアント１を介して行われる。即ち、コムサイトサーバ２とホームサイトサーバ３とが、直接情報の受け渡しを行う必要がない。そのため、コムサイトサーバ２とホームサイトサーバ３とは、それ程密な関係とはなっておらず、共有のプリシェアド情報がそれぞれに登録されることによって関係づけられる。従って、例えば、コムサイトサーバ２と連携可能なホームサイトサーバ３を新たに追加する際には、プリシェアド情報テーブル２７にその新たなホームサイトサーバ３との間で共有するプリシェアド情報を追加するだけでよく、簡単にホームサイトサーバ３の追加を行うことができる。また、コムサイトサーバ２とホームサイトサーバ３が配置される通信ネットワーク上の位置が制限されることもなく、例えば、それらが同一のドメイン内に限られることはない。
【００８４】
以下、本実施形態の変形例について説明する。
【００８５】
第一の変形例では、図５におけるＳ８及びＳ１１の処理を次のように行う。
【００８６】
即ち、Ｓ８では、レスポンス生成部３５は、プリシェアド情報３７を利用して、受信したチャレンジ（ＵＲＬ２の（２ｃ））とユーザを識別するための情報（例えば、コムサイト用ＩＤ）とを含めた情報に対して所定の演算を施して、レスポンスを生成する。具体的には、例えば、受信したチャレンジ（本例では“abcdef123456”）とユーザを識別するための情報（本例におけるコムサイト用ＩＤとすれば“51”）とを結合させて一つのコード列（例えば、“51abcdef123456”）とし、そのコード列に対してプリシェアド情報３７を利用した所定の演算を施してレスポンスを生成する。そして、ホームサイトサーバ３は、このレスポンスの生成に用いた、ユーザを識別するための情報（コムサイト用ＩＤ）を、Ｓ９及びＳ１０にて説明したのと同様の方法で、レスポンスとともにコムサイトサーバ２へ通知する（上記の例では、ＵＲＬ３の（３ｂ）として通知される）。
【００８７】
Ｓ１１では、レスポンス判定部２５は、プリシェアド情報テーブル２７から選択したプリシェアド情報を利用して、ホームサイトサーバ３に渡したチャレンジとホームサイトサーバ３から渡されたユーザを識別するための情報（ＵＲＬ３の（３ｂ））とを含めた情報に対して所定の演算を施して、レスポンスを生成する。このレスポンスの生成方法は、上記（本変形例におけるＳ８）と同様である。その後、このレスポンス判定部２５が生成したレスポンスと、ホームサイトサーバ３から渡されたレスポンスとが一致するかどうかが判定される（Ｓ１２）。Ｓ１２以降の処理は、図５で説明したものと同様である。
【００８８】
本変形例では、もし、ホームサイトサーバ３のレスポンス生成部３５がレスポンスの生成に用いたユーザを識別するための情報と、コムサイトサーバ２のレスポンス判定部２５がレスポンスの生成に用いたユーザを識別するための情報とが異なっていれば、レスポンス生成部３５とレスポンス判定部２５のそれぞれが生成するレスポンスは、異なることになる。つまり、本変形例のＳ１２の判定においては、正当なプリシェアド情報でレスポンスが生成されているかどうかだけでなく、ホームサイトサーバ３から渡されたユーザを識別するための情報が正しいか否かをも判定していることになる。従って、例えば、コムサイトサーバ２に渡されたユーザを識別するための情報が、通信ネットワーク４上で或いはクライアント１で異なる情報に改ざんされた場合は、Ｓ１２の判定において両レスポンスが一致することはなく、コムサイトサーバ２は、そのアクセスを拒否することができるようになる。このように、レスポンスの伝達をサーバ２，３間で直接行わずにクライアント１経由で行うことにより、クライアント１等での情報改ざん（例えば、ユーザの識別情報が別ユーザの識別情報にすりかえること等）のリスクが発生するが、本変形例によれば、両サーバ２，３では、ホームサイトサーバ３からコムサイトサーバ２へ渡された情報（例えば、ユーザ識別情報）を含めてレスポンスが生成されるので、その改ざんの検出が可能となる。更に、コムサイトサーバ２では、ホームサイトサーバ３から通知された情報が改ざんされていないことを検出できるので、ホームサイトサーバ３におけるユーザのユーザ名やメールアドレス等を確実に継承できるようになる。
【００８９】
次に、第二の変形例について説明する。
【００９０】
第二の変形例では、コムサイトサーバ２が、コムサイトサーバ２からチャレンジを受信したクライアント１のユーザ（最初にコムサイトサーバ２へアクセス要求を出したクライアント１のユーザ）とレスポンスを送信してきたクライアント１のユーザとが対応するか否かの判定を、クライアント１から受信したチャレンジ受信情報をキーとして行う。チャレンジ受信情報とは、クライアント１がコムサイトサーバ２からチャレンジを受信したことを示す情報（例えば、任意のコード列）であり、コムサイトサーバ２が、チャレンジを送信したクライアント１に発行するものである。このチャレンジ受信情報としては、例えば、暫定的に発行されたセッションのセッションＩＤ（以下、「暫定セッションＩＤ」）が利用される。具体的には、次のような処理が行われる。尚、以下の説明では、チャレンジ受信情報として暫定セッションＩＤを採用している。
【００９１】
即ち、コムサイトサーバ２は、例えば、Ｓ４にてアクセス指示応答を送信する際に、対象ユーザが利用するクライアント１に対して、暫定セッションＩＤを発行する。コムサイトサーバ２は、このクライアント１に発行する暫定セッションＩＤを、現在コムサイトサーバ２とクライアント１間で確立しているセッションのセッションＩＤとすることができる。クライアント１に発行された暫定セッションＩＤは、例えば、クライアント１のクッキーに書き込まれる。
【００９２】
また、コムサイトサーバ２は、クライアント１に発行した暫定セッションＩＤを、Ｓ４においてアクセス指示応答に含めてクライアント１に送信したチャレンジと対応付けて記憶する。例えば、コムサイトサーバ２が、図７に示すようなテーブル（暫定セッションＩＤ管理テーブル）を保持することで、暫定セッションＩＤとチャレンジとの対応付けを記憶することができる。
【００９３】
そして、Ｓ１１において、まず、レスポンス判定部２５は、Ｓ１０におけるアクセス要求とともに受信したクッキーの情報に、本変形例のＳ４にて発行された暫定セッションＩＤが含まれていることを確認する。即ち、レスポンス判定部２５は、受信したクッキーの情報に含まれる暫定セッションＩＤが、図７の暫定セッションＩＤ管理テーブルに登録されていることを確認する。登録されていなければ、レスポンス判定部２５は、そのアクセスが不正であるとして処理を終了する。次に、レスポンス判定部２５は、暫定セッションＩＤ管理テーブルを参照して、受信したクッキーの情報に含まれる暫定セッションＩＤに対応するチャレンジを選択する。そして、図５で説明した場合と同様に、レスポンス判定部２５は、プリシェアド情報テーブル２７を参照して、対象ユーザのホームサイトサーバ３（上記選択したチャレンジに対応付けて記憶されているホームサイトサーバ３であり、本例では、ホームサイトサーバＡ）に対応するプリシェアド情報を選択する。レスポンス判定部２５は、その選択したプリシェアド情報を利用して、ホームサイトアクセスサーバ３に渡したチャレンジ（即ち、暫定セッションＩＤ管理テーブルを参照して選択されたチャレンジ）に対するレスポンスを生成する。Ｓ１２以降の処理は、図５で説明したものと同様である。
【００９４】
このように、本変形例では、コムサイトサーバ２は、チャレンジ受信情報をキーとして、コムサイトサーバ２からチャレンジを受信したクライアント１のユーザとコムサイトサーバ２へレスポンスを送信してきたクライアント１のユーザとが対応するか否かを判定する。つまり、本変形例では、両ユーザが対応するか否かを判定する際にチャレンジをキーとしないので、ホームサイトサーバ３が、コムサイトサーバ２から受信したチャレンジをレスポンスとともにコムサイトサーバ２へ渡す必要がなくなる。従って、本変形例によれば、チャレンジとレスポンスとの両方が、通信ネットワーク４上で或いはクライアント１で第三者に盗まれることがなくなる。よって、チャレンジとレスポンスとの両方が盗まれて、その盗んだ第三者がなりすましてコムサイトサーバ２へのアクセスを許可されるというようなことをなくすことができる。
【００９５】
以上が、第一の実施形態についての説明である。本実施形態に係るコムサイト認証の処理には、上述した２つの変形例（第一の変形例及び第二の変形例）を組み合わせて適用することができる。
【００９６】
図８は、第二の実施形態に係るユーザ認証システムの構成例を示す図である。
【００９７】
本実施形態におけるクライアント１、コムサイトサーバ２及びホームサイトサーバ３の構成は、第一の実施形態におけるものと実質的に同様である。また、コムサイト認証の処理の流れも第一の実施形態におけるものと実質的に同様である（第一の変形例及び／又は第二の変形例が適用されてもよい）。
【００９８】
本実施形態では、通信ネットワーク４が、所定の範囲に閉じられたネットワーク（例えば、社内ＬＡＮ４１）とインターネット４２とから構成される。社内ＬＡＮ４１には、外部のネットワーク（即ち、インターネット４２）からの侵入を防ぐためのシステム（例えば、ファイアーウォール）を備えたコンピュータ（以下、「ファイアーウォールサーバ５」）が備えられる。社内ＬＡＮ４１とインターネット４２とは、ファイアーウォールサーバ５を介して接続される。ファイアーウォールサーバ５は、社内ＬＡＮ４１上の装置からインターネット４２上の装置へのアクセスを許可するが、インターネット４２上の装置から社内ＬＡＮ４１上の装置へのアクセスを禁止する。
【００９９】
本実施形態では、ホームサイトサーバ３が、社内ＬＡＮ４１に接続され、コムサイトサーバ２が、インターネット４２に接続される。即ち、ホームサイトサーバ３としては、例えば、その社内ＬＡＮ４１を利用できるユーザ（例えば、その社内ＬＡＮを保有する会社の従業員）にアクセスを許可するサーバ３が想定される。
【０１００】
このような構成とすることにより、コムサイト認証におけるセキュリティを強化することができる。即ち、ホームサイトサーバ３の正当なユーザ（会社の従業員）が利用する、社内ＬＡＮ４１に接続されたクライアントＡは、社内ＬＡＮ４１を介してホームサイトサーバ３へアクセスでき、また、ファイアーウォールサーバ５を経由してコムサイトサーバ２へもアクセスできる。従って、クライアントＡのユーザは、ホームサイトサーバ３の正当なユーザであれば、コムサイト認証を成功させて、コムサイトサーバ２へアクセスできる。これに対し、社内ＬＡＮ４１を利用できない不正なユーザが利用する、インターネット４２に接続されたクライアントＢは、コムサイトサーバ２にアクセスしようと試みても、ファイアーウォールサーバ５によってブロックされて社内ＬＡＮ４１上にあるホームサイトサーバ３にアクセスできないために、コムサイトサーバ２にアクセスできないことになる。従って、例えば、社内ＬＡＮ４１を利用できない不正なユーザがホームサイト認証に利用するユーザＩＤとパスワードを不正に取得して、コムサイトサーバ２にアクセスしようと試みても、ファイアーウォールによってそのアクセスが妨げられることになる。
【０１０１】
尚、第一の実施形態でも述べたように、コムサイトサーバ２とホームサイトサーバ３との間での情報の受け渡しは、クライアント１を介して行われ、コムサイトサーバ２とホームサイトサーバ３とが、直接情報の受け渡しを行う必要がない。従って、コムサイトサーバ２がホームサイトサーバ３へアクセスする必要がないので、そのアクセスを許可するためのファイアーウォールの設定を行う必要はない。
【０１０２】
図９は、第三の実施形態に係るユーザ認証システムの構成例を示す図である。
【０１０３】
第二の実施形態と同様に、本実施形態におけるクライアント１、コムサイトサーバ２及びホームサイトサーバ３の構成は、第一の実施形態におけるものと実質的に同様である。また、コムサイト認証の処理の流れも第一の実施形態におけるものと実質的に同様である（第一の変形例及び／又は第二の変形例が適用されてもよい）。
【０１０４】
本実施形態では、複数（ここでは３つ）のコムサイトサーバ２と、複数（ここでは２つ）のホームサイトサーバ３とが通信ネットワーク４に接続される。そして、例えば、コムサイトサーバａ、コムサイトサーバｂ及びコムサイトサーバｃの各々が、ホームサイトサーバＡ及びホームサイトサーバＢと連携している場合を想定する。
【０１０５】
このように複数のコムサイトサーバ２と複数のホームサイトサーバ３とが互いに重複して連携し合っている場合、連携している相手ごとに別個のプリシェアド情報を利用して、コムサイト認証を行うことができる。例えば、コムサイトサーバａは、ホームサイトサーバＡと共有するプリシェアド情報Ａａと、ホームサイトサーバＢと共有するプリシェアド情報Ｂａとを保持する。そして、コムサイトサーバａがホームサイトサーバＡとの間でコムサイト認証を行う場合は、プリシェアド情報Ａａを利用することができる。また、コムサイトサーバａがホームサイトサーバＢとの間でコムサイト認証を行う場合は、プリシェアド情報Ｂａを利用することができる。この点は、第一の実施形態においても説明したとおりである（第一の実施形態では、複数のホームサイトサーバ３ごとのプリシェアド情報が、プリシェアド情報テーブル２７として保持されている）。
【０１０６】
具体的には、コムサイトサーバ２は、次のように処理する。即ち、まず、コムサイトサーバ２（ここでは、コムサイトサーバａとする）は、クライアント１からのアクセス要求に加えて、そのアクセス要求を出したクライアント１のユーザのホームサイトサーバ３（ここでは、ホームサイトサーバＡとする）を示す情報を受信する。コムサイトサーバａは、任意のチャレンジを生成して、生成したチャレンジとクライアント１から受信したホームサイトサーバＡを示す情報とを対応付けて記憶する（クライアント１へチャレンジ受信情報（暫定セッションＩＤ）を発行する場合は、そのチャレンジ受信情報もチャレンジ及びホームサイトサーバＡを示す情報と対応付けて記憶する）。その後、コムサイトサーバａは、生成したチャレンジを含んだアクセス指示応答をクライアント１へ送信する。
【０１０７】
ホームサイトサーバＡが生成したレスポンスをクライアント１から受信したときは、コムサイトサーバａは、上述したように、チャレンジ或いはチャレンジ受信情報をキーとして、コムサイトサーバａからチャレンジを受信したクライアント１のユーザとコムサイトサーバａへレスポンスを送信してきたクライアント１のユーザとが対応するかどうか確認する。対応している場合であってクライアント１からレスポンスとともにチャレンジを受信した場合は、コムサイトサーバａは、その受信したチャレンジと同一のものに対応付けて記憶されているホームサイトサーバ３（即ち、ホームサイトＡ）を示す情報を取得する。一方、対応している場合であってクライアント１からレスポンスとともにチャレンジ受信情報を受信した場合は、コムサイトサーバａは、その受信したチャレンジ受信情報と同一のものに対応付けて記憶されているホームサイトサーバ３（即ち、ホームサイトＡ）を示す情報を取得する。次に、コムサイトサーバａは、コムサイトサーバａが保持する複数のプリシェアド情報（即ち、プリシェアド情報Ａａ，Ｂａ）のうち、上記取得したホームサイトサーバ３を示す情報によって特定されるホームサイトサーバＡに対応するプリシェアド情報（即ち、プリシェアド情報Ａａ）を選択する。次に、コムサイトサーバａは、上記選択したプリシェアド情報Ａａを利用して、クライアント１から受信したチャレンジ或いはチャレンジ受信情報と同一のものに対応付けて記憶されているチャレンジに対するレスポンスを生成する。そして、コムサイトサーバａは、生成したレスポンスとクライアント１から受信したレスポンスとが一致するか否かを判定し、一致したときに、クライアント１に対してコムサイトサーバａへのアクセスを許可する。
【０１０８】
一方、ホームサイトサーバＡは、コムサイトサーバａと共有するプリシェアド情報Ａａと、コムサイトサーバｂと共有するプリシェアド情報Ａｂと、コムサイトサーバｃと共有するプリシェアド情報Ａｃとを保持する。そして、コムサイト認証を行う相手（コムサイトサーバ２）ごとに、それぞれと共有するプリシェアド情報（Ａａ，Ａｂ，Ａｃのいずれか）を利用して、コムサイト認証を行うことができる。
【０１０９】
具体的には、ホームサイトサーバ３は、次のように処理する。即ち、まず、ホームサイトサーバ３（ここでは、ホームサイトサーバＡとする）は、クライアント１からチャレンジを受信するが、この際、クライアント１がアクセス要求を出したコムサイトサーバ２（ここでは、コムサイトサーバａとする）を示す情報も併せて受信する（即ち、アクセス指示応答に、チャレンジとコムサイトサーバ２を示す情報とが含まれることになる）。ホームサイトサーバＡは、チャレンジ及びコムサイトサーバａを示す情報を送信してきたクライアント１を利用するユーザの認証をホームサイト認証部３３に行わせる。ホームサイト認証部３３におけるユーザの認証が成功した場合に、ホームサイトサーバＡは、ホームサイトサーバＡが保持する複数のプリシェアド情報（即ち、プリシェアド情報Ａａ，Ａｂ，Ａｃ）のうち、クライアント１から受信したコムサイトサーバ２を示す情報によって特定されるコムサイトサーバａに対応するプリシェアド情報（即ち、プリシェアド情報Ａａ）を選択する。次に、ホームサイトサーバＡは、上記選択したプリシェアド情報Ａａを利用して、クライアント１から受信したチャレンジに対するレスポンスを生成する。そして、ホームサイトサーバＡは、生成したレスポンスを含んだアクセス指示応答をクライアント１へ送信する。
【０１１０】
このように、連携している相手ごとに別個のプリシェアド情報を利用することにより、それぞれの連携を独立したものとして管理することができる。例えば、コムサイトサーバａがホームサイトサーバＡとの連携を解除しようとする場合は、コムサイトサーバａ側でプリシェアド情報Ａａを破棄する等して、そのプリシェアド情報Ａａを利用しないようにすれば足りる。そして、この変更が、他のホームサイトサーバ３（ホームサイトサーバＢ）との連携関係に影響を与えることはない。反対に、ホームサイトサーバＡ側から見ても、同様のことが言える。即ち、例えば、ホームサイトサーバＡがコムサイトサーバａとの連携を解除しようとする場合は、ホームサイトサーバＡ側でプリシェアド情報Ａａを破棄する等して、そのプリシェアド情報Ａａを利用しないようにすれば足りる。そして、この変更が、他のコムサイトサーバ２（コムサイトサーバｂ及びコムサイトサーバｃ）との連携関係に影響を与えることはない。
【０１１１】
尚、本実施形態で示したような、連携している相手ごとに別個のプリシェアド情報を利用する方法は、一例にすぎない。例えば、コムサイトサーバ２が、複数のホームサイトサーバ３との連携をまとめて管理したい場合は、その複数のホームサイトサーバ３の各々と共有するプリシェアド情報を、同一の情報とすることができる。また、反対に、ホームサイトサーバ３が、複数のコムサイトサーバ２との連携をまとめて管理したい場合は、その複数のコムサイトサーバ２の各々と共有するプリシェアド情報を、同一の情報とすることができる。
【０１１２】
上述した本発明の幾つかの実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。
【図面の簡単な説明】
【０１１３】
【図１】本発明の第一の実施形態に係るユーザ認証システムの構成例を示す図である。
【図２】本実施形態に係るコムサイト認証の概要を示す図である。
【図３】ホームサイト登録ユーザテーブルの一例を示す図である。
【図４】プリシェアド情報テーブルの一例を示す図である。
【図５】本実施形態に係るコムサイト認証が行われる際の処理のフローチャートである。
【図６】図５の処理において指定されるＵＲＬの一例を示す図である。
【図７】暫定セッションＩＤ管理テーブルの一例を示す図である。
【図８】第二の実施形態に係るユーザ認証システムの構成例を示す図である。
【図９】第三の実施形態に係るユーザ認証システムの構成例を示す図である。
【符号の説明】
【０１１４】
１…クライアント、２…コムサイトサーバ、３…ホームサイトサーバ、４…通信ネットワーク、５…ファイアーウォールサーバ
【図１】
0005086024.tif 000002
【図２】
0005086024.tif 000003
【図３】
0005086024.tif 000004
【図４】
0005086024.tif 000005
【図５】
0005086024.tif 000006
【図６】
0005086024.tif 000007
【図７】
0005086024.tif 000008
【図８】
0005086024.tif 000009
【図９】
0005086024.tif 000010