パケット転送システム、パケット転送方法、通信装置及びパケット転送プログラム
【課題】従来のGRE over IPsec通信方式よりも、パケットのヘッダサイズを小さくして暗号パケットを伝送することができ、かつ、トンネル確立工程を少なくしてパケット伝送することができるようにする。
【解決手段】本発明のパケット転送システムは、第1の通信装置と、第1の通信装置に対向する第2の通信装置との間で、所定の鍵交換プロトコルに従って転送パケットをカプセル化してパケット転送するパケット転送システムにおいて、第1の通信装置が、鍵交換プロトコルによる第2の通信装置との間のネゴシエーションの際、自装置が要求するカプセル方式を第2の通信装置に通知するモード通知手段を有し、第2の通信装置が、第1の通信装置の要求するカプセル方式を認識するモード認識手段を有し、第1の通信装置及び第2の通信装置は、鍵交換プロトコルを用いて、カプセル方式によるトンネルを設定するトンネル設定手段を有することを特徴とする。
【解決手段】本発明のパケット転送システムは、第1の通信装置と、第1の通信装置に対向する第2の通信装置との間で、所定の鍵交換プロトコルに従って転送パケットをカプセル化してパケット転送するパケット転送システムにおいて、第1の通信装置が、鍵交換プロトコルによる第2の通信装置との間のネゴシエーションの際、自装置が要求するカプセル方式を第2の通信装置に通知するモード通知手段を有し、第2の通信装置が、第1の通信装置の要求するカプセル方式を認識するモード認識手段を有し、第1の通信装置及び第2の通信装置は、鍵交換プロトコルを用いて、カプセル方式によるトンネルを設定するトンネル設定手段を有することを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケット転送システム、パケット転送方法、通信装置及びパケット転送プログラムに関し、例えば、仮想プライベートネットワーク(VPN:Vertual Private Network)上でパケット転送を実現するパケット転送システム、パケット転送方法、通信装置及びパケット転送プログラムに適用し得るものである。
【背景技術】
【0002】
従来、仮想プライベートネットワークを用いて、VPNゲートウェイ装置間でパケット転送を実現する方法の1つとして、例えばGRE Over IPSec通信方式があり(特許文献1、非特許文献1参照)、この通信方式が広く利用されている。
【0003】
GRE(Generic Routing Encapsulation)とはトンネルプロトコルの1つであり、IETFのRFC1701、RFC2784で規定されている標準化技術である。
【0004】
GREトンネリングでは、トンネルの両端のVPNゲートウェイ装置が、任意のプロトコルをIP(Internet Protocol)トンネル内でカプセル化してパケット転送を行い、又受信したパケットのカプセル化の解除を行う。そのため、トンネルの両端のVPNゲートウェイ装置が、直結したパケット転送を行うように見える。
【0005】
しかし、GREは、暗号化機能を備えていない。そのため、ルーティングセキュリティが保たれても、データそのものに対するセキュリティが保たれていない。そこで、データの安全性を保つために、図2に示すようにGRE Over IPsecを用いている。
【0006】
ここで、IPsec(Security Architecture For Internet Protocol)は、暗号技術を用いてIPパケット単位のデータの改竄防止や秘匿性等を提供するプロトコルである。
【0007】
IPsecでは、AH(Authentication Header)とESP(Encapsulating Security Payload)といつ2つのセキュリティプロトコルが定義されている。AHは、パケットの認証機能を提供し、ESPは、パケットの認証機能と暗号化機能を提供するものであり、セキュリティポリシーに応じていずれかの機能を選択することができる。
【0008】
また、IPsecの動作モードとしては、トランスポートモードとトンネルモードとがある。トランスポートモードは、元のIPパケットのペイロードのみをIPsecのパケットにカプセル化するモードであり、トンネルモードは、元のIPパケットの全てをIPsecのパケットにカプセル化するモードである。
【0009】
GRE Over IPsec通信を行う際、VPNゲートウェイ装置間でGREトンネルを確立した後、そのGREトンネル上を流れるパケットをトランスポートモードのIPsecを利用して暗号化していた。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2008−306725号公報
【非特許文献】
【0011】
【非特許文献1】シスコシステムズ合同会社、テクニカルサポート、「GRE Over IPSecVPNを用いたLAN−to−LAN接続設定例」、2006年1月27日初版、インターネット検索、http://www.cisco.com/JP/support/public/loc/tac/100/1005663/gre_overipsec.shtml
【発明の概要】
【発明が解決しようとする課題】
【0012】
上述したGREトンネリングは、カプセル化されるプロトコルとして、IP、IPX、Apple Talk、CLNS、DECnet、VINES、Banyanなど様々なレイヤ3プロトコルを利用することができる。
【0013】
しかしながら、ネットワークプロトコルにIPのみを採用している環境において、従来のようなGRE over IPsec方式を行うと、GREトンネルの確立後に、暗号化処理を行うため、図3に示すように、転送されるパケットサイズはトンネルモードのIPsecパケットに比べて、GREヘッダサイズ(8Byte)分オーバヘッドが増加してしまうという問題がある。
【0014】
また、GER over IPsec通信を確立する際、オペレータ(VPNゲートウェイ装置)は、
(a)GREトンネル確立
(b)IKE等の鍵交換プロトコルの設定
と2段階の手順を踏まなければならなかった。
【0015】
そのため、従来のGRE over IPsec通信方式よりも、パケットのヘッダサイズを小さくして暗号パケットを伝送することができ、かつ、トンネル確立工程を少なくしてパケット伝送することができるパケット転送システム、パケット転送方法、通信装置及びパケット転送プログラムが求められている。
【課題を解決するための手段】
【0016】
かかる課題を解決するために、第1の本発明のパケット転送システムは、第1の通信装置と、第1の通信装置に対向する第2の通信装置との間で、所定の鍵交換プロトコルに従って転送パケットをカプセル化してパケット転送するパケット転送システムにおいて、(1)第1の通信装置が、鍵交換プロトコルによる第2の通信装置との間のネゴシエーションの際、自装置が要求するカプセル方式を第2の通信装置に通知するモード通知手段を有し、(2)第2の通信装置が、第1の通信装置の要求するカプセル方式を認識するモード認識手段を有し、(3)第1の通信装置及び第2の通信装置は、鍵交換プロトコルを用いて、カプセル方式によるトンネルを設定するトンネル設定手段を有することを特徴とする。
【0017】
第2の本発明のパケット転送方法は、第1の通信装置と、第1の通信装置に対向する第2の通信装置との間で、所定の鍵交換プロトコルに従って転送パケットをカプセル化してパケット転送するパケット転送方法において、(1)第1の通信装置が、鍵交換プロトコルによる第2の通信装置との間のネゴシエーションの際、自装置が要求するカプセル方式を第2の通信装置に通知するモード通知工程と、(2)第2の通信装置が、第1の通信装置の要求するカプセル方式を認識するモード認識工程と、(3)第1の通信装置及び第2の通信装置は、鍵交換プロトコルを用いて、カプセル方式によるトンネルを設定するトンネル設定工程とを有することを特徴とする。
【0018】
第3の本発明の通信装置は、対向装置との間で、所定の鍵交換プロトコルに従って転送パケットをカプセル化してパケット転送する通信装置において、(1)鍵交換プロトコルにより対向装置との間でネゴシエーションを行うネゴシエーション手段と、(2)ネゴシエーション手段による対向装置との間のネゴシエーションの際、自装置が要求するカプセル方式を対向装置に通知するモード通知手段と、(3)対向装置の要求するカプセル方式を認識するモード認識手段と、(4)鍵交換プロトコルを用いて、カプセル方式によるトンネルを設定するトンネル設定手段とを備えることを特徴とする。
【0019】
第4の本発明のパケット転送プログラムは、対向装置との間で、所定の鍵交換プロトコルに従って転送パケットをカプセル化してパケット転送する通信装置を、(1)鍵交換プロトコルにより対向装置との間でネゴシエーションを行うネゴシエーション手段、(2)ネゴシエーション手段による対向装置との間のネゴシエーションの際、自装置が要求するカプセル方式を対向装置に通知するモード通知手段、(3)対向装置の要求するカプセル方式を認識するモード認識手段、(4)鍵交換プロトコルを用いて、カプセル方式によるトンネルを設定するトンネル設定手段として機能させることを特徴とする。
【発明の効果】
【0020】
本発明によれば、従来方式(GRE over IPsec通信方式)よりも、パケットのヘッダサイズを小さくして暗号パケットを伝送することができ、かつ、トンネル確立工程を少なくしてパケット伝送することができる。
【図面の簡単な説明】
【0021】
【図1】第1の実施形態の通信装置の内部構成を示す内部構成図である。
【図2】従来のGRE over IPsec通信を説明する説明図である。
【図3】従来のGRE over IPsecのパケットサイズを示す図である。
【図4】第1の実施形態のパケット転送システムの構成を示す構成図である。
【図5】第1の実施形態のトンネル設定部の機能構成を示すブロック図である。
【図6】第1の実施形態のネゴシエーション部の機能構成を示すブロック図である。
【図7】第1の実施形態のセキュリティポリシーの構成例を示す構成図である。
【図8】第1の実施形態のセキュリティアソシエーションの構成例を示す構成図である。
【図9】第1の実施形態のIPIP over IPsecトンネル確立処理を示すシーケンス図である。
【図10】第1の実施形態の通信装置における処理を示すフローチャートである。
【図11】IKEv1のメッセージの構成を説明する説明図である。
【図12】第2の実施形態のIPIP over IPsecトンネル確立処理を示すシーケンス図である。
【図13】第3の実施形態のIPIP over IPsecトンネル確立処理を示すシーケンス図である。
【図14】第3の実施形態の通信装置における処理を示すフローチャートである。
【発明を実施するための形態】
【0022】
(A)第1の実施形態
以下では、本発明のパケット転送システム、パケット転送方法、通信装置及びパケット転送プログラムの第1の実施形態を、図面を参照しながら説明する。
【0023】
第1の実施形態は、本発明を利用して、例えば、ネットワークプロトコルとしてIPを採用する環境において、IPパケットをインターネットプロトコル(IP)でカプセル化してトンネル内をパケット転送するパケット転送システムのIPIPトンネル確立処理を実現する実施形態を例示する。
【0024】
なお、本発明は、後述するようにIPIPトンネルを確立するものであり、例えば、IETFのRFC1853「IP in Tunneling」の規定等に適用することができる。RFC1853では、IPヘッダを他のIPヘッダで単純に包むことが提案されており、IPIPトンネルのパケットのカプセル化形式が示されている。
【0025】
また、本発明は、IPヘッダを他のヘッダで包む観点で捉えるならば、RFC1853をモバイルIP(Mobie IP)向けに拡張したRFC2003「IP Encapsulation within IP」の規定等にも適用できる。
【0026】
(A−1)第1の実施形態の構成
図4は、第1の実施形態のパケット転送システム5の構成を示す構成図である。図4に示すように、ネットワーク20及びサブネットAに接続する通信装置10−1と、ネットワーク20及びサブネットBに接続する通信装置10−2を備える。
【0027】
ネットワーク20は、例えばインターネットに代表されるように、通信プロトコルをインターネットプロトコル(IP)とする通信網を想定し、例えば拠点間のパケット転送を行うWAN(Wide Area Network)が該当する。
【0028】
サブネットA及びサブネットBは、例えば通信プロトコルをインターネットプロトコル(IP)とする通信網を想定し、例えばローカルエリアネットワーク(LAN)等のサブネットワークが該当する。
【0029】
通信装置10−1及び通信装置10−2は、対向する通信装置との間で、所定のトンネルプロトコルに従ってトンネルを確立してパケット転送を行う通信装置であり、例えば、VPNゲートウェイ装置やVPNルータ装置などのパケット転送装置を適用することができる。
【0030】
また、通信装置10−1及び通信装置10−2は、暗号化処理に係る鍵交換プロトコルに従ったネゴシエーションの際に、自装置が利用するカプセル化方式(カプセル化モード)を対向装置に通知し、又自装置が対向装置から通知されたカプセル化方式に対応可能である場合にはその旨を応答し、鍵交換後に、上記カプセル化方式に従ったトンネルを確立するものである。
【0031】
ここで、第1の実施形態では、所定のトンネルプロトコルとしてIPsecを適用し、鍵交換プロトコルとしてIKEv1(Internet Key Exchange Protocol version 1)を適用するものとする。
【0032】
また、図4に示すように、ネットワークプロトコルとしてIPのみを利用する場合であり、通信装置10−1及び通信装置10−2が、IPIP over IPsecトンネルを確立する場合を中心に説明する。IPIP over IPsecトンネルを確立することで、自装置と対向装置との間で特定のパケットを暗号化することができる。
【0033】
図1は、通信装置10−1及び通信装置10−2の内部構成を示す内部構成図である。なお、通信装置10−1と通信装置10−2との内部構成は同一であり、共通する構成要素を説明する場合には「通信装置10」と示して説明する。
【0034】
図1において、通信装置10は、ユーザインタフェース部100、プログラム部200、ネットワークスタック部300を少なくとも有して構成される。
【0035】
ユーザインタフェース部100は、ユーザによる所定の設定情報の入力を受け付ける処理部又は装置である。ユーザインタフェース部100は、例えば、HTTP(HyperText Transfer Protocol)サーバ等を利用したGUI(Graphical User Interface)を適用することができ、IPIP over IPsecトンネルを確立するために必要な設定情報の入力を行う。
【0036】
ここで、IPIP over IPsecトンネルを確立するために必要な設定情報としては、主として、IPIPトンネル確立に係る設定情報と、鍵交換プロトコルの設定に係る設定情報とがある。
【0037】
IPIPトンネル確立に係る設定情報(トンネル確立設定情報)としては、具体的に、(a)対向装置のアドレス(IPアドレス等)、(b)自装置のアドレス(IPアドレス等)、(c)IPIPトンネルのアドレス(例えば、自装置のサブネット側ネットワークアドレスに属すアドレス等)、(d)IPIPトンネルに流したいトラフィックのルーティング設定(例えば、対向装置のサブネットを指定する情報等)等がある。
【0038】
また、鍵交換プロトコルの設定に係る設定情報(鍵交換設定情報)としては、具体的に、(e)対向装置のアドレス(IPアドレス等)、(f)自装置のアドレス(IPアドレス等)、(g)事前鍵共有方式(PSK:Pre Shared Key)認証用パフフレーズ(パスワード)又はRSA認証用デジタル証明書等がある。
【0039】
ユーザインタフェース部100は、上記のような設定情報の入力を受け付け、入力された設定情報をプログラム部200の鍵交換管理部210に与える。なお、鍵交換管理部210では、上記設定情報の入力について、「(a)と(e)」、「(b)と(f)」は同じ値が設定されるため、一方が設定されたら、他方に同じ値を自動挿入するようにする。これにより、オペレータの設定作業を軽減することができる。
【0040】
プログラム部200は、自装置(通信装置)10のOS(オペレーティングシステム)上で実行される各処理機能部を提供するものである。プログラム部200は、図1に示すように、鍵交換管理部210、SP(セキュリティポリシー)設定部220、SA(セキュリティアソシエーション)部230、トンネル設定部240、ネゴシエーション部250を少なくとも有する。
【0041】
鍵交換管理部210は、ユーザインタフェース部100からの設定情報に応じて、対向装置との間でネゴシエーション管理を行い、対向装置との間で安全に鍵交換処理を制御するものである。
【0042】
鍵交換管理部210は、ユーザインタフェース部100から受け取った鍵交換設定情報をSA設定部230に与え、SAD(セキュリティデータベース)320にセキュリティアソシエーションの設定情報の設定登録させるものである。
【0043】
また、鍵交換管理部210は、ユーザインタフェース部100から受け取ったトンネル確立設定情報をトンネル設定部240に与えるものである。これにより、トンネル設定部240は、トンネル確立設定情報を用いて対向装置との間でIPIPトンネルを確立することができる。
【0044】
また、鍵交換管理部210は、ユーザインタフェース部100からの設定情報に基づいて、今回のパケットをIPIP over IPsec通信で対向装置へ伝送する場合、IPIP over IPsecトンネルを対向装置との間で確立すべき旨の指示を、ネゴシエーション部250及びトンネル設定部240に行うものである。
【0045】
さらに、鍵交換管理部210は、対向装置がIPIP over IPsecトンネルの確立要求してきたことをネゴシエーション部250から受けると、トンネル設定部240に対して、カプセル化方式が一致するか否かを判断させ、IPIPトンネルを対向装置との間で確立すべき旨の指示を行うものである。
【0046】
SP設定部220は、ユーザインタフェース部100からの設定情報を鍵交換管理部210を通じて、ネットワークスタック部300のSPD(セキュリティポリシーデータベース)310にセキュリティポリシーを設定するものである。
【0047】
SA設定部230は、ユーザインタフェース部100からの設定情報(鍵交換設定情報)を鍵交換管理部210を通じて、ネットワークスタック部300のSAD(セキュリティアソシエーションデータベース)320にセキュリティアソシエーションを設定するものである。
【0048】
トンネル設定部240は、ユーザインタフェース部100からのトンネル確立設定情報に基づいて、自装置と対向装置との間で、カプセル化モードとしてIPIPトンネルモードを利用することを認識した後、IPIPトンネルの設定を行うものである。
【0049】
図5は、トンネル設定部240の機能構成を示すブロック図である。図5に示すように、トンネル設定部240は、IPIPトンネル処理起動設定部241、IPIPトンネル生成部242、ルーティング設定部243、トンネル確立設定情報格納部244を少なくとも有する。
【0050】
IPIPトンネル処理起動設定部241は、自装置と対向装置との間で、IPIPトンネルモードを利用すると認識すると、自装置のOS上でIPIPトンネルの生成に関する処理が行えるように設定するものである。
【0051】
例えば、自装置のOSがLinux(登録商標)の場合、IPIPトンネル処理起動設定部241は、IP/IPプロトコルデコーダ処理に関するモジュール(例えばipip.o等)やトンネル処理に関するモジュール(例えばnew_tunnel.o(tunnel.o)等)をローディングし、OS上でIPIPトンネルに関する処理が行えるようにする。
【0052】
また、IPIPトンネル処理起動設定部241は、上記のようにしてローティングしたIPIPトンネルの生成処理に関するモジュールが正常にローディングできたか否かを確認するものである。
【0053】
例えば、IPIPトンネル処理起動設定部241は、ロードされているモジュールの一覧にローディングしたモジュールが存在するか否かを確認することにより、正常のローディングできたか否かを判断する。
【0054】
IPIPトンネル生成部242は、IPIPトンネルの設定準備が整うと、OS上でトンネルの通信に用いる擬似デバイス(例えばtun10等)の生成及び設定を行い、トンネル確立設定情報を用いて対向装置との間でIPIPトンネルを生成するものである。
【0055】
例えば、IPIPトンネル生成部242は、擬似デバイスを生成すると、対向装置のIPアドレスと紐付けを行うことで、IPIPトンネルを生成する。
【0056】
ルーティング設定部242は、生成したIPIPトンネルで経由するネットワークに関するルーティングの設定を行うものである。
【0057】
例えば、ルーティング設定部243は、対向装置と通信するWANインタフェースである通信処理部のインタフェースAの通信経路を、生成したIPIPトンネルで経由するように設定する。
【0058】
トンネル確立設定情報格納部244は、トンネル確立設定情報を格納するものである。
【0059】
ネゴシエーション部250は、鍵交換管理部210の制御の下、パケット処理部330を介して、対向装置との間で、所定の鍵交換プロトコルに従ったネゴシエーションを行うものである。
【0060】
また、ネゴシエーション部250は、鍵交換管理部210から自装置が対向装置との愛で、IPIP over IPsecトンネルを確立すべく旨の指示を受けると、鍵交換プロトコルによるネゴシエーション(以下では、鍵交換ネゴシエーションともいう)の際に、自装置が利用するカプセル化方式を対向装置に通知(以下では、カプセル化モードの通知ともいう)するものである。
【0061】
なお、第1の実施形態では、鍵交換プロトコルとしてIKEv1を採用する場合を例示する。これは、鍵交換ネゴシエーションの手順に応じて、自装置が利用するカプセル化方式の通知手順が異なるため、第1の実施形態ではIKEv1の場合を例示し、第2の実施形態ではIKEv2の場合を例示する。
【0062】
ここで、カプセル化モードの通知タイミングは、鍵交換ネゴシエーション中の場合を例示するが、鍵交換ネゴシエーション中に限らず、鍵交換ネゴシエーション後に行うようにしても良い。つまり、鍵交換ネゴシエーション後にカプセル化モードの通知を行う場合、通常のトランスポートモードのIPsec暗号通信が可能なので、この暗号通信路を利用して対向装置にカプセル化モードを通知しあうことができるからである。
【0063】
図6は、ネゴシエーション部250の機能構成を示すブロック図である。図6に示すように、ネゴシエーション部250は、動作モード通知部251を少なくとも有する。
【0064】
動作モード通知部251は、自装置が利用するカプセル化モードを対向装置に通知するものである。また、受信したカプセル化モードの通知に対する応答を行うものである。動作モード通知部251は、鍵交換プロトコルのIKEv1を拡張して、ネゴシエーションの際に対向装置との間で、カプセル化モードの通知の授受を行う。
【0065】
次に、ネットワークスタック部300は、一般に、通信処理を実行するOS上のネットワークスタックである。ネットワークスタック部300は、図1に示すように、SPD310、SAD320、パケット処理部330、インタフェース部A340−1、インタフェース部B340−2を少なくとも有する。
【0066】
SPD310は、セキュリティポリシーを保持するデータベースである。図7は、SPD310に保持されるセキュリティポリシーの構成を説明する説明図である。なお図7は、例えば、通信装置10−1におけるセキュリティポリシーを例示する。
【0067】
図7において、セキュリティポリシーは、セレクタとして「ローカルIPアドレス」及び「リモートIPアドレス」、「動作」、IPsec「モード」、「SAリンク」等を項目として構成される。
【0068】
なお、必要に応じて、セレクタの欄に、ローカルポート番号、リモートポート番号、上位層プロトコル等を項目を有するようにしても良い。IPsecの欄に、セキュリティプロトコル、暗号化アルゴリズム、認証アルゴリズム等の項目を有するようにしても良い。
【0069】
「ローカルIPアドレス」は、自装置10−1の接続するサブネットに属する端末のアドレスを格納するものである。図7の場合、通信装置10−2の接続するサブネットBに属するネットワークアドレスとして、「192.168.1.0」〜「198.162.1.255」が設定されている。
【0070】
「リモートIPアドレス」は、対向装置の接続するサブネットに属する端末のアドレスを格納するものである。図7の場合、対向装置の1つとして通信端末10−2の接続するサブネットAに属するネットワークアドレスとして、「192.168.2.0」〜「198.162.2.255」が設定されている。
【0071】
「動作」は、動作モードを保持するものであり、例えば図7では、IPIP over IPsecとして動作する場合を例示する。
【0072】
「モード」は、IPsecを行う場合に、トランスポートモードとするか又はトンネルモードとするかを格納するものである。図7では、IPIP over IPsec通信を行う際には、トランスポートを選択することが設定されている。
【0073】
「SAリンク」は、SAD320におけるSAと対応付けるための識別子を格納するものである。図7では、鍵交換プロトコルとしてIKEv1を採用する「1」が設定されている。
【0074】
SAD320は、セキュリティアソシエーションを保持するデータベースである。図8は、SAD320に保持されるセキュリティアソシエーションの構成を説明する説明図である。なお図8は、例えば、通信装置10−1におけるセキュリティアソシエーションを例示する。
【0075】
図8において、セキュリティアソシエーションは、「SPI」、「モード」、「セキュリティプロトコル」、「暗号パラメータ」、「認証パラメータ」等を項目として構成される。
【0076】
「SPI」は、セキュリティアソシエーションを一意に識別する識別子を格納するものである。
【0077】
「モード」は、IPsecを行う場合に、トランスポートモードとするか又はトンネルモードとするかを格納するものである。
【0078】
「セキュリティプロトコル」は、セキュリティプロトコルを格納するものであり、例えば、AH、ESPなどの種別が格納される。
【0079】
「暗号パラメータ」は、暗号アルゴリズムや鍵などを格納するものである。
【0080】
「認証パラメータ」は、認証アルゴリズムや鍵などを格納するものである。
【0081】
パケット処理部330は、パケットの送信処理、受信・解析処理、転送処理、暗号化・復号処理等を行う処理部又は装置である。パケット処理部330は、パケットの送受信時に、SPD310から当該パケットのセキュリティポリシーを検索し、セキュリティポリシーがある場合には、セキュリティポリシーに紐付けされたセキュリティアソシエーションをSAD320から検索し、セキュリティポリシーに紐付けされた鍵を用いて、暗号化・復号処理を行い、パケット転送を行う。
【0082】
インタフェース部A340−1は、ネットワーク20に接続する通信インタフェースであり、インタフェース部B340−2は、サブネットA又はBに接続する通信インタフェースである。
【0083】
(A−2)第1の実施形態の動作
次に、第1の実施形態のパケット転送処理の動作を図面を参照しながら説明する。
【0084】
図9は、第1の実施形態のIPIP over IPsecトンネル確立処理を示すシーケンス図である。また、図10は、通信装置10における鍵交換処理のフローチャートである。
【0085】
なお、図9では、通信装置10−1が、通信10−2を対向装置として、鍵交換プロトコルにIKEv1を拡張して、IKEv1のMainモードを利用して、自動的にIPIP over IPsecトンネルを確立する場合を例示する。
【0086】
まず、通信装置10−1において、ユーザインタフェース部100は、ユーザによる設定情報の入力を読み込み(ステップS201)、鍵交換管理部210の制御の下、根後シーエーション部250が、対向装置である通信装置10−2との間で鍵交換ネゴシエーションを開始する(ステップS202)。
【0087】
鍵交換管理部210は、入力した設定情報に基づいて自装置のカプセル化モードを確認し、カプセル化モードがIPIPトンネルモードである場合には(ステップS203)、IPIPトンネルモードを要求することを、対向装置10−2とのネゴシエーション中に通知する(ステップS204)。なお、IPIPトンネルモードでない場合には、入力した設定情報に基づく鍵交換処理が行われる。
【0088】
このとき、通信装置10−1と通信装置10−2との間で鍵交換ネゴシエーションが失敗すると(ステップS203)、ネゴシエーションエラーとしてリソースの開放を行い(ステップS212)、処理は終了する。
【0089】
一方、鍵交換ネゴシエーションが成功すると、各通信装置10−1及び10−2では、入力された設定情報に基づいて、SP設定部220がSP設定を行い(ステップS206)、さらにSA設定部230がSA設定を行い(ステップS207)、鍵交換ネゴシエーションが完了する(ステップS208)。
【0090】
ここで、図9を用いて、鍵交換ネゴシエーション中にIPIP over IPsecトンネルを確立する処理を説明する。
【0091】
図9に示すように、鍵交換管理部210がIPIP over IPsecトンネルの確立要求する場合(ステップS101)、ネゴシエーション部250は、IKEv1のMainモードで、自装置が利用するカプセル化モードがIPIPトンネルモードであることを記載したMainモード第1メッセージを通信装置10−2に送信する(ステップS102)。
【0092】
カプセル化モードの通知は、例えば、RFC2407の4.5章で定義されているカプセル化モード(Encapsulation Mode)を拡張して、カプセル化モードがIPIPトンネルモードであることを通知する。
【0093】
例えば、図11(A)は、IKEv1におけるメッセージの構成例を示す構成図であり、図11(B)は、メッセージに含まれるTransformペイロードの構成例を示す構成図である。ネゴシエーション部250は、Mainモード第1メッセージのTransformペイロードのSA Attributes(SA属性)に、カプセル化モードがIPIPトンネルモードであること示す情報(例えば、属性値等)を記載することで通信装置10−2に通知する方法を用いることができる。つまり、IKEv1プロトコルを拡張して、鍵交換ネゴシエーション中にカプセル化モードがIPIPトンネルモードであることを通知する。
【0094】
通信装置10−2では、通信装置10−1からのMainモード第1メッセージを受信し、ネゴシエーション部250が、通信装置10−1のカプセル化モードとしてIPIPトンネルモードを要求することを認識し(ステップS103)、対応可能である場合に、通信装置10−2のカプセル化モードをIPIPトンネルモードとするMainモード第2メッセージを通信装置10−1に応答する(ステップS104)。
【0095】
このときも、例えば、ネゴシエーション部250は、Mainモード第2メッセージのTransformペイロードのSA Attributesに、カプセル化モードがIPIPトンネルモードであること示す情報を記載して通信装置10−1に返信する。
【0096】
その後、通信装置10−1と通信装置10−2との間で、通常のIKEv1の鍵交換ネゴシエーションを行う(ステップS105)。
【0097】
通信装置10−1と通信装置10−2との間で鍵交換ネゴシエーションが完了し、カプセル化モードがIPIPトンネルモードであることを確認する(ステップS209)。
【0098】
トンネル設定部240は、IPIPトンネルモードに関する処理するモジュール(例えば、ipip.oやtunnel.o等)をローディングし、ローディングしたモジュールを確認した後、OS上で、トンネルの通信に用いる擬似デバイス(例えば、tun10等)を生成・設定してIPIPトンネルを生成する(図9のステップS106、図10のステップS210)。
【0099】
また、トンネル設定部240は、生成したIPIPトンネルで経由するネットワークに関するネットワークのルーティングの設定をする(ステップS211)。
【0100】
これにより、通信装置10−1と通信装置10−2との間で、双方向のIPIPトンネルが確立完了し、インタフェースA340−1においてIPIP over IPsecの通信が確立すると、IPIP over IPsecトンネルが確立完了する(ステップS107)。
【0101】
(A−3)第1の実施形態の効果
上記のように、第1の実施形態によれば、従来の方式であるGRE over IPsecトンネルよりも少ないオーバヘッドで暗号パケットを伝送することができるIPIP over IPsecトンネルを確立することができる。
【0102】
また、第1の実施形態によれば、GRE over IPsecトンネルの確立にオペレータによる2段階の操作が必要だったことに対し、IKEv1プロトコルを拡張することで1段階の手順でIPIP over IPsecトンネルを確立することができる。
【0103】
(B)第2の実施形態
次に、本発明のパケット転送システム、パケット転送方法、通信装置及びパケット転送プログラムの第2の実施形態を、図面を参照しながら説明する。
【0104】
(B−1)第2の実施形態の構成及び動作
第2の実施形態の構成は、第1の実施形態で説明した構成と同じであるから、第2の実施形態においても図1を用いて説明する。
【0105】
第2の実施形態が、第1の実施形態と異なる点は、鍵交換プロトコルとしてIKEv2(Internet Key Exchange Protocol version 2)を採用する点であり、ネゴシエーション部250が、IETFのRFC4307に規定されているIKEv2を拡張して、カプセル化モードの通知を行う点である。
【0106】
従って、以下では、IKEv2を利用した場合の自装置と対向装置との間のIPIP over IPsecトンネル確立処理の動作を中心に説明する。
【0107】
図12は、第2の実施形態のIPIP over IPsecトンネル確立処理を示すシーケンス図である。なお、図12は、拡張認証プロトコル(EAP)による認証未使用時のシーケンス図である。
【0108】
通信装置10−1の鍵交換管理部210は、第1の実施形態と同様に、IPIP over IPsecトンネルの確立要求する場合(ステップS301)、後述するように、通信装置10−2との間の鍵交換ネゴシエーションの際に、カプセル化モードの通知を行う。
【0109】
通信装置10−1のネゴシエーション部250は、IKEv2のIKE_SA_INIT第1メッセージを通信装置10−2に送信する(ステップS302)。
【0110】
通信装置10−2のネゴシエーション部250は、通信装置10−1から受信したIKE_SA_INIT第1メッセージに基づいて、通信装置10−1がIPIP over IPsecトンネルの確立を要求することを認識し(ステップS303)、IKE_SA_INIT第2メッセージを通信装置10−1に返信する(ステップS304)。
【0111】
通信装置10−1のネゴシエーション部250は、NOTIFIY MESSEAGEでカプセル化モードがIPIPトンネルであることを記載したIKE_AUTH第1メッセージを通信装置10−2に送信する(ステップS305)。
【0112】
また、通信装置10−2のネゴシエーション部250は、NOTIFIY MESSAGEでカプセル化モードがIPIPトンネルであることを記載したIKE_AUTH第2メッセージを通信装置10−2に返信する(ステップS306)。
【0113】
ここで、カプセル化モードの通知は、RFC4306の3.10.1章で定義されているNOTIFY MESSAGEを拡張して、IPIPトンネルモードであることを通知する方法を適用することができる。
【0114】
その後、通信装置10−1及び通信装置10−2では、トンネル設定部240が、第1の実施形態と同様にして、IPIPトンネルモードに関する処理するモジュール(例えば、ipip.oやtunnel.o等)をローディングし、ローディングしたモジュールを確認した後、OS上で、トンネルの通信に用いる擬似デバイス(例えば、tun10等)を生成・設定してIPIPトンネルを生成する(ステップS307)。
【0115】
また、通信装置10−1及び通信装置10−2のそれぞれにおいて、トンネル設定部240が、生成したIPIPトンネルで経由するネットワークに関するネットワークのルーティングの設定をして、双方向のIPIPトンネルが確立完了し、インタフェースA340−1においてIPIP over IPsecの通信が確立すると、IPIP over IPsecトンネルが確立完了する(ステップS308)。
【0116】
通信装置10−1では、SAのリキー処理を開始し(ステップS309)、ネゴシエーション部250が、NOTIFIY MESSEAGEでカプセル化モードがIPIPトンネルであることを記載したCREATE_CHILD_SA requestを通信装置10−2に送信する(ステップS310)。
【0117】
また、通信装置10−2のネゴシエーション部250は、NOTIFIY MESSAGEでカプセル化モードがIPIPトンネルであることを記載したCREATE_CHILD_SA responseを通信装置10−2に返信する(ステップS311)。
【0118】
ここで、図12では、EAP認証未使用時のシーケンスを示した。これは、EAP認証使用時は、IKE_AUTHのメッセージ送受信回数が異なり、NOTIFY MESSAGEを挿入する箇所が異なるためである。
【0119】
EAP認証使用時の場合には、IKE_AUTHのメッセージ送受信回数が異なるが、この場合、IKE_AUTHの第1メッセージと最終メッセージにカプセル化モードが「IPIPトンネル」であることを通知するNOTIFY MESSAGEを挿入することで実現することができる。
【0120】
(B−2)第2の実施形態の効果
上記のように、第2の実施形態によれば、鍵交換プロトコルとしてIKEv2を利用する場合でも、従来の方式であるGRE over IPsecトンネルよりも少ないオーバヘッドで暗号パケットを伝送することができるIPIP over Ipsecトンネルを確立することができる。
【0121】
また、GRE over IPsecトンネルの確立にオペレ一夕による2段階の操作が必要だったことに対し、IKEv2プロトコルを拡張することで1段階の手順でIPIP over IPsecトンネルを確立することができる。
【0122】
(C)第3の実施形態
次に、本発明のパケット転送システム、パケット転送方法、通信装置及びパケット転送プログラムの第2の実施形態を、図面を参照しながら説明する。
【0123】
(C−1)第3の実施形態の構成及び動作
第3の実施形態の構成も、第1の実施形態で説明した構成と同じであるから、第3の実施形態においても図1を用いて説明する。
【0124】
第3の実施形態が、第1の実施形態と異なる点は、カプセル化モードの通知を、鍵交換ネゴシエーション後に行う点である。
【0125】
従って、ネゴシエーション部240による鍵交換ネゴシエーション後に、トンネル設定部250がIPIPトンネルを生成するという手順を中心に説明する。
【0126】
なお、第3の実施形態では、鍵交換ネゴシエーション後に、カプセル化モードの通知を行うので、鍵交換プロトコルは、IPsecトンネルを確立できるプロトコルであれば、IKEv1、IKEv2等広く適用することができる。
【0127】
図13は、第3の実施形態のIPIP over IPsecトンネル確立処理を示すシーケンス図である。また、図14は、通信装置10における鍵交換処理のフローチャートである。
【0128】
まず、第1の実施形態と同様に、通信装置10−1では、ユーザインタフェース部100が、ユーザによる設定情報の入力を読み込み(ステップS501)、鍵交換管理部210の制御の下、ネゴシエーション部250が、対向装置である通信装置10−2との間で鍵交換ネゴシエーションを開始する(ステップS502)。
【0129】
このとき、通信装置10−1と通信装置10−2との間で鍵交換ネゴシエーションが失敗すると(ステップS503)、ネゴシエーションエラーとしてリソースの開放を行い(ステップS504)、処理は終了する。
【0130】
一方、鍵交換ネゴシエーションが成功すると、各通信装置10−1及び10−2では、入力された設定情報に基づいて、SP設定部220がSP設定を行い(ステップS505)、さらにSA設定部230がSA設定を行い(ステップS506)、鍵交換ネゴシエーションが完了する(ステップS507)。
【0131】
ここで、図13に示すように、通信装置10−1の鍵交換管理部210がIPsecトンネルの確立要求する場合(ステップS401)、通信装置10−1のネゴシエーション部250は、IPsecトンネルを確立する所定の鍵交換ネゴシエーションメッセージを通信装置10−2に送信する(ステップS402)。
【0132】
通信装置10−2のネゴシエーション部250は、IPsecトンネル確立要求を受信すると(ステップS403)、通信装置10−1に対して所定の鍵交換ネゴシエーションを返信する(ステップS404)。
【0133】
このように、通信装置10−1及び通信装置10−2間で、IPsecトンネルを確立する所定の鍵交換ネゴシエーションが完了し、通信装置10−1及び通信装置10−2では、トンネル設定部240が、IPsecトンネルを確立する(ステップS405)。
【0134】
通信装置10−1では、通信装置10−2との間で鍵交換ネゴシエーションが完了し、カプセル化モードがIPIPトンネルモードであることを確認する(ステップS508)。
【0135】
そうすると、通信装置10−1の鍵交換管理部210は、対向する通信装置10−2に対して、カプセル化モードがIPIPトンネルモードであることを通知する(図13のS407及びS408、図14のステップS509)。
【0136】
このとき、通信装置10−1は、IPsecトンネルが確立しているので、IPsecトンネルを通じてカプセル化モードの通知を行う。
【0137】
そして、通信装置10−1及び通信装置10−2のカプセル化モードがIPIPトンネルモードである場合(ステップS510)、トンネル設定部240は、第1の実施形態と同様に、IPIPトンネルモードに関する処理するモジュール(例えば、ipip.oやtunnel.o等)をローディングし、ローディングしたモジュールを確認した後、OS上で、トンネルの通信に用いる擬似デバイス(例えば、tun10等)を生成・設定してIPIPトンネルを生成する(図13のステップS409、図14のステップS511)。
【0138】
また、トンネル設定部240は、生成したIPIPトンネルで経由するネットワークに関するネットワークのルーティングの設定をする(ステップS512)。
【0139】
なお、ステップS510で、通信装置10−1及び通信装置10−2のカプセル化モードがIPIPトンネルモードでない場合、IPsec切断後、リソースを開放して、処理を終了する(ステップS513)。
【0140】
(C−2)第3の実施形態の効果
上記のように、第3の実施形態によれば、鍵交換ネゴシエーション後に、IPIPトンネルを確立することによっても、従来の方式であるGRE over IPsecトンネルよりも少ないオーバヘッドで暗号パケットを伝送することができるIPIP over IPsecトンネルを確立することができる。
【0141】
また、GRE over IPsecトンネルの確立にオペレータによる2段階の操作が必要だったことに対し、任意の鍵交換プロトコルであっても、生成した暗号トンネルを通じてカプセル化モードを対向装置に通知することで1段階の手順でIPIP over IPsecトンネルを確立することができる。
【0142】
(D)他の実施形態
第1の実施形態では、IKEv1の特定のペイロードにカプセル化モードを挿入して通知する方式であったが、対向装置に自装置のカプセル化モードを知らせることができれば、どのようなべイロードであっても良い。例えば、第1の実施形態では、IKEv1のMainモード第1メッセージを拡張する場合を例示したが、第1メッセージに限定されず、第3、第5メッセージであってもよい。
【0143】
第2の実施形態では、IKEv2の特定のペイロードにカプセル化モードを挿入して通知する方式であったが、対向装置に自装置のカプセル化モードを知らせることができれば、どのようなべイロードであっても良い。
【0144】
第1及び第2の実施形態では、IKEv1やIKEv2の特定のペイロードにカプセル化モードを挿入して通知する方式であったが、対向装置に自装置のカプセル化モードを知らせることができれば、どのような鍵交換プロトコルであっても良い。
【0145】
第1、第2、第3の実施形態では、カプセル化モードとしてIPIPトンネルを使用したが、「IPv6 over IPv4トンネル」「IPv4 over IPv6トンネル」「IPv6 over IPv6トンネル」等、どのようなトンネリングプロトコルでも良い。
【0146】
第1、第2、第3の実施形態では、カプセル化モードとしてIPIPトンネルを使用したが、「Ether over IP」レイヤ2トンネル等、レイヤ3トンネリングプロトコル以外でも良い。
【0147】
第1の実施形態では、IPIPトンネル自身に設定するアドレスを自装置のユーザインタフェースによって設定したが、mode−config(draft−dukes−ike−mode−cfg−02.txt)を使って対向装置から自動的に取得したアドレスを設定しても良い。
【0148】
第2の実施形態では、IPIPトンネル自身に設定するアドレスを自装置のユーザインタフェースによって設定したが、Configuration Payload(RFC4306 3.15章)を使って対向装置から自動的に取得したアドレスを設定しても良い。
【0149】
第1、第2、第3の実施形態では、マルチキャストパケットのようなトンネルモードのIPsec上で送受信することができないトラフィックを扱う際、GRE over IPsecの代わりにIPIP over IPsecを利用することができる。これにより、GREヘッダ分のオーバヘッドを軽減することができる。
【符号の説明】
【0150】
5…パケット転送システム、10−1及び10−2…通信装置、
100…ユーザインタフェース部、200…プログラム部、
210…鍵交換管理部、220…SP設定部、230…SA設定部、
240…トンネル設定部、250…ネゴシエーション部、
300…ネットワークスタック部、
310…SPD、320…SAD、330…パケット処理部、
340−1…インタフェース部(WAN側)、340−2…インタフェース部(LAN側)。
【技術分野】
【0001】
本発明は、パケット転送システム、パケット転送方法、通信装置及びパケット転送プログラムに関し、例えば、仮想プライベートネットワーク(VPN:Vertual Private Network)上でパケット転送を実現するパケット転送システム、パケット転送方法、通信装置及びパケット転送プログラムに適用し得るものである。
【背景技術】
【0002】
従来、仮想プライベートネットワークを用いて、VPNゲートウェイ装置間でパケット転送を実現する方法の1つとして、例えばGRE Over IPSec通信方式があり(特許文献1、非特許文献1参照)、この通信方式が広く利用されている。
【0003】
GRE(Generic Routing Encapsulation)とはトンネルプロトコルの1つであり、IETFのRFC1701、RFC2784で規定されている標準化技術である。
【0004】
GREトンネリングでは、トンネルの両端のVPNゲートウェイ装置が、任意のプロトコルをIP(Internet Protocol)トンネル内でカプセル化してパケット転送を行い、又受信したパケットのカプセル化の解除を行う。そのため、トンネルの両端のVPNゲートウェイ装置が、直結したパケット転送を行うように見える。
【0005】
しかし、GREは、暗号化機能を備えていない。そのため、ルーティングセキュリティが保たれても、データそのものに対するセキュリティが保たれていない。そこで、データの安全性を保つために、図2に示すようにGRE Over IPsecを用いている。
【0006】
ここで、IPsec(Security Architecture For Internet Protocol)は、暗号技術を用いてIPパケット単位のデータの改竄防止や秘匿性等を提供するプロトコルである。
【0007】
IPsecでは、AH(Authentication Header)とESP(Encapsulating Security Payload)といつ2つのセキュリティプロトコルが定義されている。AHは、パケットの認証機能を提供し、ESPは、パケットの認証機能と暗号化機能を提供するものであり、セキュリティポリシーに応じていずれかの機能を選択することができる。
【0008】
また、IPsecの動作モードとしては、トランスポートモードとトンネルモードとがある。トランスポートモードは、元のIPパケットのペイロードのみをIPsecのパケットにカプセル化するモードであり、トンネルモードは、元のIPパケットの全てをIPsecのパケットにカプセル化するモードである。
【0009】
GRE Over IPsec通信を行う際、VPNゲートウェイ装置間でGREトンネルを確立した後、そのGREトンネル上を流れるパケットをトランスポートモードのIPsecを利用して暗号化していた。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2008−306725号公報
【非特許文献】
【0011】
【非特許文献1】シスコシステムズ合同会社、テクニカルサポート、「GRE Over IPSecVPNを用いたLAN−to−LAN接続設定例」、2006年1月27日初版、インターネット検索、http://www.cisco.com/JP/support/public/loc/tac/100/1005663/gre_overipsec.shtml
【発明の概要】
【発明が解決しようとする課題】
【0012】
上述したGREトンネリングは、カプセル化されるプロトコルとして、IP、IPX、Apple Talk、CLNS、DECnet、VINES、Banyanなど様々なレイヤ3プロトコルを利用することができる。
【0013】
しかしながら、ネットワークプロトコルにIPのみを採用している環境において、従来のようなGRE over IPsec方式を行うと、GREトンネルの確立後に、暗号化処理を行うため、図3に示すように、転送されるパケットサイズはトンネルモードのIPsecパケットに比べて、GREヘッダサイズ(8Byte)分オーバヘッドが増加してしまうという問題がある。
【0014】
また、GER over IPsec通信を確立する際、オペレータ(VPNゲートウェイ装置)は、
(a)GREトンネル確立
(b)IKE等の鍵交換プロトコルの設定
と2段階の手順を踏まなければならなかった。
【0015】
そのため、従来のGRE over IPsec通信方式よりも、パケットのヘッダサイズを小さくして暗号パケットを伝送することができ、かつ、トンネル確立工程を少なくしてパケット伝送することができるパケット転送システム、パケット転送方法、通信装置及びパケット転送プログラムが求められている。
【課題を解決するための手段】
【0016】
かかる課題を解決するために、第1の本発明のパケット転送システムは、第1の通信装置と、第1の通信装置に対向する第2の通信装置との間で、所定の鍵交換プロトコルに従って転送パケットをカプセル化してパケット転送するパケット転送システムにおいて、(1)第1の通信装置が、鍵交換プロトコルによる第2の通信装置との間のネゴシエーションの際、自装置が要求するカプセル方式を第2の通信装置に通知するモード通知手段を有し、(2)第2の通信装置が、第1の通信装置の要求するカプセル方式を認識するモード認識手段を有し、(3)第1の通信装置及び第2の通信装置は、鍵交換プロトコルを用いて、カプセル方式によるトンネルを設定するトンネル設定手段を有することを特徴とする。
【0017】
第2の本発明のパケット転送方法は、第1の通信装置と、第1の通信装置に対向する第2の通信装置との間で、所定の鍵交換プロトコルに従って転送パケットをカプセル化してパケット転送するパケット転送方法において、(1)第1の通信装置が、鍵交換プロトコルによる第2の通信装置との間のネゴシエーションの際、自装置が要求するカプセル方式を第2の通信装置に通知するモード通知工程と、(2)第2の通信装置が、第1の通信装置の要求するカプセル方式を認識するモード認識工程と、(3)第1の通信装置及び第2の通信装置は、鍵交換プロトコルを用いて、カプセル方式によるトンネルを設定するトンネル設定工程とを有することを特徴とする。
【0018】
第3の本発明の通信装置は、対向装置との間で、所定の鍵交換プロトコルに従って転送パケットをカプセル化してパケット転送する通信装置において、(1)鍵交換プロトコルにより対向装置との間でネゴシエーションを行うネゴシエーション手段と、(2)ネゴシエーション手段による対向装置との間のネゴシエーションの際、自装置が要求するカプセル方式を対向装置に通知するモード通知手段と、(3)対向装置の要求するカプセル方式を認識するモード認識手段と、(4)鍵交換プロトコルを用いて、カプセル方式によるトンネルを設定するトンネル設定手段とを備えることを特徴とする。
【0019】
第4の本発明のパケット転送プログラムは、対向装置との間で、所定の鍵交換プロトコルに従って転送パケットをカプセル化してパケット転送する通信装置を、(1)鍵交換プロトコルにより対向装置との間でネゴシエーションを行うネゴシエーション手段、(2)ネゴシエーション手段による対向装置との間のネゴシエーションの際、自装置が要求するカプセル方式を対向装置に通知するモード通知手段、(3)対向装置の要求するカプセル方式を認識するモード認識手段、(4)鍵交換プロトコルを用いて、カプセル方式によるトンネルを設定するトンネル設定手段として機能させることを特徴とする。
【発明の効果】
【0020】
本発明によれば、従来方式(GRE over IPsec通信方式)よりも、パケットのヘッダサイズを小さくして暗号パケットを伝送することができ、かつ、トンネル確立工程を少なくしてパケット伝送することができる。
【図面の簡単な説明】
【0021】
【図1】第1の実施形態の通信装置の内部構成を示す内部構成図である。
【図2】従来のGRE over IPsec通信を説明する説明図である。
【図3】従来のGRE over IPsecのパケットサイズを示す図である。
【図4】第1の実施形態のパケット転送システムの構成を示す構成図である。
【図5】第1の実施形態のトンネル設定部の機能構成を示すブロック図である。
【図6】第1の実施形態のネゴシエーション部の機能構成を示すブロック図である。
【図7】第1の実施形態のセキュリティポリシーの構成例を示す構成図である。
【図8】第1の実施形態のセキュリティアソシエーションの構成例を示す構成図である。
【図9】第1の実施形態のIPIP over IPsecトンネル確立処理を示すシーケンス図である。
【図10】第1の実施形態の通信装置における処理を示すフローチャートである。
【図11】IKEv1のメッセージの構成を説明する説明図である。
【図12】第2の実施形態のIPIP over IPsecトンネル確立処理を示すシーケンス図である。
【図13】第3の実施形態のIPIP over IPsecトンネル確立処理を示すシーケンス図である。
【図14】第3の実施形態の通信装置における処理を示すフローチャートである。
【発明を実施するための形態】
【0022】
(A)第1の実施形態
以下では、本発明のパケット転送システム、パケット転送方法、通信装置及びパケット転送プログラムの第1の実施形態を、図面を参照しながら説明する。
【0023】
第1の実施形態は、本発明を利用して、例えば、ネットワークプロトコルとしてIPを採用する環境において、IPパケットをインターネットプロトコル(IP)でカプセル化してトンネル内をパケット転送するパケット転送システムのIPIPトンネル確立処理を実現する実施形態を例示する。
【0024】
なお、本発明は、後述するようにIPIPトンネルを確立するものであり、例えば、IETFのRFC1853「IP in Tunneling」の規定等に適用することができる。RFC1853では、IPヘッダを他のIPヘッダで単純に包むことが提案されており、IPIPトンネルのパケットのカプセル化形式が示されている。
【0025】
また、本発明は、IPヘッダを他のヘッダで包む観点で捉えるならば、RFC1853をモバイルIP(Mobie IP)向けに拡張したRFC2003「IP Encapsulation within IP」の規定等にも適用できる。
【0026】
(A−1)第1の実施形態の構成
図4は、第1の実施形態のパケット転送システム5の構成を示す構成図である。図4に示すように、ネットワーク20及びサブネットAに接続する通信装置10−1と、ネットワーク20及びサブネットBに接続する通信装置10−2を備える。
【0027】
ネットワーク20は、例えばインターネットに代表されるように、通信プロトコルをインターネットプロトコル(IP)とする通信網を想定し、例えば拠点間のパケット転送を行うWAN(Wide Area Network)が該当する。
【0028】
サブネットA及びサブネットBは、例えば通信プロトコルをインターネットプロトコル(IP)とする通信網を想定し、例えばローカルエリアネットワーク(LAN)等のサブネットワークが該当する。
【0029】
通信装置10−1及び通信装置10−2は、対向する通信装置との間で、所定のトンネルプロトコルに従ってトンネルを確立してパケット転送を行う通信装置であり、例えば、VPNゲートウェイ装置やVPNルータ装置などのパケット転送装置を適用することができる。
【0030】
また、通信装置10−1及び通信装置10−2は、暗号化処理に係る鍵交換プロトコルに従ったネゴシエーションの際に、自装置が利用するカプセル化方式(カプセル化モード)を対向装置に通知し、又自装置が対向装置から通知されたカプセル化方式に対応可能である場合にはその旨を応答し、鍵交換後に、上記カプセル化方式に従ったトンネルを確立するものである。
【0031】
ここで、第1の実施形態では、所定のトンネルプロトコルとしてIPsecを適用し、鍵交換プロトコルとしてIKEv1(Internet Key Exchange Protocol version 1)を適用するものとする。
【0032】
また、図4に示すように、ネットワークプロトコルとしてIPのみを利用する場合であり、通信装置10−1及び通信装置10−2が、IPIP over IPsecトンネルを確立する場合を中心に説明する。IPIP over IPsecトンネルを確立することで、自装置と対向装置との間で特定のパケットを暗号化することができる。
【0033】
図1は、通信装置10−1及び通信装置10−2の内部構成を示す内部構成図である。なお、通信装置10−1と通信装置10−2との内部構成は同一であり、共通する構成要素を説明する場合には「通信装置10」と示して説明する。
【0034】
図1において、通信装置10は、ユーザインタフェース部100、プログラム部200、ネットワークスタック部300を少なくとも有して構成される。
【0035】
ユーザインタフェース部100は、ユーザによる所定の設定情報の入力を受け付ける処理部又は装置である。ユーザインタフェース部100は、例えば、HTTP(HyperText Transfer Protocol)サーバ等を利用したGUI(Graphical User Interface)を適用することができ、IPIP over IPsecトンネルを確立するために必要な設定情報の入力を行う。
【0036】
ここで、IPIP over IPsecトンネルを確立するために必要な設定情報としては、主として、IPIPトンネル確立に係る設定情報と、鍵交換プロトコルの設定に係る設定情報とがある。
【0037】
IPIPトンネル確立に係る設定情報(トンネル確立設定情報)としては、具体的に、(a)対向装置のアドレス(IPアドレス等)、(b)自装置のアドレス(IPアドレス等)、(c)IPIPトンネルのアドレス(例えば、自装置のサブネット側ネットワークアドレスに属すアドレス等)、(d)IPIPトンネルに流したいトラフィックのルーティング設定(例えば、対向装置のサブネットを指定する情報等)等がある。
【0038】
また、鍵交換プロトコルの設定に係る設定情報(鍵交換設定情報)としては、具体的に、(e)対向装置のアドレス(IPアドレス等)、(f)自装置のアドレス(IPアドレス等)、(g)事前鍵共有方式(PSK:Pre Shared Key)認証用パフフレーズ(パスワード)又はRSA認証用デジタル証明書等がある。
【0039】
ユーザインタフェース部100は、上記のような設定情報の入力を受け付け、入力された設定情報をプログラム部200の鍵交換管理部210に与える。なお、鍵交換管理部210では、上記設定情報の入力について、「(a)と(e)」、「(b)と(f)」は同じ値が設定されるため、一方が設定されたら、他方に同じ値を自動挿入するようにする。これにより、オペレータの設定作業を軽減することができる。
【0040】
プログラム部200は、自装置(通信装置)10のOS(オペレーティングシステム)上で実行される各処理機能部を提供するものである。プログラム部200は、図1に示すように、鍵交換管理部210、SP(セキュリティポリシー)設定部220、SA(セキュリティアソシエーション)部230、トンネル設定部240、ネゴシエーション部250を少なくとも有する。
【0041】
鍵交換管理部210は、ユーザインタフェース部100からの設定情報に応じて、対向装置との間でネゴシエーション管理を行い、対向装置との間で安全に鍵交換処理を制御するものである。
【0042】
鍵交換管理部210は、ユーザインタフェース部100から受け取った鍵交換設定情報をSA設定部230に与え、SAD(セキュリティデータベース)320にセキュリティアソシエーションの設定情報の設定登録させるものである。
【0043】
また、鍵交換管理部210は、ユーザインタフェース部100から受け取ったトンネル確立設定情報をトンネル設定部240に与えるものである。これにより、トンネル設定部240は、トンネル確立設定情報を用いて対向装置との間でIPIPトンネルを確立することができる。
【0044】
また、鍵交換管理部210は、ユーザインタフェース部100からの設定情報に基づいて、今回のパケットをIPIP over IPsec通信で対向装置へ伝送する場合、IPIP over IPsecトンネルを対向装置との間で確立すべき旨の指示を、ネゴシエーション部250及びトンネル設定部240に行うものである。
【0045】
さらに、鍵交換管理部210は、対向装置がIPIP over IPsecトンネルの確立要求してきたことをネゴシエーション部250から受けると、トンネル設定部240に対して、カプセル化方式が一致するか否かを判断させ、IPIPトンネルを対向装置との間で確立すべき旨の指示を行うものである。
【0046】
SP設定部220は、ユーザインタフェース部100からの設定情報を鍵交換管理部210を通じて、ネットワークスタック部300のSPD(セキュリティポリシーデータベース)310にセキュリティポリシーを設定するものである。
【0047】
SA設定部230は、ユーザインタフェース部100からの設定情報(鍵交換設定情報)を鍵交換管理部210を通じて、ネットワークスタック部300のSAD(セキュリティアソシエーションデータベース)320にセキュリティアソシエーションを設定するものである。
【0048】
トンネル設定部240は、ユーザインタフェース部100からのトンネル確立設定情報に基づいて、自装置と対向装置との間で、カプセル化モードとしてIPIPトンネルモードを利用することを認識した後、IPIPトンネルの設定を行うものである。
【0049】
図5は、トンネル設定部240の機能構成を示すブロック図である。図5に示すように、トンネル設定部240は、IPIPトンネル処理起動設定部241、IPIPトンネル生成部242、ルーティング設定部243、トンネル確立設定情報格納部244を少なくとも有する。
【0050】
IPIPトンネル処理起動設定部241は、自装置と対向装置との間で、IPIPトンネルモードを利用すると認識すると、自装置のOS上でIPIPトンネルの生成に関する処理が行えるように設定するものである。
【0051】
例えば、自装置のOSがLinux(登録商標)の場合、IPIPトンネル処理起動設定部241は、IP/IPプロトコルデコーダ処理に関するモジュール(例えばipip.o等)やトンネル処理に関するモジュール(例えばnew_tunnel.o(tunnel.o)等)をローディングし、OS上でIPIPトンネルに関する処理が行えるようにする。
【0052】
また、IPIPトンネル処理起動設定部241は、上記のようにしてローティングしたIPIPトンネルの生成処理に関するモジュールが正常にローディングできたか否かを確認するものである。
【0053】
例えば、IPIPトンネル処理起動設定部241は、ロードされているモジュールの一覧にローディングしたモジュールが存在するか否かを確認することにより、正常のローディングできたか否かを判断する。
【0054】
IPIPトンネル生成部242は、IPIPトンネルの設定準備が整うと、OS上でトンネルの通信に用いる擬似デバイス(例えばtun10等)の生成及び設定を行い、トンネル確立設定情報を用いて対向装置との間でIPIPトンネルを生成するものである。
【0055】
例えば、IPIPトンネル生成部242は、擬似デバイスを生成すると、対向装置のIPアドレスと紐付けを行うことで、IPIPトンネルを生成する。
【0056】
ルーティング設定部242は、生成したIPIPトンネルで経由するネットワークに関するルーティングの設定を行うものである。
【0057】
例えば、ルーティング設定部243は、対向装置と通信するWANインタフェースである通信処理部のインタフェースAの通信経路を、生成したIPIPトンネルで経由するように設定する。
【0058】
トンネル確立設定情報格納部244は、トンネル確立設定情報を格納するものである。
【0059】
ネゴシエーション部250は、鍵交換管理部210の制御の下、パケット処理部330を介して、対向装置との間で、所定の鍵交換プロトコルに従ったネゴシエーションを行うものである。
【0060】
また、ネゴシエーション部250は、鍵交換管理部210から自装置が対向装置との愛で、IPIP over IPsecトンネルを確立すべく旨の指示を受けると、鍵交換プロトコルによるネゴシエーション(以下では、鍵交換ネゴシエーションともいう)の際に、自装置が利用するカプセル化方式を対向装置に通知(以下では、カプセル化モードの通知ともいう)するものである。
【0061】
なお、第1の実施形態では、鍵交換プロトコルとしてIKEv1を採用する場合を例示する。これは、鍵交換ネゴシエーションの手順に応じて、自装置が利用するカプセル化方式の通知手順が異なるため、第1の実施形態ではIKEv1の場合を例示し、第2の実施形態ではIKEv2の場合を例示する。
【0062】
ここで、カプセル化モードの通知タイミングは、鍵交換ネゴシエーション中の場合を例示するが、鍵交換ネゴシエーション中に限らず、鍵交換ネゴシエーション後に行うようにしても良い。つまり、鍵交換ネゴシエーション後にカプセル化モードの通知を行う場合、通常のトランスポートモードのIPsec暗号通信が可能なので、この暗号通信路を利用して対向装置にカプセル化モードを通知しあうことができるからである。
【0063】
図6は、ネゴシエーション部250の機能構成を示すブロック図である。図6に示すように、ネゴシエーション部250は、動作モード通知部251を少なくとも有する。
【0064】
動作モード通知部251は、自装置が利用するカプセル化モードを対向装置に通知するものである。また、受信したカプセル化モードの通知に対する応答を行うものである。動作モード通知部251は、鍵交換プロトコルのIKEv1を拡張して、ネゴシエーションの際に対向装置との間で、カプセル化モードの通知の授受を行う。
【0065】
次に、ネットワークスタック部300は、一般に、通信処理を実行するOS上のネットワークスタックである。ネットワークスタック部300は、図1に示すように、SPD310、SAD320、パケット処理部330、インタフェース部A340−1、インタフェース部B340−2を少なくとも有する。
【0066】
SPD310は、セキュリティポリシーを保持するデータベースである。図7は、SPD310に保持されるセキュリティポリシーの構成を説明する説明図である。なお図7は、例えば、通信装置10−1におけるセキュリティポリシーを例示する。
【0067】
図7において、セキュリティポリシーは、セレクタとして「ローカルIPアドレス」及び「リモートIPアドレス」、「動作」、IPsec「モード」、「SAリンク」等を項目として構成される。
【0068】
なお、必要に応じて、セレクタの欄に、ローカルポート番号、リモートポート番号、上位層プロトコル等を項目を有するようにしても良い。IPsecの欄に、セキュリティプロトコル、暗号化アルゴリズム、認証アルゴリズム等の項目を有するようにしても良い。
【0069】
「ローカルIPアドレス」は、自装置10−1の接続するサブネットに属する端末のアドレスを格納するものである。図7の場合、通信装置10−2の接続するサブネットBに属するネットワークアドレスとして、「192.168.1.0」〜「198.162.1.255」が設定されている。
【0070】
「リモートIPアドレス」は、対向装置の接続するサブネットに属する端末のアドレスを格納するものである。図7の場合、対向装置の1つとして通信端末10−2の接続するサブネットAに属するネットワークアドレスとして、「192.168.2.0」〜「198.162.2.255」が設定されている。
【0071】
「動作」は、動作モードを保持するものであり、例えば図7では、IPIP over IPsecとして動作する場合を例示する。
【0072】
「モード」は、IPsecを行う場合に、トランスポートモードとするか又はトンネルモードとするかを格納するものである。図7では、IPIP over IPsec通信を行う際には、トランスポートを選択することが設定されている。
【0073】
「SAリンク」は、SAD320におけるSAと対応付けるための識別子を格納するものである。図7では、鍵交換プロトコルとしてIKEv1を採用する「1」が設定されている。
【0074】
SAD320は、セキュリティアソシエーションを保持するデータベースである。図8は、SAD320に保持されるセキュリティアソシエーションの構成を説明する説明図である。なお図8は、例えば、通信装置10−1におけるセキュリティアソシエーションを例示する。
【0075】
図8において、セキュリティアソシエーションは、「SPI」、「モード」、「セキュリティプロトコル」、「暗号パラメータ」、「認証パラメータ」等を項目として構成される。
【0076】
「SPI」は、セキュリティアソシエーションを一意に識別する識別子を格納するものである。
【0077】
「モード」は、IPsecを行う場合に、トランスポートモードとするか又はトンネルモードとするかを格納するものである。
【0078】
「セキュリティプロトコル」は、セキュリティプロトコルを格納するものであり、例えば、AH、ESPなどの種別が格納される。
【0079】
「暗号パラメータ」は、暗号アルゴリズムや鍵などを格納するものである。
【0080】
「認証パラメータ」は、認証アルゴリズムや鍵などを格納するものである。
【0081】
パケット処理部330は、パケットの送信処理、受信・解析処理、転送処理、暗号化・復号処理等を行う処理部又は装置である。パケット処理部330は、パケットの送受信時に、SPD310から当該パケットのセキュリティポリシーを検索し、セキュリティポリシーがある場合には、セキュリティポリシーに紐付けされたセキュリティアソシエーションをSAD320から検索し、セキュリティポリシーに紐付けされた鍵を用いて、暗号化・復号処理を行い、パケット転送を行う。
【0082】
インタフェース部A340−1は、ネットワーク20に接続する通信インタフェースであり、インタフェース部B340−2は、サブネットA又はBに接続する通信インタフェースである。
【0083】
(A−2)第1の実施形態の動作
次に、第1の実施形態のパケット転送処理の動作を図面を参照しながら説明する。
【0084】
図9は、第1の実施形態のIPIP over IPsecトンネル確立処理を示すシーケンス図である。また、図10は、通信装置10における鍵交換処理のフローチャートである。
【0085】
なお、図9では、通信装置10−1が、通信10−2を対向装置として、鍵交換プロトコルにIKEv1を拡張して、IKEv1のMainモードを利用して、自動的にIPIP over IPsecトンネルを確立する場合を例示する。
【0086】
まず、通信装置10−1において、ユーザインタフェース部100は、ユーザによる設定情報の入力を読み込み(ステップS201)、鍵交換管理部210の制御の下、根後シーエーション部250が、対向装置である通信装置10−2との間で鍵交換ネゴシエーションを開始する(ステップS202)。
【0087】
鍵交換管理部210は、入力した設定情報に基づいて自装置のカプセル化モードを確認し、カプセル化モードがIPIPトンネルモードである場合には(ステップS203)、IPIPトンネルモードを要求することを、対向装置10−2とのネゴシエーション中に通知する(ステップS204)。なお、IPIPトンネルモードでない場合には、入力した設定情報に基づく鍵交換処理が行われる。
【0088】
このとき、通信装置10−1と通信装置10−2との間で鍵交換ネゴシエーションが失敗すると(ステップS203)、ネゴシエーションエラーとしてリソースの開放を行い(ステップS212)、処理は終了する。
【0089】
一方、鍵交換ネゴシエーションが成功すると、各通信装置10−1及び10−2では、入力された設定情報に基づいて、SP設定部220がSP設定を行い(ステップS206)、さらにSA設定部230がSA設定を行い(ステップS207)、鍵交換ネゴシエーションが完了する(ステップS208)。
【0090】
ここで、図9を用いて、鍵交換ネゴシエーション中にIPIP over IPsecトンネルを確立する処理を説明する。
【0091】
図9に示すように、鍵交換管理部210がIPIP over IPsecトンネルの確立要求する場合(ステップS101)、ネゴシエーション部250は、IKEv1のMainモードで、自装置が利用するカプセル化モードがIPIPトンネルモードであることを記載したMainモード第1メッセージを通信装置10−2に送信する(ステップS102)。
【0092】
カプセル化モードの通知は、例えば、RFC2407の4.5章で定義されているカプセル化モード(Encapsulation Mode)を拡張して、カプセル化モードがIPIPトンネルモードであることを通知する。
【0093】
例えば、図11(A)は、IKEv1におけるメッセージの構成例を示す構成図であり、図11(B)は、メッセージに含まれるTransformペイロードの構成例を示す構成図である。ネゴシエーション部250は、Mainモード第1メッセージのTransformペイロードのSA Attributes(SA属性)に、カプセル化モードがIPIPトンネルモードであること示す情報(例えば、属性値等)を記載することで通信装置10−2に通知する方法を用いることができる。つまり、IKEv1プロトコルを拡張して、鍵交換ネゴシエーション中にカプセル化モードがIPIPトンネルモードであることを通知する。
【0094】
通信装置10−2では、通信装置10−1からのMainモード第1メッセージを受信し、ネゴシエーション部250が、通信装置10−1のカプセル化モードとしてIPIPトンネルモードを要求することを認識し(ステップS103)、対応可能である場合に、通信装置10−2のカプセル化モードをIPIPトンネルモードとするMainモード第2メッセージを通信装置10−1に応答する(ステップS104)。
【0095】
このときも、例えば、ネゴシエーション部250は、Mainモード第2メッセージのTransformペイロードのSA Attributesに、カプセル化モードがIPIPトンネルモードであること示す情報を記載して通信装置10−1に返信する。
【0096】
その後、通信装置10−1と通信装置10−2との間で、通常のIKEv1の鍵交換ネゴシエーションを行う(ステップS105)。
【0097】
通信装置10−1と通信装置10−2との間で鍵交換ネゴシエーションが完了し、カプセル化モードがIPIPトンネルモードであることを確認する(ステップS209)。
【0098】
トンネル設定部240は、IPIPトンネルモードに関する処理するモジュール(例えば、ipip.oやtunnel.o等)をローディングし、ローディングしたモジュールを確認した後、OS上で、トンネルの通信に用いる擬似デバイス(例えば、tun10等)を生成・設定してIPIPトンネルを生成する(図9のステップS106、図10のステップS210)。
【0099】
また、トンネル設定部240は、生成したIPIPトンネルで経由するネットワークに関するネットワークのルーティングの設定をする(ステップS211)。
【0100】
これにより、通信装置10−1と通信装置10−2との間で、双方向のIPIPトンネルが確立完了し、インタフェースA340−1においてIPIP over IPsecの通信が確立すると、IPIP over IPsecトンネルが確立完了する(ステップS107)。
【0101】
(A−3)第1の実施形態の効果
上記のように、第1の実施形態によれば、従来の方式であるGRE over IPsecトンネルよりも少ないオーバヘッドで暗号パケットを伝送することができるIPIP over IPsecトンネルを確立することができる。
【0102】
また、第1の実施形態によれば、GRE over IPsecトンネルの確立にオペレータによる2段階の操作が必要だったことに対し、IKEv1プロトコルを拡張することで1段階の手順でIPIP over IPsecトンネルを確立することができる。
【0103】
(B)第2の実施形態
次に、本発明のパケット転送システム、パケット転送方法、通信装置及びパケット転送プログラムの第2の実施形態を、図面を参照しながら説明する。
【0104】
(B−1)第2の実施形態の構成及び動作
第2の実施形態の構成は、第1の実施形態で説明した構成と同じであるから、第2の実施形態においても図1を用いて説明する。
【0105】
第2の実施形態が、第1の実施形態と異なる点は、鍵交換プロトコルとしてIKEv2(Internet Key Exchange Protocol version 2)を採用する点であり、ネゴシエーション部250が、IETFのRFC4307に規定されているIKEv2を拡張して、カプセル化モードの通知を行う点である。
【0106】
従って、以下では、IKEv2を利用した場合の自装置と対向装置との間のIPIP over IPsecトンネル確立処理の動作を中心に説明する。
【0107】
図12は、第2の実施形態のIPIP over IPsecトンネル確立処理を示すシーケンス図である。なお、図12は、拡張認証プロトコル(EAP)による認証未使用時のシーケンス図である。
【0108】
通信装置10−1の鍵交換管理部210は、第1の実施形態と同様に、IPIP over IPsecトンネルの確立要求する場合(ステップS301)、後述するように、通信装置10−2との間の鍵交換ネゴシエーションの際に、カプセル化モードの通知を行う。
【0109】
通信装置10−1のネゴシエーション部250は、IKEv2のIKE_SA_INIT第1メッセージを通信装置10−2に送信する(ステップS302)。
【0110】
通信装置10−2のネゴシエーション部250は、通信装置10−1から受信したIKE_SA_INIT第1メッセージに基づいて、通信装置10−1がIPIP over IPsecトンネルの確立を要求することを認識し(ステップS303)、IKE_SA_INIT第2メッセージを通信装置10−1に返信する(ステップS304)。
【0111】
通信装置10−1のネゴシエーション部250は、NOTIFIY MESSEAGEでカプセル化モードがIPIPトンネルであることを記載したIKE_AUTH第1メッセージを通信装置10−2に送信する(ステップS305)。
【0112】
また、通信装置10−2のネゴシエーション部250は、NOTIFIY MESSAGEでカプセル化モードがIPIPトンネルであることを記載したIKE_AUTH第2メッセージを通信装置10−2に返信する(ステップS306)。
【0113】
ここで、カプセル化モードの通知は、RFC4306の3.10.1章で定義されているNOTIFY MESSAGEを拡張して、IPIPトンネルモードであることを通知する方法を適用することができる。
【0114】
その後、通信装置10−1及び通信装置10−2では、トンネル設定部240が、第1の実施形態と同様にして、IPIPトンネルモードに関する処理するモジュール(例えば、ipip.oやtunnel.o等)をローディングし、ローディングしたモジュールを確認した後、OS上で、トンネルの通信に用いる擬似デバイス(例えば、tun10等)を生成・設定してIPIPトンネルを生成する(ステップS307)。
【0115】
また、通信装置10−1及び通信装置10−2のそれぞれにおいて、トンネル設定部240が、生成したIPIPトンネルで経由するネットワークに関するネットワークのルーティングの設定をして、双方向のIPIPトンネルが確立完了し、インタフェースA340−1においてIPIP over IPsecの通信が確立すると、IPIP over IPsecトンネルが確立完了する(ステップS308)。
【0116】
通信装置10−1では、SAのリキー処理を開始し(ステップS309)、ネゴシエーション部250が、NOTIFIY MESSEAGEでカプセル化モードがIPIPトンネルであることを記載したCREATE_CHILD_SA requestを通信装置10−2に送信する(ステップS310)。
【0117】
また、通信装置10−2のネゴシエーション部250は、NOTIFIY MESSAGEでカプセル化モードがIPIPトンネルであることを記載したCREATE_CHILD_SA responseを通信装置10−2に返信する(ステップS311)。
【0118】
ここで、図12では、EAP認証未使用時のシーケンスを示した。これは、EAP認証使用時は、IKE_AUTHのメッセージ送受信回数が異なり、NOTIFY MESSAGEを挿入する箇所が異なるためである。
【0119】
EAP認証使用時の場合には、IKE_AUTHのメッセージ送受信回数が異なるが、この場合、IKE_AUTHの第1メッセージと最終メッセージにカプセル化モードが「IPIPトンネル」であることを通知するNOTIFY MESSAGEを挿入することで実現することができる。
【0120】
(B−2)第2の実施形態の効果
上記のように、第2の実施形態によれば、鍵交換プロトコルとしてIKEv2を利用する場合でも、従来の方式であるGRE over IPsecトンネルよりも少ないオーバヘッドで暗号パケットを伝送することができるIPIP over Ipsecトンネルを確立することができる。
【0121】
また、GRE over IPsecトンネルの確立にオペレ一夕による2段階の操作が必要だったことに対し、IKEv2プロトコルを拡張することで1段階の手順でIPIP over IPsecトンネルを確立することができる。
【0122】
(C)第3の実施形態
次に、本発明のパケット転送システム、パケット転送方法、通信装置及びパケット転送プログラムの第2の実施形態を、図面を参照しながら説明する。
【0123】
(C−1)第3の実施形態の構成及び動作
第3の実施形態の構成も、第1の実施形態で説明した構成と同じであるから、第3の実施形態においても図1を用いて説明する。
【0124】
第3の実施形態が、第1の実施形態と異なる点は、カプセル化モードの通知を、鍵交換ネゴシエーション後に行う点である。
【0125】
従って、ネゴシエーション部240による鍵交換ネゴシエーション後に、トンネル設定部250がIPIPトンネルを生成するという手順を中心に説明する。
【0126】
なお、第3の実施形態では、鍵交換ネゴシエーション後に、カプセル化モードの通知を行うので、鍵交換プロトコルは、IPsecトンネルを確立できるプロトコルであれば、IKEv1、IKEv2等広く適用することができる。
【0127】
図13は、第3の実施形態のIPIP over IPsecトンネル確立処理を示すシーケンス図である。また、図14は、通信装置10における鍵交換処理のフローチャートである。
【0128】
まず、第1の実施形態と同様に、通信装置10−1では、ユーザインタフェース部100が、ユーザによる設定情報の入力を読み込み(ステップS501)、鍵交換管理部210の制御の下、ネゴシエーション部250が、対向装置である通信装置10−2との間で鍵交換ネゴシエーションを開始する(ステップS502)。
【0129】
このとき、通信装置10−1と通信装置10−2との間で鍵交換ネゴシエーションが失敗すると(ステップS503)、ネゴシエーションエラーとしてリソースの開放を行い(ステップS504)、処理は終了する。
【0130】
一方、鍵交換ネゴシエーションが成功すると、各通信装置10−1及び10−2では、入力された設定情報に基づいて、SP設定部220がSP設定を行い(ステップS505)、さらにSA設定部230がSA設定を行い(ステップS506)、鍵交換ネゴシエーションが完了する(ステップS507)。
【0131】
ここで、図13に示すように、通信装置10−1の鍵交換管理部210がIPsecトンネルの確立要求する場合(ステップS401)、通信装置10−1のネゴシエーション部250は、IPsecトンネルを確立する所定の鍵交換ネゴシエーションメッセージを通信装置10−2に送信する(ステップS402)。
【0132】
通信装置10−2のネゴシエーション部250は、IPsecトンネル確立要求を受信すると(ステップS403)、通信装置10−1に対して所定の鍵交換ネゴシエーションを返信する(ステップS404)。
【0133】
このように、通信装置10−1及び通信装置10−2間で、IPsecトンネルを確立する所定の鍵交換ネゴシエーションが完了し、通信装置10−1及び通信装置10−2では、トンネル設定部240が、IPsecトンネルを確立する(ステップS405)。
【0134】
通信装置10−1では、通信装置10−2との間で鍵交換ネゴシエーションが完了し、カプセル化モードがIPIPトンネルモードであることを確認する(ステップS508)。
【0135】
そうすると、通信装置10−1の鍵交換管理部210は、対向する通信装置10−2に対して、カプセル化モードがIPIPトンネルモードであることを通知する(図13のS407及びS408、図14のステップS509)。
【0136】
このとき、通信装置10−1は、IPsecトンネルが確立しているので、IPsecトンネルを通じてカプセル化モードの通知を行う。
【0137】
そして、通信装置10−1及び通信装置10−2のカプセル化モードがIPIPトンネルモードである場合(ステップS510)、トンネル設定部240は、第1の実施形態と同様に、IPIPトンネルモードに関する処理するモジュール(例えば、ipip.oやtunnel.o等)をローディングし、ローディングしたモジュールを確認した後、OS上で、トンネルの通信に用いる擬似デバイス(例えば、tun10等)を生成・設定してIPIPトンネルを生成する(図13のステップS409、図14のステップS511)。
【0138】
また、トンネル設定部240は、生成したIPIPトンネルで経由するネットワークに関するネットワークのルーティングの設定をする(ステップS512)。
【0139】
なお、ステップS510で、通信装置10−1及び通信装置10−2のカプセル化モードがIPIPトンネルモードでない場合、IPsec切断後、リソースを開放して、処理を終了する(ステップS513)。
【0140】
(C−2)第3の実施形態の効果
上記のように、第3の実施形態によれば、鍵交換ネゴシエーション後に、IPIPトンネルを確立することによっても、従来の方式であるGRE over IPsecトンネルよりも少ないオーバヘッドで暗号パケットを伝送することができるIPIP over IPsecトンネルを確立することができる。
【0141】
また、GRE over IPsecトンネルの確立にオペレータによる2段階の操作が必要だったことに対し、任意の鍵交換プロトコルであっても、生成した暗号トンネルを通じてカプセル化モードを対向装置に通知することで1段階の手順でIPIP over IPsecトンネルを確立することができる。
【0142】
(D)他の実施形態
第1の実施形態では、IKEv1の特定のペイロードにカプセル化モードを挿入して通知する方式であったが、対向装置に自装置のカプセル化モードを知らせることができれば、どのようなべイロードであっても良い。例えば、第1の実施形態では、IKEv1のMainモード第1メッセージを拡張する場合を例示したが、第1メッセージに限定されず、第3、第5メッセージであってもよい。
【0143】
第2の実施形態では、IKEv2の特定のペイロードにカプセル化モードを挿入して通知する方式であったが、対向装置に自装置のカプセル化モードを知らせることができれば、どのようなべイロードであっても良い。
【0144】
第1及び第2の実施形態では、IKEv1やIKEv2の特定のペイロードにカプセル化モードを挿入して通知する方式であったが、対向装置に自装置のカプセル化モードを知らせることができれば、どのような鍵交換プロトコルであっても良い。
【0145】
第1、第2、第3の実施形態では、カプセル化モードとしてIPIPトンネルを使用したが、「IPv6 over IPv4トンネル」「IPv4 over IPv6トンネル」「IPv6 over IPv6トンネル」等、どのようなトンネリングプロトコルでも良い。
【0146】
第1、第2、第3の実施形態では、カプセル化モードとしてIPIPトンネルを使用したが、「Ether over IP」レイヤ2トンネル等、レイヤ3トンネリングプロトコル以外でも良い。
【0147】
第1の実施形態では、IPIPトンネル自身に設定するアドレスを自装置のユーザインタフェースによって設定したが、mode−config(draft−dukes−ike−mode−cfg−02.txt)を使って対向装置から自動的に取得したアドレスを設定しても良い。
【0148】
第2の実施形態では、IPIPトンネル自身に設定するアドレスを自装置のユーザインタフェースによって設定したが、Configuration Payload(RFC4306 3.15章)を使って対向装置から自動的に取得したアドレスを設定しても良い。
【0149】
第1、第2、第3の実施形態では、マルチキャストパケットのようなトンネルモードのIPsec上で送受信することができないトラフィックを扱う際、GRE over IPsecの代わりにIPIP over IPsecを利用することができる。これにより、GREヘッダ分のオーバヘッドを軽減することができる。
【符号の説明】
【0150】
5…パケット転送システム、10−1及び10−2…通信装置、
100…ユーザインタフェース部、200…プログラム部、
210…鍵交換管理部、220…SP設定部、230…SA設定部、
240…トンネル設定部、250…ネゴシエーション部、
300…ネットワークスタック部、
310…SPD、320…SAD、330…パケット処理部、
340−1…インタフェース部(WAN側)、340−2…インタフェース部(LAN側)。
【特許請求の範囲】
【請求項1】
第1の通信装置と、上記第1の通信装置に対向する第2の通信装置との間で、所定の鍵交換プロトコルに従って転送パケットをカプセル化してパケット転送するパケット転送システムにおいて、
上記第1の通信装置が、上記鍵交換プロトコルによる上記第2の通信装置との間のネゴシエーションの際、自装置が要求するカプセル方式を上記第2の通信装置に通知するモード通知手段を有し、
上記第2の通信装置が、上記第1の通信装置の要求するカプセル方式を認識するモード認識手段を有し、
上記第1の通信装置及び上記第2の通信装置は、上記鍵交換プロトコルを用いて、上記カプセル方式によるトンネルを設定するトンネル設定手段を有する
ことを特徴とするパケット転送システム。
【請求項2】
上記モード通知手段が、上記鍵交換プロトコルによるネゴシエーション中に、自装置が要求するカプセル方式を上記第2の通信装置に通知することを特徴とする請求項1に記載のパケット転送システム。
【請求項3】
上記モード通知手段が、上記鍵交換プロトコルによるネゴシエーション後に、上記鍵交換プロトコルによる暗証通信確立後に、自装置が要求するカプセル方式を上記第2の通信装置に通知することを特徴とする請求項1に記載のパケット転送システム。
【請求項4】
上記第1の通信装置及び上記第2の通信装置は、
上記鍵交換プロトコルによる鍵交換処理に必要な鍵交換設定情報を設定する鍵交換設定情報設定手段と、
上記カプセル方式によるトンネルを確立するために必要なトンネル確立設定情報を設定するトンネル確立設定手段と
を備え、
上記トンネル確立設定手段及び上記鍵交換設定情報設定手段が、上記トンネル確立設定情報と上記鍵交換設定情報との間で重複する設定項目を相互に補完することを特徴とする請求項1〜3のいずれかに記載のパケット転送システム。
【請求項5】
上記鍵交換プロトコルがIPsecであり、上記トンネル設定手段が、IPsecのトランスポートモードで上記トンネルを確立することを特徴とする請求項1〜4のいずれかに記載のパケット転送システム。
【請求項6】
第1の通信装置と、上記第1の通信装置に対向する第2の通信装置との間で、所定の鍵交換プロトコルに従って転送パケットをカプセル化してパケット転送するパケット転送方法において、
上記第1の通信装置が、上記鍵交換プロトコルによる上記第2の通信装置との間のネゴシエーションの際、自装置が要求するカプセル方式を上記第2の通信装置に通知するモード通知工程と、
上記第2の通信装置が、上記第1の通信装置の要求するカプセル方式を認識するモード認識工程と、
上記第1の通信装置及び上記第2の通信装置は、上記鍵交換プロトコルを用いて、上記カプセル方式によるトンネルを設定するトンネル設定工程と
を有することを特徴とするパケット転送方法。
【請求項7】
対向装置との間で、所定の鍵交換プロトコルに従って転送パケットをカプセル化してパケット転送する通信装置において、
上記鍵交換プロトコルにより上記対向装置との間でネゴシエーションを行うネゴシエーション手段と、
上記ネゴシエーション手段による上記対向装置との間のネゴシエーションの際、自装置が要求するカプセル方式を上記対向装置に通知するモード通知手段と、
上記対向装置の要求するカプセル方式を認識するモード認識手段と、
上記鍵交換プロトコルを用いて、上記カプセル方式によるトンネルを設定するトンネル設定手段と
を備えることを特徴とする通信装置。
【請求項8】
対向装置との間で、所定の鍵交換プロトコルに従って転送パケットをカプセル化してパケット転送する通信装置を、
上記鍵交換プロトコルにより上記対向装置との間でネゴシエーションを行うネゴシエーション手段、
上記ネゴシエーション手段による上記対向装置との間のネゴシエーションの際、自装置が要求するカプセル方式を上記対向装置に通知するモード通知手段、
上記対向装置の要求するカプセル方式を認識するモード認識手段、
上記鍵交換プロトコルを用いて、上記カプセル方式によるトンネルを設定するトンネル設定手段
として機能させることを特徴とするパケット転送プログラム。
【請求項1】
第1の通信装置と、上記第1の通信装置に対向する第2の通信装置との間で、所定の鍵交換プロトコルに従って転送パケットをカプセル化してパケット転送するパケット転送システムにおいて、
上記第1の通信装置が、上記鍵交換プロトコルによる上記第2の通信装置との間のネゴシエーションの際、自装置が要求するカプセル方式を上記第2の通信装置に通知するモード通知手段を有し、
上記第2の通信装置が、上記第1の通信装置の要求するカプセル方式を認識するモード認識手段を有し、
上記第1の通信装置及び上記第2の通信装置は、上記鍵交換プロトコルを用いて、上記カプセル方式によるトンネルを設定するトンネル設定手段を有する
ことを特徴とするパケット転送システム。
【請求項2】
上記モード通知手段が、上記鍵交換プロトコルによるネゴシエーション中に、自装置が要求するカプセル方式を上記第2の通信装置に通知することを特徴とする請求項1に記載のパケット転送システム。
【請求項3】
上記モード通知手段が、上記鍵交換プロトコルによるネゴシエーション後に、上記鍵交換プロトコルによる暗証通信確立後に、自装置が要求するカプセル方式を上記第2の通信装置に通知することを特徴とする請求項1に記載のパケット転送システム。
【請求項4】
上記第1の通信装置及び上記第2の通信装置は、
上記鍵交換プロトコルによる鍵交換処理に必要な鍵交換設定情報を設定する鍵交換設定情報設定手段と、
上記カプセル方式によるトンネルを確立するために必要なトンネル確立設定情報を設定するトンネル確立設定手段と
を備え、
上記トンネル確立設定手段及び上記鍵交換設定情報設定手段が、上記トンネル確立設定情報と上記鍵交換設定情報との間で重複する設定項目を相互に補完することを特徴とする請求項1〜3のいずれかに記載のパケット転送システム。
【請求項5】
上記鍵交換プロトコルがIPsecであり、上記トンネル設定手段が、IPsecのトランスポートモードで上記トンネルを確立することを特徴とする請求項1〜4のいずれかに記載のパケット転送システム。
【請求項6】
第1の通信装置と、上記第1の通信装置に対向する第2の通信装置との間で、所定の鍵交換プロトコルに従って転送パケットをカプセル化してパケット転送するパケット転送方法において、
上記第1の通信装置が、上記鍵交換プロトコルによる上記第2の通信装置との間のネゴシエーションの際、自装置が要求するカプセル方式を上記第2の通信装置に通知するモード通知工程と、
上記第2の通信装置が、上記第1の通信装置の要求するカプセル方式を認識するモード認識工程と、
上記第1の通信装置及び上記第2の通信装置は、上記鍵交換プロトコルを用いて、上記カプセル方式によるトンネルを設定するトンネル設定工程と
を有することを特徴とするパケット転送方法。
【請求項7】
対向装置との間で、所定の鍵交換プロトコルに従って転送パケットをカプセル化してパケット転送する通信装置において、
上記鍵交換プロトコルにより上記対向装置との間でネゴシエーションを行うネゴシエーション手段と、
上記ネゴシエーション手段による上記対向装置との間のネゴシエーションの際、自装置が要求するカプセル方式を上記対向装置に通知するモード通知手段と、
上記対向装置の要求するカプセル方式を認識するモード認識手段と、
上記鍵交換プロトコルを用いて、上記カプセル方式によるトンネルを設定するトンネル設定手段と
を備えることを特徴とする通信装置。
【請求項8】
対向装置との間で、所定の鍵交換プロトコルに従って転送パケットをカプセル化してパケット転送する通信装置を、
上記鍵交換プロトコルにより上記対向装置との間でネゴシエーションを行うネゴシエーション手段、
上記ネゴシエーション手段による上記対向装置との間のネゴシエーションの際、自装置が要求するカプセル方式を上記対向装置に通知するモード通知手段、
上記対向装置の要求するカプセル方式を認識するモード認識手段、
上記鍵交換プロトコルを用いて、上記カプセル方式によるトンネルを設定するトンネル設定手段
として機能させることを特徴とするパケット転送プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2011−77887(P2011−77887A)
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願番号】特願2009−228013(P2009−228013)
【出願日】平成21年9月30日(2009.9.30)
【出願人】(308033722)株式会社OKIネットワークス (165)
【Fターム(参考)】
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願日】平成21年9月30日(2009.9.30)
【出願人】(308033722)株式会社OKIネットワークス (165)
【Fターム(参考)】
[ Back to top ]