IPsec

事業所間でのVPN接続に向いているIPsec(IP Security Architecture)について説明しています。

IPsecとは

IPsecはレイヤー3プロトコルで、主に事業所間のVPNとして使われます。

IPsecによる事業所間通信

この事業所間のVPNは、拠点間接続VPNと呼ばれています。

IPsecは、2段階のフェーズによりトンネルを確保して通信を行います。この2段階のフェーズをIKE(Internet Key Exchange)と言います。

IKE

IKEには、フェーズ1とフェーズ2の2段階があります。

IKEフェーズ1の目的の1つは、フェーズ2で使う共通鍵を作ることです。共通鍵の作り方は、Diffie-Hellman鍵共有という方式が主体です。Diffie-Hellman鍵共有は、誰でも知っている数字を基にAだけが知っている数字とBだけが知っている数字を組み合わせて双方で同じ数字、つまり共通鍵を作ります。共通鍵自体は交換せず、計算で共通鍵を共有します。

Diffie-Hellman鍵共有の仕組み

青字の数字はDHグループと言われる数字で、どのグループを使うか通信中に決めます。

また、Aの数字はA側しか知らず、Bの数字はB側しか知らないのですが、計算の順番は異なっても最終的には両方の装置で同じ数字を使って計算することで、計算結果が同じになります。

例えば、第三者が傍受した場合でも違う数字で計算すると同じ結果にならないため共通鍵はわかりません。

Diffie-Hellman鍵共有の機密性

傍受した数字を利用して、AやBの秘密の数字を逆算することもできない仕組みにもなっています。

また、フェーズ1ではデジタル証明書を使うか、事前に双方で設定した共有鍵を基に相手を認証します。事前共有鍵を使う場合はPPTPで示したようにハッシュを用いて認証を行い、ネットワーク上に共有鍵がそのまま流れないようにします。

フェーズ2では、フェーズ1で作成した共通鍵を基に自身でIPsec通信時に使えるパラメタを双方暗号化して送って、合意します。

IKEフェーズ2

また、それらのパタメタやフェーズ1の共通鍵を基に、もしくは新たにDiffie-Hellman鍵共有を行ってIPsecで利用する共通鍵を作成します。

ISAKMP SAとIPsec SA

フェーズ1によって、フェーズ2で利用する通信路が確保されますが、これを、ISAKMP SA(Internet Security Association and Key Management Protocol Security Association)と言います。

ISAKMP SAを利用して確保された実際の通信で使う通信路は、IPsec SAと言います。IPsec SAは片方向通信のため、送受信で2つのIPsec SAが確保されます。

1つのISAKMP SAと2つのIPsec SA

ISAKMP SAは、IPsec SAが確保された後も残すことができます。この残されたISAKMP SAによって、定期的に共通鍵を変更して解読される危険を少なくすることが可能です。

IKEv1とIKEv2

IKEには、IKEv1(バージョン1)とIKEv2(バージョン2)があります。

IKE時には認証や暗号化のため、ハッシュと共通鍵暗号方式のアルゴリズムを決定します。

事業所間VPNでは不特定多数とVPN接続を行う訳ではないため、双方の機器がサポートする中で最も安全なハッシュ、共通鍵暗号方式のアルゴリズムを有効にすることで、よりセキュアな通信だけ許可することができます。

この決定方法が、IKEv1とv2では以下のような違いがあります。

IKEv1
IKEv1では、認証にSHA2、共通鍵暗号方式にAESなどと明示的に設定します。VPN接続先が複数あっても、通常は接続先単位で設定可能なため、別の装置がAESをサポートしていない場合は3DESなど他のアルゴリズムを有効にできます。
IKEv2
IKEv2では、接続する装置間でネゴシエーションを行い、双方がサポートする最もセキュリティが高い認証や暗号化方式を決定して利用します。つまり、IKEv2では認証や暗号化方式を設定する必要がありません。

それぞれのアルゴリズムについては、VPNの「ハッシュ」、及び「暗号方式」をご参照ください。

メインモードとアグレッシブモード

IKE接続時には、メインモードとアグレッシブモードがあります。

メインモード
双方で固定のグローバルアドレスを持っている時に使えるモードです。どちらからでも接続を開始することができます。 メインモード
アグレッシブモード
片方だけがグローバルアドレスを持っている時に使うモードです。グローバルアドレスが変わる方からだけ、固定のグローバルアドレスを持っている方に対して接続を開始することができます。 アグレッシブモード

設定は、メインモードではどちらも相手のグローバルアドレスを設定します。アグレッシブモードでは、グローバルアドレスが変わる方で相手のグローバルアドレスを設定しますが、固定側では接続してくる装置の認証をパスワードのようなもので行います。

IKEv1では、メインモードとアグレッシブモードで通信手順が変わります。IKEv2では、メインモードとアグレッシブモードという違いを廃止して同じ手順になっていますが、片方が可変のグローバルアドレスを持つ場合はそちら側から接続を開始するという点は同じです。

ESPトンネルモード

IKEで準備が終わった後のIPsecでの通信は、フェーズ2で作成した共通鍵を基に暗号化し、ESP(Encapsulating Security Protocol)ヘッダーなどを追加してESPプロトコルに変換します。

ESPトンネルモード

上記のようにパケット全体を暗号化する方法を、IPsecではESPトンネルモードと言います。

AHトンネルモード

IPsecでは暗号化しない通信方法もあります。

AHトンネルモード

これを、ESPトンネルモードに対してAH(Authentication Header)トンネルモードと言います。

AHトンネルモードでは、IKEでの相手認証やIPsec通信時のメッセージ認証は行いますが、暗号化は行いません。このため、事業所間VPNでIPsecを使う場合の多くはESPが利用されます。

トランスポートモード

IPsecでは、トンネルしない通信方法もあります。これを、トランスポートモードと言います。

ESPトランスポートモード

上記では、各サーバーがグローバルアドレスを持っているため、カプセル化が必要ありません。各サーバーに設定されたグローバルアドレスをそのまま使って暗号化して通信します。これを、ESPトランスポートモードと言います。

暗号化せずに、認証だけ行う場合はAHトランスポートモードと言います。

VPN関連のページ

  • 1ページ目「VPN
  • 2ページ目「PPTP
  • 3ページ目「IPsec」
  • 4ページ目「L2TP/IPsec
  • 5ページ目「SSL-VPN