(57)【特許請求の範囲】
【請求項１】
クライアント装置とサーバ装置との間に，前記サーバ装置への中継経路情報を前段の装置から隠蔽する中継装置を複数段備えるネットワークにおいて，前記クライアント装置と複数の前記中継装置と前記サーバ装置との間に接続を確立して，前記クライアント装置が前記サーバ装置と通信を行う通信システムであって，
前記中継装置おのおのと，前記クライアント装置は，
前記サーバ装置の識別情報と，前記サーバ装置への接続要求を送信する場合に接続するべき次段の装置の識別情報と，を対応づけて格納する中継経路制御テーブルを備え，
前記中継装置おのおのは，
前段の装置である，前記クライアント装置または前段の中継装置，から受信する，前記クライアント装置による前記サーバ装置への接続要求に対して，前記中継経路制御テーブルを参照し，前記サーバ装置への接続要求に含まれる前記サーバ装置の識別情報に基づいて，次段の装置を決定する手段と，
前記次段の装置が，いずれかの前記中継装置であった場合は，当該次段の中継装置へ接続する手段と，
前記次段の中継装置へ接続したことを前記前段の装置へ通知する手段と，
前記前段の装置への前記通知に応答して，前記前段の装置から新たに受信する前記サーバ装置への接続要求を，接続した前記次段の中継装置へ，転送する手段と，
前記次段の中継装置から，転送した前記サーバ装置への接続要求に対する結果を受信して，前記前段の装置へ前記結果を転送する手段と，
前記前段の装置へ転送した，前記サーバ装置への接続要求に対する結果に応答して，前記前段の装置から新たに受信する前記サーバ装置への接続要求を，接続した前記次段の中継装置へ，転送する手段と，を備え，
前記クライアント装置は，
前記サーバ装置への接続要求時に，前記中継経路制御テーブルを参照し，前記サーバ装置の識別情報に基づいて，当該サーバ装置への接続要求の送信先となる次段の中継装置を選択し，選択した前記次段の中継装置へ接続する手段と，
接続された前記次段の中継装置へ前記サーバ装置への接続要求を送信する手段と，
前記サーバ装置への接続要求に対する結果を受信して，前記サーバ装置に接続されたか否かを判定する手段と，
前記判定結果が，前記サーバ装置ではなくいずれかの前記中継装置に接続されたことを示す場合は，再び，前記サーバ装置への接続要求を，接続されている前記次段の中継装置に送信する手段と，
を備えることを特徴とする通信システム。
【請求項２】
請求項１に記載の通信システムであって，
前記クライアント装置と，前記中継装置は，
他の装置である前記サーバ装置または他の中継装置との間で認証を行うために，前記他の装置を特定する識別情報と認証用情報を対応づけて格納した認証情報テーブルと，
前記識別情報を含んだ前記サーバ装置への接続要求を受信した際に，前記認証情報テーブルを用いて，前記識別情報により特定される前記他の装置と認証を行う手段と，を備えることを特徴とする通信システム。
【請求項３】
請求項２に記載の通信システムであって，
前記クライアント装置が備える前記認証情報テーブルは，前記中継装置各々と認証を行うための識別情報と認証用情報とを有し，
前記中継装置各々が備える前記認証情報テーブルは，前記クライアント装置と認証を行うための識別情報と認証用情報とを有することを特徴とする通信システム。
【請求項４】
請求項２に記載の通信システムであって，
前記クライアント装置が備える前記認証情報テーブルは，次段の中継装置と認証を行うための識別情報と認証用情報とを有し，
前記中継装置が備える前記認証情報テーブルは，隣接する他の装置と認証を行うための識別情報と認証用情報とを有することを特徴とする通信システム。
【請求項５】
請求項１に記載の通信システムであって，
前記クライアント装置といずれかの前記中継装置とは，
データの暗号化情報を共有する手段と，
共有した暗号化情報を用いて，データの暗号化通信を行う手段と，を備えることを特徴とする通信システム。
【請求項６】
請求項１に記載の通信システムであって，
前記クライアント装置と，前記中継装置は，
それぞれ隣接する装置間でデータの暗号化情報を共有する手段と，
共有した暗号化情報を用いて，データの暗号化通信を行う手段と，を備えることを特徴とする通信システム。
【請求項７】
請求項１に記載の通信システムであって，
前記クライアント装置と，前記中継装置のいずれかの中継経路制御テーブルは，
格納された情報に優先度を与える優先度情報をさらに格納し，
前記いずれかの装置は，
他の装置の前記中継経路制御テーブルに格納された情報の優先度を変更する情報を送信する手段と，
他の装置から受信した前記優先度変更情報に基づいて，前記中継経路制御テーブルに格納された情報の優先度を変更する手段と，を備え，
前記いずれかの装置の前記中継装置を選択する手段は，前記中継経路制御テーブルに格納された優先度情報を用いて他の装置を選択することを特徴とする通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のファイアウォールが介在する環境で、クライアントとサーバとの通信を行なうネットワーク通信システムにおいて、アプリケーションの通信を中継する仮想ネットワークの通信方法および装置に関する。
【０００２】
【従来の技術】
従来、ファイアウォールが介在する環境で、クライアントとサーバとの通信を中継する代理サーバとして、  ＲＦＣ１９２８  で提案されている  ｓｏｃｋｓ  Ｖ５  がある。
【０００３】
ｓｏｃｋｓ  ではクライアントと中継サーバの間での相互認証、および中継サーバに対する接続命令を実現する  ｓｏｃｋｓ  プロトコルを定義しており、１つのファイアウォールを越えたクライアントとサーバとの通信を実現することができる。
【０００４】
また、  ＩＰ  レイヤにおける中継経路情報の交換を動的に行なうメカニズムとしては、  ＲＩＰ（Ｒｏｕｔｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ：  ＲＦＣ１０５８）、  ＯＳＰＦ（Ｏｐｅｎ  Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆｉｒｓｔ：ＲＦＣ１１３１）  等のゲートウェイプロトコルがある。
【０００５】
【発明が解決しようとする課題】
インターネットの普及につれて、インターネットを介した事業部、企業間での協動や、遠隔オフィス／在宅勤務者に対応したネットワーク環境が求められている。このようなネットワーク環境では、外部から企業ネットワークへの侵入や、外部ネットワークにおけるデータの盗聴等のセキュリティの脅威が問題になっている。このため、外部から企業ネットワークへの侵入を防ぐためのセキュリティツールとして、ファイアウォールが考案されている。ファイアウォールは、保護対象となるネットワークの構成等の情報を外部から隠蔽し、ネットワークの境界において通信主体の認証に基づくアクセス制御を実行することで、外部からの侵入を防ぎつつ、正当ユーザの通信を可能にする機能を持つ。
【０００６】
また、ＩＥＴＦ  では、外部ネットワークにより接続した２つのネットワーク間の通信で、外部ネットワークにおけるデータ盗聴を防ぐために、それぞれのネットワークの外部ネットワークとの境界にあるファイアウォールもしくはルータ間で、通信パケットの暗号化／復号化を行なう方法が提案されている。この方法を用いることにより、インターネットを仮想的な企業ネットワークに見せる技術である  ＶＰＮ  （Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）  を実現することができる。
【０００７】
このように、インターネットを利用した企業ネットワークでは、ファイアウォールがセキュリティ上重要な役割を果たしており、企業ネットワーク内でも、サブネットワークを保護する目的で内部ファイアウォールが設置されるようになりつつある。このような複数のファイアウォールが介在する環境における通信には、いくつかの問題がある。例えば、サブネットワークを保護する内部ファイアウォールを越える通信を、外部ネットワークの計算機から行なう場合、外部ファイアウォールと内部ファイアウォールが通信を中継する必要がある。
【０００８】
しかし、中継を行なう内部ファイアウォールへの経路情報は、外部ネットワークでは隠蔽されているため、何らかの方法で経路情報を取得する必要がある。
【０００９】
第１図は、上記の問題点の例である。クライアント  １０１  がＡ社ネットワーク  １０６  内のサーバと通信する場合、外部ファイアウォール  １０２  が通信を中継する。Ａ社ネットワーク  １０６  内のサーバ  １０４  との通信では、外部ファイアウォール  １０２  がサーバ  １０４  への経路情報を取得できるため、通信を行なうことができる。しかし、サブネットワーク  １０７  内にあるサーバ  １０５  との通信では、サーバ  １０５が内部ファイアウォール  １０３  により隠蔽されているため、外部ファイアウォール  １０２はサーバ  １０５  への経路情報を取得することができず、通信を行なうことができない。また、外部ネットワークにより接続した２つのネットワーク間の通信で、それぞれの内部ファイアウォール間では、外部ファイアウォールに対して内部ファイアウォールを特定するための経路情報を設定しない限り、ＶＰＮ  を構成できない。
【００１０】
第  ２  図は、上記の問題点の例である。ファイアウォール  ２０５  でサーバ２０２  への経路としてファイアウォール  ２０６  を登録することにより、ネットワーク２１０  内のクライアント  ２０１  は、ネットワーク  ２１１１  内のサーバ  ２０２  と  ＶＰＮ  で通信を行なうことができる。しかし、ネットワーク  ２１３  の内部のサブネットワーク  ２１４  にサーバ  ２０４  がある場合、経路がファイアウォール  ２０８  により隠蔽されているため、ファイアウォール  ２０７  に内部ファイアウォール  ２０９  を登録することができない。
【００１１】
そこで、本発明では、複数のファイアウォールが介在していても、ユーザが中継経路を意識せずに通信アプリケーションが利用できる仮想ネットワーク環境を提供することにより上記の  ２  つの問題を解決することを目的とする。
【００１２】
【課題を解決するための手段】
上記課題を解決するために本発明では、クライアント上の通信クライアントプログラムと、サーバの通信サーバプログラムの通信を中継する通信中継プログラムをファイアウォール等の中継サーバ上で起動し、クライアントおよび中継サーバにはデータ中継経路を制御するための経路情報テーブルを持たせ、クライアント上の通信クライアントプログラムは、ファイアウォールにより直接接続できないサーバへの接続処理において、
（１）目的のサーバへの経路の途中にあり、かつ
（２）クライアントから通信可能な中継サーバをデータ中継制御テーブルより選択する処理と、
上記処理により確定した中継サーバの中継プログラムと接続し、前記中継サーバにサーバ上の通信サーバプログラムとの通信の中継を依頼する処理を実行する。
【００１３】
そこで、中継サーバ上の中継プログラムは、クライアント上の通信クライアントプログラムの依頼内容に基づきクライアントの通信クライアントプログラムとサーバ上の通信サーバプログラムとの通信を中継する機能を持つものである。更に、中継サーバ上の中継プログラムは、ファイアウォールにより直接接続できないサーバへの接続処理において、クライアントの通信クライアントプログラムと同様に、
（１）目的のサーバへの経路の途中にあり、かつ
（２）クライアントから通信可能な中継サーバをデータ中継制御テーブルより選択する処理と、
上記処理により確定した中継サーバの中継プログラムと接続し、前記中継サーバにサーバ上の通信サーバプログラムとの通信の中継を依頼する処理を実行する。
【００１４】
本発明の仮想ネットワーク構成方法および装置では、ネットワーク上に配置した通信中継サーバを用いてクライアントとサーバの通信を中継し、クライアントおよび中継サーバにはデータ中継経路を制御するための経路情報テーブルを持たせ、クライアントの通信プログラムおよび中継サーバの中継プログラムが、
（１）目的のサーバへの経路の途中にあり、かつ
（２）クライアントから通信可能な中継サーバをデータ中継制御テーブルより選択する処理と、
をデータ中継制御テーブルより選択する処理を実行して通信経路を確保することにより、複数のファイアウォールが介在していても、クライアントのユーザが中継経路を意識せずに通信アプリケーションを利用できる。
【００１５】
【発明の実施の形態】
本発明の一実施例を、第  ３  図から第  ７  図を用いて説明する。第  ３  図は、本方式の仮想ネットワーク構成方法および装置の概要を示す図である。  ３０１、３０２はサーバ計算機、  ３０３  はクライアント計算機、  ３０４  〜  ３０６  はファイアウォール兼中継サーバ、  ３０７、  ３０８  はローカルセグメント、  ３０９  はバックボーンセグメント、  ３１０  はインターネット、  ３１１、  ３１２  はファイアウォールにより守られたネットワークサブドメイン  ３１３  はネットワークドメインである。クライアント計算機  ３０３  から、サーバ計算機  ３０１  への通信を実行する場合、ファイアウォール兼中継サーバ  ３０６  および  ３０４  が通信を中継する。
【００１６】
第  ４  図は、本方式の仮想ネットワーク構成方法および装置で使用するクライアントおよび、中継サーバで使用する計算機の構成を示す図である。  ４１  はメモリ、  ４１１  は中継経路情報記憶エリア、  ４１２  は通信データ記憶エリア、  ４１３  はプログラムロードエリア、  ４２  はバス、  ４３  は  ＣＰＵ、  ４４  は外部記憶装置、  ４４１は通信プログラム、  ４４２  はデータ中継制御プログラム、  ４４３  は中継経路テーブル、  ４５  は通信  Ｉ／Ｏ  である。
【００１７】
第  ５  図は、本方式の仮想ネットワーク構成方法および装置において、クライアント計算機  ３０３  が、サーバ計算機  ３０１  に対して通信を行なう通信クライアントプログラムの概略を示すフローチャートである。ステップ  ５０１  は、サーバ計算機  ３０１  の通信アドレスへの中継を行なうファイアウォール兼中継サーバ  ３０６  を、中継経路テーブル  ４４２  を参照して特定するステップ、ステップ  ５０２は、ファイアウォール兼中継サーバの中継が必要か判定するステップ、ステップ５０３  は、ファイアウォール兼中継サーバによる中継が必要な場合の処理で、ファイアウォール兼中継サーバ  ３０６  への接続を行なうステップ、ステップ  ５０４  は、ファイアウォール兼中継サーバによる中継が不要な場合の処理で、サーバ計算機への接続を直接行なうステップ、ステップ  ５０５  は、ファイアウォール兼中継サーバ  ３０６  にサーバ計算機  ３０１  の通信アドレスを通知するステップ、ステップ５０６  は、ファイアウォール兼中継サーバ  ３０６  が実施したサーバとの接続処理結果を受信するステップ、ステップ  ５０７  は、ステップ  ５０６  で受信した内容より、ファイアウォール兼中継サーバ  ３０６  が接続した相手がサーバかどうか判定するステップ、ステップ  ５０８  は、サーバ計算機  ３０１  との通信データを送受信するステップである。本フローは、クライアント計算機  ３０３  で動作する全ての通信プログラム  ４４１  で共通しており、例えば  ＵＮＩＸ  ＯＳ  の場合には、通信用ライブラリに上記機能を組み込むことができる。
【００１８】
第  ６  図は、本方式の仮想ネットワーク構成方法および装置において、中継サーバ  ３０６  が、サーバ計算機  ３０１  への通信を中継する中継プログラム  ４４２  の概略を示すフローチャートである。ステップ  ６０１  は、クライアント計算機  ３０３  の通信クライアントプログラムからの中継要求待ちを行なうステップ、ステップ  ６０２  は、クライアント計算機  ３０３  からサーバ計算機  ３０１  の通信アドレスを受信するステップ、ステップ  ６０３  は、サーバ計算機  ３０１  の通信アドレスへの中継を行なうファイアウォール兼中継サーバ  ３０４  を、中継経路テーブル  ４４２  を参照して特定するステップ、ステップ  ６０４  は、ファイアウォール兼中継サーバの中継が必要か判定するステップ、ステップ  ６０５  は、ファイアウォール兼中継サーバによる中継が必要な場合の処理で、ファイアウォール兼中継サーバ  ３０４  への接続を行なうステップ、ステップ  ６０６  は、ファイアウォール兼中継サーバによる中継が不要な場合の処理で、サーバ計算機への接続を直接行なうステップ、ステップ  ６０７  は、サーバ計算機  ３０１  との通信データを送受信するステップである。
【００１９】
第  ７  図は、本方式の仮想ネットワーク構成方法および装置で使用する経路情報テーブル  ４２２  の内容とネットワーク例を示す図である。  ７１  は架空のドメイン  ｆｏｏｄ．ｃｏ．ｊｐ  のネットワーク例である。  ｆｏｏｄ．ｃｏ．ｊｐ  ドメインは、サブドメインとして、  ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  ドメインと、  ｖｅｇｅｔａｂｌｅ．ｆｏｏｄ．ｃｏ．ｊｐ  ドメインを持ち、外部ネットワークとのファイアウォール兼中継サーバ  ｄｉｎｎｅｒ．ｆｏｏｄ．ｃｏ．ｊｐと、  サーバ計算機  ｓｕｐｐｅｒ．ｆｏｏｄ．ｃｏ．ｊｐ  を持つ。
【００２０】
ｆｏｏｄ．ｃｏ．ｊｐ  のサブドメイン  ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  ドメインは、  ドメイン外とのファイアウォール兼中継サーバ  ｌｅｍｏｎ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  と、サーバ計算機  ｋｉｗｉ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  と、クライアント計算機  ｃｈｅｒｒｙ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  を持つ。ｆｏｏｄ．ｃｏ．ｊｐ  のサブドメイン  ｖｅｇ−  ｅｔａｂｌｅ．ｆｏｏｄ．ｃｏ．ｊｐ  ドメインは、ドメイン外とのファイアウォール兼中継サーバｐｏｔａｔｏ．ｖｅｇｅｔａｂｌｅ．ｆｏｏｄ．ｃｏ．ｊｐ  と、  サー  バ  計  算  機  ｃａｒｒｏｔ．ｖｅｇｅｔａｂｌｅ．ｆｏｏｄ．ｃｏ．ｊｐ  を  持つ。  ７２  は  ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐドメインのクライアント計算機  ｃｈｅｒｒｙ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ用の中継経路テーブルの構成を示す図で、中継を必要とするドメインを指定するドメイン名記述フィールド  ７２１  と、前記ドメインへの中継を行なうファイアウォール兼中継サーバを指定する中継サーバ名記述フィールド  ７２２を持つ。
【００２１】
ドメイン名記述フィールド  ７２１  は、記述したドメイン名以外の部分を表現するための記述として、否定演算子”￣”を使用することができる。例えば、”￣ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ”  は、「ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐドメイン以外のドメイン」を表す。中継経路テーブル  ７２  は、「ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  ドメイン以外はｌｅｍｏｎ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  が中継する」ことを表すレコード  ７２３  が登録されている。同様に  ７３  は  ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  ドメインの中継サーバ  ｌｅｍｏｎ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ用の中継経路テーブルの構成を示す図で、「ｖｅｇｅｔａｂｌｅ．ｆｏｏｄ．ｃｏ．ｊｐ  ドメインへは  ｐｏｔａｔｏ．ｖｅｇｅｔａｂｌｅ．ｆｏｏｄ．ｃｏ．ｊｐ  が中継する」ことを表すレコード  ７３１  と、「ｆｏｏｄ．ｃｏ．ｊｐ  ドメイン以外は  ｄｉｎｎｅｒ．ｆｏｏｄ．ｃｏ．ｊｐ  が中継する」ことを表すレコード  ７３２  が登録されている。
【００２２】
クライアント計算機  ｃｈｅｒｒｙ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  はサーバ計算機  ｋｉｗｉ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  と通信する場合、中継経路制御テーブル  ７２  を評価し、  ｋｉｗｉ  が  ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  ドメインのサーバ計算機であることから、直接接続を行なう。また別のケースとして、クライアント計算機  ｃｈｅｒｒｙ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐはサーバ計算機  ｓｕｐｐｅｒ．ｆｏｏｄ．ｃｏ．ｊｐ  と通信する場合、中継経路制御テーブル  ７２  を評価し、  ｓｕｐｐｅｒ  が  ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  ドメイン外のサーバ計算機であることから、ｌｅｍｏｎ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  に中継を依頼する。  中継サーバ  ｌｅｍｏｎ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐは、中継経路制御テーブル  ７３  を評価し、  ｓｕｐｐｅｒ  が  ｖｅｇｅｔａｂｌｅ．ｆｏｏｄ．ｃｏ．ｊｐ  ドメイン外のサーバであり、かつ  ｆｏｏｄ．ｃｏ．ｊｐ  内のサーバであることから、直接接続を行なう。更に別のケースとして、クライアント計算機  ｃｈｅｒｒｙ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  が外部ネットワークのサーバと通信を行なう時、中継経路制御テーブル  ７２  を評価し、外部ネットワークのサーバが  ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  ドメイン外のサーバ計算機であることから、  ｌｅｍｏｎ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  に中継を依頼する。この時中継サーバｌｅｍｏｎ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  は、中継経路制御テーブル  ７３  を評価し、外部ネットワークのサーバが  ｖｅｇｅｔａｂｌｅ．ｆｏｏｄ．ｃｏ．ｊｐ  ドメイン外のサーバであり、かつ  ｆｏｏｄ．ｃｏ．ｊｐ外のサーバであることから、  ｄｉｎｎｅｒ．ｆｏｏｄ．ｃｏ．ｊｐ  に中継を依頼する。中継サーバｄｉｎｎｅｒ．ｆｏｏｄ．ｃｏ．ｊｐ  もまた、  ｌｅｍｏｎ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  と同様に中継経路制御テーブルを評価し、サーバとの接続方法を決定する。
【００２３】
第  ７  図では、中継経路テーブルでのドメインと中継サーバを、  ＤＮＳ  におけるドメイン名およびホスト名で記述しているが、この記述は  ＩＰ  アドレスとネットマスクによる指定で行なうことも可能である。
【００２４】
以上が本方式の基本的な仮想ネットワーク構成方法および装置であるが、クライアント計算機側通信プログラム  ４４１  の概略フローチャートのステップ  ５０５および、中継サーバ側中継プログラム  ４４２  の概略フローチャートのステップ  ６０２において相互認証をすると、クライアント計算機と中継サーバ双方のなり済ましを防止することができる。第  ８  図は、上記の機能を実現するためのシステム構成を示す図である。クライアント計算機  ３０３  および、ファイアウォール兼中継サーバ  ３０４、  ３０６  は、自計算機と相互認証を行なう計算機の認証関係情報を格納する認証情報テーブル  ８１  〜  ８３  を持つ。認証情報テーブル  ８１  〜  ８３  は、認証相手側計算機の  ＩＤ  フィールド  ８１３  と、認証用共有情報フィールド  ８１４  を持つ。認証情報テーブル  ８１  は、ファイアウォール兼中継サーバ  ３０６  の  ＩＤ  および、認証用共有情報  ８４  を含むエントリ  ８１１  と、ファイアウォール兼中継サーバ  ３０４  のＩＤ  および、認証用共有情報  ８５  を含むエントリ  ８１２  を持つ。認証情報テーブル８２  は、クライアント計算機  ３０３  の  ＩＤ  および、認証用共有情報  ８４  を含むエントリ  ８２１  を持つ。認証情報テーブル  ８３  は、クライアント計算機  ３０３  の  ＩＤ  および、認証用共有情報  ８５  を含むエントリ  ８３１  を持つ。クライアント計算機  ３０３  の通信プログラム  ４４１  は、ステップ  ５０１  もしくはステップ  ５０６  において取得した相互認証を行なうファイアウォール兼中継サーバの  ＩＤ  をキーに検索を行ない、認証情報テーブル  ８１  より前記ファイアウォール兼中継サーバとの認証用共有情報を取得し、相互認証処理を実行する。ファイアウォール兼中継サーバ  ３０６  の中継プログラム  ４４２  は、ステップ  ６０２  で取得したクライアント計算機の  ＩＤ  をキーに検索を行ない、認証情報テーブル  ８２  より前記クライアント計算機との認証用共有情報を取得し、相互認証処理を実行する。ここで、クライアント計算機  ３０３  の通信プログラム  ４４１  がファイアウォール兼中継サーバ  ３０６  の中継プログラム  ４４２  と認証処理を実行し、前記認証処理が成功した場合は更にファイアウォール兼中継サーバ  ３０４  の中継プログラム  ４４２  と認証処理を実行し、前記認証処理が成功した場合サーバ  ３０１  との接続を確立することによりセキュリティを高めることができる。相互認証処理は、例えば認証用共有情報  ８４、  ８５  が共有鍵暗号方式における共通鍵であれば、  ＩＳＯ／ＩＥＣ９７９８  認証方式を利用することができる。
【００２５】
また、公開鍵暗号方式を利用した認証を利用することも可能である。本認証処理を使用した場合、クライアント計算機とファイアウォール兼中継サーバとの間で、通信データを暗号化するための情報を交換することができる。本図では、クライアント計算機  ３０３  がファイアウォール兼中継サーバ  ３０６  および、３０４  と暗号化のための情報を交換することができるため、クライアント計算機３０３  からファイアウォール兼中継サーバ  ３０６  間、もしくは、クライアント計算機３０３  からファイアウォール兼中継サーバ  ３０４  間でデータの暗号化を実行することができる。
【００２６】
第  ９  図は、本方式の仮想ネットワーク構成方法および装置における相互認証の他の方法を示した図である。クライアント計算機  ３０３  の認証情報テーブル  ９１には、ファイアウォール兼中継サーバ  ３０６  の  ＩＤ  および、認証用共有情報  ９４  を含むエントリ  ９１１  を持つ。ファイアウォール兼中継サーバ  ３０６  の認証情報テーブル  ９２  には、クライアント計算機  ３０３  の  ＩＤ  および、認証用共有情報  ９４  を含むエントリ  ９２１  と、ファイアウォール兼中継サーバ  ３０４  の  ＩＤ  および、認証用共有情報  ９５  を含むエントリ  ９２２  を持つ。ファイアウォール兼中継サーバ  ３０４  の認証情報テーブル  ９３  には、ファイアウォール兼中継サーバ  ３０６  の  ＩＤ  および、認証用共有情報  ９５  を含むエントリ  ９３１  を持つ。クライアント計算機  ３０３  の通信プログラム  ４４１  は、ステップ  ５０３  において接続するファイアウォール兼中継サーバ  ３０６  と相互認証処理を実行する。ファイアウォール兼中継サーバ  ３０６  は、ステップ  ６０２  において接続したクライアント計算機  ３０３  と、ステップ  ６０５  において接続するファイアウォール兼中継サーバ  ３０４  と相互認証処理を実行する。第  ８図と同様に、本認証処理を実行した場合、クライアント計算機  ３０３  からファイアウォール兼中継サーバ  ３０６  間、もしくは、ファイアウォール兼中継サーバ  ３０６からファイアウォール兼中継サーバ  ３０４  間でデータの暗号化を実行することができる。
【００２７】
第  １０  図は、本方式の仮想ネットワーク構成方法および装置における中継経路情報の更新方法を示す図である。  １００１  は架空のドメイン  ｆｏｏｄ．ｃｏ．ｊｐ  のネットワーク例である。  ｆｏｏｄ．ｃｏ．ｊｐ  ドメインはサブドメインとして、  ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐドメインを持ち、外部ネットワークとのファイアウォール兼中継サーバｄｉｎｎｅｒ．ｆｏｏｄ．ｃｏ．ｊｐ  と、サーバ計算機  ｓｕｐｐｅｒ．ｆｏｏｄ．ｃｏ．ｊｐ  を持つ。  ｆｏｏｄ．ｃｏ．ｊｐ  のサブドメイン  ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  ドメインは、ドメイン外とのファイアウォール兼中継サーバ  ｌｅｍｏｎ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  および  ｂａｎａｎａ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  と、サーバ計算機  ｋｉｗｉ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  および  ａｐｐｌｅ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  と、クライアント計算機ｃｈｅｒｒｙ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  を持つ。  ｄｉｎｎｅｒ．ｆｏｏｄ．ｃｏ．ｊｐ  の中継経路テーブル  １００２  には、外部ネットワークのクライアントから  ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  ドメインへのアクセスを中継するためのエントリとして、  ｌｅｍｏｎ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  をファイアウォール兼中継サーバとして指定したエントリ  １０２１  と、  ｂａｎａｎａ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  をファイアウォール兼中継サーバとして指定したエントリ  １０２２  がある。  ファイアウォール兼中継サーバ  ｌｅｍｏｎ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  と、  ｂａｎａｎａ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐが定期的に前記各エントリ  １０２１  および  １０２２  を  ｄｉｎｎｅｒ．ｆｏｏｄ．ｃｏ．ｊｐ  に送信し、ｄｉｎｎｅｒ．ｆｏｏｄ．ｃｏ．ｊｐ  が前記情報に基づき中継経路テーブル  １００２  を更新することにより、動的に中継経路情報を更新することができる。  更に中継経路テーブル  １００２  にプライオリティフィールド  １０２５  を設け、  ファイアウォール兼中継サーバ  ｌｅｍｏｎ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  と、  ｂａｎａｎａ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊ  が、例えば負荷状況に応じて設定したプライオリティを  ｄｉｎｎｅｒ．ｆｏｏｄ．ｃｏ．ｊｐ  に送信することにより、  ｄｉｎｎｅｒ．ｆｏｏｄ．ｃｏ．ｊｐ  は  ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  ドメインへの通信に使用するファイアウォール兼中継サーバを変更することができる。また、ドメイン名記述フィールド  １０２３  に、サーバ名称を記述することにより、  サーバ毎に中継に使用するファイアウォール兼中継サーバを変更することもできる。例えば、エントリ  １０２１  のドメイン名記述フィールド  １０２３  を  ｋｉｗｉ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  に、エントリ  １０２２  のドメイン名記述フィールド  １０２３  を  ａｐｐｌｅ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  にすることにより、ｋｉｗｉ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  宛の通信は  ｌｅｍｏｎ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  が、ａｐｐｌｅ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  宛の通信は  ｂａｎａｎａ．ｆｒｕｉｔ．ｆｏｏｄ．ｃｏ．ｊｐ  がそれぞれ中継することになる。
【００２８】
第  １１  図は、本方式の仮想ネットワーク構成方法および装置における通信インフラの変換機能の例を説明した図である。  １１０１  はクライアント計算機、  １１０２はファイアウォール兼中継サーバ、  １１１１  は通信クライアントプログラム、  １１２１はデータ中継制御プログラム、  １１０３  はサーバ計算機、  １１３１  はサーバプログラム、  １１０４  は  ＩＰ  Ｖ４  対応通信モジュール、  １１０５  は  ＩＰ  Ｖ６  対応通信モジュール、１１０６  は  ＩＰ  Ｖ４  ネットワーク、  １１０７  は  ＩＰ  Ｖ６  ネットワークである。クライアント計算機  １１０１  は  ＩＰ  Ｖ４  対応通信モジュール  １１０４  を用いて、  ＩＰ  Ｖ４  プロトコルによる通信を行なう。また、サーバ計算機  １１０３  は、  ＩＰ  Ｖ４  対応通信モジュール１１０５  を用いて、  ＩＰ  Ｖ６  プロトコルによる通信を行なう。
【００２９】
このため、クライアント計算機  １１０１  とサーバ計算機  １１０３  は直接通信を行なうことができない。しかし、  ＩＰ  Ｖ４  通信モジュール  １１０４  と、  ＩＰ  Ｖ６  通信モジュール  １１０５  を持つファイアウォール兼中継サーバ  １１０２  でデータ中継制御プログラム  １１２１  を用いることにより、クライアント計算機  １１０１  とサーバ計算機  １１０３  との間で通信を行なうことができるようになる。第  １１  図では、通信インフラの例として  ＩＰ  Ｖ４  と  ＩＰ  Ｖ６  との間の変換を行なったが、適切な中継プログラムおよび、中継経路テーブルを用いることにより、通信インフラとして  Ａｐｐｌｅ  Ｔａｌｋ、  ＳＮＡ  や  ＩＰＸ  等を使用することも可能である。
【００３０】
【発明の効果】
以上の説明から明らかなように、本発明によれば、複数のファイアウォールにより中継経路情報が隠蔽された場合でも、クライアントのユーザが中継経路を意識せずに通信アプリケーションを利用することのできるネットワーク通信方法および装置を得ることができる。
【図面の簡単な説明】
【図１】従来のネットワーク構成を示す図である。
【図２】従来の他のネットワーク構成を示す図である。
【図３】本発明の一実施例を示すネットワーク構成図である。
【図４】クライアント、中継サーバの構成の一例を示すブロック図である。
【図５】クライアント計算機の処理動作を示すフローチャートである。
【図６】中継サーバの処理動作を示すフローチャートである。
【図７】経路情報テーブルの一実施例を示す図である。
【図８】本発明に利用する認証用システムの一実施例を示す図である。
【図９】本発明に利用する認証用システムの他の実施例を示す図である。
【図１０】動的経路制御の一例を示す図である。
【図１１】本発明の他の実施例の主要部を示す図である。
【符号の説明】
１０１．．．クライアント計算機、１０２．．．外部ファイアウォール、１０３．．．内部ファイアウォール、１０４．．．サーバ、１０５．．．サーバ、１０６．．．Ａ社ネットワーク、１０７．．．サブネットワーク、２０１．．．クライアント計算機、２０２．．．サーバ計算機、２０３．．．クライアント計算機、２０４．．．サーバ計算機、２０５．．．ファイアウォール、２０６．．．ファイアウォール、２０７．．．ファイアウォール、２０８．．．ファイアウォール、２０９．．．内部ファイアウォール、２１０．．．ネットワーク、２１１．．．ネットワーク、２１２．．．ネットワーク、２１３．．．ネットワーク、２１４．．．サブネットワーク、２１５．．．外部ネットワーク、２１６．．．外部ネットワーク、３０１．．．サーバ計算機、３０２．．．サーバ計算機、３０３．．．クライアント計算機、３０４．．．ファイアウォール兼中継サーバ、３０５．．．ファイアウォール兼中継サーバ、３０６．．．ファイアウォール兼中継サーバ、３０７．．．ローカルセグメント、３０８．．．ローカルセグメント、３０９．．．バックボーンセグメント、３１０．．．インターネット、３１１．．．ネットワークサブドメイン、３１２．．．ネットワークサブドメイン、３１３．．．ネットワークドメイン、４１．．．メモリ、４１１．．．中継経路情報記憶エリア、４１２．．．通信データ記憶エリア、４１３．．．プログラムロードエリア、４２．．．バス、４３．．．ＣＰＵ、４４．．．外部記憶装置、４４１．．．通信プログラム、４４２．．．データ中継制御プログラム、４４３．．．中継経路テーブル、４５．．．通信  Ｉ／Ｏ、  ５０１．．．中継サーバ特定処理、５０２．．．中継処理の必要性判定処理、５０３．．．中継サーバ接続処理、５０４．．．サーバ接続処理、５０５．．．サーバアドレス通知処理、５０６．．．中継処理結果受信処理、５０７．．．サーバ接続の判定処理、５０８．．．通信データ送受信処理、６０１．．．クライアント通信要求待ち処理、６０２．．．サーバアドレス受信処理、６０３．．．中継サーバ特定処理、６０４．．．中継処理の必要性判定処理、６０５．．．中継サーバ接続処理、６０６．．．サーバアドレス通知処理、６０７．．．サーバ接続処理、７１．．．ネットワーク例、７２．．．中継経路テーブル、７２１．．．ドメイン名記述フィールド、７２２．．．中継サーバ名記述フィールド、７２３．．．エントリ、７３１．．．エントリ、７３２．．．エントリ、８１．．．認証情報テーブル、８１１．．．認証情報エントリ、８１２．．．認証情報エントリ、８１３．．．認証相手側計算機  ＩＤ  フィールド、８１４．．．認証用共有情報フィールド、８２．．．認証情報テーブル、８２１．．．認証情報エントリ、８３．．．認証情報テーブル、８３１．．．認証情報エントリ、８４．．．認証用共有情報、８５．．．認証用共有情報、９１．．．認証情報テーブル、９１１．．．認証情報エントリ、９２．．．認証情報テーブル、９２１．．．認証情報エントリ、９２２．．．認証情報エントリ、９３．．．認証情報テーブル、９３１．．．認証情報エントリ、９４．．．認証用共有情報、９５．．．認証用共有情報、１００１���．．ネットワーク例、１００２．．．中継経路テーブル、１０２１．．．エントリ、１０２２．．．エントリ、１０２３．．．ドメイン名記述フィールド、１０２４．．．中継サーバ名記述フィールド、１０２５．．．プライオリティ記述フィールド、１１０１．．．クライアント計算機、１１０２．．．ファイアウォール兼中継サーバ、１１１１．．．通信クライアントプログラム、１１２１．．．データ中継制御プログラム、１１０３．．．サーバ計算機、１１３１．．．サーバプログラム、１１０４．．．ＩＰ  Ｖ４  対応通信モジュール、１１０５．．．ＩＰ  Ｖ６  対応通信モジュール、１１０６．．．ＩＰ  Ｖ４  ネットワーク、１１０７．．．ＩＰ  Ｖ６  ネットワーク
【図１】
0003587633.tif 000002
【図２】
0003587633.tif 000003
【図３】
0003587633.tif 000004
【図４】
0003587633.tif 000005
【図５】
0003587633.tif 000006
【図６】
0003587633.tif 000007
【図７】
0003587633.tif 000008
【図８】
0003587633.tif 000009
【図９】
0003587633.tif 000010
【図１０】
0003587633.tif 000011
【図１１】
0003587633.tif 000012