通信装置、通信方法、及びプログラム
【課題】通信相手ノードを遠隔サイトのノードからの要求に応じて遠隔起動し、その際にアドレス解決のための情報を含むネットワーク情報を該通信相手ノードに割り当てる。
【解決手段】 第1の通信装置と第2の通信装置との間の仮想私設網(VPN)通信を制御する通信装置において、第1の通信装置のノードIDに対し、第2の通信装置のID、該第2の通信装置のMACアドレス及び該第2の通信装置のネットワーク情報を関連付けるVPN利用者データベースと、VPN接続要求を受信し、VPN利用者データベースを参照して第2の通信装置のMACアドレスを求め、該第2の通信装置のMACアドレスを含んだ遠隔起動依頼を生成するVPN処理部と、遠隔起動依頼に含まれるMACアドレスにより特定される第2の通信装置を遠隔起動する遠隔起動部と、起動された第2の通信装置から情報取得要求を受信し、該情報取得要求に応じてネットワーク情報を配布するネットワーク情報配布部と、を具備する。
【解決手段】 第1の通信装置と第2の通信装置との間の仮想私設網(VPN)通信を制御する通信装置において、第1の通信装置のノードIDに対し、第2の通信装置のID、該第2の通信装置のMACアドレス及び該第2の通信装置のネットワーク情報を関連付けるVPN利用者データベースと、VPN接続要求を受信し、VPN利用者データベースを参照して第2の通信装置のMACアドレスを求め、該第2の通信装置のMACアドレスを含んだ遠隔起動依頼を生成するVPN処理部と、遠隔起動依頼に含まれるMACアドレスにより特定される第2の通信装置を遠隔起動する遠隔起動部と、起動された第2の通信装置から情報取得要求を受信し、該情報取得要求に応じてネットワーク情報を配布するネットワーク情報配布部と、を具備する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は仮想私設通信網(Virtual Private Network、以下「VPN」という。)に係り、特に、遠隔サイトのクライアントノードからの要求に応じてネットワーク内の通信相手ノードを遠隔起動し、該通信相手ノードにネットワーク情報を付与する通信装置、通信方法、及びプログラムに関する。
【背景技術】
【0002】
ネットワークに接続されたノードを遠隔から起動する仕組みとして、Wake on LAN(WoL)が利用されている。WoLによれば、VPNを用いてアクセスされるノードの電源を常時、ONにしておく必要がない。しかし、WoLは同一LAN内での利用を前提としており、インターネットなどの広域ネットワークを越えて利用することはできない。これに対し、下記特許文献1及び下記特許文献2には、インターネットを越えてノードを遠隔から起動する方法について記載されている。
【特許文献1】特開2003−319083号公報
【特許文献2】特開2005−51473号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
多くのネットワークでは動的ホスト構成プロトコル(Dynamic Host Configuration Protocol;DHCP)を使った動的なアドレスの割当て及び管理が行われており、実際にアクセスする際に、ネットワーク内の個々のノードが持つアドレスが不定となる。これは、遠隔サイトのクライアントノードからネットワーク内の通信相手ノードを遠隔起動してVPN通信を行う場合に問題となる。アドレス不定が問題となる場合、遠隔サイトのノードに対する通信相手のノードのIPアドレスを不変(固定IP)にするか、通信相手ノードのアドレスを解決する手段をVPNシステム、アクセス元VPNクライアント、該通信相手ノード自体のいずれかが備えていなければならない。
【0004】
また、アドレス不定の問題が生じる場合には、該通信相手ノードが行う通信が、ローカルエリアネットワーク内で行われる通常の通信であるか、それともVPNを用いた特定の通信であるかをIPアドレスなどのネットワーク層アドレスを用いて区別することも困難である。
【0005】
本発明は、遠隔サイトのノードに対する通信相手ノードを該遠隔サイトのノードからの要求に応じて遠隔起動し、その際にアドレス解決のための情報を含むネットワーク情報を該通信相手ノードに割り当てる通信装置、通信方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一観点に係る通信装置は、第1の通信装置と第2の通信装置との間の仮想私設網(VPN)通信を制御する通信装置において、前記第1の通信装置のノードIDに対し、前記第2の通信装置のID、該第2の通信装置のMACアドレス及び該第2の通信装置のネットワーク情報を関連付けるVPN利用者データベースと、前記第1の通信装置のノードID及び前記第2の通信装置のノードIDを含んだVPN接続要求を受信し、該第1の通信装置のノードID及び第2の通信装置のノードIDにより前記VPN利用者データベースを参照して前記第2の通信装置のMACアドレスを求め、該第2の通信装置のMACアドレスを含んだ遠隔起動依頼を生成するVPN処理部と、前記遠隔起動依頼に含まれるMACアドレスにより特定される前記第2の通信装置を遠隔起動する遠隔起動部と、前記遠隔起動部により起動された前記第2の通信装置から情報取得要求を受信し、該情報取得要求に応じて前記ネットワーク情報を該第2の通信装置に対して配布するネットワーク情報配布部と、を具備する。
【発明の効果】
【0007】
本発明によれば、遠隔サイトのノードに対する通信相手ノードを該遠隔サイトのノードからの要求に応じて遠隔起動し、その際にアドレス解決のための情報を含むネットワーク情報を該通信相手ノードに割り当てる通信装置、通信方法、及びプログラムを提供できる。
【発明を実施するための最良の形態】
【0008】
以下に説明する実施形態はVPNの接続管理、通信相手ノードの起動、通信相手ノードに対する、アドレスを含むネットワーク情報の配布、及び通信相手ノードの通信管理等を行うVPN終端装置に本発明を適用したものである。
【0009】
(第1の実施形態)
図1は本発明の第1の実施形態に係るシステムの全体構成図である。図1において、101はインターネットなどの広域ネットワーク、102はVPNを用いて遠隔サイトへの接続を行うVPNクライアント、103はVPN接続を終端するとともにアドレスなどのネットワーク関連情報の配布機能及び通信を制限する機能を有するVPN終端装置、104はVPNを経由して接続される通信相手ノード、105はVPN接続要求を仲介し、管理するVPN管理サーバである。なお、VPN終端装置103はネットワーク上のノードを遠隔から起動するための機構を持ち、通信相手ノード104はVPN終端装置103が送信する起動要求に基づいて自身を起動する機構を備える。さらにVPN終端装置103はルータであり、該サイトと広域ネットワークとを接続する機能を備える。
【0010】
図2はVPN終端装置の内部構成を示すブロック図である。VPN終端装置103はインターネットなどの広域ネットワーク101との接続のための物理的なWANインターフェイス201、遠隔サイトのVPNクライアントとのVPN接続のための論理的なVPNインターフェイス202〜203、LANとの接続のための物理的なLANインターフェイス204〜205、論理的なVPNインターフェイスと物理的なLANインターフェイスとの間で透過的にパケットを転送するためのI/Fブリッジ部206を有する。
【0011】
また、VPN終端装置103は、上記の各インターフェイスに到来するパケットに対してその通過の許可及び不許可の制御を行うパケットフィルタ部207、パケットフィルタ部207に適用されるポリシが記述されたパケットフィルタ管理表208、パケットのフォワーディングを行うフォワーディング部209、フォワーディング部209が参照する転送データベース(DB)210、VPN関連処理を実行するVPN処理部211、確立したVPNに関する情報を記録するVPN状態管理表212、LANに接続するノードに対してアドレスなどのネットワーク情報を割り当てるネットワーク情報配布部213、ネットワーク情報配布部213が管理している各種情報を保存するためのネットワーク情報管理表214、LANに接続するノードを遠隔から起動する命令を送信する遠隔起動部215を有する。
【0012】
なお、アクセス先のLANと通信相手ノードとの間でネットワーク層データグラムを交換するレイヤ3VPNを構築する場合には、ブリッジ部206を設けなくても良い。本発明の実施形態では、通信制限をパケットフィルタにより行うものと仮定しているためパケットフィルタ部207を備えているが、パケットフィルタとは異なる別の方法により通信制限を行っても良い。
【0013】
図3はVPN管理サーバの内部構成を示すブロック図である。VPN管理サーバ105は、インターネットなどの広域ネットワーク101と接続するためのインターフェイス301〜302、VPNクライアント102とVPN終端装置103との間でVPN関連のメッセージを中継するVPN中継部303、VPN管理サーバ105が中継を行うことによって確立されたVPN接続の状態を記述するVPN状態管理表304、VPN管理サーバ105を介してVPNを利用可能なVPNクライアント、VPN終端装置、及び通信相手ノードに関する情報を記憶するVPN利用者データベース305、VPN管理サーバ105を介してVPN接続を受け付けるVPN終端装置103のネットワーク情報を記憶するVPN終端装置データベース306を有する。
【0014】
第1の実施形態に係るシステムにおいて、VPNを確立して通信を行うためには、はじめにVPN管理サーバ105が管理するVPN利用者データベース305を準備する必要がある。
【0015】
図4にVPN利用者データベース305の詳細を示す。VPN利用者データベース305は、利用者ノードID、VPN終端装置ID、通信相手ノードID、通信相手ノードMACアドレス、通信相手ノードネットワーク情報の4つの情報から構成される。
【0016】
利用者ノードIDはVPN利用者(VPNクライアント)を特定する識別子である。VPN終端装置IDは、利用者ノードIDで特定されるVPNクライアントが使用するVPNを終端するノード(VPN終端装置)の識別子である。
【0017】
通信相手ノードMACアドレスは、VPN終端装置により終端されるVPNを使ってVPNクライアントが通信する相手のノード(通信相手ノード)のMACアドレスである。通信相手ノードIDはVPNクライアントがVPNを介して通信を行う通信相手ノードの識別子である。
【0018】
通信相手ノードネットワーク情報は、通信相手ノードに対して、その起動時に付与されるIPアドレス、デフォルトゲートウェイ、DNSサーバ、ドメイン名などのアドレス解決のための情報を含むネットワーク情報のことである。
【0019】
なお、通信相手ノードネットワーク情報に格納される情報は、前述の内容のみに限定されるものではなく、VPN終端装置103内のネットワーク情報配布部213が配布可能な他の情報を含んでも良い。
【0020】
VPN利用者データベース305は、ネットワーク管理者によって事前に設定されるか、VPN利用者が自らWebブラウザなどを使って設定するか、もしくは登録プロトコルによって自動的に設定されてもよく、種々の方法が用いられる。
【0021】
図5にVPN終端装置データベースを示す。VPN終端装置データベース306はVPN終端装置ID、アドレス1〜アドレスNからなるエントリを有する。
【0022】
VPN終端装置IDには、図4に示したVPN利用者データベース305に含まれているVPN終端装置IDのうち、ある時点で利用可能なVPN終端装置のIDが記述される。つまり、VPN利用者データベース305に登録されていても現時点ではオフライン状態であるならば、そのVPN終端装置のIDはVPN終端装置データベース306には存在しない。
【0023】
アドレス1〜アドレスNにはVPN終端装置IDによって特定されるVPN終端装置が使用しているネットワーク層アドレスが記述される。ネットワーク層アドレスには、例えばIPv4アドレスやIPv6アドレスがある。
【0024】
VPN終端装置データベース306は、VPN管理サーバ105とVPN終端装置103との間で利用可能な種々の情報確認プロトコルを使って構築される。例えば、ダイナミックDNSによる登録、HTTPを使った特定Webページへのアクセス、SIPを使ったプレゼンス情報の登録といった手段が利用可能である。この他にも、VPN終端装置103からVPN管理サーバ105に対して自己の識別情報とネットワークアドレス情報を送信可能なプロトコルを利用できる。
【0025】
なお、前述のように利用可能なノードのみを登録することによってVPN終端装置データベース306を構成することもできるが、利用可否というエントリをVPN利用者データベース305に追加して利用可/不可を区別するようにしても良い。いずれにせよ、利用可能なVPN終端装置103の情報を管理できる形式であれば良い。
【0026】
VPN状態管理表304には、図4に示したVPN利用者データベース305のエントリに対し「状態」、「確立時刻」、「有効期限」の3つのエントリを追加したものが登録される。「状態」には、接続処理中と接続中の2つの状態のいずれかが記述され、「確立時刻」にはVPN接続が確立もしくは更新された時刻が記述され、「有効期限」にはVPN接続の有効期限が記述される。これらのエントリは、VPNクライアント102もしくはVPN終端装置103からの確立要求、更新要求、あるいは切断要求をVPN中継部303が処理した際に更新される。図4のVPN利用者データベース305において通信相手ノードMACアドレスの欄に複数のエントリが登録されているとき、VPN状態管理表304には、この複数のエントリのうち実際に使用されているエントリに対応する情報のみが記述される。
【0027】
図6は第1の実施形態に係るシステムの動作シーケンスを示す図である。この動作シーケンスの概略を述べると、遠隔のVPNクライアント102からのVPN確立要求によりVPN終端装置103がVPNクライアント102に対する通信相手ノード104を起動し、同VPN終端装置103がこの起動した通信相手ノード104に対してネットワーク情報の配布及び通信管理設定を行う、というものである。以下、動作シーケンスの詳細を説明する。
【0028】
先ずVPNクライアント102がVPN接続要求をVPN管理サーバ105に向けて送信する。このVPN接続要求はVPNクライアント102のID(利用者ノードID)、VPN終端装置ID、及び通信相手ノードIDを含んでいる。
【0029】
VPN管理サーバ105がVPN接続要求を受信すると、VPN中継部303はその要求内容を検査する。この検査は次のステップを含む。
【0030】
(1)要求送信元を示す利用者ノードIDがVPN利用者データベース305に登録されていること
(2)要求に含まれるVPN終端装置IDが、要求送信元を示す利用者ノードIDとVPN利用者データベース305において関連付けられていること
(3)要求に含まれるVPN終端装置IDがVPN終端装置データベース306に存在すること(利用可能とされていること)。
【0031】
(4)要求に含まれるVPN終端装置IDに対応するアドレスがVPN終端装置データベース306において1つ以上格納されていること
(5)要求に含まれる通信相手ノードIDが、VPN利用者データベース305における利用者ノードID及びVPN終端装置IDの2つの情報で特定されるエントリに含まれていること
(6)通信相手ノードIDに対応する通信相手ノードMACアドレスが、VPN利用者データベース305に登録されていること
(7)通信相手ノードIDに対応する通信相手ノードネットワーク情報が、VPN利用者データベース305に登録されていること
以上の検査ステップを経て必要な情報がすべて存在することが確認されたら、当該VPN接続要求内の各エントリを抽出する。続いて、VPN管理サーバ105のVPN中継部303は抽出したエントリに基づいてVPN状態管理表304を書き換えるとともに、VPN接続要求をVPN利用者データベース305で特定されるVPN終端装置103に対して送信する。これによりVPNクライアント102からVPN終端装置103へのVPN接続要求はVPN管理サーバ105により中継される。なお、中継されるVPN接続要求は、VPNクライアント102から送信されたVPN接続要求に加え、通信相手ノードMACアドレス及び通信相手ノードネットワーク情報を含んでいる。通信相手ノードMACアドレス及び通信相手ノードネットワーク情報は、VPN接続要求から抽出したエントリ(利用者ノードID、VPN終端装置ID、通信相手ノードID)によりVPN利用者データベース305を検索して取得されるものである。
【0032】
なお、1つのVPN接続要求にすべての情報を格納することとせずに、VPNクライアント102からのVPN接続要求のみを含むVPN接続要求と、それに続くネットワーク情報通知とからなる構成としてもよい。また、これらの一連の要求と応答は適切な暗号・認証手法などを用いて保護することが好ましい。
【0033】
次に、VPN管理サーバ105から中継されたVPN接続要求を受信したVPN終端装置103は、このVPN接続要求から通信相手ノードMACアドレス、及び通信相手ノードネットワーク情報を抽出する。
【0034】
続いて、抽出した通信相手ノードMACアドレスを持つノードがネットワーク上に存在し動作しているかどうかを確認する。これは、レイヤ2レベルのアドレス解決を行うパケットを送信することで行い、例えばIPv4のARPやIPv6のNeighbor Discoveryが利用できる。
【0035】
上記確認手順によって、VPN接続要求で指定されたMACアドレスを持つノードが既に起動していた場合には、該ノードに割り当てられているネットワーク情報の有無を確認する。これはVPN終端装置103内のネットワーク情報管理表214に、該ノードについて、前記受信したVPN接続要求に含まれているネットワーク情報と同一の情報が存在するか否かを確認することによって行う。この結果、既に同じ情報が配布されていることが判明した場合には、起動/配布処理を省略し、後述するパケットフィルタの変更処理を行う。もし、違う情報が配布されている場合には利用するネットワークプロトコルによって対応を変える必要がある。これについては第4の変形例として後述する。
【0036】
確認手順によってVPN接続要求で指定されたMACアドレスを持つノードが起動していないことが確認できた場合(すなわちARPやNeighbor Discoveryに対して応答がなかった場合)には、ネットワーク情報管理表214に前記VPN接続要求で受信したネットワーク情報を記述する。続いて、該MACアドレスを持つノードすなわち通信相手ノード104を起動し、この通信相手ノード104に対してネットワーク情報を付与するステップを実行する。
【0037】
通信相手ノードの起動からネットワーク情報の付与までの一連の処理の手順は以下の通りである。
【0038】
VPN終端装置103内のネットワーク情報管理表214は、受信したVPN確立要求から抽出された情報によって適切に設定される必要がある。図7にネットワーク情報管理表の設定時における値の変化を示す。一連の処理を行う前に、VPN終端装置103のネットワーク情報管理表214が図7の上段の状態であったと仮定する。このとき、新規にVPN確立要求を受信し、その中からネットワーク情報を抽出すると、この抽出されたネットワーク情報は図7中段に示すように同表214に追加される。
【0039】
ネットワーク情報管理表214に適切に情報が追加されたら、VPN終端装置103の遠隔起動部215は、通信相手ノード104を遠隔起動する。具体的には、VPN終端装置103の内部では、VPN処理部211から遠隔起動部215に対して、起動すべきノードのMACアドレスを伴った起動依頼が通知される。遠隔起動部215は、このVPN処理部211からの依頼に基づいて、指定されたMACアドレスを持つノードを起動する処理を行う。これには広く用いられているWake on LAN(WoL)などの仕組みを利用しても良いし、個々の機器や通信メディアに特化した別の方法を利用しても良い。ここで述べるVPN終端装置103ならびにVPN管理サーバ105は、これら複数の起動方法に対応するものとして実施することも可能である。その場合、通信相手ノード104とその起動方法との対応を管理しなければならない。この管理は、VPN管理サーバ105がVPN利用者データベース305内に起動方法の種別を示す情報を記憶し、ネットワーク情報とともにVPN終端装置103に通知する方法や、通信相手ノードIDと起動方法との対応関係をVPN終端装置103が独立して管理する方法などが考えられる。
【0040】
遠隔起動部215によって遠隔起動処理が行われた結果、VPN接続要求に含まれていた通信相手ノード104の起動処理が開始されたと仮定する。一般に、動的にネットワーク情報を取得するように設定されているノードは、起動処理の途中でアドレスを含めた各種ネットワーク情報を動的に取得する(静的に取得するように設定されている場合には、本発明で解決すべき問題自体が起こりえないため、ここでは除外する)。このとき、通信相手ノード104がネットワーク情報の取得に利用するプロトコルは、前述のVPN終端装置103のネットワーク情報配布部213が対応可能なプロトコル(例えばDHCP)でなければならない。通信相手ノード104の起動方法を通信相手ノード104ごとに特定する場合と同様に、起動すべきノードとネットワーク情報の配布に使用するプロトコルとの対応関係は、通信相手ノード104ごとに変更してもよい。その場合、VPN管理サーバ105から通知しても良いし、VPN終端装置103が独立して管理しても良い。独立して管理する場合には、通信相手ノードIDと配布方法の対応を管理することになる。
【0041】
通信相手ノード104からの情報取得要求は、VPN終端装置103が受信し、同装置のネットワーク情報配布部213において処理される。ネットワーク情報配布部213はネットワーク情報管理表214を参照し、該情報取得要求の送信元MACアドレスが表中に記録されているか否かを確認する。もし、表中に記録されていれば、そのエントリを取得する。表中に記録されていない場合には、該要求はこのVPN終端装置103が管理すべき情報ではないものと判断して無視する。ネットワーク情報配布部213は、ネットワーク情報管理表214中に記録されたエントリを取得すると、図7の下段に示すように該エントリに対して配布時刻と有効時刻を記入する。配布時刻とは、情報を該当ノードに配布した時刻であり、ここでは現在時刻が記入される。有効時刻とはネットワーク情報配布部213及びVPN管理サーバ105のポリシに基づく、配布された情報の有効期限を示す時刻である。後述するように、VPN終端装置103は、有効時刻までに有効期限の延長要求(VPN接続延長(更新)に伴うネットワーク情報の再取得要求)がなかった場合には、対応するVPN接続を切断する。
【0042】
ネットワーク情報配布部213は、通信相手ノード104から受信した情報取得要求に対する応答として、配布すべき情報を含む情報取得応答を送り返す。情報取得応答を受信した通信相手ノード104は、応答内から適切に情報を取り出してネットワークインターフェイスなどを適切に設定する。ここまでの処理が完了すると、VPN終端装置103はノードの接続状況を確認する処理を行う。これには前述の存在確認と同様にARPやNeighbor Discoveryを用いて行うものとする。
【0043】
通信相手ノード104の存在及び設定が確認できたら、VPN管理サーバ105に対してVPN確立応答を返す。このVPN確立応答には、通信相手ノード104に実際に配布したネットワーク情報が含まれる。VPN確立応答を受信したVPN管理サーバ105は、自身が管理するVPN状態管理表304から対応するエントリを検索し、このエントリがVPN接続確立の処理中のエントリであることを確認する。VPN確立応答が確立処理中の接続要求に対する応答であることが確認できたならば、VPN接続要求を送信したVPNクライアント102に対してVPN確立応答を送信する。VPN終端装置103からVPNクライアント102に対するVPN確立応答は通信相手ノード104のアドレス情報を含んでおり、VPN管理サーバ105によって中継されることになる。なお、VPN管理サーバ105は、VPN終端装置103から受信したVPN確立応答が確立処理中の接続に対する応答であると判断できなかった場合には、その応答を破棄する。
【0044】
VPN確立応答を受信したVPNクライアント102は、同応答に含まれるVPN通信相手ノード104のアドレスを利用して通信相手ノード104にアクセスすることが可能となる。
【0045】
以上説明したように遠隔のVPNクライアント102からのVPN確立要求により、VPN管理サーバ105が指定したネットワーク設定によって通信相手ノード104が起動し、ネットワーク情報が設定されるのであるが、この一連のノード起動処理に並行して、パケットフィルタに関する処理も併せて行われる。この処理によって、通信相手ノード104とVPNクライアント102のみが通信できる状態を作り出す。この処理は次のように行われる。
【0046】
VPN処理部211が受信したVPN確立要求から抽出されたネットワーク情報は、ネットワーク情報管理表214に記録されるとともに、VPN処理部211自身も利用する。VPN処理部211はパケットフィルタ部207の能力に併せて、VPN管理サーバ105から通知された情報などを用いてパケットフィルタルールを生成する。ここで生成するルールは、システムごとのポリシに基づいて決定される。このポリシの例として「通信相手ノードとVPNクライアントのみがVPN通信を可能にする」というものがある。ルールを適用する対象としては様々なものが考えられるが、ここでは一例としてデータリンク層及びネットワーク層で適用する例を挙げる。
【0047】
図8はデータリンク層に適用するパケットフィルタルールの一例を示している。この例は第1乃至第4のルールを有する。第1のルールは、LANインターフェイスから入力されてVPNインターフェイスに送信されるデータリンクフレームのうち、送信元をMAC2、受信先をRC_MAC1とするフレームのみを許可するというものである。第2のルールではVPNインターフェイスから入力されてLANインターフェイスに送信されるデータリンクフレームのうち、送信元をRC_MAC1、受信先をMAC2とするフレームのみを許可する。続く第3及び第4のルールでは、上記以外のデータリンクフレームの通過を禁止する。本ルールはデータリンク層フレームが通信相手ノードとVPNクライアントの間で転送されるレイヤ2VPNの場合に適用される。
【0048】
図9は同じくデータリンク層に適用するパケットフィルタルールの一例であって、レイヤ3VPNに適用する場合のものである。このルールでは出力I/Fの指定がなく、VPN終端装置のMACアドレス(L_MAC1)を利用する。
【0049】
図10はネットワーク層に適用するパケットフィルタルールの一例である。この例では、第1乃至第6のルールを有する。第1のルールは、LANインターフェイスから入力されてVPNインターフェイスに送信されるデータグラムのうち、送信元をIP2、受信先をRC_IP1とするデータグラムのみを許可するというものである。第2のルールではVPNインターフェイスから入力されてLANインターフェイスに送信されるデータグラムのうち、送信元をRC_IP1、受信先をIP2とするデータグラムのみを許可する。続く第3乃至第6のルールではそれ以外のデータグラムの通過を禁止する。
【0050】
また、以上のパケットフィルタルールはあくまで一例であって、本発明の実施形態に係るシステムがすべてこのルールを設定する訳ではない。作成したパケットフィルタルールはパケットフィルタ管理表208に格納しておく。
【0051】
以上でVPN接続要求からノードの起動、パケットフィルタの設定による通信制限の設定までの処理は完了する。引き続き、VPN接続後の動作について述べる。
【0052】
図11に示すように、VPN終端装置103は、定期的にVPN接続の更新要求が行われていること、ならびに、定期的に通信相手ノード104がネットワーク情報の有効期限を更新していることを確認する。有効期限の更新は、それぞれのプロトコルで定められた方法に従って行われる。仮にDHCPを用いる場合には、DHCPの有効期限とその更新手続を使って実現される。
【0053】
同様に、VPNクライアント102は確立済みVPN接続に対する接続の延長を定期的に要求する。これは図12に示すように、新規の接続要求時と同様に、VPNクライアント102からVPN接続更新要求をVPN管理サーバ105に対して送信することで行う。接続更新要求時の処理の手順は、LAN側で通信相手ノード104を起動しないこと、及びパケットフィルタなど設定済みの情報を変更しないことを除き、新規のVPN確立要求時の処理と同様である。
【0054】
VPN接続の更新手続が行われなかった場合、図13に示すようにVPN終端装置103は、対応するVPN接続を切断する。また、パケットフィルタ管理表208で管理している情報に基づいてパケットフィルタの設定を変更し、該当するVPNクライアント102及び通信相手ノード104が互いに通信できないようにする。同時に、VPNの切断をVPN管理サーバ105経由でVPNクライアント102に通知する。
【0055】
また図14に示すように、VPNクライアント102は、任意のタイミングでVPN切断要求を送ることが可能である。VPN切断要求はVPN確立要求と同様にVPN管理サーバ105を経由してVPN終端装置103に送られる。VPN切断要求を受信したVPN終端装置103は、切断要求に対応するVPN接続の有無を確認し、確立済みのVPNがあれば、それを切断する。続いて、ネットワーク情報管理表214から該当するエントリを削除し、ネットワーク情報配布部213が更新要求に応答しないようにする。併せて、パケットフィルタ管理表208で管理しているパケットフィルタ情報に基づいてパケットフィルタを変更し、該当するVPNクライアント102及び通信相手ノード104が互いに通信できないようにする。
【0056】
以上説明した本発明の第1の実施形態によれば、遠隔サイトのVPNクライアント102に対する通信相手ノード104を該VPNクライアント102からの要求に応じて遠隔起動し、その際にアドレス解決を含むネットワーク情報を通信相手ノード104に割り当てることができる。
【0057】
続いて、第1の実施形態に基づいて実現可能な幾つかの変形例について述べる。
【0058】
第1の変形例は、VPN接続要求で要求された通信相手ノード104の最初の起動チェックにおいて、既に通信相手ノード104が起動していた場合の処理に関する。前述の処理手順では、通信相手ノード104が既に起動していたらネットワーク情報を確認し、同じ情報が割り当てられていたら処理を継続している。第1の変形例では、図15に示すように、通信相手ノード104が既に起動していた場合に、VPN終端装置103が処理を中断してVPN接続拒否を示す応答をVPN管理サーバ105に返答する。このVPN接続拒否応答を受信したVPN管理サーバ105は、自身が管理しているVPN状態管理表304を検索し、確立処理中の接続に対する接続拒否応答であることを確認する。これが確認できた場合には、VPN管理サーバ105は要求送信元であるVPNクライアント102に対して、接続拒否応答を送信(中継)する。
【0059】
第2の変形例は、VPN管理サーバ105から通知されたネットワーク情報を別のノードが使っていることがVPN終端装置103において検出できた場合である。この検出は、通信相手ノード104が起動しているか否かに依らない。この場合、VPN終端装置103はVPN管理サーバ105に対してVPN接続拒否を示す応答を返す。このVPN接続拒否応答を受信したVPN管理サーバ105は第1の変形例と同様にVPN状態管理表304を修正して、VPNクライアント102に対して接続拒否応答を送信(中継)する。
【0060】
ただし、前述の2つの手順においてVPN管理サーバ105は別の動作を取ることも可能である。例えば図16に示すように、対応するネットワーク情報が複数、VPN状態管理表212に登録されている場合を考える。この場合、VPN管理サーバ105は複数の候補から利用可能なものを選択して、再度、VPN終端装置103に接続要求を再送し、確立を試みることができる。なお、複数のエントリを記述する代わりに、VPN利用者データベース305に記載するネットワーク情報に一定の自由度を持たせた記述を採用し、VPN管理サーバ105はその一部を任意に選択して送信するようにしても良い(例えば、利用可能なIPアドレスの範囲を記述しておき、VPN管理サーバ105が範囲内の一つのアドレスを通知するといった方法が考えられる)。この間、当初の接続要求を送信したVPNクライアント102には、接続中などの一時的な応答を送信しておいても良いし、送信しなくても良い。一連のシーケンスを記述したものを図17に示す。以上を第3の変形例とする。
【0061】
第4の変形例は、通信相手ノード104は起動しているものの、VPN接続要求と同じ情報が割り当てられていない場合(VPN接続要求で通知された情報とは異なる情報で動作している場合)である。この状態であることを検出したVPN終端装置103は、通信相手ノード104が複数のネットワーク情報を管理できる場合に限り、VPN接続要求で通知された情報を追加で割り当てることができる。例えばIPv6を使うネットワークにおいて、Router Advertisementを特定のノードに向けて送信したり、DHCPサーバからノード特定してプレフィックスを配布したりすることによって、特定のノードにのみ別のアドレスを配布する、といった方法が利用できる。
【0062】
(第2の実施形態)
図18は第2の実施形態に係るシステムの全体図である。この図18に示す構成は、図1に示した第1の実施形態のシステム構成からVPN管理サーバ105を除いたものに相当する。図19は第2の実施形態において用いられるVPN終端装置の内部構成を示す図である。第2の実施形態に係るVPN終端装置217は、図2に示した第1の実施形態に係るVPN終端装置103の内部構成に対しVPN利用者データベース216を追加したものに相当する。図20は第2の実施形態に係るVPN利用者データベース216の構成を示す図であって、図4に示したVPN利用者データベース305の構成からVPN終端装置IDが削除されている。
【0063】
第2の実施形態における動作シーケンスを図21に示す。基本的には第1の実施形態と同じであるが、VPN管理サーバによる中継処理が削除されている点で第1の実施形態とは異なる。第2の実施形態では、インターネット上に公開されたVPN管理サーバが存在しないため、VPN終端装置217のアドレス情報を何らかの手法により入手できるようにしておく必要がある。これには静的アドレス割当てや、ダイナミックDNSを利用するなどの方法が考えられる。図21のシーケンスに含まれない各シーケンス(ノードが起動済みであった場合の処理、接続の更新処理など)は、VPN管理サーバが配布する情報を変えて再送を試みる形態(第1の実施形態乃至第3の変形例)を除き、第1の実施形態と同じである。
【0064】
以下、第2の実施形態に係るシステムの動作シーケンスを、図22及び図23に示すVPN終端装置217内部についての動作シーケンスならびに図24及び図25に示すフローチャートに沿って説明する。
【0065】
先ずVPNクライアント102がVPN接続要求をVPN終端装置217に向けて送信する。このVPN接続要求はVPNクライアント102のID(利用者ノードID)及び通信相手ノードIDを含んでいる。VPN終端装置217のVPN処理部211はVPN接続要求を受信する(図24のS1701)。
【0066】
VPN処理部211はその要求内容を検査する。この検査は次のステップを含む(図24のS1702)。
【0067】
(1)要求送信元を示す利用者ノードIDがVPN利用者データベース216に登録されていること
(2)通信相手ノードIDに対応する通信相手ノードMACアドレスが、VPN利用者データベース216に登録されていること
(3)通信相手ノードIDに対応する通信相手ノードネットワーク情報が、VPN利用者データベース216に登録されていること
以上の検査ステップを経て必要な情報がすべて存在することが確認されたら、当該VPN接続要求内の各エントリを抽出する。
【0068】
次に、VPN終端装置217のVPN処理部211は、VPN接続要求に記載された通信相手ノードIDに対応する通信相手ノードMACアドレス及び通信相手ノードネットワーク情報をVPN利用者データベース216から抽出する(図24のS1703)。
【0069】
続いて、抽出した通信相手ノードMACアドレスを持つノードがネットワーク上に存在し動作しているかどうかを確認する(図24のS1704)。このため、VPN処理部211は遠隔起動部215に通信相手ノードの存在確認依頼を送信する。遠隔起動部215は存在確認依頼を受信すると、レイヤ2レベルのアドレス解決を行うパケット(確認パケット)を送信する。これには、例えばIPv4のARPやIPv6のNeighbor Discoveryが利用できる。
【0070】
上記確認手順によって、該当するMACアドレスを持つノードが既に起動していた場合(図24のS1705=NO)には、遠隔起動部215は通信相手ノード存在確認応答をVPN処理部211に通知する。これに応じてVPN処理部211はVPNクライアント102に対しVPN確立応答(エラー)を返す。一方、確認手順によってVPN接続要求で指定されたMACアドレスを持つノードが起動していないことが確認できた場合(すなわちARPやNeighbor Discoveryに対して応答がなかった場合;図24のS1705=YES)には、遠隔起動部215は通信相手ノード非存在確認応答をVPN処理部211に通知する。これに応じてVPN処理部211は、ネットワーク情報管理表214を上記抽出したネットワーク情報で修正する(図24のS1706)。さらに、パケットフィルタの設定変更処理を行う(図24のS1707)。
【0071】
続いて、上記抽出した通信相手ノードMACアドレスを持つノード、すなわち通信相手ノード104を起動する(図24のS1708)。通信相手ノード104の起動からネットワーク情報の付与までの一連の処理の手順は以下の通りである。
【0072】
遠隔起動部215は、通信相手ノード104を遠隔起動する。具体的には、VPN終端装置217の内部では、VPN処理部211から遠隔起動部215に対して、起動すべきノードのMACアドレスを伴った遠隔起動依頼が通知される。遠隔起動部215は、このVPN処理部211からの遠隔起動依頼に基づいて、指定されたMACアドレスを持つノードを起動する処理を行い、遠隔起動開始通知をVPN処理部211に送信する(図24のS1709)。遠隔起動の方法としては、第1の実施形態において挙げたWake on LAN(WoL)などの仕組みを利用しても良いし、個々の機器や通信メディアに特化した別の方法を利用しても良い。VPN終端装置は、通信相手ノードごとに起動処理方法を変更可能な装置として実施することも可能である。その場合、起動方法は、通信相手ノードIDと起動方法を特定する識別子とを関連付けてVPN終端装置が管理したり、VPN接続要求に起動方法を特定する識別子を含めて該VPNクライアントが送信することによって特定したりする方法が用いられる。遠隔起動部215によって遠隔起動処理が行われた結果、VPN接続要求に含まれていた通信相手ノード104の起動処理が開始されたと仮定する。一般に、動的にネットワーク情報を取得するように設定されているノードは、起動処理の途中でアドレスを含めた各種ネットワーク情報を動的に取得する(静的に取得するように設定されている場合には、本発明で解決すべき問題自体が起こりえないため、ここでは除外する)。このとき、通信相手ノード104がネットワーク情報の取得に利用するプロトコルは、前述のVPN終端装置217のネットワーク情報配布部213が対応可能なプロトコル(例えばDHCP)でなければならない。通信相手ノード104の起動方法を特定する場合と同様に、起動すべきノードとネットワーク情報の配布に使用するプロトコルとの対応関係はVPN終端装置217が管理しても良いし、VPNクライアントが指定しても良い。この場合には、通信相手ノードIDと配布方法の対応を管理することになる。
【0073】
遠隔起動開始通知を受信したVPN処理部211は配布処理開始依頼をネットワーク情報配布部213に送信する。配布処理開始依頼に応じて、ネットワーク情報配布部213は通信相手ノード104からのネットワーク情報取得要求の受信待ち状態に遷移する(図24のS1710)。なお、遠隔起動開始通知は遠隔起動部215からVPN処理部211に通知される。
【0074】
通信相手ノード104からのネットワーク情報取得要求を受信すると、ネットワーク情報配布部213はネットワーク情報取得要求受信通知をVPN処理部211に送信したのち、ネットワーク情報管理表214を参照し、該情報取得要求の送信元MACアドレスが表中に記録されているか否かを確認する。もし、表中に記録されていれば、そのエントリを取得する。表中に記録されていない場合には、該要求はこのVPN終端装置217が管理すべき情報ではないものと判断して無視する。ネットワーク情報取得要求受信通知を受信したVPN処理部211は、遠隔起動処理停止依頼を遠隔起動部215に通知する(図24のS1711)。この通知を受けて、遠隔起動部215は上述した遠隔起動処理を停止する(図24のS1712)。ネットワーク情報配布部213は、ネットワーク情報管理表214中に記録されたエントリを取得すると、該エントリに対して配布時刻と有効時刻を記入することによりネットワーク情報管理表214を更新する(図24のS1713)。配布時刻とは、情報を該当ノードに配布した時刻であり、ここでは現在時刻が記入される。有効時刻とはネットワーク情報配布部213のポリシに基づく、配布された情報の有効期限を示す時刻である。VPN終端装置217は、有効時刻までに有効期限の延長要求(VPN接続延長(更新)に伴うネットワーク情報の再取得要求)がなかった場合には、対応するVPN接続を切断する。
【0075】
なお、ネットワーク情報配布部213は、一定時間にわたり通信相手ノード104からネットワーク情報取得要求を受信しなかった場合には、ネットワーク情報管理表214及びパケットフィルタ設定を復元したのち、VPNクライアント102に対しVPN確立応答(エラー)を返す。
【0076】
以上のように通信相手ノード104からネットワーク情報取得要求を受信し、さらにネットワーク情報管理表214から該当するエントリを取得したネットワーク情報配布部213は、この通信相手ノード104からのネットワーク情報取得要求に対する応答として、配布すべき情報として上記取得したエントリを含むネットワーク情報取得応答を通信相手ノード104に送信し(図24のS1714)、ネットワーク情報配布完了をVPN処理部211に通知する(図24のS1715)。
【0077】
ネットワーク情報取得応答を受信した通信相手ノード104は、この応答の中から必要な情報を取り出し、ネットワークインターフェイスなどを適切に設定する。
【0078】
続いて、VPN終端装置217のVPN処理部211は、起動・設定確認依頼を遠隔起動部215に通知する。この通知に応じて、遠隔起動部215はノードの接続状況を確認する処理を行う(図25のS1716)。これには前述の存在確認と同様にARPやNeighbor Discoveryを用いて行うものとする。
【0079】
通信相手ノード104の接続状況を確認できたら、遠隔起動部215は起動・設定確認応答をVPN処理部211に通知する。この通知に応じて、VPN処理部211は、VPNクライアント102に対してVPN確立応答を返す(図25のS1717)。このVPN確立応答には、通信相手ノード104に実際に配布したネットワーク情報が含まれる。VPN確立応答を受信したVPNクライアント102は、同応答に含まれるVPN通信相手ノード104のアドレスを利用して通信相手ノード104にアクセスすることが可能となる。
【0080】
なお、通信相手ノード104の接続状況の確認がとれない、すなわち通信相手ノード104においてネットワーク情報が正しく設定できなかった場合には、ネットワーク情報管理表214及びパケットフィルタ設定を復元したのち、VPNクライアント102に対しVPN確立応答(エラー)を返す。
【0081】
(第3の実施形態)
続いて、第3の実施形態について述べる。これまではVPN終端装置がルータであり、LAN上で唯一の情報配布元である場合について述べてきたが、第3の実施形態はLAN上に別のルータ(ネットワーク情報の配布元)が存在する構成である。図26は、このような第3の実施形態に係るシステムの全体構成を示している。図26に示す構成は、第1の実施形態におけるVPN終端装置103がルータ装置107とVPN終端装置106とに置き換わっている点で第1の実施形態のものとは異なる。
【0082】
なお、第3の実施形態は前述したVPN管理サーバがある場合とない場合のいずれに対しても適用可能であるが、ここでは図26に示すようにVPN管理サーバ105が存在する場合について述べる。
【0083】
第3の実施形態では、はじめにルータ装置107に対してVPN終端装置106へのサイト外部からのアクセスを許可する設定を行う必要がある。この設定は管理者による手動設定による方法やUPnPなどのプロトコルを使う方法が考えられる。
【0084】
ルータ装置107への設定が完了し、VPN終端装置106へのサイト外部からのアクセスが可能になり、前述の第1の実施形態で述べたVPN管理サーバ105が持つVPN終端装置データベース306の事前設定も完了したと仮定する。この状態になると、第3の実施形態に係るVPN終端装置106は、VPN管理サーバ105を経由してVPNクライアント102からのVPN接続要求を受け付けることができるようになる。
【0085】
図27は第3の実施形態に係るVPN終端装置の内部構成を示す図である。この図27に示すように、第3の実施形態のVPN終端装置は図2に示した第1の実施形態における構成からWANインターフェイスを省いたものである。また、VPN管理サーバを用いない場合には、第2の実施形態の場合と同様に、図27の構成にVPN利用者データベースが追加される。
【0086】
第3の実施形態の動作シーケンスを図28に示す。この図28の前半部の処理は第1の実施形態と同じである。すなわち、VPNクライアント102がVPN管理サーバ105にVPN接続要求を送信し、VPN管理サーバ105が前記接続要求を中継し、VPN終端装置106がVPN管理サーバ105から中継されたVPN接続要求を受信する。VPN終端装置106はVPN接続要求に含まれるネットワーク情報を抽出し、この抽出された情報に基づいて、通信相手ノード104を起動するとともにネットワーク情報を提供し、ネットワーク情報管理表214を更新する、という一連の処理手順を実行する。
【0087】
第3の実施形態ではネットワーク情報の配布形態が第1の実施形態の場合とは異なる。第3の実施形態では複数のネットワーク情報配布装置が存在することから、第3の実施形態で適用するネットワーク情報配布部は、ネットワーク情報の配布先を明示的に指定できるものでなければならない。これには、例えばIPv6のルータアドバタイズメントを通信相手ノードにユニキャストして各種情報を配布する方法が考えられる。IPv4の場合には、DHCPに送受信ペアを明示的に特定する改良を加えた形でメッセージ交換を行ったり、認証情報を伴ったメッセージ交換を利用したり(認証付きDHCPを用いる場合にDHCPサーバ側に必要な秘密情報は、ネットワーク情報の一部としてVPN管理サーバ105から通知するようにしても良いし、VPN終端装置106が管理していてもよい)、その他の専用プロトコルを用いる方法などが考えられる。また遠隔起動依頼の内部に情報取得先のアドレスを埋め込み、事前に通知しておく方法も考えられる(図28のシーケンスはこの方法で記述している)。
【0088】
通信相手ノード104が行う通信がVPNを経由しているものか否かを明確に区別するための方法も必要である。本発明に依らない通常の方法の場合、あらかじめ接続しているルータ装置107がデフォルトルータとして機能している。このため、VPNを経由した通信を本装置が単純に捉えることはできない。第3の実施形態に係るVPN終端装置106は以下の2つの方法のうち、いずれかの方法を使ってVPNを経由した通信を特定し、制御する。
【0089】
第1の方法は、UPnPを使ってルータ装置107にVPN通信を特定する情報を通知し、パケットフィルタなどの特別な処理を適用することである。これによって第1の実施形態でVPN終端装置103が適用していたルールと同等のルールをルータ装置107に適用することができる。例えば、本装置が割り当てたIPアドレスを持つ通信相手ノード104と本装置を利用しているVPNクライアント102が利用するIPアドレスを用いてなされる通信を除く、すべてのVPN通信を遮断する、といったルールをルータ装置107のパケットフィルタに設定することで、VPN通信を特定のノードに限定して許可することが可能となる。もしくは、ルータ装置107の転送状態を変更してVPN終端装置106に再転送させることが可能となる。例えば、本装置が割り当てたIPアドレスを使用する通信相手ノード104が送信したパケットがルータ装置107を通過しようとする際、該パケットを本VPN終端装置103に転送する、という転送ルールをルータ装置107に加えることで、本VPN終端装置が両ノード間でのVPNを経由しない通信に対するゲートウェイとして動作することができる。
【0090】
第2の方法は、ネットワーク情報を配布する際に、VPN管理サーバ105が配布する情報の内容に依らず、デフォルトルータはVPN終端装置106(ネットワーク層及びデータリンク層のアドレスとも)であると通知する方法である。これにより、通信相手ノード104がサブネット外のノードと通信する場合には、そのパケットは必ずVPN終端装置106を通過することになる。
【0091】
以上の2つの方法は、同時に利用することも可能である。そして、この方法により、VPNを経由する通信と経由しない通信を区別し、通信を管理可能となる。図28のシーケンスは、デフォルトルータはVPN終端装置106であるとしてネットワーク情報を配布し、VPN終端装置106にてパケットフィルタを適用しつつ、ルータ装置107についてもパケットフィルタを適用する場合を記述している。また、ノードが起動済みであった場合の処理やVPN継続(接続更新)処理については、第1の実施形態と同様に行うものとする。
【0092】
以上説明した第3の実施形態によれば、LAN上に別のルータ(ネットワーク情報の配布元)が存在する場合であっても、上述した第1又は第2の実施形態と同様の作用効果を得ることができる。
【0093】
[目的のノードが起動していない場合の処理]
上述したすべての実施形態において、遠隔起動部215が通信相手ノード104に対して遠隔起動要求を送信すると、VPN処理部211を通してネットワーク情報配布部213にその旨を通知する。これによりネットワーク情報配布部213は、該通信相手ノード104からのネットワーク情報取得要求を一定時間待ち受ける処理を開始する。遠隔起動部215は起動要求送出を通知した後、VPN処理部211から停止要求がくるまで定期的に遠隔起動要求を送信し続ける。
【0094】
ネットワーク情報配布部213は、該通信相手ノード104からネットワーク情報取得要求を受信するとVPN処理部211を通して遠隔起動部215に遠隔起動要求の停止を通知する。もし、ネットワーク情報配布部213が一定時間待機してもネットワーク情報取得要求を受信できなかった場合には、VPN処理部211に対してその旨を通知するとともに、遠隔起動部215に遠隔起動要求の停止を通知する。
【0095】
[ノード起動時の認証機構]
LANにおいて特定のノードのみを確実に起動するための方法として、本発明の実施形態に係るVPN終端装置が備えていてもよい通信相手ノードの認証機構について述べる。通信相手ノードの認証機構は上述したすべての実施形態において適用可能である。ここで、第2の実施形態に通信相手ノードの認証機構を適用した場合を例に挙げて説明する。
【0096】
通信相手ノードの認証機構を備えたVPN終端装置の構成は図19に示したものと基本的に同様であるが、図20に示したVPN利用者データベース216の構成が次のように変更される。第2の実施形態に係るVPN利用者データベースを図29のように変更される。この図29では、これまでのVPN利用者データベースに比べて、通信相手ノード認証情報のエントリが追加されている。
【0097】
通信相手ノードの認証機構を使ったネットワーク全体での動作シーケンスを図30、図31、図32に沿って説明する。図31及び図32に示す処理フローは図24及び図25に示した第2の実施形態のものとほぼ同じであるが、以下の点が異なる。
【0098】
ステップS2608において、通信相手ノード104に対応する認証情報(チャレンジ)を計算する(ただし、VPN利用者データベース216において対応するエントリに認証情報が格納されている場合にのみ計算を行う。以降のステップは、チャレンジを計算した場合にのみ実行される)。
【0099】
ステップS2609において通信相手ノード104を起動する際に、起動依頼とともに認証情報(チャレンジ)を通知する。
【0100】
ステップS2610において通信相手ノード104は起動依頼から認証情報(チャレンジ)を抽出し、保存する。
【0101】
ステップS2612において通信相手ノード104が起動した後に、ステップS2610において保存した認証情報と通信相手ノード104自身が保有している認証情報に基づいて別の認証情報(レスポンス)を計算する。
【0102】
ステップS2613において、通信相手ノード104がネットワーク情報を要求する際に、ステップS2612において計算した認証情報(レスポンス)を該要求に添付する。
【0103】
ステップS2614において、ステップS2613において通信相手ノード104から受信した認証情報(レスポンス)を確認し、起動要求を行ったノードと同一であることを確認する。
【0104】
VPN終端装置217は起動要求を出す際に認証情報を付加し、対象となるノードが起動後に対応する認証情報を返すことを期待している。この認証情報のやり取りにより、起動を要求したノードとネットワーク情報を要求したノードが同一であることを確認する。
【0105】
一連の手順によって使用される認証情報は、アルゴリズム的に計算される情報を除き、事前にVPN終端装置217と通信相手ノード104との間で共有されているものとする。共有方法は、利用者による手動設定などが考えられる。
【0106】
認証情報(チャレンジ)の計算はVPN処理部211で行い、その計算結果は遠隔起動部215に渡される。遠隔起動部215は渡された認証情報(チャレンジ)を追加して送信する。
【0107】
ネットワーク情報取得要求の受信、及び受信したネットワーク情報取得要求からの認証情報の抽出はネットワーク情報配布部213が行う。ネットワーク情報取得要求から抽出された認証情報(レスポンス)はVPN処理部211に渡される。VPN処理部211は、認証情報(レスポンス)と認証情報(チャレンジ)とを比較する。これにより通信相手ノード104を認証できたならば、ネットワーク情報配布部213は、通信相手ノード104に対しネットワーク情報を割り当ててネットワーク情報取得応答を返す。通信相手ノード104を認証できない場合、ネットワーク情報配布部213は、通信相手ノード104からのネットワーク情報取得要求に対してエラーを返す。
【0108】
図33は上記と同様の手順により認証を行った結果、ネットワーク情報を要求したノードを認証できない場合(ステップS2714)を示している。この場合、VPN終端装置217は通信相手ノード104に対して、ネットワーク情報の提供を拒否する通知を行う(ステップS2715)。また、事前に設定していたネットワーク情報管理表214とパケットフィルタを元に戻し(ステップS2716,S2717)、VPN接続を要求したVPNクライアント102に対しても、接続に失敗した旨を通知する(ステップS2718)。
【0109】
同通知を受けた後の通信相手ノード104の動作は不定であるが、自ら電源を切り起動前の待機状態に遷移してもよいし、してもよいし(ステップS2719)、再度、異なるネットワーク情報の要求を行ってもよい。
【0110】
通信相手ノードの認証機構の拡張は、ここで説明した第2の実施形態以外の実施形態に対しても適用可能である。ただし、VPN管理サーバを利用する実施形態に適用する場合には、認証情報(チャレンジ)の計算と認証情報(レスポンス)の確認をVPN管理サーバが行う。例えば、図6に示した第1の実施形態における動作シーケンスは図34のように変更される。
【0111】
VPN管理サーバ105からのVPN確立要求には認証情報(チャレンジ)が付加されており、VPN処理部211がこの認証情報(チャレンジ)を抽出する。抽出された認証情報(チャレンジ)は遠隔起動部215に渡され、これを遠隔起動部215が遠隔起動依頼に追加して起動対象ノードに送信する。
【0112】
ネットワーク情報取得要求の受信、及び受信したネットワーク情報取得要求からの認証情報の抽出はネットワーク情報配布部213が行う。抽出された認証情報(レスポンス)はVPN処理部211に渡される。VPN処理部211は、この認証情報(レスポンス)をVPN管理サーバ105に転送し、認証情報(チャレンジ)との比較を依頼する。VPN管理サーバ105は、認証情報(チャレンジ)と認証情報(レスポンス)とを比較する。比較結果はVPN管理サーバ105からVPN終端装置103に送られる。これにより通信相手ノード104を認証できたならば、ネットワーク情報配布部213は、通信相手ノード104に対しネットワーク情報を割り当ててネットワーク情報取得応答を返す。通信相手ノード104を認証できない場合、ネットワーク情報配布部213は、通信相手ノード104からのネットワーク情報取得要求に対してエラーを返す。
【0113】
[複数のネットワーク情報提供ノードがLAN上に存在していた場合]
先ず、起動後にネットワーク情報を要求するネットワーク情報通知サーバ(第2の実施形態に係るVPN終端装置217や、DHCPサーバなどに相当する)のアドレスを遠隔起動依頼に含めて起動要求を行う方法について述べる。なお、ここでは第2の実施形態のVPN終端装置217を対象にして説明するが、すべての実施形態において適用可能である。
【0114】
複数のネットワーク情報提供ノードがLAN上に存在するシステムにおける動作シーケンスを図35に示す。この動作シーケンスは図21に示した第2の実施形態に係る動作シーケンスとほぼ同じであるが、以下の点が異なる。
【0115】
すなわち、図35のステップS2908において、VPN終端装置217のアドレスをネットワーク情報通知サーバのアドレスであるとして通信相手ノード104に通知する。ステップS2909において、通信相手ノード104が起動要求とともに通知されたネットワーク情報通知サーバのアドレスを保存する。そして、ステップS2911において通信相手ノード104がVPN終端装置217に対し、そのアドレスを指定して直接的にネットワーク情報取得を要求する点で図21に示した第2の実施形態における動作シーケンスとは異なる。
【0116】
上記ステップS2908において送信されるアドレス付き遠隔起動要求メッセージの例を図36に示す。図36ではWoLを利用するものと仮定してMagic Packet形式を示したが、そのフォーマットは各起動方法に依存する。その他の付加情報とは、図35のシーケンスにおけるステップS2911などを適切に実施するために、クライアント(通信相手ノード104)に通知しておく必要がある各種情報である(例えば通常であればDHCPOFFERで送信すべき情報をここに含めてしまうことを想定している)。
【0117】
図37は、図35の動作シーケンスをDHCPを適用することにより具体化したものを示している。図37では、遠隔起動要求に対し、本来はDHCPOFFERメッセージで通知されるべき各情報を付加おくことによって、通常のDHCPサーバ選択処理が発生しないようにしている。また、通信相手ノード104も通知されたメッセージに含まれていた情報を使って、DHCPREQUESTの状態から動作を開始している。
【0118】
さらに別の方法として、別のネットワーク情報通知サーバが送信した情報を無効化するメッセージをVPN終端装置217から強制的に送出することによって、意図しない情報の利用を無効化(妨害)する方法が考えられる。第2の実施形態に係る動作シーケンスにこの方法を適用したもの、すなわちネットワーク情報取得要求を妨害することによるネットワーク情報通知サーバの選択のシーケンスを図38に示す。
【0119】
図38ステップS3204では、一般的に行われるようにネットワーク情報取得要求がネットワーク上にブロードキャストされ、それに応答する形で意図しないネットワーク情報通知サーバから応答が返される(ステップS3205)。このため、VPN終端装置217がステップS3205で通知された情報を無効化するメッセージを送信する(ステップS3206)。その後、正規のネットワーク情報取得応答を送信することによって、通信相手ノード104にネットワーク情報を通知する。
【0120】
図39はDHCPを例に図38を具体化したものである。また、図40はRouterAdvertisement(RA)を使用して具体化した例を示している。
【0121】
さらに別の方法として、LAN上のネットワーク情報通知サーバ同士が連携して、常に適切なネットワーク情報を通知するという方法も考えられる。第2の実施形態に係る動作シーケンスにこの方法を適用したものを図41に示す。
【0122】
(1)はじめの「ネットワーク情報管理表修正」と「パケットフィルタ設定変更」の間に、連携するネットワーク情報通知サーバの有無を確認する。もし、あれば該サーバに「ネットワーク情報管理表」の変更内容を通知する。この処理をすべての連携サーバに対して繰り返す
(2)上記(1)の変更に伴いエラーが発生した場合に「ネットワーク管理表復元」に関連する操作を同様に通知する処理を行う。
【0123】
(3)「ネットワーク情報取得要求受信待ち」の状態で「同期メッセージ」を受信したかどうかの判断を行う
(4)上記(3)で「同期メッセージ」を受信していれば、ループを抜ける(以降の処理はループ後の「ネットワーク情報取得応答」を行わないこと、ネットワーク管理表を同期メッセージに含まれていた内容で更新することが異なる)
(5)「ネットワーク情報取得要求受信待ち」の状態でネットワーク情報取得要求を受信した場合には、普通にループを抜けた後「ネットワーク管理表修正」と「ネットワーク情報取得応答」の間で「同期メッセージ」を連携して動作するネットワーク情報通知サーバに送信する処理を行う。
【0124】
VPN終端装置217がVPN接続要求を受信すると、同要求によって起動するノードにアサインすべきネットワーク情報を決定する(ステップS3502)。続いて、同ネットワーク情報をLAN上の他のネットワーク情報通知サーバに通知する(ステップS3503)。これにより、LAN上の他のネットワーク情報通知サーバも同じ情報を共有した状態になる。
【0125】
同シーケンスではネットワーク情報取得要求がLAN上にブロードキャストされ、結果として他のネットワーク情報通知サーバが受信した場合を示している。この場合、要求を受信したサーバはVPN終端装置217と同じ情報を持っていることから、適切にネットワーク情報を割り当てることができる(ステップS3507)。割り当てるべき情報が確定したら、その旨をVPN終端装置217に通知して(ステップS3508)、ネットワーク情報管理表214の内容を同期する。同期が完了したら要求元である通信相手ノード104に情報を通知する(ステップS3509)。
【0126】
図42は、図41の手順をRouterAdvertisementを例に具体化したものである。この場合、ステップS3603において通信相手ノード104に割り当てるプレフィックスをLAN上の他のルータに通知する。通信相手ノード104が起動した後、RouterSolicitation(RS)が送信されるとLAN上の各ルータはRouterAdvertisement(RA)で応答する。同図ではVPN終端装置217以外の別のルータがRAで応答している(ステップS3609)。この際、RAに含まれるRouterLifetimeを0にして通知することで、同ルータがデフォルトルータとして採用されないように通知することができる。同様に、ステップS3610においてVPN終端装置217がRAを送信し、プレフィックスを伝えている。このとき、VPN終端装置217は対応するプレフィックスのデフォルトルータとして振る舞うため、適切なRouterLifetimeを設定している。
【0127】
図41の手順はDHCPを利用する場合も同様に適用することができる。このような方法はDHCPサーバの耐障害性を向上する手法として一般的に使用されている。ただし、本実施形態では割り当てるアドレスなどサーバ間で共有される情報はVPN接続をきっかけとして変更される点が異なる。
【0128】
[対象とするノードが事前に起動していた場合の処理]
上述した各実施形態において、VPN接続から要求された通信相手ノードが既に起動している場合、VPN終端装置217の対応方法は大きく3つに分けることができる。
【0129】
第1の方法は、接続を受け付け、(プロトコル的に実現可能であれば)強制的に複数のネットワーク情報を割り当てるというものである(例えば図43で述べたものであり、第1の実施の形態においては第4の変化形として述べた。)。
【0130】
第2の方法は、接続を受け付け、割当て済みネットワーク情報を共有するというものである(例えば図44を参照)。
【0131】
第3の方法は、常に接続を拒否するというものである(例えば図45を参照)。
【0132】
また、後述するようにポリシ制御部とポリシデータベースを設け、通信相手ノードIDやVPN利用者IDなどの情報を考慮しながら、対応を判断する方法を採ることも可能である。
【0133】
[ポリシ制御部及びポリシデータベースの追加に関して]
第2の実施形態について、管理者の設定に基づく種々の条件判断に基づいてVPN終端装置217の動作を変えるように拡張することができる。この拡張を行うため、図19に示した第2の実施形態に係るVPN終端装置217の構成に対し、図46に示すようにポリシ制御部とポリシデータベースを追加する。
【0134】
図46に示されるVPN終端装置は、インターネットなどの広域ネットワークとの接続のための物理的なWANインターフェイス3701、遠隔サイトのVPNクライアントとのVPN接続のための論理的なVPNインターフェイス3702〜3703、LANとの接続のための物理的なLANインターフェイス3704〜3705、論理的なVPNインターフェイスと物理的なLANインターフェイスとの間で透過的にパケットを転送するためのI/Fブリッジ部3706を備える。
【0135】
各インターフェイスを通過するパケットに対して、許可/不許可といった制御を行うパケットフィルタ部3707、パケットフィルタ部3707が適用するポリシを管理しておくパケットフィルタ管理表3708、パケットのフォワーディングを行うフォワーディング部3709、フォワーディング部3709が参照するフォワーディングテーブル3710、VPN関連処理を実行するVPN処理部3711、確立したVPNに関する情報を記憶しておくVPN状態管理表3712、LANに接続するノードに対してアドレスなどのネットワーク情報を割り当てるネットワーク情報配布部3713、ネットワーク情報配布部3713が管理している各種情報を保存しておくネットワーク情報管理表3714、LANに接続するノードを遠隔から起動する命令を送信する遠隔起動部3715、本装置を介してVPNが利用できるVPNクライアント102及び通信相手ノード104に関する情報が記述されたVPN利用者データベース3716、様々な条件下でVPN確立の可否を判断するポリシ制御部3717、ポリシ制御部3717が判断の基準として利用するポリシデータベース3718である。
【0136】
図47は、ポリシデータベース3718の一例を示す図である。ポリシ番号3801は各ポリシを識別するためのIDであり、単なる識別以上の意味は持たない。条件3802は判断の基準となる条件であり、図47では自然言語で記述されているが実際には適切な論理式へと変換されて格納される。また、同条件で使用可能な識別子は本装置内の各管理表やVPN利用者データベース、ネットワークインターフェイス名、ネットワーク情報(アドレスなど)が利用可能である。可・不可3803は条件3802に適合する事象に対して、VPN接続もしくはVPN接続経由でのノード利用を許可するか否かを示すものである。
【0137】
例えば同図に示される0番のポリシでは、VPN終端装置217(図21参照)が複数のVPN接続を受け付け、かつそれら複数のVPN接続を経由したノードXに対する複数のアクセスを許可していることを示す。また1番のポリシでは、ネットワーク情報の複数割当ては許可されていないため、複数のVPN経由のアクセスに対して最初の接続時に割り当てたネットワーク情報を残りの接続でも共有することを示している。同様に、2番のポリシではノードYに対しては複数のVPN経由のアクセスを禁止していることを示しており、3番のポリシはノードZは本装置以外の方法で起動された場合であってもVPN経由のアクセスを禁止することを示している。
【0138】
なお、図47に示したポリシデータベースはあくまで一例であり、発生しうる条件を列挙して対応表を作っても良い。そのような例を図48に示す。
【0139】
追加されたポリシ制御部及びポリシデータベースを使った動作シーケンスの例を示す。
【0140】
図49はVPN終端装置が存在確認を行った場合に当該通信相手ノードから応答があった場合の処理に対して、ポリシデータベースに定義されたポリシを用いてポリシ制御部より判断を行い、VPN確立処理を行うという状況を示している。
【0141】
ステップS4002で行った通信相手ノード存在確認において応答があった場合(ステップS4003)、同ノードは起動していることを示す。その時、もしVPN終端装置217自身が当該ノードを起動させていた場合、通常と同様にネットワーク情報管理表を検索すると、対応するネットワーク情報を取得することができる(S4004)。もし、VPN終端装置217が起動していなかった場合(すなわち利用者が手動で起動させた場合など)は対応する情報が得られない場合がある。
【0142】
いずれの場合も、ノード起動・VPN確立処理はポリシ制御部3717を呼出し、現状況化でVPN接続を許可するか否かの判断を行う。ポリシ制御部3717は、現在の状況(利用者データベース3716、ネットワーク情報管理表3714、VPN状態管理表3712)及びポリシデータベース3718を利用し、対応するVPN接続ならびに通信相手ノード104が利用可能かどうかを判断する。
【0143】
例えば、図47のポリシデータベースを持つVPN終端装置において、通信相手ノードXを利用するVPN接続要求を受け付けていると仮定し、さらに図49におけるステップS4004において対応する情報が見つかった場合(すなわち、かつてVPN終端装置自身が当該ノードを起動させていた場合)を考える。
【0144】
この場合、図47に示したポリシデータベースの0番と1番のポリシが該当し、通信相手ノードXは複数のVPN接続経由のアクセスを受け付ける。割り当てられるネットワーク情報は常に1つということがわかる(このような処理はポリシ制御部3717が行う)。この結果、図49では当該通信相手ノードXが持つネットワーク情報がかつて割り当てた情報(この場合はアドレスのみ)と等しいことを調べ(ステップS4006)、同応答に含まれるアドレスをVPN確立応答とともにVPNクライアントに返している(S4008)。なお、ステップS4007とS4008は省略してもよい。
【0145】
同様に、通信相手ノードZが既に起動している状態でVPN接続要求を受け付けた場合のシーケンスを図50に示す。この場合、図47ポリシ番号3のポリシにより接続が拒否されるため、エラー応答を返している。
【0146】
同様に、図51は既に起動しているノードに対するVPN接続要求を受け付け、かつ対応するポリシが「複数のVPN経由のアクセスを許可する」「複数のネットワーク情報の割当てを許可する」というものであった場合のシーケンスを示す。また、図52はポリシ制御に基づくVPN確立要求処理におけるVPN終端装置内部のシーケンス(配布の前処理まで)を示し、図53は、同シーケンスに対応するVPN終端装置内部の動作フローを示している。
【0147】
この場合、ポリシ制御部3717の判断に基づき、新たなネットワーク情報が必要と判明したため、ステップS4206で該ノードに割当て可能な新しいネットワーク情報を取得し(ステップS4206)、続くステップS4207でネットワーク情報管理表に登録した後、ステップS4208で割当てを行っている。さらに、その情報をステップS4212で返している。
【0148】
なお、一連の動作において、ポリシ制御部で決定された判断に基づいてVPN処理部は種々の動作を行う。前述の3つのシーケンスでは、ネットワーク情報の追加取得があったが、その他にも「割当て済の情報を破棄(更新の禁止)」「割当て済の情報を無効化(即時無効化)」「VPN接続の中断」などの処理が考えられる。いずれも図46に示した構成内で実現可能な動作を行う。
【0149】
[複数のノードを同時に扱う場合の処理]
これまでに述べたすべての実施形態は、1つのVPN接続要求で1つの通信相手ノードと1つのVPNクライアントを通信可能な状態にする方法について述べてきた。ここでは複数のノードに対して同時に扱う方法について述べる。
【0150】
複数のノードを一度に扱えるようにするため、「グループ」という概念を定義する。グループは一つのグループIDと1つ以上のメンバーを示すIDで構成される。また、グループはVPN利用者データベースと同じノードにより管理される。すなわち、VPN管理サーバが存在する場合にはVPN管理サーバにより管理し、存在しない場合にはVPN終端装置により管理する。
【0151】
図54はグループに対応した第2の実施形態におけるVPN終端装置を示す図である。同図は図19の構成にグループデータベース4717が追加されたものである。他の構成要素については図19に示したものとほぼ同様である。
【0152】
グループデータベースの一例を図55に示す。この図に示すように、グループデータベース4717の一つのエントリはグループID、メンバーID、同グループに割り当てるネットワーク情報で構成される。このグループデータベース4717に登録されているグループIDは、VPN利用者データベース4716あるいはポリシデータベース3718(図46参照)において使用することができる。
【0153】
例えば、VPN利用者データベースの通信相手ノードIDとして、図55におけるグループIDであるGID_2が指定されていたと仮定する。この場合、遠隔起動部3715は2つのノードDID_2とDID_4に対して遠隔起動依頼を送信する。また、ネットワーク情報配布部3713は両ノードに対してネットワーク情報を配布する。さらにVPNクライアントに返すVPN確立応答は、グループメンバーの各ネットワーク情報を含んだ形で返される。
【0154】
もし、グループのメンバー内の一部のノードが所望の動作をしなかった場合(例えば、遠隔起動依頼を送信する前に既に起動していた等)には、その動作からの回復処理を実施しても良いし、エラーをVPNクライアントに返しても良い。またこれらの判断をポリシ制御部とポリシデータベースを導入して柔軟に定義できるようにしても良い。
【0155】
以上説明した本発明の実施形態によれば、VPNを利用して遠隔アクセスを実現する際に通信相手ノードを常に起動しておく必要がなくなるため、以下の点が改善される。
【0156】
・システム全体として低消費電力を実現することができる。
【0157】
・通信相手ノードの不正使用を防止でき、セキュリティを向上できる。
【0158】
・VPN終端装置が通信を管理することからVPNを介した通信と通常のLAN内の通信とを明確に区別することができる。これもセキュリティの向上につながる。
【0159】
・VPNを利用する遠隔ノードに特別な設定が不要であることから、利便性を向上できる。
【0160】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【0161】
【図1】本発明の第1の実施形態に係るシステムの全体構成図
【図2】VPN終端装置の内部構成を示すブロック図
【図3】VPN管理サーバの内部構成を示すブロック図
【図4】VPN利用者データベースの詳細を示す図
【図5】VPN終端装置データベースを示す図
【図6】本発明の第1の実施形態に係るシステムの動作シーケンスを示す図
【図7】ネットワーク情報管理表の設定時における値の変化を示す図
【図8】データリンク層に適用するパケットフィルタルールの一例を示す図
【図9】データリンク層に適用するパケットフィルタルールの一例であって、レイヤ3VPNに適用する場合のものを示す図
【図10】ネットワーク層に適用するパケットフィルタルールの一例を示す図
【図11】ネットワーク情報の有効期限更新を説明するための図
【図12】VPN接続延長を説明するための図
【図13】ネットワーク情報の有効期限切れに伴う切断を説明するための図
【図14】VPNクライアントからの明示的な切断を説明するための図
【図15】アクセス先ノードが起動していた場合の処理を説明するための図
【図16】複数のネットワーク管理情報が格納されたVPN状態管理表を示す図
【図17】VPN管理サーバにおけるネットワーク情報の再検索及び再接続を説明するための図
【図18】本発明の第2の実施形態に係るシステムの全体図
【図19】第2の実施形態において用いられるVPN終端装置の内部構成を示す図
【図20】第2の実施形態に係るVPN利用者データベースの構成を示す図
【図21】第2の実施形態における動作シーケンスを示す図
【図22】VPN終端装置内部についての動作シーケンスを示す図
【図23】VPN終端装置内部についての動作シーケンスを示す図
【図24】VPN終端装置内部についての動作を示すフローチャート
【図25】VPN終端装置内部についての動作を示すフローチャート
【図26】本発明の第3の実施形態に係るシステムの全体構成を示す図
【図27】本発明の第3の実施形態に係るVPN終端装置の内部構成を示す図
【図28】第3の実施形態における動作シーケンスを示す図
【図29】通信相手ノード認証を行う場合のVPN利用者データベース
【図30】通信相手ノードの認証機構を使ったネットワーク全体での動作シーケンスを示す図
【図31】通信相手ノードの認証機構を使ったネットワーク全体での動作を示すフローチャート
【図32】通信相手ノードの認証機構を使ったネットワーク全体での動作を示すフローチャート
【図33】ネットワーク情報を要求したノードを認証できない場合の動作シーケンスを示す図
【図34】認証情報(チャレンジ)の計算と認証情報(レスポンス)の確認をVPN管理サーバが行う場合を示す図
【図35】複数のネットワーク情報提供ノードがLAN上に存在するシステムにおける動作シーケンスを示す図
【図36】アドレス付き遠隔起動依頼の例を示す図
【図37】図35の動作シーケンスをDHCPを適用することにより具体化した例を示す図
【図38】ネットワーク情報取得要求を妨害することによるネットワーク情報通知サーバの選択のシーケンスを示す図
【図39】DHCPにより図38を具体化した例を示す図
【図40】RouterAdvertisement(RA)により図38を具体化した例を示す図
【図41】ネットワーク情報通知サーバ間の連携を示す図
【図42】RouterAdvertisementにより図41を具体化した例を示す図
【図43】対象とするノードが事前に起動していた場合の処理であって、強制的に複数のネットワーク情報を割り当てる場合を示す図
【図44】対象とするノードが事前に起動していた場合の処理であって、割当て済みネットワーク情報を共有する場合を示す図
【図45】対象とするノードが事前に起動していた場合の処理であって、常に接続を拒否する場合を示す図
【図46】ポリシ制御部とポリシデータベースが追加されたVPN終端装置の内部構成を示すブロック図
【図47】ポリシデータベースの一例を示す図
【図48】ポリシデータベースの別の例を示す図
【図49】ポリシ制御部に基づくVPN確立要求のシーケンスを示す図
【図50】通信相手ノードが既に起動している状態でVPN接続要求を受け付けた場合のシーケンスを示す図
【図51】ポリシ制御部に基づくVPN確立要求のシーケンスを示す図
【図52】ポリシ制御に基づくVPN確立要求処理におけるVPN終端装置内部のシーケンスを示す図
【図53】図52のシーケンスに対応するVPN終端装置内部の動作を示すフローチャート
【図54】グループに対応した第2の実施形態におけるVPN終端装置を示す図
【図55】グループデータベースの一例を示す図
【符号の説明】
【0162】
101…広域ネットワーク(インターネット);102…VPNクライアント;103…VPN終端装置;104…通信相手ノード;105…VPN管理サーバ
【技術分野】
【0001】
本発明は仮想私設通信網(Virtual Private Network、以下「VPN」という。)に係り、特に、遠隔サイトのクライアントノードからの要求に応じてネットワーク内の通信相手ノードを遠隔起動し、該通信相手ノードにネットワーク情報を付与する通信装置、通信方法、及びプログラムに関する。
【背景技術】
【0002】
ネットワークに接続されたノードを遠隔から起動する仕組みとして、Wake on LAN(WoL)が利用されている。WoLによれば、VPNを用いてアクセスされるノードの電源を常時、ONにしておく必要がない。しかし、WoLは同一LAN内での利用を前提としており、インターネットなどの広域ネットワークを越えて利用することはできない。これに対し、下記特許文献1及び下記特許文献2には、インターネットを越えてノードを遠隔から起動する方法について記載されている。
【特許文献1】特開2003−319083号公報
【特許文献2】特開2005−51473号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
多くのネットワークでは動的ホスト構成プロトコル(Dynamic Host Configuration Protocol;DHCP)を使った動的なアドレスの割当て及び管理が行われており、実際にアクセスする際に、ネットワーク内の個々のノードが持つアドレスが不定となる。これは、遠隔サイトのクライアントノードからネットワーク内の通信相手ノードを遠隔起動してVPN通信を行う場合に問題となる。アドレス不定が問題となる場合、遠隔サイトのノードに対する通信相手のノードのIPアドレスを不変(固定IP)にするか、通信相手ノードのアドレスを解決する手段をVPNシステム、アクセス元VPNクライアント、該通信相手ノード自体のいずれかが備えていなければならない。
【0004】
また、アドレス不定の問題が生じる場合には、該通信相手ノードが行う通信が、ローカルエリアネットワーク内で行われる通常の通信であるか、それともVPNを用いた特定の通信であるかをIPアドレスなどのネットワーク層アドレスを用いて区別することも困難である。
【0005】
本発明は、遠隔サイトのノードに対する通信相手ノードを該遠隔サイトのノードからの要求に応じて遠隔起動し、その際にアドレス解決のための情報を含むネットワーク情報を該通信相手ノードに割り当てる通信装置、通信方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一観点に係る通信装置は、第1の通信装置と第2の通信装置との間の仮想私設網(VPN)通信を制御する通信装置において、前記第1の通信装置のノードIDに対し、前記第2の通信装置のID、該第2の通信装置のMACアドレス及び該第2の通信装置のネットワーク情報を関連付けるVPN利用者データベースと、前記第1の通信装置のノードID及び前記第2の通信装置のノードIDを含んだVPN接続要求を受信し、該第1の通信装置のノードID及び第2の通信装置のノードIDにより前記VPN利用者データベースを参照して前記第2の通信装置のMACアドレスを求め、該第2の通信装置のMACアドレスを含んだ遠隔起動依頼を生成するVPN処理部と、前記遠隔起動依頼に含まれるMACアドレスにより特定される前記第2の通信装置を遠隔起動する遠隔起動部と、前記遠隔起動部により起動された前記第2の通信装置から情報取得要求を受信し、該情報取得要求に応じて前記ネットワーク情報を該第2の通信装置に対して配布するネットワーク情報配布部と、を具備する。
【発明の効果】
【0007】
本発明によれば、遠隔サイトのノードに対する通信相手ノードを該遠隔サイトのノードからの要求に応じて遠隔起動し、その際にアドレス解決のための情報を含むネットワーク情報を該通信相手ノードに割り当てる通信装置、通信方法、及びプログラムを提供できる。
【発明を実施するための最良の形態】
【0008】
以下に説明する実施形態はVPNの接続管理、通信相手ノードの起動、通信相手ノードに対する、アドレスを含むネットワーク情報の配布、及び通信相手ノードの通信管理等を行うVPN終端装置に本発明を適用したものである。
【0009】
(第1の実施形態)
図1は本発明の第1の実施形態に係るシステムの全体構成図である。図1において、101はインターネットなどの広域ネットワーク、102はVPNを用いて遠隔サイトへの接続を行うVPNクライアント、103はVPN接続を終端するとともにアドレスなどのネットワーク関連情報の配布機能及び通信を制限する機能を有するVPN終端装置、104はVPNを経由して接続される通信相手ノード、105はVPN接続要求を仲介し、管理するVPN管理サーバである。なお、VPN終端装置103はネットワーク上のノードを遠隔から起動するための機構を持ち、通信相手ノード104はVPN終端装置103が送信する起動要求に基づいて自身を起動する機構を備える。さらにVPN終端装置103はルータであり、該サイトと広域ネットワークとを接続する機能を備える。
【0010】
図2はVPN終端装置の内部構成を示すブロック図である。VPN終端装置103はインターネットなどの広域ネットワーク101との接続のための物理的なWANインターフェイス201、遠隔サイトのVPNクライアントとのVPN接続のための論理的なVPNインターフェイス202〜203、LANとの接続のための物理的なLANインターフェイス204〜205、論理的なVPNインターフェイスと物理的なLANインターフェイスとの間で透過的にパケットを転送するためのI/Fブリッジ部206を有する。
【0011】
また、VPN終端装置103は、上記の各インターフェイスに到来するパケットに対してその通過の許可及び不許可の制御を行うパケットフィルタ部207、パケットフィルタ部207に適用されるポリシが記述されたパケットフィルタ管理表208、パケットのフォワーディングを行うフォワーディング部209、フォワーディング部209が参照する転送データベース(DB)210、VPN関連処理を実行するVPN処理部211、確立したVPNに関する情報を記録するVPN状態管理表212、LANに接続するノードに対してアドレスなどのネットワーク情報を割り当てるネットワーク情報配布部213、ネットワーク情報配布部213が管理している各種情報を保存するためのネットワーク情報管理表214、LANに接続するノードを遠隔から起動する命令を送信する遠隔起動部215を有する。
【0012】
なお、アクセス先のLANと通信相手ノードとの間でネットワーク層データグラムを交換するレイヤ3VPNを構築する場合には、ブリッジ部206を設けなくても良い。本発明の実施形態では、通信制限をパケットフィルタにより行うものと仮定しているためパケットフィルタ部207を備えているが、パケットフィルタとは異なる別の方法により通信制限を行っても良い。
【0013】
図3はVPN管理サーバの内部構成を示すブロック図である。VPN管理サーバ105は、インターネットなどの広域ネットワーク101と接続するためのインターフェイス301〜302、VPNクライアント102とVPN終端装置103との間でVPN関連のメッセージを中継するVPN中継部303、VPN管理サーバ105が中継を行うことによって確立されたVPN接続の状態を記述するVPN状態管理表304、VPN管理サーバ105を介してVPNを利用可能なVPNクライアント、VPN終端装置、及び通信相手ノードに関する情報を記憶するVPN利用者データベース305、VPN管理サーバ105を介してVPN接続を受け付けるVPN終端装置103のネットワーク情報を記憶するVPN終端装置データベース306を有する。
【0014】
第1の実施形態に係るシステムにおいて、VPNを確立して通信を行うためには、はじめにVPN管理サーバ105が管理するVPN利用者データベース305を準備する必要がある。
【0015】
図4にVPN利用者データベース305の詳細を示す。VPN利用者データベース305は、利用者ノードID、VPN終端装置ID、通信相手ノードID、通信相手ノードMACアドレス、通信相手ノードネットワーク情報の4つの情報から構成される。
【0016】
利用者ノードIDはVPN利用者(VPNクライアント)を特定する識別子である。VPN終端装置IDは、利用者ノードIDで特定されるVPNクライアントが使用するVPNを終端するノード(VPN終端装置)の識別子である。
【0017】
通信相手ノードMACアドレスは、VPN終端装置により終端されるVPNを使ってVPNクライアントが通信する相手のノード(通信相手ノード)のMACアドレスである。通信相手ノードIDはVPNクライアントがVPNを介して通信を行う通信相手ノードの識別子である。
【0018】
通信相手ノードネットワーク情報は、通信相手ノードに対して、その起動時に付与されるIPアドレス、デフォルトゲートウェイ、DNSサーバ、ドメイン名などのアドレス解決のための情報を含むネットワーク情報のことである。
【0019】
なお、通信相手ノードネットワーク情報に格納される情報は、前述の内容のみに限定されるものではなく、VPN終端装置103内のネットワーク情報配布部213が配布可能な他の情報を含んでも良い。
【0020】
VPN利用者データベース305は、ネットワーク管理者によって事前に設定されるか、VPN利用者が自らWebブラウザなどを使って設定するか、もしくは登録プロトコルによって自動的に設定されてもよく、種々の方法が用いられる。
【0021】
図5にVPN終端装置データベースを示す。VPN終端装置データベース306はVPN終端装置ID、アドレス1〜アドレスNからなるエントリを有する。
【0022】
VPN終端装置IDには、図4に示したVPN利用者データベース305に含まれているVPN終端装置IDのうち、ある時点で利用可能なVPN終端装置のIDが記述される。つまり、VPN利用者データベース305に登録されていても現時点ではオフライン状態であるならば、そのVPN終端装置のIDはVPN終端装置データベース306には存在しない。
【0023】
アドレス1〜アドレスNにはVPN終端装置IDによって特定されるVPN終端装置が使用しているネットワーク層アドレスが記述される。ネットワーク層アドレスには、例えばIPv4アドレスやIPv6アドレスがある。
【0024】
VPN終端装置データベース306は、VPN管理サーバ105とVPN終端装置103との間で利用可能な種々の情報確認プロトコルを使って構築される。例えば、ダイナミックDNSによる登録、HTTPを使った特定Webページへのアクセス、SIPを使ったプレゼンス情報の登録といった手段が利用可能である。この他にも、VPN終端装置103からVPN管理サーバ105に対して自己の識別情報とネットワークアドレス情報を送信可能なプロトコルを利用できる。
【0025】
なお、前述のように利用可能なノードのみを登録することによってVPN終端装置データベース306を構成することもできるが、利用可否というエントリをVPN利用者データベース305に追加して利用可/不可を区別するようにしても良い。いずれにせよ、利用可能なVPN終端装置103の情報を管理できる形式であれば良い。
【0026】
VPN状態管理表304には、図4に示したVPN利用者データベース305のエントリに対し「状態」、「確立時刻」、「有効期限」の3つのエントリを追加したものが登録される。「状態」には、接続処理中と接続中の2つの状態のいずれかが記述され、「確立時刻」にはVPN接続が確立もしくは更新された時刻が記述され、「有効期限」にはVPN接続の有効期限が記述される。これらのエントリは、VPNクライアント102もしくはVPN終端装置103からの確立要求、更新要求、あるいは切断要求をVPN中継部303が処理した際に更新される。図4のVPN利用者データベース305において通信相手ノードMACアドレスの欄に複数のエントリが登録されているとき、VPN状態管理表304には、この複数のエントリのうち実際に使用されているエントリに対応する情報のみが記述される。
【0027】
図6は第1の実施形態に係るシステムの動作シーケンスを示す図である。この動作シーケンスの概略を述べると、遠隔のVPNクライアント102からのVPN確立要求によりVPN終端装置103がVPNクライアント102に対する通信相手ノード104を起動し、同VPN終端装置103がこの起動した通信相手ノード104に対してネットワーク情報の配布及び通信管理設定を行う、というものである。以下、動作シーケンスの詳細を説明する。
【0028】
先ずVPNクライアント102がVPN接続要求をVPN管理サーバ105に向けて送信する。このVPN接続要求はVPNクライアント102のID(利用者ノードID)、VPN終端装置ID、及び通信相手ノードIDを含んでいる。
【0029】
VPN管理サーバ105がVPN接続要求を受信すると、VPN中継部303はその要求内容を検査する。この検査は次のステップを含む。
【0030】
(1)要求送信元を示す利用者ノードIDがVPN利用者データベース305に登録されていること
(2)要求に含まれるVPN終端装置IDが、要求送信元を示す利用者ノードIDとVPN利用者データベース305において関連付けられていること
(3)要求に含まれるVPN終端装置IDがVPN終端装置データベース306に存在すること(利用可能とされていること)。
【0031】
(4)要求に含まれるVPN終端装置IDに対応するアドレスがVPN終端装置データベース306において1つ以上格納されていること
(5)要求に含まれる通信相手ノードIDが、VPN利用者データベース305における利用者ノードID及びVPN終端装置IDの2つの情報で特定されるエントリに含まれていること
(6)通信相手ノードIDに対応する通信相手ノードMACアドレスが、VPN利用者データベース305に登録されていること
(7)通信相手ノードIDに対応する通信相手ノードネットワーク情報が、VPN利用者データベース305に登録されていること
以上の検査ステップを経て必要な情報がすべて存在することが確認されたら、当該VPN接続要求内の各エントリを抽出する。続いて、VPN管理サーバ105のVPN中継部303は抽出したエントリに基づいてVPN状態管理表304を書き換えるとともに、VPN接続要求をVPN利用者データベース305で特定されるVPN終端装置103に対して送信する。これによりVPNクライアント102からVPN終端装置103へのVPN接続要求はVPN管理サーバ105により中継される。なお、中継されるVPN接続要求は、VPNクライアント102から送信されたVPN接続要求に加え、通信相手ノードMACアドレス及び通信相手ノードネットワーク情報を含んでいる。通信相手ノードMACアドレス及び通信相手ノードネットワーク情報は、VPN接続要求から抽出したエントリ(利用者ノードID、VPN終端装置ID、通信相手ノードID)によりVPN利用者データベース305を検索して取得されるものである。
【0032】
なお、1つのVPN接続要求にすべての情報を格納することとせずに、VPNクライアント102からのVPN接続要求のみを含むVPN接続要求と、それに続くネットワーク情報通知とからなる構成としてもよい。また、これらの一連の要求と応答は適切な暗号・認証手法などを用いて保護することが好ましい。
【0033】
次に、VPN管理サーバ105から中継されたVPN接続要求を受信したVPN終端装置103は、このVPN接続要求から通信相手ノードMACアドレス、及び通信相手ノードネットワーク情報を抽出する。
【0034】
続いて、抽出した通信相手ノードMACアドレスを持つノードがネットワーク上に存在し動作しているかどうかを確認する。これは、レイヤ2レベルのアドレス解決を行うパケットを送信することで行い、例えばIPv4のARPやIPv6のNeighbor Discoveryが利用できる。
【0035】
上記確認手順によって、VPN接続要求で指定されたMACアドレスを持つノードが既に起動していた場合には、該ノードに割り当てられているネットワーク情報の有無を確認する。これはVPN終端装置103内のネットワーク情報管理表214に、該ノードについて、前記受信したVPN接続要求に含まれているネットワーク情報と同一の情報が存在するか否かを確認することによって行う。この結果、既に同じ情報が配布されていることが判明した場合には、起動/配布処理を省略し、後述するパケットフィルタの変更処理を行う。もし、違う情報が配布されている場合には利用するネットワークプロトコルによって対応を変える必要がある。これについては第4の変形例として後述する。
【0036】
確認手順によってVPN接続要求で指定されたMACアドレスを持つノードが起動していないことが確認できた場合(すなわちARPやNeighbor Discoveryに対して応答がなかった場合)には、ネットワーク情報管理表214に前記VPN接続要求で受信したネットワーク情報を記述する。続いて、該MACアドレスを持つノードすなわち通信相手ノード104を起動し、この通信相手ノード104に対してネットワーク情報を付与するステップを実行する。
【0037】
通信相手ノードの起動からネットワーク情報の付与までの一連の処理の手順は以下の通りである。
【0038】
VPN終端装置103内のネットワーク情報管理表214は、受信したVPN確立要求から抽出された情報によって適切に設定される必要がある。図7にネットワーク情報管理表の設定時における値の変化を示す。一連の処理を行う前に、VPN終端装置103のネットワーク情報管理表214が図7の上段の状態であったと仮定する。このとき、新規にVPN確立要求を受信し、その中からネットワーク情報を抽出すると、この抽出されたネットワーク情報は図7中段に示すように同表214に追加される。
【0039】
ネットワーク情報管理表214に適切に情報が追加されたら、VPN終端装置103の遠隔起動部215は、通信相手ノード104を遠隔起動する。具体的には、VPN終端装置103の内部では、VPN処理部211から遠隔起動部215に対して、起動すべきノードのMACアドレスを伴った起動依頼が通知される。遠隔起動部215は、このVPN処理部211からの依頼に基づいて、指定されたMACアドレスを持つノードを起動する処理を行う。これには広く用いられているWake on LAN(WoL)などの仕組みを利用しても良いし、個々の機器や通信メディアに特化した別の方法を利用しても良い。ここで述べるVPN終端装置103ならびにVPN管理サーバ105は、これら複数の起動方法に対応するものとして実施することも可能である。その場合、通信相手ノード104とその起動方法との対応を管理しなければならない。この管理は、VPN管理サーバ105がVPN利用者データベース305内に起動方法の種別を示す情報を記憶し、ネットワーク情報とともにVPN終端装置103に通知する方法や、通信相手ノードIDと起動方法との対応関係をVPN終端装置103が独立して管理する方法などが考えられる。
【0040】
遠隔起動部215によって遠隔起動処理が行われた結果、VPN接続要求に含まれていた通信相手ノード104の起動処理が開始されたと仮定する。一般に、動的にネットワーク情報を取得するように設定されているノードは、起動処理の途中でアドレスを含めた各種ネットワーク情報を動的に取得する(静的に取得するように設定されている場合には、本発明で解決すべき問題自体が起こりえないため、ここでは除外する)。このとき、通信相手ノード104がネットワーク情報の取得に利用するプロトコルは、前述のVPN終端装置103のネットワーク情報配布部213が対応可能なプロトコル(例えばDHCP)でなければならない。通信相手ノード104の起動方法を通信相手ノード104ごとに特定する場合と同様に、起動すべきノードとネットワーク情報の配布に使用するプロトコルとの対応関係は、通信相手ノード104ごとに変更してもよい。その場合、VPN管理サーバ105から通知しても良いし、VPN終端装置103が独立して管理しても良い。独立して管理する場合には、通信相手ノードIDと配布方法の対応を管理することになる。
【0041】
通信相手ノード104からの情報取得要求は、VPN終端装置103が受信し、同装置のネットワーク情報配布部213において処理される。ネットワーク情報配布部213はネットワーク情報管理表214を参照し、該情報取得要求の送信元MACアドレスが表中に記録されているか否かを確認する。もし、表中に記録されていれば、そのエントリを取得する。表中に記録されていない場合には、該要求はこのVPN終端装置103が管理すべき情報ではないものと判断して無視する。ネットワーク情報配布部213は、ネットワーク情報管理表214中に記録されたエントリを取得すると、図7の下段に示すように該エントリに対して配布時刻と有効時刻を記入する。配布時刻とは、情報を該当ノードに配布した時刻であり、ここでは現在時刻が記入される。有効時刻とはネットワーク情報配布部213及びVPN管理サーバ105のポリシに基づく、配布された情報の有効期限を示す時刻である。後述するように、VPN終端装置103は、有効時刻までに有効期限の延長要求(VPN接続延長(更新)に伴うネットワーク情報の再取得要求)がなかった場合には、対応するVPN接続を切断する。
【0042】
ネットワーク情報配布部213は、通信相手ノード104から受信した情報取得要求に対する応答として、配布すべき情報を含む情報取得応答を送り返す。情報取得応答を受信した通信相手ノード104は、応答内から適切に情報を取り出してネットワークインターフェイスなどを適切に設定する。ここまでの処理が完了すると、VPN終端装置103はノードの接続状況を確認する処理を行う。これには前述の存在確認と同様にARPやNeighbor Discoveryを用いて行うものとする。
【0043】
通信相手ノード104の存在及び設定が確認できたら、VPN管理サーバ105に対してVPN確立応答を返す。このVPN確立応答には、通信相手ノード104に実際に配布したネットワーク情報が含まれる。VPN確立応答を受信したVPN管理サーバ105は、自身が管理するVPN状態管理表304から対応するエントリを検索し、このエントリがVPN接続確立の処理中のエントリであることを確認する。VPN確立応答が確立処理中の接続要求に対する応答であることが確認できたならば、VPN接続要求を送信したVPNクライアント102に対してVPN確立応答を送信する。VPN終端装置103からVPNクライアント102に対するVPN確立応答は通信相手ノード104のアドレス情報を含んでおり、VPN管理サーバ105によって中継されることになる。なお、VPN管理サーバ105は、VPN終端装置103から受信したVPN確立応答が確立処理中の接続に対する応答であると判断できなかった場合には、その応答を破棄する。
【0044】
VPN確立応答を受信したVPNクライアント102は、同応答に含まれるVPN通信相手ノード104のアドレスを利用して通信相手ノード104にアクセスすることが可能となる。
【0045】
以上説明したように遠隔のVPNクライアント102からのVPN確立要求により、VPN管理サーバ105が指定したネットワーク設定によって通信相手ノード104が起動し、ネットワーク情報が設定されるのであるが、この一連のノード起動処理に並行して、パケットフィルタに関する処理も併せて行われる。この処理によって、通信相手ノード104とVPNクライアント102のみが通信できる状態を作り出す。この処理は次のように行われる。
【0046】
VPN処理部211が受信したVPN確立要求から抽出されたネットワーク情報は、ネットワーク情報管理表214に記録されるとともに、VPN処理部211自身も利用する。VPN処理部211はパケットフィルタ部207の能力に併せて、VPN管理サーバ105から通知された情報などを用いてパケットフィルタルールを生成する。ここで生成するルールは、システムごとのポリシに基づいて決定される。このポリシの例として「通信相手ノードとVPNクライアントのみがVPN通信を可能にする」というものがある。ルールを適用する対象としては様々なものが考えられるが、ここでは一例としてデータリンク層及びネットワーク層で適用する例を挙げる。
【0047】
図8はデータリンク層に適用するパケットフィルタルールの一例を示している。この例は第1乃至第4のルールを有する。第1のルールは、LANインターフェイスから入力されてVPNインターフェイスに送信されるデータリンクフレームのうち、送信元をMAC2、受信先をRC_MAC1とするフレームのみを許可するというものである。第2のルールではVPNインターフェイスから入力されてLANインターフェイスに送信されるデータリンクフレームのうち、送信元をRC_MAC1、受信先をMAC2とするフレームのみを許可する。続く第3及び第4のルールでは、上記以外のデータリンクフレームの通過を禁止する。本ルールはデータリンク層フレームが通信相手ノードとVPNクライアントの間で転送されるレイヤ2VPNの場合に適用される。
【0048】
図9は同じくデータリンク層に適用するパケットフィルタルールの一例であって、レイヤ3VPNに適用する場合のものである。このルールでは出力I/Fの指定がなく、VPN終端装置のMACアドレス(L_MAC1)を利用する。
【0049】
図10はネットワーク層に適用するパケットフィルタルールの一例である。この例では、第1乃至第6のルールを有する。第1のルールは、LANインターフェイスから入力されてVPNインターフェイスに送信されるデータグラムのうち、送信元をIP2、受信先をRC_IP1とするデータグラムのみを許可するというものである。第2のルールではVPNインターフェイスから入力されてLANインターフェイスに送信されるデータグラムのうち、送信元をRC_IP1、受信先をIP2とするデータグラムのみを許可する。続く第3乃至第6のルールではそれ以外のデータグラムの通過を禁止する。
【0050】
また、以上のパケットフィルタルールはあくまで一例であって、本発明の実施形態に係るシステムがすべてこのルールを設定する訳ではない。作成したパケットフィルタルールはパケットフィルタ管理表208に格納しておく。
【0051】
以上でVPN接続要求からノードの起動、パケットフィルタの設定による通信制限の設定までの処理は完了する。引き続き、VPN接続後の動作について述べる。
【0052】
図11に示すように、VPN終端装置103は、定期的にVPN接続の更新要求が行われていること、ならびに、定期的に通信相手ノード104がネットワーク情報の有効期限を更新していることを確認する。有効期限の更新は、それぞれのプロトコルで定められた方法に従って行われる。仮にDHCPを用いる場合には、DHCPの有効期限とその更新手続を使って実現される。
【0053】
同様に、VPNクライアント102は確立済みVPN接続に対する接続の延長を定期的に要求する。これは図12に示すように、新規の接続要求時と同様に、VPNクライアント102からVPN接続更新要求をVPN管理サーバ105に対して送信することで行う。接続更新要求時の処理の手順は、LAN側で通信相手ノード104を起動しないこと、及びパケットフィルタなど設定済みの情報を変更しないことを除き、新規のVPN確立要求時の処理と同様である。
【0054】
VPN接続の更新手続が行われなかった場合、図13に示すようにVPN終端装置103は、対応するVPN接続を切断する。また、パケットフィルタ管理表208で管理している情報に基づいてパケットフィルタの設定を変更し、該当するVPNクライアント102及び通信相手ノード104が互いに通信できないようにする。同時に、VPNの切断をVPN管理サーバ105経由でVPNクライアント102に通知する。
【0055】
また図14に示すように、VPNクライアント102は、任意のタイミングでVPN切断要求を送ることが可能である。VPN切断要求はVPN確立要求と同様にVPN管理サーバ105を経由してVPN終端装置103に送られる。VPN切断要求を受信したVPN終端装置103は、切断要求に対応するVPN接続の有無を確認し、確立済みのVPNがあれば、それを切断する。続いて、ネットワーク情報管理表214から該当するエントリを削除し、ネットワーク情報配布部213が更新要求に応答しないようにする。併せて、パケットフィルタ管理表208で管理しているパケットフィルタ情報に基づいてパケットフィルタを変更し、該当するVPNクライアント102及び通信相手ノード104が互いに通信できないようにする。
【0056】
以上説明した本発明の第1の実施形態によれば、遠隔サイトのVPNクライアント102に対する通信相手ノード104を該VPNクライアント102からの要求に応じて遠隔起動し、その際にアドレス解決を含むネットワーク情報を通信相手ノード104に割り当てることができる。
【0057】
続いて、第1の実施形態に基づいて実現可能な幾つかの変形例について述べる。
【0058】
第1の変形例は、VPN接続要求で要求された通信相手ノード104の最初の起動チェックにおいて、既に通信相手ノード104が起動していた場合の処理に関する。前述の処理手順では、通信相手ノード104が既に起動していたらネットワーク情報を確認し、同じ情報が割り当てられていたら処理を継続している。第1の変形例では、図15に示すように、通信相手ノード104が既に起動していた場合に、VPN終端装置103が処理を中断してVPN接続拒否を示す応答をVPN管理サーバ105に返答する。このVPN接続拒否応答を受信したVPN管理サーバ105は、自身が管理しているVPN状態管理表304を検索し、確立処理中の接続に対する接続拒否応答であることを確認する。これが確認できた場合には、VPN管理サーバ105は要求送信元であるVPNクライアント102に対して、接続拒否応答を送信(中継)する。
【0059】
第2の変形例は、VPN管理サーバ105から通知されたネットワーク情報を別のノードが使っていることがVPN終端装置103において検出できた場合である。この検出は、通信相手ノード104が起動しているか否かに依らない。この場合、VPN終端装置103はVPN管理サーバ105に対してVPN接続拒否を示す応答を返す。このVPN接続拒否応答を受信したVPN管理サーバ105は第1の変形例と同様にVPN状態管理表304を修正して、VPNクライアント102に対して接続拒否応答を送信(中継)する。
【0060】
ただし、前述の2つの手順においてVPN管理サーバ105は別の動作を取ることも可能である。例えば図16に示すように、対応するネットワーク情報が複数、VPN状態管理表212に登録されている場合を考える。この場合、VPN管理サーバ105は複数の候補から利用可能なものを選択して、再度、VPN終端装置103に接続要求を再送し、確立を試みることができる。なお、複数のエントリを記述する代わりに、VPN利用者データベース305に記載するネットワーク情報に一定の自由度を持たせた記述を採用し、VPN管理サーバ105はその一部を任意に選択して送信するようにしても良い(例えば、利用可能なIPアドレスの範囲を記述しておき、VPN管理サーバ105が範囲内の一つのアドレスを通知するといった方法が考えられる)。この間、当初の接続要求を送信したVPNクライアント102には、接続中などの一時的な応答を送信しておいても良いし、送信しなくても良い。一連のシーケンスを記述したものを図17に示す。以上を第3の変形例とする。
【0061】
第4の変形例は、通信相手ノード104は起動しているものの、VPN接続要求と同じ情報が割り当てられていない場合(VPN接続要求で通知された情報とは異なる情報で動作している場合)である。この状態であることを検出したVPN終端装置103は、通信相手ノード104が複数のネットワーク情報を管理できる場合に限り、VPN接続要求で通知された情報を追加で割り当てることができる。例えばIPv6を使うネットワークにおいて、Router Advertisementを特定のノードに向けて送信したり、DHCPサーバからノード特定してプレフィックスを配布したりすることによって、特定のノードにのみ別のアドレスを配布する、といった方法が利用できる。
【0062】
(第2の実施形態)
図18は第2の実施形態に係るシステムの全体図である。この図18に示す構成は、図1に示した第1の実施形態のシステム構成からVPN管理サーバ105を除いたものに相当する。図19は第2の実施形態において用いられるVPN終端装置の内部構成を示す図である。第2の実施形態に係るVPN終端装置217は、図2に示した第1の実施形態に係るVPN終端装置103の内部構成に対しVPN利用者データベース216を追加したものに相当する。図20は第2の実施形態に係るVPN利用者データベース216の構成を示す図であって、図4に示したVPN利用者データベース305の構成からVPN終端装置IDが削除されている。
【0063】
第2の実施形態における動作シーケンスを図21に示す。基本的には第1の実施形態と同じであるが、VPN管理サーバによる中継処理が削除されている点で第1の実施形態とは異なる。第2の実施形態では、インターネット上に公開されたVPN管理サーバが存在しないため、VPN終端装置217のアドレス情報を何らかの手法により入手できるようにしておく必要がある。これには静的アドレス割当てや、ダイナミックDNSを利用するなどの方法が考えられる。図21のシーケンスに含まれない各シーケンス(ノードが起動済みであった場合の処理、接続の更新処理など)は、VPN管理サーバが配布する情報を変えて再送を試みる形態(第1の実施形態乃至第3の変形例)を除き、第1の実施形態と同じである。
【0064】
以下、第2の実施形態に係るシステムの動作シーケンスを、図22及び図23に示すVPN終端装置217内部についての動作シーケンスならびに図24及び図25に示すフローチャートに沿って説明する。
【0065】
先ずVPNクライアント102がVPN接続要求をVPN終端装置217に向けて送信する。このVPN接続要求はVPNクライアント102のID(利用者ノードID)及び通信相手ノードIDを含んでいる。VPN終端装置217のVPN処理部211はVPN接続要求を受信する(図24のS1701)。
【0066】
VPN処理部211はその要求内容を検査する。この検査は次のステップを含む(図24のS1702)。
【0067】
(1)要求送信元を示す利用者ノードIDがVPN利用者データベース216に登録されていること
(2)通信相手ノードIDに対応する通信相手ノードMACアドレスが、VPN利用者データベース216に登録されていること
(3)通信相手ノードIDに対応する通信相手ノードネットワーク情報が、VPN利用者データベース216に登録されていること
以上の検査ステップを経て必要な情報がすべて存在することが確認されたら、当該VPN接続要求内の各エントリを抽出する。
【0068】
次に、VPN終端装置217のVPN処理部211は、VPN接続要求に記載された通信相手ノードIDに対応する通信相手ノードMACアドレス及び通信相手ノードネットワーク情報をVPN利用者データベース216から抽出する(図24のS1703)。
【0069】
続いて、抽出した通信相手ノードMACアドレスを持つノードがネットワーク上に存在し動作しているかどうかを確認する(図24のS1704)。このため、VPN処理部211は遠隔起動部215に通信相手ノードの存在確認依頼を送信する。遠隔起動部215は存在確認依頼を受信すると、レイヤ2レベルのアドレス解決を行うパケット(確認パケット)を送信する。これには、例えばIPv4のARPやIPv6のNeighbor Discoveryが利用できる。
【0070】
上記確認手順によって、該当するMACアドレスを持つノードが既に起動していた場合(図24のS1705=NO)には、遠隔起動部215は通信相手ノード存在確認応答をVPN処理部211に通知する。これに応じてVPN処理部211はVPNクライアント102に対しVPN確立応答(エラー)を返す。一方、確認手順によってVPN接続要求で指定されたMACアドレスを持つノードが起動していないことが確認できた場合(すなわちARPやNeighbor Discoveryに対して応答がなかった場合;図24のS1705=YES)には、遠隔起動部215は通信相手ノード非存在確認応答をVPN処理部211に通知する。これに応じてVPN処理部211は、ネットワーク情報管理表214を上記抽出したネットワーク情報で修正する(図24のS1706)。さらに、パケットフィルタの設定変更処理を行う(図24のS1707)。
【0071】
続いて、上記抽出した通信相手ノードMACアドレスを持つノード、すなわち通信相手ノード104を起動する(図24のS1708)。通信相手ノード104の起動からネットワーク情報の付与までの一連の処理の手順は以下の通りである。
【0072】
遠隔起動部215は、通信相手ノード104を遠隔起動する。具体的には、VPN終端装置217の内部では、VPN処理部211から遠隔起動部215に対して、起動すべきノードのMACアドレスを伴った遠隔起動依頼が通知される。遠隔起動部215は、このVPN処理部211からの遠隔起動依頼に基づいて、指定されたMACアドレスを持つノードを起動する処理を行い、遠隔起動開始通知をVPN処理部211に送信する(図24のS1709)。遠隔起動の方法としては、第1の実施形態において挙げたWake on LAN(WoL)などの仕組みを利用しても良いし、個々の機器や通信メディアに特化した別の方法を利用しても良い。VPN終端装置は、通信相手ノードごとに起動処理方法を変更可能な装置として実施することも可能である。その場合、起動方法は、通信相手ノードIDと起動方法を特定する識別子とを関連付けてVPN終端装置が管理したり、VPN接続要求に起動方法を特定する識別子を含めて該VPNクライアントが送信することによって特定したりする方法が用いられる。遠隔起動部215によって遠隔起動処理が行われた結果、VPN接続要求に含まれていた通信相手ノード104の起動処理が開始されたと仮定する。一般に、動的にネットワーク情報を取得するように設定されているノードは、起動処理の途中でアドレスを含めた各種ネットワーク情報を動的に取得する(静的に取得するように設定されている場合には、本発明で解決すべき問題自体が起こりえないため、ここでは除外する)。このとき、通信相手ノード104がネットワーク情報の取得に利用するプロトコルは、前述のVPN終端装置217のネットワーク情報配布部213が対応可能なプロトコル(例えばDHCP)でなければならない。通信相手ノード104の起動方法を特定する場合と同様に、起動すべきノードとネットワーク情報の配布に使用するプロトコルとの対応関係はVPN終端装置217が管理しても良いし、VPNクライアントが指定しても良い。この場合には、通信相手ノードIDと配布方法の対応を管理することになる。
【0073】
遠隔起動開始通知を受信したVPN処理部211は配布処理開始依頼をネットワーク情報配布部213に送信する。配布処理開始依頼に応じて、ネットワーク情報配布部213は通信相手ノード104からのネットワーク情報取得要求の受信待ち状態に遷移する(図24のS1710)。なお、遠隔起動開始通知は遠隔起動部215からVPN処理部211に通知される。
【0074】
通信相手ノード104からのネットワーク情報取得要求を受信すると、ネットワーク情報配布部213はネットワーク情報取得要求受信通知をVPN処理部211に送信したのち、ネットワーク情報管理表214を参照し、該情報取得要求の送信元MACアドレスが表中に記録されているか否かを確認する。もし、表中に記録されていれば、そのエントリを取得する。表中に記録されていない場合には、該要求はこのVPN終端装置217が管理すべき情報ではないものと判断して無視する。ネットワーク情報取得要求受信通知を受信したVPN処理部211は、遠隔起動処理停止依頼を遠隔起動部215に通知する(図24のS1711)。この通知を受けて、遠隔起動部215は上述した遠隔起動処理を停止する(図24のS1712)。ネットワーク情報配布部213は、ネットワーク情報管理表214中に記録されたエントリを取得すると、該エントリに対して配布時刻と有効時刻を記入することによりネットワーク情報管理表214を更新する(図24のS1713)。配布時刻とは、情報を該当ノードに配布した時刻であり、ここでは現在時刻が記入される。有効時刻とはネットワーク情報配布部213のポリシに基づく、配布された情報の有効期限を示す時刻である。VPN終端装置217は、有効時刻までに有効期限の延長要求(VPN接続延長(更新)に伴うネットワーク情報の再取得要求)がなかった場合には、対応するVPN接続を切断する。
【0075】
なお、ネットワーク情報配布部213は、一定時間にわたり通信相手ノード104からネットワーク情報取得要求を受信しなかった場合には、ネットワーク情報管理表214及びパケットフィルタ設定を復元したのち、VPNクライアント102に対しVPN確立応答(エラー)を返す。
【0076】
以上のように通信相手ノード104からネットワーク情報取得要求を受信し、さらにネットワーク情報管理表214から該当するエントリを取得したネットワーク情報配布部213は、この通信相手ノード104からのネットワーク情報取得要求に対する応答として、配布すべき情報として上記取得したエントリを含むネットワーク情報取得応答を通信相手ノード104に送信し(図24のS1714)、ネットワーク情報配布完了をVPN処理部211に通知する(図24のS1715)。
【0077】
ネットワーク情報取得応答を受信した通信相手ノード104は、この応答の中から必要な情報を取り出し、ネットワークインターフェイスなどを適切に設定する。
【0078】
続いて、VPN終端装置217のVPN処理部211は、起動・設定確認依頼を遠隔起動部215に通知する。この通知に応じて、遠隔起動部215はノードの接続状況を確認する処理を行う(図25のS1716)。これには前述の存在確認と同様にARPやNeighbor Discoveryを用いて行うものとする。
【0079】
通信相手ノード104の接続状況を確認できたら、遠隔起動部215は起動・設定確認応答をVPN処理部211に通知する。この通知に応じて、VPN処理部211は、VPNクライアント102に対してVPN確立応答を返す(図25のS1717)。このVPN確立応答には、通信相手ノード104に実際に配布したネットワーク情報が含まれる。VPN確立応答を受信したVPNクライアント102は、同応答に含まれるVPN通信相手ノード104のアドレスを利用して通信相手ノード104にアクセスすることが可能となる。
【0080】
なお、通信相手ノード104の接続状況の確認がとれない、すなわち通信相手ノード104においてネットワーク情報が正しく設定できなかった場合には、ネットワーク情報管理表214及びパケットフィルタ設定を復元したのち、VPNクライアント102に対しVPN確立応答(エラー)を返す。
【0081】
(第3の実施形態)
続いて、第3の実施形態について述べる。これまではVPN終端装置がルータであり、LAN上で唯一の情報配布元である場合について述べてきたが、第3の実施形態はLAN上に別のルータ(ネットワーク情報の配布元)が存在する構成である。図26は、このような第3の実施形態に係るシステムの全体構成を示している。図26に示す構成は、第1の実施形態におけるVPN終端装置103がルータ装置107とVPN終端装置106とに置き換わっている点で第1の実施形態のものとは異なる。
【0082】
なお、第3の実施形態は前述したVPN管理サーバがある場合とない場合のいずれに対しても適用可能であるが、ここでは図26に示すようにVPN管理サーバ105が存在する場合について述べる。
【0083】
第3の実施形態では、はじめにルータ装置107に対してVPN終端装置106へのサイト外部からのアクセスを許可する設定を行う必要がある。この設定は管理者による手動設定による方法やUPnPなどのプロトコルを使う方法が考えられる。
【0084】
ルータ装置107への設定が完了し、VPN終端装置106へのサイト外部からのアクセスが可能になり、前述の第1の実施形態で述べたVPN管理サーバ105が持つVPN終端装置データベース306の事前設定も完了したと仮定する。この状態になると、第3の実施形態に係るVPN終端装置106は、VPN管理サーバ105を経由してVPNクライアント102からのVPN接続要求を受け付けることができるようになる。
【0085】
図27は第3の実施形態に係るVPN終端装置の内部構成を示す図である。この図27に示すように、第3の実施形態のVPN終端装置は図2に示した第1の実施形態における構成からWANインターフェイスを省いたものである。また、VPN管理サーバを用いない場合には、第2の実施形態の場合と同様に、図27の構成にVPN利用者データベースが追加される。
【0086】
第3の実施形態の動作シーケンスを図28に示す。この図28の前半部の処理は第1の実施形態と同じである。すなわち、VPNクライアント102がVPN管理サーバ105にVPN接続要求を送信し、VPN管理サーバ105が前記接続要求を中継し、VPN終端装置106がVPN管理サーバ105から中継されたVPN接続要求を受信する。VPN終端装置106はVPN接続要求に含まれるネットワーク情報を抽出し、この抽出された情報に基づいて、通信相手ノード104を起動するとともにネットワーク情報を提供し、ネットワーク情報管理表214を更新する、という一連の処理手順を実行する。
【0087】
第3の実施形態ではネットワーク情報の配布形態が第1の実施形態の場合とは異なる。第3の実施形態では複数のネットワーク情報配布装置が存在することから、第3の実施形態で適用するネットワーク情報配布部は、ネットワーク情報の配布先を明示的に指定できるものでなければならない。これには、例えばIPv6のルータアドバタイズメントを通信相手ノードにユニキャストして各種情報を配布する方法が考えられる。IPv4の場合には、DHCPに送受信ペアを明示的に特定する改良を加えた形でメッセージ交換を行ったり、認証情報を伴ったメッセージ交換を利用したり(認証付きDHCPを用いる場合にDHCPサーバ側に必要な秘密情報は、ネットワーク情報の一部としてVPN管理サーバ105から通知するようにしても良いし、VPN終端装置106が管理していてもよい)、その他の専用プロトコルを用いる方法などが考えられる。また遠隔起動依頼の内部に情報取得先のアドレスを埋め込み、事前に通知しておく方法も考えられる(図28のシーケンスはこの方法で記述している)。
【0088】
通信相手ノード104が行う通信がVPNを経由しているものか否かを明確に区別するための方法も必要である。本発明に依らない通常の方法の場合、あらかじめ接続しているルータ装置107がデフォルトルータとして機能している。このため、VPNを経由した通信を本装置が単純に捉えることはできない。第3の実施形態に係るVPN終端装置106は以下の2つの方法のうち、いずれかの方法を使ってVPNを経由した通信を特定し、制御する。
【0089】
第1の方法は、UPnPを使ってルータ装置107にVPN通信を特定する情報を通知し、パケットフィルタなどの特別な処理を適用することである。これによって第1の実施形態でVPN終端装置103が適用していたルールと同等のルールをルータ装置107に適用することができる。例えば、本装置が割り当てたIPアドレスを持つ通信相手ノード104と本装置を利用しているVPNクライアント102が利用するIPアドレスを用いてなされる通信を除く、すべてのVPN通信を遮断する、といったルールをルータ装置107のパケットフィルタに設定することで、VPN通信を特定のノードに限定して許可することが可能となる。もしくは、ルータ装置107の転送状態を変更してVPN終端装置106に再転送させることが可能となる。例えば、本装置が割り当てたIPアドレスを使用する通信相手ノード104が送信したパケットがルータ装置107を通過しようとする際、該パケットを本VPN終端装置103に転送する、という転送ルールをルータ装置107に加えることで、本VPN終端装置が両ノード間でのVPNを経由しない通信に対するゲートウェイとして動作することができる。
【0090】
第2の方法は、ネットワーク情報を配布する際に、VPN管理サーバ105が配布する情報の内容に依らず、デフォルトルータはVPN終端装置106(ネットワーク層及びデータリンク層のアドレスとも)であると通知する方法である。これにより、通信相手ノード104がサブネット外のノードと通信する場合には、そのパケットは必ずVPN終端装置106を通過することになる。
【0091】
以上の2つの方法は、同時に利用することも可能である。そして、この方法により、VPNを経由する通信と経由しない通信を区別し、通信を管理可能となる。図28のシーケンスは、デフォルトルータはVPN終端装置106であるとしてネットワーク情報を配布し、VPN終端装置106にてパケットフィルタを適用しつつ、ルータ装置107についてもパケットフィルタを適用する場合を記述している。また、ノードが起動済みであった場合の処理やVPN継続(接続更新)処理については、第1の実施形態と同様に行うものとする。
【0092】
以上説明した第3の実施形態によれば、LAN上に別のルータ(ネットワーク情報の配布元)が存在する場合であっても、上述した第1又は第2の実施形態と同様の作用効果を得ることができる。
【0093】
[目的のノードが起動していない場合の処理]
上述したすべての実施形態において、遠隔起動部215が通信相手ノード104に対して遠隔起動要求を送信すると、VPN処理部211を通してネットワーク情報配布部213にその旨を通知する。これによりネットワーク情報配布部213は、該通信相手ノード104からのネットワーク情報取得要求を一定時間待ち受ける処理を開始する。遠隔起動部215は起動要求送出を通知した後、VPN処理部211から停止要求がくるまで定期的に遠隔起動要求を送信し続ける。
【0094】
ネットワーク情報配布部213は、該通信相手ノード104からネットワーク情報取得要求を受信するとVPN処理部211を通して遠隔起動部215に遠隔起動要求の停止を通知する。もし、ネットワーク情報配布部213が一定時間待機してもネットワーク情報取得要求を受信できなかった場合には、VPN処理部211に対してその旨を通知するとともに、遠隔起動部215に遠隔起動要求の停止を通知する。
【0095】
[ノード起動時の認証機構]
LANにおいて特定のノードのみを確実に起動するための方法として、本発明の実施形態に係るVPN終端装置が備えていてもよい通信相手ノードの認証機構について述べる。通信相手ノードの認証機構は上述したすべての実施形態において適用可能である。ここで、第2の実施形態に通信相手ノードの認証機構を適用した場合を例に挙げて説明する。
【0096】
通信相手ノードの認証機構を備えたVPN終端装置の構成は図19に示したものと基本的に同様であるが、図20に示したVPN利用者データベース216の構成が次のように変更される。第2の実施形態に係るVPN利用者データベースを図29のように変更される。この図29では、これまでのVPN利用者データベースに比べて、通信相手ノード認証情報のエントリが追加されている。
【0097】
通信相手ノードの認証機構を使ったネットワーク全体での動作シーケンスを図30、図31、図32に沿って説明する。図31及び図32に示す処理フローは図24及び図25に示した第2の実施形態のものとほぼ同じであるが、以下の点が異なる。
【0098】
ステップS2608において、通信相手ノード104に対応する認証情報(チャレンジ)を計算する(ただし、VPN利用者データベース216において対応するエントリに認証情報が格納されている場合にのみ計算を行う。以降のステップは、チャレンジを計算した場合にのみ実行される)。
【0099】
ステップS2609において通信相手ノード104を起動する際に、起動依頼とともに認証情報(チャレンジ)を通知する。
【0100】
ステップS2610において通信相手ノード104は起動依頼から認証情報(チャレンジ)を抽出し、保存する。
【0101】
ステップS2612において通信相手ノード104が起動した後に、ステップS2610において保存した認証情報と通信相手ノード104自身が保有している認証情報に基づいて別の認証情報(レスポンス)を計算する。
【0102】
ステップS2613において、通信相手ノード104がネットワーク情報を要求する際に、ステップS2612において計算した認証情報(レスポンス)を該要求に添付する。
【0103】
ステップS2614において、ステップS2613において通信相手ノード104から受信した認証情報(レスポンス)を確認し、起動要求を行ったノードと同一であることを確認する。
【0104】
VPN終端装置217は起動要求を出す際に認証情報を付加し、対象となるノードが起動後に対応する認証情報を返すことを期待している。この認証情報のやり取りにより、起動を要求したノードとネットワーク情報を要求したノードが同一であることを確認する。
【0105】
一連の手順によって使用される認証情報は、アルゴリズム的に計算される情報を除き、事前にVPN終端装置217と通信相手ノード104との間で共有されているものとする。共有方法は、利用者による手動設定などが考えられる。
【0106】
認証情報(チャレンジ)の計算はVPN処理部211で行い、その計算結果は遠隔起動部215に渡される。遠隔起動部215は渡された認証情報(チャレンジ)を追加して送信する。
【0107】
ネットワーク情報取得要求の受信、及び受信したネットワーク情報取得要求からの認証情報の抽出はネットワーク情報配布部213が行う。ネットワーク情報取得要求から抽出された認証情報(レスポンス)はVPN処理部211に渡される。VPN処理部211は、認証情報(レスポンス)と認証情報(チャレンジ)とを比較する。これにより通信相手ノード104を認証できたならば、ネットワーク情報配布部213は、通信相手ノード104に対しネットワーク情報を割り当ててネットワーク情報取得応答を返す。通信相手ノード104を認証できない場合、ネットワーク情報配布部213は、通信相手ノード104からのネットワーク情報取得要求に対してエラーを返す。
【0108】
図33は上記と同様の手順により認証を行った結果、ネットワーク情報を要求したノードを認証できない場合(ステップS2714)を示している。この場合、VPN終端装置217は通信相手ノード104に対して、ネットワーク情報の提供を拒否する通知を行う(ステップS2715)。また、事前に設定していたネットワーク情報管理表214とパケットフィルタを元に戻し(ステップS2716,S2717)、VPN接続を要求したVPNクライアント102に対しても、接続に失敗した旨を通知する(ステップS2718)。
【0109】
同通知を受けた後の通信相手ノード104の動作は不定であるが、自ら電源を切り起動前の待機状態に遷移してもよいし、してもよいし(ステップS2719)、再度、異なるネットワーク情報の要求を行ってもよい。
【0110】
通信相手ノードの認証機構の拡張は、ここで説明した第2の実施形態以外の実施形態に対しても適用可能である。ただし、VPN管理サーバを利用する実施形態に適用する場合には、認証情報(チャレンジ)の計算と認証情報(レスポンス)の確認をVPN管理サーバが行う。例えば、図6に示した第1の実施形態における動作シーケンスは図34のように変更される。
【0111】
VPN管理サーバ105からのVPN確立要求には認証情報(チャレンジ)が付加されており、VPN処理部211がこの認証情報(チャレンジ)を抽出する。抽出された認証情報(チャレンジ)は遠隔起動部215に渡され、これを遠隔起動部215が遠隔起動依頼に追加して起動対象ノードに送信する。
【0112】
ネットワーク情報取得要求の受信、及び受信したネットワーク情報取得要求からの認証情報の抽出はネットワーク情報配布部213が行う。抽出された認証情報(レスポンス)はVPN処理部211に渡される。VPN処理部211は、この認証情報(レスポンス)をVPN管理サーバ105に転送し、認証情報(チャレンジ)との比較を依頼する。VPN管理サーバ105は、認証情報(チャレンジ)と認証情報(レスポンス)とを比較する。比較結果はVPN管理サーバ105からVPN終端装置103に送られる。これにより通信相手ノード104を認証できたならば、ネットワーク情報配布部213は、通信相手ノード104に対しネットワーク情報を割り当ててネットワーク情報取得応答を返す。通信相手ノード104を認証できない場合、ネットワーク情報配布部213は、通信相手ノード104からのネットワーク情報取得要求に対してエラーを返す。
【0113】
[複数のネットワーク情報提供ノードがLAN上に存在していた場合]
先ず、起動後にネットワーク情報を要求するネットワーク情報通知サーバ(第2の実施形態に係るVPN終端装置217や、DHCPサーバなどに相当する)のアドレスを遠隔起動依頼に含めて起動要求を行う方法について述べる。なお、ここでは第2の実施形態のVPN終端装置217を対象にして説明するが、すべての実施形態において適用可能である。
【0114】
複数のネットワーク情報提供ノードがLAN上に存在するシステムにおける動作シーケンスを図35に示す。この動作シーケンスは図21に示した第2の実施形態に係る動作シーケンスとほぼ同じであるが、以下の点が異なる。
【0115】
すなわち、図35のステップS2908において、VPN終端装置217のアドレスをネットワーク情報通知サーバのアドレスであるとして通信相手ノード104に通知する。ステップS2909において、通信相手ノード104が起動要求とともに通知されたネットワーク情報通知サーバのアドレスを保存する。そして、ステップS2911において通信相手ノード104がVPN終端装置217に対し、そのアドレスを指定して直接的にネットワーク情報取得を要求する点で図21に示した第2の実施形態における動作シーケンスとは異なる。
【0116】
上記ステップS2908において送信されるアドレス付き遠隔起動要求メッセージの例を図36に示す。図36ではWoLを利用するものと仮定してMagic Packet形式を示したが、そのフォーマットは各起動方法に依存する。その他の付加情報とは、図35のシーケンスにおけるステップS2911などを適切に実施するために、クライアント(通信相手ノード104)に通知しておく必要がある各種情報である(例えば通常であればDHCPOFFERで送信すべき情報をここに含めてしまうことを想定している)。
【0117】
図37は、図35の動作シーケンスをDHCPを適用することにより具体化したものを示している。図37では、遠隔起動要求に対し、本来はDHCPOFFERメッセージで通知されるべき各情報を付加おくことによって、通常のDHCPサーバ選択処理が発生しないようにしている。また、通信相手ノード104も通知されたメッセージに含まれていた情報を使って、DHCPREQUESTの状態から動作を開始している。
【0118】
さらに別の方法として、別のネットワーク情報通知サーバが送信した情報を無効化するメッセージをVPN終端装置217から強制的に送出することによって、意図しない情報の利用を無効化(妨害)する方法が考えられる。第2の実施形態に係る動作シーケンスにこの方法を適用したもの、すなわちネットワーク情報取得要求を妨害することによるネットワーク情報通知サーバの選択のシーケンスを図38に示す。
【0119】
図38ステップS3204では、一般的に行われるようにネットワーク情報取得要求がネットワーク上にブロードキャストされ、それに応答する形で意図しないネットワーク情報通知サーバから応答が返される(ステップS3205)。このため、VPN終端装置217がステップS3205で通知された情報を無効化するメッセージを送信する(ステップS3206)。その後、正規のネットワーク情報取得応答を送信することによって、通信相手ノード104にネットワーク情報を通知する。
【0120】
図39はDHCPを例に図38を具体化したものである。また、図40はRouterAdvertisement(RA)を使用して具体化した例を示している。
【0121】
さらに別の方法として、LAN上のネットワーク情報通知サーバ同士が連携して、常に適切なネットワーク情報を通知するという方法も考えられる。第2の実施形態に係る動作シーケンスにこの方法を適用したものを図41に示す。
【0122】
(1)はじめの「ネットワーク情報管理表修正」と「パケットフィルタ設定変更」の間に、連携するネットワーク情報通知サーバの有無を確認する。もし、あれば該サーバに「ネットワーク情報管理表」の変更内容を通知する。この処理をすべての連携サーバに対して繰り返す
(2)上記(1)の変更に伴いエラーが発生した場合に「ネットワーク管理表復元」に関連する操作を同様に通知する処理を行う。
【0123】
(3)「ネットワーク情報取得要求受信待ち」の状態で「同期メッセージ」を受信したかどうかの判断を行う
(4)上記(3)で「同期メッセージ」を受信していれば、ループを抜ける(以降の処理はループ後の「ネットワーク情報取得応答」を行わないこと、ネットワーク管理表を同期メッセージに含まれていた内容で更新することが異なる)
(5)「ネットワーク情報取得要求受信待ち」の状態でネットワーク情報取得要求を受信した場合には、普通にループを抜けた後「ネットワーク管理表修正」と「ネットワーク情報取得応答」の間で「同期メッセージ」を連携して動作するネットワーク情報通知サーバに送信する処理を行う。
【0124】
VPN終端装置217がVPN接続要求を受信すると、同要求によって起動するノードにアサインすべきネットワーク情報を決定する(ステップS3502)。続いて、同ネットワーク情報をLAN上の他のネットワーク情報通知サーバに通知する(ステップS3503)。これにより、LAN上の他のネットワーク情報通知サーバも同じ情報を共有した状態になる。
【0125】
同シーケンスではネットワーク情報取得要求がLAN上にブロードキャストされ、結果として他のネットワーク情報通知サーバが受信した場合を示している。この場合、要求を受信したサーバはVPN終端装置217と同じ情報を持っていることから、適切にネットワーク情報を割り当てることができる(ステップS3507)。割り当てるべき情報が確定したら、その旨をVPN終端装置217に通知して(ステップS3508)、ネットワーク情報管理表214の内容を同期する。同期が完了したら要求元である通信相手ノード104に情報を通知する(ステップS3509)。
【0126】
図42は、図41の手順をRouterAdvertisementを例に具体化したものである。この場合、ステップS3603において通信相手ノード104に割り当てるプレフィックスをLAN上の他のルータに通知する。通信相手ノード104が起動した後、RouterSolicitation(RS)が送信されるとLAN上の各ルータはRouterAdvertisement(RA)で応答する。同図ではVPN終端装置217以外の別のルータがRAで応答している(ステップS3609)。この際、RAに含まれるRouterLifetimeを0にして通知することで、同ルータがデフォルトルータとして採用されないように通知することができる。同様に、ステップS3610においてVPN終端装置217がRAを送信し、プレフィックスを伝えている。このとき、VPN終端装置217は対応するプレフィックスのデフォルトルータとして振る舞うため、適切なRouterLifetimeを設定している。
【0127】
図41の手順はDHCPを利用する場合も同様に適用することができる。このような方法はDHCPサーバの耐障害性を向上する手法として一般的に使用されている。ただし、本実施形態では割り当てるアドレスなどサーバ間で共有される情報はVPN接続をきっかけとして変更される点が異なる。
【0128】
[対象とするノードが事前に起動していた場合の処理]
上述した各実施形態において、VPN接続から要求された通信相手ノードが既に起動している場合、VPN終端装置217の対応方法は大きく3つに分けることができる。
【0129】
第1の方法は、接続を受け付け、(プロトコル的に実現可能であれば)強制的に複数のネットワーク情報を割り当てるというものである(例えば図43で述べたものであり、第1の実施の形態においては第4の変化形として述べた。)。
【0130】
第2の方法は、接続を受け付け、割当て済みネットワーク情報を共有するというものである(例えば図44を参照)。
【0131】
第3の方法は、常に接続を拒否するというものである(例えば図45を参照)。
【0132】
また、後述するようにポリシ制御部とポリシデータベースを設け、通信相手ノードIDやVPN利用者IDなどの情報を考慮しながら、対応を判断する方法を採ることも可能である。
【0133】
[ポリシ制御部及びポリシデータベースの追加に関して]
第2の実施形態について、管理者の設定に基づく種々の条件判断に基づいてVPN終端装置217の動作を変えるように拡張することができる。この拡張を行うため、図19に示した第2の実施形態に係るVPN終端装置217の構成に対し、図46に示すようにポリシ制御部とポリシデータベースを追加する。
【0134】
図46に示されるVPN終端装置は、インターネットなどの広域ネットワークとの接続のための物理的なWANインターフェイス3701、遠隔サイトのVPNクライアントとのVPN接続のための論理的なVPNインターフェイス3702〜3703、LANとの接続のための物理的なLANインターフェイス3704〜3705、論理的なVPNインターフェイスと物理的なLANインターフェイスとの間で透過的にパケットを転送するためのI/Fブリッジ部3706を備える。
【0135】
各インターフェイスを通過するパケットに対して、許可/不許可といった制御を行うパケットフィルタ部3707、パケットフィルタ部3707が適用するポリシを管理しておくパケットフィルタ管理表3708、パケットのフォワーディングを行うフォワーディング部3709、フォワーディング部3709が参照するフォワーディングテーブル3710、VPN関連処理を実行するVPN処理部3711、確立したVPNに関する情報を記憶しておくVPN状態管理表3712、LANに接続するノードに対してアドレスなどのネットワーク情報を割り当てるネットワーク情報配布部3713、ネットワーク情報配布部3713が管理している各種情報を保存しておくネットワーク情報管理表3714、LANに接続するノードを遠隔から起動する命令を送信する遠隔起動部3715、本装置を介してVPNが利用できるVPNクライアント102及び通信相手ノード104に関する情報が記述されたVPN利用者データベース3716、様々な条件下でVPN確立の可否を判断するポリシ制御部3717、ポリシ制御部3717が判断の基準として利用するポリシデータベース3718である。
【0136】
図47は、ポリシデータベース3718の一例を示す図である。ポリシ番号3801は各ポリシを識別するためのIDであり、単なる識別以上の意味は持たない。条件3802は判断の基準となる条件であり、図47では自然言語で記述されているが実際には適切な論理式へと変換されて格納される。また、同条件で使用可能な識別子は本装置内の各管理表やVPN利用者データベース、ネットワークインターフェイス名、ネットワーク情報(アドレスなど)が利用可能である。可・不可3803は条件3802に適合する事象に対して、VPN接続もしくはVPN接続経由でのノード利用を許可するか否かを示すものである。
【0137】
例えば同図に示される0番のポリシでは、VPN終端装置217(図21参照)が複数のVPN接続を受け付け、かつそれら複数のVPN接続を経由したノードXに対する複数のアクセスを許可していることを示す。また1番のポリシでは、ネットワーク情報の複数割当ては許可されていないため、複数のVPN経由のアクセスに対して最初の接続時に割り当てたネットワーク情報を残りの接続でも共有することを示している。同様に、2番のポリシではノードYに対しては複数のVPN経由のアクセスを禁止していることを示しており、3番のポリシはノードZは本装置以外の方法で起動された場合であってもVPN経由のアクセスを禁止することを示している。
【0138】
なお、図47に示したポリシデータベースはあくまで一例であり、発生しうる条件を列挙して対応表を作っても良い。そのような例を図48に示す。
【0139】
追加されたポリシ制御部及びポリシデータベースを使った動作シーケンスの例を示す。
【0140】
図49はVPN終端装置が存在確認を行った場合に当該通信相手ノードから応答があった場合の処理に対して、ポリシデータベースに定義されたポリシを用いてポリシ制御部より判断を行い、VPN確立処理を行うという状況を示している。
【0141】
ステップS4002で行った通信相手ノード存在確認において応答があった場合(ステップS4003)、同ノードは起動していることを示す。その時、もしVPN終端装置217自身が当該ノードを起動させていた場合、通常と同様にネットワーク情報管理表を検索すると、対応するネットワーク情報を取得することができる(S4004)。もし、VPN終端装置217が起動していなかった場合(すなわち利用者が手動で起動させた場合など)は対応する情報が得られない場合がある。
【0142】
いずれの場合も、ノード起動・VPN確立処理はポリシ制御部3717を呼出し、現状況化でVPN接続を許可するか否かの判断を行う。ポリシ制御部3717は、現在の状況(利用者データベース3716、ネットワーク情報管理表3714、VPN状態管理表3712)及びポリシデータベース3718を利用し、対応するVPN接続ならびに通信相手ノード104が利用可能かどうかを判断する。
【0143】
例えば、図47のポリシデータベースを持つVPN終端装置において、通信相手ノードXを利用するVPN接続要求を受け付けていると仮定し、さらに図49におけるステップS4004において対応する情報が見つかった場合(すなわち、かつてVPN終端装置自身が当該ノードを起動させていた場合)を考える。
【0144】
この場合、図47に示したポリシデータベースの0番と1番のポリシが該当し、通信相手ノードXは複数のVPN接続経由のアクセスを受け付ける。割り当てられるネットワーク情報は常に1つということがわかる(このような処理はポリシ制御部3717が行う)。この結果、図49では当該通信相手ノードXが持つネットワーク情報がかつて割り当てた情報(この場合はアドレスのみ)と等しいことを調べ(ステップS4006)、同応答に含まれるアドレスをVPN確立応答とともにVPNクライアントに返している(S4008)。なお、ステップS4007とS4008は省略してもよい。
【0145】
同様に、通信相手ノードZが既に起動している状態でVPN接続要求を受け付けた場合のシーケンスを図50に示す。この場合、図47ポリシ番号3のポリシにより接続が拒否されるため、エラー応答を返している。
【0146】
同様に、図51は既に起動しているノードに対するVPN接続要求を受け付け、かつ対応するポリシが「複数のVPN経由のアクセスを許可する」「複数のネットワーク情報の割当てを許可する」というものであった場合のシーケンスを示す。また、図52はポリシ制御に基づくVPN確立要求処理におけるVPN終端装置内部のシーケンス(配布の前処理まで)を示し、図53は、同シーケンスに対応するVPN終端装置内部の動作フローを示している。
【0147】
この場合、ポリシ制御部3717の判断に基づき、新たなネットワーク情報が必要と判明したため、ステップS4206で該ノードに割当て可能な新しいネットワーク情報を取得し(ステップS4206)、続くステップS4207でネットワーク情報管理表に登録した後、ステップS4208で割当てを行っている。さらに、その情報をステップS4212で返している。
【0148】
なお、一連の動作において、ポリシ制御部で決定された判断に基づいてVPN処理部は種々の動作を行う。前述の3つのシーケンスでは、ネットワーク情報の追加取得があったが、その他にも「割当て済の情報を破棄(更新の禁止)」「割当て済の情報を無効化(即時無効化)」「VPN接続の中断」などの処理が考えられる。いずれも図46に示した構成内で実現可能な動作を行う。
【0149】
[複数のノードを同時に扱う場合の処理]
これまでに述べたすべての実施形態は、1つのVPN接続要求で1つの通信相手ノードと1つのVPNクライアントを通信可能な状態にする方法について述べてきた。ここでは複数のノードに対して同時に扱う方法について述べる。
【0150】
複数のノードを一度に扱えるようにするため、「グループ」という概念を定義する。グループは一つのグループIDと1つ以上のメンバーを示すIDで構成される。また、グループはVPN利用者データベースと同じノードにより管理される。すなわち、VPN管理サーバが存在する場合にはVPN管理サーバにより管理し、存在しない場合にはVPN終端装置により管理する。
【0151】
図54はグループに対応した第2の実施形態におけるVPN終端装置を示す図である。同図は図19の構成にグループデータベース4717が追加されたものである。他の構成要素については図19に示したものとほぼ同様である。
【0152】
グループデータベースの一例を図55に示す。この図に示すように、グループデータベース4717の一つのエントリはグループID、メンバーID、同グループに割り当てるネットワーク情報で構成される。このグループデータベース4717に登録されているグループIDは、VPN利用者データベース4716あるいはポリシデータベース3718(図46参照)において使用することができる。
【0153】
例えば、VPN利用者データベースの通信相手ノードIDとして、図55におけるグループIDであるGID_2が指定されていたと仮定する。この場合、遠隔起動部3715は2つのノードDID_2とDID_4に対して遠隔起動依頼を送信する。また、ネットワーク情報配布部3713は両ノードに対してネットワーク情報を配布する。さらにVPNクライアントに返すVPN確立応答は、グループメンバーの各ネットワーク情報を含んだ形で返される。
【0154】
もし、グループのメンバー内の一部のノードが所望の動作をしなかった場合(例えば、遠隔起動依頼を送信する前に既に起動していた等)には、その動作からの回復処理を実施しても良いし、エラーをVPNクライアントに返しても良い。またこれらの判断をポリシ制御部とポリシデータベースを導入して柔軟に定義できるようにしても良い。
【0155】
以上説明した本発明の実施形態によれば、VPNを利用して遠隔アクセスを実現する際に通信相手ノードを常に起動しておく必要がなくなるため、以下の点が改善される。
【0156】
・システム全体として低消費電力を実現することができる。
【0157】
・通信相手ノードの不正使用を防止でき、セキュリティを向上できる。
【0158】
・VPN終端装置が通信を管理することからVPNを介した通信と通常のLAN内の通信とを明確に区別することができる。これもセキュリティの向上につながる。
【0159】
・VPNを利用する遠隔ノードに特別な設定が不要であることから、利便性を向上できる。
【0160】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【0161】
【図1】本発明の第1の実施形態に係るシステムの全体構成図
【図2】VPN終端装置の内部構成を示すブロック図
【図3】VPN管理サーバの内部構成を示すブロック図
【図4】VPN利用者データベースの詳細を示す図
【図5】VPN終端装置データベースを示す図
【図6】本発明の第1の実施形態に係るシステムの動作シーケンスを示す図
【図7】ネットワーク情報管理表の設定時における値の変化を示す図
【図8】データリンク層に適用するパケットフィルタルールの一例を示す図
【図9】データリンク層に適用するパケットフィルタルールの一例であって、レイヤ3VPNに適用する場合のものを示す図
【図10】ネットワーク層に適用するパケットフィルタルールの一例を示す図
【図11】ネットワーク情報の有効期限更新を説明するための図
【図12】VPN接続延長を説明するための図
【図13】ネットワーク情報の有効期限切れに伴う切断を説明するための図
【図14】VPNクライアントからの明示的な切断を説明するための図
【図15】アクセス先ノードが起動していた場合の処理を説明するための図
【図16】複数のネットワーク管理情報が格納されたVPN状態管理表を示す図
【図17】VPN管理サーバにおけるネットワーク情報の再検索及び再接続を説明するための図
【図18】本発明の第2の実施形態に係るシステムの全体図
【図19】第2の実施形態において用いられるVPN終端装置の内部構成を示す図
【図20】第2の実施形態に係るVPN利用者データベースの構成を示す図
【図21】第2の実施形態における動作シーケンスを示す図
【図22】VPN終端装置内部についての動作シーケンスを示す図
【図23】VPN終端装置内部についての動作シーケンスを示す図
【図24】VPN終端装置内部についての動作を示すフローチャート
【図25】VPN終端装置内部についての動作を示すフローチャート
【図26】本発明の第3の実施形態に係るシステムの全体構成を示す図
【図27】本発明の第3の実施形態に係るVPN終端装置の内部構成を示す図
【図28】第3の実施形態における動作シーケンスを示す図
【図29】通信相手ノード認証を行う場合のVPN利用者データベース
【図30】通信相手ノードの認証機構を使ったネットワーク全体での動作シーケンスを示す図
【図31】通信相手ノードの認証機構を使ったネットワーク全体での動作を示すフローチャート
【図32】通信相手ノードの認証機構を使ったネットワーク全体での動作を示すフローチャート
【図33】ネットワーク情報を要求したノードを認証できない場合の動作シーケンスを示す図
【図34】認証情報(チャレンジ)の計算と認証情報(レスポンス)の確認をVPN管理サーバが行う場合を示す図
【図35】複数のネットワーク情報提供ノードがLAN上に存在するシステムにおける動作シーケンスを示す図
【図36】アドレス付き遠隔起動依頼の例を示す図
【図37】図35の動作シーケンスをDHCPを適用することにより具体化した例を示す図
【図38】ネットワーク情報取得要求を妨害することによるネットワーク情報通知サーバの選択のシーケンスを示す図
【図39】DHCPにより図38を具体化した例を示す図
【図40】RouterAdvertisement(RA)により図38を具体化した例を示す図
【図41】ネットワーク情報通知サーバ間の連携を示す図
【図42】RouterAdvertisementにより図41を具体化した例を示す図
【図43】対象とするノードが事前に起動していた場合の処理であって、強制的に複数のネットワーク情報を割り当てる場合を示す図
【図44】対象とするノードが事前に起動していた場合の処理であって、割当て済みネットワーク情報を共有する場合を示す図
【図45】対象とするノードが事前に起動していた場合の処理であって、常に接続を拒否する場合を示す図
【図46】ポリシ制御部とポリシデータベースが追加されたVPN終端装置の内部構成を示すブロック図
【図47】ポリシデータベースの一例を示す図
【図48】ポリシデータベースの別の例を示す図
【図49】ポリシ制御部に基づくVPN確立要求のシーケンスを示す図
【図50】通信相手ノードが既に起動している状態でVPN接続要求を受け付けた場合のシーケンスを示す図
【図51】ポリシ制御部に基づくVPN確立要求のシーケンスを示す図
【図52】ポリシ制御に基づくVPN確立要求処理におけるVPN終端装置内部のシーケンスを示す図
【図53】図52のシーケンスに対応するVPN終端装置内部の動作を示すフローチャート
【図54】グループに対応した第2の実施形態におけるVPN終端装置を示す図
【図55】グループデータベースの一例を示す図
【符号の説明】
【0162】
101…広域ネットワーク(インターネット);102…VPNクライアント;103…VPN終端装置;104…通信相手ノード;105…VPN管理サーバ
【特許請求の範囲】
【請求項1】
第1の通信装置と第2の通信装置との間の仮想私設網(VPN)通信を制御する通信装置において、
前記第1の通信装置のノードIDに対し、前記第2の通信装置のID、該第2の通信装置のMACアドレス及び該第2の通信装置のネットワーク情報を関連付けるVPN利用者データベースと、
前記第1の通信装置のノードID及び前記第2の通信装置のノードIDを含んだVPN接続要求を受信し、該第1の通信装置のノードID及び第2の通信装置のノードIDにより前記VPN利用者データベースを参照して前記第2の通信装置のMACアドレスを求め、該第2の通信装置のMACアドレスを含んだ遠隔起動依頼を生成するVPN処理部と、
前記遠隔起動依頼に含まれるMACアドレスにより特定される前記第2の通信装置を遠隔起動する遠隔起動部と、
前記遠隔起動部により起動された前記第2の通信装置から情報取得要求を受信し、該情報取得要求に応じて前記ネットワーク情報を該第2の通信装置に対して配布するネットワーク情報配布部と、を具備する通信装置。
【請求項2】
前記ネットワーク情報は、前記第2の通信装置の起動時に、該第2の通信装置が備えるネットワークインターフェイスに対して設定すべきIPアドレス、デフォルトゲートウェイ、DNSサーバ、ドメイン名を含む請求項1記載の通信装置。
【請求項3】
前記通信装置が具備する各部分に対する動作や状態と、前記動作や状態が前記第1もしくは前記第2の通信装置又は該装置との通信を所望する第3の通信装置によって引き起こされた場合にVPN接続もしくはVPN接続経由でのノード利用を許可するか否かを定めるポリシからなるポリシデータベースと、
前記ポリシデータベースに基づいて、現在の通信状況下でVPN接続もしくはVPN接続経由でのノード利用を許可するか否かを判断するポリシ制御部とを具備する請求項1又は2記載の通信装置。
【請求項4】
複数の前記第2の通信装置をメンバーとするグループに対して、遠隔起動を含むVPN通信制御を一括して行うことを特徴とする請求項1記載の通信装置。
【請求項5】
前記VPN処理部は、
前記第1の通信装置と前記第2の通信装置の間であらかじめ共有された情報に基づく第1の認証情報を計算するとともに該第1の認証情報を前記遠隔起動部に渡し、
前記遠隔起動部は、
前記第2の通信装置に対し、前記第1の認証情報が付加された遠隔起動依頼を送信し、
前記ネットワーク情報配布部は、
前記第2の通信装置が、前記第1の認証情報に応じて生成した第2の認証情報が付加されたネットワーク情報取得要求を受信するとともに、該ネットワーク情報取得要求から該第2の認証情報を抽出し、
前記VPN処理部は、
前記第1の認証情報と前記第2の認証情報とが正当であるか否かを判定し、該判定結果を前記ネットワーク情報配布部に通知し、
前記ネットワーク情報配布部は、
前記判定結果に応じて、前記ネットワーク情報を配布するか否かを決定する請求項1記載の通信装置。
【請求項6】
前記ネットワーク情報配布部から前記第2の通信装置に対して配布したネットワーク情報により特定される通信であって、かつ前記第1の通信装置と前記第2の通信装置との間で行われる通信のパケットのみが転送されるよう、パケット転送を制御するためのパケットフィルタ部をさらに具備する請求項1記載の通信装置。
【請求項7】
前記VPN利用者データベースにより管理され、前記第2の通信装置に対して割り当てるネットワーク情報が、複数の異なるネットワーク情報の集合からなり、
前記ネットワーク情報配布部は、前記ネットワーク情報の集合から一つの要素を選択して前記第2の通信装置に配布する請求項1記載の通信装置。
【請求項8】
前記ネットワーク情報集合から選択され、前記第2の通信装置に配布された要素が使用できない旨を検出した場合に、前記ネットワーク情報集合の別の要素を再配布することを特徴とする請求項7記載の通信装置。
【請求項9】
前記第2の通信装置へのネットワーク情報の配布が完了した際に、前記VPN処理部は、該第2の通信装置に対して配布したネットワーク情報を含んだVPN接続応答を前記第1の通信装置に送信する請求項1記載の通信装置。
【請求項10】
第1の通信装置と第2の通信装置との間の仮想私設網(VPN)通信を制御する通信方法において、
前記第1の通信装置のノードIDに対し、前記第2の通信装置のID、該第2の通信装置のMACアドレス及び該第2の通信装置のネットワーク情報を関連付けるVPN利用者データベースを準備するステップと、
前記第1の通信装置のノードID及び前記第2の通信装置のノードIDを含んだVPN接続要求を受信し、該第1の通信装置のノードID及び第2の通信装置のノードIDにより前記VPN利用者データベースを参照して前記第2の通信装置のMACアドレスを求め、該第2の通信装置のMACアドレスを含んだ遠隔起動依頼を生成するステップと、
前記遠隔起動依頼に含まれるMACアドレスにより特定される前記第2の通信装置を遠隔起動するステップと、
前記遠隔起動により起動された前記第2の通信装置から情報取得要求を受信し、該情報取得要求に応じて前記ネットワーク情報を該第2の通信装置に対して配布するステップと、を具備する通信方法。
【請求項11】
第1の通信装置と第2の通信装置との間の仮想私設網(VPN)通信を制御する通信プログラムであって、
前記第1の通信装置のノードIDに対し、前記第2の通信装置のID、該第2の通信装置のMACアドレス及び該第2の通信装置のネットワーク情報を関連付けるVPN利用者データベースを記憶する手順と、
前記第1の通信装置のノードID及び前記第2の通信装置のノードIDを含んだVPN接続要求を受信し、該第1の通信装置のノードID及び第2の通信装置のノードIDにより前記VPN利用者データベースを参照して前記第2の通信装置のMACアドレスを求め、該第2の通信装置のMACアドレスを含んだ遠隔起動依頼を生成する手順と、
前記遠隔起動依頼に含まれるMACアドレスにより特定される前記第2の通信装置を遠隔起動する手順と、
前記遠隔起動により起動された前記第2の通信装置から情報取得要求を受信し、該情報取得要求に応じて前記ネットワーク情報を該第2の通信装置に対して配布する手順と、をコンピュータに実行させるための通信プログラム。
【請求項1】
第1の通信装置と第2の通信装置との間の仮想私設網(VPN)通信を制御する通信装置において、
前記第1の通信装置のノードIDに対し、前記第2の通信装置のID、該第2の通信装置のMACアドレス及び該第2の通信装置のネットワーク情報を関連付けるVPN利用者データベースと、
前記第1の通信装置のノードID及び前記第2の通信装置のノードIDを含んだVPN接続要求を受信し、該第1の通信装置のノードID及び第2の通信装置のノードIDにより前記VPN利用者データベースを参照して前記第2の通信装置のMACアドレスを求め、該第2の通信装置のMACアドレスを含んだ遠隔起動依頼を生成するVPN処理部と、
前記遠隔起動依頼に含まれるMACアドレスにより特定される前記第2の通信装置を遠隔起動する遠隔起動部と、
前記遠隔起動部により起動された前記第2の通信装置から情報取得要求を受信し、該情報取得要求に応じて前記ネットワーク情報を該第2の通信装置に対して配布するネットワーク情報配布部と、を具備する通信装置。
【請求項2】
前記ネットワーク情報は、前記第2の通信装置の起動時に、該第2の通信装置が備えるネットワークインターフェイスに対して設定すべきIPアドレス、デフォルトゲートウェイ、DNSサーバ、ドメイン名を含む請求項1記載の通信装置。
【請求項3】
前記通信装置が具備する各部分に対する動作や状態と、前記動作や状態が前記第1もしくは前記第2の通信装置又は該装置との通信を所望する第3の通信装置によって引き起こされた場合にVPN接続もしくはVPN接続経由でのノード利用を許可するか否かを定めるポリシからなるポリシデータベースと、
前記ポリシデータベースに基づいて、現在の通信状況下でVPN接続もしくはVPN接続経由でのノード利用を許可するか否かを判断するポリシ制御部とを具備する請求項1又は2記載の通信装置。
【請求項4】
複数の前記第2の通信装置をメンバーとするグループに対して、遠隔起動を含むVPN通信制御を一括して行うことを特徴とする請求項1記載の通信装置。
【請求項5】
前記VPN処理部は、
前記第1の通信装置と前記第2の通信装置の間であらかじめ共有された情報に基づく第1の認証情報を計算するとともに該第1の認証情報を前記遠隔起動部に渡し、
前記遠隔起動部は、
前記第2の通信装置に対し、前記第1の認証情報が付加された遠隔起動依頼を送信し、
前記ネットワーク情報配布部は、
前記第2の通信装置が、前記第1の認証情報に応じて生成した第2の認証情報が付加されたネットワーク情報取得要求を受信するとともに、該ネットワーク情報取得要求から該第2の認証情報を抽出し、
前記VPN処理部は、
前記第1の認証情報と前記第2の認証情報とが正当であるか否かを判定し、該判定結果を前記ネットワーク情報配布部に通知し、
前記ネットワーク情報配布部は、
前記判定結果に応じて、前記ネットワーク情報を配布するか否かを決定する請求項1記載の通信装置。
【請求項6】
前記ネットワーク情報配布部から前記第2の通信装置に対して配布したネットワーク情報により特定される通信であって、かつ前記第1の通信装置と前記第2の通信装置との間で行われる通信のパケットのみが転送されるよう、パケット転送を制御するためのパケットフィルタ部をさらに具備する請求項1記載の通信装置。
【請求項7】
前記VPN利用者データベースにより管理され、前記第2の通信装置に対して割り当てるネットワーク情報が、複数の異なるネットワーク情報の集合からなり、
前記ネットワーク情報配布部は、前記ネットワーク情報の集合から一つの要素を選択して前記第2の通信装置に配布する請求項1記載の通信装置。
【請求項8】
前記ネットワーク情報集合から選択され、前記第2の通信装置に配布された要素が使用できない旨を検出した場合に、前記ネットワーク情報集合の別の要素を再配布することを特徴とする請求項7記載の通信装置。
【請求項9】
前記第2の通信装置へのネットワーク情報の配布が完了した際に、前記VPN処理部は、該第2の通信装置に対して配布したネットワーク情報を含んだVPN接続応答を前記第1の通信装置に送信する請求項1記載の通信装置。
【請求項10】
第1の通信装置と第2の通信装置との間の仮想私設網(VPN)通信を制御する通信方法において、
前記第1の通信装置のノードIDに対し、前記第2の通信装置のID、該第2の通信装置のMACアドレス及び該第2の通信装置のネットワーク情報を関連付けるVPN利用者データベースを準備するステップと、
前記第1の通信装置のノードID及び前記第2の通信装置のノードIDを含んだVPN接続要求を受信し、該第1の通信装置のノードID及び第2の通信装置のノードIDにより前記VPN利用者データベースを参照して前記第2の通信装置のMACアドレスを求め、該第2の通信装置のMACアドレスを含んだ遠隔起動依頼を生成するステップと、
前記遠隔起動依頼に含まれるMACアドレスにより特定される前記第2の通信装置を遠隔起動するステップと、
前記遠隔起動により起動された前記第2の通信装置から情報取得要求を受信し、該情報取得要求に応じて前記ネットワーク情報を該第2の通信装置に対して配布するステップと、を具備する通信方法。
【請求項11】
第1の通信装置と第2の通信装置との間の仮想私設網(VPN)通信を制御する通信プログラムであって、
前記第1の通信装置のノードIDに対し、前記第2の通信装置のID、該第2の通信装置のMACアドレス及び該第2の通信装置のネットワーク情報を関連付けるVPN利用者データベースを記憶する手順と、
前記第1の通信装置のノードID及び前記第2の通信装置のノードIDを含んだVPN接続要求を受信し、該第1の通信装置のノードID及び第2の通信装置のノードIDにより前記VPN利用者データベースを参照して前記第2の通信装置のMACアドレスを求め、該第2の通信装置のMACアドレスを含んだ遠隔起動依頼を生成する手順と、
前記遠隔起動依頼に含まれるMACアドレスにより特定される前記第2の通信装置を遠隔起動する手順と、
前記遠隔起動により起動された前記第2の通信装置から情報取得要求を受信し、該情報取得要求に応じて前記ネットワーク情報を該第2の通信装置に対して配布する手順と、をコンピュータに実行させるための通信プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図45】
【図46】
【図47】
【図48】
【図49】
【図50】
【図51】
【図52】
【図53】
【図54】
【図55】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図45】
【図46】
【図47】
【図48】
【図49】
【図50】
【図51】
【図52】
【図53】
【図54】
【図55】
【公開番号】特開2007−318486(P2007−318486A)
【公開日】平成19年12月6日(2007.12.6)
【国際特許分類】
【出願番号】特願2006−146495(P2006−146495)
【出願日】平成18年5月26日(2006.5.26)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成19年12月6日(2007.12.6)
【国際特許分類】
【出願日】平成18年5月26日(2006.5.26)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]