(57)【要約】【課題】トンネリング処理を行う通信において、処理負荷を抑えつつ、通信性能の低下を低減し、効率的に通信を行うことを課題とする。【解決手段】通信制御装置１００では、通信データが暗号化されたデータであるか否かを解析する。そして、通信制御装置１００は、通信データの宛先が外部ネットワークである場合、または、解析された通信データが暗号化されたデータである場合には、通信データに対して通信制御装置２００とトンネル通信するためのカプセリング処理を実行し、端末２０へ送信する。また、通信制御装置１００は、解析された通信データが暗号化されたデータでない場合には、暗号化処理及びカプセリング処理を実行し、端末２０へ送信する。その後、通信制御装置２００は、通信制御装置１００から送信された通信データを受信して、トンネリング処理の解除を実行し、トンネリング処理が解除された通信データを、宛先へ送信する。【選択図】        図１
2014220707.tif 000002
【特許請求の範囲】
【請求項１】
第１のネットワーク内の第１の装置と、前記第１のネットワークと通信可能な第２のネットワーク内の第２の装置とを備え、外部ネットワークが前記第１のネットワークまたは前記第２のネットワークと通信可能なネットワークシステムであって、
前記第１の装置は、
前記第１のネットワーク内の端末から受信した通信データの宛先が、前記第２のネットワーク内であるか、または、前記外部ネットワークであるかを識別する識別部と、
前記識別部で識別された通信データの宛先が前記第２のネットワーク内である場合には、該通信データが暗号化されたデータであるか否かを解析する解析部と、
前記識別部で識別された通信データの宛先が前記外部ネットワークである場合、または、前記解析部で解析された通信データが暗号化されたデータである場合には、前記通信データに対して前記第２の装置とトンネル通信するためのカプセリング処理を実行し、前記解析部で解析された通信データが暗号化されたデータでない場合には、前記通信データに対して少なくとも暗号化処理及び前記第２の装置とトンネル通信するためのカプセリング処理を実行する第１のトンネリング処理部と、
前記第１のトンネリング処理部による処理後の通信データを前記第２の装置へ送信する第１の通信部と、
を備え、
前記第２の装置は、
前記第１の装置から送信された通信データを受信して、前記第１のトンネリング処理部による処理の解除を実行する第２のトンネリング処理部と、
前記第２のトンネリング処理により解除された通信データを、当該通信データの宛先へ送信する第２の通信部と、
を備えたことを特徴とするネットワークシステム。
【請求項２】
前記解析部によって解析された通信データに関する情報とともに、前記解析部によって解析された通信データが暗号化されたデータであるか否かを示す解析結果を記憶する記憶部と、
前記識別部で識別された通信データに関する情報が、前記記憶部に記憶された解析された通信データに関する情報に該当するか照会し、該当する情報が前記記憶部に記憶されている場合には、該解析された通信データに関する情報に対応する解析結果を取得する照会部と、
前記解析部は、前記照会部によって照会した結果、前記識別部で識別された通信データに関する情報が、前記記憶部に記憶された解析された通信データに関する情報に該当しない場合にのみ、前記通信データが暗号化されたデータであるか否かを解析することを特徴とする請求項１に記載のネットワークシステム。
【請求項３】
前記第１のトンネリング処理部は、前記識別部が前記端末から受信した通信データの宛先が前記外部ネットワークであると識別した場合、または、前記解析部が前記端末から受信した通信データが暗号化されたデータであると解析した場合には、当該通信データのうち所定の一部分として、少なくとも当該通信データのヘッダ情報の一部分を秘匿化することを特徴とする請求項１または２に記載のネットワークシステム。
【請求項４】
第１のネットワーク内の第１の装置と、前記第１のネットワークと通信可能な第２のネットワーク内の第２の装置とを備え、外部ネットワークが前記第１のネットワークまたは前記第２のネットワークと通信可能なネットワークシステムによって実行される通信制御方法であって、
前記第１の装置によって実行される、
前記第１のネットワーク内の端末から受信した通信データの宛先が、前記第２のネットワーク内であるか、または、前記外部ネットワークであるかを識別する識別工程と、
前記識別工程で識別された通信データの宛先が前記第２のネットワーク内である場合には、該通信データが暗号化されたデータであるか否かを解析する解析工程と、
前記識別工程で識別された通信データの宛先が前記外部ネットワークである場合、または、前記解析工程で解析された通信データが暗号化されたデータである場合には、前記通信データに対して前記第２の装置とトンネル通信するためのカプセリング処理を実行し、前記解析工程で解析された通信データが暗号化されたデータでない場合には、前記通信データに対して少なくとも暗号化処理及び前記第２の装置とトンネル通信するためのカプセリング処理を実行する第１のトンネリング処理工程と、
前記第１のトンネリング処理工程による処理後の通信データを前記第２の装置へ送信する第１の通信工程と、
を備え、
前記第２の装置によって実行される、
前記第１の装置から送信された通信データを受信して、前記第１のトンネリング処理工程による処理の解除を実行する第２のトンネリング処理工程と、
前記第２のトンネリング処理により解除された通信データを、当該通信データの宛先へ送信する第２の通信工程と、
を含んだことを特徴とする通信制御方法。
【請求項５】
第１のネットワーク内の通信制御装置であって、
前記第１のネットワーク内の端末から受信した通信データの宛先が、前記第１のネットワークと接続される前記第２のネットワーク内であるか、又は、当該第２のネットワークに接続される外部ネットワークであるかを識別する識別部と、
前記識別部で識別された通信データの宛先が前記第２のネットワーク内である場合には、該通信データが暗号化されたデータであるか否かを解析する解析部と、
前記識別部で識別された通信データの宛先が前記外部ネットワークである場合、または、前記解析部で解析された通信データが暗号化されたデータである場合には、前記通信データに対して前記第２の装置とトンネル通信するためのカプセリング処理を実行し、前記解析部で解析された通信データが暗号化されたデータでない場合には、前記通信データに対して少なくとも暗号化処理及び前記第２の装置とトンネル通信するためのカプセリング処理を実行する第１のトンネリング処理部と、
前記第１のトンネリング処理部による処理後の通信データを前記第２の装置へ送信する第１の通信部と、
を備えたことを特徴とする通信制御装置。
【請求項６】
前記第１のトンネリング処理部は、前記識別部が前記端末から受信した通信データの宛先が前記外部ネットワークであると識別した場合、または、前記解析部が前記端末から受信した通信データが暗号化されたデータであると解析した場合には、当該通信データのうち所定の一部分として、少なくとも当該通信データのヘッダ情報の一部分を秘匿化することを特徴とする請求項５に記載の通信制御装置。
【請求項７】
第１のネットワークと接続される第２のネットワーク内の通信制御装置であって、
前記第１のネットワーク内の通信装置から送信された通信データを受信して、受信した通信データに対して実行されている暗号化処理及びトンネル通信するためのカプセリング処理、又は、トンネル通信するためのカプセリング処理の解除を実行するトンネリング処理部と、
前記トンネリング処理により解除された通信データを、当該通信データの宛先へ送信する通信部と、
を備えたことを特徴とする通信制御装置。
【請求項８】
コンピュータを請求項５〜７のいずれか一つに記載の通信制御装置として機能させるための通信制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステム、通信制御方法、通信制御装置及び通信制御プログラムに関する。
【背景技術】
【０００２】
従来、インターネット上の情報通信などにおいて、拠点間を結ぶトンネリング処理を行う通信におけるセキュアな通信を行うために、暗号化やメッセージ認証、改竄検知などのセキュリティ処理が行われることが知られている。例えば、トンネリング技術においては、暗号などが適用されたセキュアなＶＰＮ（Virtual Private Network）が利用されることが知られている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】RFC  4301,  Security  Architecture  for  the  Internet  Protocol,［online］,［平成２５年４月２４日検索］、インターネット＜http://tools.ietf.org/html/rfc4301＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来の技術では、トンネリング技術において、処理負荷が高くなる場合や通信性能が低くなる場合があり、効率的に通信を行えないという課題があった。例えば、ゲートウェイ（ＧＷ：Gateway）などの通信制御装置が、既に暗号化されている通信を受信した場合、つまり、送信端末側で暗号化処理をしている通信データを受信した場合に、ＶＰＮでさらに暗号化することで、二重に暗号化してしまい、無駄な処理コストが発生し、処理負荷が高くなり、通信性能が低くなることから、効率的に通信を行えない場合があった。
【０００５】
そこで、本願に係る技術は、上述した従来技術の問題に鑑みてなされたものであって、トンネリング処理を行う通信において、処理負荷を抑えつつ、通信性能の低下を低減し、効率的に通信を行うことを可能にするネットワークシステム、通信制御方法、通信制御装置及び通信制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するため、本願に係るネットワークシステムは、第１のネットワーク内の第１の装置と、前記第１のネットワークと通信可能な第２のネットワーク内の第２の装置とを備え、外部ネットワークが前記第１のネットワークまたは前記第２のネットワークと通信可能なネットワークシステムであって、前記第１の装置は、前記第１のネットワーク内の端末から受信した通信データの宛先が、前記第２のネットワーク内であるか、または、前記外部ネットワークであるかを識別する識別部と、前記識別部で識別された通信データの宛先が前記第２のネットワーク内である場合には、該通信データが暗号化されたデータであるか否かを解析する解析部と、前記識別部で識別された通信データの宛先が前記外部ネットワークである場合、または、前記解析部で解析された通信データが暗号化されたデータである場合には、前記通信データに対して前記第２の装置とトンネル通信するためのカプセリング処理を実行し、前記解析部で解析された通信データが暗号化されたデータでない場合には、前記通信データに対して少なくとも暗号化処理及び前記第２の装置とトンネル通信するためのカプセリング処理を実行する第１のトンネリング処理部と、前記第１のトンネリング処理部による処理後の通信データを前記第２の装置へ送信する第１の通信部と、を備え、前記第２の装置は、前記第１の装置から送信された通信データを受信して、前記第１のトンネリング処理部による処理の解除を実行する第２のトンネリング処理部と、前記第２のトンネリング処理により解除された通信データを、当該通信データの宛先へ送信する第２の通信部と、を備えたことを特徴とする。
【０００７】
また、本願に係る通信制御方法は、第１のネットワーク内の第１の装置と、前記第１のネットワークと通信可能な第２のネットワーク内の第２の装置とを備え、外部ネットワークが前記第１のネットワークまたは前記第２のネットワークと通信可能なネットワークシステムによって実行される通信制御方法であって、前記第１の装置によって実行される、前記第１のネットワーク内の端末から受信した通信データの宛先が、前記第２のネットワーク内であるか、または、前記外部ネットワークであるかを識別する識別工程と、前記識別工程で識別された通信データの宛先が前記第２のネットワーク内である場合には、該通信データが暗号化されたデータであるか否かを解析する解析工程と、前記識別工程で識別された通信データの宛先が前記外部ネットワークである場合、または、前記解析工程で解析された通信データが暗号化されたデータである場合には、前記通信データに対して前記第２の装置とトンネル通信するためのカプセリング処理を実行し、前記解析工程で解析された通信データが暗号化されたデータでない場合には、前記通信データに対して少なくとも暗号化処理及び前記第２の装置とトンネル通信するためのカプセリング処理を実行する第１のトンネリング処理工程と、前記第１のトンネリング処理工程による処理後の通信データを前記第２の装置へ送信する第１の通信工程と、を備え、前記第２の装置によって実行される、前記第１の装置から送信された通信データを受信して、前記第１のトンネリング処理工程による処理の解除を実行する第２のトンネリング処理工程と、前記第２のトンネリング処理により解除された通信データを、当該通信データの宛先へ送信する第２の通信工程と、を含んだことを特徴とする。
【０００８】
また、本願に係る通信制御装置は、第１のネットワーク内の通信制御装置であって、前記第１のネットワーク内の端末から受信した通信データの宛先が、前記第１のネットワークと接続される前記第２のネットワーク内であるか、又は、当該第２のネットワークに接続される外部ネットワークであるかを識別する識別部と、前記識別部で識別された通信データの宛先が前記第２のネットワーク内である場合には、該通信データが暗号化されたデータであるか否かを解析する解析部と、前記識別部で識別された通信データの宛先が前記外部ネットワークである場合、または、前記解析部で解析された通信データが暗号化されたデータである場合には、前記通信データに対して前記第２の装置とトンネル通信するためのカプセリング処理を実行し、前記解析部で解析された通信データが暗号化されたデータでない場合には、前記通信データに対して少なくとも暗号化処理及び前記第２の装置とトンネル通信するためのカプセリング処理を実行する第１のトンネリング処理部と、前記第１のトンネリング処理部による処理後の通信データを前記第２の装置へ送信する第１の通信部と、を備えたことを特徴とする。
【発明の効果】
【０００９】
本願に開示するネットワークシステム、通信制御方法、通信制御装置及び通信制御プログラムは、トンネリング処理を行う通信において、処理負荷を抑えつつ、通信性能の低下を低減し、効率的に通信を行うことが可能である。
【図面の簡単な説明】
【００１０】
【図１】図１は、第１の実施形態に係るネットワークシステムの構成を示す図である。
【図２】図２は、第１の実施形態に係るネットワークシステムの具体的な構成の一例を示す図である。
【図３】図３は、第１の実施形態に係る通信制御装置の構成の一例を示す図である。
【図４】図４は、暗号特定情報記憶部に記憶される情報の一例を示す図である。
【図５】図５は、宛先識別処理及びトンネリング処理を説明するための図である。
【図６】図６は、第１の実施形態に係るネットワークシステムのトンネリング処理を説明するための図である。
【図７】図７は、パケットの内容とトンネリング処理との対応関係を説明するための図である。
【図８】図８は、第１の実施形態に係る通信制御装置による処理の手順を説明するためのフローチャートである。
【図９】図９は、第２の実施形態に係る通信制御装置の構成の一例を示す図である。
【図１０】図１０は、通信状態記憶部に記憶される情報の一例を示す図である。
【図１１】図１１は、第２の実施形態に係る通信制御装置による処理の手順を説明するためのフローチャートである。
【図１２】図１２は、第３の実施形態に係る通信制御装置の構成の一例を示す図である。
【図１３】図１３は、通信制御プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、本願に係るネットワークシステム、通信制御方法、通信制御装置及び通信制御プログラムの実施形態を詳細に説明する。なお、本願に係るネットワークシステム、通信制御方法、通信制御装置及び通信制御プログラムは、以下の実施形態により限定されるものではない。
【００１２】
（第１の実施形態）
まず、第１の実施形態に係るネットワークシステムの概要について説明する。以下、図１を用いて、第１の実施形態に係るネットワークシステムの構成の一例を説明する。図１は、第１の実施形態に係るネットワークシステム１の構成の一例を説明するための図である。図１に示すように、第１の実施形態に係るネットワークシステム１は、第１のネットワーク２内の拠点Ａにおける端末１０と、第１のネットワーク２および外部ネットワーク（例えば、インターネット）５と接続される第２のネットワーク３内の拠点Ｂにおける端末２０とを備えるネットワークシステムである。
【００１３】
ネットワークシステム１においては、通信制御装置１００と通信制御装置２００とがトンネル接続されることで、第１のネットワーク２と第２のネットワーク３とが、同一サブネット化される。これにより、拠点Ａにおける第１のネットワーク２と、拠点Ｂにおける第２のネットワーク３とが、同一セグメントのネットワークとして利用することができる。
【００１４】
通信制御装置１００は、第１のネットワーク２内の端末１０から受信した通信データの宛先が、第２のネットワーク３内であるか、または、外部ネットワーク５であるかを識別する。そして、通信制御装置１００は、識別された通信データの宛先が第２のネットワーク３内である場合には、該通信データが暗号化されたデータであるか否かを解析する。
【００１５】
そして、通信制御装置１００は、通信データの宛先が外部ネットワーク５であると識別された場合、または、解析された通信データが暗号化されたデータである場合には、通信データに対して通信制御装置２００とトンネル通信するためのカプセリング処理を実行し、端末２０へ送信する。また、通信制御装置１００は、解析された通信データが暗号化されたデータでない場合には、通信データに対して少なくとも暗号化処理及び通信制御装置２００とトンネル通信するためのカプセリング処理を実行し、端末２０へ送信する。
【００１６】
その後、通信制御装置２００は、通信制御装置１００から送信された通信データを受信して、トンネリング処理の解除を実行し、トンネリング処理が解除された通信データを、宛先へ送信する。
【００１７】
このように、第１の実施形態に係るネットワークシステム１では、通信データの通信内容を確認し、必要に応じて暗号化処理を行うことで、既に暗号化されている通信データにさらに暗号化処理を施すことを省略する。この結果、トンネリング処理を行う通信において、処理負荷を抑えつつ、通信性能の低下を低減し、効率的に通信を行うことが可能である。
【００１８】
次に、図２を用いて、上記した第１の実施形態に係るネットワークシステム１の具体的な構成例について説明する。なお、以降の説明では、図２の構成を例とした説明を適宜行うものとする。
【００１９】
例えば、第１の実施形態に係るネットワークシステム１は、ユーザ宅内に構築された宅内ネットワーク（ＲＨＮＷ：Real  Home  Network）２と、データセンタ（ＤＣ：  Data  Center）３０内に構築された仮想ホームネットワークＶＨＮＷ（Virtual  Home  Network）３とを有する。そして、ネットワークシステム１は、例えば、アクセスネットワークなどの閉域網や、インターネットなどのネットワーク４を介してＲＨＮＷ２上のネットワーク装置（ＣＰＥ：Customer  Premises  Equipment）１００とＤＣ３０内に構築されたＶＨＮＷ３上のＶＨＧＷ（Virtual  Home  Gateway）２００とが接続される。
【００２０】
ＲＨＮＷ２は、ＣＰＥ１００に加えて、例えば、端末などが接続される。また、ＶＨＮＷ３は、ＶＨＧＷ２００に加えて、例えば、仮想ＡＰサーバ（仮想アプリケーションサーバ）や、仮想ストレージ（仮想ストレージサーバ）などの通信装置が構築される。そして、ネットワークシステム１においては、ＣＰＥ１００とＶＨＧＷ２００とがＬ２トンネル接続されることで、ＲＨＮＷ２とＶＨＮＷ３とが、同一サブネット化（同一セグメント化）される。これにより、ユーザ宅内のＲＨＮＷ２と、遠隔拠点にあるＤＣ３０におけるＶＨＮＷ３とが、一つのホームネットワークとして利用することができる。
【００２１】
このように、ネットワークシステム１は、ＶＨＮＷ３がＤＣ３０に配置されていることから、計算機リソースの制約がなくなり、ホームネットワークやホームゲートウェイとしての性能や機能を仮想化技術などによって容易に拡張することができる。ここで、このようなネットワークシステム１においては、ＲＨＮＷ２内の端末からＶＨＮＷ３内の装置（例えば、仮想ＡＰサーバや、仮想ストレージなど）にアクセスする場合も、ＲＨＮＷ２の端末からインターネット上の装置にアクセスする場合も、同一のＬ２（レイヤ２：ＯＳＩ参照モデルのデータリンク層、または第２層）トンネルを経由することとなる。
【００２２】
上述したように、ネットワークシステム１においては、ＲＨＮＷ２とＶＨＮＷ３とがアクセスネットワークや、インターネットなどのネットワーク４の上をＬ２トンネルで接続される。従って、例えば、ＤＣ３０が盗聴や改竄される可能性の高い網であるインターネット上に位置する（インターネット上にＬ２トンネルを構築する）場合には、暗号などが適用されたセキュアなＬ２ＶＰＮ（Ｌ２  Virtual  Private  Network）がトンネルリング技術として適用されるのが一般的である。
【００２３】
ここで、従来技術においては、ＲＨＮＷ２内の端末からＶＨＮＷ３内の装置にアクセスする場合も、ＲＨＮＷ２内の端末からＶＨＮＷ３とは異なるインターネットなどの外部ネットワーク５上の装置にアクセスする場合も、Ｌ２ＶＰＮによって構築されたＬ２トンネルを経由することとなる。例えば、ＲＨＮＷ２からＶＨＮＷ３内の装置にアクセスするということは、従来のホームネットワークで例えると、ホームネットワーク内の端末から、同じホームネットワーク内の通信装置にアクセスすることと同じである。従って、このアクセスに関する通信内容はホームネットワークの外部からの盗聴や改竄などに対してセキュアに管理されることが望ましいため、通信路に暗号化などが施されたセキュアなＬ２ＶＰＮによって構築されたＬ２トンネルをそのまま利用してＲＨＮＷ２からＶＨＮＷ３へアクセスするのが望ましい。
【００２４】
一方、ネットワークシステム１のようなネットワーク環境では、ＲＨＮＷ２からインターネット上の通信装置へアクセスする場合、インターネットへのゲートウェイが配置されているＶＨＮＷ３を経由する必要があるので、Ｌ２トンネルを通過することになる。つまり、インターネットへアクセスする場合も、画一的にセキュアなＬ２ＶＰＮによって構築されたトンネルを通ることとなる。かかる場合、そもそもインターネットに出ていく通信であるため、通信内容全体の暗号化などは必須ではない通信であっても、セキュアなＬ２ＶＰＮを経由することとなるため、必須ではない暗号・認証・署名などの処理を要してしまい、通信パフォーマンスが低下してしまう。また、Ｌ２トンネルを通る通信は、その分のトンネリング（ＩＰカプセリング）のためのヘッダサイズ分だけオーバヘッドが発生して１回の通信で送信できるデータサイズが減少し、通信効率が低下してしまうため、通信処理に係るコストは、可能な限り抑える必要がある。
【００２５】
そこで、第１の実施形態にかかるネットワークシステム１では、以下、詳細に説明する通信制御装置（ＣＰＥ）１００及び通信制御装置（ＶＨＧＷ）２００の処理により、インターネットへのアクセスにおける通信効率の低下を低減することを可能にする。なお、第１の実施形態に係るＣＰＥ１００やＶＨＧＷ２００では、図２に示すように、ＩＰｖ４及び／またはＩＰｖ６などのアドレス管理機能を備える。
【００２６】
以下、図２に例示した通信制御装置（ＣＰＥ）１００及び通信制御装置（ＶＨＧＷ）２００の詳細について説明する。まず、ＲＨＮＷ２内の端末１０が送信元であり、宛先がＶＨＮＷ３内の端末（仮想ＡＰサーバ又は仮想ストレージ）２０又はインターネット上の端末３０である場合について説明する。図３は、第１の実施形態に係る通信制御装置の構成の一例を示す図である。
【００２７】
図３に示すように、通信制御装置１００は、通信部１１０と、制御部１２０と、記憶部１３０とを備え、アクセスネットワークやインターネットなどを介して通信制御装置２００とＬ２トンネル接続されている。
【００２８】
通信部１１０は、例えば、ＬＡＮ（Local  Area  Network）インターフェースや、ＷＡＮ（Wide  Area  Network）インターフェースなどであり、通信データである、Ｌ２のフレームやその中のＬ３（レイヤ３：ＯＳＩ参照モデルのネットワーク層、または第３層）のパケットの送受信を実行する。具体的には、通信部１１０は、後述するトンネリング処理部１２４による処理後の通信を、トンネルの対向終端装置であるＶＨＧＷ２００との間で実行する。また、通信部１１０は、スイッチ、ハブ、ブリッジ機能などを備える。
【００２９】
記憶部１３０は、図３に示すように、暗号特定情報記憶部１３１を有する。記憶部１３０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置などである。
【００３０】
暗号特定情報記憶部１３１は、パケットが暗号化済か否かを特定するための情報を記憶する。また、暗号特定情報記憶部１３１が記憶する情報は、後述する解析部１２２によって参照される情報である。具体的には、暗号特定情報記憶部１３１は、例えば、レイヤ別に、暗号化済とみなす通信の条件および未暗号化とみなす通信の条件を記憶する。
【００３１】
例えば、暗号特定情報記憶部１３１は、暗号化済・未暗号化とみなす通信の条件として、「宛先・送信元情報」、「暗号通信プロトコルとして割り当てられているＩＰプロトコル番号」、「暗号通信に割り当てられているＴＣＰやＵＤＰのポート番号」、および、「データ・ファイルを暗号化して送受信するアプリケーション」の情報を記憶している。
【００３２】
暗号特定情報記憶部１３１は、宛先・送信元情報について、宛先や送信元（例えば、ＭＡＣアドレスやＩＰアドレス）と暗号通信の有無があらかじめ対応付けることができる場合には、宛先や送信元を暗号化済・未暗号化とみなす通信の条件として記憶する。つまり、あるＭＡＣアドレスを宛先とした通信については、パケットが暗号化済みであるということが予め決まっている場合には、そのＭＡＣアドレスを、暗号化済とみなす通信の条件として記憶する。
【００３３】
また、暗号特定情報記憶部１３１は、暗号通信プロトコルとして割り当てられているＩＰプロトコル番号として、例えば、「５０番（ＥＳＰ（Encap  Security  Payload  Protocol））」を記憶する。また、暗号特定情報記憶部１３１は、暗号通信に割り当てられているＴＣＰやＵＤＰのポート番号として、例えば、「２２番（ＳＳＨ（Secure  SHell））」、「４４３番（ＨＴＴＰＳ（Hypertext  Transfer  Protocol  Security））」を記憶する。
【００３４】
また、暗号特定情報記憶部１３１は、データ・ファイルを暗号化して送受信するアプリケーションとして、暗号化アプリケーション等で暗号化したデータやファイルを非暗号通信路で送信する場合、このことを示すアプリケーションのヘッダの制御情報や、暗号化ファイルのヘッダ情報に埋め込まれ暗号化を示す情報を記憶する。例えば、PGP（Pretty  Good  Privacy）の制御情報に、Mime-Versionヘッダが存在し、Content-Typeヘッダがmultipart／encryptedであり、protocolが「application／pgp-encrypted」であって、制御情報部にPGPを示すMineヘッダが存在する場合は、データが暗号化されていることとみなせる。また、例えば、S/MIME（Secure/Multipurpose  Internet  Mail  Extensions）なども同様に制御情報を参照することで（メールのヘッダ情報に、Content-Description:  S/MIME  Encrypted  Messageが含まれている場合）、データが暗号化されているか否かを確認できる。
【００３５】
なお、後述する解析部１２２は、暗号化済とみなす通信の条件に対応する各情報に合致する場合には、その通信を暗号化済の通信とみなし、未暗号化とみなす通信の条件に対応する各情報に合致する場合には、その通信を未暗号化の通信とみなす。
【００３６】
ここで、図４の例を用いて、暗号特定情報記憶部１３１に記憶される情報の一例を説明する。図４は、暗号特定情報記憶部１３１に記憶される情報の一例を示す図である。図４に例示するように、暗号特定情報記憶部１３１は、解析対象となる情報のレイヤを示す「パケットのレイヤ」と、解析対象となる情報の種別を示す「解析対象」と、パケットが暗号化済である場合の条件である「暗号化済とみなす通信の条件」と、パケットが暗号化済みでない場合の条件である「未暗号化とみなす通信の条件」とを対応付けて記憶する。
【００３７】
例えば、暗号特定情報記憶部１３１は、パケットのレイヤ「データリンク」と、解析対象「宛先ＭＡＣ」と、暗号化済とみなす通信の条件「ＸＸ：ＹＹ：ＺＺ：ＡＡ：ＢＢ：ＣＣ」、「ＸＸ：ＶＶ：ＴＴ：ＤＤ：ＢＢ：ＦＦ」・・・と、未暗号化とみなす通信の条件「１１：２２：３３：ＡＡ：ＢＢ：８８」・・・とを対応付けて記憶する。つまり、これは、パケットにおけるデータリンク層の宛先ＭＡＣアドレスが、「ＸＸ：ＹＹ：ＺＺ：ＡＡ：ＢＢ：ＣＣ」や「ＸＸ：ＶＶ：ＴＴ：ＤＤ：ＢＢ：ＦＦ」と一致する場合には、該パケットが暗号化済であることを意味し、「１１：２２：３３：ＡＡ：ＢＢ：８８」等と一致する場合には、該パケットが未暗号化であることを意味している。また、例えば、ある特定のＩＰアドレスとポート番号の組などの様にレイヤをまたがる複数の組を条件としてもよい。
【００３８】
図３の説明に戻って、制御部１２０は、識別部１２１と、解析部１２２と、判定部１２３と、トンネリング処理部１２４とを有する。ここで、制御部１２０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路やＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路である。
【００３９】
識別部１２１は、ＲＨＮＷ２に含まれる端末からの通信の宛先が、トンネルの対向側のネットワークであるＶＨＮＷ３内であるか、又は、ホームネットワーク（ＲＨＮＷ２とＶＨＮＷ３からなる同一Ｌ２セグメントネットワーク）とは異なるインターネットなどの外部ネットワーク５であるかを識別する。具体的には、識別部１２１は、ＲＨＮＷ２内の端末からのＬ２フレームまたはパケットの宛先がＶＨＮＷ３内であるか、又はインターネットであるかを識別する。図５は、第１の実施形態に係る通信制御装置１００による宛先識別処理及びトンネリング処理を説明するための図である。なお、説明上不要な情報は割愛している。
【００４０】
ここで、図５においては、図５の（Ａ）にＲＨＮＷ２内の端末から受信したＬ２フレームを示す。また、図５においては、図５の（Ｂ）にパケットの宛先がＶＨＮＷ３内の通信装置であった場合のＬ２ＶＰＮを構成するパケットの構造例を示す。また、図５においては、図５の（Ｃ）にパケットの宛先がインターネット上の通信装置であった場合のＬ２ＶＰＮ内のパケットの構造例を示す。なお、図５の（Ｂ）及び（Ｃ）については、トンネリング処理部１２４を説明する際に、詳細を説明する。
【００４１】
例えば、端末から受信したＬ２フレームは、図５の（Ａ）に示すように、ペイロードと、ＴＣＰまたはＵＤＰの宛先ポート番号と、ＴＣＰまたはＵＤＰの送信元ポート番号と、宛先ＩＰアドレスと、送信元ＩＰアドレスと、宛先ＭＡＣアドレスと、送信元ＭＡＣアドレスとを含む。なお、ＴＣＰやＵＤＰを使用しない通信では、宛先ポート番号と送信元ポート番号は含まれない。
【００４２】
例えば、識別部１２１は、通信部１１０が図５の（Ａ）に示すＬ２フレームまたはパケットを受信すると、Ｌ２のフレームレベル、或いは、Ｌ３のパケットレベルで宛先を識別する。例えば、Ｌ２のフレームレベルで識別する場合には、識別部１２１は、受信したＬ２フレームの宛先ＭＡＣアドレスを参照して、格納されたＭＡＣアドレスが、ＶＨＮＷ３内の通信装置宛であるか、或いは、インターネット上の通信装置宛（つまり、インターネットとの間のゲートウェイ装置のＭＡＣアドレス）であるかを識別する。ここで、識別部１２１は、通信部１１０のＬ２スイッチ機能に備えられたＭＡＣアドレス学習を利用して、宛先を識別することも可能である。
【００４３】
かかる場合には、例えば、識別部１２１は、通信部１１０によるＭＡＣアドレス学習によって、スイッチのポートと、そのポートの接続先の通信装置のＭＡＣアドレスとを対応付けて記憶することで、記憶したＭＡＣアドレスの情報を用いて宛先を特定することができる。例えば、識別部１２１は、Ｌ２トンネルに使用するポートと対応付けて記憶されているＭＡＣアドレスを宛先ＭＡＣアドレスとする通信の宛先をＶＨＮＷ３内として特定する。この手法は、ＭＡＣアドレス学習によって、ホームネットワーク（ＲＨＮＷ２とＶＨＮＷ３からなる同一セグメントのＬ２ネットワーク）内の通信装置のＭＡＣアドレスを学習した後には、処理負荷の面でも、有用な識別方法である。
【００４４】
また、例えば、Ｌ３のパケットレベルで識別する場合には、識別部１２１は、受信したパケットの宛先ＩＰアドレスを参照して、格納されたＩＰアドレスが、ＶＨＮＷ３内の通信装置宛であるか、或いは、インターネット上の通信装置宛であるかを識別する。例えば、識別部１２１は、格納されたＩＰアドレスがホームネットワーク（ＲＨＮＷ２とＶＨＮＷ３からなる同一セグメントのＬ２ネットワーク）内のプライベートアドレスであるか、リンクローカルアドレスであるか、同一セグメント内のプレフィックスを持つアドレスであるか、或いは、ホームネットワークの外部ネットワーク５のグローバルアドレスであるかにより、宛先を識別する。なお、上記した識別方法は、いずれか１つを用いる場合であってもよく、或いは、複数を組み合わせて用いる場合であってもよい。
【００４５】
識別部１２１は、上記した識別方法を用いて、宛先として、ＶＨＮＷ３内の通信装置及びインターネット上の通信装置に加えて、ＲＨＮＷ２内の通信装置（端末）を識別することも可能である。
【００４６】
図３の説明に戻って、解析部１２２は、識別部１２１で識別されたパケットの宛先がＶＨＮＷ３内の端末２０である場合には、該パケットが暗号化されたデータであるか否かを解析する。具体的には、解析部１２２は、識別部１２１で識別されたパケットの宛先がＶＨＮＷ３内の端末２０である場合には、暗号特定情報記憶部１３１を参照して、パケットが暗号済か否かを、パケットのヘッダ部からデータ部までの順（例えば、データリンク層→ネットワーク層→トランスポート層→アプリケーションの順）に解析し、暗号特定情報記憶部１３１に記憶された条件に該当するものがあるか否かを確認する。例えば、解析部１２２は、ネットワーク層のＩＰヘッダ情報（宛先ＩＰアドレス）に、暗号化済とみなす通信の条件、または、未暗号化とみなす通信の条件に該当するものがあった場合には、それ以上の解析、すなわち、トランスポート層、アプリケーション層についての解析は不要である。
【００４７】
ここで、図４の例を用いて、解析処理について具体的に説明する。まず、解析部１２２は、暗号特定情報記憶部１３１を参照し、パケットのレイヤ「データリンク」、解析対象「宛先ＭＡＣ」のレコードを読み出し、受信したパケットの宛先ＭＡＣアドレスが暗号化済とみなす通信の条件、または、未暗号化とみなす通信の条件として記憶されたＭＡＣアドレスと一致するかを確認する。この結果、受信したパケットの宛先ＭＡＣアドレスが、暗号化済とみなす通信の条件として記憶されたＭＡＣアドレスと一致する場合には、暗号化済のパケットとみなし、未暗号化とみなす通信の条件として記憶されたＭＡＣアドレスと一致する場合には、未暗号化のパケットとみなす。
【００４８】
また、受信したパケットの宛先ＭＡＣアドレスが、受信したパケットの宛先ＭＡＣアドレスが暗号化済とみなす通信の条件、および、未暗号化とみなす通信の条件として記憶されたＭＡＣアドレスと一致しない場合には、次に、パケットのレイヤ「ネットワーク」、解析対象「宛先ＩＰアドレス」のレコードを読み出し、上記と同様に、受信したパケットの宛先ＩＰアドレスが暗号化済とみなす通信の条件、または、未暗号化とみなす通信の条件として記憶されたＩＰアドレスと一致するかを確認する。
【００４９】
その後、暗号化済とみなす通信の条件、または、未暗号化とみなす通信の条件に一致するまで、パケットのレイヤ「ネットワーク」であって解析対象「プロトコル番号」のレコード、パケットのレイヤ「トランスポート」であって解析対象「ポート番号」のレコード、パケットのレイヤ「アプリケーション」であって解析対象「パケットデータ部分」のレコードを順次読み出して、解析する処理を繰り返す。このように、パケットヘッダのみから既に暗号化された通信か否かを判定できない場合があり、データ部までチェックを要することもある。なお、最後のレコードを読み出して解析処理を行った結果、パケットが暗号化されているか否かを特定できない場合には、通信処理効率よりも安全性を重視して、パケットを未暗号化とみなす。
【００５０】
図３の説明に戻って、判定部１２３は、識別部１２１または解析部１２２の結果を用いて、この結果に対応するパケットに施すトンネリングの処理の内容を判定する。例えば、判定部１２３は、宛先がトンネル対向側のＶＨＮＷ３でない場合には、トンネリング処理をしないと判定する。また、判定部１２３は、宛先がトンネル対向側の外部ネットワーク５の場合、つまり、例えば、送信元端末から受信したＬ２フレームまたはパケットの宛先がＶＨＮＷ３外の通信装置であると識別された場合には、カプセル化を行うと判定する。
【００５１】
また、判定部１２３は、宛先がトンネル対向側の内部ネットワーク、つまり送信元がＲＨＮＷ２の場合はＶＨＮＷ３であって、かつ、パケットに暗号化が施されている場合、つまり、例えば、送信元端末から受信したＬ２フレームまたはパケットの宛先がＶＨＮＷ３内の通信装置であると識別され、且つ、パケットに暗号化が施されていると解析された場合には、カプセル化を行うと判定する。
【００５２】
また、判定部１２３は、宛先がトンネル対向側の内部ネットワークであって、且つ、パケットに暗号化が施されていない場合には、暗号化およびカプセル化の処理を施すと判定する。すなわち、判定部１２３は、受信したＬ２フレームに対して暗号・認証・署名などのセキュリティ処理と、Ｌ２カプセリング処理（Ｌ２フレームに対するトンネリングのためのＩＰカプセリング処理）とを実行すると判定する。一例を挙げると、判定部１２３は、受信したＬ２フレームに対してＬ２ＴＰｖ３（Ｌ２  Tunneling  Protocol  version  ３）とＩＰＳｅｃとを組み合わせた処理や、ＯｐｅｎＶＰＮ（登録商標）による処理を実行するように判定する。
【００５３】
トンネリング処理部１２４は、判定部１２３によって判定されたＬ２トンネリング処理を実行する。具体的には、トンネリング処理部１２４は、パケットの宛先がトンネル対向側の外部ネットワーク５である場合には、カプセル化を行う。また、トンネリング処理部１２４は、パケットの宛先が内部ネットワークであって、パケットが暗号化されたデータである場合、つまり、端末からの通信の宛先がＶＨＮＷ３内である場合であって、パケットが暗号化されたデータである場合には、カプセル化を行う。また、トンネリング処理部１２４は、パケットの宛先が内部ネットワークであって、パケットが暗号化されていないデータである場合には、暗号化およびカプセル化の処理を行う。
【００５４】
例えば、受信したＬ２フレームに対して暗号・認証・署名などのセキュリティ処理と、Ｌ２カプセリング処理とを実行すると判定された場合には、トンネリング処理１２４は、図５の（Ｂ）に示すように、Ｌ２フレームをＬ２ＶＰＮの暗号化対象部分として暗号化などの処理をして、Ｌ２トンネルヘッダやその他のヘッダと、宛先ＩＰアドレスと、送信元ＩＰアドレスとを付加する。ここで、Ｌ２トンネルヘッダやその他のヘッダは、Ｌ２ＶＰＮを識別する識別情報などを格納する領域として利用されてもよい。例えば、トンネリング処理部１２４は、判定部１２３の判定結果や、自身が実行した処理内容を示す情報をＬ２トンネルヘッダやその他のヘッダに格納する。また、付加された宛先ＩＰアドレスは、ＶＨＧＷ２００側のトンネル終端装置のグローバルアドレスが格納される領域である。また、付加された送信元ＩＰアドレスは、ＣＰＥ１００側のトンネル終端装置のグローバルアドレスが格納される領域である。
【００５５】
また、例えば、受信したＬ２フレームに対してＬ２カプセリング処理のみを実行するように判定された場合には、トンネリング処理部１２４は、図５の（Ｃ）に示すように、Ｌ２フレームに、トンネルヘッダやその他のヘッダと、宛先ＩＰアドレスと、送信元ＩＰアドレスとを付加する。
【００５６】
また、受信したＬ２フレームをＬ２スイッチやブリッジ機能によってＬ２レイヤの処理で転送するように判定された場合には、具体的には、宛先が同じＲＨＮＷ２内である場合は、トンネリング処理部１２４は特別な処理は実行しない。
【００５７】
通信部１１０は、トンネリング処理部１２４によって処理されたパケットをＶＨＧＷ２００に対して送信する。また、通信部１１０は、Ｌ２スイッチやブリッジ機能によってパケットをＲＨＮＷ２内の通信装置に転送する。
【００５８】
ここで、図６および図７を用いて、トンネリング処理について説明する。図６は、第１の実施形態に係るネットワークシステムのトンネリング処理を説明するための図である。図７は、パケットの内容とトンネリング処理との対応関係を説明するための図である。図６に示すように、通信制御装置１００は、宛先がトンネル対向側の外部ネットワーク５の場合、つまり、例えば、送信元端末１０から受信したＬ２フレームまたはパケットの宛先がＶＨＮＷ３外の端末３０であると識別された場合には、カプセル化を行って、ＶＨＮＷ３外の端末３０に対してパケットを転送する（図６の（１）参照）。
【００５９】
また、通信制御装置１００は、宛先がトンネル対向側の内部ネットワークであって、かつ、パケットに暗号化が施されている場合、つまり、例えば、送信元端末１０から受信したＬ２フレームまたはパケットの宛先がＶＨＮＷ３内の通信装置２０であると識別され、且つ、パケットに暗号化が施されている場合には、カプセル化およびヘッダの一部を行って、ＶＨＮＷ３内の通信装置２０に対してパケットを送信する（図６の（２）参照）。
【００６０】
また、通信制御装置１００は、宛先がトンネル対向側の内部ネットワークであって、且つ、パケットに暗号化が施されていない場合には、暗号化およびカプセル化の処理を施すと判定する。すなわち、通信制御装置１００は、受信したＬ２フレームに対してＶＰＮの暗号・認証・署名などのセキュリティ処理と、Ｌ２カプセリング処理とを実行し、ＶＨＮＷ３内の通信装置２０に対してパケットを送信する（図６の（３）参照）。
【００６１】
つまり、図７に示すように、通信制御装置１００は、宛先がトンネル対向側の外部ネットワーク５である場合には、パケットが暗号化済であるか否かにかかわらず、カプセル化を行う。また、通信制御装置１００は、宛先がトンネル対向側の内部ネットワークである場合には、パケットが暗号化済であれば、カプセル化を行い、パケットが未だ暗号化されていないのであれば、ＶＰＮの暗号化処理をパケットに施す。
【００６２】
例えば、図６に例示する拠点Ｂの端末２０から拠点Ａの端末１０へ著作権保護機能が施された映像をストリーム配信する場合は、既に暗号化されているパケットに対してさらにＶＰＮにより暗号化する必要がないため、ＶＰＮの暗号化処理による通信制御装置１００、通信制御装置２００に対する過負荷を回避することで、通信品質のよいストリーミングを実現できる。
【００６３】
図３の説明に戻って、通信制御装置１００からパケットを受信する通信制御装置２００の構成を説明する。通信制御装置２００は、通信部２１０、トンネリング処理部２２０を有する。なお、ここでの説明では、通信制御部２００は、受信したパケットのトンネリング処理を解除し、該パケットを宛先に送信するための処理部のみを有する場合を説明するが、これに限定されるものではなく、通信制御装置１００と同様の構成であってもよく、通信制御装置１００の制御部１２０および記憶部１３０に相当する制御部および記憶部を備えていてもよい。
【００６４】
通信部２１０は、ＬＡＮインターフェースや、ＷＡＮインターフェースなどであり、Ｌ２フレームやパケットを送受信する。具体的には、通信部２１０は、Ｌ２トンネルを介してＣＰＥ１００からＬ２トンネリング処理されたパケットを受信する。また、後述するトンネリング処理部２４０による処理後のパケットをＶＨＮＷ３内或いは、インターネットに送信する。
【００６５】
トンネリング処理部２４０は、Ｌ２トンネル対向側からの通信を受信して通信に施されている処理を識別して、通信内容全体に対する暗号化などのセキュリティ処理及びＬ２カプセリング処理の解除、又は、通信に対するＬ２カプセリングの解除を実行する。具体的には、トンネリング処理部２４０は、ＣＰＥ１００との間でＬ２トンネルの接続を確立して、トンネル経由で受信したパケットのＬ２トンネルヘッダやその他のヘッダに格納された識別情報などを参照して、対応したＬ２トンネリング処理を解除してパケットを取り出す。
【００６６】
上述したように、通信部２１０は、暗号化などのセキュリティ処理及びＬ２カプセリング処理、又は、Ｌ２カプセリング処理が解除された状態で、ＶＨＮＷ３、又はインターネットを宛先とする通信を実行する。
【００６７】
ここで、通信制御装置２００から通信制御装置１００へ送信する場合の処理について説明する。まず、通信制御装置２００は、通信部２１０によってＬ２フレームまたはパケットを受信すると、Ｌ２フレームまたはパケットの宛先および送信元を、宛先ＭＡＣアドレス（送信元ＭＡＣアドレス）や宛先ＩＰアドレス（送信先ＩＰアドレス）に基づいて識別する。そして、通信制御装置２００は、宛先が外部ネットワーク５宛である場合には、そのまま宛先へ送信する。
【００６８】
また、通信制御装置２００は、Ｌ２フレームまたはパケットの宛先が、ＲＨＮＷ２宛であって、且つ、送信元がＶＨＮＷ３内の通信装置である場合には、暗号化済であればトンネリング処理部１２４によりカプセル化が行われた後、トンネル対向側の通信装置１００へパケットを送信する。また、暗号化済でなければ、トンネリング処理部１２４により暗号化およびカプセル化の処理が施された後、トンネル対向側の通信装置１００へパケットを送信する。
【００６９】
また、通信制御装置２００は、Ｌ２フレームまたはパケットの宛先がＲＨＮＷ２内宛であって、且つ、送信元が外部ネットワーク５上の通信装置である場合には、トンネリング処理部１２４による単純なカプセリングのみによるトンネリングによりＲＨＮＷ２内の通信装置１００へＬ２フレームまたはパケットを転送する。
【００７０】
［通信制御装置の構成］
次に、図８を用いて、第１の実施形態に係る通信制御装置１００の処理の手順を説明する。図８は、第１の実施形態に係る通信制御装置１００による処理の手順を説明するためのフローチャートである。
【００７１】
通信制御装置１００は、通信部１１０がＬ２フレームまたはパケットを受信すると（ステップＳ１０１）、判定部１２３が、宛先がトンネル対向側であるか判定する（ステップＳ１０２）。ここで、判定部１２３が、宛先がトンネル対向側ではないと判定した場合には、通信部１１０は、トンネリング処理を行わずに、宛先へパケットを送信する（ステップＳ１０３）。
【００７２】
また、判定部１２３は、宛先がトンネル対向側であると判定した場合には、宛先がトンネル対向側の内部ネットワークであるか判定する（ステップＳ１０４）。この結果、判定部１２３が、宛先がトンネル対向側の内部ネットワークでないと判定した場合には、トンネリング処理部１２４が、カプセル化を行い（ステップＳ１０５）、通信部１１０が、トンネル対向側の端末へパケットを送信する（ステップＳ１０９）。
【００７３】
また、判定部１２３は、宛先がトンネル対向側の内部ネットワークであると判定した場合には、パケットが暗号化済であるか否かを判定する（ステップＳ１０６）。この結果、判定部１２３が、パケットが暗号化済であると判定した場合には、カプセル化を行い（ステップＳ１０７）、通信部１１０が、トンネル対向側の端末へパケットを送信する（ステップＳ１０９）。
【００７４】
また、判定部１２３が、パケットが暗号化済でないと判定した場合には、トンネリング処理部１２４が、暗号化およびカプセル化の処理をパケットに施し（ステップＳ１０８）、通信部１１０が、トンネル対向側の端末へパケットを送信する（ステップＳ１０９）。
【００７５】
（第１の実施形態の効果）
上述してきたように、第１の実施形態にかかる通信制御装置１００では、第１のネットワーク２内の端末１０から受信した通信データの宛先が、第２のネットワーク３内であるか、または、外部ネットワーク５であるかを識別する。そして、通信制御装置１００は、識別された通信データの宛先が第２のネットワーク３内である場合には、該通信データが暗号化されたデータであるか否かを解析する。そして、通信制御装置１００は、通信データの宛先が外部ネットワーク５である場合、または、解析された通信データが暗号化されたデータである場合には、通信データに対して通信制御装置２００とトンネル通信するためのカプセリング処理を実行し、端末２０へ送信する。また、通信制御装置１００は、解析された通信データが暗号化されたデータでない場合には、通信データに対して少なくとも暗号化処理及び通信制御装置２００とトンネル通信するためのカプセリング処理を実行し、端末２０へ送信する。その後、通信制御装置２００は、通信制御装置１００から送信された通信データを受信して、トンネリング処理の解除を実行し、トンネリング処理が解除された通信データを、宛先へ送信する。このため、パケットの通信内容を確認し、必要に応じて暗号化処理を行うことができる。この結果、トンネリング処理を行う通信において、処理負荷を抑えつつ、通信性能の低下を低減し、効率的に通信を行うことが可能である。
【００７６】
（第２の実施形態）
上述した第１の実施形態においては、パケットを受信するたびに、受信したパケットが暗号化済であるか否かを判定する場合を説明した。しかし、一度解析を行った通信については、それ以後、解析結果を流用することで、解析処理を省略し、次回以降のパケット解析の処理を簡略化することができる。
【００７７】
そこで、以下、第２の実施形態では、解析結果として通信の状態を記憶し、同一の通信については、記憶した通信の状態に基づいて、暗号化を行うか否かを判定する場合について説明する。図９は、第２の実施形態に係る通信制御装置の構成の一例を示す図である。ここで、第２の実施形態に係る通信制御装置１００Ａは、第１の実施形態に係る通信制御装置１００と比較して、通信状態記憶部１３２と、照会部１２５とを備える点が異なる。以下、これらを中心に説明する。なお、第１の実施形態と同様の部分については説明を省略する。
【００７８】
通信状態記憶部１３２は、解析部１２２によって解析されたパケットに関する情報とともに、解析部１２２によって解析された通信データが暗号化されたデータであるか否かを示す解析結果を記憶する。具体的には、通信状態記憶部１４２は、解析部１２２により解析済のパケットに関する情報を記憶する。
【００７９】
例えば、通信状態記憶部１３２は、図１０に例示するように、通信の状態として、通信を識別する番号である「エントリ」と、「送信元ＭＡＣアドレス」と、「宛先ＭＡＣアドレス」と、「送信元ＩＰアドレス」と、「宛先ＩＰアドレス」と、「プロトコル番号」と、「送信元ポート番号」と、「宛先ポート番号」と、受信したパケットが暗号化済であるか未暗号化であるかを示す情報である「状態」とを対応付けて記憶する。なお、全項目について記録することは必須ではなく、「状態」を特定できる１以上の項目からなる組であればよい。また、ここで記憶されたエントリは、例えば、エントリに該当するパケットが最後に通信されてから所定時間経過した後に削除してもよく、永続的に記憶されるべき情報ではない。また、その通信のセッションやコネクションの状態をさらに記憶し、セッションやコネクションの終了を確認した後に削除してもよい。
【００８０】
照会部１２５は、識別部１２１で識別されたパケットに関する情報が、通信状態記憶部１３２に記憶された解析されたパケットに関する情報と一致するか照会し、一致する情報が前記記憶部に記憶されている場合には、該解析されたパケットに関する情報に対応する解析結果を取得し、判定部１２３に通知する。
【００８１】
例えば、照会部１２５は、識別部１２１が識別したパケットが通信状態記憶部１３２内の情報に該当するものである場合には、そのパケットが該当する状態を判定部１２３に通知する。これにより、解析処理を行うことなく、パケットが暗号化済であるか未暗号化であるかを特定できる。また、通信状態記憶部１３２内の情報をハッシュ値化して記憶しておき、入力されたパケットのうち識別部１２１が識別した個所のハッシュ値を計算し、ハッシュ値同士で一致不一致を比較することで特定してもよい。これにより高速に照会を行うことが可能となる。
【００８２】
解析部１２２は、第１の実施形態において説明した解析処理を行うとともに、解析処理により、パケットの宛先がトンネル対向の内部ネットワークであって、このパケットの全体または一部が暗号化されている、または、暗号化されていないことの状態を特定し、このパケット情報と暗号化済・暗号化されていないに関する状態を通信状態記憶部１３２に記憶させる。
【００８３】
また、解析部１２２は、照会部１２５によって照会した結果、識別部１２１で識別されたパケットに関する情報が、通信状態記憶部１３２に記憶された解析されたパケットに関する情報と一致しない場合にのみ、パケットが暗号化されたデータであるか否かを解析する。
【００８４】
次に、図１１を用いて、第２の実施形態に係る通信制御装置による処理を説明する。図１１は、第２の実施形態に係る通信制御装置による処理の手順を説明するためのフローチャートである。情報処理装置１００Ａの判定部１２３は、第１の実施形態に係る通信制御装置１００と同様に、宛先がトンネル対向側の内部ネットワークであるか判定する（ステップＳ２０４）。
【００８５】
この結果、宛先がトンネル対向側の内部ネットワークである場合には、照会部１２５は、受信したパケットについて、通信状態記憶部１３２に該当する状態情報として、暗号化済であることを示す情報があるか否かを照会する（ステップＳ２０６）。この結果、通信状態記憶部１３２に該当する情報がある場合には、解析処理を行うことなく、トンネリング処理部１２４が、カプセル化を行い（ステップＳ２０８）、通信部１１０が、トンネル対向側の端末へパケットを送信する（ステップＳ２１０）。
【００８６】
（第２の実施形態の効果）
このように、第２の実施形態に係る通信制御装置１００Ａでは、解析された通信データに関する情報とともに、解析された通信データが暗号化されたデータであるか否かを示す解析結果を記憶する。そして、通信制御装置１００Ａは、通信データに関する情報が、記憶された解析された通信データに関する情報と一致するか照会し、一致する情報が記憶されている場合には、該解析された通信データに関する情報に対応する解析結果を取得する。そして、照会した結果、識別された通信データに関する情報が、記憶された解析された通信データに関する情報と一致しない場合にのみ、通信データが暗号化されたデータであるか否かを解析する。このため、一度解析を行った通信については、解析結果を流用することで、解析処理を省略し、次回以降のパケット解析処理を簡略化することができるため、処理負荷を軽減することが可能である。
【００８７】
（第３の実施形態）
上述した第１、２の実施形態において、暗号特定情報記憶部１３１に受信したパケットが暗号化済か否かを特定するための情報を記憶する場合を説明した。この暗号特定情報記憶部１３１に記憶された情報を更新できるようにしてもよい。つまり、既に暗号化されているパケットは、通信処理効率化のため、通信制御装置のトンネリング処理にてあえて暗号化する必要がないという趣旨であるとする場合、十分な安全性の暗号処理によりトンネル対向側へ送信すべきパケットを平文・または不十分な安全性の暗号化により送信してしまうことになるため、記憶部には正確で、タイムリーな情報が記憶されているべきである。
【００８８】
そこで、以下、第３の実施形態では、暗号特定情報記憶部１３１に記憶された情報を更新できる場合について説明する。図１２は、第３の実施形態に係る通信制御装置の構成の一例を示す図である。ここで、第３の実施形態に係る通信制御装置１００Ｂは、第２の実施形態に係る通信制御装置１００Ａと比較して、更新部１２６を備える点が異なる。以下、これらを中心に説明する。なお、第１の実施形態および第２の実施形態と同様の部分については説明を省略する。
【００８９】
更新部１２６は、暗号特定情報記憶部１３１の情報を更新する。例えば、図示していない外部サーバなどが、脆弱性が発見されたプロトコルや危殆化した暗号技術やこれを用いたプロトコルに関する最新の情報を管理し、危殆化した技術によって処理されたデータや通信を暗号化済とは判定しないように設定するため、これらのプロトコルや暗号技術を用いたアプリケーションによる暗号化に関する情報を更新情報として更新部１２６に通知する。そして、更新部１２６は、外部サーバから受信した更新情報をもとに、暗号特定情報記憶部１３１に情報を追記したり、または、暗号化済とみなす通信の条件を更新・削除したりする。
【００９０】
例えば、通信制御装置１００Ｂは、外部サーバが適切な証明書に基づいた認証を行った後に、外部サーバから更新情報を受信し、暗号特定情報記憶部１３１の情報を更新することが望ましい。
【００９１】
（第４の実施形態）
上述した第１〜３の実施形態において、宛先が外部ネットワークの場合、または、宛先が内部ネットワークであって且つパケットが暗号化済である場合には、さらにＶＰＮにおける暗号化を実施することなくカプセル化の処理を行う場合を説明した。しかし、これに限定されるものではなく、カプセル化の処理を行うとともに、ヘッダの一部を秘匿化する処理を行うようにしてもよい。そこで、以下に説明する第４の実施形態では、宛先が外部ネットワークの場合、または、宛先が内部ネットワークであって且つパケットが暗号化済である場合に、カプセル化の処理を行うとともに、ヘッダの一部を秘匿化する処理を行うことを説明する。ヘッダの一部とは、例えば、送信元や宛先のＭＡＣアドレス、送信元や宛先のＩＰアドレス、プロトコル番号や送信元や宛先のポート番号などのうち１つ以上からなるものを指す。これらの情報は、従来のホームネットワークではＮＡＴやＮＡＰＴの処理によって外部にさらされることのない情報である場合があるため、少なくともこれらの情報は秘匿化されることが望ましい場合がある。
【００９２】
例えば、通信制御装置１００は、ＲＨＮＷ２内の通信装置からインターネット側をあて先とするＬ２フレームまたはパケットを受信し、宛先が外部ネットワークの場合、または、宛先が内部ネットワークであって且つＬ２フレームまたはパケットが暗号化済である場合には、受信したＬ２フレームまたはパケットのヘッダの所定の部分に秘匿処理を実行する。そして、通信制御装置１００は、秘匿処理を実行したＬ２フレームまたはパケットに対して、トンネリングのためのカプセリング処理を実行して、対向する通信制御装置２００に送信する。通信制御装置２００は、受信したカプセリング処理されたパケットのカプセリングを解除して、秘匿処理されたＬ２フレームまたはパケットを取り出す。そして、通信制御装置２００は、取り出したＬ２フレームまたはパケットのうち秘匿処理された情報を復元してインターネット側の宛先に送信する。
【００９３】
また、通信制御装置２００も同様に、インターネット側からＲＨＮＷ２内宛のＬ２フレームまたはパケットを受信すると、受信したＬ２フレームまたはパケットのヘッダに秘匿処理を実行する。そして、通信制御装置２００は、秘匿処理を実行したＬ２フレームまたはパケットに対して、カプセリング処理を実行して、対向する通信制御装置１００に送信する。通信制御装置１００は、受信したカプセリング処理されたＬ２フレームまたはパケットのカプセリングを解除して、秘匿処理されたＬ２フレームまたはパケットを取り出す。そして、通信制御装置１００は、取り出したＬ２フレームまたはパケットのうち秘匿処理された情報を復元してＲＨＮＷ２内の宛先の通信装置に送信する。
【００９４】
また、カプセル化を行う際のヘッダの一部の秘匿化について、秘匿化には通信制御装置間で共有している値で、秘匿化する対象部分とＸＯＲをとった値に置き換えることとしてもよい。この値は所定期間経過のたびに更新するのが望ましい。通信制御装置間で時刻同期しておき、所定の時間経過ごとに装置間で共通のルールで更新してもよく、または、いずれかの装置からのメッセージ通知などの契機により、鍵交換プロトコル（例えば、Diffie-Hellman鍵交換など）を用いて新たな値を生成してもよい。または、通信制御装置間で共有している共通のルールに基づいて、転置暗号や置換暗号によって秘匿化してもよい。秘匿化した際は、トンネルのパケットヘッダ等に、秘匿化していることと秘匿化に適用している技術やルール、秘匿化している箇所を識別できる情報を付加することで、受信する側の通信制御装置は、この付加された情報を識別して対応する箇所に対して復元処理を行うこととしてもよい。また、秘匿処理後のＬ２フレームなどのチェックサムを再計算して置換えることとしてもよい。このように、第４の実施形態にかかる通信制御装置１００では、ヘッダ情報の一部分を秘匿化するので、通信におけるセキュリティを向上させることが可能である。
【００９５】
（第５の実施形態）
これまで第１〜第４の実施形態を説明したが、本願に係る実施形態は、第１〜第４の実施形態に限定されるものではない。すなわち、これらの実施形態は、その他の様々な形態で実行されることが可能であり、種々の省略、置き換え、変更を行うことができる。
【００９６】
上述した実施形態におけるＣＰＥ１００とＶＨＧＷ２００との間のＬ２トンネルは、Ｌ２ＶＰＮによるトンネルと、Ｌ２カプセリングによるトンネルの両方を確立しておき、判定部の判定結果に応じて、利用するトンネルを選択するようにしてもよい。
【００９７】
また、ＩＰｖ４／ｖ６の回線ルータはＶＨＮＷ３側に配置されてもよいし、ＲＨＮＷ２側に配置されてもよい。例えば、上述した図１の例ではＩＰｖ４／ｖ６の回線ルータがＶＨＮＷ３側に配置されているが、これに限定されることはなく、ＲＨＮＷ２側に配置されてもよく、ＩＰｖ４の回線ルータはＶＨＮＷ３側、ＩＰｖ６の回線ルータはＲＨＮＷ２側に配置されてもよく、またこの逆であってもよいものである。
【００９８】
また、ＣＰＥ１００とＶＨＧＷ２００の間で１本のＬ２トンネルのみを利用する場合は、判定部の判定結果に基づいて、Ｌ２ＶＰＮの処理「セキュリティ処理(暗号、認証、署名)＋Ｌ２カプセリング」をするか、Ｌ２カプセリングの処理をするかを都度選択的に行ってもよい。ここで、例えば、デフォルトの処理をＬ２ＶＰＮとして、選択的にＬ２ＶＰＮのうちセキュリティ処理を実施しないＬ２カプセリングの処理をしてもよく、この逆に、デフォルトの処理をＬ２カプセリングとして、選択的にさらにセキュリティ処理を実施することでＬ２ＶＰＮの処理をしてもよい。
【００９９】
また、ＲＨＮＷ２またはＶＨＮＷ３とインターネットなどの外部ネットワーク５とがＬ２トンネル経由でアクセスする場合、Ｌ２−カプセリングによる通信を行うものとして説明した。しかしながら、このような通信では、拠点間を同一セグメント化する必要がない場合は、Ｌ２フレーム全体をトンネル対向側に送信することは必須ではないため、実施形態はこれに限定されるものではなく、例えば、この通信をＬ３カプセリング、つまり、ＩＰ−ｉｎ−ＩＰ、ＩＰ  tunnelingやその他トンネリング処理を適用してもよい。
【０１００】
また、暗号特定情報記憶部１３１には、一般的な暗号技術やプロトコルに基づいた情報を記憶させてもよく、内部ネットワークで特有の用途で使用される暗号技術やプロトコルがある場合は、その情報を利用者が設定してもよい。
【０１０１】
また、ＶＨＮＷ３は、仮想化されたネットワークとして説明したが、仮想化されていない物理的なネットワークであってもよい。また、ＲＨＮＷ２は、物理的なネットワークとして説明したが、仮想化されたネットワークであってもよい。また、ＲＨＮＷ２とＶＨＮＷ３とを同一セグメントのＬ２ネットワークとして扱えるようにするため、ＣＰＥ１００とＶＨＧＷ２００とをＬ２ＶＰＮで接続するものとして説明したが、これに限らず、Ｌ３以上のＶＰＮによって接続してもよい。
【０１０２】
また、通信の送信元や宛先に基づいて秘匿処理の要否を判断するものとして説明したが、これに限らず、通信プロトコルや通信のメッセージの種類や内容に基づいて秘匿処理の要否を判断してもよい。または、通信プロトコル、通信のメッセージ、送信元、送信先のうちいずれか一以上からなる組合せに基づいて秘匿処理の要否を判断してもよい。この場合、ＣＰＥ１００やＶＨＧＷ２００は、秘匿処理をする／しない通信プロトコルやメッセージに関する条件も事前に記憶しておくこととなる。また、ＲＨＮＷ２とＶＨＮＷ３との間の通信において、例えばセキュリティよりも低遅延であることが要求される特定の通信がある場合は、通信プロトコルやメッセージに基づいてその通信を特定して、セキュリティ処理を省略してカプセリング処理のみを実施することとしてもよく、または、カプセリング処理と秘匿処理を実施することとしてもよい。
【０１０３】
また、秘匿処理は、単純に、Ｌ２フレームであれば、Ｌ２ヘッダ情報とＬ３ヘッダ情報のすべて、パケットであれば、Ｌ３ヘッダ情報のすべて、を秘匿処理対象とするものであってもよい。
【０１０４】
ＶＨＧＷ２００は、仮想化された装置として説明したが、仮想化されていない物理的な装置であってもよい。ＣＰＥ１００は、物理的な装置として説明したが、仮想化された装置であってもよい。
【０１０５】
ＲＨＮＷ２内やＶＨＮＷ３内の通信装置は、仮想化されたサーバなどでもよく、仮想化されていない物理的なサーバなどであってもよい。また、サーバではない通信装置でもよい。
【０１０６】
上述した実施形態では、ホームネットワーク、ホームゲートウェイを例に説明したが、実施形態はこれに限定されるものではなく、例えば、対象が企業ネットワークなどでもよい。
【０１０７】
ＣＰＥ１００やＶＨＧＷ２００の各装置の分散・統合の具体的形態（例えば、図２の形態）は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合することができる。一例を挙げると、判定部１２３とトンネリング処理部１２４とを一つの処理部として統合してもよく、一方、トンネリング処理部１２４を暗号化させる暗号処理部と、トンネリング処理を実行するトンネリング部とに分散してもよい。また、各装置は、アクセスネットワーク／インターネットなどの外部ネットワーク５と通信するためのＩＰルーティング機能を備えていてもよく、ＩＰルーティングは別の装置に具備するものであってもよい。さらに、各装置は、ＮＡＴやＤＨＣＰ、ＤＮＳ、ファイアウォールなどに係る一般的なルータの機能を備えてもよく、または、これらの機能を別の装置に具備するものであってもよい。つまり、一般的なルータに接続される装置であってもよく、この場合はＬ２通信のための処理を行う装置となる。
【０１０８】
また、宛先識別部１２０をＣＰＥ１００の外部装置としてネットワーク経由で接続するようにしてもよく、或いは、判定部１２３及びトンネリング処理部１２４を別の装置がそれぞれ有し、ネットワークに接続されて協働することで、上述したＣＰＥ１００の機能を実現するようにしてもよい。
【０１０９】
また、Ｌ２トンネルを形成させる機能を有する装置を、ＣＰＥ１００及びＶＨＧＷ２００の外部装置としてネットワーク経由で接続されて協働することで、ＣＰＥ１００とＶＨＧＷ２００との間にＬ２トンネルを形成させるようにしてもよい。
【０１１０】
上述した実施形態で説明したＣＰＥ１００及びＶＨＧＷ２００は、あらかじめ用意されたプログラムをコンピュータで実行することで実現することもできる。そこで、以下では、図３に示した通信制御装置１００と同様の機能を実現するプログラムを実行するコンピュータの一例を説明する。
【０１１１】
図１３は、第４の実施形態に係る通信制御プログラムを実行するコンピュータ１０００を示す図である。図１３に示すように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ（Central  Processing  Unit）１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。  
【０１１２】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。ディスクドライブ１１００には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１１１０およびキーボード１１２０が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１１３０が接続される。  
【０１１３】
ここで、図１３に示すように、ハードディスクドライブ１０９０は、例えば、ＯＳ（Operating  System）１０９１、アプリケーションプログラム１０９２、プログムモジュール１０９３およびプログラムデータ１０９４を記憶する。第４の実施形態に係る通信制御プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ１０９０に記憶される。具体的には、ＣＰＥ１００と同様の機能を実現する場合、上記実施形態で説明した通信部１１０と同様の情報処理を実行する通信ステップと、識別部１２１と同様の情報処理を実行する識別ステップと、解析部１２２と同様の情報処理を実行する解析ステップと、判定部１２３と同様の情報処理を実行する判定ステップと、トンネリング処理部１２４と同様の情報処理を実行するトンネリング処理ステップとが記述されたプログラムモジュールが、ハードディスクドライブ１０９０に記憶される。
【０１１４】
また、上記実施形態で説明したデータベースに記憶されるデータのように、プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えば、ハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０９０に記憶されたプログラムモジュールやプログラムデータを必要に応じてＲＡＭ１０１２に読み出して、通信ステップと、宛先識別ステップと、判定ステップと、トンネリング処理ステップとを実行する、或いは、通信ステップと、トンネリング処理ステップとを実行する。
【０１１５】
なお、プログラムに係るプログラムモジュールやプログラムデータは、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムに係るプログラムモジュールやプログラムデータは、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【０１１６】
これらの実施形態やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１１７】
１  ネットワークシステム
２  ＲＨＮＷ
３  ＶＨＮＷ
４  ネットワーク
５  外部ネットワーク
１００  通信制御装置（ＣＰＥ）
１１０、２１０  通信部
１２０  制御部
１２１  識別部
１２２  解析部
１２３  判定部
１２４、２２０  トンネリング処理部
１２５  照会部
１２６  更新部
１３０  記憶部
１３１  暗号特定情報記憶部
１３２  通信状態記憶部
２００  通信制御装置（ＶＨＧＷ）
【図１】
2014220707.tif 000003
【図２】
2014220707.tif 000004
【図３】
2014220707.tif 000005
【図４】
2014220707.tif 000006
【図５】
2014220707.tif 000007
【図６】
2014220707.tif 000008
【図７】
2014220707.tif 000009
【図８】
2014220707.tif 000010
【図９】
2014220707.tif 000011
【図１０】
2014220707.tif 000012
【図１１】
2014220707.tif 000013
【図１２】
2014220707.tif 000014
【図１３】
2014220707.tif 000015