説明

情報処理システム、及び情報処理方法

【課題】ユーザにシングルサインオンの利便性を安定して提供する。
【解決手段】利用者端末は、サービスサーバにサービスの提供を要求する要求情報を生成し、要求情報に中継サーバを宛先とするヘッダー情報を付加することによりカプセル化した要求情報を中継サーバに送信する。中継サーバは、ユーザごとに、サービスサーバにおいてサービスの提供を受けるための認証情報を予め記憶しているサービス認証情報記憶部を備え、利用者端末からカプセル化された要求情報を受信すると、該利用者端末を操作するユーザに対応する認証情報をサービス認証情報記憶部から読み出し、読み出した認証情報をサービスサーバに送信して認証処理を行わせ、要求情報をサービスサーバに送信し、該要求情報に応じたサービス結果を示すコンテンツ情報を該サービスサーバから受信し、カプセル化された要求情報に対する応答として受信したコンテンツ情報を利用者端末に送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、及び情報処理方法に関する。
【背景技術】
【0002】
ユーザがインターネット上で提供されているクラウドコンピューティングを利用する際や、Webコンテンツを閲覧する際に、中継サーバであるリバースプロキシサーバに認証を行わせることにより、ユーザにシングルサインオンの利便性を提供している(例えば、特許文献1)。具体的には、ユーザにより操作される利用者端末が、リバースプロキシサーバを介してインターネット上でサービスを提供するサービスサーバにアクセスすると、リバースプロキシサーバが利用者端末に代わりサービスサーバへの認証を代行して行い、通信をする。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−020647号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
中継サーバは、利用者端末が中継サーバ(リバースプロキシサーバ)に対してサービスサーバにアクセスする際に用いるドメイン名(以下、内部ドメイン名という。)と、当該サービスサーバに対して用いるドメイン名(以下、外部ドメイン名という。)との対応関係を記憶している。この対応関係は、サービスサーバを運用している運用者などの都合による外部ドメイン名の変更や、新規のサービスの開始、追加等による外部ドメイン名の増加に応じて、更新する必要がある。そのため、内部ドメイン名と外部ドメイン名との対応関係が正しいかを検証し、対応関係を常に一致させる必要がある。
しかしながら、中継サーバを介してアクセスするサービスサーバの数が多くなり、サービスサーバの外部ドメイン名の変更や追加が頻繁になると、内部ドメイン名と外部ドメイン名との対応関係を常に一致させることが困難になるという問題がある。
【0005】
また、中継サーバは、利用者端末のサービスサーバへのアクセス及び認証などを代理するために、サービスサーバ等から提供される情報に含まれる外部ドメイン名を内部ドメイン名に変換して利用者端末に情報を中継している。しかし、サービスサーバ等から提供される情報には、Ajax技術等を利用して動的に外部ドメイン名を変更するコンテンツや、外部ドメイン名がバイナリ表現されたコンテンツなどがあり、利用者端末に中継する際に外部ドメイン名を内部ドメイン名に変換できないことがある。この場合、利用者端末は、中継サーバを介さずにサービスサーバにアクセスしてしまい、シングルサインオンの利便性を提供できなくなったり、サービスサーバにアクセスできなくなったりするという問題がある。
【0006】
このように、ユーザが利用するサービスを提供するサービスサーバの外部ドメイン名の変更や、利用するサービスに含まれるコンテンツの形態などによって、安定してシングルサインオンの利便性を提供できなくなることや、サービスサーバが提供するサービスの利用ができないことがある。
【0007】
本発明は、上記問題を解決すべくなされたもので、その目的は、ユーザにシングルサインオンの利便性を安定して提供できる情報処理システム、及び情報処理方法を提供することにある。
【課題を解決するための手段】
【0008】
上記問題を解決するために、本発明は、ユーザが操作する利用者端末と、受信した要求に応じてサービスを提供するサービスサーバと、前記利用者端末と前記サービスサーバとの間の通信を中継する中継サーバとを具備する情報処理システムであって、前記利用者端末は、前記サービスサーバにサービスの提供を要求する要求情報を生成するユーザエージェント部と、前記要求情報に前記中継サーバを宛先とするヘッダー情報を付加することによりカプセル化した要求情報を前記中継サーバに送信する通信部と、を備え、前記中継サーバは、前記ユーザごとに、前記サービスサーバにおいてサービスの提供を受ける権利を有しているか否かの判定をする第1の認証処理に用いられる、ユーザを識別する第1のユーザ識別子と、第1のユーザ認証用情報とを対応付けて予め記憶しているサービス認証情報記憶部と、前記利用者端末からカプセル化された要求情報を受信すると、該利用者端末を操作するユーザに対応する第1のユーザ識別子及び第1のユーザ認証用情報を前記サービス認証情報記憶部から読み出し、読み出した第1のユーザ識別子及び第1のユーザ認証用情報を前記サービスサーバに送信して第1の認証処理を行わせる連携認証部と、前記カプセル化された要求情報に含まれている要求情報を前記サービスサーバに送信し、該要求情報に応じたサービス結果を示すコンテンツ情報を該サービスサーバから受信し、前記カプセル化された要求情報に対する応答として前記受信したコンテンツ情報を前記利用者端末に送信するコンテンツ通信部とを備えることを特徴とする情報処理システムである。
【0009】
また、上記に記載の発明において、前記中継サーバは、更に、前記ユーザごとに、自装置を介して前記サービスサーバと通信する権利を有しているか否かを判定する第2の認証処理に用いられる、第2のユーザ識別子と、第2のユーザ認証用情報とを対応付けた利用者情報を予め記憶している利用者情報記憶部と、前記利用者端末から受信した認証情報と、前記利用者情報とに基づいて、第2の認証処理を行う利用者認証部とを備え、前記コンテンツ通信部は、自装置を介して前記サービスサーバと通信する権利を有していると判定された前記利用者端末から受信するカプセル化された要求情報を前記サービスサーバに送信し、自装置を介して前記サービスサーバと通信する権利を有していないと判定された前記利用者端末から受信するカプセル化された要求情報を破棄することを特徴とする。
【0010】
また、本発明は、ユーザが操作する利用者端末と、受信した要求に応じてサービスを提供するサービスサーバと、前記ユーザごとに、前記サービスサーバにおいてサービスの提供を受ける権利を有しているか否かの判定をする第1の認証処理に用いられる、ユーザを識別する第1のユーザ識別子と、第1のユーザ認証用情報とを対応付けて予め記憶しているサービス認証情報記憶部を備える中継サーバとを具備する情報処理システムにおける情報処理方法であって、前記利用者端末が、前記サービスサーバにサービスの提供を要求する要求情報を生成する生成ステップと、前記利用者端末が、前記要求情報に前記中継サーバを宛先とするヘッダー情報を付加することによりカプセル化した要求情報を前記中継サーバに送信する送信ステップと、前記中継サーバが、前記利用者端末からカプセル化された要求情報を受信すると、該利用者端末を操作するユーザに対応する第1のユーザ識別子及び第1のユーザ認証用情報を前記サービス認証情報記憶部から読み出し、読み出した第1のユーザ識別子及び第1のユーザ認証用情報を前記サービスサーバに送信して第1の認証処理を行わせる連携認証ステップと、前記中継サーバが、前記カプセル化された要求情報に含まれている要求情報を前記サービスサーバに送信し、該要求情報に応じたサービス結果を示すコンテンツ情報を該サービスサーバから受信し、前記カプセル化された要求情報に対する応答として前記受信したコンテンツ情報を前記利用者端末に送信するコンテンツ通信ステップとを有することを特徴とする情報処理方法である。
【発明の効果】
【0011】
この発明によれば、利用者端末は、サービスサーバが提供するサービスを要求する要求情報にヘッダー情報を付加してカプセル化して中継サーバに送信し、中継サーバはカプセル化された要求情報に含まれる要求情報をサービスサーバに送信し、利用者端末に代わってサービスサーバからサービス結果を示すコンテンツ情報を受信する。中継サーバは、サービスサーバから受信したコンテンツ情報を、利用者端末から受信した要求情報に対する応答として利用者端末に送信する。すなわち、利用者端末は、サービスサーバに送信する要求情報をカプセル化して中継サーバに送信することにより、中継サーバを介してサービスサーバにアクセスするようにした。
これにより、中継サーバにおいて、外部ドメイン名と内部ドメイン名との対応関係を記憶する必要がなくなり、外部ドメイン名と内部ドメイン名とを一致させることや、コンテンツに含まれる外部ドメイン名を内部ドメイン名に変換することが不要になる。その結果、中継サーバはユーザに対してシングルサインオンの利便性を安定して提供できる。
【図面の簡単な説明】
【0012】
【図1】本実施形態における情報処理システム1の構成を示す概略ブロック図である。
【図2】本実施形態におけるリバースプロキシサーバ10及び利用者端末40の構成を示す概略ブロック図である。
【図3】本実施形態における利用ドメイン記憶部11に記憶されている利用ドメイン情報の一例を示す図である。
【図4】本実施形態における利用者情報記憶部12に記憶されている利用者情報の一例を示す図である。
【図5】本実施形態におけるサービス認証情報記憶部13に記憶されているサービス認証情報の一例を示す図である。
【図6】本実施形態のリバースプロキシサーバ10における認証を経てサービスサーバ30にアクセスする処理を示す第1のシーケンス図である。
【図7】本実施形態のリバースプロキシサーバ10における認証を経てサービスサーバ30にアクセスする処理を示す第2のシーケンス図である。
【図8】本実施形態のリバースプロキシサーバ10における認証を経てサービスサーバ30にアクセスする処理を示す第3のシーケンス図である。
【図9】本実施形態における認証後のサービスサーバ30にアクセスする処理の一例を示すシーケンス図である。
【図10】リバースプロキシサーバ10を経由したサービスサーバ30の利用を終了する際の処理(切断処理)の一例を示す第1のシーケンス図である。
【図11】リバースプロキシサーバ10を経由したサービスサーバ30の利用を終了する際の処理(切断処理)の一例を示す第2のシーケンス図である。
【図12】リバースプロキシサーバ10を経由したサービスサーバ30の利用を終了する際の処理(切断処理)の一例を示す第3のシーケンス図である。
【図13】HTTP1.1に追加するヘッダーフィールドを示している。
【図14】リバースプロキシサーバ10と利用者端末40とにおいて用いられるリクエストデータ及びレスポンスデータにおけるヘッダー情報の一例を示す図である。
【図15】ステップS102における接続要求情報のヘッダー情報の例を示す図である。
【図16】ステップS103における接続要求情報のヘッダー情報の例を示す図である。
【図17】ステップS104における認証要求情報のヘッダー情報の例を示す図である。
【図18】ステップS105における認証要求情報のヘッダー情報の例を示す図である。
【図19】ステップS107において送信する情報のヘッダー情報の例を示す図である。
【図20】ステップS108において送信する情報のヘッダー情報の例を示す図である。
【図21】ステップS110における認証結果情報のヘッダー情報を示す図である。
【図22】ステップS111における認証結果情報のヘッダー情報を示す図である。
【図23】ステップS124におけるアクセス要求情報のヘッダー情報の例を示す図である。
【図24】ステップS126におけるアクセス要求情報のヘッダー情報の例を示す図である。
【図25】ステップS138において送信する初期コンテンツのヘッダー情報の例を示す図である。
【図26】ステップS139において送信する初期コンテンツのヘッダー情報の例を示す図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して、本発明の実施形態における情報処理システム、及び情報処理方法を説明する。
【0014】
図1は、本実施形態における情報処理システム1の構成を示す概略ブロック図である。同図に示すように、情報処理システム1は、リバースプロキシサーバ10と、ネットワーク20を介してリバースプロキシサーバ10と接続されている少なくとも1つのサービスサーバ30と、リバースプロキシサーバ10に接続されている利用者端末40とを具備している。
【0015】
中継サーバとしてのリバースプロキシサーバ10は、利用者端末40からサービスサーバ30に対するアクセス要求などを受信し、受信したアクセス要求に応じてサービスサーバ30にアクセスする。ネットワーク20は、例えば、インターネットなどである。
サービスサーバ30は、ネットサービス事業者やコンテンツ事業者によって運用されるサーバであり、クラウドコンピューティングや、Webコンテンツなどのサービスをユーザに提供する。利用者端末40は、ユーザが操作する装置であり、例えば、デスクトップコンピュータ、ノート型コンピュータ、スマートフォンなどの情報端末や、ウェブブラウザなどのネットワークを通じて通信をする機能を有するテレビ及びゲーム機などである。
【0016】
図2は、本実施形態におけるリバースプロキシサーバ10及び利用者端末40の構成を示す概略ブロック図である。同図に示すように、リバースプロキシサーバ10は、利用ドメイン記憶部11と、利用者情報記憶部12と、サービス認証情報記憶部13と、端末連携部14と、コンテンツ通信部15と、連携認証部16とを備えている。利用者端末40は、入力部41と、出力部42と、ユーザエージェント部43と、データ変換部44と、通信部45とを備えている。
【0017】
リバースプロキシサーバ10における、利用ドメイン記憶部11には、利用者端末40を操作するユーザと、当該ユーザが自装置(リバースプロキシサーバ10)を介してアクセスするサービスサーバ30のドメイン名と、当該アクセスを識別するセッションIDとが対応付けられた利用ドメイン情報が記憶される。
【0018】
利用者情報記憶部12には、利用者端末40が自装置を介してネットワーク20にアクセスする権利があるか否かの判定である認証を行う際に用いる利用者情報が記憶されている。利用者情報は、利用者端末40を操作するユーザを識別するユーザIDと、当該ユーザに対する判定に用いる認証の種別と、認証の種別に応じた情報とが対応付けられて予め記憶されている。ここで、認証の種別には、例えば、Form認証や、SAML認証、OpenID認証などのいずれかを示す情報が含まれる。
【0019】
サービス認証情報記憶部13には、サービス認証情報が予め記憶されている。サービス認証情報は、ユーザIDごとに、少なくとも1つのインターネットサービス認証情報が対応付けられた情報である。インターネットサービス認証情報は、サービスサーバ30ごとに、サービスサーバ30における認証の種別と、サービスサーバ30のドメイン名と、サービスサーバ30におけるID及びPW(パスワード)との組み合わせを対応付けた情報である。
【0020】
利用ドメイン記憶部11に記憶されている利用ドメイン情報、利用者情報記憶部12に記憶されている利用者情報、及びサービス認証情報記憶部13に記憶されているサービス認証情報の一例を以下に示す。
【0021】
図3は、本実施形態における利用ドメイン記憶部11に記憶されている利用ドメイン情報の一例を示す図である。同図に示すように、利用者情報は、ユーザIDごとに、セッションIDと、ドメイン名とが対応付けられた情報である。例えば、ユーザID「A」のユーザには、セッションID「10.0.0.1_a_20110701235547」及びドメイン名「www.ntt.co.jp」と、セッションID「10.0.0.1_a_20110701235612」及びドメイン名「www.some.com」とが対応付けられている。
【0022】
図4は、本実施形態における利用者情報記憶部12に記憶されている利用者情報の一例を示す図である。同図に示すように、利用者情報は、ユーザIDごとに、認証の種別と、認証の種別に応じた情報とが対応付けられた情報である。例えば、ユーザID「A」のユーザには、認証種別「802.1X」及び認証に用いる情報「/etc/tunnel/xxx/xxx.pem」が対応付けられている。ここで、認証の種別に応じた情報とは、認証に用いるパスワードや、電子証明書のファイルなどである。
【0023】
図5は、本実施形態におけるサービス認証情報記憶部13に記憶されているサービス認証情報の一例を示す図である。同図に示すように、サービス認証情報は、ユーザIDごとに、認証の種別と、サービスサーバ30のドメイン名と、サービスサーバ30におけるIDと、サービスサーバ30における認証に用いられる情報(例えば、パスワードなど)とからなるインターネットサービス認証情報が対応付けられた情報である。例えば、ユーザ「B」には、認証種別「OpenID」及びドメイン名「www.any.com」が対応付けられている。
【0024】
図2に戻り、リバースプロキシサーバ10と利用者端末40との構成について説明を続ける。
端末連携部14は、カプセル化データ転送部141と、利用ドメイン管理部142とを有している。カプセル化データ転送部141は、利用者端末40とコンテンツ通信部15との間で送受信されるカプセル化されたデータを転送する。利用ドメイン管理部142は、利用者端末40を操作するユーザごとに、利用者端末40が自装置を介してアクセスするサービスサーバ30のドメイン名と、当該アクセスを識別する識別子としてのセッションIDとを検出し、当該ユーザのユーザIDと、検出したドメイン名及びセッションIDとを対応付けて利用ドメイン記憶部11に記憶させる。
【0025】
コンテンツ通信部15は、利用者認証部151と、カプセル化データ処理部152と、接続先アドレス変換部153と、外部通信部154とを有している。利用者認証部151は、利用者情報記憶部12に記憶されている利用者情報に基づいて、利用者端末40が自装置を介してネットワーク20にアクセスする権利があるか否かの判定を行う。
カプセル化データ処理部152は、端末連携部14から入力されたカプセル化された情報に付加されているヘッダー情報を削除することにより、カプセル化された情報をアンカプセル化する。また、カプセル化データ処理部152は、ネットワーク20を介してサービスサーバ30から受信したデータにヘッダー情報を付加することにより、受信したデータをカプセル化する。
【0026】
接続先アドレス変換部153は、利用者端末40から受信したアクセス要求に含まれるドメイン名に対応するIPアドレスを検索する。接続先アドレス変換部153によるIPアドレスの検索は、例えば、公知の技術を用いてDNS(Domain Name System)サーバに問い合わせることにより、ドメイン名に対応するIPアドレスを検索するようにしてもよい。外部通信部154は、リバースプロキシサーバ10において、ネットワーク20を介した通信を処理し、ネットワーク20を介して受信したデータをカプセル化データ処理部152に出力する。
【0027】
連携認証部16は、利用者端末40から受信したサービスサーバ30へのアクセス要求について、利用者端末40がサービスサーバ30にアクセスしてクラウドコンピューティングや、Webコンテンツを閲覧するなどのサービスの提供を受ける際に、サービスの提供を受ける権利があるか否かを判定する認証の処理を利用者端末40に代わって行う。
【0028】
続いて、利用者端末40に備えられている各機能部について説明する。
入力部41には、ユーザの操作に応じた指示情報が入力される。入力部41は、例えば、キーボードや、マウスなどのポインティングデバイス、リモートコントローラなどである。出力部42は、ユーザの操作に応じて得られた結果を出力する。出力部42は、例えば、ディスプレイやスピーカーなどである。
【0029】
ユーザエージェント部43は、サービスサーバ30において提供されているクラウドコンピューティングや、Webコンテンツ等のサービスを受ける機能を有する。また、ユーザエージェント部43は、ユーザの操作に応じて入力部41に入力される指示情報に基づいて、サービスサーバ30への接続要求、サービスの要求、サービスサーバ30への切断要求などを示すデータを生成し、生成したデータをデータ変換部44に出力する。また、ユーザエージェント部43は、データ変換部44から入力されるデータ、例えば要求したサービスの結果に対応するデータを出力部42に出力する。ユーザエージェント部43は、例えばウェブブラウザなどである。
【0030】
データ変換部44は、ユーザエージェント部43から入力されるデータに、ヘッダー情報を付加することによりカプセル化し、カプセル化したデータを通信部45に出力する。また、データ変換部44は、通信部45から入力されるデータに付加されているヘッダー情報を削除することによりアンカプセル化し、アンカプセル化したデータをユーザエージェント部43に出力する。ここで、ヘッダー情報は、リバースプロキシサーバ10と自装置との間における認証の状態、自装置を利用するユーザに関する情報、リバースプロキシサーバ10を宛先とする情報などを含む。
【0031】
通信部45は、トンネル接続部451と、トンネル通信部452とを有している。トンネル接続部451は、ユーザエージェント部43において生成されたサービスサーバ30に対する接続要求が入力されると、リバースプロキシサーバ10への通信に対する接続を要求し、認証処理を行う。トンネル通信部452は、認証処理の結果、接続が許可されると、データ変換部44においてカプセル化されたデータをリバースプロキシサーバ10に送信し、リバースプロキシサーバ10から受信したデータをデータ変換部44に出力する。
【0032】
次に、リバースプロキシサーバ10における認証を経てサービスサーバ30にアクセスする処理(接続処理)と、認証を行った後におけるサービスサーバ30にアクセスする処理と、サービスサーバ30の利用を終了する際の処理(切断処理)とを例を示して説明する。以下、サービスサーバ30における認証の種別がForm認証である場合について説明する。
【0033】
図6から図8は、本実施形態のリバースプロキシサーバ10における認証を経てサービスサーバ30にアクセスする処理を示すシーケンス図である。
【0034】
図6に示されているように、利用者端末40において、ユーザの操作に応じてユーザエージェント部43の動作が開始されると(ステップS101)、ユーザエージェント部43はリバースプロキシサーバ10への接続要求を示す接続要求情報を生成してデータ変換部44に出力する。データ変換部44は、入力された接続要求情報に、コンテンツ通信部15を宛先として含むヘッダー情報を付加して当該情報をカプセル化し、トンネル接続部451を介して、カプセル化した接続要求情報をリバースプロキシサーバ10に送信する(ステップS102)。
【0035】
リバースプロキシサーバ10において、カプセル化データ転送部141は、利用者端末40から受信した、自装置への接続要求がカプセル化された情報をコンテンツ通信部15に転送する(ステップS103)。
コンテンツ通信部15において、利用者認証部151は、自装置への接続要求がカプセル化された接続要求情報を入力されると、当該接続要求情報を送信した利用者端末40に対して、ユーザID及び認証に用いる情報を要求することを示す認証要求情報をカプセル化データ転送部141に出力する(ステップS104)。カプセル化データ転送部141は、入力された認証要求情報を利用者端末40に転送する(ステップS105)。
【0036】
トンネル接続部451は、リバースプロキシサーバ10から受信した認証要求情報を、データ変換部44を介してユーザエージェント部43に出力する。ユーザエージェント部43は、認証要求情報が入力されると、リバースプロキシサーバ10からユーザID及び認証に用いる情報を要求されていることを示す情報を出力部42に出力する。また、ユーザエージェント部43は、ユーザの操作に応じて入力部41に入力された指示情報により特定されるユーザID及び認証に用いる情報に、コンテンツ通信部15を宛先として含むヘッダー情報を付加して当該情報をカプセル化する(ステップS106)。
ユーザエージェント部43は、トンネル接続部451を介して、カプセル化した情報をリバースプロキシサーバ10に送信する(ステップS107)。
【0037】
リバースプロキシサーバ10において、カプセル化データ転送部141は、利用者端末40から受信した、ユーザID及び認証に用いる情報をカプセル化した情報を利用者認証部151に転送する(ステップS108)。
利用者認証部151は、カプセル化された情報に含まれているユーザID及び認証に用いる情報と、利用者情報記憶部12に記憶されている利用者情報に含まれるユーザID及び認証に用いる情報とに対して、利用者情報において当該ユーザIDに対応する認証の種別に対応する方式を用いて認証を行う(ステップS109)。
すなわち、利用者認証部151は、利用者端末40が自装置を介してネットワーク20にアクセスする権利があるか否かの判定を行う。また、利用者認証部151は、ユーザIDに対する認証により、自装置を介してネットワーク20にアクセスする権利があると判定された場合、当該ユーザIDのユーザがログイン中であることを利用者情報記憶部12に記憶させる。
【0038】
利用者認証部151は、認証結果情報をカプセル化データ転送部141に出力する(ステップS110)。認証結果情報には、自装置を介してネットワーク20にアクセスする権利があると判定された場合、認証結果情報に加えて、ユーザIDに割り当てられたセッションID及びセッションキーが含まれる。
カプセル化データ転送部141は、入力された認証要求を利用者端末40に転送する(ステップS111)。
【0039】
上述のステップS101からステップS111までの処理が、利用者端末40にリバースプロキシサーバ10を介して、ネットワーク20上のサービスサーバ30にアクセスする権利があるか否かの判定を行う利用者端末認証フェーズである。認証の結果、利用者端末40がリバースプロキシサーバ10を介してネットワーク20にアクセスする権利があることを示している場合、次に説明するサービス認証フェーズを行う。
【0040】
また、利用者端末40がリバースプロキシサーバ10を介してネットワーク20にアクセスする権利がある場合、認証結果情報には、セッションIDとセッションキーとが含まれる。このセッションIDとセッションキーとは、利用者端末40がリバースプロキシサーバ10を介してサービスサーバ30にアクセスする際に用いられ、認証された利用者端末40との接続に対して利用者認証部151から発行され、利用者端末40との接続が切断されるまで有効である。
【0041】
一方、利用者端末40にアクセスする権利がない場合、利用者端末40において、ユーザエージェント部43は、再度、リバースプロキシサーバ10への接続要求を示す接続要求情報を生成しデータ変換部44に出力して、ステップS102以降の処理を繰り返して行う。あるいは、ユーザエージェント部43は、利用者端末認証フェーズの処理を終了させる。
【0042】
図7に示されているように、ユーザエージェント部43は、アクセスする権利があることを示す認証結果情報が入力されると、提供を希望するサービスを提供するサービスサーバ30のURLの入力等を要求する情報を出力部42に出力する。ユーザエージェント部43は、入力部41にサービスサーバ30のURL等の情報が入力されると(ステップS121)、入力された情報に基づいて、当該サービスサーバ30に対してアクセスを要求するアクセス要求情報を生成してデータ変換部44に出力する(ステップS122)。
アクセス要求情報には、サービスサーバ30のドメイン名、サービスの提供を受けるための情報(コマンドなど)が含まれる。
【0043】
データ変換部44は、入力されたアクセス要求情報にヘッダー情報を付加して当該情報をカプセル化し(ステップS123)、トンネル通信部452を介して、カプセル化したアクセス要求情報をリバースプロキシサーバ10に送信する(ステップS124)。ここで、ステップS123においてアクセス要求情報に付加されるヘッダー情報には、コンテンツ通信部15を宛先とする情報と、ステップS106において入力されたユーザのユーザIDと、アクセス要求情報に含まれるサービスサーバ30のドメイン名、認証結果情報に含まれていたセッションID及びセッションキーとが含まれる。
【0044】
リバースプロキシサーバ10において、カプセル化データ転送部141は、利用者端末40からカプセル化されたアクセス要求情報を受信し、アクセス要求情報に付加されているヘッダー情報を利用ドメイン管理部142に出力する。利用ドメイン管理部142は、ヘッダー情報に含まれているユーザID、セッションID、及びサービスサーバ30のドメイン名を対応付けて、利用ドメイン記憶部11に記憶させる(ステップS125)。
また、カプセル化データ転送部141は、カプセル化されたアクセス要求情報をコンテンツ通信部15に転送する(ステップS126)。
【0045】
コンテンツ通信部15において、カプセル化データ処理部152は、カプセル化されたアクセス要求情報をアンカプセル化するとともに(ステップS127)、アクセス要求情報に含まれるサービスサーバ30のURLを接続先アドレス変換部153に出力する。接続先アドレス変換部153は、入力されたURLに対応するIPアドレスを検索し、検索結果をカプセル化データ処理部152に出力する(ステップS128)。
カプセル化データ処理部152は、アンカプセル化したアクセス要求情報と、当該アクセス要求情報に付加されていたユーザIDと、接続先アドレス変換部153から入力されたIPアドレスとを組み合わせて外部通信部154に出力する。外部通信部154は、入力されたIPアドレス宛にアクセス要求情報を送信する(ステップS129)。
【0046】
サービスサーバ30は、リバースプロキシサーバ10からアクセス要求情報を受信すると、リバースプロキシサーバ10がサービスサーバ30において提供するサービスを受ける権利を有するか否かを判定する認証処理を行うために、ID及びパスワード等を要求する認証要求情報を返送する(ステップS130)。
リバースプロキシサーバ10において、外部通信部154は、サービスサーバ30から認証要求情報を受信すると、当該サービスサーバ30のドメイン名、及び、当該認証要求情報に対応するアクセス要求情報のヘッダー情報に含まれていたユーザIDを組み合わせて連携認証部16に出力する(ステップS131)。
【0047】
連携認証部16は、入力されたユーザID及びドメイン名の組み合わせに対応する認証の種別に基づいた認証処理を行う。本処理例では、サービスサーバ30における認証がForm認証であるので、連携認証部16は、入力されたユーザIDに対応し、入力されたドメイン名のサービスサーバ30におけるID及びパスワード(PW)をサービス認証情報記憶部13から読み出し(ステップS132)、読み出したID及びパスワードを外部通信部154に出力する(ステップS133)。
【0048】
図8に示されているように、外部通信部154は、連携認証部16から入力されたID及びパスワードを含む認証情報をサービスサーバ30に転送する(ステップS134)。
サービスサーバ30は、リバースプロキシサーバ10から受信した認証情報に基づいて認証を行う(ステップS135)。ここで、サービスサーバ30における認証は、リバースプロキシサーバ10がサービスサーバ30において提供しているサービスを受ける権利があるか否かを判定する処理である。
サービスサーバ30は、リバースプロキシサーバ10がサービスの提供を受ける権利があると判定すると、初期コンテンツをリバースプロキシサーバ10に送信する(ステップS136)。
【0049】
リバースプロキシサーバ10において、外部通信部154は、サービスサーバ30から受信した初期コンテンツをカプセル化データ処理部152に出力する。カプセル化データ処理部152は、入力された初期コンテンツに、当該初期コンテンツに対応する接続要求を送信した利用者端末40を宛先として含むヘッダー情報を付加してカプセル化し(ステップS137)、カプセル化した初期コンテンツを端末連携部14に出力する(ステップS138)。端末連携部14は、カプセル化された初期コンテンツを利用者端末40に転送する(ステップS139)。
【0050】
利用者端末40において、トンネル通信部452は、リバースプロキシサーバ10からカプセル化された初期コンテンツを受信すると、当該カプセル化された初期コンテンツをデータ変換部44に出力する。データ変換部44は、カプセル化された初期コンテンツからヘッダー情報を削除してアンカプセル化し(ステップS140)、アンカプセル化した初期コンテンツをユーザエージェント部43に出力する。ユーザエージェント部43は、入力された初期コンテンツを出力部42に出力して、サービスサーバ30から得られた初期コンテンツをユーザに提供する(ステップS141)。
【0051】
上述のステップS121からステップS141までの処理が、リバースプロキシサーバ10における認証に基づいて、サービスサーバ30の認証を行う際にシングルサインオンを提供するサービス認証フェーズである。
上述のように、利用者端末40において、データ変換部44は、サービスサーバ30へのアクセスを要求するアクセス要求情報に、リバースプロキシサーバ10を宛先とする情報を含むヘッダー情報を付加してカプセル化し、当該アクセス要求情報をリバースプロキシサーバ10宛ての情報に変換する。更に、リバースプロキシサーバ10は、カプセル化されたアクセス要求情報からヘッダー情報を削除するアンカプセル化を行い、当該アクセス要求情報をサービスサーバ30に送信する。
【0052】
このように、利用者端末40とリバースプロキシサーバ10との間において、サービスサーバ30のドメイン名をカプセル化して送受信することにより、トンネル接続する。これにより、サービスサーバ30のドメイン名(外部ドメイン名)に対応する内部ドメイン名を用いることなく、利用者端末40がリバースプロキシサーバ10を介してサービスサーバ30にアクセスできる。また、リバースプロキシサーバ10は、内部ドメイン名を用いないので、外部ドメイン名と内部ドメイン名との対応関係の更新や、サービスサーバ30が提供するサービスの情報に含まれるドメイン名の変換を不要にできる。
その結果、サービスを提供するサービスサーバ30のドメイン名(外部ドメイン名)の変更や、利用するサービスに含まれるコンテンツの形態などに関わらず、安定してシングルサインオンの利便性を提供できる。
【0053】
上述のサービス認証フェーズの説明では、サービスサーバ30における認証がForm認証である場合について説明した。しかし、サービスサーバ30における認証方式は、SAML認証や、OpenID認証などの他の認証方式であってもよい。例えば、サービスサーバ30における認証の方式が、SAML認証である場合、コンテンツ通信部15が利用者端末認証フェーズにおける認証の結果をサービスサーバ30に送信することにより、サービスサーバ30における認証を行うようにしてもよい。この場合、連携認証部16は、ステップS109における認証の結果をサービス認証情報記憶部13に記憶させておくようにしてもよい。
【0054】
次に、認証を行った後におけるサービスサーバ30にアクセスする処理を説明する。
図9は、本実施形態における認証後のサービスサーバ30にアクセスする処理の一例を示すシーケンス図である。
利用者端末40において、ユーザエージェント部43は、入力部41にサービスサーバ30の利用を要求することを示す指示情報が入力されると(ステップS201)、当該指示情報に応じたアクセス要求情報を生成する(ステップS202)。
データ変換部44は、ユーザエージェント部43が生成したアクセス要求情報にヘッダー情報を付加してカプセル化し、(ステップS203)、トンネル通信部452を介してリバースプロキシサーバ10に送信する(ステップS204)。ステップS203においてアクセス要求情報に付加されるヘッダー情報には、コンテンツ通信部15を宛先とする情報と、利用者端末認証フェーズにおいて認証されたユーザIDと、アクセス要求情報に含まれるサービスサーバ30のドメイン名と、認証結果情報に含まれていたセッションID及びセッションキーとが含まれる。
【0055】
リバースプロキシサーバ10において、カプセル化データ転送部141は、利用者端末40からカプセル化されたアクセス要求情報を受信し、当該カプセル化されたアクセス要求情報のヘッダー情報を利用ドメイン管理部142に出力する。利用ドメイン管理部142は、入力されたヘッダー情報に含まれるユーザID、セッションID、及びサービスサーバ30のドメイン名の組み合わせが利用ドメイン記憶部11に記憶されているか否かを判定し、判定結果をカプセル化データ転送部141に出力する(ステップS205)。
【0056】
カプセル化データ転送部141は、利用ドメイン管理部142から入力された判定結果が、ヘッダー情報に含まれているユーザID、セッションID及びドメイン名の組み合わせが利用ドメイン記憶部11に記憶されていることを示す場合、カプセル化されたアクセス要求情報をコンテンツ通信部15に転送する(ステップS206)。
なお、カプセル化データ転送部141は、入力された判定結果が、ユーザID、セッションID及びドメイン名の組み合わせが利用ドメイン記憶部11に記憶されていないことを示す場合、カプセル化されたアクセス要求情報を不正なアクセス要求であるとみなし、転送を行わずに破棄する。
【0057】
コンテンツ通信部15において、カプセル化データ処理部152は、カプセル化されたアクセス要求情報が端末連携部14から入力されると、アクセス要求情報をアンカプセル化する(ステップS207)。また、カプセル化データ処理部152は、付加されていたヘッダー情報に含まれるサービスサーバ30のURLに対応するIPアドレスを接続先アドレス変換部153に検索させる(ステップS208)。
カプセル化データ処理部152は、検索により得られたIPアドレスと、アクセス要求情報とを外部通信部154に出力する。外部通信部154は、入力されたIPアドレスのサービスサーバ30宛てにアクセス要求情報を送信する(ステップS209)。
【0058】
サービスサーバ30は、リバースプロキシサーバ10から受信したアクセス要求情報に基づいた処理を実行し(ステップS210)、実行した処理の結果を示す情報をリバースプロキシサーバ10に送信する(ステップS211)。
リバースプロキシサーバ10において、外部通信部154は、サービスサーバ30から処理の結果を示す情報を受信すると、受信した情報をカプセル化データ処理部152に出力する。カプセル化データ処理部152は、入力された情報にヘッダー情報を付加してカプセル化し(ステップS212)、カプセル化データ転送部141に出力する(ステップS213)。ステップS212において情報に付加されるヘッダー情報には、利用者端末40を宛先とする情報が含まれる。
カプセル化データ転送部141は、カプセル化データ処理部152から入力された情報を利用者端末40に転送する(ステップS214)。
【0059】
利用者端末40において、トンネル通信部452がリバースプロキシサーバ10から受信した情報をデータ変換部44に出力し、データ変換部44が入力された情報をアンカプセル化し(ステップS215)、アンカプセル化した情報をユーザエージェント部43に出力する。ユーザエージェント部43は、データ変換部44から入力された情報を出力部42に出力して、サービスサーバ30から得られた処理の結果(コンテンツなど)をユーザに提供する(ステップS216)。
【0060】
次に、サービスサーバ30の利用を終了する際の処理(切断処理)を説明する。
図10から図12は、リバースプロキシサーバ10を経由したサービスサーバ30の利用を終了する際の処理(切断処理)の一例を示すシーケンス図である。
図10に示すように、利用者端末40において、ユーザエージェント部43は、入力部にリバースプロキシサーバ10を経由したサービスサーバ30との接続を切断することを示す指示情報が入力されると(ステップS301)、サービスサーバ30に対してログアウトを要求するログアウト要求情報を生成する(ステップS302)。ログアウト要求情報には、例えば、サービスサーバ30におけるユーザのIDと、ログアウトを示すコマンド、サービスサーバ30のURLなどが含まれる。
データ変換部44は、ユーザエージェント部43が生成したログアウト要求情報にヘッダー情報を付加することによりカプセル化し(ステップS303)、トンネル通信部452を介して、カプセル化したログアウト要求情報をリバースプロキシサーバ10に送信する(ステップS304)。
ステップS303においてログアウト要求情報に付加されるヘッダー情報には、コンテンツ通信部15を宛先とする情報と、利用者端末認証フェーズにおいて認証されたユーザIDと、ログアウト要求情報に含まれるサービスサーバ30のドメイン名と、認証結果情報に含まれていたセッションID及びセッションキーとが含まれる。
【0061】
リバースプロキシサーバ10において、カプセル化データ転送部141は、利用者端末40からカプセル化されたログアウト要求情報を受信し、当該カプセル化されたログアウト要求情報のヘッダー情報を利用ドメイン管理部142に出力する。利用ドメイン管理部142は、入力されたヘッダー情報に含まれるユーザID、セッションID及びドメイン名の組み合わせが利用ドメイン記憶部11に記憶されているか否かを判定し、判定結果をカプセル化データ転送部141に出力する(ステップS305)。
【0062】
カプセル化データ転送部141は、利用ドメイン管理部142から入力された判定結果が、ヘッダー情報に含まれているユーザID、セッションID及びドメイン名の組み合わせが利用ドメイン記憶部11に記憶されていることを示す場合、カプセル化されたログアウト要求情報をコンテンツ通信部15に転送する(ステップS306)。
なお、カプセル化データ転送部141は、入力された判定結果が、ユーザID、セッションID及びドメイン名の組み合わせが利用ドメイン記憶部11に記憶されていないことを示す場合、カプセル化されたログアウト要求情報を不正なログアウト要求であるとみなし、転送を行わずに破棄する。
【0063】
コンテンツ通信部15において、カプセル化データ処理部152は、カプセル化されたログアウト要求情報が端末連携部14から入力されると、ログアウト要求情報をアンカプセル化する(ステップS307)。また、カプセル化データ処理部152は、付加されていたヘッダー情報に含まれているサービスサーバ30のURLに対応するIPアドレスを接続先アドレス変換部153に検索させる(ステップS308)。
カプセル化データ処理部152は、検索により得られたIPアドレスと、ログアウト要求情報とを外部通信部154に出力する。外部通信部154は、入力されたIPアドレスのサービスサーバ30宛てにログアウト要求情報を送信する(ステップS309)。
【0064】
サービスサーバ30は、リバースプロキシサーバ10から受信したログアウト要求情報に基づいて、ログアウト処理を実行し(ステップS310)、ログアウト結果を示すログアウトページ情報をリバースプロキシサーバ10に送信する(ステップS311)。
リバースプロキシサーバ10において、外部通信部154は、サービスサーバ30から受信したログアウトページ情報をカプセル化データ処理部152に出力する。カプセル化データ処理部152は、ログアウト要求情報を送信した利用者端末40を宛先とする情報を含むヘッダー情報を、ログアウトページ情報に付加してカプセル化し(ステップS312)、端末連携部14に出力する(ステップS313)。
【0065】
図11に示すように、カプセル化データ転送部141は、カプセル化データ処理部152から入力された情報を利用者端末40に転送する(ステップS314)。
利用者端末40において、データ変換部44は、トンネル通信部452を介してリバースプロキシサーバ10から、カプセル化されたログアウトページ情報を受信すると、受信したログアウトページ情報をアンカプセル化し(ステップS315)、ログアウトページ情報をユーザエージェント部43に出力する。ユーザエージェント部43は、データ変換部44から入力されたログアウトページ情報を出力部42に出力して、サービスサーバ30との接続を切断したことをユーザに通知する(ステップS316)。
【0066】
ユーザエージェント部43は、ログアウトページ情報を出力部42に出力すると、ログアウト転送データを生成する(ステップS321)。ログアウト転送データは、サービスサーバ30との接続を切断した後に、リバースプロキシサーバ10における認証を無効にするログアウトを要求する情報である。
データ変換部44は、ユーザエージェント部43が生成したログアウト転送データにヘッダー情報を付加することによりカプセル化し(ステップS322)、トンネル通信部452を介して、カプセル化したログアウト転送データをリバースプロキシサーバ10に送信する(ステップS323)。ステップS322においてログアウト転送データに付加されるヘッダー情報には、コンテンツ通信部15を宛先とする情報と、利用者端末認証フェーズにおいて認証されたユーザIDと、認証結果情報に含まれていたセッションID及びセッションキーとが含まれる。
【0067】
リバースプロキシサーバ10において、カプセル化データ転送部141は、利用者端末40からカプセル化されたログアウト転送データを受信し、当該カプセル化されたログアウト転送データのヘッダー情報を利用ドメイン管理部142に出力する。利用ドメイン管理部142は、入力されたヘッダー情報に含まれるユーザID及びセッションIDの組み合わせが利用ドメイン記憶部11に記憶されているか否かを判定し、判定結果をカプセル化データ転送部141に出力する(ステップS324)。
【0068】
カプセル化データ転送部141は、利用ドメイン管理部142から入力された判定結果が、ヘッダー情報に含まれているユーザID及びセッションIDの組み合わせが利用ドメイン記憶部11に記憶されていることを示す場合、カプセル化されたログアウト転送データをコンテンツ通信部15に転送する(ステップS325)。
なお、カプセル化データ転送部141は、入力された判定結果が、ユーザID及びセッションIDの組み合わせが利用ドメイン記憶部11に記憶されていないことを示す場合、カプセル化されたログアウト転送データを不正なログアウト転送データであるとみなし、転送を行わずに破棄する。
【0069】
図12に示すように、コンテンツ通信部15において、カプセル化データ処理部152は、カプセル化されたログアウト転送データが端末連携部14から入力されると、ログアウト転送データをアンカプセル化し(ステップS326)、ログアウト転送データを連携認証部16に出力する(ステップS327)。
連携認証部16は、入力されたログアウト転送データに含まれるユーザIDに対してログアウト処理を行い(ステップS328)、ログアウト処理の結果をコンテンツ通信部15に送信する(ステップS329)。
連携認証部16が行うログアウト処理は、例えば、ユーザIDごとのログインをしているか否かを示す情報を更新する。また、SAML認証やOpenID認証において用いる有効な認証結果が記憶されている場合、当該認証結果を削除するか、無効にする。
【0070】
コンテンツ通信部15において、カプセル化データ処理部152は、利用者端末40を宛先とする情報を含むヘッダー情報を、連携認証部16から入力されたログアウト処理の結果に付加してカプセル化し(ステップS330)、カプセル化データ転送部141に出力する(ステップS331)。カプセル化データ転送部141は、カプセル化データ処理部152から入力された情報を利用者端末40に転送する(ステップS332)。
【0071】
利用者端末40において、トンネル通信部452がリバースプロキシサーバ10から受信した情報をデータ変換部44に出力し、データ変換部44が入力された情報をアンカプセル化して(ステップS333)、ログアウト処理の結果をユーザエージェント部43に出力する。ユーザエージェント部43は、入力されたログアウト処理の結果を出力部42に出力して、連携認証部16におけるログアウト処理の結果をユーザに提供する(ステップS334)。ユーザエージェント部43は、サービスサーバ30が提供するサービスを利用するためのアプリケーションを停止させる(ステップS335)。
【0072】
更に、ユーザエージェント部43は、リバースプロキシサーバ10に対して接続(セッション)の切断を要求するセッション切断要求情報を生成し、トンネル通信部452を介して、生成したセッション切断要求情報をリバースプロキシサーバ10に送信する(ステップS341)。なお、セッション切断要求情報には、ユーザIDとセッションIDとが含まれている。
【0073】
リバースプロキシサーバ10において、カプセル化データ転送部141は、セッション切断要求情報に含まれているユーザID及びセッションIDを、利用ドメイン管理部142に出力する。利用ドメイン管理部142は、入力されたユーザID及びセッションIDの組み合わせが利用ドメイン記憶部11に記憶されているか否かを判定し、判定結果をカプセル化データ転送部141に出力する(ステップS342)。
また、利用ドメイン管理部142は、入力されたユーザID及びセッションIDの組み合わせが利用ドメイン記憶部11に記憶されている場合、入力されたユーザID及びセッションIDの組み合わせを含む情報を利用ドメイン情報から削除する。
【0074】
カプセル化データ転送部141は、利用ドメイン管理部142から入力された判定結果が、セッション切断要求情報に含まれているユーザID及びセッションIDの組み合わせが利用ドメイン記憶部11に記憶されていることを示す場合、セッション切断要求情報をコンテンツ通信部15に出力する(ステップS343)。
なお、カプセル化データ転送部141は、入力された判定結果が、セッション切断要求情報に含まれているユーザID及びセッションIDの組み合わせが利用ドメイン記憶部11に記憶されていないことを示す場合、受信したセッション切断要求情報を不正な情報であるとみなし、転送を行わずに破棄する。
【0075】
コンテンツ通信部15において、カプセル化データ処理部152はセッション切断要求情報が入力されると、入力されたセッション切断要求情報を利用者認証部151に出力する。利用者認証部151は、セッション切断要求情報に含まれるユーザIDのユーザがログイン中でないことを利用者情報記憶部12に記憶させるセッション終了処理を行う(ステップS344)。
利用者認証部151は、セッション終了処理が完了し、切断が完了したことを示す切断完了情報を端末連携部14に出力する(ステップS345)。
端末連携部14において、カプセル化データ転送部141は、利用者認証部151から入力された切断完了情報を利用者端末40に送信する(ステップS346)。
【0076】
以下、リバースプロキシサーバ10と利用者端末40との間の通信で用いられるヘッダー情報の実装例を示す。ここに示すヘッダーフィールドの例は、RFC(Request For Proposal)2616において定義されているHTTP(Hyper Text Transfer Protocol)1.1に追加することを前提にしている。
図13は、HTTP1.1に追加するヘッダーフィールドを示している。
「CTOSNTT_USERID」はユーザのIDを示し、例えば「abc」などの値をとる。「CTOSNTT_STARTTIME」は通信部45が端末連携部14及びコンテンツ通信部15との接続(トンネル接続)が確立した日時を示し、例えば「20110701 23:55:47GMT」などの値をとる。
【0077】
「CTOSNTT_SESSIONID」はトンネル接続が確立したときに割り当てられたセッションIDを示し、例えば「10.0.0.1_abc_2011071235547」などの値をとる。「CTOSNTT_SESSIONKEY」はトンネル接続が確立したときに割り当てられた鍵を示し、例えば「Sie82,x{]as-09so」などの値をとる。
「CTOSNTT_LASTCONNECTTIME」は通信部45とコンテンツ通信部15とが最後に通信した日時を示し、例えば「20110701 23:56:02GMT」などの値をとる。「CTOSNTT_DIRECTION」は通信方向を示し、「up」又は「down」の値をとる。なお、通信方向はリバースプロキシサーバ10に向かう方向が上り方向「up」であり、利用者端末40に向かう方向が下り方向「down」である。
【0078】
「CTOSNTT_SEQUENSE」はリバースプロキシサーバ10と利用者端末40との間における通信時のシーケンス番号を示し、例えば「102」などの値をとる。「CTOSNTT_SOURCEADDRESS」は送信元のIPアドレスを示し、例えば「10.0.0.1」などの値をとる。「CTOSNTT_DESTADDRESS」は送信先(宛先)のIPアドレスを示し、例えば「10.0.0.2」などの値をとる。
【0079】
「CTOSNTT_TTYPE」は通信の種別を示し、「preauth」、「auth」、「authorize」、及び「connected」のうち、いずれかの値をとる。「preauth」はリバースプロキシサーバ10における認証前であることを示し、「auth」は認証の処理を行っていることを示し、「authorize」は認証されたことを示し、「connected」は認証後の送受信であることを示す。
【0080】
「CTOSNTT_TPROTOCOL」は通信プロトコルを示し、例えば「http」や「https」などの値をとる。「CTOSNTT_TPORT」は通信ポートの番号を示し、例えば「443」などの値をとる。「CTOSNTT_TURI」はユーザが利用したいサービスを提供するサービスサーバ30である通信先を示し、例えば「www.nttwest.co.jp」などのドメイン名やURL等の値をとる。「CTOSNTT_ENCODING」はカプセル化した情報又はデータのエンコードを示し、例えば「chunk」などの値をとる。
【0081】
図14は、リバースプロキシサーバ10と利用者端末40とにおいて用いられるリクエストデータ及びレスポンスデータにおけるヘッダー情報の一例を示す図である。図14(a)は、よく利用されるMethodのGET、POSTの例が示されている。図14(b)は、リプライとしてのレスポンスデータの一例が示されている。ここでは、図13に示したフィールドのうち、「CTOSNTT_STARTTIME」、「CTOSNTT_DIRECTION」、「CTOSNTT_SOURCEADDRESS」、及び「CTOSNTT_DSTADDRESS」のフィールドが用いられている。
【0082】
以下、図6におけるステップS102からステップS105、ステップS107、ステップS108、ステップS110、及びステップS111と、図7におけるステップS124及びステップS126と、図8におけるステップS138及びステップS139とのデータの送受信に用いられるヘッダー情報の例を示す。ここでは、リバースプロキシサーバ10における端末連携部14にIPアドレス「10.0.0.2」が割り当てられ、コンテンツ通信部15にIPアドレス「10.0.0.3」が割り当てられ、利用者端末40にIPアドレス「10.0.0.1」が割り当てられている場合について説明する。
【0083】
図15は、ステップS102における接続要求情報のヘッダー情報の例を示す図である。同図に示すように、「CTOSNTT_SOURCEADDRESS」及び「CTOSNTT_DESTADDRESS」のフィールドの値が利用者端末40から端末連携部14への送信を示している。また、「CTOSNTT_TTYPE」のフィールドの値が「preauth」であり、認証前であることを示している。
【0084】
図16は、ステップS103における接続要求情報のヘッダー情報の例を示す図である。同図に示すように、「CTOSNTT_SOURCEADDRESS」及び「CTOSNTT_DESTADDRESS」のフィールドの値が端末連携部14からコンテンツ通信部15への送信を示している。また、リバースプロキシサーバ10と利用者端末40との間の通信のシーケンス番号を示す「CTOSNTT_SEQUENSE」が増加して「2」になっている。
図17は、ステップS104における認証要求情報のヘッダー情報の例を示す図である。同図に示すように、「CTOSNTT_SOURCEADDRESS」及び「CTOSNTT_DESTADDRESS」のフィールドの値がコンテンツ通信部15から端末連携部14への送信を示している。また、「CTOSNTT_DIRECTION」のフィールドの値が「down」であり、利用者端末40に向けた送信であることを示している。
図18は、ステップS105における認証要求情報のヘッダー情報の例を示す図である。同図に示すように、「CTOSNTT_SOURCEADDRESS」及び「CTOSNTT_DESTADDRESS」のフィールドの値が端末連携部14から利用者端末40への送信を示している。
【0085】
図19は、ステップS107において送信する情報のヘッダー情報の例を示す図である。同図に示すように、「CTOSNTT_SOURCEADDRESS」及び「CTOSNTT_DESTADDRESS」のフィールドの値が利用者端末40から端末連携部14への送信を示している。また、「CTOSNTT_TTYPE」が認証中であることを示す「auth」となっている。また、また、「CTOSNTT_DIRECTION」のフィールドの値が「up」であり、リバースプロキシサーバ10に向けた送信であることを示している。
図20は、ステップS108において送信する情報のヘッダー情報の例を示す図である。同図に示すように、「CTOSNTT_SOURCEADDRESS」及び「CTOSNTT_DESTADDRESS」のフィールドの値が端末連携部14からコンテンツ通信部15への送信を示している。
【0086】
図21は、ステップS110における認証結果情報のヘッダー情報を示す図である。同図に示すように、「CTOSNTT_SOURCEADDRESS」及び「CTOSNTT_DESTADDRESS」のフィールドの値がコンテンツ通信部15から端末連携部14への送信を示している。また、「CTOSNTT_TTYPE」のフィールドの値が認証されたことを示す「authorize」になっている。また、「CTOSNTT_DIRECTION」のフィールドの値が「down」であり、利用者端末40に向けた送信であることを示している。
図22は、ステップS111における認証結果情報のヘッダー情報を示す図である。同図に示すように、「CTOSNTT_SOURCEADDRESS」及び「CTOSNTT_DESTADDRESS」のフィールドの値が端末連携部14から利用者端末40への送信を示している。
【0087】
図23は、ステップS124におけるアクセス要求情報のヘッダー情報の例を示す図である。同図に示すように、「CTOSNTT_SOURCEADDRESS」及び「CTOSNTT_DESTADDRESS」のフィールドの値が利用者端末40から端末連携部14への送信を示している。また、「CTOSNTT_TTYPE」のフィールドの値が認証後の送受信であることを示す「connected」になっている。また、「CTOSNTT_SESSIONID」及び「CTOSNTT_SESSIONKEY」のフィールドの値が、利用者端末認証フェーズ(ステップS101からステップS111)において割り当てられたセッションID「10.0.0.1_abc_201107010001030001」及びセッションキー「Sie82,x{]as-09so」となっている。また、「CTOSNTT_TURI」がアクセス先としてのサービスサーバ30を示す「www.nttwest.co.jp」となっている。
図24は、ステップS126におけるアクセス要求情報のヘッダー情報の例を示す図である。同図に示すように、「CTOSNTT_SOURCEADDRESS」及び「CTOSNTT_DESTADDRESS」のフィールドの値が端末連携部14からコンテンツ通信部15への送信を示している。
【0088】
図25は、ステップS138において送信する初期コンテンツのヘッダー情報の例を示す図である。同図に示すように、「CTOSNTT_SOURCEADDRESS」及び「CTOSNTT_DESTADDRESS」のフィールドの値がコンテンツ通信部15から端末連携部14への送信を示している。また、「CTOSNTT_DIRECTION」のフィールドの値が「down」であり、利用者端末40に向けた送信であることを示している。また、「copuseldata」としては初期コンテンツが含まれることになる。
図26は、ステップS139において送信する初期コンテンツのヘッダー情報の例を示す図である。同図に示すように、「CTOSNTT_SOURCEADDRESS」及び「CTOSNTT_DESTADDRESS」のフィールドの値が端末連携部14から利用者端末40への送信を示している。
【0089】
上述したようなヘッダー情報を用いて、利用者端末40におけるサービスサーバ30を利用する要求等を示す情報をカプセル化してリバースプロキシサーバ10に送信することによりトンネル接続をして、サービスサーバ30のドメイン名(外部ドメイン名)に対応する内部ドメイン名を用いることなく、利用者端末40がリバースプロキシサーバ10を介してサービスサーバ30にアクセスできる。
【0090】
なお、上述の実施形態では、リバースプロキシサーバ10と利用者端末40とが直接接続されている形態を例にして説明したが、これに限ることなく、リバースプロキシサーバ10と利用者端末40とが、ネットワーク20と異なる他のネットワークを介して接続されていてもよい。
また、上述の実施形態では、リバースプロキシサーバ10が端末連携部14、コンテンツ通信部15、及び連携認証部16を備える構成について説明した。しかし、これに限ることなく、端末連携部14、コンテンツ通信部15、及び連携認証部16それぞれを独立した装置として設け、リバースプロキシシステム(中継システム)を構成するようにしてもよい。
【0091】
また、上述の実施形態において、リバースプロキシサーバ10は、利用ドメイン記憶部11、利用者情報記憶部12、及びサービス認証情報記憶部13を備える構成について説明した。しかし、これに限ることなく、利用ドメイン記憶部11、利用者情報記憶部12、及びサービス認証情報記憶部13を備えたデータベースサーバをリバースプロキシサーバ10と別に設けるようにしてもよい。
【0092】
なお、本発明に記載の第1のユーザ識別子及び第1のユーザ認証用情報は、実施形態に記載のサービス認証情報におけるID及びPW(パスワード)に対応する。また、本発明に記載の第2のユーザ識別子及び第2のユーザ認証用情報は、実施形態に記載の利用者情報における、ユーザID、及び当該ユーザに対する判定に用いる認証の種別に応じた情報に対応する。
【0093】
なお、本発明におけるリバースプロキシサーバ(中継サーバ)10、及び利用者端末40の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行させることにより、コンピュータシステムに、利用ドメイン記憶部11、利用者情報記憶部12、サービス認証情報記憶部13、端末連携部14、コンテンツ通信部15、連携認証部16、ユーザエージェント部43、及びデータ変換部通信部45それぞれが行う処理を行わせるようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM、DVD等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。更に「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0094】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。更に、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【符号の説明】
【0095】
1…情報処理システム
10…リバースプロキシサーバ(中継サーバ)
11…利用ドメイン記憶部
12…利用者情報記憶部
13…サービス認証情報記憶部
14…端末連携部
15…コンテンツ通信部
16…連携認証部
20…ネットワーク
30…サービスサーバ
40…利用者端末
141…カプセル化データ転送部
142…利用ドメイン管理部
151…利用者認証部
152…カプセル化データ処理部
153…接続先アドレス変換部
154…外部通信部
451…トンネル接続部
452…トンネル通信部

