(57)【特許請求の範囲】
【請求項１】
複数の仮想ネットワーク接続装置を有する仮想ネットワークシステムであって、
前記複数の仮想ネットワーク接続装置の各々は、
前記仮想ネットワークシステムに接続する各コンピュータと当該コンピュータの仮想アドレスとの対応関係の情報を記憶する記憶手段と、
登録要求を送信したコンピュータに対して仮想アドレスを割り当てる割当手段と、
前記割当手段が割り当てた仮想アドレスとコンピュータとの対応関係を表す対応関係情報を、前記複数の仮想ネットワーク接続装置のうちの他の仮想ネットワーク接続装置に通知する通知手段と、
前記複数の仮想ネットワーク接続装置のうちの他の仮想ネットワーク接続装置から通知されてきた対応関係情報と、前記割当手段が割り当てた仮想アドレスとコンピュータとの対応関係情報とを前記記憶手段に登録する登録手段と、
前記仮想ネットワークシステムに接続する第１のコンピュータから、当該第１のコンピュータに対するアクセスを許可するコンピュータを特定する情報の入力を受け付け、受け付けた情報と前記記憶手段に記憶された対応関係の情報とに基づき、前記第１のコンピュータの仮想アドレスに対するアクセスが許可される他の仮想アドレスを表すアクセス制御情報を生成する生成手段と、
到来した伝送情報を、当該伝送情報の送信元仮想アドレス及び送信先仮想アドレスに従って伝送する伝送手段であって、送信先仮想アドレスが前記第１のコンピュータである伝送情報の送信元仮想アドレスが前記アクセス制御情報に基づき前記第１のコンピュータの仮想アドレスに対するアクセスが許可されないと判定される仮想アドレスである場合、当該伝送情報は前記第１のコンピュータに伝送しないよう制御する伝送制御手段と、
を備える仮想ネットワークシステム。
【請求項２】
前記複数の仮想ネットワーク接続装置の各々は、
前記登録要求を送信したコンピュータから当該コンピュータの固有情報を取得する取得手段と、
前記取得手段が取得した当該コンピュータの固有情報に対応づけられた鍵情報を含んだ接続定義情報を生成し、前記登録要求を送信した前記コンピュータに送信する手段と、
前記取得手段が取得した前記コンピュータの固有情報を、前記割当手段が前記コンピュータに割り当てた仮想アドレスと対応づけて前記記憶手段に登録する手段と、
前記コンピュータから前記鍵情報を含んだ接続要求を受けた場合に、前記鍵情報に対応する固有情報と対応づけた前記記憶手段に登録された仮想アドレスを用いて前記仮想ネットワークシステムに接続することを前記コンピュータに許可する許可手段と、
を更に備える、請求項１記載の仮想ネットワークシステム。
【請求項３】
他の仮想ネットワーク接続装置と共に仮想ネットワークシステムを構成する仮想ネットワーク接続装置であって、
前記仮想ネットワークシステムに接続する各コンピュータと当該コンピュータの仮想アドレスとの対応関係の情報を記憶する記憶手段と、
登録要求を送信したコンピュータに対して仮想アドレスを割り当てる割当手段と、
前記割当手段が割り当てた仮想アドレスとコンピュータとの対応関係を表す対応関係情報を、前記複数の仮想ネットワーク接続装置のうちの他の仮想ネットワーク接続装置に通知する通知手段と、
前記複数の仮想ネットワーク接続装置のうちの他の仮想ネットワーク接続装置から通知されてきた対応関係情報と、前記割当手段が割り当てた仮想アドレスとコンピュータとの対応関係情報とを前記記憶手段に登録する登録手段と、
前記仮想ネットワークシステムに接続する第１のコンピュータから、当該第１のコンピュータに対するアクセスを許可するコンピュータを特定する情報の入力を受け付け、受け付けた情報と前記記憶手段に記憶された対応関係の情報とに基づき、前記第１のコンピュータの仮想アドレスに対するアクセスが許可される他の仮想アドレスを表すアクセス制御情報を生成する生成手段と、
到来した伝送情報を、当該伝送情報の送信元仮想アドレス及び送信先仮想アドレスに従って伝送する伝送手段であって、送信先仮想アドレスが前記第１のコンピュータである伝送情報の送信元仮想アドレスが前記アクセス制御情報に基づき前記第１のコンピュータの仮想アドレスに対するアクセスが許可されないと判定される仮想アドレスである場合、当該伝送情報は前記第１のコンピュータに伝送しないよう制御する伝送制御手段と、
を備える仮想ネットワーク接続装置。
【請求項４】
前記仮想ネットワーク接続装置は、
前記登録要求を送信したコンピュータから当該コンピュータの固有情報を取得する取得手段と、
前記取得手段が取得した当該コンピュータの固有情報に対応づけられた鍵情報を含んだ接続定義情報を生成し、前記登録要求を送信した前記コンピュータに送信する手段と、
前記取得手段が取得した前記コンピュータの固有情報を、前記割当手段が前記コンピュータに割り当てた仮想アドレスと対応づけて前記記憶手段に登録する手段と、
前記コンピュータから前記鍵情報を含んだ接続要求を受けた場合に、前記鍵情報に対応する固有情報と対応づけた前記記憶手段に登録された仮想アドレスを用いて前記仮想ネットワークシステムに接続することを前記コンピュータに許可する許可手段と、
を更に備える、請求項３記載の仮想ネットワーク接続装置。
【請求項５】
コンピュータを、他の仮想ネットワーク接続装置と共に仮想ネットワークシステムを構成する仮想ネットワーク接続装置、として機能させるためのプログラムであって、
前記仮想ネットワークシステムに接続する各ホストと当該ホストの仮想アドレスとの対応関係の情報を記憶する記憶手段と、
登録要求を送信したホストに対して仮想アドレスを割り当てる割当手段と、
前記割当手段が割り当てた仮想アドレスとホストとの対応関係を表す対応関係情報を、前記複数の仮想ネットワーク接続装置のうちの他の仮想ネットワーク接続装置に通知する通知手段と、
前記複数の仮想ネットワーク接続装置のうちの他の仮想ネットワーク接続装置から通知されてきた対応関係情報と、前記割当手段が割り当てた仮想アドレスとホストとの対応関係情報とを前記記憶手段に登録する登録手段と、
前記仮想ネットワークシステムに接続する第１のホストから、当該第１のホストに対するアクセスを許可するホストを特定する情報の入力を受け付け、受け付けた情報と前記記憶手段に記憶された対応関係の情報とに基づき、前記第１のホストの仮想アドレスに対するアクセスが許可される他の仮想アドレスを表すアクセス制御情報を生成する生成手段、
到来した伝送情報を、当該伝送情報の送信元仮想アドレス及び送信先仮想アドレスに従って伝送する伝送手段であって、送信先仮想アドレスが前記第１のホストである伝送情報の送信元仮想アドレスが前記アクセス制御情報に基づき前記第１のホストの仮想アドレスに対するアクセスが許可されないと判定される仮想アドレスである場合、当該伝送情報は前記第１のホストに伝送しないよう制御する伝送制御手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想ネットワークシステム及び仮想ネットワーク接続装置に関する。
【背景技術】
【０００２】
近年、ＶＰＮ(Virtual Private Network：仮想プライベートネットワーク)サービスが普及している。ＶＰＮサービスは、ホスト又は拠点と他のホスト又は拠点とがインターネット等の公衆ネットワークを介して専用線のように排他的に通信できるようにするサービスである。また、複数のプライベートネットワーク又はＶＰＮを相互接続して１つのＶＰＮを構成する技術が提案されている。
【０００３】
特許文献１に開示されたシステムでは、ＶＰＮ接続装置同士が無線により互いのアクセス情報（グローバルＩＰアドレスとポート番号）を交換し、これらアクセス情報を用いて互いにＶＰＮ接続を行う。また、特許文献１には、ＶＰＮを構築すべき機器群がグループとして登録され、そのグループの中から通信相手を選択することが開示される。また、グループに対するメンバの参加や離脱を管理することも示される。
【０００４】
特許文献２及び３には、インターネットサービスプロバイダを跨るＶＰＮを構築するための技術が示される。これらの技術では、両インターネットサービスプロバイダのネットワーク接続部分のインターワークゲートウェーにおいて、各パケットの方路を決定する際に、ＶＰＮを構成するために導入されるカプセル化ヘッダの領域とＩＰヘッダ両方の領域の情報を用いて方路を決定し、更に出力側網におけるカプセル化ヘッダも前記情報から構成する。
【０００５】
特許文献４に開示されたシステムでは、プロバイダがプライベートネットワーク間の相互接続のための設定をし、プライベートネットワークの構成要素を選択する。発信元アドレス、送信先アドレス、プロトコル種別による帯域制御を行う手段を有することが可能なルータを設置している。
【０００６】
特許文献５に示されたシステムでは、ＶＰＮ同士の接続のために、各サービス事業者に、ＶＰＮの識別番号を含む内部ネットワーク用データパケットを送受信する内部ネットワークと、ＶＰＮの識別番号を含まないデータパケットを送受信し識別番号毎に異なる回線を持つ外部通信回線との間で相互にデータパケットを変換する相互接続装置を設ける。相互接続装置同士は、さらに別の管理用通信回線によって接続され、互いのＶＰＮの変換情報を交換する。
【０００７】
特許文献６に開示されているシステムは、ＶＰＮ全体にわたる端末間問題を解決するオーバシーアによりサービス品質および信頼性の最低基準を満たす。
【０００８】
【特許文献１】特開２００６−３１９８７３号公報
【特許文献２】特開２００６−１７４５１０号公報
【特許文献３】特開２０００−３４１３２７号公報
【特許文献４】特開２００２−３３０１６０号公報
【特許文献５】特開２００１−３２６６９２号公報
【特許文献６】特表２００３−５０８９５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
複数のプライベートネットワーク（以下ＰＮと略す）を相互接続して１つのＶＰＮを構成する場合を考える。この場合、各ＰＮのネットワーク管理者は、それぞれ自分の管理するＰＮ内のサーバに対するアクセス権を他のＰＮのクライアントに対して設定しようとすれば、他のＰＮのネットワーク管理者にそれら各ＰＮに接続しているクライアントの構成を問い合わせる必要がある。また、ネットワークの構成は日々更新されるものであり、更新された情報をＰＮ同士が定期的に交換するのは、膨大な管理コストがかかる。また、各ＰＮ内でＤＨＣＰ(Dynamic Host Configuration Protocol)を導入している場合は、各クライアントとのＩＰアドレスが接続ごとに変わるため、クライアントを特定することが困難となり、正確なアクセス制御が困難であった。だからといって固定ＩＰアドレスでＰＮを構成したのではネットワークの管理コストが膨大となってしまう。
【００１０】
本発明は、複数のプライベートネットワークに跨る仮想ネットワークシステムを構成する場合において、その仮想ネットワークシステムに接続するコンピュータについてのアクセス許可の設定のための仕組みを提供する。
【課題を解決するための手段】
【００１１】
本発明の１つの側面では、複数の仮想ネットワーク接続装置を有する仮想ネットワークシステムを提供する。このシステムにおいて、前記複数の仮想ネットワーク接続装置の各々は、前記仮想ネットワークシステムに接続する各コンピュータと当該コンピュータの仮想アドレスとの対応関係の情報を記憶する記憶手段と、登録要求を送信したコンピュータに対して仮想アドレスを割り当てる割当手段と、前記割当手段が割り当てた仮想アドレスとコンピュータとの対応関係を表す対応関係情報を、前記複数の仮想ネットワーク接続装置のうちの他の仮想ネットワーク接続装置に通知する通知手段と、前記複数の仮想ネットワーク接続装置のうちの他の仮想ネットワーク接続装置から通知されてきた対応関係情報と、前記割当手段が割り当てた仮想アドレスとコンピュータとの対応関係情報とを前記記憶手段に登録する登録手段と、前記仮想ネットワークシステムに接続する第１のコンピュータから、当該第１のコンピュータに対するアクセスを許可するコンピュータを特定する情報の入力を受け付け、受け付けた情報と前記記憶手段に記憶された対応関係の情報とに基づき、前記第１のコンピュータの仮想アドレスに対するアクセスが許可される他の仮想アドレスを表すアクセス制御情報を生成する生成手段と、到来した伝送情報を、当該伝送情報の送信元仮想アドレス及び送信先仮想アドレスに従って伝送する伝送手段であって、送信先仮想アドレスが前記第１のコンピュータである伝送情報の送信元仮想アドレスが前記アクセス制御情報に基づき前記第１のコンピュータの仮想アドレスに対するアクセスが許可されないと判定される仮想アドレスである場合、当該伝送情報は前記第１のコンピュータに伝送しないよう制御する伝送制御手段と、を備える。
【００１２】
１つの態様では、前記複数の仮想ネットワーク接続装置の各々は、前記登録要求を送信したコンピュータから当該コンピュータの固有情報を取得する取得手段と、前記取得手段が取得した当該コンピュータの固有情報に対応づけられた鍵情報を含んだ接続定義情報を生成し、前記登録要求を送信した前記コンピュータに送信する手段と、前記取得手段が取得した前記コンピュータの固有情報を、前記割当手段が前記コンピュータに割り当てた仮想アドレスと対応づけて前記記憶手段に登録する手段と、前記コンピュータから前記鍵情報を含んだ接続要求を受けた場合に、前記鍵情報に対応する固有情報と対応づけた前記記憶手段に登録された仮想アドレスを用いて前記仮想ネットワークシステムに接続することを前記コンピュータに許可する許可手段と、を更に備える。
【発明の効果】
【００１３】
仮想ネットワーク接続装置が割り当てた仮想アドレスとホストとの対応関係を、仮想ネットワーク接続装置間で共有することができ、仮想ネットワークを介するコンピュータへのアクセスをそれら共有された仮想アドレスの情報を用いて設定することができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の実施の形態を説明する。
【００１５】
図１に示すネットワークの例では、複数のプライベートネットワークＰＮ１〜ＰＮ３が、インターネット１５０を介して相互接続されている。ＰＮ１〜ＰＮ３の各々は、外部からアクセスができないネットワークであり、例えば異なる企業の社内ネットワークである。個々のプライベートネットワークは、典型的にはＬＡＮ（ローカルエリアネットワーク）として構成されるが、ＶＰＮ（仮想プライベートネットワーク）技術を用いて構成される場合もある。
【００１６】
この例では、それらＰＮ１〜ＰＮ３に参加するクライアントやサーバが、１つの仮想的なネットワークを構成して相互にアクセスできるようにする。このような複数のプライベートネットワークに跨る仮想ネットワークのことを、以下ではコミュニティネットワークと呼ぶことにする。なお、クライアントＣＬ１やサーバＳＶ１はあくまで代表として示したものであり、個々のプライベートネットワーク内には、それぞれ複数のクライアントや複数のサーバが含まれてもよい。
【００１７】
この例では、各ＰＮ１〜ＰＮ３の中に、コミュニティネットワーク１００専用のＶＰＮ（すなわちＶＰＮ１〜ＶＰＮ３）をそれぞれ形成する。ＶＰＮ１〜ＶＰＮ３の各々は、例えば、プライベートネットワーク内にＶＰＮサーバを設けることにより形成できる。ＶＰＮサーバは、ＶＰＮ装置又はＶＰＮゲートウェイ等とも呼ばれる。
【００１８】
この例では、それらＶＰＮ１〜ＶＰＮ３をそれぞれＶＰＮ技術で相互接続することにより、コミュニティネットワーク１００を形成する。クライアントＣＬ１〜ＣＬ３やサーバＳＶ１は、それぞれ自分の属するプライベートネットワーク内に形成されたＶＰＮに接続することで、コミュニティネットワーク１００に参加することができる。例えば、ＰＮ１内にあるサーバＳＶ１をコミュニティネットワーク１００上に公開したい場合は、ＳＶ１がＶＰＮ１に対しＶＰＮ接続を行えばよい。
【００１９】
なお、ＶＰＮを構築する基盤技術としては、ＯｐｅｎＶＰＮやＩＰＳｅｃ(IP security)などの様々な技術が知られているが、以下に説明する方式は、そのような基盤技術のいずれに対しても適用可能である。
【００２０】
このシステムでは、例えばサーバＳＶ１がＶＰＮ１に参加した場合、ＳＶ１にはＶＰＮ１上での仮想アドレスが割り当てられる。同様に、あるＶＰＮに参加した装置には、そのＶＰＮでの仮想アドレスが割り当てられる。以下では、仮想アドレスとしてＩＰ(Internet Protocol)アドレスを割り当てる例を説明するが、仮想アドレスにはＭＡＣ(Media Access Control)アドレスのような他の種類のアドレスを用いてもよい。なお、仮想のＩＰアドレスを以下ではＶＩＰと略す。
【００２１】
なお、図１では３つのプライベートネットワークに跨るコミュニティネットワーク１００を例示するが、本実施形態の方式は、そのような例に限らず、２以上のプライベートネットワークからコミュニティネットワークを構成する場合一般に適用可能である。
【００２２】
図２に、より詳細なシステム構成を示す。図２は、２つのプライベートネットワークＰＮ１及びＰＮ２内に形成されたＶＰＮ１及びＶＰＮ２が相互にＶＰＮ接続される構成を示している。
【００２３】
この例において、ＶＰＮサーバＶＳ１は、ＰＮ１内に設置され、ＶＰＮ１を形成するためのＶＰＮ接続サービスを提供する。同様にＶＰＮサーバＶＳ２は、ＶＰＮ２を形成するためのサービスを提供する。例えば、ＰＮ１内のサーバＳＶ１及びクライアントＣＬ１は、ＶＰＮサーバＶＳ１に対してＶＰＮ接続を行うことでＶＰＮ１に参加し、ひいてはコミュニティネットワーク１００に参加する。また、ＶＰＮサーバＶＳ１及びＶＳ２は、それぞれ予め設定された相手ＶＰＮサーバ（この例ではＶＳ２及びＶＳ１）とＶＰＮ接続する機能を備える。なお、サーバＳＶ１及びクライアントＣＬ１〜ＣＬ３には、ＶＰＮ接続のためのクライアントプログラムモジュール（ＶＰＮクライアント）がインストールされている。後で説明するＶＰＮ接続のための処理はそのＶＰＮクライアントにより実行される。
【００２４】
なお、コミュニティネットワーク１００を構成するＶＰＮサーバ同士は、お互いのグローバルＩＰアドレスの情報を有しており、この情報を用いてＶＰＮ接続を実現する。
【００２５】
ＶＰＮ管理モジュールＶＭ１は、ＰＮ１内に設置され、ＶＰＮ１に参加しようとするクライアントＣＬ１及びサーバＳＶ１の情報を管理する。より詳しくは、ＶＰＮ管理モジュールＶＭ１は、それらクライアントＣＬ１及びサーバＳＶ１の情報を取得し、その情報に基づきＣＬ１用及びＳＶ１用の接続定義ファイル（詳細は後述）をそれぞれ生成する。クライアントＣＬ１及びサーバＳＶ１は、ＶＰＮ管理モジュールＶＭ１から提供される接続定義ファイルを用いてＶＰＮサーバＶＳ１にＶＰＮ接続を行う。同様にＶＰＮ管理モジュールＶＭ２は、ＶＰＮ２に参加しようとするクライアント及びサーバの情報を管理する。
【００２６】
また、ＶＰＮ管理モジュールＶＭ１及びＶＭ２は、それぞれコミュニティネットワーク１００内の他のＶＰＮ管理モジュールとの間で情報を交換することで、コミュニティネットワーク１００内のクライアントやサーバの情報を得る。
【００２７】
ＯｐｅｎＶＰＮやＩＰＳｅｃなどでは、ＤＨＣＰ(Dynamic Host Configuration Protocol)を利用して、ＶＰＮ接続を要求したクライアントやサーバに対して動的に仮想ＩＰアドレス（ＶＩＰ）を割り当てる場合がある。しかし、単なるＤＨＣＰでは、基本的には、同じ装置でもアクセスのたびに異なるＶＩＰが割り当てられる。
【００２８】
これに対し、本実施形態では、ＶＰＮに接続する可能性のある個々の装置に対してＶＩＰをあらかじめ対応づけておき、それら装置が実際にＶＰＮに接続する際には、対応するＶＩＰが割り当てられるようにする。装置とＶＩＰの対応付けはＶＰＮ管理モジュールＶＭ１及びＶＭ２が行う。ＶＰＮサーバＶＳ１及びＶＳ２は、ＶＰＮ管理モジュールＶＭ１及びＶＭ２が管理する対応付けの情報を参照して、実際の装置に対するＶＩＰの割り当てを行う。
【００２９】
また、ＶＰＮ管理モジュールＶＭ１は、そのような対応付けの情報を用いることで、ＶＰＮ１内のサーバＳＶ１についてのアクセス制御を行う。ＶＰＮ管理モジュールＶＭ２も同様の機能を備える。
【００３０】
次に、図３を参照して、クライアントが自分の属するプライベートネットワーク内のＶＰＮ管理モジュールに対して接続登録を行う際の処理手順について説明する。以下では、ＰＮ１内のクライアントＣＬ１がＶＰＮ管理モジュールＶＭ１に接続登録を行う場合を例にとって説明する。なお、以下に説明するクライアントＣＬ１の処理は、ＣＬ１にインストールされたＶＰＮクライアントにより実行される。
【００３１】
この手順では、クライアントＣＬ１を操作するユーザが、ＶＰＮ管理モジュールＶＭ１にアクセスし、認証情報の入力操作を行う（Ｓ１）と、ＶＭ１はその認証情報を用いてユーザ認証を実行する（Ｓ２）。認証情報は、例えば、当該ユーザのアカウント名とパスワードの組合せでもよいし、指紋等の生体情報であってもよい。ユーザの認証情報は、例えば、あらかじめＶＭ１に登録されている。また、ステップＳ２の認証は、ユーザ固有の秘密情報を記憶したＩＣカードその他のハードウエアトークンを用いて行ってもよい。また、ＰＮ１内の認証サーバが、ＶＭ１に変わって認証処理を代行してもよい。認証が成功すると、ＣＬ１はＶＭ１にログインし、接続定義ファイルを要求することが可能となる。
【００３２】
接続定義ファイルの取得のため、クライアントＣＬ１は、当該クライアントの固有情報を取得する（Ｓ３）。固有情報は、クライアントを一意に識別する情報である。ここで用いる固有情報は、容易に改ざんできないものである必要がある。例えば、クライアントが備えるハードウエア要素（例えばネットワークインタフェースカードやハードディスクドライブ）又はオペレーティングシステムの識別情報、或いはそれら識別情報の組合せ、をハッシュ関数等の関数に代入することで固有情報を求める方式が知られている。このシステムではそのような方式を用いればよい。また、認証に用いられるハードウエアトークン内の秘密情報から（例えば所定の関数を用いて）求められる情報を固有情報としてもよい。
【００３３】
固有情報が求められると、クライアントＣＬ１は、接続定義ファイルの発行要求をＶＰＮ管理モジュールＶＭ１に送る（Ｓ４）。接続定義ファイル発行要求のデータ構造の例を図４に示す。図示のように発行要求には、操作したユーザのアカウント情報（アカウントＩＤ、又はアカウントＩＤとパスワードの組合せ、など）と、当該クライアントＣＬ１の固有情報とが含まれる。また、発行要求には、当該クライアントＣＬ１のホスト名が含まれていてもよい。発行要求にクライアントのホスト名が含まれる場合、そのホスト名がＶＭ１によりコミュニティネットワーク１００内に報知されるため、コミュニティネットワーク１００内の他のホストからそのクライアントにアクセスすることが可能となる。したがって、ユーザがそのクライアントＣＬ１内のリソースをコミュニティネットワーク１００内に公開したい場合にのみ、ＣＬ１のホスト名を発行要求のデータに記述する。この場合、ＶＰＮクライアントの提供するＵＩ（ユーザインタフェース）に対してユーザが公開のための操作を行えば、ＶＰＮクライアントが発行要求のデータにホスト名を組み込む。なお、この発行要求の中の情報、特に固有情報は、暗号化などにより保護しておくことが望ましい。
【００３４】
ＶＰＮ管理モジュールＶＭ１は、クライアント及びサーバの情報を保持する接続情報ＤＢ（データベース）（図示省略）を備える。接続定義ファイル発行要求を受け取ったＶＭ１は、接続情報ＤＢ内に、ユーザアカウントとクライアントＣＬ１との組合せに対応する新たなレコードを生成し、発行要求中のユーザアカウント情報、ホスト名（もしあれば）、及び固有情報をそのレコード中の各項目として登録する（Ｓ５）。またＶＭ１は、そのクライアントとユーザアカウントとの組合せに対応するＶＩＰを決定し、接続情報ＤＢに登録する。
【００３５】
なお、このとき決定したＶＩＰは、今後、クライアントＣＬ１がＶＰＮ１に対してＶＰＮ接続する際に、ＶＰＮサーバＶＳ１によりそのＣＬ１に割り当てられる。ＶＰＮ１に対して接続していたＣＬ１がその接続を断ったとしても、与えられたＶＩＰは確保されており、再度ＣＬ１がＶＰＮ１に参加する際には同じＶＩＰが割り当てられる。
【００３６】
接続情報ＤＢのデータ内容に一例を図５に示す。この例では、１つのレコードには、ユーザアカウント、ホスト名、ドメイン情報、ＡＬ（アクセスレベル）、固有情報、及びＶＩＰの各項目が含まれる。これらの内、ドメイン情報とＡＬ以外は既に説明した。ドメイン情報は、コミュニティネットワーク１００を構成する個々のＶＰＮのドメイン名であり、これはコミュニティネットワーク１００内でのみ有効である。１つのＶＰＮサーバ（及びそれに対応するＶＰＮ管理モジュール）が１つのＶＰＮドメインを形成する。レコード中のドメイン情報の欄には、ＶＰＮ管理モジュールが自分自身の属するＶＰＮドメインを記入する。例えば、ＶＰＮ１のドメインが"vpn1.com"、ＶＰＮ２のドメインが"vpn2.com"等と、あらかじめ規定しておけばよい。
【００３７】
このシステムでは、接続情報ＤＢのデータ内容は、コミュニティネットワーク１００内の他のＶＰＮ管理モジュールとの間で共有される。したがって、コミュニティネットワーク１００内の他のＶＰＮからでも、アカウントとドメインの組み合わせでユーザを特定することが可能となる。また、ホスト名とドメインでクライアントコンピュータを特定できる。
【００３８】
また、ＡＬ（アクセスレベル）は、そのレコードが表すユーザ又はホスト（クライアント又はサーバ）のアクセス権のレベルを示す。以下の例では、ＡＬ「１」は一般ユーザ、「２」はリーダー、「３」はマネージャ、「４」は管理者を示す。アクセスレベルの値は、例えば、システム管理者が割り当てればよい。また、ユーザのアクセスレベルが登録されたユーザデータベースを各プライベートネットワーク内に設けておきステップＳ１及びＳ２のユーザ認証により特定されたユーザのアクセスレベルを、ＶＰＮ管理モジュールＶＭ１がそのデータベースから読み出して接続情報ＤＢに登録してもよい。また、アクセスレベル「０」は当該ホストがサーバであることを示す。例えば、ホストの管理者が、当該ホストをＶＰＮ接続のためにＶＰＮ管理モジュールに登録する際、そのホストを「サーバとして登録する」ことを指定した場合、その指定情報が接続定義ファイル発行要求に組み込まれる。ＶＰＮ管理モジュールはその指定情報があれば、そのホストのレコードについてのアクセスレベルを「０」に設定する。
【００３９】
なお、図５の例の最初のレコードは、一般ユーザ"smith"の操作するクライアント（ホスト名"galaxy"）が、コミュニティネットワーク１００内に自分のリソースを公開する形で登録されていることを示す。一方、２番目のレコードに対応するクライアントは、コミュニティネットワーク１００には参加するが、自分のリソースは公開しない。
【００４０】
接続情報ＤＢへの情報登録の後、ＶＰＮ管理モジュールＶＭ１は、要求元のクライアントＣＬ１のための接続定義ファイルを生成し、ＣＬ１に送信する（Ｓ６）。接続定義ファイルのデータ内容の一例を図６に示す。図示のように、接続定義ファイルには、ユーザアカウント、ホスト名（もしあれば）、ドメイン、ＶＩＰ、ＯｐｅｎＶＰＮ接続のためのクライアント証明書（及びこれに対応する秘密鍵）が格納される。また、接続定義ファイル中に、ＣＬ１に割り当てたＶＩＰの値を組み込んでもよい。
【００４１】
なお、この証明書はＶＰＮ１の構築のためにＯｐｅｎＶＰＮが用いられる場合のものである。他のＶＰＮ方式が用いられる場合は、その証明書は必要ない（ただし、その方式に応じた他の情報が必要となる場合はある）。
【００４２】
接続定義ファイルに含まれるクライアント証明書及び秘密鍵は、ＶＭ１が認証局（ＣＡ）となって発行すればよい。クライアント証明書のうち、主体者のＤＮ(Distinguished Name)は、上述のユーザアカウント（又はクライアントＣＬ１のホスト名）とドメイン情報を用いて生成することができる。当該ユーザの公開鍵と秘密鍵のペアは、ＶＭ１が自動生成すればよい。ただし、秘密鍵については、暗号化により保護した上で、クライアントＣＬ１に送信する必要がある。その際の暗号鍵には、例えば、当該クライアントＣＬ１の固有情報、又はこの固有情報から所定の方式で求められる値、を用いればよい。なお、秘密鍵だけでなく、秘密鍵を含む接続定義ファイル全体を、固有情報又はこれに由来する値により暗号化してもよい。また、接続定義ファイルに対し、ＶＭ１によるデジタル署名を付加してもよい。
【００４３】
接続定義ファイルを受信したクライアントＣＬ１は、その接続定義ファイルを後の利用に備えて保存する（Ｓ７）。固有情報としてハードウエアトークンに由来する情報を用いる場合は、接続定義ファイルはハードウエアトークンに保存してもよい。
【００４４】
なお、ＶＰＮ管理モジュールＶＭ１は、上述のようにして新たなクライアント（又はサーバ）についてのレコードを接続情報ＤＢに登録すると、そのレコードを追加した旨の通知を、コミュニティネットワーク１００内の他のすべてのＶＰＮ管理モジュールに通知する（Ｓ８）。この通知は、コミュニティネットワーク１００内のＶＰＮ接続を用いて行えばよい。また、各ＶＰＮ管理モジュールに、コミュニティネットワーク１００内の他のＶＰＮ管理モジュールのグローバルＩＰアドレスを（当該モジュールの管理者などが）事前に登録しておき、それら各モジュールがその情報を用いてインターネット１５０を介して他のモジュールにその通知を行ってもよい。
【００４５】
また、ＶＰＮ管理モジュールは、他のＶＰＮ管理モジュールからその通知を受け取った場合、その通知に含まれるレコードを、自分の接続情報ＤＢに追加する。このように接続情報のレコードのやりとりすることにより、各ＶＰＮ管理モジュールは、コミュニティネットワーク１００に対して参加（即ちＶＰＮ接続）する可能性のあるすべてのクライアントやサーバについて、それを操作するユーザのアカウント、ホスト名（もし登録されていれば）、ドメイン名、ＶＩＰなどの情報を自らの接続情報ＤＢに保持する。なお、他のＶＰＮ管理モジュールへ通知するレコードの情報には、当該ホストの固有情報は含めない。
【００４６】
図５に例示したＶＰＮ管理モジュールＶＭ１の接続情報ＤＢのデータ内容例は、ＶＰＮ１内のホストのみのレコード群を示したものであった。図７に、他のＶＰＮに属するホストについてのレコードも含んだ例を示す。
【００４７】
図７の例では、レコードに項目「サービス」が追加されている。この項目は、当該レコードに対応するホストが、コミュニティネットワーク１００上の他のホストに提供するサービスの種類を示している。サービスの種類は、例えば、当該ホストが受け付けるプロトコル（例えばＨＴＴＰ，ＦＴＰ(File Transfer Protocol)、ＳＭＢ(Server Massage Block)など）で表される。このサービスの種類は、あるホストについての接続定義ファイルの発行要求を指示する際に、ユーザがそのホストの公開の指示と共に入力すればよい。
【００４８】
なお、同じコミュニティネットワーク１００に属するあるＶＰＮ管理モジュールが割り当てるＶＩＰと、別のＶＰＮ管理モジュールが割り当てるＶＩＰとは、重複しないようにする。このための方法としては従来様々なものが提案されており、そのような従来手法を用いればよい。例えば、各ＶＰＮ管理モジュールが割り当て可能なＶＩＰの範囲を、互いに重複しないよう予め設定しておく。あるいは、各ＶＰＮ管理モジュールが、接続情報ＤＢ（これには、他のＶＰＮ管理モジュールが割り当てたＶＩＰの情報も含まれる）を参照して、過去に割り当てられたＶＩＰと重複のないＶＩＰを割り当てるようにしてもよい。
【００４９】
なお、以上の例では、各ＶＰＮ管理モジュールに新たなホストが登録されるごとに、そのホストについてのレコードを他のＶＰＮ管理モジュールに通知したが、これは一例に過ぎない。例えばこの代わりに、各ＶＰＮ管理モジュールが、定期的に、そのような通知を他のＶＰＮ管理モジュールに発してもよい。
【００５０】
次に、ＶＰＮ管理モジュールＶＭ１に登録済みのクライアントＣＬ１が、コミュニティネットワーク１００に参加する際の処理手順を、図８を参照して説明する。
【００５１】
この段階では、クライアントＣＬ１は、ＶＭ１から取得した接続定義ファイルを持っている。ユーザからコミュニティネットワーク１００への参加の指示を受け取った場合、ＣＬ１はその接続定義ファイルと自分自身の固有情報とを用いて、ＶＰＮサーバＶＳ１に対してＶＰＮ接続を要求する（Ｓ１１）。ＶＰＮサーバＶＳ１のアドレス（ＵＲＬ、又はグローバルＩＰアドレス又はプライベートＩＰアドレス）は、ユーザが指定するか、或いはＶＰＮ管理モジュールＶＭ１が接続定義ファイルに記述しておけばよい。
【００５２】
ステップＳ１１では、より具体的には、クライアントＣＬ１（より厳密にはＶＰＮクライアント）は、ＶＰＮサーバＶＳ１に対し、例えばＨＴＴＰＳ(Hypertext Transfer Protocol Security)を用いてアクセスする。そして、ＣＬ１は、自分が保持している接続定義ファイル中のクライアント証明書（及び秘密鍵）を用い、ＶＳ１からクライアント認証を受ける。ここで、少なくとも秘密鍵は、ＣＬ１の固有情報（又はこれに由来する情報）によって暗号化されているので、ＣＬ１は、自分自身（或いはハードウエアトークン内）の固有情報を取得し、その固有情報を用いて秘密鍵を復号する。そして、復号により得られた秘密鍵を用いて、クライアント認証のための電子署名を行う。すなわち、ＣＬ１は、例えば、クライアント認証のために、送信メッセージと、当該送信メッセージに対する秘密鍵による電子署名と、クライアント証明書とをＶＳ１に送る。ＶＳ１は、そのクライアント証明書に含まれる公開鍵を用いて、その電子署名を検証する。検証が成功すれば、正当なＣＬ１からのアクセスと判定できる。
【００５３】
ここで、例えば接続定義ファイルが別のクライアントにコピーされるなどして、接続定義ファイルの作成の際に用いられた固有情報と、その接続定義ファイルを利用する際の装置（クライアント又はハードウエアトークン）の固有情報とが異なったものとなると、秘密鍵の復号が正しく行われないので、クライアント認証も失敗する。このように、接続定義ファイルを用いたＶＰＮ接続は、そのファイルの作成を要求したクライアント（又はそのときに用いられたハードウエアトークン）でしか行うことができない。
【００５４】
以上では、ＯｐｅｎＶＰＮにおけるクライアント証明書を用いたクライアント認証を例示したが、クライアント認証の手法はこれに限らない。クライアント認証では、当該クライアントが、正しい固有情報を保持していることをサーバに対して証明できればよい。
【００５５】
クライアント認証に成功すると、ＶＰＮサーバＶＳ１は、対応するＶＰＮ管理モジュールＶＭ１の接続情報ＤＢから、当該クライアントＣＬ１（及びユーザ）に対応するレコードを検索し、そのレコード中のＶＩＰ（仮想ＩＰアドレス）をＣＬ１に割り当てる（Ｓ１２）。ここで、ＶＳ１は、クライアント認証の際にＣＬ１から送られてきたクライアント証明書の主体名から、接続要求元のユーザアカウント又はホスト名が分かるので、そのアカウント又はホスト名に対応するレコードのＶＩＰを読み出せばよい。そして、ＶＳ１は、ＣＬ１に対してＶＰＮ接続許可の通知を行う。この通知には、割り当てたＶＩＰが含まれる。
【００５６】
この通知を受けたＣＬ１は、そのＶＩＰを自分のＩＰアドレスとして用いて、コミュニティネットワーク１００にアクセスし、該ネットワーク１００上の公開中のホスト（サーバ等）と通信する（Ｓ１３）。このとき、ＶＰＮサーバＶＳ１は、対応するＶＰＮ管理モジュールＶＭ１の接続情報ＤＢに含まれる公開中のホスト（すなわち、サーバ及びホスト名が公開されているクライアント）のＵＲＬのリストを例えばＷｅｂページの形でＣＬ１に提供してもよい。この場合、ユーザがそのリストからアクセス先のホストのＵＲＬを選択することで、ＣＬ１からそのホストにアクセスすることができる。公開中のホストのＵＲＬは、接続情報ＤＢ中の当該ホストのレコードに含まれるホスト名、ドメイン、及びサービスの種類（ＨＴＴＰ，ＦＴＰ，ＳＭＢなど）から生成すればよい。なお、そのリストに載せるホストを、そのユーザがアクセス権を持つもののみに限定してもよい。これには、後述するアクセス許可設定の情報を利用すればよい。
【００５７】
以上、クライアントがコミュニティネットワーク１００に参加するまでの処理を説明した。次に、サーバＳＶ１がコミュニティネットワーク１００に参加するまでの処理を説明する。
【００５８】
サーバＳＶ１をコミュニティネットワーク１００に参加させようとする場合、そのＳＶ１の管理者が、ＰＮ１内のＶＰＮ管理モジュールＶＭ１に接続の登録を行う。この登録の際に実行される処理手順は、図３に示した手順と同様である。ただし、サーバの場合、ステップＳ４で送信する接続定義ファイル発行要求のデータ構造は、図９に示すようなものとなる。すなわち、この場合、サーバＳＶ１のホスト名は必須であり、更にサーバＳＶ１が提供するサービスの種類（すなわち当該サーバが対応するプロトコル）が接続定義ファイル内に記述される。記述すべきサービスの種類は、サーバの管理者が指定すればよい。サーバＳＶ１上で動作するＶＰＮクライアントは、サービスの種類の指定のためのＵＩ画面を提供し、管理者からの指定を受け付ければよい。なお、接続定義ファイル発行要求内のユーザアカウントには管理者のアカウントが記述される。
【００５９】
サーバＳＶ１からこのような接続定義ファイル発行要求を受けたＶＰＮ管理モジュールＶＭ１は、接続情報ＤＢにそのＳＶ１のレコードを作成し、その発行要求に含まれる項目をそのレコードに登録する。このレコードには、ＳＶ１が提供するサービスの種類の情報も含まれる。例えば図７の例では、サーバ"marine.vpn1.com"はコミュニティネットワーク１００内からＨＴＴＰ要求を受け付ける。レコードのその他の項目については、図５を参照して説明した例と同様である。
【００６０】
なお、ＶＰＮ管理モジュールは、サーバのレコード中のＡＬの値は「０」に設定する。これによりサーバとして登録されたコンピュータからコミュニティネットワーク１００内の他のリソースに対するアクセスが禁止される。ただし、この場合も、コミュニティネットワーク１００内のクライアントからそのサーバへのアクセスは可能である。これは、サーバが攻撃を受け踏み台にされることを防ぐためのものである。
【００６１】
ＶＰＮ管理モジュールＶＭ１は、その発行要求に応じて接続定義ファイルを生成し、サーバＳＶ１に提供する。これを受け取ったＳＶ１の管理者が、ＳＶ１を操作してＶＰＮサーバＶＳ１への接続を指示すると、ＳＶ１とＶＳ１との間で図８と同様の処理手順が実行されることで、ＳＶ１がコミュニティネットワーク１００に接続される。
【００６２】
サーバＳＶ１がコミュニティネットワーク１００に最初に接続された時点では、ＳＶ１はＶＰＮ管理モジュールＶＭ１のアクセス許可設定ＵＩへのアクセスを除き、コミュニティネットワーク１００からのアクセスを受け付けないようにアクセス制限の設定がなされている。ＳＶ１へのアクセス制限は、例えば、ＶＰＮサーバＶＳ１が備えるファイアウォールにより行われる（詳細は後述）。ＳＶ１の管理者は、コミュニティネットワーク１００に接続した後、ＳＶ１をサーバとして機能させるたに、図１０に示すように、ＳＶ１からＶＰＮ１を介してＶＰＮ管理モジュールＶＭ１にアクセスし、ＳＶ１についてのアクセス許可設定を要求する（Ｓ２１）。この要求に応じ、ＶＭ１は、アクセス許可設定用のＵＩの情報を生成し、ＳＶ１に提供する（Ｓ２２）。ＳＶ１は、このＵＩ情報に基づき、アクセス許可設定画面を生成して表示し、管理者からのアクセス許可の設定操作を受け付ける（Ｓ２３）。
【００６３】
アクセス許可設定用のＵＩ情報の一例を図１１に示す。この例では、ＵＩ情報は、コミュニティネットワーク１００上にある各クライアント（すなわちＡＬが０以外のホスト）について、そのクライアントに対応するユーザアカウント、ホスト名（もしあれば）、ＶＰＮドメイン、ＡＬ、及びＡＬの値の意味についての「説明」が含まれる。
【００６４】
図１１のＵＩ情報に基づき生成される設定画面２００の例を図１２に示す。図１２に例示する設定画面２００には、ユーザアカウントごとに、アカウント名及びホスト名２０２が示され、その右側に「Ｗｅｂアクセス」及び「ファイル共有」という、サーバＳＶ１が提供する２つのサービスについてのチェックボックス２０４及び２０６が配置されている。Ｗｅｂアクセスは例えばＨＴＴＰに対応し、ファイル共有は例えばＦＴＰに対応する。この例は、ＳＶ１がＨＴＴＰ及びＦＴＰのサービスを提供する場合の例である。一般的には、設定画面２００には、当該サーバが提供するサービスごとに、そのサービスの使用を認めるか否かの指定のためのチェックボックスが配置される。管理者は、その設定画面２００上で、コミュニティネットワーク１００上の各ユーザ（より厳密に言えば、ユーザとクライアント装置の組合せ）に対して許可するサービスのチェックボックスに、チェックマーク２１０をマウス操作等で入力する。例えば、図示の例では、管理者は、"smith@vpn1.com"に対しては、ＳＶ１のＷｅｂアクセス及びファイル共有の両方の利用を許可している。なお、設定画面２００上に、各ユーザのアクセスレベル（ＡＬ）の値又はそれに対応する説明を表示してもよい。管理者は、各ユーザにどのようなアクセス許可を与えるかを決める際にその表示を参考にすることができる。
【００６５】
設定画面２００には、コミュニティネットワーク１００に属するすべてのＶＰＮ上のクライアント（ユーザ）が表示される。管理者はそのそれぞれに対するアクセス許可を設定することができる。
【００６６】
図１３に、アクセス許可設定画面の別の例を示す。この例の画面では、個々のユーザごとではなく、ＡＬごとに、当該レベルのユーザに対して許可するサービスの指定を受け付ける。図示例では、例えば一般ユーザにはサーバＳＶ１へのＷｅｂアクセスのみが許可され、マネージャにはＷｅｂアクセスとアクセス許可設定が許可される。なお、図１３の設定画面を用いて各ＡＬに対して与えられたアクセス許可は、ＶＰＮ管理モジュールＶＭ１にて、接続情報ＤＢに基づき、ユーザアカウントごとのアクセス許可設定へと展開される。例えば、接続情報ＤＢの内容が図７のようなものである場合、"smith@vpn1.com"はＡＬ「１」すなわち一般ユーザなので、図１３のような設定がなされた場合、ＳＶ１の利用はＷｅｂアクセスに限定される。
【００６７】
なお、図１２又は図１３に例示した設定画面はあくまで一例に過ぎない。
【００６８】
図１０の説明に戻り、設定画面を用いて設定されたアクセス許可の設定情報は、ＶＰＮ管理モジュールＶＭ１に送信される。ＶＭ１は、その設定情報をもとに、サーバＳＶ１のためのファイアウォールの設定を行う。このファイアウォールは、例えば、ＶＰＮサーバＶＳ１に設けられる。図１２の画面の例に示す設定を行った場合のファイアウォール設定のためのコマンド例を図１４に示す。この例はファイアウォールモジュールとしてNetfilterを利用した場合のものである。図１４に示したそれぞれのコマンドの意味は以下のようになる。この例では、サーバＳＶ１のＶＩＰが"10.0.0.100"、ＶＰＮ管理モジュールＶＭ１のＶＩＰが"10.0.0.254"である。
(1) 基本的には外部からのパケットの通過を拒否
(2) 基本的には外部へのパケットの通過を拒否
(3) 基本的には他のインタフェースへの転送を拒否
(4) ＶＰＮ管理モジュールの設定画面へのアクセスを許可
(5) smith@vpn1.comからのWebアクセスを許可
(6)及び(7) smith@vpn1.comからのファイル共有を許可
(8) david@vpn1.comからのWebアクセスを許可
(9)及び(10) ferdinand@vpn1.comからのファイル共有を許可
【００６９】
これらのコマンドは、以後はＶＰＮ管理モジュールＶＭ１によって記憶され、以後の接続時には同じコマンドが実行される。コマンドは上から順番に実行されるので、後のコマンドの方が優先的に適用される。
【００７０】
なお、ＳＶ１がコミュニティネットワーク１００に最初に接続した時点では、ＳＶ１に関するファイアウォール設定コマンド列は上述の(1)から(4)のみでなり、ＳＶ１とコミュニティネットワーク１００間の通信はＳＶ１からＶＰＮ管理モジュールＶＭ１へのアクセスのみが許可された状態である。
【００７１】
以上では、サーバについてのアクセス許可設定を例示したが、クライアントのリソースをコミュニティネットワーク１００に公開する場合も、そのクライアントに対する他のホストのアクセス許可の設定を、上述と同様にして行うことができる。
【００７２】
また、以上では、サーバに対するクライアントのアクセス許可を設定する場合を説明したが、複数のサーバが連携して１つの処理を実行する場合もあり、このような場合には、サーバに対する他のサーバのアクセス許可を、同様に設定すればよい。この場合、例えば、コミュニティネットワーク５０内の他のサーバのリストを含んだアクセス許可設定用の画面を提供し、この画面を用いて管理者が、他のサーバに与えるアクセス許可を設定すればよい。
【００７３】
このように、本実施形態では、ＶＰＮ管理モジュールがホストに対して固定の仮想アドレスを割り当てるとともに、各ＶＰＮ管理モジュールが割り当てた仮想アドレスとホストとの対応関係の情報をそれらモジュール間で共有した。そして、個々のホストに対するアクセス制御を、仮想アドレスを用いたパケットフィルタリングにより実現した。
【００７４】
また、本実施形態では、接続登録の際に、ホストの固有情報を取得してその固有情報に対応する情報を含んだ接続定義ファイルをそのホストに提供した。そして、そのホストがコミュニティネットワークに参加する際には、その接続定義ファイルを用いて、そのホストがあらかじめ登録した固有情報に対応する装置であることを証明するようにした。このような構成により、コミュニティネットワークのセキュリティを確保できる。
【００７５】
以上では、ＶＰＮサーバとＶＰＮ管理モジュールとがプライベートネットワーク上に別々に存在する例を説明したが、両者が１つのコンピュータ上に構築されていてもよい。
【００７６】
また、以上の例において、各ホストに対して割り当てたＶＩＰ（仮想ＩＰアドレス）のうち、ホストアドレス部のみを固定とし、ネットワークアドレス部はＶＰＮのネットワークアドレスの変更に応じて変更できるようにしておいてもよい。ＶＰＮ管理モジュールは、自分が属するＶＰＮのネットワークアドレスが変更された場合、接続情報ＤＢ中のそのＶＰＮに属する各ホストのＶＩＰを変更し、その変更後のＶＩＰをコミュニティネットワーク内の他のＶＩＰ管理モジュールに通知すればよい。
【００７７】
また、コミュニティネットワークに接続登録を希望するホストに対し、仮想ＩＰアドレスの代わりに仮想ＭＡＣアドレスを割り当て、これを接続情報ＤＢに登録してもよい。これにより、ＯＳＩ(Open Systems Interconnection)のデータリンク層のパケット制御で同様のコミュニティネットワークを形成することができる。
【００７８】
また、パケット自体に接続定義ファイルの認証ＩＤを書き込むことでＯＳＩのアプリケーション層でのパケット制御を行うことも可能である。その場合は、パケット制御にはNetfilterではなく、アプリケーション層レベルでパケットの転送制御を行うアプリケーションゲートウエイを利用する。アプリケーションゲートウエアの代表的なものとしてはプロキシサーバーなどがある。
【００７９】
以上に例示したＶＰＮサーバ，ＶＰＮ管理モジュール、クライアント、及びサーバは、例えば、汎用のコンピュータに上述の各機能モジュールの処理を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、図１５に示すように、ＣＰＵ１０００等のマイクロプロセッサ、ランダムアクセスメモリ（ＲＡＭ）１００２およびリードオンリメモリ（ＲＯＭ）１００４等のメモリ（一次記憶）、ＨＤＤ（ハードディスクドライブ）１００６を制御するＨＤＤコントローラ１００８、各種Ｉ／Ｏ（入出力）インタフェース１０１０、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース１０１２等が、たとえばバス１０１４を介して接続された回路構成を有する。また、そのバス１０１４に対し、例えばＩ／Ｏインタフェース１０１０経由で、ＣＤやＤＶＤなどの可搬型ディスク記録媒体に対する読み取り及び／又は書き込みのためのディスクドライブ１０１６、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び／又は書き込みのためのメモリリーダ・ライタ１０１８、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがＲＡＭ１００２に読み出されＣＰＵ１０００等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。なお、それら機能モジュール群のうちの一部又は全部を、専用ＬＳＩ(Large Scale Integration)、ＡＳＩＣ（Application Specific Integrated Circuit、特定用途向け集積回路）又はＦＰＧＡ（Field Programmable Gate Array）等のハードウエア回路として構成してもよい。
【図面の簡単な説明】
【００８０】
【図１】コミュニティネットワークを説明するための図である。
【図２】コミュニティネットワークを構成する機能モジュール群を説明するための図である。
【図３】ＶＰＮ管理モジュールに対するクライアントの接続登録処理の手順の一例を示すフローチャートである。
【図４】接続定義ファイル発行要求が含むデータ内容の一例を示す図である。
【図５】ＶＰＮ管理モジュールが管理する接続情報ＤＢのデータ内容の一例を示す図である。
【図６】接続定義ファイルのデータ内容の一例を示す図である。
【図７】他のＶＰＮ管理モジュールが作成したレコードの情報を含んだ接続情報ＤＢのデータ内容の一例を示す図である。
【図８】クライアントがＶＰＮサーバを介してコミュニティネットワークに接続する手順の一例を示すフローチャートである。
【図９】サーバが生成する接続定義ファイル発行要求のデータ構造の一例を示す図である。
【図１０】サーバに対するアクセス許可設定の処理手順の一例を示すフローチャートである。
【図１１】アクセス許可設定のためのＵＩ情報の一例を示す図である。
【図１２】アクセス許可設定のためのＵＩ画面の一例を示す図である。
【図１３】アクセス許可設定のためのＵＩ画面の別の例を示す図である。
【図１４】サーバに対するアクセス制御のためのファイアウォール設定コマンド群の例を示す図である。
【図１５】コンピュータのハードウエア構成の一例を示す図である。
【符号の説明】
【００８１】
１００  コミュニティネットワーク、１５０  インターネット、ＣＬ１，ＣＬ２，ＣＬ３  クライアント、ＳＶ１  サーバ、ＰＮ１，ＰＮ２，ＰＮ３  プライベートネットワーク、ＶＰＮ１，ＶＰＮ２，ＶＰＮ３  仮想プライベートネットワーク、ＶＭ１，ＶＭ２  ＶＰＮ管理モジュール、ＶＳ１，ＶＳ２  ＶＰＮサーバ。
【図１】
0004835569.tif 000002
【図２】
0004835569.tif 000003
【図３】
0004835569.tif 000004
【図４】
0004835569.tif 000005
【図５】
0004835569.tif 000006
【図６】
0004835569.tif 000007
【図７】
0004835569.tif 000008
【図８】
0004835569.tif 000009
【図９】
0004835569.tif 000010
【図１０】
0004835569.tif 000011
【図１１】
0004835569.tif 000012
【図１２】
0004835569.tif 000013
【図１３】
0004835569.tif 000014
【図１４】
0004835569.tif 000015
【図１５】
0004835569.tif 000016