以下に添付図面を参照して、本願に係るネットワークシステム、通信制御方法、通信制御装置及び通信制御プログラムの実施形態を詳細に説明する。なお、本願に係るネットワークシステム、通信制御方法、通信制御装置及び通信制御プログラムは、以下の実施形態により限定されるものではない。
(第1の実施形態)
まず、第1の実施形態に係るネットワークシステムの概要について説明する。以下、図1を用いて、第1の実施形態に係るネットワークシステムの構成の一例を説明する。図1は、第1の実施形態に係るネットワークシステム1の構成の一例を説明するための図である。図1に示すように、第1の実施形態に係るネットワークシステム1は、第1のネットワーク2内の拠点Aにおける端末10と、第1のネットワーク2および外部ネットワーク(例えば、インターネット)5と接続される第2のネットワーク3内の拠点Bにおける端末20とを備えるネットワークシステムである。
ネットワークシステム1においては、通信制御装置100と通信制御装置200とがトンネル接続されることで、第1のネットワーク2と第2のネットワーク3とが、同一サブネット化される。これにより、拠点Aにおける第1のネットワーク2と、拠点Bにおける第2のネットワーク3とが、同一セグメントのネットワークとして利用することができる。
通信制御装置100は、第1のネットワーク2内の端末10から受信した通信データの宛先が、第2のネットワーク3内であるか、または、外部ネットワーク5であるかを識別する。そして、通信制御装置100は、識別された通信データの宛先が第2のネットワーク3内である場合には、該通信データが暗号化されたデータであるか否かを解析する。
そして、通信制御装置100は、通信データの宛先が外部ネットワーク5であると識別された場合、または、解析された通信データが暗号化されたデータである場合には、通信データに対して通信制御装置200とトンネル通信するためのカプセリング処理を実行し、端末20へ送信する。また、通信制御装置100は、解析された通信データが暗号化されたデータでない場合には、通信データに対して少なくとも暗号化処理及び通信制御装置200とトンネル通信するためのカプセリング処理を実行し、端末20へ送信する。
その後、通信制御装置200は、通信制御装置100から送信された通信データを受信して、トンネリング処理の解除を実行し、トンネリング処理が解除された通信データを、宛先へ送信する。
このように、第1の実施形態に係るネットワークシステム1では、通信データの通信内容を確認し、必要に応じて暗号化処理を行うことで、既に暗号化されている通信データにさらに暗号化処理を施すことを省略する。この結果、トンネリング処理を行う通信において、処理負荷を抑えつつ、通信性能の低下を低減し、効率的に通信を行うことが可能である。
次に、図2を用いて、上記した第1の実施形態に係るネットワークシステム1の具体的な構成例について説明する。なお、以降の説明では、図2の構成を例とした説明を適宜行うものとする。
例えば、第1の実施形態に係るネットワークシステム1は、ユーザ宅内に構築された宅内ネットワーク(RHNW:Real Home Network)2と、データセンタ(DC: Data Center)30内に構築された仮想ホームネットワークVHNW(Virtual Home Network)3とを有する。そして、ネットワークシステム1は、例えば、アクセスネットワークなどの閉域網や、インターネットなどのネットワーク4を介してRHNW2上のネットワーク装置(CPE:Customer Premises Equipment)100とDC30内に構築されたVHNW3上のVHGW(Virtual Home Gateway)200とが接続される。
RHNW2は、CPE100に加えて、例えば、端末などが接続される。また、VHNW3は、VHGW200に加えて、例えば、仮想APサーバ(仮想アプリケーションサーバ)や、仮想ストレージ(仮想ストレージサーバ)などの通信装置が構築される。そして、ネットワークシステム1においては、CPE100とVHGW200とがL2トンネル接続されることで、RHNW2とVHNW3とが、同一サブネット化(同一セグメント化)される。これにより、ユーザ宅内のRHNW2と、遠隔拠点にあるDC30におけるVHNW3とが、一つのホームネットワークとして利用することができる。
このように、ネットワークシステム1は、VHNW3がDC30に配置されていることから、計算機リソースの制約がなくなり、ホームネットワークやホームゲートウェイとしての性能や機能を仮想化技術などによって容易に拡張することができる。ここで、このようなネットワークシステム1においては、RHNW2内の端末からVHNW3内の装置(例えば、仮想APサーバや、仮想ストレージなど)にアクセスする場合も、RHNW2の端末からインターネット上の装置にアクセスする場合も、同一のL2(レイヤ2:OSI参照モデルのデータリンク層、または第2層)トンネルを経由することとなる。
上述したように、ネットワークシステム1においては、RHNW2とVHNW3とがアクセスネットワークや、インターネットなどのネットワーク4の上をL2トンネルで接続される。従って、例えば、DC30が盗聴や改竄される可能性の高い網であるインターネット上に位置する(インターネット上にL2トンネルを構築する)場合には、暗号などが適用されたセキュアなL2VPN(L2 Virtual Private Network)がトンネルリング技術として適用されるのが一般的である。
ここで、従来技術においては、RHNW2内の端末からVHNW3内の装置にアクセスする場合も、RHNW2内の端末からVHNW3とは異なるインターネットなどの外部ネットワーク5上の装置にアクセスする場合も、L2VPNによって構築されたL2トンネルを経由することとなる。例えば、RHNW2からVHNW3内の装置にアクセスするということは、従来のホームネットワークで例えると、ホームネットワーク内の端末から、同じホームネットワーク内の通信装置にアクセスすることと同じである。従って、このアクセスに関する通信内容はホームネットワークの外部からの盗聴や改竄などに対してセキュアに管理されることが望ましいため、通信路に暗号化などが施されたセキュアなL2VPNによって構築されたL2トンネルをそのまま利用してRHNW2からVHNW3へアクセスするのが望ましい。
一方、ネットワークシステム1のようなネットワーク環境では、RHNW2からインターネット上の通信装置へアクセスする場合、インターネットへのゲートウェイが配置されているVHNW3を経由する必要があるので、L2トンネルを通過することになる。つまり、インターネットへアクセスする場合も、画一的にセキュアなL2VPNによって構築されたトンネルを通ることとなる。かかる場合、そもそもインターネットに出ていく通信であるため、通信内容全体の暗号化などは必須ではない通信であっても、セキュアなL2VPNを経由することとなるため、必須ではない暗号・認証・署名などの処理を要してしまい、通信パフォーマンスが低下してしまう。また、L2トンネルを通る通信は、その分のトンネリング(IPカプセリング)のためのヘッダサイズ分だけオーバヘッドが発生して1回の通信で送信できるデータサイズが減少し、通信効率が低下してしまうため、通信処理に係るコストは、可能な限り抑える必要がある。
そこで、第1の実施形態にかかるネットワークシステム1では、以下、詳細に説明する通信制御装置(CPE)100及び通信制御装置(VHGW)200の処理により、インターネットへのアクセスにおける通信効率の低下を低減することを可能にする。なお、第1の実施形態に係るCPE100やVHGW200では、図2に示すように、IPv4及び/またはIPv6などのアドレス管理機能を備える。
以下、図2に例示した通信制御装置(CPE)100及び通信制御装置(VHGW)200の詳細について説明する。まず、RHNW2内の端末10が送信元であり、宛先がVHNW3内の端末(仮想APサーバ又は仮想ストレージ)20又はインターネット上の端末30である場合について説明する。図3は、第1の実施形態に係る通信制御装置の構成の一例を示す図である。
図3に示すように、通信制御装置100は、通信部110と、制御部120と、記憶部130とを備え、アクセスネットワークやインターネットなどを介して通信制御装置200とL2トンネル接続されている。
通信部110は、例えば、LAN(Local Area Network)インターフェースや、WAN(Wide Area Network)インターフェースなどであり、通信データである、L2のフレームやその中のL3(レイヤ3:OSI参照モデルのネットワーク層、または第3層)のパケットの送受信を実行する。具体的には、通信部110は、後述するトンネリング処理部124による処理後の通信を、トンネルの対向終端装置であるVHGW200との間で実行する。また、通信部110は、スイッチ、ハブ、ブリッジ機能などを備える。
記憶部130は、図3に示すように、暗号特定情報記憶部131を有する。記憶部130は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置などである。
暗号特定情報記憶部131は、パケットが暗号化済か否かを特定するための情報を記憶する。また、暗号特定情報記憶部131が記憶する情報は、後述する解析部122によって参照される情報である。具体的には、暗号特定情報記憶部131は、例えば、レイヤ別に、暗号化済とみなす通信の条件および未暗号化とみなす通信の条件を記憶する。
例えば、暗号特定情報記憶部131は、暗号化済・未暗号化とみなす通信の条件として、「宛先・送信元情報」、「暗号通信プロトコルとして割り当てられているIPプロトコル番号」、「暗号通信に割り当てられているTCPやUDPのポート番号」、および、「データ・ファイルを暗号化して送受信するアプリケーション」の情報を記憶している。
暗号特定情報記憶部131は、宛先・送信元情報について、宛先や送信元(例えば、MACアドレスやIPアドレス)と暗号通信の有無があらかじめ対応付けることができる場合には、宛先や送信元を暗号化済・未暗号化とみなす通信の条件として記憶する。つまり、あるMACアドレスを宛先とした通信については、パケットが暗号化済みであるということが予め決まっている場合には、そのMACアドレスを、暗号化済とみなす通信の条件として記憶する。
また、暗号特定情報記憶部131は、暗号通信プロトコルとして割り当てられているIPプロトコル番号として、例えば、「50番(ESP(Encap Security Payload Protocol))」を記憶する。また、暗号特定情報記憶部131は、暗号通信に割り当てられているTCPやUDPのポート番号として、例えば、「22番(SSH(Secure SHell))」、「443番(HTTPS(Hypertext Transfer Protocol Security))」を記憶する。
また、暗号特定情報記憶部131は、データ・ファイルを暗号化して送受信するアプリケーションとして、暗号化アプリケーション等で暗号化したデータやファイルを非暗号通信路で送信する場合、このことを示すアプリケーションのヘッダの制御情報や、暗号化ファイルのヘッダ情報に埋め込まれ暗号化を示す情報を記憶する。例えば、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が含まれている場合)、データが暗号化されているか否かを確認できる。
なお、後述する解析部122は、暗号化済とみなす通信の条件に対応する各情報に合致する場合には、その通信を暗号化済の通信とみなし、未暗号化とみなす通信の条件に対応する各情報に合致する場合には、その通信を未暗号化の通信とみなす。
ここで、図4の例を用いて、暗号特定情報記憶部131に記憶される情報の一例を説明する。図4は、暗号特定情報記憶部131に記憶される情報の一例を示す図である。図4に例示するように、暗号特定情報記憶部131は、解析対象となる情報のレイヤを示す「パケットのレイヤ」と、解析対象となる情報の種別を示す「解析対象」と、パケットが暗号化済である場合の条件である「暗号化済とみなす通信の条件」と、パケットが暗号化済みでない場合の条件である「未暗号化とみなす通信の条件」とを対応付けて記憶する。
例えば、暗号特定情報記憶部131は、パケットのレイヤ「データリンク」と、解析対象「宛先MAC」と、暗号化済とみなす通信の条件「XX:YY:ZZ:AA:BB:CC」、「XX:VV:TT:DD:BB:FF」・・・と、未暗号化とみなす通信の条件「11:22:33:AA:BB:88」・・・とを対応付けて記憶する。つまり、これは、パケットにおけるデータリンク層の宛先MACアドレスが、「XX:YY:ZZ:AA:BB:CC」や「XX:VV:TT:DD:BB:FF」と一致する場合には、該パケットが暗号化済であることを意味し、「11:22:33:AA:BB:88」等と一致する場合には、該パケットが未暗号化であることを意味している。また、例えば、ある特定のIPアドレスとポート番号の組などの様にレイヤをまたがる複数の組を条件としてもよい。
図3の説明に戻って、制御部120は、識別部121と、解析部122と、判定部123と、トンネリング処理部124とを有する。ここで、制御部120は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路やASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路である。
識別部121は、RHNW2に含まれる端末からの通信の宛先が、トンネルの対向側のネットワークであるVHNW3内であるか、又は、ホームネットワーク(RHNW2とVHNW3からなる同一L2セグメントネットワーク)とは異なるインターネットなどの外部ネットワーク5であるかを識別する。具体的には、識別部121は、RHNW2内の端末からのL2フレームまたはパケットの宛先がVHNW3内であるか、又はインターネットであるかを識別する。図5は、第1の実施形態に係る通信制御装置100による宛先識別処理及びトンネリング処理を説明するための図である。なお、説明上不要な情報は割愛している。
ここで、図5においては、図5の(A)にRHNW2内の端末から受信したL2フレームを示す。また、図5においては、図5の(B)にパケットの宛先がVHNW3内の通信装置であった場合のL2VPNを構成するパケットの構造例を示す。また、図5においては、図5の(C)にパケットの宛先がインターネット上の通信装置であった場合のL2VPN内のパケットの構造例を示す。なお、図5の(B)及び(C)については、トンネリング処理部124を説明する際に、詳細を説明する。
例えば、端末から受信したL2フレームは、図5の(A)に示すように、ペイロードと、TCPまたはUDPの宛先ポート番号と、TCPまたはUDPの送信元ポート番号と、宛先IPアドレスと、送信元IPアドレスと、宛先MACアドレスと、送信元MACアドレスとを含む。なお、TCPやUDPを使用しない通信では、宛先ポート番号と送信元ポート番号は含まれない。
例えば、識別部121は、通信部110が図5の(A)に示すL2フレームまたはパケットを受信すると、L2のフレームレベル、或いは、L3のパケットレベルで宛先を識別する。例えば、L2のフレームレベルで識別する場合には、識別部121は、受信したL2フレームの宛先MACアドレスを参照して、格納されたMACアドレスが、VHNW3内の通信装置宛であるか、或いは、インターネット上の通信装置宛(つまり、インターネットとの間のゲートウェイ装置のMACアドレス)であるかを識別する。ここで、識別部121は、通信部110のL2スイッチ機能に備えられたMACアドレス学習を利用して、宛先を識別することも可能である。
かかる場合には、例えば、識別部121は、通信部110によるMACアドレス学習によって、スイッチのポートと、そのポートの接続先の通信装置のMACアドレスとを対応付けて記憶することで、記憶したMACアドレスの情報を用いて宛先を特定することができる。例えば、識別部121は、L2トンネルに使用するポートと対応付けて記憶されているMACアドレスを宛先MACアドレスとする通信の宛先をVHNW3内として特定する。この手法は、MACアドレス学習によって、ホームネットワーク(RHNW2とVHNW3からなる同一セグメントのL2ネットワーク)内の通信装置のMACアドレスを学習した後には、処理負荷の面でも、有用な識別方法である。
また、例えば、L3のパケットレベルで識別する場合には、識別部121は、受信したパケットの宛先IPアドレスを参照して、格納されたIPアドレスが、VHNW3内の通信装置宛であるか、或いは、インターネット上の通信装置宛であるかを識別する。例えば、識別部121は、格納されたIPアドレスがホームネットワーク(RHNW2とVHNW3からなる同一セグメントのL2ネットワーク)内のプライベートアドレスであるか、リンクローカルアドレスであるか、同一セグメント内のプレフィックスを持つアドレスであるか、或いは、ホームネットワークの外部ネットワーク5のグローバルアドレスであるかにより、宛先を識別する。なお、上記した識別方法は、いずれか1つを用いる場合であってもよく、或いは、複数を組み合わせて用いる場合であってもよい。
識別部121は、上記した識別方法を用いて、宛先として、VHNW3内の通信装置及びインターネット上の通信装置に加えて、RHNW2内の通信装置(端末)を識別することも可能である。
図3の説明に戻って、解析部122は、識別部121で識別されたパケットの宛先がVHNW3内の端末20である場合には、該パケットが暗号化されたデータであるか否かを解析する。具体的には、解析部122は、識別部121で識別されたパケットの宛先がVHNW3内の端末20である場合には、暗号特定情報記憶部131を参照して、パケットが暗号済か否かを、パケットのヘッダ部からデータ部までの順(例えば、データリンク層→ネットワーク層→トランスポート層→アプリケーションの順)に解析し、暗号特定情報記憶部131に記憶された条件に該当するものがあるか否かを確認する。例えば、解析部122は、ネットワーク層のIPヘッダ情報(宛先IPアドレス)に、暗号化済とみなす通信の条件、または、未暗号化とみなす通信の条件に該当するものがあった場合には、それ以上の解析、すなわち、トランスポート層、アプリケーション層についての解析は不要である。
ここで、図4の例を用いて、解析処理について具体的に説明する。まず、解析部122は、暗号特定情報記憶部131を参照し、パケットのレイヤ「データリンク」、解析対象「宛先MAC」のレコードを読み出し、受信したパケットの宛先MACアドレスが暗号化済とみなす通信の条件、または、未暗号化とみなす通信の条件として記憶されたMACアドレスと一致するかを確認する。この結果、受信したパケットの宛先MACアドレスが、暗号化済とみなす通信の条件として記憶されたMACアドレスと一致する場合には、暗号化済のパケットとみなし、未暗号化とみなす通信の条件として記憶されたMACアドレスと一致する場合には、未暗号化のパケットとみなす。
また、受信したパケットの宛先MACアドレスが、受信したパケットの宛先MACアドレスが暗号化済とみなす通信の条件、および、未暗号化とみなす通信の条件として記憶されたMACアドレスと一致しない場合には、次に、パケットのレイヤ「ネットワーク」、解析対象「宛先IPアドレス」のレコードを読み出し、上記と同様に、受信したパケットの宛先IPアドレスが暗号化済とみなす通信の条件、または、未暗号化とみなす通信の条件として記憶されたIPアドレスと一致するかを確認する。
その後、暗号化済とみなす通信の条件、または、未暗号化とみなす通信の条件に一致するまで、パケットのレイヤ「ネットワーク」であって解析対象「プロトコル番号」のレコード、パケットのレイヤ「トランスポート」であって解析対象「ポート番号」のレコード、パケットのレイヤ「アプリケーション」であって解析対象「パケットデータ部分」のレコードを順次読み出して、解析する処理を繰り返す。このように、パケットヘッダのみから既に暗号化された通信か否かを判定できない場合があり、データ部までチェックを要することもある。なお、最後のレコードを読み出して解析処理を行った結果、パケットが暗号化されているか否かを特定できない場合には、通信処理効率よりも安全性を重視して、パケットを未暗号化とみなす。
図3の説明に戻って、判定部123は、識別部121または解析部122の結果を用いて、この結果に対応するパケットに施すトンネリングの処理の内容を判定する。例えば、判定部123は、宛先がトンネル対向側のVHNW3でない場合には、トンネリング処理をしないと判定する。また、判定部123は、宛先がトンネル対向側の外部ネットワーク5の場合、つまり、例えば、送信元端末から受信したL2フレームまたはパケットの宛先がVHNW3外の通信装置であると識別された場合には、カプセル化を行うと判定する。
また、判定部123は、宛先がトンネル対向側の内部ネットワーク、つまり送信元がRHNW2の場合はVHNW3であって、かつ、パケットに暗号化が施されている場合、つまり、例えば、送信元端末から受信したL2フレームまたはパケットの宛先がVHNW3内の通信装置であると識別され、且つ、パケットに暗号化が施されていると解析された場合には、カプセル化を行うと判定する。
また、判定部123は、宛先がトンネル対向側の内部ネットワークであって、且つ、パケットに暗号化が施されていない場合には、暗号化およびカプセル化の処理を施すと判定する。すなわち、判定部123は、受信したL2フレームに対して暗号・認証・署名などのセキュリティ処理と、L2カプセリング処理(L2フレームに対するトンネリングのためのIPカプセリング処理)とを実行すると判定する。一例を挙げると、判定部123は、受信したL2フレームに対してL2TPv3(L2 Tunneling Protocol version 3)とIPSecとを組み合わせた処理や、OpenVPN(登録商標)による処理を実行するように判定する。
トンネリング処理部124は、判定部123によって判定されたL2トンネリング処理を実行する。具体的には、トンネリング処理部124は、パケットの宛先がトンネル対向側の外部ネットワーク5である場合には、カプセル化を行う。また、トンネリング処理部124は、パケットの宛先が内部ネットワークであって、パケットが暗号化されたデータである場合、つまり、端末からの通信の宛先がVHNW3内である場合であって、パケットが暗号化されたデータである場合には、カプセル化を行う。また、トンネリング処理部124は、パケットの宛先が内部ネットワークであって、パケットが暗号化されていないデータである場合には、暗号化およびカプセル化の処理を行う。
例えば、受信したL2フレームに対して暗号・認証・署名などのセキュリティ処理と、L2カプセリング処理とを実行すると判定された場合には、トンネリング処理124は、図5の(B)に示すように、L2フレームをL2VPNの暗号化対象部分として暗号化などの処理をして、L2トンネルヘッダやその他のヘッダと、宛先IPアドレスと、送信元IPアドレスとを付加する。ここで、L2トンネルヘッダやその他のヘッダは、L2VPNを識別する識別情報などを格納する領域として利用されてもよい。例えば、トンネリング処理部124は、判定部123の判定結果や、自身が実行した処理内容を示す情報をL2トンネルヘッダやその他のヘッダに格納する。また、付加された宛先IPアドレスは、VHGW200側のトンネル終端装置のグローバルアドレスが格納される領域である。また、付加された送信元IPアドレスは、CPE100側のトンネル終端装置のグローバルアドレスが格納される領域である。
また、例えば、受信したL2フレームに対してL2カプセリング処理のみを実行するように判定された場合には、トンネリング処理部124は、図5の(C)に示すように、L2フレームに、トンネルヘッダやその他のヘッダと、宛先IPアドレスと、送信元IPアドレスとを付加する。
また、受信したL2フレームをL2スイッチやブリッジ機能によってL2レイヤの処理で転送するように判定された場合には、具体的には、宛先が同じRHNW2内である場合は、トンネリング処理部124は特別な処理は実行しない。
通信部110は、トンネリング処理部124によって処理されたパケットをVHGW200に対して送信する。また、通信部110は、L2スイッチやブリッジ機能によってパケットをRHNW2内の通信装置に転送する。
ここで、図6および図7を用いて、トンネリング処理について説明する。図6は、第1の実施形態に係るネットワークシステムのトンネリング処理を説明するための図である。図7は、パケットの内容とトンネリング処理との対応関係を説明するための図である。図6に示すように、通信制御装置100は、宛先がトンネル対向側の外部ネットワーク5の場合、つまり、例えば、送信元端末10から受信したL2フレームまたはパケットの宛先がVHNW3外の端末30であると識別された場合には、カプセル化を行って、VHNW3外の端末30に対してパケットを転送する(図6の(1)参照)。
また、通信制御装置100は、宛先がトンネル対向側の内部ネットワークであって、かつ、パケットに暗号化が施されている場合、つまり、例えば、送信元端末10から受信したL2フレームまたはパケットの宛先がVHNW3内の通信装置20であると識別され、且つ、パケットに暗号化が施されている場合には、カプセル化およびヘッダの一部を行って、VHNW3内の通信装置20に対してパケットを送信する(図6の(2)参照)。
また、通信制御装置100は、宛先がトンネル対向側の内部ネットワークであって、且つ、パケットに暗号化が施されていない場合には、暗号化およびカプセル化の処理を施すと判定する。すなわち、通信制御装置100は、受信したL2フレームに対してVPNの暗号・認証・署名などのセキュリティ処理と、L2カプセリング処理とを実行し、VHNW3内の通信装置20に対してパケットを送信する(図6の(3)参照)。
つまり、図7に示すように、通信制御装置100は、宛先がトンネル対向側の外部ネットワーク5である場合には、パケットが暗号化済であるか否かにかかわらず、カプセル化を行う。また、通信制御装置100は、宛先がトンネル対向側の内部ネットワークである場合には、パケットが暗号化済であれば、カプセル化を行い、パケットが未だ暗号化されていないのであれば、VPNの暗号化処理をパケットに施す。
例えば、図6に例示する拠点Bの端末20から拠点Aの端末10へ著作権保護機能が施された映像をストリーム配信する場合は、既に暗号化されているパケットに対してさらにVPNにより暗号化する必要がないため、VPNの暗号化処理による通信制御装置100、通信制御装置200に対する過負荷を回避することで、通信品質のよいストリーミングを実現できる。
図3の説明に戻って、通信制御装置100からパケットを受信する通信制御装置200の構成を説明する。通信制御装置200は、通信部210、トンネリング処理部220を有する。なお、ここでの説明では、通信制御部200は、受信したパケットのトンネリング処理を解除し、該パケットを宛先に送信するための処理部のみを有する場合を説明するが、これに限定されるものではなく、通信制御装置100と同様の構成であってもよく、通信制御装置100の制御部120および記憶部130に相当する制御部および記憶部を備えていてもよい。
通信部210は、LANインターフェースや、WANインターフェースなどであり、L2フレームやパケットを送受信する。具体的には、通信部210は、L2トンネルを介してCPE100からL2トンネリング処理されたパケットを受信する。また、後述するトンネリング処理部240による処理後のパケットをVHNW3内或いは、インターネットに送信する。
トンネリング処理部240は、L2トンネル対向側からの通信を受信して通信に施されている処理を識別して、通信内容全体に対する暗号化などのセキュリティ処理及びL2カプセリング処理の解除、又は、通信に対するL2カプセリングの解除を実行する。具体的には、トンネリング処理部240は、CPE100との間でL2トンネルの接続を確立して、トンネル経由で受信したパケットのL2トンネルヘッダやその他のヘッダに格納された識別情報などを参照して、対応したL2トンネリング処理を解除してパケットを取り出す。
上述したように、通信部210は、暗号化などのセキュリティ処理及びL2カプセリング処理、又は、L2カプセリング処理が解除された状態で、VHNW3、又はインターネットを宛先とする通信を実行する。
ここで、通信制御装置200から通信制御装置100へ送信する場合の処理について説明する。まず、通信制御装置200は、通信部210によってL2フレームまたはパケットを受信すると、L2フレームまたはパケットの宛先および送信元を、宛先MACアドレス(送信元MACアドレス)や宛先IPアドレス(送信先IPアドレス)に基づいて識別する。そして、通信制御装置200は、宛先が外部ネットワーク5宛である場合には、そのまま宛先へ送信する。
また、通信制御装置200は、L2フレームまたはパケットの宛先が、RHNW2宛であって、且つ、送信元がVHNW3内の通信装置である場合には、暗号化済であればトンネリング処理部124によりカプセル化が行われた後、トンネル対向側の通信装置100へパケットを送信する。また、暗号化済でなければ、トンネリング処理部124により暗号化およびカプセル化の処理が施された後、トンネル対向側の通信装置100へパケットを送信する。
また、通信制御装置200は、L2フレームまたはパケットの宛先がRHNW2内宛であって、且つ、送信元が外部ネットワーク5上の通信装置である場合には、トンネリング処理部124による単純なカプセリングのみによるトンネリングによりRHNW2内の通信装置100へL2フレームまたはパケットを転送する。
[通信制御装置の構成]
次に、図8を用いて、第1の実施形態に係る通信制御装置100の処理の手順を説明する。図8は、第1の実施形態に係る通信制御装置100による処理の手順を説明するためのフローチャートである。
通信制御装置100は、通信部110がL2フレームまたはパケットを受信すると(ステップS101)、判定部123が、宛先がトンネル対向側であるか判定する(ステップS102)。ここで、判定部123が、宛先がトンネル対向側ではないと判定した場合には、通信部110は、トンネリング処理を行わずに、宛先へパケットを送信する(ステップS103)。
また、判定部123は、宛先がトンネル対向側であると判定した場合には、宛先がトンネル対向側の内部ネットワークであるか判定する(ステップS104)。この結果、判定部123が、宛先がトンネル対向側の内部ネットワークでないと判定した場合には、トンネリング処理部124が、カプセル化を行い(ステップS105)、通信部110が、トンネル対向側の端末へパケットを送信する(ステップS109)。
また、判定部123は、宛先がトンネル対向側の内部ネットワークであると判定した場合には、パケットが暗号化済であるか否かを判定する(ステップS106)。この結果、判定部123が、パケットが暗号化済であると判定した場合には、カプセル化を行い(ステップS107)、通信部110が、トンネル対向側の端末へパケットを送信する(ステップS109)。
また、判定部123が、パケットが暗号化済でないと判定した場合には、トンネリング処理部124が、暗号化およびカプセル化の処理をパケットに施し(ステップS108)、通信部110が、トンネル対向側の端末へパケットを送信する(ステップS109)。
(第1の実施形態の効果)
上述してきたように、第1の実施形態にかかる通信制御装置100では、第1のネットワーク2内の端末10から受信した通信データの宛先が、第2のネットワーク3内であるか、または、外部ネットワーク5であるかを識別する。そして、通信制御装置100は、識別された通信データの宛先が第2のネットワーク3内である場合には、該通信データが暗号化されたデータであるか否かを解析する。そして、通信制御装置100は、通信データの宛先が外部ネットワーク5である場合、または、解析された通信データが暗号化されたデータである場合には、通信データに対して通信制御装置200とトンネル通信するためのカプセリング処理を実行し、端末20へ送信する。また、通信制御装置100は、解析された通信データが暗号化されたデータでない場合には、通信データに対して少なくとも暗号化処理及び通信制御装置200とトンネル通信するためのカプセリング処理を実行し、端末20へ送信する。その後、通信制御装置200は、通信制御装置100から送信された通信データを受信して、トンネリング処理の解除を実行し、トンネリング処理が解除された通信データを、宛先へ送信する。このため、パケットの通信内容を確認し、必要に応じて暗号化処理を行うことができる。この結果、トンネリング処理を行う通信において、処理負荷を抑えつつ、通信性能の低下を低減し、効率的に通信を行うことが可能である。
(第2の実施形態)
上述した第1の実施形態においては、パケットを受信するたびに、受信したパケットが暗号化済であるか否かを判定する場合を説明した。しかし、一度解析を行った通信については、それ以後、解析結果を流用することで、解析処理を省略し、次回以降のパケット解析の処理を簡略化することができる。
そこで、以下、第2の実施形態では、解析結果として通信の状態を記憶し、同一の通信については、記憶した通信の状態に基づいて、暗号化を行うか否かを判定する場合について説明する。図9は、第2の実施形態に係る通信制御装置の構成の一例を示す図である。ここで、第2の実施形態に係る通信制御装置100Aは、第1の実施形態に係る通信制御装置100と比較して、通信状態記憶部132と、照会部125とを備える点が異なる。以下、これらを中心に説明する。なお、第1の実施形態と同様の部分については説明を省略する。
通信状態記憶部132は、解析部122によって解析されたパケットに関する情報とともに、解析部122によって解析された通信データが暗号化されたデータであるか否かを示す解析結果を記憶する。具体的には、通信状態記憶部142は、解析部122により解析済のパケットに関する情報を記憶する。
例えば、通信状態記憶部132は、図10に例示するように、通信の状態として、通信を識別する番号である「エントリ」と、「送信元MACアドレス」と、「宛先MACアドレス」と、「送信元IPアドレス」と、「宛先IPアドレス」と、「プロトコル番号」と、「送信元ポート番号」と、「宛先ポート番号」と、受信したパケットが暗号化済であるか未暗号化であるかを示す情報である「状態」とを対応付けて記憶する。なお、全項目について記録することは必須ではなく、「状態」を特定できる1以上の項目からなる組であればよい。また、ここで記憶されたエントリは、例えば、エントリに該当するパケットが最後に通信されてから所定時間経過した後に削除してもよく、永続的に記憶されるべき情報ではない。また、その通信のセッションやコネクションの状態をさらに記憶し、セッションやコネクションの終了を確認した後に削除してもよい。
照会部125は、識別部121で識別されたパケットに関する情報が、通信状態記憶部132に記憶された解析されたパケットに関する情報と一致するか照会し、一致する情報が前記記憶部に記憶されている場合には、該解析されたパケットに関する情報に対応する解析結果を取得し、判定部123に通知する。
例えば、照会部125は、識別部121が識別したパケットが通信状態記憶部132内の情報に該当するものである場合には、そのパケットが該当する状態を判定部123に通知する。これにより、解析処理を行うことなく、パケットが暗号化済であるか未暗号化であるかを特定できる。また、通信状態記憶部132内の情報をハッシュ値化して記憶しておき、入力されたパケットのうち識別部121が識別した個所のハッシュ値を計算し、ハッシュ値同士で一致不一致を比較することで特定してもよい。これにより高速に照会を行うことが可能となる。
解析部122は、第1の実施形態において説明した解析処理を行うとともに、解析処理により、パケットの宛先がトンネル対向の内部ネットワークであって、このパケットの全体または一部が暗号化されている、または、暗号化されていないことの状態を特定し、このパケット情報と暗号化済・暗号化されていないに関する状態を通信状態記憶部132に記憶させる。
また、解析部122は、照会部125によって照会した結果、識別部121で識別されたパケットに関する情報が、通信状態記憶部132に記憶された解析されたパケットに関する情報と一致しない場合にのみ、パケットが暗号化されたデータであるか否かを解析する。
次に、図11を用いて、第2の実施形態に係る通信制御装置による処理を説明する。図11は、第2の実施形態に係る通信制御装置による処理の手順を説明するためのフローチャートである。情報処理装置100Aの判定部123は、第1の実施形態に係る通信制御装置100と同様に、宛先がトンネル対向側の内部ネットワークであるか判定する(ステップS204)。
この結果、宛先がトンネル対向側の内部ネットワークである場合には、照会部125は、受信したパケットについて、通信状態記憶部132に該当する状態情報として、暗号化済であることを示す情報があるか否かを照会する(ステップS206)。この結果、通信状態記憶部132に該当する情報がある場合には、解析処理を行うことなく、トンネリング処理部124が、カプセル化を行い(ステップS208)、通信部110が、トンネル対向側の端末へパケットを送信する(ステップS210)。
(第2の実施形態の効果)
このように、第2の実施形態に係る通信制御装置100Aでは、解析された通信データに関する情報とともに、解析された通信データが暗号化されたデータであるか否かを示す解析結果を記憶する。そして、通信制御装置100Aは、通信データに関する情報が、記憶された解析された通信データに関する情報と一致するか照会し、一致する情報が記憶されている場合には、該解析された通信データに関する情報に対応する解析結果を取得する。そして、照会した結果、識別された通信データに関する情報が、記憶された解析された通信データに関する情報と一致しない場合にのみ、通信データが暗号化されたデータであるか否かを解析する。このため、一度解析を行った通信については、解析結果を流用することで、解析処理を省略し、次回以降のパケット解析処理を簡略化することができるため、処理負荷を軽減することが可能である。
(第3の実施形態)
上述した第1、2の実施形態において、暗号特定情報記憶部131に受信したパケットが暗号化済か否かを特定するための情報を記憶する場合を説明した。この暗号特定情報記憶部131に記憶された情報を更新できるようにしてもよい。つまり、既に暗号化されているパケットは、通信処理効率化のため、通信制御装置のトンネリング処理にてあえて暗号化する必要がないという趣旨であるとする場合、十分な安全性の暗号処理によりトンネル対向側へ送信すべきパケットを平文・または不十分な安全性の暗号化により送信してしまうことになるため、記憶部には正確で、タイムリーな情報が記憶されているべきである。
そこで、以下、第3の実施形態では、暗号特定情報記憶部131に記憶された情報を更新できる場合について説明する。図12は、第3の実施形態に係る通信制御装置の構成の一例を示す図である。ここで、第3の実施形態に係る通信制御装置100Bは、第2の実施形態に係る通信制御装置100Aと比較して、更新部126を備える点が異なる。以下、これらを中心に説明する。なお、第1の実施形態および第2の実施形態と同様の部分については説明を省略する。
更新部126は、暗号特定情報記憶部131の情報を更新する。例えば、図示していない外部サーバなどが、脆弱性が発見されたプロトコルや危殆化した暗号技術やこれを用いたプロトコルに関する最新の情報を管理し、危殆化した技術によって処理されたデータや通信を暗号化済とは判定しないように設定するため、これらのプロトコルや暗号技術を用いたアプリケーションによる暗号化に関する情報を更新情報として更新部126に通知する。そして、更新部126は、外部サーバから受信した更新情報をもとに、暗号特定情報記憶部131に情報を追記したり、または、暗号化済とみなす通信の条件を更新・削除したりする。
例えば、通信制御装置100Bは、外部サーバが適切な証明書に基づいた認証を行った後に、外部サーバから更新情報を受信し、暗号特定情報記憶部131の情報を更新することが望ましい。
(第4の実施形態)
上述した第1〜3の実施形態において、宛先が外部ネットワークの場合、または、宛先が内部ネットワークであって且つパケットが暗号化済である場合には、さらにVPNにおける暗号化を実施することなくカプセル化の処理を行う場合を説明した。しかし、これに限定されるものではなく、カプセル化の処理を行うとともに、ヘッダの一部を秘匿化する処理を行うようにしてもよい。そこで、以下に説明する第4の実施形態では、宛先が外部ネットワークの場合、または、宛先が内部ネットワークであって且つパケットが暗号化済である場合に、カプセル化の処理を行うとともに、ヘッダの一部を秘匿化する処理を行うことを説明する。ヘッダの一部とは、例えば、送信元や宛先のMACアドレス、送信元や宛先のIPアドレス、プロトコル番号や送信元や宛先のポート番号などのうち1つ以上からなるものを指す。これらの情報は、従来のホームネットワークではNATやNAPTの処理によって外部にさらされることのない情報である場合があるため、少なくともこれらの情報は秘匿化されることが望ましい場合がある。
例えば、通信制御装置100は、RHNW2内の通信装置からインターネット側をあて先とするL2フレームまたはパケットを受信し、宛先が外部ネットワークの場合、または、宛先が内部ネットワークであって且つL2フレームまたはパケットが暗号化済である場合には、受信したL2フレームまたはパケットのヘッダの所定の部分に秘匿処理を実行する。そして、通信制御装置100は、秘匿処理を実行したL2フレームまたはパケットに対して、トンネリングのためのカプセリング処理を実行して、対向する通信制御装置200に送信する。通信制御装置200は、受信したカプセリング処理されたパケットのカプセリングを解除して、秘匿処理されたL2フレームまたはパケットを取り出す。そして、通信制御装置200は、取り出したL2フレームまたはパケットのうち秘匿処理された情報を復元してインターネット側の宛先に送信する。
また、通信制御装置200も同様に、インターネット側からRHNW2内宛のL2フレームまたはパケットを受信すると、受信したL2フレームまたはパケットのヘッダに秘匿処理を実行する。そして、通信制御装置200は、秘匿処理を実行したL2フレームまたはパケットに対して、カプセリング処理を実行して、対向する通信制御装置100に送信する。通信制御装置100は、受信したカプセリング処理されたL2フレームまたはパケットのカプセリングを解除して、秘匿処理されたL2フレームまたはパケットを取り出す。そして、通信制御装置100は、取り出したL2フレームまたはパケットのうち秘匿処理された情報を復元してRHNW2内の宛先の通信装置に送信する。
また、カプセル化を行う際のヘッダの一部の秘匿化について、秘匿化には通信制御装置間で共有している値で、秘匿化する対象部分とXORをとった値に置き換えることとしてもよい。この値は所定期間経過のたびに更新するのが望ましい。通信制御装置間で時刻同期しておき、所定の時間経過ごとに装置間で共通のルールで更新してもよく、または、いずれかの装置からのメッセージ通知などの契機により、鍵交換プロトコル(例えば、Diffie-Hellman鍵交換など)を用いて新たな値を生成してもよい。または、通信制御装置間で共有している共通のルールに基づいて、転置暗号や置換暗号によって秘匿化してもよい。秘匿化した際は、トンネルのパケットヘッダ等に、秘匿化していることと秘匿化に適用している技術やルール、秘匿化している箇所を識別できる情報を付加することで、受信する側の通信制御装置は、この付加された情報を識別して対応する箇所に対して復元処理を行うこととしてもよい。また、秘匿処理後のL2フレームなどのチェックサムを再計算して置換えることとしてもよい。このように、第4の実施形態にかかる通信制御装置100では、ヘッダ情報の一部分を秘匿化するので、通信におけるセキュリティを向上させることが可能である。
(第5の実施形態)
これまで第1〜第4の実施形態を説明したが、本願に係る実施形態は、第1〜第4の実施形態に限定されるものではない。すなわち、これらの実施形態は、その他の様々な形態で実行されることが可能であり、種々の省略、置き換え、変更を行うことができる。
上述した実施形態におけるCPE100とVHGW200との間のL2トンネルは、L2VPNによるトンネルと、L2カプセリングによるトンネルの両方を確立しておき、判定部の判定結果に応じて、利用するトンネルを選択するようにしてもよい。
また、IPv4/v6の回線ルータはVHNW3側に配置されてもよいし、RHNW2側に配置されてもよい。例えば、上述した図1の例ではIPv4/v6の回線ルータがVHNW3側に配置されているが、これに限定されることはなく、RHNW2側に配置されてもよく、IPv4の回線ルータはVHNW3側、IPv6の回線ルータはRHNW2側に配置されてもよく、またこの逆であってもよいものである。
また、CPE100とVHGW200の間で1本のL2トンネルのみを利用する場合は、判定部の判定結果に基づいて、L2VPNの処理「セキュリティ処理(暗号、認証、署名)+L2カプセリング」をするか、L2カプセリングの処理をするかを都度選択的に行ってもよい。ここで、例えば、デフォルトの処理をL2VPNとして、選択的にL2VPNのうちセキュリティ処理を実施しないL2カプセリングの処理をしてもよく、この逆に、デフォルトの処理をL2カプセリングとして、選択的にさらにセキュリティ処理を実施することでL2VPNの処理をしてもよい。
また、RHNW2またはVHNW3とインターネットなどの外部ネットワーク5とがL2トンネル経由でアクセスする場合、L2−カプセリングによる通信を行うものとして説明した。しかしながら、このような通信では、拠点間を同一セグメント化する必要がない場合は、L2フレーム全体をトンネル対向側に送信することは必須ではないため、実施形態はこれに限定されるものではなく、例えば、この通信をL3カプセリング、つまり、IP−in−IP、IP tunnelingやその他トンネリング処理を適用してもよい。
また、暗号特定情報記憶部131には、一般的な暗号技術やプロトコルに基づいた情報を記憶させてもよく、内部ネットワークで特有の用途で使用される暗号技術やプロトコルがある場合は、その情報を利用者が設定してもよい。
また、VHNW3は、仮想化されたネットワークとして説明したが、仮想化されていない物理的なネットワークであってもよい。また、RHNW2は、物理的なネットワークとして説明したが、仮想化されたネットワークであってもよい。また、RHNW2とVHNW3とを同一セグメントのL2ネットワークとして扱えるようにするため、CPE100とVHGW200とをL2VPNで接続するものとして説明したが、これに限らず、L3以上のVPNによって接続してもよい。
また、通信の送信元や宛先に基づいて秘匿処理の要否を判断するものとして説明したが、これに限らず、通信プロトコルや通信のメッセージの種類や内容に基づいて秘匿処理の要否を判断してもよい。または、通信プロトコル、通信のメッセージ、送信元、送信先のうちいずれか一以上からなる組合せに基づいて秘匿処理の要否を判断してもよい。この場合、CPE100やVHGW200は、秘匿処理をする/しない通信プロトコルやメッセージに関する条件も事前に記憶しておくこととなる。また、RHNW2とVHNW3との間の通信において、例えばセキュリティよりも低遅延であることが要求される特定の通信がある場合は、通信プロトコルやメッセージに基づいてその通信を特定して、セキュリティ処理を省略してカプセリング処理のみを実施することとしてもよく、または、カプセリング処理と秘匿処理を実施することとしてもよい。
また、秘匿処理は、単純に、L2フレームであれば、L2ヘッダ情報とL3ヘッダ情報のすべて、パケットであれば、L3ヘッダ情報のすべて、を秘匿処理対象とするものであってもよい。
VHGW200は、仮想化された装置として説明したが、仮想化されていない物理的な装置であってもよい。CPE100は、物理的な装置として説明したが、仮想化された装置であってもよい。
RHNW2内やVHNW3内の通信装置は、仮想化されたサーバなどでもよく、仮想化されていない物理的なサーバなどであってもよい。また、サーバではない通信装置でもよい。
上述した実施形態では、ホームネットワーク、ホームゲートウェイを例に説明したが、実施形態はこれに限定されるものではなく、例えば、対象が企業ネットワークなどでもよい。
CPE100やVHGW200の各装置の分散・統合の具体的形態(例えば、図2の形態)は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合することができる。一例を挙げると、判定部123とトンネリング処理部124とを一つの処理部として統合してもよく、一方、トンネリング処理部124を暗号化させる暗号処理部と、トンネリング処理を実行するトンネリング部とに分散してもよい。また、各装置は、アクセスネットワーク/インターネットなどの外部ネットワーク5と通信するためのIPルーティング機能を備えていてもよく、IPルーティングは別の装置に具備するものであってもよい。さらに、各装置は、NATやDHCP、DNS、ファイアウォールなどに係る一般的なルータの機能を備えてもよく、または、これらの機能を別の装置に具備するものであってもよい。つまり、一般的なルータに接続される装置であってもよく、この場合はL2通信のための処理を行う装置となる。
また、宛先識別部120をCPE100の外部装置としてネットワーク経由で接続するようにしてもよく、或いは、判定部123及びトンネリング処理部124を別の装置がそれぞれ有し、ネットワークに接続されて協働することで、上述したCPE100の機能を実現するようにしてもよい。
また、L2トンネルを形成させる機能を有する装置を、CPE100及びVHGW200の外部装置としてネットワーク経由で接続されて協働することで、CPE100とVHGW200との間にL2トンネルを形成させるようにしてもよい。
上述した実施形態で説明したCPE100及びVHGW200は、あらかじめ用意されたプログラムをコンピュータで実行することで実現することもできる。そこで、以下では、図3に示した通信制御装置100と同様の機能を実現するプログラムを実行するコンピュータの一例を説明する。
図13は、第4の実施形態に係る通信制御プログラムを実行するコンピュータ1000を示す図である。図13に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU(Central Processing Unit)1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011およびRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。ディスクドライブ1100には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1110およびキーボード1120が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1130が接続される。
ここで、図13に示すように、ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログムモジュール1093およびプログラムデータ1094を記憶する。第4の実施形態に係る通信制御プログラムは、例えば、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1090に記憶される。具体的には、CPE100と同様の機能を実現する場合、上記実施形態で説明した通信部110と同様の情報処理を実行する通信ステップと、識別部121と同様の情報処理を実行する識別ステップと、解析部122と同様の情報処理を実行する解析ステップと、判定部123と同様の情報処理を実行する判定ステップと、トンネリング処理部124と同様の情報処理を実行するトンネリング処理ステップとが記述されたプログラムモジュールが、ハードディスクドライブ1090に記憶される。
また、上記実施形態で説明したデータベースに記憶されるデータのように、プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えば、ハードディスクドライブ1090に記憶される。そして、CPU1020が、ハードディスクドライブ1090に記憶されたプログラムモジュールやプログラムデータを必要に応じてRAM1012に読み出して、通信ステップと、宛先識別ステップと、判定ステップと、トンネリング処理ステップとを実行する、或いは、通信ステップと、トンネリング処理ステップとを実行する。
なお、プログラムに係るプログラムモジュールやプログラムデータは、ハードディスクドライブ1090に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムに係るプログラムモジュールやプログラムデータは、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
これらの実施形態やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。