(57)【特許請求の範囲】
【請求項１】
ユーザ端末との間の通信において通信識別子を用いる情報処理装置であって、
前記ユーザ端末から送信された情報要求を受信する情報要求受信手段と、
前記ユーザ端末に、前記通信識別子と共通の通信識別子を用いたい他の情報処理装置に接続させ、前記共通の通信識別子を該他の情報処理装置から受信させる指示コードであって、該指示コードに示された命令の処理が終了するまで前記ユーザ端末による前記情報の解釈を中断させる指示コードを生成する指示コード生成手段と、
前記情報要求に応じて前記ユーザ端末に対して送信される情報として、前記指示コードを含む情報を生成する情報生成手段と、
前記情報生成手段によって生成された前記指示コードを含む情報および前記共通の通信識別子を、前記ユーザ端末宛に送信する情報送信手段と、
を備える、情報処理装置。
【請求項２】
前記情報生成手段は、前記指示コードが、前記情報中における前記他の情報処理装置への接続指示よりも先に解釈および実行される位置に記述された前記情報を生成する、
請求項１に記載の情報処理装置。
【請求項３】
前記指示コードが該情報処理装置によって発行されたものであることを認証可能な認証コードを生成する認証コード生成手段を更に備え、
前記指示コード生成手段は、前記指示コードを受けて前記他の情報処理装置に接続する前記ユーザ端末が、前記指示コードに含まれる前記認証コードを前記他の情報処理装置に通知するように、前記指示コードを生成する、
請求項１または２に記載の情報処理装置。
【請求項４】
前記認証コード生成手段は、該情報処理装置と前記他の情報処理装置との間で予め共有された共有鍵、および前記共通の通信識別子を含むデータを用いて、前記認証コードを算出する、
請求項３に記載の情報処理装置。
【請求項５】
前記認証コード生成手段は、該情報処理装置と前記他の情報処理装置との間で予め共有された共有鍵、および前記共通の通信識別子を含むデータに対して一方向ハッシュ演算を
行うことで、前記認証コードを算出する、
請求項４に記載の情報処理装置。
【請求項６】
該情報処理装置と前記ユーザ端末との間で通信識別子が設定済みか否かを判定する設定状態判定手段を更に備え、
前記指示コード生成手段は、前記設定状態判定手段によって前記通信識別子が設定済みでないと判定された場合に、前記指示コードを生成する、
請求項１から５の何れか一項に記載の情報処理装置。
【請求項７】
ユーザ端末との間の通信において通信識別子を用いる第一の情報処理装置および第二の情報処理装置を備える情報処理システムであって、
前記第一の情報処理装置は、
前記ユーザ端末から送信された情報要求を受信する情報要求受信手段と、
前記ユーザ端末に、前記第二の情報処理装置に接続させ、前記共通の通信識別子を該第二の情報処理装置から受信させる指示コードであって、該指示コードに示された命令の処理が終了するまで前記ユーザ端末による前記情報の解釈を中断させる指示コードを生成する指示コード生成手段と、
前記情報要求に応じて前記ユーザ端末に対して送信される情報として、前記指示コードを含む情報を生成する情報生成手段と、
前記情報生成手段によって生成された前記指示コードを含む情報および前記共通の通信識別子を、前記ユーザ端末宛に送信する情報送信手段と、を備え、
前記第二の情報処理装置は、
前記ユーザ端末から送信された情報要求を受信する情報要求受信手段と、
前記情報要求受信手段によって受信された情報要求が、前記第一の情報処理装置から通知された指示コードに従って送信された情報要求であるか否かを認証する認証手段と、
前記認証手段によって、前記情報要求が、前記指示コードに従って送信された情報要求であると認証された場合に、前記共通の通信識別子を、前記ユーザ端末宛に送信する情報送信手段と、を備える、
情報処理システム。
【請求項８】
前記情報生成手段は、前記指示コードが、前記情報中における前記第二の情報処理装置への接続指示よりも先に解釈および実行される位置に記述された前記情報を生成する、
請求項７に記載の情報処理システム。
【請求項９】
ユーザ端末との間の通信において通信識別子を用いる情報処理装置のコンピュータによって、
前記ユーザ端末から送信された情報要求を受信する情報要求受信ステップと、
前記ユーザ端末に、前記通信識別子と共通の通信識別子を用いたい他の情報処理装置に接続させ、前記共通の通信識別子を該他の情報処理装置から受信させる指示コードであって、該指示コードに示された命令の処理が終了するまで前記ユーザ端末による前記情報の解釈を中断させる指示コードを生成する指示コード生成ステップと、
前記情報要求に応じて前記ユーザ端末に対して送信される情報として、前記指示コードを含む情報を生成する情報生成ステップと、
前記情報生成ステップにおいて生成された前記指示コードを含む情報および前記共通の通信識別子を、前記ユーザ端末宛に送信する情報送信ステップと、
が実行される、情報処理方法。
【請求項１０】
前記情報生成ステップでは、前記指示コードが、前記情報中における前記他の情報処理装置への接続指示よりも先に解釈および実行される位置に記述された前記情報が生成される、
請求項９に記載の情報処理方法。
【請求項１１】
ユーザ端末との間の通信において通信識別子を用いる情報処理装置のコンピュータを、
前記ユーザ端末から送信された情報要求を受信する情報要求受信手段と、
前記ユーザ端末に、前記通信識別子と共通の通信識別子を用いたい他の情報処理装置に接続させ、前記共通の通信識別子を該他の情報処理装置から受信させる指示コードであって、該指示コードに示された命令の処理が終了するまで前記ユーザ端末による前記情報の解釈を中断させる指示コードを生成する指示コード生成手段と、
前記情報要求に応じて前記ユーザ端末に対して送信される情報として、前記指示コードを含む情報を生成する情報生成手段と、
前記情報生成手段によって生成された前記指示コードを含む情報および前記共通の通信識別子を、前記ユーザ端末宛に送信する情報送信手段と、
として機能させるプログラム。
【請求項１２】
前記情報生成手段は、前記指示コードが、前記情報中における前記他の情報処理装置への接続指示よりも先に解釈および実行される位置に記述された前記情報を生成する、
請求項１１に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信識別子を用いてユーザ端末との間の通信を管理する技術に関する。
【背景技術】
【０００２】
従来、前回と異なるサーバへ処理が割り当てられる場合のセッション継続方法として、それぞれのサーバに予め状態コードと状態の対応表を保持しておき、クライアントへの応答時に、クッキーに現在の状態を表す状態コードを含めて返し、リクエストとしてそのクッキーを受け取ったサーバが、状態コードから状態を回復する方法が提案されている（特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−３３４０５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来、Ｗｅｂサイトにおいてユーザ端末を識別してサービスを提供する場合、Ｃｏｏｋｉｅ（クッキー）を用いてユーザ端末のブラウザにセッションＩＤを記憶させ、Ｗｅｂサイトが、このセッションＩＤを用いてユーザ端末を識別することが行われている。【０００５】
しかし、ユーザ端末に備えられるＷｅｂブラウザは、ドメイン名毎にＣｏｏｋｉｅを管理するため、異なるドメイン名に係る複数のＷｅｂサイトにおいて、サイトをまたがった横断的なサービスをユーザに提供することは困難であった。【０００６】
本発明は、上記した問題に鑑み、異なる複数のＷｅｂサイトにおいて、共通の通信識別子を用いることを課題とする。
【課題を解決するための手段】
【０００７】
本発明は、上記した課題を解決するために、以下の手段を採用した。即ち、本発明は、ユーザ端末との間の通信において通信識別子を用いる情報処理装置であって、前記ユーザ端末から送信された情報要求を受信する情報要求受信手段と、前記ユーザ端末に、前記通信識別子と共通の通信識別子を用いたい他の情報処理装置に接続させ、前記共通の通信識別子を該他の情報処理装置から受信させる指示コードを生成する指示コード生成手段と、前記情報要求に応じて前記ユーザ端末に対して送信される情報として、前記指示コードを含む情報を生成する情報生成手段と、前記情報生成手段によって生成された前記指示コードを含む情報および前記共通の通信識別子を、前記ユーザ端末宛に送信する情報送信手段と、を備える、情報処理装置である。【０００８】
ここで、通信識別子とは、例えばセッションＩＤ等、ユーザ端末やユーザとの通信を識別して、ユーザ端末やユーザ毎にサービスを提供するための識別子である。本発明に係る情報処理装置は、ユーザ端末から例えばＷｅｂページのリクエスト等の情報要求を受信した場合に、当該ユーザ端末に、共通の通信識別子を他の情報処理装置から受信させるための指示コード（例えば、ＨＴＭＬタグ）を生成する。そして、この指示コードを情報要求に応じて送信される情報（例えば、Ｗｅｂページ）に含めることで、ユーザ端末に、共通の通信識別子を他の情報処理装置から受信させる。【０００９】
また、前記指示コード生成手段は、前記指示コードとして、該指示コードに示された命令の処理が終了するまで前記ユーザ端末による前記情報の解釈を中断可能なコードを生成してもよい。【００１０】
また、情報処理装置は、前記指示コードが該情報処理装置によって発行されたものであることを認証可能な認証コードを生成する認証コード生成手段を更に備え、前記指示コード生成手段は、前記指示コードを受けて前記他の情報処理装置に接続する前記ユーザ端末が、前記指示コードに含まれる前記認証コードを前記他の情報処理装置に通知するように、前記指示コードを生成してもよい。【００１１】
また、前記認証コード生成手段は、該情報処理装置と前記他の情報処理装置との間で予め共有された共有鍵、および前記共通の通信識別子を含むデータを用いて、前記認証コードを算出してもよい。【００１２】
また、前記認証コード生成手段は、該情報処理装置と前記他の情報処理装置との間で予め共有された共有鍵、および前記共通の通信識別子を含むデータに対して一方向ハッシュ演算を行うことで、前記認証コードを算出してもよい。【００１３】
また、情報処理装置は、該情報処理装置と前記ユーザ端末との間で通信識別子が設定済みか否かを判定する設定状態判定手段を更に備え、前記指示コード生成手段は、前記設定状態判定手段によって前記通信識別子が設定済みでないと判定された場合に、前記指示コードを生成してもよい。【００１４】
また、本発明は、ユーザ端末との間の通信において通信識別子を用いる情報処理装置であって、前記ユーザ端末から送信された情報要求を受信する情報要求受信手段と、前記情報要求受信手段によって受信された情報要求が、前記通信識別子と共通の通信識別子を用いたい他の情報処理装置から通知された指示コードに従って送信された情報要求であるか否かを認証する認証手段と、前記認証手段によって、前記情報要求が、前記指示コードに従って送信された情報要求であると認証された場合に、前記共通の通信識別子を、前記ユーザ端末宛に送信する情報送信手段と、を備える、情報処理装置である。【００１５】
ここで、本発明に係る情報処理装置は、ユーザ端末から例えばスクリプトのリクエスト等の情報要求を受信した場合に、この情報要求が、共通の通信識別子を用いたい他の情報処理装置から通知された指示コードに従って送信された情報要求であるか否かを認証し、認証された場合に、共通の通信識別子を、前記ユーザ端末宛に送信する。【００１６】
また、前記情報要求受信手段は、前記情報要求と併せて、前記他の情報処理装置と前記ユーザ端末との間で用いられる通信識別子を受信し、前記情報送信手段は、前記情報要求受信手段によって受信された前記通信識別子を、前記共通の通信識別子として送信してもよい。【００１７】
また、前記情報要求受信手段は、前記情報要求と併せて、前記指示コードが前記他の情報処理装置によって発行されたものであることを認証可能な認証コードを受信し、前記認証手段は、前記認証コードを用いて、前記情報要求が、前記他の情報処理装置から通知された指示コードに従って送信された情報要求であるか否かを認証してもよい。【００１８】
また、前記認証手段は、該情報処理装置と前記他の情報処理装置との間で予め共有された共有鍵と前記情報要求受信手段によって受信された前記通信識別子とを含むデータを用いた算出結果と、前記認証コードとを比較することで、前記情報要求が、前記他の情報処理装置から通知された指示コードに従って送信された情報要求であるか否かを認証してもよい。【００１９】
また、前記情報送信手段は、前記ユーザ端末に対する具体的な命令を含まないコードと共に、前記共通の通信識別子を、前記ユーザ端末宛に送信してもよい。【００２０】
また、本発明は、ユーザ端末との間の通信において通信識別子を用いる第一の情報処理装置および第二の情報処理装置を備える情報処理システムであってもよい。ここで、前記第一の情報処理装置は、前記ユーザ端末から送信された情報要求を受信する情報要求受信手段と、前記ユーザ端末に、前記第二の情報処理装置に接続させ、前記共通の通信識別子を該第二の情報処理装置から受信させる指示コードを生成する指示コード生成手段と、前記情報要求に応じて前記ユーザ端末に対して送信される情報として、前記指示コードを含む情報を生成する情報生成手段と、前記情報生成手段によって生成された前記指示コードを含む情報および前記共通の通信識別子を、前記ユーザ端末宛に送信する情報送信手段と、を備える。そして、前記第二の情報処理装置は、前記ユーザ端末から送信された情報要求を受信する情報要求受信手段と、前記情報要求受信手段によって受信された情報要求が、前記第一の情報処理装置から通知された指示コードに従って送信された情報要求であるか否かを認証する認証手段と、前記認証手段によって、前記情報要求が、前記指示コードに従って送信された情報要求であると認証された場合に、前記共通の通信識別子を、前記ユーザ端末宛に送信する情報送信手段と、を備える。【００２１】
また、本発明は、コンピュータによって実行される方法、またはコンピュータに実行させるプログラムとしても把握することが可能である。また、本発明は、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものとしても把握できる。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
【発明の効果】
【００２２】
本発明によれば、異なる複数のＷｅｂサイトにおいて、共通の通信識別子を用いることが可能となる。
【図面の簡単な説明】
【００２３】
【図１】実施形態に係るシステムの構成の概略を示す図である。
【図２】実施形態に係るサーバのハードウェア構成の概略を示す図である。
【図３】実施形態に係るシステムを構成する各端末の機能構成の概略を示す図である。
【図４】実施形態に係る、セッションＩＤ共有処理の流れを示すフローチャートである。
【図５】実施形態に係る、共通セッションＩＤ設定用ページ生成処理の流れを示すフローチャートである。
【図６】実施形態に係る、共通セッションＩＤ設定処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００２４】
以下、本発明の実施の形態について、図面に基づいて説明する。なお、以下に説明する実施の形態は、実施形態を例示するものであって、本発明を以下に説明する具体的構成に限定するものではない。実施にあたっては、実施の形態に応じた具体的構成が適宜採用されてよい。
【００２５】
＜システムの構成＞
図１は、本実施形態に係るシステムの構成の概略を示す図である。本実施形態に係るシステムは、インターネット等のネットワークを介して互いに通信可能に接続された、ａ．ｃｏｍサーバ１Ａおよびｂ．ｃｏｍサーバ１Ｂを備える。また本実施形態に係るシステムには、ネットワークを介して、ユーザ端末９が接続される。なお、ａ．ｃｏｍサーバ１Ａおよびｂ．ｃｏｍサーバ１Ｂは、夫々、単一の筐体によって構成されてもよいし、ネットワーク等を介して接続された複数の筐体によって構成されてもよい。
【００２６】
ここで、ａ．ｃｏｍサーバ１Ａによって提供されるＷｅｂサイト「ａ．ｃｏｍ」およびｂ．ｃｏｍサーバ１Ｂによって提供されるＷｅｂサイト「ｂ．ｃｏｍ」は、異なるドメイン名に係るＷｅｂサイトであるものの、サイトをまたがった横断的なサービスをユーザに提供したい。このためには、同一のユーザ端末９がａ．ｃｏｍサーバ１Ａおよびｂ．ｃｏｍサーバ１Ｂに接続した場合に、同一のユーザ端末９による接続であるとａ．ｃｏｍサーバ１Ａおよびｂ．ｃｏｍサーバ１Ｂが夫々認識することが好ましい。しかし、ユーザ端末９に備えられるＷｅｂブラウザは、ドメイン名毎にＣｏｏｋｉｅを管理し、セッション管理に用いられるＣｏｏｋｉｅは、同一のユーザによる接続であると認識できないａ．ｃｏｍおよびｂ．ｃｏｍから夫々異なる値が与えられる。
【００２７】
本実施形態に係るシステムは、上記のような環境において、以下に説明する機能を備えることで、同一のユーザ端末９がａ．ｃｏｍサーバ１Ａおよびｂ．ｃｏｍサーバ１Ｂに接続した場合に、同一のユーザ端末９による接続であるとａ．ｃｏｍサーバ１Ａおよびｂ．ｃｏｍサーバ１Ｂが夫々認識することを可能とする。そして、本実施形態に係るシステムによれば、ａ．ｃｏｍおよびｂ．ｃｏｍにおいて、横断的なサービスを提供することが可能となる。
【００２８】
図２は、本実施形態に係るサーバのハードウェア構成の概略を示す図である。ａ．ｃｏｍサーバ１Ａおよびｂ．ｃｏｍサーバ１Ｂは、何れも、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２およびＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３等からなる制御部１０と、補助記憶装置１４と、入力装置１５と、出力装置１６と、ネットワークインターフェース１７と、を備える情報処理装置である。
【００２９】
但し、本発明の実施にあたって、本発明に係る情報処理装置は、上記した構成と同一の構成である必要はない。情報処理装置の具体的なハードウェア構成に関しては、実施の形態に応じて適宜構成要素の省略や置換、追加が可能である。
【００３０】
ユーザ端末９は、サーバと同様、ＣＰＵ、ＲＡＭおよびＲＯＭ等からなる制御部と、補助記憶装置と、入力装置と、出力装置と、ネットワークインターフェースと、を備える情報処理装置である（図示は省略する）。
【００３１】
図３は、本実施形態に係るシステムを構成する各端末の機能構成の概略を示す図である。本実施形態に係るａ．ｃｏｍサーバ１Ａおよびｂ．ｃｏｍサーバ１Ｂは、何れも、ＣＰＵ１１が、ＲＡＭ１２に展開された各種プログラムを解釈および実行して、サーバに備えられた各種ハードウェアを制御することで、情報要求受信部２１、設定状態判定部２２、認証コード生成部２３、指示コード生成部２４、情報生成部２５、認証部２６および情報送信部２７を備える情報処理装置として機能する。また、本実施形態では、これらの機能がいずれも汎用のＣＰＵ１１によって実行される例について説明しているが、これらの機能は、その一部または全部が、１または複数の専用のプロセッサによって実現されてもよい。
【００３２】
また、ａ．ｃｏｍサーバ１Ａおよびｂ．ｃｏｍサーバ１Ｂは、サーバ間で予め定められた事前共有鍵を保持している。この事前共有鍵は、後述する認証処理において用いられる。また、サーバは、Ｃｏｏｋｉｅを用いてセッションＩＤを発行することで、ユーザ端末９とサーバとの間での通信を管理し、ユーザ端末９またはユーザを識別する。
【００３３】
ユーザ端末９は、Ｗｅｂブラウザを備え、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）に指定されたＷｅｂサーバに対してリクエストを送信する機能、当該リクエストに応じてサーバから返信されたＷｅｂページやスクリプト等を受信する機能、および受信されたＷｅｂページやスクリプト等を解釈・実行する機能を備える。また、ユーザ端末９は、Ｃｏｏｋｉｅ管理テーブルを有し、Ｗｅｂサーバから受信したＣｏｏｋｉｅを、ドメイン名に関連づけてＣｏｏｋｉｅ管理テーブルに保持する。そして、ユーザ端末９は、Ｗｅｂサーバに接続する際に、Ｗｅｂサーバのドメイン名に対応するＣｏｏｋｉｅをＣｏｏｋｉｅ管理テーブルから読み出し、読み出されたＣｏｏｋｉｅをサーバに通知する。
【００３４】
＜処理の流れ＞
次に、図４から図６を用いて、本実施形態に係る処理の詳細を説明する。なお、本実施形態において説明される処理の具体的な内容および順序等は、実施する上での一例である。具体的な処理内容および順序等は、実施の形態に応じて適宜選択されてよい。
【００３５】
図４は、本実施形態に係る、セッションＩＤ共有処理の流れを示すフローチャートである。本フローチャートに示された処理は、ユーザ端末９によって送信されたリクエストがａ．ｃｏｍサーバ１Ａまたはｂ．ｃｏｍサーバ１Ｂによって受信されたことを契機として開始される。
【００３６】
ステップＳ１０１およびステップＳ１０２では、ユーザ端末９によって送信されたリクエストが受信され、リクエストの種類が判定される。情報要求受信部２１は、ユーザ端末９から送信されたリクエストを受信する（ステップＳ１０１）。ここで、リクエストは、Ｗｅｂページのリクエスト（情報要求）である場合もあるし、共通セッションＩＤ設定用スクリプト等の、スクリプトのリクエストである場合もある。サーバは、受信したリクエストが、Ｗｅｂページのリクエストであるかスクリプトのリクエストであるかを判定する（ステップＳ１０２）。ここで、リクエストがスクリプトのリクエストであると判定された場合、処理はステップＳ１０７に示す共通セッションＩＤ設定処理へ進む。一方、リクエストがＷｅｂページのリクエストであると判定された場合、処理はステップＳ１０３へ進む。
【００３７】
ステップＳ１０３では、セッションＩＤが付与済みか否かが判定される。設定状態判定部２２は、受信されたリクエストにセッションＩＤが設定されているか否かを判定することで、サーバとユーザ端末９との間でセッションＩＤが設定済か否かを判定する。ここで、セッションＩＤが設定済であると判定された場合、処理はステップＳ１０４へ進む。一方、セッションＩＤが設定済ではないと判定された場合、処理はステップＳ１０６へ進む。
【００３８】
ステップＳ１０４およびステップＳ１０５では、Ｗｅｂページが生成され、送信される。ａ．ｃｏｍサーバ１Ａは、リクエストに応じたＷｅｂページを生成する（ステップＳ１０４）。ここで生成されるＷｅｂページは、セッションＩＤが付与済みの状態で生成されるものであるため、共通セッションＩＤの設定用タグを含まないものであってよい。ａ．ｃｏｍサーバ１Ａは、生成されたＷｅｂページを、ステップＳ１０１において受信されたリクエストの送信元であるユーザ端末９宛に送信する（ステップＳ１０５）。ユーザ端末９は、Ｗｅｂページのリクエストに対応するＷｅｂページを受信し、ユーザ端末９において出力する。その後、本フローチャートに示された処理は終了する。
【００３９】
ステップＳ１０６では、共通セッションＩＤ設定用ページ生成処理が実行される。共通セッションＩＤ設定用ページ生成処理とは、ステップＳ１０１において受信されたリクエストの送信元であるユーザ端末９宛に送信するＷｅｂページとして、複数のＷｅｂサイト（本実施形態では、ａ．ｃｏｍとｂ．ｃｏｍ）の間で共通するセッションＩＤを設定するための指示コードを含むＷｅｂページを生成する処理である。共通セッションＩＤ設定用ページ生成処理の詳細については、図５を用いて後述する。共通セッションＩＤ設定用ページ生成処理が終了すると、本フローチャートに示された処理は終了する。
【００４０】
ステップＳ１０７では、共通セッションＩＤ設定処理が実行される。共通セッションＩＤ生成処理とは、ステップＳ１０１において受信されたリクエストの送信元であるユーザ端末９に、複数のＷｅｂサイト（本実施形態では、ａ．ｃｏｍとｂ．ｃｏｍ）の間で共通するセッションＩＤを設定する処理である。共通セッションＩＤ設定処理の詳細については、図６を用いて後述する。共通セッションＩＤ設定処理が終了すると、本フローチャートに示された処理は終了する。
【００４１】
図５は、本実施形態に係る、共通セッションＩＤ設定用ページ生成処理の流れを示すフローチャートである。本フローチャートに示された処理は、図４を用いて説明したセッションＩＤ共有処理において、ステップＳ１０６の共通セッションＩＤ設定用ページ生成処理として開始される。なお、本フローチャートでは、リクエストをａ．ｃｏｍサーバ１Ａが受信した場合について説明する。但し、リクエストがｂ．ｃｏｍサーバ１Ｂによって受信された場合の処理の流れについても、ａ．ｃｏｍサーバ１Ａとｂ．ｃｏｍサーバ１Ｂが入れ替わることを除き、概略同様である。
【００４２】
ステップＳ２０１では、セッションＩＤが生成される。サーバ（本実施形態では、ａ．ｃｏｍサーバ１Ａ）は、セッションＩＤが未付与のユーザ端末９に対して発行される、ユーザ端末９およびユーザ端末９との通信を識別するための、セッションＩＤを生成する。その後、処理はステップＳ２０２へ進む。
【００４３】
ステップＳ２０２では、ＭＡＣ（Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ、メッセージ認証コード）が生成される。認証コード生成部２３は、図６を用いて後述する共通セッションＩＤ設定処理を実行する他のサーバ（本実施形態では、ｂ．ｃｏｍサーバ１Ｂ）による認証のために用いられるＭＡＣを生成する。ここで生成されるＭＡＣは、後述するステップＳ２０３において生成される指示コードが、ａ．ｃｏｍサーバ１Ａによって発行されたものであることを、認証可能なものである。より具体的には、認証コード生成部２３は、ａ．ｃｏｍサーバ１Ａとｂ．ｃｏｍサーバ１Ｂとの間で予め共有された事前共有鍵、および共通のセッションＩＤを含むデータに対して一方向ハッシュ演算を行うことで、ＭＡＣを算出する。
【００４４】
ステップＳ２０３では、ユーザ端末９に共通セッションＩＤ設定用スクリプトを取得させるためのタグが生成される。指示コード生成部２４は、ユーザ端末９に、共通セッションＩＤを用いたいｂ．ｃｏｍサーバ１Ｂに接続させ、共通セッションＩＤをｂ．ｃｏｍサーバ１Ｂから受信させる指示コード（タグ）を生成する。ここで、共通セッションＩＤとは、当該ユーザ端末９との通信において、ａ．ｃｏｍサーバ１Ａおよびｂ．ｃｏｍサーバ１Ｂが共通して用いるセッションＩＤである。
【００４５】
指示コード生成部２４によって生成される指示コードは、Ｗｅｂページを受信したユーザ端末９に対する、共通セッションＩＤを用いる他のサーバ（ここでは、ｂ．ｃｏｍサーバ１Ｂ）に接続して、共通セッションＩＤ設定用スクリプトをリクエストする命令を含む。この際ユーザ端末９からｂ．ｃｏｍサーバ１Ｂへの接続に用いられるＵＲＬには、ｂ．ｃｏｍサーバ１Ｂのドメイン名、ステップＳ２０１において生成されたセッションＩＤ、およびステップＳ２０２において生成されたＭＡＣ、が含まれる。
【００４６】
本実施形態において、指示コード生成部２４は、ユーザ端末９が、生成された指示コード（タグ）に示された処理を終了するまで、当該指示コード以降に記述された指示（タグ等）を解釈しない、換言すれば、ユーザ端末９が、当該指示コードに示された処理を終了するまで、処理を中断するような指示コードを生成する。例えば、指示コードは、ＪａｖａＳｃｒｉｐｔ（登録商標）等のスクリプトを他の情報処理装置（ここでは、ｂ．ｃｏｍサーバ１Ｂ）から読み込んで実行することを指示するタグとして記述される。この際、指示コードには、当該指示コードに係る指示（スクリプトの読み込みおよび実行）が終了する前に後続の指示（タグ等）を先行して解釈するようなオプションを指定しない。この場合、Ｗｅｂページを受け取ったユーザ端末９のブラウザは、ＪａｖａＳｃｒｉｐｔ（登録商標）で記述された命令の処理が終了するまで、当該指示コード以降に記述されたタグを解釈しない（処理が中断される）。
【００４７】
このため、指示コード生成部２４によって生成される指示コードを、Ｗｅｂページの、他のサイトへのリンク等の記述よりも上、換言すれば、Ｗｅｂページのソースコード中において他サイトへのリンク等よりも先に解釈・実行される位置、に記述しておくことで、例えばｂ．ｃｏｍ等の他サイトへのリンクがブラウザによって表示されることを防止できる。即ち、指示コードをＷｅｂページの上部に記述しておき、指示コードによって取得されるスクリプトをＪａｖａＳｃｒｉｐｔ（登録商標）で記述されたものとすることで、ユーザがセッションＩＤの共有前にｂ．ｃｏｍリンクをクリックしてしまい、共通しないセッションＩＤが設定されてしまうことを防止出来る。但し、指示コードによって取得される情報はＪａｖａＳｃｒｉｐｔ（登録商標）によって記述されたものに限定されない。指示コードは、当該指示コードに従った共通セッションＩＤの設定が終了するまで、ユーザ端末がその他の方法でｂ．ｃｏｍサーバにアクセスすることを防止可能なものであればよい。
【００４８】
ステップＳ２０４からステップＳ２０６では、ＷｅｂページおよびＣｏｏｋｉｅが生成され、送信される。情報生成部２５は、Ｗｅｂページのリクエストに応じてユーザ端末９に対して送信されるＷｅｂページとして、ステップＳ２０３において生成されたタグ（指示コード）を含むＷｅｂページを生成する（ステップＳ２０４）。この際、上述の通り、情報生成部２５は、指示コード生成部２４によって生成されたタグ（指示コード）を、Ｗｅｂページのソースコード中において、他サイトへのリンク等の記述よりも先に解釈・実行される位置に記述する。また、ａ．ｃｏｍサーバ１Ａは、ステップＳ２０１において生成されたセッションＩＤをユーザ端末９に設定するためのＣｏｏｋｉｅを生成する（ステップＳ２０５）。そして、情報送信部２７は、指示コードを含むＷｅｂページ、およびセッションＩＤを含むＣｏｏｋｉｅを、ユーザ端末９宛に送信する。その後、本フローチャートに示された処理は終了する。
【００４９】
ステップＳ２０６においてａ．ｃｏｍサーバ１Ａから送信された、指示コードを含むＷｅｂページ、およびセッションＩＤを含むＣｏｏｋｉｅは、ユーザ端末９によって受信される。ユーザ端末９は、ＷｅｂページおよびＣｏｏｋｉｅを受信すると、Ｃｏｏｋｉｅに含まれるセッションＩＤを、ａ．ｃｏｍサーバ１Ａとの通信に用いるセッションＩＤとして設定する。このセッションＩＤは、後述する共通セッションＩＤ設定処理によって、ｂ．ｃｏｍサーバ１Ｂとの通信に用いるセッションＩＤとしても設定される共通セッションＩＤである。ユーザ端末９は、Ｗｅｂページに含まれる指示コードを実行し、ｂ．ｃｏｍサーバ１Ｂへスクリプトを要求する。指示コードが実行され、ｂ．ｃｏｍサーバ１Ｂから共通セッションＩＤが設定されるまで、Ｗｅｂページにおける後続のタグの解釈は中断される。
【００５０】
図６は、本実施形態に係る、共通セッションＩＤ設定処理の流れを示すフローチャートである。本フローチャートに示された処理は、図４を用いて説明したセッションＩＤ共有処理において、ステップＳ１０７の共通セッションＩＤ設定処理として開始される。なお、本フローチャートでは、リクエストをｂ．ｃｏｍサーバ１Ｂが受信した場合について説明する。但し、リクエストがａ．ｃｏｍサーバ１Ａによって受信された場合の処理の流れについても、ａ．ｃｏｍサーバ１Ａとｂ．ｃｏｍサーバ１Ｂが入れ替わることを除き、概略同様である。
【００５１】
ステップＳ３０１およびステップＳ３０２では、ユーザ端末９からのリクエストを認証するための一方向ハッシュが算出される。ステップＳ２０３において説明した通り、本実施形態において、ｂ．ｃｏｍサーバ１Ｂへの接続に用いられるＵＲＬには、ａ．ｃｏｍサーバ１Ａによって設定されたセッションＩＤおよびＭＡＣが含まれる。そこで、認証部２６は、ステップＳ１０１において受信したリクエストに含まれるＭＡＣを用いて、受信されたスクリプトのリクエストが、ａ．ｃｏｍサーバ１Ａから通知された指示コードに従って送信されたリクエストであるか否かを認証する。より具体的には、認証部２６は、ａ．ｃｏｍサーバ１Ａとｂ．ｃｏｍサーバ１Ｂとの間で予め共有された事前共有鍵、およびステップＳ１０１で受信されたセッションＩＤを含むデータに対して一方向ハッシュ演算を行う（ステップＳ３０１）。そして、認証部２６は、ステップＳ３０１における一方向ハッシュ演算の結果と、リクエストに含まれていたＭＡＣとを比較することで、共通セッションＩＤ設定用スクリプトのリクエストが、ａ．ｃｏｍサーバ１Ａから通知された指示コードに従って送信されたリクエストであるか否かを認証する（ステップＳ３０２）。その後、処理はステップＳ３０３へ進む。
【００５２】
ステップＳ３０３およびステップＳ３０４では、認証結果が判定され、認証に失敗した場合、共通セッションＩＤの設定のためのＣｏｏｋｉｅを伴わずにスクリプトが送信される。ステップＳ３０２における比較の結果、一方向ハッシュ演算の結果とＭＡＣとが一致していない（不一致）と判定された場合、処理はステップＳ３０４へ進み、ｂ．ｃｏｍサーバ１Ｂは、共通セッションＩＤの設定のためのＣｏｏｋｉｅを伴わないスクリプトを、ユーザ端末９に対して送信する（ステップＳ３０４）。その後、本フローチャートに示された処理は終了する。なお、ここで送信されるスクリプトは、特に限定されないが、例えば、ユーザ端末９に対する表示命令等の具体的な命令を含まないスクリプトコード（例えば、「０；」）とすることが出来る。一方、ステップＳ３０２における比較の結果、一方向ハッシュ演算の結果とＭＡＣとが一致していると判定された場合、処理はステップＳ３０５へ進む。
【００５３】
ステップＳ３０５およびステップＳ３０６では、Ｃｏｏｋｉｅが生成され、共通セッションＩＤ設定用スクリプトと共に送信される。認証部２６によって、スクリプトのリクエストが、ａ．ｃｏｍサーバ１Ａから発行された指示コードに従って送信されたリクエストであると認証された場合、ｂ．ｃｏｍサーバ１Ｂは、ステップＳ１０１において受信されたセッションＩＤ（即ち、ａ．ｃｏｍサーバ１Ａとユーザ端末９との間で用いられるセッションＩＤ）を、共通セッションＩＤとしてユーザ端末９に設定するためのＣｏｏｋｉｅを生成する（ステップＳ３０５）。そして、情報送信部２７は、共通セッションＩＤ設定用スクリプト、および共通セッションＩＤを含むＣｏｏｋｉｅを、ユーザ端末９宛に送信する（ステップＳ３０５）。なお、ここで送信される共通セッションＩＤ設定用スクリプトは、特に限定されないが、例えば、ユーザ端末９に対する表示命令等の具体的な命令を含まないスクリプトコード（例えば、「０；」）とすることが出来る。その後、本フローチャートに示された処理は終了する。
【００５４】
ステップＳ３０６においてｂ．ｃｏｍサーバ１Ｂから送信された、共通セッションＩＤ設定用スクリプト、および共通セッションＩＤを含むＣｏｏｋｉｅは、ユーザ端末９によって受信される。ユーザ端末９は、共通セッションＩＤ設定用スクリプトおよびＣｏｏｋｉｅを受信すると、Ｃｏｏｋｉｅに含まれる共通セッションＩＤを、ｂ．ｃｏｍサーバ１Ｂとの通信に用いるセッションＩＤとして設定する。ユーザ端末９は、共通セッションＩＤ設定のために中断していたＷｅｂページの解釈を再開し、Ｗｅｂページを出力（ディスプレイへの表示等）する。以降、ａ．ｃｏｍサーバ１Ａとユーザ端末９との間で用いられるセッションＩＤと、ｂ．ｃｏｍサーバ１Ｂとユーザ端末９との間で用いられるセッションＩＤとは同一のセッションＩＤとなる。
【００５５】
なお、上記説明した実施形態では、Ｃｏｏｋｉｅに含まれる情報として、セッションＩＤのみを説明したが、Ｃｏｏｋｉｅには、サーバの負荷分散等のためのロードバランサが用いる識別子等、セッションＩＤ以外の情報が含まれてもよい。
【００５６】
＜効果＞
本実施形態に係るシステムによれば、異なる複数のＷｅｂサイトにおいて、共通のセッションＩＤを用いることが可能となる。このため、ユーザ端末９に備えられるＷｅｂブラウザが、ドメイン名毎にＣｏｏｋｉｅを管理する場合にも、異なるドメイン名に係る複数のＷｅｂサイトにおいて、サイトをまたがった横断的なサービスをユーザに提供することが可能となる。例えば、異なるドメインを用いる複数のＷｅｂサイトにおいて、ショッピングカートの共通化等が可能となる。
【００５７】
また、セッションＩＤを複数のサーバ間で共有する方法として、ユーザ端末９がサーバにアクセスする際のＵＲＬにセッションＩＤを含ませることでユーザ端末９やユーザを識別する方法が考えられる。しかし、このような方式を採用した場合、セッションＩＤがユーザから見える状態であるため、セッションＩＤが他のユーザに知られてしまう可能性が高まる。このような方法に比べて、本実施形態に係るシステムによれば、よりセキュアにセッションＩＤを共有することが出来る。
【００５８】
更に、本実施形態に係るシステムによれば、ユーザ端末９から共通セッションＩＤの発行を求められたサーバ（上記実施形態におけるｂ．ｃｏｍサーバ１Ｂ）が、指示コードを発行したサーバ（上記実施形態におけるａ．ｃｏｍサーバ１Ａ）が予め事前共有鍵を共有したサーバであるか否かを認証し、真性な指示コードを有するユーザ端末９のみに対して、共通セッションＩＤを設定することが出来る。本実施形態に係るシステムは、このような点においても、従来のシステムに比べセキュアである。
【符号の説明】
【００５９】
１Ａ、１Ｂ  サーバ
９  ユーザ端末
【要約】
異なる複数のＷｅｂサイトにおいて、共通の通信識別子を用いることを課題とする。第一のサーバ１Ａに、ユーザ端末９から送信されたリクエストを受信する情報要求受信部２１と、ユーザ端末９に、共通のセッションＩＤを用いたい第二のサーバ１Ｂに接続させ、共通のセッションＩＤを第二のサーバ１Ｂから受信させる所定のタグを生成する指示コード生成部２４と、リクエストに応じてユーザ端末９に対して送信されるＷｅｂページとして、所定のタグを含むＷｅｂページを生成する情報生成部２５と、生成された所定のタグを含むＷｅｂページおよび共通のセッションＩＤを、ユーザ端末９宛に送信する情報送信部２７と、を備えた。【図１】
0005383923.tif 000002
【図２】
0005383923.tif 000003
【図３】
0005383923.tif 000004
【図４】
0005383923.tif 000005
【図５】
0005383923.tif 000006
【図６】
0005383923.tif 000007