ESPの復号#2 ~復号してわかるIPsecの2つのモードの違い~

ESPの復号#1では、IPsecの仕組みとWireshark上での復号手順について解説しました。
今回は、実際にSAの情報等を入力して、Wireshark上でパケットを復号し、プロトコルがどのように見えるかを確認します。

今回復号で使用する環境

今回使用する環境は以下のとおりです。今回は手っ取り早くWiresharkの公式サイトにあるpcapファイルで確認します。
公式サイトでは、IPsec以外にも様々なプロトコルがダウンロードできますので、興味がある方は、Wireshark SampleCapturesで探してみてください。

ESPの復号前と復号後を比較 -トランスポートモード-

サンプルキャプチャページより"ipsec_esp.tgz"をダウンロードして解凍すると、4つのサンプルpcapとSA情報があります。その中で"ipsec_esp_capture_1"は、トランスポートモードのESPデータとなっていますので、そのファイルで確認してみます。

SAの設定は、ESPの復号#1のとおり手動で入力してもよいのですが、pcapと同じフォルダにある"esp_sa"をWiresharkの設定フォルダにコピーする方法でも可能です。Wiresharkの設定フォルダは、SA登録画面の赤枠に表示されていますので、そこで確認します。

ESP_SA設定画面

まずは復号前の画面を確認します。

ESP復号前

復号前のトランスポートモードESP

赤枠の部分が暗号化されている部分です。
以下の画面が復号した画面です。

ESP復号後

復号後のトランスポートモードESP

復号でき、上位のプロトコルがICMPだということがわかりました。

ところで、Wiresharkで設定する項目のひとつ"SPI"は、復号前でも確認できます。
SPIは、送信元と宛先のIPsecデバイス間で一意に識別される必要があり、「AからBへの通信」と「BからAへの通信」は異なった値となります。

IPsec SPI値

ESPの復号前と復号後を比較 -トンネルモード-

次に"ipsec_esp_capture_2"で確認してみます。こちらは、トンネルモードのESPデータとなっています。

ESP復号前

復号前のトンネルモードESP

ESP復号前

復号後のトンネルモードESP

トランスポートモードとは違い、ESPヘッダが2つ、IPヘッダが2つデコードされています。上位のプロトコルはICMPとなっています。

トランスポートモード vs トンネルモード

トランスポートモード

トランスポートモードは、IPsecがトランスポート層で動作するモードです。トランスポートモードでは、IPパケットのヘッダは変更されず、通信のペイロードのみが暗号化されます。
つまり、送信元IPアドレスと宛先IPアドレスはそのまま保持されます。

トンネルモード

トンネルモードは、IPsecがネットワーク層で動作するモードです。トンネルモードでは、IPパケットのヘッダとペイロードが暗号化され、新たなIPヘッダが追加されます。
具体的には、送信元IPアドレスと宛先IPアドレスが変更され、送信元と宛先のIPsecゲートウェイ(またはエンドポイント)のIPアドレスに置き換えられて通信をします。

2つのモードの違い

2つのモードの違いをフレームフォーマットで比較するとこのようになります。

IPsecの2つのモード

トランスポートモードとトンネルモードを比較するとトンネルモードは新しいIPヘッダを追加していることがわかります。つまり、IPレイヤでの通信全体が暗号化されるため、送信元から宛先までの全体的なセキュリティが確保されます。
それに対し、トランスポートモードでは元のIPヘッダ維持されるため、暗号化はトランスポートレイヤ以上のみが暗号化の対象となります。

ですので、一般的なVPN等でIPsecを使う場合は、途中の経路まで秘匿できるトンネルモードが使われます。
トランスポートモードは、トンネルモードに比べてヘッダが少ないことがメリットですので、多重にカプセル化している特殊なネットワーク(GRE over IPsecなど)で通信効率をあげるために使用されることがあります。
しかしながら、通常、トランスポート層での暗号化はIPsecではなく、TLSで行うことのほう多いように思います。

SYNESISのデコード画面の復号表示

当社で開発、販売しているSYNESISは、暗号パケットの復号機能がついています。事前にプロトコル設定を行うことで、暗号化されたパケットを復号して表示できます。

SYNESISのデコード画面で復号可能なプロトコル

  • SSL/TLS
  • ESP (IP Sec)

SYNESISデコード画面|TLS、ESP復号

SYNESISの復号後のデコード画面

SYNESISによるパケットの復号に興味がありましたら、以下よりお問い合わせください。

SYNESIS お問い合わせ

あとがき

今回は、Wiresharkの公式サイトにあるpcapファイルからESPの復号を行いました。公式サイトには様々なプロトコルのpcapがありますので、なかなか入手しづらいファイルはこのページで探してみると見つかるかもしれません。
本記事は、公式サイトで公開されているpcapで解説しています。そのためグローバルアドレスをそのまま表示しています。その点をご了承ください。

Englishi Contents of Engineer Notes