【特許請求の範囲】
【請求項1】
ユーザが操作する利用者端末と、受信した要求に応じてサービスを提供するサービスサーバと、前記利用者端末と前記サービスサーバとの間の通信を中継する中継サーバとを具備する情報処理システムであって、
前記利用者端末は、
前記サービスサーバにサービスの提供を要求する要求情報を生成するユーザエージェント部と、
前記要求情報に前記中継サーバを宛先とするヘッダー情報を付加することによりカプセル化した要求情報を前記中継サーバに送信する通信部と、
を備え、
前記中継サーバは、
前記ユーザごとに、前記サービスサーバにおいてサービスの提供を受ける権利を有しているか否かの判定をする第1の認証処理に用いられる、ユーザを識別する第1のユーザ識別子と、第1のユーザ認証用情報とを対応付けて予め記憶しているサービス認証情報記憶部と、
前記利用者端末からカプセル化された要求情報を受信すると、該利用者端末を操作するユーザに対応する第1のユーザ識別子及び第1のユーザ認証用情報を前記サービス認証情報記憶部から読み出し、読み出した第1のユーザ識別子及び第1のユーザ認証用情報を前記サービスサーバに送信して第1の認証処理を行わせる連携認証部と、
前記カプセル化された要求情報に含まれている要求情報を前記サービスサーバに送信し、該要求情報に応じたサービス結果を示すコンテンツ情報を該サービスサーバから受信し、前記カプセル化された要求情報に対する応答として前記受信したコンテンツ情報を前記利用者端末に送信するコンテンツ通信部と
を備える
ことを特徴とする情報処理システム。
【請求項2】
請求項1に記載の情報処理システムであって、
前記中継サーバは、更に、
前記ユーザごとに、自装置を介して前記サービスサーバと通信する権利を有しているか否かを判定する第2の認証処理に用いられる、第2のユーザ識別子と、第2のユーザ認証用情報とを対応付けた利用者情報を予め記憶している利用者情報記憶部と、
前記利用者端末から受信した認証情報と、前記利用者情報とに基づいて、第2の認証処理を行う利用者認証部と
を備え、
前記コンテンツ通信部は、
自装置を介して前記サービスサーバと通信する権利を有していると判定された前記利用者端末から受信するカプセル化された要求情報を前記サービスサーバに送信し、
自装置を介して前記サービスサーバと通信する権利を有していないと判定された前記利用者端末から受信するカプセル化された要求情報を破棄する
ことを特徴とする情報処理システム。
【請求項3】
ユーザが操作する利用者端末と、受信した要求に応じてサービスを提供するサービスサーバと、前記ユーザごとに、前記サービスサーバにおいてサービスの提供を受ける権利を有しているか否かの判定をする第1の認証処理に用いられる、ユーザを識別する第1のユーザ識別子と、第1のユーザ認証用情報とを対応付けて予め記憶しているサービス認証情報記憶部を備える中継サーバとを具備する情報処理システムにおける情報処理方法であって、
前記利用者端末が、前記サービスサーバにサービスの提供を要求する要求情報を生成する生成ステップと、
前記利用者端末が、前記要求情報に前記中継サーバを宛先とするヘッダー情報を付加することによりカプセル化した要求情報を前記中継サーバに送信する送信ステップと、
前記中継サーバが、前記利用者端末からカプセル化された要求情報を受信すると、該利用者端末を操作するユーザに対応する第1のユーザ識別子及び第1のユーザ認証用情報を前記サービス認証情報記憶部から読み出し、読み出した第1のユーザ識別子及び第1のユーザ認証用情報を前記サービスサーバに送信して第1の認証処理を行わせる連携認証ステップと、
前記中継サーバが、前記カプセル化された要求情報に含まれている要求情報を前記サービスサーバに送信し、該要求情報に応じたサービス結果を示すコンテンツ情報を該サービスサーバから受信し、前記カプセル化された要求情報に対する応答として前記受信したコンテンツ情報を前記利用者端末に送信するコンテンツ通信ステップと
を有することを特徴とする情報処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate


【公開番号】特開2013−73421(P2013−73421A)
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願番号】特願2011−211932(P2011−211932)
【出願日】平成23年9月28日(2011.9.28)
【出願人】(399041158)西日本電信電話株式会社 (215)
【Fターム(参考)】