(57)【特許請求の範囲】
【請求項１】
ユーザが操作する利用者端末と、受信した要求に応じてサービスを提供するサービスサーバと、前記利用者端末と前記サービスサーバとの間の通信を中継する中継サーバとを具備する情報処理システムであって、
前記利用者端末は、
前記サービスサーバにサービスの提供を要求する要求情報を生成するユーザエージェント部と、
前記要求情報に前記中継サーバを宛先とするヘッダー情報を付加することによりカプセル化した要求情報を前記中継サーバに送信する通信部と、
を備え、
前記中継サーバは、
前記ユーザごとに、前記サービスサーバにおいてサービスの提供を受ける権利を有しているか否かの判定をする第１の認証処理に用いられる、ユーザを識別する第１のユーザ識別子と、第１のユーザ認証用情報とを対応付けて予め記憶しているサービス認証情報記憶部と、
前記利用者端末からカプセル化された要求情報を受信すると、該利用者端末を操作するユーザに対応する第１のユーザ識別子及び第１のユーザ認証用情報を前記サービス認証情報記憶部から読み出し、読み出した第１のユーザ識別子及び第１のユーザ認証用情報を前記サービスサーバに送信して第１の認証処理を行わせる連携認証部と、
前記カプセル化された要求情報に含まれている要求情報を前記サービスサーバに送信し、該要求情報に応じたサービス結果を示すコンテンツ情報を該サービスサーバから受信し、前記カプセル化された要求情報に対する応答として前記受信したコンテンツ情報を前記利用者端末に送信するコンテンツ通信部と
を備える
ことを特徴とする情報処理システム。
【請求項２】
請求項１に記載の情報処理システムであって、
前記中継サーバは、更に、
前記ユーザごとに、自装置を介して前記サービスサーバと通信する権利を有しているか否かを判定する第２の認証処理に用いられる、第２のユーザ識別子と、第２のユーザ認証用情報とを対応付けた利用者情報を予め記憶している利用者情報記憶部と、
前記利用者端末から受信した認証情報と、前記利用者情報とに基づいて、第２の認証処理を行う利用者認証部と
を備え、
前記コンテンツ通信部は、
自装置を介して前記サービスサーバと通信する権利を有していると判定された前記利用者端末から受信するカプセル化された要求情報を前記サービスサーバに送信し、
自装置を介して前記サービスサーバと通信する権利を有していないと判定された前記利用者端末から受信するカプセル化された要求情報を破棄する
ことを特徴とする情報処理システム。
【請求項３】
ユーザが操作する利用者端末と、受信した要求に応じてサービスを提供するサービスサーバと、前記ユーザごとに、前記サービスサーバにおいてサービスの提供を受ける権利を有しているか否かの判定をする第１の認証処理に用いられる、ユーザを識別する第１のユーザ識別子と、第１のユーザ認証用情報とを対応付けて予め記憶しているサービス認証情報記憶部を備える中継サーバとを具備する情報処理システムにおける情報処理方法であって、
前記利用者端末が、前記サービスサーバにサービスの提供を要求する要求情報を生成する生成ステップと、
前記利用者端末が、前記要求情報に前記中継サーバを宛先とするヘッダー情報を付加することによりカプセル化した要求情報を前記中継サーバに送信する送信ステップと、
前記中継サーバが、前記利用者端末からカプセル化された要求情報を受信すると、該利用者端末を操作するユーザに対応する第１のユーザ識別子及び第１のユーザ認証用情報を前記サービス認証情報記憶部から読み出し、読み出した第１のユーザ識別子及び第１のユーザ認証用情報を前記サービスサーバに送信して第１の認証処理を行わせる連携認証ステップと、
前記中継サーバが、前記カプセル化された要求情報に含まれている要求情報を前記サービスサーバに送信し、該要求情報に応じたサービス結果を示すコンテンツ情報を該サービスサーバから受信し、前記カプセル化された要求情報に対する応答として前記受信したコンテンツ情報を前記利用者端末に送信するコンテンツ通信ステップと
を有することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、及び情報処理方法に関する。
【背景技術】
【０００２】
ユーザがインターネット上で提供されているクラウドコンピューティングを利用する際や、Ｗｅｂコンテンツを閲覧する際に、中継サーバであるリバースプロキシサーバに認証を行わせることにより、ユーザにシングルサインオンの利便性を提供している（例えば、特許文献１）。具体的には、ユーザにより操作される利用者端末が、リバースプロキシサーバを介してインターネット上でサービスを提供するサービスサーバにアクセスすると、リバースプロキシサーバが利用者端末に代わりサービスサーバへの認証を代行して行い、通信をする。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−０２０６４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
中継サーバは、利用者端末が中継サーバ（リバースプロキシサーバ）に対してサービスサーバにアクセスする際に用いるドメイン名（以下、内部ドメイン名という。）と、当該サービスサーバに対して用いるドメイン名（以下、外部ドメイン名という。）との対応関係を記憶している。この対応関係は、サービスサーバを運用している運用者などの都合による外部ドメイン名の変更や、新規のサービスの開始、追加等による外部ドメイン名の増加に応じて、更新する必要がある。そのため、内部ドメイン名と外部ドメイン名との対応関係が正しいかを検証し、対応関係を常に一致させる必要がある。
しかしながら、中継サーバを介してアクセスするサービスサーバの数が多くなり、サービスサーバの外部ドメイン名の変更や追加が頻繁になると、内部ドメイン名と外部ドメイン名との対応関係を常に一致させることが困難になるという問題がある。
【０００５】
また、中継サーバは、利用者端末のサービスサーバへのアクセス及び認証などを代理するために、サービスサーバ等から提供される情報に含まれる外部ドメイン名を内部ドメイン名に変換して利用者端末に情報を中継している。しかし、サービスサーバ等から提供される情報には、Ａｊａｘ技術等を利用して動的に外部ドメイン名を変更するコンテンツや、外部ドメイン名がバイナリ表現されたコンテンツなどがあり、利用者端末に中継する際に外部ドメイン名を内部ドメイン名に変換できないことがある。この場合、利用者端末は、中継サーバを介さずにサービスサーバにアクセスしてしまい、シングルサインオンの利便性を提供できなくなったり、サービスサーバにアクセスできなくなったりするという問題がある。
【０００６】
このように、ユーザが利用するサービスを提供するサービスサーバの外部ドメイン名の変更や、利用するサービスに含まれるコンテンツの形態などによって、安定してシングルサインオンの利便性を提供できなくなることや、サービスサーバが提供するサービスの利用ができないことがある。
【０００７】
本発明は、上記問題を解決すべくなされたもので、その目的は、ユーザにシングルサインオンの利便性を安定して提供できる情報処理システム、及び情報処理方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記問題を解決するために、本発明は、ユーザが操作する利用者端末と、受信した要求に応じてサービスを提供するサービスサーバと、前記利用者端末と前記サービスサーバとの間の通信を中継する中継サーバとを具備する情報処理システムであって、前記利用者端末は、前記サービスサーバにサービスの提供を要求する要求情報を生成するユーザエージェント部と、前記要求情報に前記中継サーバを宛先とするヘッダー情報を付加することによりカプセル化した要求情報を前記中継サーバに送信する通信部と、を備え、前記中継サーバは、前記ユーザごとに、前記サービスサーバにおいてサービスの提供を受ける権利を有しているか否かの判定をする第１の認証処理に用いられる、ユーザを識別する第１のユーザ識別子と、第１のユーザ認証用情報とを対応付けて予め記憶しているサービス認証情報記憶部と、前記利用者端末からカプセル化された要求情報を受信すると、該利用者端末を操作するユーザに対応する第１のユーザ識別子及び第１のユーザ認証用情報を前記サービス認証情報記憶部から読み出し、読み出した第１のユーザ識別子及び第１のユーザ認証用情報を前記サービスサーバに送信して第１の認証処理を行わせる連携認証部と、前記カプセル化された要求情報に含まれている要求情報を前記サービスサーバに送信し、該要求情報に応じたサービス結果を示すコンテンツ情報を該サービスサーバから受信し、前記カプセル化された要求情報に対する応答として前記受信したコンテンツ情報を前記利用者端末に送信するコンテンツ通信部とを備えることを特徴とする情報処理システムである。
【０００９】
また、上記に記載の発明において、前記中継サーバは、更に、前記ユーザごとに、自装置を介して前記サービスサーバと通信する権利を有しているか否かを判定する第２の認証処理に用いられる、第２のユーザ識別子と、第２のユーザ認証用情報とを対応付けた利用者情報を予め記憶している利用者情報記憶部と、前記利用者端末から受信した認証情報と、前記利用者情報とに基づいて、第２の認証処理を行う利用者認証部とを備え、前記コンテンツ通信部は、自装置を介して前記サービスサーバと通信する権利を有していると判定された前記利用者端末から受信するカプセル化された要求情報を前記サービスサーバに送信し、自装置を介して前記サービスサーバと通信する権利を有していないと判定された前記利用者端末から受信するカプセル化された要求情報を破棄することを特徴とする。
【００１０】
また、本発明は、ユーザが操作する利用者端末と、受信した要求に応じてサービスを提供するサービスサーバと、前記ユーザごとに、前記サービスサーバにおいてサービスの提供を受ける権利を有しているか否かの判定をする第１の認証処理に用いられる、ユーザを識別する第１のユーザ識別子と、第１のユーザ認証用情報とを対応付けて予め記憶しているサービス認証情報記憶部を備える中継サーバとを具備する情報処理システムにおける情報処理方法であって、前記利用者端末が、前記サービスサーバにサービスの提供を要求する要求情報を生成する生成ステップと、前記利用者端末が、前記要求情報に前記中継サーバを宛先とするヘッダー情報を付加することによりカプセル化した要求情報を前記中継サーバに送信する送信ステップと、前記中継サーバが、前記利用者端末からカプセル化された要求情報を受信すると、該利用者端末を操作するユーザに対応する第１のユーザ識別子及び第１のユーザ認証用情報を前記サービス認証情報記憶部から読み出し、読み出した第１のユーザ識別子及び第１のユーザ認証用情報を前記サービスサーバに送信して第１の認証処理を行わせる連携認証ステップと、前記中継サーバが、前記カプセル化された要求情報に含まれている要求情報を前記サービスサーバに送信し、該要求情報に応じたサービス結果を示すコンテンツ情報を該サービスサーバから受信し、前記カプセル化された要求情報に対する応答として前記受信したコンテンツ情報を前記利用者端末に送信するコンテンツ通信ステップとを有することを特徴とする情報処理方法である。
【発明の効果】
【００１１】
この発明によれば、利用者端末は、サービスサーバが提供するサービスを要求する要求情報にヘッダー情報を付加してカプセル化して中継サーバに送信し、中継サーバはカプセル化された要求情報に含まれる要求情報をサービスサーバに送信し、利用者端末に代わってサービスサーバからサービス結果を示すコンテンツ情報を受信する。中継サーバは、サービスサーバから受信したコンテンツ情報を、利用者端末から受信した要求情報に対する応答として利用者端末に送信する。すなわち、利用者端末は、サービスサーバに送信する要求情報をカプセル化して中継サーバに送信することにより、中継サーバを介してサービスサーバにアクセスするようにした。
これにより、中継サーバにおいて、外部ドメイン名と内部ドメイン名との対応関係を記憶する必要がなくなり、外部ドメイン名と内部ドメイン名とを一致させることや、コンテンツに含まれる外部ドメイン名を内部ドメイン名に変換することが不要になる。その結果、中継サーバはユーザに対してシングルサインオンの利便性を安定して提供できる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態における情報処理システム１の構成を示す概略ブロック図である。
【図２】本実施形態におけるリバースプロキシサーバ１０及び利用者端末４０の構成を示す概略ブロック図である。
【図３】本実施形態における利用ドメイン記憶部１１に記憶されている利用ドメイン情報の一例を示す図である。
【図４】本実施形態における利用者情報記憶部１２に記憶されている利用者情報の一例を示す図である。
【図５】本実施形態におけるサービス認証情報記憶部１３に記憶されているサービス認証情報の一例を示す図である。
【図６】本実施形態のリバースプロキシサーバ１０における認証を経てサービスサーバ３０にアクセスする処理を示す第１のシーケンス図である。
【図７】本実施形態のリバースプロキシサーバ１０における認証を経てサービスサーバ３０にアクセスする処理を示す第２のシーケンス図である。
【図８】本実施形態のリバースプロキシサーバ１０における認証を経てサービスサーバ３０にアクセスする処理を示す第３のシーケンス図である。
【図９】本実施形態における認証後のサービスサーバ３０にアクセスする処理の一例を示すシーケンス図である。
【図１０】リバースプロキシサーバ１０を経由したサービスサーバ３０の利用を終了する際の処理（切断処理）の一例を示す第１のシーケンス図である。
【図１１】リバースプロキシサーバ１０を経由したサービスサーバ３０の利用を終了する際の処理（切断処理）の一例を示す第２のシーケンス図である。
【図１２】リバースプロキシサーバ１０を経由したサービスサーバ３０の利用を終了する際の処理（切断処理）の一例を示す第３のシーケンス図である。
【図１３】ＨＴＴＰ１．１に追加するヘッダーフィールドを示している。
【図１４】リバースプロキシサーバ１０と利用者端末４０とにおいて用いられるリクエストデータ及びレスポンスデータにおけるヘッダー情報の一例を示す図である。
【図１５】ステップＳ１０２における接続要求情報のヘッダー情報の例を示す図である。
【図１６】ステップＳ１０３における接続要求情報のヘッダー情報の例を示す図である。
【図１７】ステップＳ１０４における認証要求情報のヘッダー情報の例を示す図である。
【図１８】ステップＳ１０５における認証要求情報のヘッダー情報の例を示す図である。
【図１９】ステップＳ１０７において送信する情報のヘッダー情報の例を示す図である。
【図２０】ステップＳ１０８において送信する情報のヘッダー情報の例を示す図である。
【図２１】ステップＳ１１０における認証結果情報のヘッダー情報を示す図である。
【図２２】ステップＳ１１１における認証結果情報のヘッダー情報を示す図である。
【図２３】ステップＳ１２４におけるアクセス要求情報のヘッダー情報の例を示す図である。
【図２４】ステップＳ１２６におけるアクセス要求情報のヘッダー情報の例を示す図である。
【図２５】ステップＳ１３８において送信する初期コンテンツのヘッダー情報の例を示す図である。
【図２６】ステップＳ１３９において送信する初期コンテンツのヘッダー情報の例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明の実施形態における情報処理システム、及び情報処理方法を説明する。
【００１４】
図１は、本実施形態における情報処理システム１の構成を示す概略ブロック図である。同図に示すように、情報処理システム１は、リバースプロキシサーバ１０と、ネットワーク２０を介してリバースプロキシサーバ１０と接続されている少なくとも１つのサービスサーバ３０と、リバースプロキシサーバ１０に接続されている利用者端末４０とを具備している。
【００１５】
中継サーバとしてのリバースプロキシサーバ１０は、利用者端末４０からサービスサーバ３０に対するアクセス要求などを受信し、受信したアクセス要求に応じてサービスサーバ３０にアクセスする。ネットワーク２０は、例えば、インターネットなどである。
サービスサーバ３０は、ネットサービス事業者やコンテンツ事業者によって運用されるサーバであり、クラウドコンピューティングや、Ｗｅｂコンテンツなどのサービスをユーザに提供する。利用者端末４０は、ユーザが操作する装置であり、例えば、デスクトップコンピュータ、ノート型コンピュータ、スマートフォンなどの情報端末や、ウェブブラウザなどのネットワークを通じて通信をする機能を有するテレビ及びゲーム機などである。
【００１６】
図２は、本実施形態におけるリバースプロキシサーバ１０及び利用者端末４０の構成を示す概略ブロック図である。同図に示すように、リバースプロキシサーバ１０は、利用ドメイン記憶部１１と、利用者情報記憶部１２と、サービス認証情報記憶部１３と、端末連携部１４と、コンテンツ通信部１５と、連携認証部１６とを備えている。利用者端末４０は、入力部４１と、出力部４２と、ユーザエージェント部４３と、データ変換部４４と、通信部４５とを備えている。
【００１７】
リバースプロキシサーバ１０における、利用ドメイン記憶部１１には、利用者端末４０を操作するユーザと、当該ユーザが自装置（リバースプロキシサーバ１０）を介してアクセスするサービスサーバ３０のドメイン名と、当該アクセスを識別するセッションＩＤとが対応付けられた利用ドメイン情報が記憶される。
【００１８】
利用者情報記憶部１２には、利用者端末４０が自装置を介してネットワーク２０にアクセスする権利があるか否かの判定である認証を行う際に用いる利用者情報が記憶されている。利用者情報は、利用者端末４０を操作するユーザを識別するユーザＩＤと、当該ユーザに対する判定に用いる認証の種別と、認証の種別に応じた情報とが対応付けられて予め記憶されている。ここで、認証の種別には、例えば、Ｆｏｒｍ認証や、ＳＡＭＬ認証、ＯｐｅｎＩＤ認証などのいずれかを示す情報が含まれる。
【００１９】
サービス認証情報記憶部１３には、サービス認証情報が予め記憶されている。サービス認証情報は、ユーザＩＤごとに、少なくとも１つのインターネットサービス認証情報が対応付けられた情報である。インターネットサービス認証情報は、サービスサーバ３０ごとに、サービスサーバ３０における認証の種別と、サービスサーバ３０のドメイン名と、サービスサーバ３０におけるＩＤ及びＰＷ（パスワード）との組み合わせを対応付けた情報である。
【００２０】
利用ドメイン記憶部１１に記憶されている利用ドメイン情報、利用者情報記憶部１２に記憶されている利用者情報、及びサービス認証情報記憶部１３に記憶されているサービス認証情報の一例を以下に示す。
【００２１】
図３は、本実施形態における利用ドメイン記憶部１１に記憶されている利用ドメイン情報の一例を示す図である。同図に示すように、利用者情報は、ユーザＩＤごとに、セッションＩＤと、ドメイン名とが対応付けられた情報である。例えば、ユーザＩＤ「Ａ」のユーザには、セッションＩＤ「10.0.0.1_a_20110701235547」及びドメイン名「www.ntt.co.jp」と、セッションＩＤ「10.0.0.1_a_20110701235612」及びドメイン名「www.some.com」とが対応付けられている。
【００２２】
図４は、本実施形態における利用者情報記憶部１２に記憶されている利用者情報の一例を示す図である。同図に示すように、利用者情報は、ユーザＩＤごとに、認証の種別と、認証の種別に応じた情報とが対応付けられた情報である。例えば、ユーザＩＤ「Ａ」のユーザには、認証種別「８０２．１Ｘ」及び認証に用いる情報「/etc/tunnel/xxx/xxx.pem」が対応付けられている。ここで、認証の種別に応じた情報とは、認証に用いるパスワードや、電子証明書のファイルなどである。
【００２３】
図５は、本実施形態におけるサービス認証情報記憶部１３に記憶されているサービス認証情報の一例を示す図である。同図に示すように、サービス認証情報は、ユーザＩＤごとに、認証の種別と、サービスサーバ３０のドメイン名と、サービスサーバ３０におけるＩＤと、サービスサーバ３０における認証に用いられる情報（例えば、パスワードなど）とからなるインターネットサービス認証情報が対応付けられた情報である。例えば、ユーザ「Ｂ」には、認証種別「ＯｐｅｎＩＤ」及びドメイン名「www.any.com」が対応付けられている。
【００２４】
図２に戻り、リバースプロキシサーバ１０と利用者端末４０との構成について説明を続ける。
端末連携部１４は、カプセル化データ転送部１４１と、利用ドメイン管理部１４２とを有している。カプセル化データ転送部１４１は、利用者端末４０とコンテンツ通信部１５との間で送受信されるカプセル化されたデータを転送する。利用ドメイン管理部１４２は、利用者端末４０を操作するユーザごとに、利用者端末４０が自装置を介してアクセスするサービスサーバ３０のドメイン名と、当該アクセスを識別する識別子としてのセッションＩＤとを検出し、当該ユーザのユーザＩＤと、検出したドメイン名及びセッションＩＤとを対応付けて利用ドメイン記憶部１１に記憶させる。
【００２５】
コンテンツ通信部１５は、利用者認証部１５１と、カプセル化データ処理部１５２と、接続先アドレス変換部１５３と、外部通信部１５４とを有している。利用者認証部１５１は、利用者情報記憶部１２に記憶されている利用者情報に基づいて、利用者端末４０が自装置を介してネットワーク２０にアクセスする権利があるか否かの判定を行う。
カプセル化データ処理部１５２は、端末連携部１４から入力されたカプセル化された情報に付加されているヘッダー情報を削除することにより、カプセル化された情報をアンカプセル化する。また、カプセル化データ処理部１５２は、ネットワーク２０を介してサービスサーバ３０から受信したデータにヘッダー情報を付加することにより、受信したデータをカプセル化する。
【００２６】
接続先アドレス変換部１５３は、利用者端末４０から受信したアクセス要求に含まれるドメイン名に対応するＩＰアドレスを検索する。接続先アドレス変換部１５３によるＩＰアドレスの検索は、例えば、公知の技術を用いてＤＮＳ（Domain Name System）サーバに問い合わせることにより、ドメイン名に対応するＩＰアドレスを検索するようにしてもよい。外部通信部１５４は、リバースプロキシサーバ１０において、ネットワーク２０を介した通信を処理し、ネットワーク２０を介して受信したデータをカプセル化データ処理部１５２に出力する。
【００２７】
連携認証部１６は、利用者端末４０から受信したサービスサーバ３０へのアクセス要求について、利用者端末４０がサービスサーバ３０にアクセスしてクラウドコンピューティングや、Ｗｅｂコンテンツを閲覧するなどのサービスの提供を受ける際に、サービスの提供を受ける権利があるか否かを判定する認証の処理を利用者端末４０に代わって行う。
【００２８】
続いて、利用者端末４０に備えられている各機能部について説明する。
入力部４１には、ユーザの操作に応じた指示情報が入力される。入力部４１は、例えば、キーボードや、マウスなどのポインティングデバイス、リモートコントローラなどである。出力部４２は、ユーザの操作に応じて得られた結果を出力する。出力部４２は、例えば、ディスプレイやスピーカーなどである。
【００２９】
ユーザエージェント部４３は、サービスサーバ３０において提供されているクラウドコンピューティングや、Ｗｅｂコンテンツ等のサービスを受ける機能を有する。また、ユーザエージェント部４３は、ユーザの操作に応じて入力部４１に入力される指示情報に基づいて、サービスサーバ３０への接続要求、サービスの要求、サービスサーバ３０への切断要求などを示すデータを生成し、生成したデータをデータ変換部４４に出力する。また、ユーザエージェント部４３は、データ変換部４４から入力されるデータ、例えば要求したサービスの結果に対応するデータを出力部４２に出力する。ユーザエージェント部４３は、例えばウェブブラウザなどである。
【００３０】
データ変換部４４は、ユーザエージェント部４３から入力されるデータに、ヘッダー情報を付加することによりカプセル化し、カプセル化したデータを通信部４５に出力する。また、データ変換部４４は、通信部４５から入力されるデータに付加されているヘッダー情報を削除することによりアンカプセル化し、アンカプセル化したデータをユーザエージェント部４３に出力する。ここで、ヘッダー情報は、リバースプロキシサーバ１０と自装置との間における認証の状態、自装置を利用するユーザに関する情報、リバースプロキシサーバ１０を宛先とする情報などを含む。
【００３１】
通信部４５は、トンネル接続部４５１と、トンネル通信部４５２とを有している。トンネル接続部４５１は、ユーザエージェント部４３において生成されたサービスサーバ３０に対する接続要求が入力されると、リバースプロキシサーバ１０への通信に対する接続を要求し、認証処理を行う。トンネル通信部４５２は、認証処理の結果、接続が許可されると、データ変換部４４においてカプセル化されたデータをリバースプロキシサーバ１０に送信し、リバースプロキシサーバ１０から受信したデータをデータ変換部４４に出力する。
【００３２】
次に、リバースプロキシサーバ１０における認証を経てサービスサーバ３０にアクセスする処理（接続処理）と、認証を行った後におけるサービスサーバ３０にアクセスする処理と、サービスサーバ３０の利用を終了する際の処理（切断処理）とを例を示して説明する。以下、サービスサーバ３０における認証の種別がＦｏｒｍ認証である場合について説明する。
【００３３】
図６から図８は、本実施形態のリバースプロキシサーバ１０における認証を経てサービスサーバ３０にアクセスする処理を示すシーケンス図である。
【００３４】
図６に示されているように、利用者端末４０において、ユーザの操作に応じてユーザエージェント部４３の動作が開始されると（ステップＳ１０１）、ユーザエージェント部４３はリバースプロキシサーバ１０への接続要求を示す接続要求情報を生成してデータ変換部４４に出力する。データ変換部４４は、入力された接続要求情報に、コンテンツ通信部１５を宛先として含むヘッダー情報を付加して当該情報をカプセル化し、トンネル接続部４５１を介して、カプセル化した接続要求情報をリバースプロキシサーバ１０に送信する（ステップＳ１０２）。
【００３５】
リバースプロキシサーバ１０において、カプセル化データ転送部１４１は、利用者端末４０から受信した、自装置への接続要求がカプセル化された情報をコンテンツ通信部１５に転送する（ステップＳ１０３）。
コンテンツ通信部１５において、利用者認証部１５１は、自装置への接続要求がカプセル化された接続要求情報を入力されると、当該接続要求情報を送信した利用者端末４０に対して、ユーザＩＤ及び認証に用いる情報を要求することを示す認証要求情報をカプセル化データ転送部１４１に出力する（ステップＳ１０４）。カプセル化データ転送部１４１は、入力された認証要求情報を利用者端末４０に転送する（ステップＳ１０５）。
【００３６】
トンネル接続部４５１は、リバースプロキシサーバ１０から受信した認証要求情報を、データ変換部４４を介してユーザエージェント部４３に出力する。ユーザエージェント部４３は、認証要求情報が入力されると、リバースプロキシサーバ１０からユーザＩＤ及び認証に用いる情報を要求されていることを示す情報を出力部４２に出力する。また、ユーザエージェント部４３は、ユーザの操作に応じて入力部４１に入力された指示情報により特定されるユーザＩＤ及び認証に用いる情報に、コンテンツ通信部１５を宛先として含むヘッダー情報を付加して当該情報をカプセル化する（ステップＳ１０６）。
ユーザエージェント部４３は、トンネル接続部４５１を介して、カプセル化した情報をリバースプロキシサーバ１０に送信する（ステップＳ１０７）。
【００３７】
リバースプロキシサーバ１０において、カプセル化データ転送部１４１は、利用者端末４０から受信した、ユーザＩＤ及び認証に用いる情報をカプセル化した情報を利用者認証部１５１に転送する（ステップＳ１０８）。
利用者認証部１５１は、カプセル化された情報に含まれているユーザＩＤ及び認証に用いる情報と、利用者情報記憶部１２に記憶されている利用者情報に含まれるユーザＩＤ及び認証に用いる情報とに対して、利用者情報において当該ユーザＩＤに対応する認証の種別に対応する方式を用いて認証を行う（ステップＳ１０９）。
すなわち、利用者認証部１５１は、利用者端末４０が自装置を介してネットワーク２０にアクセスする権利があるか否かの判定を行う。また、利用者認証部１５１は、ユーザＩＤに対する認証により、自装置を介してネットワーク２０にアクセスする権利があると判定された場合、当該ユーザＩＤのユーザがログイン中であることを利用者情報記憶部１２に記憶させる。
【００３８】
利用者認証部１５１は、認証結果情報をカプセル化データ転送部１４１に出力する（ステップＳ１１０）。認証結果情報には、自装置を介してネットワーク２０にアクセスする権利があると判定された場合、認証結果情報に加えて、ユーザＩＤに割り当てられたセッションＩＤ及びセッションキーが含まれる。
カプセル化データ転送部１４１は、入力された認証要求を利用者端末４０に転送する（ステップＳ１１１）。
【００３９】
上述のステップＳ１０１からステップＳ１１１までの処理が、利用者端末４０にリバースプロキシサーバ１０を介して、ネットワーク２０上のサービスサーバ３０にアクセスする権利があるか否かの判定を行う利用者端末認証フェーズである。認証の結果、利用者端末４０がリバースプロキシサーバ１０を介してネットワーク２０にアクセスする権利があることを示している場合、次に説明するサービス認証フェーズを行う。
【００４０】
また、利用者端末４０がリバースプロキシサーバ１０を介してネットワーク２０にアクセスする権利がある場合、認証結果情報には、セッションＩＤとセッションキーとが含まれる。このセッションＩＤとセッションキーとは、利用者端末４０がリバースプロキシサーバ１０を介してサービスサーバ３０にアクセスする際に用いられ、認証された利用者端末４０との接続に対して利用者認証部１５１から発行され、利用者端末４０との接続が切断されるまで有効である。
【００４１】
一方、利用者端末４０にアクセスする権利がない場合、利用者端末４０において、ユーザエージェント部４３は、再度、リバースプロキシサーバ１０への接続要求を示す接続要求情報を生成しデータ変換部４４に出力して、ステップＳ１０２以降の処理を繰り返して行う。あるいは、ユーザエージェント部４３は、利用者端末認証フェーズの処理を終了させる。
【００４２】
図７に示されているように、ユーザエージェント部４３は、アクセスする権利があることを示す認証結果情報が入力されると、提供を希望するサービスを提供するサービスサーバ３０のＵＲＬの入力等を要求する情報を出力部４２に出力する。ユーザエージェント部４３は、入力部４１にサービスサーバ３０のＵＲＬ等の情報が入力されると（ステップＳ１２１）、入力された情報に基づいて、当該サービスサーバ３０に対してアクセスを要求するアクセス要求情報を生成してデータ変換部４４に出力する（ステップＳ１２２）。
アクセス要求情報には、サービスサーバ３０のドメイン名、サービスの提供を受けるための情報（コマンドなど）が含まれる。
【００４３】
データ変換部４４は、入力されたアクセス要求情報にヘッダー情報を付加して当該情報をカプセル化し（ステップＳ１２３）、トンネル通信部４５２を介して、カプセル化したアクセス要求情報をリバースプロキシサーバ１０に送信する（ステップＳ１２４）。ここで、ステップＳ１２３においてアクセス要求情報に付加されるヘッダー情報には、コンテンツ通信部１５を宛先とする情報と、ステップＳ１０６において入力されたユーザのユーザＩＤと、アクセス要求情報に含まれるサービスサーバ３０のドメイン名、認証結果情報に含まれていたセッションＩＤ及びセッションキーとが含まれる。
【００４４】
リバースプロキシサーバ１０において、カプセル化データ転送部１４１は、利用者端末４０からカプセル化されたアクセス要求情報を受信し、アクセス要求情報に付加されているヘッダー情報を利用ドメイン管理部１４２に出力する。利用ドメイン管理部１４２は、ヘッダー情報に含まれているユーザＩＤ、セッションＩＤ、及びサービスサーバ３０のドメイン名を対応付けて、利用ドメイン記憶部１１に記憶させる（ステップＳ１２５）。
また、カプセル化データ転送部１４１は、カプセル化されたアクセス要求情報をコンテンツ通信部１５に転送する（ステップＳ１２６）。
【００４５】
コンテンツ通信部１５において、カプセル化データ処理部１５２は、カプセル化されたアクセス要求情報をアンカプセル化するとともに（ステップＳ１２７）、アクセス要求情報に含まれるサービスサーバ３０のＵＲＬを接続先アドレス変換部１５３に出力する。接続先アドレス変換部１５３は、入力されたＵＲＬに対応するＩＰアドレスを検索し、検索結果をカプセル化データ処理部１５２に出力する（ステップＳ１２８）。
カプセル化データ処理部１５２は、アンカプセル化したアクセス要求情報と、当該アクセス要求情報に付加されていたユーザＩＤと、接続先アドレス変換部１５３から入力されたＩＰアドレスとを組み合わせて外部通信部１５４に出力する。外部通信部１５４は、入力されたＩＰアドレス宛にアクセス要求情報を送信する（ステップＳ１２９）。
【００４６】
サービスサーバ３０は、リバースプロキシサーバ１０からアクセス要求情報を受信すると、リバースプロキシサーバ１０がサービスサーバ３０において提供するサービスを受ける権利を有するか否かを判定する認証処理を行うために、ＩＤ及びパスワード等を要求する認証要求情報を返送する（ステップＳ１３０）。
リバースプロキシサーバ１０において、外部通信部１５４は、サービスサーバ３０から認証要求情報を受信すると、当該サービスサーバ３０のドメイン名、及び、当該認証要求情報に対応するアクセス要求情報のヘッダー情報に含まれていたユーザＩＤを組み合わせて連携認証部１６に出力する（ステップＳ１３１）。
【００４７】
連携認証部１６は、入力されたユーザＩＤ及びドメイン名の組み合わせに対応する認証の種別に基づいた認証処理を行う。本処理例では、サービスサーバ３０における認証がＦｏｒｍ認証であるので、連携認証部１６は、入力されたユーザＩＤに対応し、入力されたドメイン名のサービスサーバ３０におけるＩＤ及びパスワード（ＰＷ）をサービス認証情報記憶部１３から読み出し（ステップＳ１３２）、読み出したＩＤ及びパスワードを外部通信部１５４に出力する（ステップＳ１３３）。
【００４８】
図８に示されているように、外部通信部１５４は、連携認証部１６から入力されたＩＤ及びパスワードを含む認証情報をサービスサーバ３０に転送する（ステップＳ１３４）。
サービスサーバ３０は、リバースプロキシサーバ１０から受信した認証情報に基づいて認証を行う（ステップＳ１３５）。ここで、サービスサーバ３０における認証は、リバースプロキシサーバ１０がサービスサーバ３０において提供しているサービスを受ける権利があるか否かを判定する処理である。
サービスサーバ３０は、リバースプロキシサーバ１０がサービスの提供を受ける権利があると判定すると、初期コンテンツをリバースプロキシサーバ１０に送信する（ステップＳ１３６）。
【００４９】
リバースプロキシサーバ１０において、外部通信部１５４は、サービスサーバ３０から受信した初期コンテンツをカプセル化データ処理部１５２に出力する。カプセル化データ処理部１５２は、入力された初期コンテンツに、当該初期コンテンツに対応する接続要求を送信した利用者端末４０を宛先として含むヘッダー情報を付加してカプセル化し（ステップＳ１３７）、カプセル化した初期コンテンツを端末連携部１４に出力する（ステップＳ１３８）。端末連携部１４は、カプセル化された初期コンテンツを利用者端末４０に転送する（ステップＳ１３９）。
【００５０】
利用者端末４０において、トンネル通信部４５２は、リバースプロキシサーバ１０からカプセル化された初期コンテンツを受信すると、当該カプセル化された初期コンテンツをデータ変換部４４に出力する。データ変換部４４は、カプセル化された初期コンテンツからヘッダー情報を削除してアンカプセル化し（ステップＳ１４０）、アンカプセル化した初期コンテンツをユーザエージェント部４３に出力する。ユーザエージェント部４３は、入力された初期コンテンツを出力部４２に出力して、サービスサーバ３０から得られた初期コンテンツをユーザに提供する（ステップＳ１４１）。
【００５１】
上述のステップＳ１２１からステップＳ１４１までの処理が、リバースプロキシサーバ１０における認証に基づいて、サービスサーバ３０の認証を行う際にシングルサインオンを提供するサービス認証フェーズである。
上述のように、利用者端末４０において、データ変換部４４は、サービスサーバ３０へのアクセスを要求するアクセス要求情報に、リバースプロキシサーバ１０を宛先とする情報を含むヘッダー情報を付加してカプセル化し、当該アクセス要求情報をリバースプロキシサーバ１０宛ての情報に変換する。更に、リバースプロキシサーバ１０は、カプセル化されたアクセス要求情報からヘッダー情報を削除するアンカプセル化を行い、当該アクセス要求情報をサービスサーバ３０に送信する。
【００５２】
このように、利用者端末４０とリバースプロキシサーバ１０との間において、サービスサーバ３０のドメイン名をカプセル化して送受信することにより、トンネル接続する。これにより、サービスサーバ３０のドメイン名（外部ドメイン名）に対応する内部ドメイン名を用いることなく、利用者端末４０がリバースプロキシサーバ１０を介してサービスサーバ３０にアクセスできる。また、リバースプロキシサーバ１０は、内部ドメイン名を用いないので、外部ドメイン名と内部ドメイン名との対応関係の更新や、サービスサーバ３０が提供するサービスの情報に含まれるドメイン名の変換を不要にできる。
その結果、サービスを提供するサービスサーバ３０のドメイン名（外部ドメイン名）の変更や、利用するサービスに含まれるコンテンツの形態などに関わらず、安定してシングルサインオンの利便性を提供できる。
【００５３】
上述のサービス認証フェーズの説明では、サービスサーバ３０における認証がＦｏｒｍ認証である場合について説明した。しかし、サービスサーバ３０における認証方式は、ＳＡＭＬ認証や、ＯｐｅｎＩＤ認証などの他の認証方式であってもよい。例えば、サービスサーバ３０における認証の方式が、ＳＡＭＬ認証である場合、コンテンツ通信部１５が利用者端末認証フェーズにおける認証の結果をサービスサーバ３０に送信することにより、サービスサーバ３０における認証を行うようにしてもよい。この場合、連携認証部１６は、ステップＳ１０９における認証の結果をサービス認証情報記憶部１３に記憶させておくようにしてもよい。
【００５４】
次に、認証を行った後におけるサービスサーバ３０にアクセスする処理を説明する。
図９は、本実施形態における認証後のサービスサーバ３０にアクセスする処理の一例を示すシーケンス図である。
利用者端末４０において、ユーザエージェント部４３は、入力部４１にサービスサーバ３０の利用を要求することを示す指示情報が入力されると（ステップＳ２０１）、当該指示情報に応じたアクセス要求情報を生成する（ステップＳ２０２）。
データ変換部４４は、ユーザエージェント部４３が生成したアクセス要求情報にヘッダー情報を付加してカプセル化し、（ステップＳ２０３）、トンネル通信部４５２を介してリバースプロキシサーバ１０に送信する（ステップＳ２０４）。ステップＳ２０３においてアクセス要求情報に付加されるヘッダー情報には、コンテンツ通信部１５を宛先とする情報と、利用者端末認証フェーズにおいて認証されたユーザＩＤと、アクセス要求情報に含まれるサービスサーバ３０のドメイン名と、認証結果情報に含まれていたセッションＩＤ及びセッションキーとが含まれる。
【００５５】
リバースプロキシサーバ１０において、カプセル化データ転送部１４１は、利用者端末４０からカプセル化されたアクセス要求情報を受信し、当該カプセル化されたアクセス要求情報のヘッダー情報を利用ドメイン管理部１４２に出力する。利用ドメイン管理部１４２は、入力されたヘッダー情報に含まれるユーザＩＤ、セッションＩＤ、及びサービスサーバ３０のドメイン名の組み合わせが利用ドメイン記憶部１１に記憶されているか否かを判定し、判定結果をカプセル化データ転送部１４１に出力する（ステップＳ２０５）。
【００５６】
カプセル化データ転送部１４１は、利用ドメイン管理部１４２から入力された判定結果が、ヘッダー情報に含まれているユーザＩＤ、セッションＩＤ及びドメイン名の組み合わせが利用ドメイン記憶部１１に記憶されていることを示す場合、カプセル化されたアクセス要求情報をコンテンツ通信部１５に転送する（ステップＳ２０６）。
なお、カプセル化データ転送部１４１は、入力された判定結果が、ユーザＩＤ、セッションＩＤ及びドメイン名の組み合わせが利用ドメイン記憶部１１に記憶されていないことを示す場合、カプセル化されたアクセス要求情報を不正なアクセス要求であるとみなし、転送を行わずに破棄する。
【００５７】
コンテンツ通信部１５において、カプセル化データ処理部１５２は、カプセル化されたアクセス要求情報が端末連携部１４から入力されると、アクセス要求情報をアンカプセル化する（ステップＳ２０７）。また、カプセル化データ処理部１５２は、付加されていたヘッダー情報に含まれるサービスサーバ３０のＵＲＬに対応するＩＰアドレスを接続先アドレス変換部１５３に検索させる（ステップＳ２０８）。
カプセル化データ処理部１５２は、検索により得られたＩＰアドレスと、アクセス要求情報とを外部通信部１５４に出力する。外部通信部１５４は、入力されたＩＰアドレスのサービスサーバ３０宛てにアクセス要求情報を送信する（ステップＳ２０９）。
【００５８】
サービスサーバ３０は、リバースプロキシサーバ１０から受信したアクセス要求情報に基づいた処理を実行し（ステップＳ２１０）、実行した処理の結果を示す情報をリバースプロキシサーバ１０に送信する（ステップＳ２１１）。
リバースプロキシサーバ１０において、外部通信部１５４は、サービスサーバ３０から処理の結果を示す情報を受信すると、受信した情報をカプセル化データ処理部１５２に出力する。カプセル化データ処理部１５２は、入力された情報にヘッダー情報を付加してカプセル化し（ステップＳ２１２）、カプセル化データ転送部１４１に出力する（ステップＳ２１３）。ステップＳ２１２において情報に付加されるヘッダー情報には、利用者端末４０を宛先とする情報が含まれる。
カプセル化データ転送部１４１は、カプセル化データ処理部１５２から入力された情報を利用者端末４０に転送する（ステップＳ２１４）。
【００５９】
利用者端末４０において、トンネル通信部４５２がリバースプロキシサーバ１０から受信した情報をデータ変換部４４に出力し、データ変換部４４が入力された情報をアンカプセル化し（ステップＳ２１５）、アンカプセル化した情報をユーザエージェント部４３に出力する。ユーザエージェント部４３は、データ変換部４４から入力された情報を出力部４２に出力して、サービスサーバ３０から得られた処理の結果（コンテンツなど）をユーザに提供する（ステップＳ２１６）。
【００６０】
次に、サービスサーバ３０の利用を終了する際の処理（切断処理）を説明する。
図１０から図１２は、リバースプロキシサーバ１０を経由したサービスサーバ３０の利用を終了する際の処理（切断処理）の一例を示すシーケンス図である。
図１０に示すように、利用者端末４０において、ユーザエージェント部４３は、入力部にリバースプロキシサーバ１０を経由したサービスサーバ３０との接続を切断することを示す指示情報が入力されると（ステップＳ３０１）、サービスサーバ３０に対してログアウトを要求するログアウト要求情報を生成する（ステップＳ３０２）。ログアウト要求情報には、例えば、サービスサーバ３０におけるユーザのＩＤと、ログアウトを示すコマンド、サービスサーバ３０のＵＲＬなどが含まれる。
データ変換部４４は、ユーザエージェント部４３が生成したログアウト要求情報にヘッダー情報を付加することによりカプセル化し（ステップＳ３０３）、トンネル通信部４５２を介して、カプセル化したログアウト要求情報をリバースプロキシサーバ１０に送信する（ステップＳ３０４）。
ステップＳ３０３においてログアウト要求情報に付加されるヘッダー情報には、コンテンツ通信部１５を宛先とする情報と、利用者端末認証フェーズにおいて認証されたユーザＩＤと、ログアウト要求情報に含まれるサービスサーバ３０のドメイン名と、認証結果情報に含まれていたセッションＩＤ及びセッションキーとが含まれる。
【００６１】
リバースプロキシサーバ１０において、カプセル化データ転送部１４１は、利用者端末４０からカプセル化されたログアウト要求情報を受信し、当該カプセル化されたログアウト要求情報のヘッダー情報を利用ドメイン管理部１４２に出力する。利用ドメイン管理部１４２は、入力されたヘッダー情報に含まれるユーザＩＤ、セッションＩＤ及びドメイン名の組み合わせが利用ドメイン記憶部１１に記憶されているか否かを判定し、判定結果をカプセル化データ転送部１４１に出力する（ステップＳ３０５）。
【００６２】
カプセル化データ転送部１４１は、利用ドメイン管理部１４２から入力された判定結果が、ヘッダー情報に含まれているユーザＩＤ、セッションＩＤ及びドメイン名の組み合わせが利用ドメイン記憶部１１に記憶されていることを示す場合、カプセル化されたログアウト要求情報をコンテンツ通信部１５に転送する（ステップＳ３０６）。
なお、カプセル化データ転送部１４１は、入力された判定結果が、ユーザＩＤ、セッションＩＤ及びドメイン名の組み合わせが利用ドメイン記憶部１１に記憶されていないことを示す場合、カプセル化されたログアウト要求情報を不正なログアウト要求であるとみなし、転送を行わずに破棄する。
【００６３】
コンテンツ通信部１５において、カプセル化データ処理部１５２は、カプセル化されたログアウト要求情報が端末連携部１４から入力されると、ログアウト要求情報をアンカプセル化する（ステップＳ３０７）。また、カプセル化データ処理部１５２は、付加されていたヘッダー情報に含まれているサービスサーバ３０のＵＲＬに対応するＩＰアドレスを接続先アドレス変換部１５３に検索させる（ステップＳ３０８）。
カプセル化データ処理部１５２は、検索により得られたＩＰアドレスと、ログアウト要求情報とを外部通信部１５４に出力する。外部通信部１５４は、入力されたＩＰアドレスのサービスサーバ３０宛てにログアウト要求情報を送信する（ステップＳ３０９）。
【００６４】
サービスサーバ３０は、リバースプロキシサーバ１０から受信したログアウト要求情報に基づいて、ログアウト処理を実行し（ステップＳ３１０）、ログアウト結果を示すログアウトページ情報をリバースプロキシサーバ１０に送信する（ステップＳ３１１）。
リバースプロキシサーバ１０において、外部通信部１５４は、サービスサーバ３０から受信したログアウトページ情報をカプセル化データ処理部１５２に出力する。カプセル化データ処理部１５２は、ログアウト要求情報を送信した利用者端末４０を宛先とする情報を含むヘッダー情報を、ログアウトページ情報に付加してカプセル化し（ステップＳ３１２）、端末連携部１４に出力する（ステップＳ３１３）。
【００６５】
図１１に示すように、カプセル化データ転送部１４１は、カプセル化データ処理部１５２から入力された情報を利用者端末４０に転送する（ステップＳ３１４）。
利用者端末４０において、データ変換部４４は、トンネル通信部４５２を介してリバースプロキシサーバ１０から、カプセル化されたログアウトページ情報を受信すると、受信したログアウトページ情報をアンカプセル化し（ステップＳ３１５）、ログアウトページ情報をユーザエージェント部４３に出力する。ユーザエージェント部４３は、データ変換部４４から入力されたログアウトページ情報を出力部４２に出力して、サービスサーバ３０との接続を切断したことをユーザに通知する（ステップＳ３１６）。
【００６６】
ユーザエージェント部４３は、ログアウトページ情報を出力部４２に出力すると、ログアウト転送データを生成する（ステップＳ３２１）。ログアウト転送データは、サービスサーバ３０との接続を切断した後に、リバースプロキシサーバ１０における認証を無効にするログアウトを要求する情報である。
データ変換部４４は、ユーザエージェント部４３が生成したログアウト転送データにヘッダー情報を付加することによりカプセル化し（ステップＳ３２２）、トンネル通信部４５２を介して、カプセル化したログアウト転送データをリバースプロキシサーバ１０に送信する（ステップＳ３２３）。ステップＳ３２２においてログアウト転送データに付加されるヘッダー情報には、コンテンツ通信部１５を宛先とする情報と、利用者端末認証フェーズにおいて認証されたユーザＩＤと、認証結果情報に含まれていたセッションＩＤ及びセッションキーとが含まれる。
【００６７】
リバースプロキシサーバ１０において、カプセル化データ転送部１４１は、利用者端末４０からカプセル化されたログアウト転送データを受信し、当該カプセル化されたログアウト転送データのヘッダー情報を利用ドメイン管理部１４２に出力する。利用ドメイン管理部１４２は、入力されたヘッダー情報に含まれるユーザＩＤ及びセッションＩＤの組み合わせが利用ドメイン記憶部１１に記憶されているか否かを判定し、判定結果をカプセル化データ転送部１４１に出力する（ステップＳ３２４）。
【００６８】
カプセル化データ転送部１４１は、利用ドメイン管理部１４２から入力された判定結果が、ヘッダー情報に含まれているユーザＩＤ及びセッションＩＤの組み合わせが利用ドメイン記憶部１１に記憶されていることを示す場合、カプセル化されたログアウト転送データをコンテンツ通信部１５に転送する（ステップＳ３２５）。
なお、カプセル化データ転送部１４１は、入力された判定結果が、ユーザＩＤ及びセッションＩＤの組み合わせが利用ドメイン記憶部１１に記憶されていないことを示す場合、カプセル化されたログアウト転送データを不正なログアウト転送データであるとみなし、転送を行わずに破棄する。
【００６９】
図１２に示すように、コンテンツ通信部１５において、カプセル化データ処理部１５２は、カプセル化されたログアウト転送データが端末連携部１４から入力されると、ログアウト転送データをアンカプセル化し（ステップＳ３２６）、ログアウト転送データを連携認証部１６に出力する（ステップＳ３２７）。
連携認証部１６は、入力されたログアウト転送データに含まれるユーザＩＤに対してログアウト処理を行い（ステップＳ３２８）、ログアウト処理の結果をコンテンツ通信部１５に送信する（ステップＳ３２９）。
連携認証部１６が行うログアウト処理は、例えば、ユーザＩＤごとのログインをしているか否かを示す情報を更新する。また、ＳＡＭＬ認証やＯｐｅｎＩＤ認証において用いる有効な認証結果が記憶されている場合、当該認証結果を削除するか、無効にする。
【００７０】
コンテンツ通信部１５において、カプセル化データ処理部１５２は、利用者端末４０を宛先とする情報を含むヘッダー情報を、連携認証部１６から入力されたログアウト処理の結果に付加してカプセル化し（ステップＳ３３０）、カプセル化データ転送部１４１に出力する（ステップＳ３３１）。カプセル化データ転送部１４１は、カプセル化データ処理部１５２から入力された情報を利用者端末４０に転送する（ステップＳ３３２）。
【００７１】
利用者端末４０において、トンネル通信部４５２がリバースプロキシサーバ１０から受信した情報をデータ変換部４４に出力し、データ変換部４４が入力された情報をアンカプセル化して（ステップＳ３３３）、ログアウト処理の結果をユーザエージェント部４３に出力する。ユーザエージェント部４３は、入力されたログアウト処理の結果を出力部４２に出力して、連携認証部１６におけるログアウト処理の結果をユーザに提供する（ステップＳ３３４）。ユーザエージェント部４３は、サービスサーバ３０が提供するサービスを利用するためのアプリケーションを停止させる（ステップＳ３３５）。
【００７２】
更に、ユーザエージェント部４３は、リバースプロキシサーバ１０に対して接続（セッション）の切断を要求するセッション切断要求情報を生成し、トンネル通信部４５２を介して、生成したセッション切断要求情報をリバースプロキシサーバ１０に送信する（ステップＳ３４１）。なお、セッション切断要求情報には、ユーザＩＤとセッションＩＤとが含まれている。
【００７３】
リバースプロキシサーバ１０において、カプセル化データ転送部１４１は、セッション切断要求情報に含まれているユーザＩＤ及びセッションＩＤを、利用ドメイン管理部１４２に出力する。利用ドメイン管理部１４２は、入力されたユーザＩＤ及びセッションＩＤの組み合わせが利用ドメイン記憶部１１に記憶されているか否かを判定し、判定結果をカプセル化データ転送部１４１に出力する（ステップＳ３４２）。
また、利用ドメイン管理部１４２は、入力されたユーザＩＤ及びセッションＩＤの組み合わせが利用ドメイン記憶部１１に記憶されている場合、入力されたユーザＩＤ及びセッションＩＤの組み合わせを含む情報を利用ドメイン情報から削除する。
【００７４】
カプセル化データ転送部１４１は、利用ドメイン管理部１４２から入力された判定結果が、セッション切断要求情報に含まれているユーザＩＤ及びセッションＩＤの組み合わせが利用ドメイン記憶部１１に記憶されていることを示す場合、セッション切断要求情報をコンテンツ通信部１５に出力する（ステップＳ３４３）。
なお、カプセル化データ転送部１４１は、入力された判定結果が、セッション切断要求情報に含まれているユーザＩＤ及びセッションＩＤの組み合わせが利用ドメイン記憶部１１に記憶されていないことを示す場合、受信したセッション切断要求情報を不正な情報であるとみなし、転送を行わずに破棄する。
【００７５】
コンテンツ通信部１５において、カプセル化データ処理部１５２はセッション切断要求情報が入力されると、入力されたセッション切断要求情報を利用者認証部１５１に出力する。利用者認証部１５１は、セッション切断要求情報に含まれるユーザＩＤのユーザがログイン中でないことを利用者情報記憶部１２に記憶させるセッション終了処理を行う（ステップＳ３４４）。
利用者認証部１５１は、セッション終了処理が完了し、切断が完了したことを示す切断完了情報を端末連携部１４に出力する（ステップＳ３４５）。
端末連携部１４において、カプセル化データ転送部１４１は、利用者認証部１５１から入力された切断完了情報を利用者端末４０に送信する（ステップＳ３４６）。
【００７６】
以下、リバースプロキシサーバ１０と利用者端末４０との間の通信で用いられるヘッダー情報の実装例を示す。ここに示すヘッダーフィールドの例は、ＲＦＣ（Request For Proposal）２６１６において定義されているＨＴＴＰ（Hyper Text Transfer Protocol）１．１に追加することを前提にしている。
図１３は、ＨＴＴＰ１．１に追加するヘッダーフィールドを示している。
「CTOSNTT_USERID」はユーザのＩＤを示し、例えば「abc」などの値をとる。「CTOSNTT_STARTTIME」は通信部４５が端末連携部１４及びコンテンツ通信部１５との接続（トンネル接続）が確立した日時を示し、例えば「20110701 23:55:47GMT」などの値をとる。
【００７７】
「CTOSNTT_SESSIONID」はトンネル接続が確立したときに割り当てられたセッションＩＤを示し、例えば「10.0.0.1_abc_2011071235547」などの値をとる。「CTOSNTT_SESSIONKEY」はトンネル接続が確立したときに割り当てられた鍵を示し、例えば「Sie82,x{]as-09so」などの値をとる。
「CTOSNTT_LASTCONNECTTIME」は通信部４５とコンテンツ通信部１５とが最後に通信した日時を示し、例えば「20110701 23:56:02GMT」などの値をとる。「CTOSNTT_DIRECTION」は通信方向を示し、「up」又は「down」の値をとる。なお、通信方向はリバースプロキシサーバ１０に向かう方向が上り方向「up」であり、利用者端末４０に向かう方向が下り方向「down」である。
【００７８】
「CTOSNTT_SEQUENSE」はリバースプロキシサーバ１０と利用者端末４０との間における通信時のシーケンス番号を示し、例えば「102」などの値をとる。「CTOSNTT_SOURCEADDRESS」は送信元のＩＰアドレスを示し、例えば「10.0.0.1」などの値をとる。「CTOSNTT_DESTADDRESS」は送信先（宛先）のＩＰアドレスを示し、例えば「10.0.0.2」などの値をとる。
【００７９】
「CTOSNTT_TTYPE」は通信の種別を示し、「preauth」、「auth」、「authorize」、及び「connected」のうち、いずれかの値をとる。「preauth」はリバースプロキシサーバ１０における認証前であることを示し、「auth」は認証の処理を行っていることを示し、「authorize」は認証されたことを示し、「connected」は認証後の送受信であることを示す。
【００８０】
「CTOSNTT_TPROTOCOL」は通信プロトコルを示し、例えば「http」や「https」などの値をとる。「CTOSNTT_TPORT」は通信ポートの番号を示し、例えば「４４３」などの値をとる。「CTOSNTT_TURI」はユーザが利用したいサービスを提供するサービスサーバ３０である通信先を示し、例えば「www.nttwest.co.jp」などのドメイン名やＵＲＬ等の値をとる。「CTOSNTT_ENCODING」はカプセル化した情報又はデータのエンコードを示し、例えば「ｃｈｕｎｋ」などの値をとる。
【００８１】
図１４は、リバースプロキシサーバ１０と利用者端末４０とにおいて用いられるリクエストデータ及びレスポンスデータにおけるヘッダー情報の一例を示す図である。図１４（ａ）は、よく利用されるＭｅｔｈｏｄのＧＥＴ、ＰＯＳＴの例が示されている。図１４（ｂ）は、リプライとしてのレスポンスデータの一例が示されている。ここでは、図１３に示したフィールドのうち、「CTOSNTT_STARTTIME」、「CTOSNTT_DIRECTION」、「CTOSNTT_SOURCEADDRESS」、及び「CTOSNTT_DSTADDRESS」のフィールドが用いられている。
【００８２】
以下、図６におけるステップＳ１０２からステップＳ１０５、ステップＳ１０７、ステップＳ１０８、ステップＳ１１０、及びステップＳ１１１と、図７におけるステップＳ１２４及びステップＳ１２６と、図８におけるステップＳ１３８及びステップＳ１３９とのデータの送受信に用いられるヘッダー情報の例を示す。ここでは、リバースプロキシサーバ１０における端末連携部１４にＩＰアドレス「10.0.0.2」が割り当てられ、コンテンツ通信部１５にＩＰアドレス「１０．０．０．３」が割り当てられ、利用者端末４０にＩＰアドレス「10.0.0.1」が割り当てられている場合について説明する。
【００８３】
図１５は、ステップＳ１０２における接続要求情報のヘッダー情報の例を示す図である。同図に示すように、「CTOSNTT_SOURCEADDRESS」及び「CTOSNTT_DESTADDRESS」のフィールドの値が利用者端末４０から端末連携部１４への送信を示している。また、「CTOSNTT_TTYPE」のフィールドの値が「preauth」であり、認証前であることを示している。
【００８４】
図１６は、ステップＳ１０３における接続要求情報のヘッダー情報の例を示す図である。同図に示すように、「CTOSNTT_SOURCEADDRESS」及び「CTOSNTT_DESTADDRESS」のフィールドの値が端末連携部１４からコンテンツ通信部１５への送信を示している。また、リバースプロキシサーバ１０と利用者端末４０との間の通信のシーケンス番号を示す「CTOSNTT_SEQUENSE」が増加して「２」になっている。
図１７は、ステップＳ１０４における認証要求情報のヘッダー情報の例を示す図である。同図に示すように、「CTOSNTT_SOURCEADDRESS」及び「CTOSNTT_DESTADDRESS」のフィールドの値がコンテンツ通信部１５から端末連携部１４への送信を示している。また、「CTOSNTT_DIRECTION」のフィールドの値が「down」であり、利用者端末４０に向けた送信であることを示している。
図１８は、ステップＳ１０５における認証要求情報のヘッダー情報の例を示す図である。同図に示すように、「CTOSNTT_SOURCEADDRESS」及び「CTOSNTT_DESTADDRESS」のフィールドの値が端末連携部１４から利用者端末４０への送信を示している。
【００８５】
図１９は、ステップＳ１０７において送信する情報のヘッダー情報の例を示す図である。同図に示すように、「CTOSNTT_SOURCEADDRESS」及び「CTOSNTT_DESTADDRESS」のフィールドの値が利用者端末４０から端末連携部１４への送信を示している。また、「CTOSNTT_TTYPE」が認証中であることを示す「auth」となっている。また、また、「CTOSNTT_DIRECTION」のフィールドの値が「up」であり、リバースプロキシサーバ１０に向けた送信であることを示している。
図２０は、ステップＳ１０８において送信する情報のヘッダー情報の例を示す図である。同図に示すように、「CTOSNTT_SOURCEADDRESS」及び「CTOSNTT_DESTADDRESS」のフィールドの値が端末連携部１４からコンテンツ通信部１５への送信を示している。
【００８６】
図２１は、ステップＳ１１０における認証結果情報のヘッダー情報を示す図である。同図に示すように、「CTOSNTT_SOURCEADDRESS」及び「CTOSNTT_DESTADDRESS」のフィールドの値がコンテンツ通信部１５から端末連携部１４への送信を示している。また、「CTOSNTT_TTYPE」のフィールドの値が認証されたことを示す「authorize」になっている。また、「CTOSNTT_DIRECTION」のフィールドの値が「down」であり、利用者端末４０に向けた送信であることを示している。
図２２は、ステップＳ１１１における認証結果情報のヘッダー情報を示す図である。同図に示すように、「CTOSNTT_SOURCEADDRESS」及び「CTOSNTT_DESTADDRESS」のフィールドの値が端末連携部１４から利用者端末４０への送信を示している。
【００８７】
図２３は、ステップＳ１２４におけるアクセス要求情報のヘッダー情報の例を示す図である。同図に示すように、「CTOSNTT_SOURCEADDRESS」及び「CTOSNTT_DESTADDRESS」のフィールドの値が利用者端末４０から端末連携部１４への送信を示している。また、「CTOSNTT_TTYPE」のフィールドの値が認証後の送受信であることを示す「connected」になっている。また、「CTOSNTT_SESSIONID」及び「CTOSNTT_SESSIONKEY」のフィールドの値が、利用者端末認証フェーズ（ステップＳ１０１からステップＳ１１１）において割り当てられたセッションＩＤ「10.0.0.1_abc_201107010001030001」及びセッションキー「Sie82,x{]as-09so」となっている。また、「CTOSNTT_TURI」がアクセス先としてのサービスサーバ３０を示す「www.nttwest.co.jp」となっている。
図２４は、ステップＳ１２６におけるアクセス要求情報のヘッダー情報の例を示す図である。同図に示すように、「CTOSNTT_SOURCEADDRESS」及び「CTOSNTT_DESTADDRESS」のフィールドの値が端末連携部１４からコンテンツ通信部１５への送信を示している。
【００８８】
図２５は、ステップＳ１３８において送信する初期コンテンツのヘッダー情報の例を示す図である。同図に示すように、「CTOSNTT_SOURCEADDRESS」及び「CTOSNTT_DESTADDRESS」のフィールドの値がコンテンツ通信部１５から端末連携部１４への送信を示している。また、「CTOSNTT_DIRECTION」のフィールドの値が「down」であり、利用者端末４０に向けた送信であることを示している。また、「copuseldata」としては初期コンテンツが含まれることになる。
図２６は、ステップＳ１３９において送信する初期コンテンツのヘッダー情報の例を示す図である。同図に示すように、「CTOSNTT_SOURCEADDRESS」及び「CTOSNTT_DESTADDRESS」のフィールドの値が端末連携部１４から利用者端末４０への送信を示している。
【００８９】
上述したようなヘッダー情報を用いて、利用者端末４０におけるサービスサーバ３０を利用する要求等を示す情報をカプセル化してリバースプロキシサーバ１０に送信することによりトンネル接続をして、サービスサーバ３０のドメイン名（外部ドメイン名）に対応する内部ドメイン名を用いることなく、利用者端末４０がリバースプロキシサーバ１０を介してサービスサーバ３０にアクセスできる。
【００９０】
なお、上述の実施形態では、リバースプロキシサーバ１０と利用者端末４０とが直接接続されている形態を例にして説明したが、これに限ることなく、リバースプロキシサーバ１０と利用者端末４０とが、ネットワーク２０と異なる他のネットワークを介して接続されていてもよい。
また、上述の実施形態では、リバースプロキシサーバ１０が端末連携部１４、コンテンツ通信部１５、及び連携認証部１６を備える構成について説明した。しかし、これに限ることなく、端末連携部１４、コンテンツ通信部１５、及び連携認証部１６それぞれを独立した装置として設け、リバースプロキシシステム（中継システム）を構成するようにしてもよい。
【００９１】
また、上述の実施形態において、リバースプロキシサーバ１０は、利用ドメイン記憶部１１、利用者情報記憶部１２、及びサービス認証情報記憶部１３を備える構成について説明した。しかし、これに限ることなく、利用ドメイン記憶部１１、利用者情報記憶部１２、及びサービス認証情報記憶部１３を備えたデータベースサーバをリバースプロキシサーバ１０と別に設けるようにしてもよい。
【００９２】
なお、本発明に記載の第１のユーザ識別子及び第１のユーザ認証用情報は、実施形態に記載のサービス認証情報におけるＩＤ及びＰＷ（パスワード）に対応する。また、本発明に記載の第２のユーザ識別子及び第２のユーザ認証用情報は、実施形態に記載の利用者情報における、ユーザＩＤ、及び当該ユーザに対する判定に用いる認証の種別に応じた情報に対応する。
【００９３】
なお、本発明におけるリバースプロキシサーバ（中継サーバ）１０、及び利用者端末４０の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行させることにより、コンピュータシステムに、利用ドメイン記憶部１１、利用者情報記憶部１２、サービス認証情報記憶部１３、端末連携部１４、コンテンツ通信部１５、連携認証部１６、ユーザエージェント部４３、及びデータ変換部通信部４５それぞれが行う処理を行わせるようにしてもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ、ＤＶＤ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。更に「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００９４】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。更に、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００９５】
１…情報処理システム
１０…リバースプロキシサーバ（中継サーバ）
１１…利用ドメイン記憶部
１２…利用者情報記憶部
１３…サービス認証情報記憶部
１４…端末連携部
１５…コンテンツ通信部
１６…連携認証部
２０…ネットワーク
３０…サービスサーバ
４０…利用者端末
１４１…カプセル化データ転送部
１４２…利用ドメイン管理部
１５１…利用者認証部
１５２…カプセル化データ処理部
１５３…接続先アドレス変換部
１５４…外部通信部
４５１…トンネル接続部
４５２…トンネル通信部
【図１】
0005824744.tif 000002
【図２】
0005824744.tif 000003
【図３】
0005824744.tif 000004
【図４】
0005824744.tif 000005
【図５】
0005824744.tif 000006
【図６】
0005824744.tif 000007
【図７】
0005824744.tif 000008
【図８】
0005824744.tif 000009
【図９】
0005824744.tif 000010
【図１０】
0005824744.tif 000011
【図１１】
0005824744.tif 000012
【図１２】
0005824744.tif 000013
【図１３】
0005824744.tif 000014
【図１４】
0005824744.tif 000015
【図１５】
0005824744.tif 000016
【図１６】
0005824744.tif 000017
【図１７】
0005824744.tif 000018
【図１８】
0005824744.tif 000019
【図１９】
0005824744.tif 000020
【図２０】
0005824744.tif 000021
【図２１】
0005824744.tif 000022
【図２２】
0005824744.tif 000023
【図２３】
0005824744.tif 000024
【図２４】
0005824744.tif 000025
【図２５】
0005824744.tif 000026
【図２６】
0005824744.tif 000027