ESPの復号#2 ~復号してわかるIPsecの2つのモードの違い~
パケットキャプチャ
ESPの復号#1では、IPsecの仕組みとWireshark上での復号手順について解説しました。
今回は、実際にSAの情報等を入力して、Wireshark上でパケットを復号し、プロトコルがどのように見えるかを確認します。
目次
今回復号で使用する環境
今回使用する環境は以下のとおりです。今回は手っ取り早くWiresharkの公式サイトにあるpcapファイルで確認します。
公式サイトでは、IPsec以外にも様々なプロトコルがダウンロードできますので、興味がある方は、Wireshark SampleCapturesで探してみてください。
- PC環境
- Windows 10 Pro
- Wireshark Version 4.0.6
- ESPデータ
- Wireshark SampleCapture #IPsecのpcapとSA情報
ESPの復号前と復号後を比較 -トランスポートモード-
サンプルキャプチャページより"ipsec_esp.tgz"をダウンロードして解凍すると、4つのサンプルpcapとSA情報があります。その中で"ipsec_esp_capture_1"は、トランスポートモードのESPデータとなっていますので、そのファイルで確認してみます。
SAの設定は、ESPの復号#1のとおり手動で入力してもよいのですが、pcapと同じフォルダにある"esp_sa"をWiresharkの設定フォルダにコピーする方法でも可能です。Wiresharkの設定フォルダは、SA登録画面の赤枠に表示されていますので、そこで確認します。
まずは復号前の画面を確認します。
復号前のトランスポートモードESP
赤枠の部分が暗号化されている部分です。
以下の画面が復号した画面です。
復号でき、上位のプロトコルがICMPだということがわかりました。
ところで、Wiresharkで設定する項目のひとつ"SPI"は、復号前でも確認できます。
SPIは、送信元と宛先のIPsecデバイス間で一意に識別される必要があり、「AからBへの通信」と「BからAへの通信」は異なった値となります。
ESPの復号前と復号後を比較 -トンネルモード-
次に"ipsec_esp_capture_2"で確認してみます。こちらは、トンネルモードのESPデータとなっています。
復号前のトンネルモードESP
復号後のトンネルモードESP
トランスポートモードとは違い、ESPヘッダが2つ、IPヘッダが2つデコードされています。上位のプロトコルはICMPとなっています。
トランスポートモード vs トンネルモード
トランスポートモード
トランスポートモードは、IPsecがトランスポート層で動作するモードです。トランスポートモードでは、IPパケットのヘッダは変更されず、通信のペイロードのみが暗号化されます。
つまり、送信元IPアドレスと宛先IPアドレスはそのまま保持されます。
トンネルモード
トンネルモードは、IPsecがネットワーク層で動作するモードです。トンネルモードでは、IPパケットのヘッダとペイロードが暗号化され、新たなIPヘッダが追加されます。
具体的には、送信元IPアドレスと宛先IPアドレスが変更され、送信元と宛先のIPsecゲートウェイ(またはエンドポイント)のIPアドレスに置き換えられて通信をします。
2つのモードの違い
2つのモードの違いをフレームフォーマットで比較するとこのようになります。
トランスポートモードとトンネルモードを比較するとトンネルモードは新しいIPヘッダを追加していることがわかります。つまり、IPレイヤでの通信全体が暗号化されるため、送信元から宛先までの全体的なセキュリティが確保されます。
それに対し、トランスポートモードでは元のIPヘッダ維持されるため、暗号化はトランスポートレイヤ以上のみが暗号化の対象となります。
ですので、一般的なVPN等でIPsecを使う場合は、途中の経路まで秘匿できるトンネルモードが使われます。
トランスポートモードは、トンネルモードに比べてヘッダが少ないことがメリットですので、多重にカプセル化している特殊なネットワーク(GRE over IPsecなど)で通信効率をあげるために使用されることがあります。
しかしながら、通常、トランスポート層での暗号化はIPsecではなく、TLSで行うことのほう多いように思います。
SYNESISのデコード画面の復号表示
当社で開発、販売しているSYNESISは、暗号パケットの復号機能がついています。事前にプロトコル設定を行うことで、暗号化されたパケットを復号して表示できます。
SYNESISのデコード画面で復号可能なプロトコル
- SSL/TLS
- ESP (IP Sec)
SYNESISの復号後のデコード画面
SYNESISによるパケットの復号に興味がありましたら、以下よりお問い合わせください。
あとがき
今回は、Wiresharkの公式サイトにあるpcapファイルからESPの復号を行いました。公式サイトには様々なプロトコルのpcapがありますので、なかなか入手しづらいファイルはこのページで探してみると見つかるかもしれません。
本記事は、公式サイトで公開されているpcapで解説しています。そのためグローバルアドレスをそのまま表示しています。その点をご了承ください。