(57)【要約】【課題】中継端末を経由して通信端末同士の通信が行われるようにすることができる中継端末および通信システムを提供する。【解決手段】サーバ端末１に割り当てられた仮想IPアドレスへの経路が中継端末２への経路であることがネットワーク上に広報される。サーバ端末１の仮想IPアドレスを宛先とする第１のパケットは中継端末２によって受信される。この第１のパケットは、中継端末２によって、サーバ端末１の実IPアドレスを宛先とする第２のパケットに変換されてサーバ端末１へ送信される。また、サーバ１端末の実IPアドレスを送信元とする第３のパケットは、中継端末２によって、サーバ端末１の仮想IPアドレスを送信元とする第４のパケットに変換されて送信される。【選択図】図１
2010056867.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信端末と第２の通信端末との間で送受信されるパケットを中継する中継端末であって、
前記第１の通信端末に割り当てられた仮想IPアドレスへの経路が前記中継端末への経路であることをネットワーク上に広報する広報手段と、
前記第２の通信端末のIPアドレスを送信元とし、前記第１の通信端末の仮想IPアドレスを宛先とする第１のパケットを受信する第１の受信手段と、
前記中継端末のIPアドレスを送信元とし、前記第１の通信端末の実IPアドレスを宛先とする第２のパケットに前記第１のパケットを変換する第１の変換手段と、
前記第２のパケットを送信する第１の送信手段と、
前記第１の通信端末の実IPアドレスを送信元とし、前記中継端末のIPアドレスを宛先とする第３のパケットを受信する第２の受信手段と、
前記第１の通信端末の仮想IPアドレスを送信元とし、前記第２の通信端末のIPアドレスを宛先とする第４のパケットに前記第３のパケットを変換する第２の変換手段と、
前記第４のパケットを送信する第２の送信手段と、
を備えたことを特徴とする中継端末。
【請求項２】
前記第１の変換手段は、前記第２の通信端末のIPアドレスを送信元とし前記第１の通信端末の仮想IPアドレスを宛先とする第１のヘッダが付加された前記第１のパケットに対して、前記中継端末のIPアドレスを送信元とし前記第１の通信端末の実IPアドレスを宛先とする第２のヘッダを付加することによって前記第１のパケットを前記第２のパケットに変換し、
前記第２の変換手段は、前記第１の通信端末の仮想IPアドレスを送信元とし前記第２の通信端末のIPアドレスを宛先とする第３のヘッダが付加された前記第４のパケットに対して、前記第１の通信端末の実IPアドレスを送信元とし前記中継端末のIPアドレスを宛先とする第４のヘッダが付加された前記第３のパケットから前記第４のヘッダを除去することによって前記第３のパケットを前記第４のパケットに変換する
ことを特徴とする請求項１に記載の中継端末。
【請求項３】
第１の通信端末と第２の通信端末との間で送受信されるパケットを中継する中継端末と、前記第１の通信端末に割り当てられる仮想IPアドレスを管理する管理端末とを備えた通信システムであって、
前記中継端末は、
パケットの中継に必要な前記第１の通信端末の情報を前記管理端末に要求する要求手段と、
前記第１の通信端末に割り当てられた仮想IPアドレスおよび実IPアドレスの通知を前記管理端末から受け付ける第１の受付手段と、
前記第１の通信端末の仮想IPアドレスへの経路が前記中継端末への経路であることをネットワーク上に広報する広報手段と、
前記第２の通信端末のIPアドレスを送信元とし、前記第１の通信端末の仮想IPアドレスを宛先とする第１のパケットを受信する第１の受信手段と、
前記中継端末のIPアドレスを送信元とし、前記第１の通信端末の実IPアドレスを宛先とする第２のパケットに前記第１のパケットを変換する第１の変換手段と、
前記第２のパケットを送信する第１の送信手段と、
前記第１の通信端末の実IPアドレスを送信元とし、前記中継端末のIPアドレスを宛先とする第３のパケットを受信する第２の受信手段と、
前記第１の通信端末の仮想IPアドレスを送信元とし、前記第２の通信端末のIPアドレスを宛先とする第４のパケットに前記第３のパケットを変換する第２の変換手段と、
前記第４のパケットを送信する第２の送信手段とを備え
前記管理端末は、
前記中継端末からの要求を受け付ける第２の受付手段と、
前記中継端末からの要求に基づいて前記第１の通信端末の仮想IPアドレスおよび実IPアドレスを前記中継端末に通知する通知手段とを備えた
ことを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信端末間で送受信されるパケットを中継する中継端末に関する。また、本発明は、本中継端末を備えた通信システムにも関する。
【背景技術】
【０００２】
ネットワーク上の端末に対するセキュリティ対策として、侵入検知システムやファイアウォールなどのセキュリティ監視・制御装置が用いられている。ネットワークをセグメントと呼ばれる単位に分割して、保護対象のセグメントの内部と外部を定義し、その境界にこれらの装置を配置することで、端末に対するセキュリティを確保することが可能となる。
【０００３】
従来、不正な端末から実ネットワークを保護する技術が提案されている（例えば、非特許文献１および特許文献１参照）。非特許文献１には、持ち込みPCなどのセキュリティ対策状況をチェックし、セキュリティポリシーに満たない端末の接続の制限や、強制的なアップデートを行う技術が記載されている。この技術では、実ネットワークに対する接続を制御するにあたり、ネットワークの物理的な構成によらず、論理的なネットワークセグメントを自由に構成できるVLAN（Virtual Local Area Network）を用いている。
【０００４】
一方、特許文献１には、同一セグメント内の端末同士が通信を行う場合に、セグメントの境界に配置されたセキュリティ監視・制御装置を経由する通信を行わせるための技術が記載されている。この技術では、セグメント内の端末に仮想的なMACアドレスを割り当てており、各端末が仮想的なMACアドレス宛ての通信を行う際に、セグメントの境界に配置した中継装置を経由する経路制御を行っている。
【非特許文献１】三輪信介ほか、“持ち込みPC検疫機構の設計と実装”、情報処理学会、コンピュータセキュリティシンポジウム２００４、２００４年１０月
【特許文献１】特開２００８−１７２７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、非特許文献１に記載された技術では、VLANに対応した専用のスイッチを導入する必要がある。また、端末が接続を許可され、一旦接続先のVLANに接続した後は、セキュリティ監視・制御装置を経由することなく端末同士が通信を行うことが可能なため、端末の保護が不十分となる。一方、特許文献１に記載された技術では、セキュリティ監視・制御装置を経由して端末同士が通信を行うことが可能であるが、通信を行うセグメント内の全ての端末に仮想的なMACアドレスを割り当てる必要がある。また、システムを利用するにあたり、クライアント端末の構成の変更を必要とする。
【０００６】
本発明は、上述した課題に鑑みてなされたものであって、新規な方法により、中継端末を経由して通信端末同士の通信が行われるようにすることができる中継端末および通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の通信端末（サーバ端末１に対応）と第２の通信端末（クライアント端末４に対応）との間で送受信されるパケットを中継する中継端末（中継端末２に対応）であって、前記第１の通信端末に割り当てられた仮想IPアドレスへの経路が前記中継端末への経路であることをネットワーク上に広報する広報手段（経路制御部２２に対応）と、前記第２の通信端末のIPアドレスを送信元とし、前記第１の通信端末の仮想IPアドレスを宛先とする第１のパケットを受信する第１の受信手段（パケット中継部２０に対応）と、前記中継端末のIPアドレスを送信元とし、前記第１の通信端末の実IPアドレスを宛先とする第２のパケットに前記第１のパケットを変換する第１の変換手段（HMACカプセル部２３に対応）と、前記第２のパケットを送信する第１の送信手段（パケット中継部２０に対応）と、前記第１の通信端末の実IPアドレスを送信元とし、前記中継端末のIPアドレスを宛先とする第３のパケットを受信する第２の受信手段（パケット中継部２０に対応）と、前記第１の通信端末の仮想IPアドレスを送信元とし、前記第２の通信端末のIPアドレスを宛先とする第４のパケットに前記第３のパケットを変換する第２の変換手段（HMACカプセル部２３に対応）と、前記第４のパケットを送信する第２の送信手段（パケット中継部２０に対応）とを備えたことを特徴とする中継端末である。
【０００８】
また、本発明の中継端末において、前記第１の変換手段は、前記第２の通信端末のIPアドレスを送信元とし前記第１の通信端末の仮想IPアドレスを宛先とする第１のヘッダが付加された前記第１のパケットに対して、前記中継端末のIPアドレスを送信元とし前記第１の通信端末の実IPアドレスを宛先とする第２のヘッダを付加することによって前記第１のパケットを前記第２のパケットに変換し、前記第２の変換手段は、前記第１の通信端末の仮想IPアドレスを送信元とし前記第２の通信端末のIPアドレスを宛先とする第３のヘッダが付加された前記第４のパケットに対して、前記第１の通信端末の実IPアドレスを送信元とし前記中継端末のIPアドレスを宛先とする第４のヘッダが付加された前記第３のパケットから前記第４のヘッダを除去することによって前記第３のパケットを前記第４のパケットに変換することを特徴とする。
【０００９】
また、本発明は、第１の通信端末（サーバ端末１に対応）と第２の通信端末（クライアント端末４に対応）との間で送受信されるパケットを中継する中継端末（中継端末２に対応）と、前記第１の通信端末に割り当てられる仮想IPアドレスを管理する管理端末（管理端末３に対応）とを備えた通信システムであって、前記中継端末は、パケットの中継に必要な前記第１の通信端末の情報を前記管理端末に要求する要求手段（グループ管理部２１に対応）と、前記第１の通信端末に割り当てられた仮想IPアドレスおよび実IPアドレスの通知を前記管理端末から受け付ける第１の受付手段（グループ管理部２１に対応）と、前記第１の通信端末の仮想IPアドレスへの経路が前記中継端末への経路であることをネットワーク上に広報する広報手段（経路制御部２２に対応）と、前記第２の通信端末のIPアドレスを送信元とし、前記第１の通信端末の仮想IPアドレスを宛先とする第１のパケットを受信する第１の受信手段（パケット中継部２０に対応）と、前記中継端末のIPアドレスを送信元とし、前記第１の通信端末の実IPアドレスを宛先とする第２のパケットに前記第１のパケットを変換する第１の変換手段（HMACカプセル部２３に対応）と、前記第２のパケットを送信する第１の送信手段（パケット中継部２０に対応）と、前記第１の通信端末の実IPアドレスを送信元とし、前記中継端末のIPアドレスを宛先とする第３のパケットを受信する第２の受信手段（パケット中継部２０に対応）と、前記第１の通信端末の仮想IPアドレスを送信元とし、前記第２の通信端末のIPアドレスを宛先とする第４のパケットに前記第３のパケットを変換する第２の変換手段（HMACカプセル部２３に対応）と、前記第４のパケットを送信する第２の送信手段（パケット中継部２０に対応）とを備え前記管理端末は、前記中継端末からの要求を受け付ける第２の受付手段（メッセージ通信部３０に対応）と、前記中継端末からの要求に基づいて前記第１の通信端末の仮想IPアドレスおよび実IPアドレスを前記中継端末に通知する通知手段（メッセージ通信部３０に対応）とを備えたことを特徴とする通信システムである。
【００１０】
上記の各発明によれば、第１の通信端末に割り当てられた仮想IPアドレスへの経路が中継端末への経路であることがネットワーク上に広報されるので、第１の通信端末の仮想IPアドレスを宛先とする第１のパケットは中継端末によって受信される。この第１のパケットは、中継端末によって、第１の通信端末の実IPアドレスを宛先とする第２のパケットに変換されて第１の通信端末へ送信される。また、第１の通信端末の実IPアドレスを送信元とする第３のパケットは、中継端末によって、第１の通信端末の仮想IPアドレスを送信元とする第４のパケットに変換されて送信される。
【００１１】
このため、第２の通信端末は、第２の通信端末の仮想IPアドレスを指定して通信を行うことで、中継端末を介して第１の通信端末と通信を行うことができる。したがって、上記の各発明によれば、中継端末を経由して通信端末同士の通信が行われるようにすることができる。
【００１２】
上記において、括弧で括った部分の記述は、後述する本発明の実施形態と本発明の構成要素とを便宜的に対応付けるためのものであり、この記述によって本発明の内容が限定されるわけではない。
【発明の効果】
【００１３】
本発明によれば、中継端末を経由して通信端末同士の通信が行われるようにすることができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照し、本発明の実施形態を説明する。図１は、本発明の一実施形態による通信システムの構成を示している。本通信システムでは、サーバ端末１、中継端末２、管理端末３、およびクライアント端末４が設けられている。また、適宜、ルータ５等のネットワーク機器が設けられているものとする。本通信システムを適用するネットワークの規模はイントラネットを想定し、保護する対象はサーバ端末１であるものとする。
【００１５】
サーバ端末１は、所定のサービスを提供するサーバ（FTP（File Transfer Protocol）サーバやWebサーバ等）である。サーバ端末１には、実ネットワークで用いるIPアドレス（本明細書では実IPアドレスとする）とは別の、仮想的なIPアドレス（本明細書では仮想IPアドレスとする）が割り当てられている。中継端末２は、サーバ端末１とクライアント端末４の間で送受信されるパケットを中継する。また、中継端末２は、仮想IPアドレスに関する経路情報をネットワーク上に広報する。管理端末３は、サーバ端末１に割り当てられる仮想IPアドレスを管理すると共に、サーバ端末１および中継端末２の状態を管理する。
【００１６】
次に、サーバ端末１、中継端末２、管理端末３、クライアント端末４の構成を説明する。図２〜図４はこれらの端末の構成を示している。図２は、サーバ端末１、中継端末２、およびクライアント端末４の通信に係る構成を中心に示している。図３は、サーバ端末１と管理端末３との通信に係る構成を中心に示している。図４は、中継端末２と管理端末３との通信に係る構成を中心に示している。
【００１７】
サーバ端末１は、サーバアプリケーション１０、仮想ネットワーク制御部（以下、仮想NW制御部とする）１１、公開状態管理部１２、HMAC（Keyed-Hashing for Message Authentication code）カプセル部１３、中継端末記憶部１４、および経路記憶部１５を備える。サーバアプリケーション１０はネットワーク上へのサービスの公開を行う。仮想ネットワーク制御部１１は、仮想IPアドレスを用いた通信の処理を行う。公開状態管理部１２は、仮想IPアドレスを用いたサーバ端末１の公開と公開停止の管理を行う。HMACカプセル部１３は、中継端末２との間で送受信されるパケットのカプセル化とカプセル解除を行うと共に、安全な通信のためのHMACの処理を行う。
【００１８】
中継端末記憶部１４は、管理端末３から通知される中継端末２の情報を記憶する。図５は、中継端末記憶部１４が記憶する情報１４ａの内容を示している。中継端末記憶部１４には、中継端末２のIPアドレス（IPproxy）が格納される。経路記憶部１５は、サーバ端末１がクライアント端末４と通信を行う際に中継を行う中継端末２の情報とクライアント端末４の情報を記憶する。図６は、経路記憶部１５が記憶する情報１５ａの内容を示している。経路記憶部１５には、クライアント端末４のIPアドレス（IPclient）と中継端末２のIPアドレス（IPproxy）が格納される。
【００１９】
中継端末２は、パケット中継部２０、グループ管理部２１、経路制御部２２、HMACカプセル部２３、および中継情報記憶部２４を備える。パケット中継部２０は、サーバ端末１とクライアント端末４の間で送受信されるパケットの中継を行う。グループ管理部２１は、１または複数の中継端末２で構成されるグループへの加入と離脱の処理を行う。経路制御部２２は、OSPF（Open Shortest Path First）による経路を広報することによって、サーバ端末１に割り当てられた仮想IPアドレスへの経路が中継端末２への経路であることをネットワーク上に広報する。HMACカプセル部２３は、サーバ端末１との間で送受信されるパケットのカプセル化とカプセル解除を行うと共に、安全な通信のためのHMACの処理を行う。
【００２０】
中継情報記憶部２４は、パケットの中継に必要な情報を記憶する。図７は、中継情報記憶部２４が記憶する情報２４ａの内容を示している。中継情報記憶部２４には、サーバ端末１の仮想IPアドレス（IPvirtual）と、サーバ端末１の実IPアドレス（IPreal）と、HMACの処理に用いる秘密鍵とが格納される。
【００２１】
管理端末３は、メッセージ通信部３０、サーバ端末管理部３１、中継端末管理部３２、HMACカプセル部３３、サーバ端末記憶部３４、中継端末記憶部３５、およびグループ記憶部３６を備える。メッセージ通信部３０は、サーバ端末１の公開と公開停止や中継端末２のグループへの加入と離脱等の、端末の状態を制御するためのメッセージの送受信を行う。サーバ端末管理部３１はサーバ端末１の状態を管理する。中継端末管理部３２は中継端末２の状態を管理する。HMACカプセル部３３は、HMACの処理に必要な秘密鍵の生成を行う。
【００２２】
サーバ端末記憶部３４は、グループに加入しているサーバ端末１の情報を記憶する。図８は、サーバ端末記憶部３４が記憶する情報３４ａの内容を示している。サーバ端末記憶部３４には、サーバ端末１の仮想IPアドレス（IPvirtual）と、サーバ端末１の実IPアドレス（IPreal）と、サーバ端末１が所属するグループのIDと、サーバ端末１を公開するための完全修飾ドメイン名（FQDN）（例えばabc.co.jp）と、HMACの処理に用いる秘密鍵とが格納される。
【００２３】
中継端末記憶部３５は、グループに加入している中継端末２の情報３５ａを記憶する。図９は、中継端末記憶部３５が記憶する情報の内容を示している。中継端末記憶部３５には、中継端末２のIPアドレス（IPproxy）とグループIDが格納される。グループ記憶部３６は、グループの情報を記憶する。図１０は、グループ記憶部３６が記憶する情報３６ａの内容を示している。グループ記憶部３６には、グループIDと、サーバ端末１の仮想IPアドレス(IPvirtual）のプレフィックス（例えば1.1.1.0）と、サーバ端末１の仮想IPアドレス(IPvirtual）のプレフィックス長（例えば24）とが格納される。また、グループ記憶部３６には、中継端末２がサーバ端末１との通信の際に仮想ネットワークインタフェース（以下、仮想NW I/Fとする）に割り当てるIPアドレス（例えば2.1.1.0）およびプレフィックス長（例えば24）と、中継端末２がサーバ端末１からパケットを受信する際に使用するUDPポート番号とが格納される。
【００２４】
クライアント端末４は、サーバ端末１のサーバアプリケーション１０を利用するユーザアプリケーション４０を備える。
【００２５】
次に、本実施形態による通信システムの動作を説明する。
【００２６】
（１）中継端末２のグループへの加入と離脱
中継端末２は、単独もしくは複数で、中継するアプリケーションプロトコルなどの用途に応じたグループを形成する。グループに応じて、中継端末２がパケットを中継するサーバ端末１が決まる。以下、図１１を参照しながら、中継端末２がパケットの中継を行うためのグループへの加入と、パケットの中継を停止するためのグループからの離脱とに関して、それぞれの手順を説明する。
【００２７】
（１−ａ）中継端末２のグループへの加入
中継端末２がグループに加入する場合、中継端末２のグループ管理部２１は、管理端末３に対して、自身のIPアドレス（IPproxy）と、加入するグループのIDとを含むグループ加入要求メッセージを送信する（ステップＳ１００）。
【００２８】
管理端末３のメッセージ通信部３０は、中継端末２から受信したグループ加入要求メッセージに含まれるIPproxyとグループIDをサーバ端末管理部３１と中継端末管理部３２に通知する。中継端末管理部３２は、このIPproxyとグループIDを中継端末記憶部３５に記録する（ステップＳ１０２）。続いて、サーバ端末管理部３１は、グループIDをキーにして、中継端末２がパケットを中継する対象となる同一グループ内のサーバ端末１の情報をサーバ端末記憶部３４から読み出し、メッセージ通信部３０に通知する。また、メッセージ通信部３０は、グループIDをキーにして、サーバ端末１との通信を行うのに必要な情報をグループ記憶部３６から読み出す。メッセージ通信部３０は、サーバ端末記憶部３４およびグループ記憶部３６から読み出された情報（以下、サーバ端末情報とする）を含むメッセージを中継端末２へ送信する（ステップＳ１０４）。本実施形態におけるサーバ端末情報は、同一グループに所属する１または複数のサーバ端末１に関する情報を含む（以下、同様）。
【００２９】
中継端末２へ送信されるサーバ端末情報には、サーバ端末記憶部３４から読み出された、サーバ端末１の仮想IPアドレス（IPvirtual）、サーバ端末１の実IPアドレス（IPreal）、およびHMAC処理用の秘密鍵が含まれる。また、中継端末２が複数のグループに加入する場合を考慮して、グループに応じたパケット待ち受け用のUDPポート番号（グループ記憶部３６の情報）がサーバ端末情報に含まれる。さらに、中継端末２の内部で中継対象のパケットを扱う際に仮想NW I/Fに割り当てるIPアドレスとプレフィックス長（グループ記憶部３６の情報）がサーバ端末情報に含まれる。
【００３０】
中継端末２のグループ管理部２１は、サーバ端末情報を含む管理端末３からのメッセージを受信し、サーバ端末情報に含まれるサーバ端末１の仮想IPアドレス（IPvirtual）、サーバ端末１の実IPアドレス（IPreal）、およびHMAC処理用の秘密鍵を中継情報記憶部２４に格納する（ステップＳ１０６）。また、グループ管理部２１は、サーバ端末情報に含まれる仮想NW I/FのIPアドレスを経路制御部２２に通知する。経路制御部２２は、仮想NW I/FのIPアドレスに基づいて、パケット中継処理を行うための仮想NW I/Fを開き（ステップＳ１０８）、その設定を行う（ステップＳ１１０）。続いて、経路制御部２２は、サーバ端末１の仮想IPアドレス（IPvirtual）のプレフィックスの広報を行う（ステップＳ１１２）。
【００３１】
一方、管理端末３のメッセージ通信部３０は、中継端末２のIPアドレス（IPproxy）を含むメッセージをサーバ端末１へ送信する（ステップＳ１１４）。サーバ端末１の公開状態管理部１２は管理端末３からのメッセージを受信し、メッセージに含まれるIPproxyを仮想NW制御部１１に通知する。仮想NW制御部１１は、IPproxyに基づいて、中継端末２への経路の設定を行う（ステップＳ１１６）。
【００３２】
（１−ｂ）中継端末２のグループからの離脱
中継端末２がグループから離脱する場合、中継端末２のグループ管理部２１は、管理端末３に対して、自身のIPアドレス（IPproxy）と、加入しているグループのIDとを含むグループ離脱要求メッセージを送信する（ステップＳ１２０）。
【００３３】
管理端末３のメッセージ通信部３０は、中継端末２から受信したグループ離脱要求メッセージに含まれるIPproxyとグループIDを中継端末管理部３２に通知する。中継端末管理部３２は、このIPproxyおよびグループIDと一致するIPproxyおよびグループIDを中継端末記憶部３５から削除する（ステップＳ１２２）。また、メッセージ通信部３０は、IPproxyを含むメッセージをサーバ端末１へ送信する（ステップＳ１２４）。サーバ端末１の公開状態管理部１２は管理端末３からのメッセージを受信し、メッセージに含まれるIPproxyを仮想NW制御部１１に通知する。仮想NW制御部１１は、IPproxyに基づいて、中継端末２への経路を削除する（ステップＳ１２６）。
【００３４】
一方、中継端末２の経路制御部２２は、サーバ端末１の仮想IPアドレス（IPvirtual）のプレフィックスの広報を停止する（ステップＳ１２８）。また、グループ管理部２１は、サーバ端末１の仮想IPアドレス（IPvirtual）、サーバ端末１の実IPアドレス（IPreal）、およびHMAC処理用の秘密鍵を中継情報記憶部２４から削除する（ステップＳ１３０）。さらに、経路制御部２２は、パケット中継処理を行うための仮想NW I/Fを閉じる（ステップＳ１３２）。
【００３５】
（２）サーバ端末１の公開と公開停止
サーバ端末１は、仮想IPアドレスを用いて、クライアント端末４に対するサービスの公開を行う。以下、図１２を参照しながら、サーバ端末のサービスの公開と公開停止のそれぞれの手順を説明する。
【００３６】
（２−ａ）サーバ端末１の公開
仮想IPアドレスを用いてサーバ端末１を公開する場合、サーバ端末１の公開状態管理部１２は、管理端末３に対して、自身の実IPアドレス（IPreal）と、加入するグループのIDと、FQDNとを含むサーバ公開開始要求メッセージを送信する（ステップＳ２００）。
【００３７】
管理端末３のメッセージ通信部３０は、サーバ端末１からのサーバ公開開始要求メッセージを受信すると、HMACカプセル部３３に秘密鍵の生成を要求する。HMACカプセル部３３は、要求に応じて秘密鍵を生成し、メッセージ通信部３０に応答する（ステップＳ２０２）。また、メッセージ通信部３０は、サーバ端末１から受信したメッセージに含まれるサーバ端末１の実IPアドレス（IPreal）、グループID、FQDN、およびHMACカプセル部３３が生成した秘密鍵とをサーバ端末管理部３１に通知する。サーバ端末管理部３１は、メッセージ通信部３０から通知されたこれらの情報と、サーバ端末１に割り当てる仮想IPアドレス（IPvirtual）とをサーバ端末記憶部３４に格納する（ステップＳ２０４）。なお、サーバ端末管理部３１は、個々のサーバ端末１に対してIPvirtualが一意に割り当てられるようにIPvirtualの管理を行う。続いて、メッセージ通信部３０は、処理結果、IPvirtual、中継端末２からのパケットを受信する際に使用するUDPポート、およびHMAC処理用の秘密鍵を含むサーバ公開開始応答メッセージをサーバ端末１へ送信する（ステップＳ２０６）。
【００３８】
サーバ端末１の公開状態管理部１２は、管理端末３から受信したサーバ公開開始応答メッセージに含まれるサーバ端末１の仮想IPアドレス（IPvirtual）を仮想NW制御部１１に通知する。仮想NW制御部１１は、IPvirtualに基づいて、クライアント端末４とパケットの送受信を行うための仮想NW I/Fを開き（ステップＳ２０８）、その設定を行う（ステップＳ２１０）。また、仮想NW制御部１１は、管理端末３と通信を行うための経路を設定する（ステップＳ２１２）。
【００３９】
一方、管理端末３の中継端末管理部３２は、グループIDをキーにして、中継端末２のIPアドレス（IPproxy）を中継端末記憶部３５から読み出し、メッセージ通信部３０に通知する。メッセージ通信部３０は、IPproxyを含むメッセージをサーバ端末１へ送信する（ステップＳ２１４）。サーバ端末１の公開状態管理部１２は管理端末３からのメッセージを受信し、メッセージに含まれるIPproxyを仮想NW制御部１１に通知する。仮想NW制御部１１は、IPproxyに基づいて、中継端末２への経路の設定を行う（ステップＳ２１６）。
【００４０】
また、管理端末３のサーバ端末管理部３１は、サーバ端末１の仮想IPアドレス（IPvirtual）およびグループIDをキーにして、公開の開始を要求したサーバ端末１の情報（サーバ端末１の仮想IPアドレス（IPvirtual）、サーバ端末１の実IPアドレス（IPreal）、およびHMAC処理用の秘密鍵）をサーバ端末記憶部３４から読み出し、メッセージ通信部３０に通知する。さらに、メッセージ通信部３０は、グループIDをキーにして、同一グループ内のサーバ端末１との通信を行うのに必要な情報（仮想NW I/Fに割り当てるIPアドレスとプレフィックス長およびUDPポート）をグループ記憶部３６から読み出す。メッセージ通信部３０は、サーバ端末記憶部３４およびグループ記憶部３６から読み出された情報（サーバ端末情報）を含むメッセージを中継端末２へ送信する（ステップＳ２１８）。
【００４１】
中継端末２のグループ管理部２１は、サーバ端末情報を含む管理端末３からのメッセージを受信し、サーバ端末情報に含まれるサーバ端末１の仮想IPアドレス（IPvirtual）、サーバ端末１の実IPアドレス（IPreal）、およびHMAC処理用の秘密鍵を中継情報記憶部２４に格納する（ステップＳ２２０）。このとき、中継情報記憶部２４に既に格納されていた情報は、管理端末３から受信された情報によって上書きされる。このため、公開の開始を要求したサーバ端末１の情報が中継情報記憶部２４に新たに追加される。
【００４２】
一方、管理端末３のメッセージ通信部３０は、サーバ端末１の仮想IPアドレス（IPvirtual）およびFQDNをDNS（Domain Name System）に登録するためのメッセージをDNSサーバへ送信する（ステップＳ２２２）。
【００４３】
（２−ｂ）サーバ端末１の公開停止
仮想IPアドレスを用いたサーバ端末１の公開を停止する場合、サーバ端末１の公開状態管理部１２は、管理端末３に対して、自身の仮想IPアドレス（IPvirtual）と、加入しているグループのIDとを含むサーバ公開停止要求メッセージを送信する（ステップＳ２３０）。
【００４４】
管理端末３のメッセージ通信部３０は、サーバ端末１から受信したサーバ公開停止要求メッセージに含まれるサーバ端末１の仮想IPアドレス（IPvirtual）およびグループIDをサーバ端末管理部３１に通知する。サーバ端末管理部３１は、IPvirtualおよびグループIDをキーにして、公開の停止を要求したサーバ端末１の情報（サーバ端末１の仮想IPアドレス（IPvirtual）、サーバ端末１の実IPアドレス（IPreal）、およびHMAC処理用の秘密鍵）をサーバ端末記憶部３４から削除する（ステップＳ２３２）。
【００４５】
続いて、メッセージ通信部３０は、処理結果を含むサーバ公開停止応答メッセージをサーバ端末１へ送信する（ステップＳ２３４）。また、サーバ端末管理部３１は、グループIDをキーにして、同一グループ内の更新されたサーバ端末１の情報（サーバ端末１の仮想IPアドレス（IPvirtual）、サーバ端末１の実IPアドレス（IPreal）、およびHMAC処理用の秘密鍵）をサーバ端末記憶部３４から読み出し、メッセージ通信部３０に通知する。さらに、メッセージ通信部３０は、グループIDをキーにして、サーバ端末１との通信を行うのに必要な情報（仮想NW I/Fに割り当てるIPアドレスとプレフィックス長およびUDPポート）をグループ記憶部３６から読み出す。メッセージ通信部３０は、サーバ端末記憶部３４およびグループ記憶部３６から読み出された情報（サーバ端末情報）を含むメッセージを中継端末２へ送信する（ステップＳ２３６）。
【００４６】
中継端末２のグループ管理部２１は、サーバ端末情報を含む管理端末３からのメッセージを受信し、サーバ端末情報に含まれるサーバ端末１の仮想IPアドレス（IPvirtual）、サーバ端末１の実IPアドレス（IPreal）、およびHMAC処理用の秘密鍵を中継情報記憶部２４に格納する（ステップＳ２３８）。このとき、中継情報記憶部２４に既に格納されていた情報は、管理端末３から受信された情報によって上書きされる。このため、公開の停止を要求したサーバ端末１の情報は中継情報記憶部２４から削除される。
【００４７】
（３）サーバ端末１とクライアント端末４のデータ通信
サーバ端末１は、仮想IPアドレスを用いて、クライアント端末４に対するサービスの公開を行う。以下、図１３を参照しながら、サーバ端末１とクライアント端末４のデータ通信の手順を説明する。
【００４８】
（３−ａ）クライアント端末４からサーバ端末１への通信
クライアント端末４は、例えばDNSサーバにサーバ端末１の名前解決を依頼し、その結果としてDNSサーバからサーバ端末１のIPアドレスを通知されることにより、サーバ端末１の仮想IPアドレス（IPvirtual）を取得することが可能である。クライアント端末４のユーザアプリケーション４０は、IPvirtual宛てにパケットを送信する（ステップＳ３００）。IPvirtual宛ての経路が中継端末２への経路であることを中継端末２がネットワーク上に広報しているため、クライアント端末４から送信されたパケットは中継端末２に到着する。
【００４９】
中継端末２のパケット中継部２０はクライアント端末４からのパケットを仮想NW I/Fから受信する（ステップＳ３０２）。続いて、パケット中継部２０は、クライアント端末４から受信したパケットに含まれるサーバ端末１の仮想IPアドレス（IPvirtual）をキーにして、中継情報記憶部２４に格納されている情報を検索し、IPvirtual に対応したサーバ端末１の実IPアドレス（IPreal）と秘密鍵を取得する。パケット中継部２０はパケットのデータとこの秘密鍵をHMACカプセル部２３に渡す。HMACカプセル部２３はパケットのデータと秘密鍵からハッシュ値を計算し、認証データを生成する。HMACカプセル部２３は、クライアント端末４からのパケットと認証データをカプセル化してパケット中継部２０に渡す（ステップＳ３０４）。
【００５０】
図１４はカプセル化の様子を示している。IPヘッダ１３００ａおよびペイロード１３００ｂを含むクライアント端末４からのパケット１３００に対して、認証データを含む認証ヘッダ１３１０を付加し、さらにＵＤＰヘッダ１３２０およびIPヘッダ１３３０を付加することによって、カプセル化したパケットが生成される。IPヘッダ１３００ａには、送信元としてクライアント端末４のIPアドレスが記録され、宛先としてサーバ端末１の仮想IPアドレス（IPvirtual）が記録されている。また、IPヘッダ１３３０には、送信元として中継端末２のIPアドレス（IPproxy）が記録され、宛先としてサーバ端末１の実IPアドレス（IPreal）が記録されている。したがって、クライアント端末４（IPclient）を送信元としサーバ端末１（IPvirtual）を宛先とするパケットが、カプセル化によって、中継端末２（IPproxy）を送信元としサーバ端末１（IPreal）を宛先とするパケットに変換される。
【００５１】
パケット中継部２０は、HMACカプセル部２３によってカプセル化されたパケットをサーバ端末１へ送信する（ステップＳ３０６）。
【００５２】
サーバ端末１の仮想NW制御部１１（図１３ではミドルウェアとして記載している）は、中継端末２からからのパケットをUDPポートから受信し、HMACカプセル部１３に渡す。HMACカプセル部１３は、カプセル化されているパケットを分解し、クライアント端末４からのデータ（図１３のパケット１３００のデータ）と認証データ（図１３の認証ヘッダ１３１０のデータ）に基づいて、データの検証を行う（ステップＳ３０８）。
【００５３】
このとき、HMACカプセル部１３は、クライアント端末４からのデータと秘密鍵からハッシュ値を計算し、認証データを生成する。続いて、HMACカプセル部１３は、この認証データと、カプセル化されたパケットに付加されていた認証データとを比較する。両者が一致した場合には、分解されたパケットのデータが仮想NW制御部１１へ出力され、次の処理が行われる。また、両者が一致しなかった場合には、パケットが破棄され、処理が終了する。
【００５４】
続いて、仮想NW制御部１１は、クライアント端末４からのパケットに付加されているIPヘッダ（図１３のIPヘッダ１３００ａ）に含まれる送信元のIPアドレス（IPclient）と、カプセル化されたパケットに付加されているIPヘッダ（図１３のIPヘッダ１３３０）に含まれる送信元のIPアドレス（IPproxy）とを対応させて経路記憶部１５に格納する（ステップＳ３１０）。さらに、仮想NW制御部１１は、クライアント端末４からのパケットを、仮想NW I/Fを介してサーバアプリケーション１０に渡す（ステップＳ３１２）。
【００５５】
（３−ｂ）サーバ端末１からクライアント端末４への通信
サーバアプリケーション１０は、サーバ端末１（IPvirtual）を送信元としクライアント端末４（IPclient）を宛先とするパケットを生成し、仮想NW I/Fを介して仮想NW制御部１１に渡す（ステップＳ３１４）。仮想NW制御部１１は、仮想NW I/Fを介してこのパケットを受信する（ステップＳ３１６）。
【００５６】
続いて、仮想NW制御部１１は、クライアント端末４のIPアドレス（IPclient）をキーにして、中継端末２のIPアドレス（IPproxy）を経路記憶部１５から読み出す（ステップＳ３１８）。IPclientに対応するIPproxyが見つかった場合には、IPproxyをIPアドレスとして有する中継端末２がサーバ端末１からのパケットをクライアント端末４へ中継することになる。この場合、クライアント端末４からサーバ端末１までの経路とサーバ端末１からクライアント端末４までの経路とが同一となる。
【００５７】
また、IPclientに対応するIPproxyが見つからなかった場合には、中継端末記憶部１４に格納されているIPproxyをIPアドレスとして有する所定の中継端末２（以下、デフォルト中継端末とする）がサーバ端末１からのパケットをクライアント端末４へ中継することになる。この場合、クライアント端末４からサーバ端末１までの経路とサーバ端末１からクライアント端末４までの経路とが異なる。また、デフォルト中継端末も見つからなかった場合には、処理が終了する。
【００５８】
続いて、仮想NW制御部１１は、サーバアプリケーション１０からのパケットをHMACカプセル部１３に渡す。HMACカプセル部１３はパケットのデータと秘密鍵からハッシュ値を計算し、認証データを生成する。HMACカプセル部１３は、サーバアプリケーション１０からのパケットと認証データをカプセル化して仮想NW制御部１１に渡す（ステップＳ３２０）。
【００５９】
認証データの生成方法およびカプセル化の方法は、前述した方法と同様である。サーバ端末１（IPvirtual）を送信元としクライアント端末４（IPclient）を宛先とするパケットは、カプセル化によって、サーバ端末１（IPreal）を送信元とし中継端末２（IPproxy）を宛先とするパケットに変換される。カプセル化されたパケットの構造は、図１４に示した構造と同様である。仮想NW制御部１１は、HMACカプセル部１３によってカプセル化されたパケットを中継端末２へ送信する（ステップＳ３２２）。
【００６０】
中継端末２のパケット中継部２０はサーバ端末１からのパケットをUDPポートから受信し、HMACカプセル部２３に渡す。HMACカプセル部２３は、カプセル化されているパケットを分解し、サーバ端末１からのデータと認証データに基づいて、データの検証を行う（ステップＳ３２４）。データの検証方法は、前述した方法と同様である。認証データ同士の比較が行われ、認証データ同士が一致した場合には、分解されたパケットのデータがパケット中継部２０へ出力され、次の処理が行われる。このパケットは、サーバ端末１（IPvirtual）を送信元としクライアント端末４（IPclient）を宛先とするパケットである。また、認証データ同士が一致しなかった場合には、パケットが破棄され、処理が終了する。
【００６１】
続いて、パケット中継部２０はパケットをクライアント端末４へ送信する（ステップＳ３２６）。クライアント端末４のユーザアプリケーション４０はこのパケットを受信する。
【００６２】
次に、本実施形態の変形例を説明する。上記では、サーバ端末１および中継端末２は、自身が加入するグループのIDを管理端末３に通知しているが、以下のように管理端末３が、サーバ端末１および中継端末２に割り当てるグループIDを管理し、サーバ端末１および中継端末２からの要求に応じてグループIDを動的に割り当ててもよい。まず、管理端末３がサーバ端末１に対してグループIDを割り当てる例を説明する。
【００６３】
図１５に示すように、管理端末３にはサーバ端末用ID記憶部３７が設けられる。図１５において、メッセージ通信部３０とサーバ端末用ID記憶部３７以外の構成については図示を省略している。サーバ端末用ID記憶部３７は、サーバ端末１の識別情報と、サーバ端末１に割り当てるグループIDとを関連付けて記憶する。サーバ端末１の識別情報として、サーバ端末１の実IPアドレス（IPreal）またはFQDNを使用するものとする。また、サーバ端末１に割り当てるグループIDは、サーバ端末１がネットワーク上に追加されたときに予め決定されているものとする。
【００６４】
サーバ端末１は公開を行う場合、自身の識別情報を含むサーバ公開開始要求メッセージを管理端末３へ送信する。前述したサーバ公開開始要求メッセージと異なり、グループIDは含まれていない。管理端末３のメッセージ通信部３０は、受信したサーバ公開開始要求メッセージに含まれるサーバ端末１の識別情報をキーにして、サーバ端末用ID記憶部３７からグループIDを読み出し、このグループIDを含むサーバ公開開始応答メッセージをサーバ端末１へ送信する。このサーバ公開開始応答メッセージは、前述したサーバ公開開始応答メッセージに対してグループIDが追加されたものである。
【００６５】
次に、管理端末３が中継端末２に対してグループIDを割り当てる例を説明する。図１６に示すように、管理端末３には中継端末用ID記憶部３８が設けられる。図１６において、メッセージ通信部３０と中継端末用ID記憶部３８以外の構成については図示を省略している。中継端末用ID記憶部３８は、中継端末２の識別情報と、中継端末２に割り当てるグループIDとを関連付けて記憶する。中継端末２の識別情報として、中継端末２のIPアドレス（IPproxy）を使用するものとする。また、中継端末２に割り当てるグループIDは、中継端末２がネットワーク上に追加されたときに予め決定されているものとする。
【００６６】
中継端末２はグループに加入する場合、自身の識別情報を含むグループ加入要求メッセージを管理端末３へ送信する。前述したグループ加入要求メッセージと異なり、グループIDは含まれていない。管理端末３のメッセージ通信部３０は、受信したグループ加入要求メッセージに含まれる中継端末２の識別情報をキーにして、中継端末用ID記憶部３８からグループIDを読み出し、このグループIDを含むメッセージを中継端末２へ送信する。グループIDは、前述したサーバ端末情報の一部としてメッセージに含まれている。
【００６７】
上述したように、本実施形態によれば、クライアント端末４は、サーバ端末１の仮想IPアドレス（IPvirtual）を指定して通信を行うことで、中継端末２を介してサーバ端末１と通信を行うことができる。したがって、中継端末２を経由してサーバ端末１とクライアント端末４の通信が行われるようにすることができる。このため、セキュリティ監視・制御の仕組みを中継端末２に導入することによって、仮想ネットワークに配置したサーバ端末１を保護することができる。
【００６８】
前述した特許文献１に記載された技術では、通信を行うセグメント内の全ての端末に仮想的なMACアドレスを割り当てる必要があるが、本実施形態では、サーバ端末１のみに仮想IPアドレスを割り当てればよいので、アドレスの管理負荷が低減する。また、本実施形態では、中継端末２および管理端末３をネットワークに追加し、サーバ端末１の機能を変更する必要はあるが、クライアント端末４の構成・機能を変更する必要はない。
【００６９】
また、本実施形態によれば、管理端末３を設置することで、サーバ端末１と中継端末２の情報を一元的に管理することができる。これによって、公開や公開停止のためにサーバ端末１が個々の中継端末２と通信を行ったり、グループへの加入や離脱のために中継端末２が個々のサーバ端末１と通信を行ったりすることがなくなり、サーバ端末１による中継端末２の管理負荷および中継端末２によるサーバ端末１の管理負荷を低減することができる。
【００７０】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【図面の簡単な説明】
【００７１】
【図１】本発明の一実施形態による通信システムの構成を示す構成図である。
【図２】本発明の一実施形態によるサーバ端末と中継端末の構成を示すブロック図である。
【図３】本発明の一実施形態によるサーバ端末と管理端末の構成を示すブロック図である。
【図４】本発明の一実施形態による中継端末と管理端末の構成を示すブロック図である。
【図５】本発明の一実施形態によるサーバ端末が備える中継端末記憶部が記憶する情報の内容を示す参考図である。
【図６】本発明の一実施形態によるサーバ端末が備える経路記憶部が記憶する情報の内容を示す参考図である。
【図７】本発明の一実施形態による中継端末が備える中継情報記憶部が記憶する情報の内容を示す参考図である。
【図８】本発明の一実施形態による管理端末が備えるサーバ端末記憶部が記憶する情報の内容を示す参考図である。
【図９】本発明の一実施形態による管理端末が備える中継端末記憶部が記憶する情報の内容を示す参考図である。
【図１０】本発明の一実施形態による管理端末が備えるグループ記憶部が記憶する情報の内容を示す参考図である。
【図１１】本発明の一実施形態による中継端末のグループへの加入と離脱に関する処理の手順を示すシーケンス図である。
【図１２】本発明の一実施形態によるサーバ端末の公開と公開停止に関する処理の手順を示すシーケンス図である。
【図１３】本発明の一実施形態によるサーバ端末とクライアント端末４の通信に関する処理の手順を示すシーケンス図である。
【図１４】本発明の一実施形態におけるパケットのカプセル化の様子を示す参考図である。
【図１５】本発明の一実施形態による管理端末の構成を示すブロック図である。
【図１６】本発明の一実施形態による管理端末の構成を示すブロック図である。
【符号の説明】
【００７２】
１・・・サーバ端末、２・・・中継端末、３・・・管理端末、４・・・クライアント端末、５・・・ルータ、１０・・・サーバアプリケーション、１１・・・仮想NW制御部、１２・・・公開状態管理部、１３，２３，３３・・・HMACカプセル部、１４，３５・・・中継端末記憶部、１５・・・経路記憶部、２０・・・パケット中継部、２１・・・グループ管理部、２２・・・経路制御部、２４・・・中継情報記憶部、３０・・・メッセージ通信部、３１・・・サーバ端末管理部、３２・・・中継端末管理部、３４・・・サーバ端末記憶部、３６・・・グループ記憶部、３７・・・サーバ端末用ID記憶部、３８・・・中継端末用ID記憶部、４０・・・ユーザアプリケーション
【図１】
2010056867.tif 000003
【図２】
2010056867.tif 000004
【図３】
2010056867.tif 000005
【図４】
2010056867.tif 000006
【図５】
2010056867.tif 000007
【図６】
2010056867.tif 000008
【図７】
2010056867.tif 000009
【図８】
2010056867.tif 000010
【図９】
2010056867.tif 000011
【図１０】
2010056867.tif 000012
【図１１】
2010056867.tif 000013
【図１２】
2010056867.tif 000014
【図１３】
2010056867.tif 000015
【図１４】
2010056867.tif 000016
【図１５】
2010056867.tif 000017
【図１６】
2010056867.tif 000018