【IPA対策】IPsecのトランスポートモードとトンネルモード

本稿ではIPA試験で必要とされる知識をまとめます。

目次

IPsecのトランスポートモードとトンネルモード

IPsecのトランスポートモードとトンネルモードで流れるパケットは下図の通りです。

IPsecのトランスポートモードとトンネルモードで流れるパケット

トランスポートモードでは両端の端末がIPsecを実装している必要があり,トンネルモードでは両端のルータがIPsecを実装している必要があります。トランスポートモードではトランスポート層以上のデータを暗号化し,トンネルモードではネットワーク層以上のデータを暗号化します。

詳細

各モードがどの範囲を暗号化しているのか混乱する人が多いと思います。まず大前提としてIPsecの守備範囲はインターネット層からトランスポート層ですので,アプリケーション層の暗号化はIPsecの守備範囲外です。データリンク層以上を暗号化すると宛先MACアドレスが隠蔽されるため通信できなくなってしまうことに注意すると,IPsecの暗号化範囲は

  • トランスポート層以上
  • インターネット層以上

のいずれかとなります。両端の端末がIPsecを実装している場合,端末はアプリケーション層側からパケットを組み立てていきますので,「TCPヘッダ+ペイロード」を一つのペイロードとして扱います。IPsecが実装された端末ではパケットにESPヘッダを付けて暗号化しますので,結果としてTCPヘッダの直後にESPヘッダが挿入されます。これにより,トランスポートモードではトランスポート層以上のデータを暗号化できます。

ルータでIPsecを実装している場合,そもそもルータはインターネット層で「IPヘッダ+ペイロード」を一つのペイロードとして扱います。IPsecが実装されたルータではESPヘッダを付けて暗号化しますので,結果としてオリジナルIPヘッダの直後にESPヘッダが挿入されます。ただし,IPヘッダの情報が隠蔽されてしまうためESPヘッダの後に新しくIPヘッダを付与します。これにより,トンネルモードでは両端の端末がIPsecに対応しているかを意識することなくインターネット層以上のデータを暗号化できます。

世の中に溢れているトランスポートモードを説明する図では,両端の端末間が雲のイラストで繋がれていますが,この絵から「全体的に暗号化されているからTCPパケットよりも広いIPパケットの範囲で暗号化されている」と誤解しないようにしてください。逆に,トンネルモードのイラストではVPN機器間が雲のイラストで繋がれていますが,この絵から「局所的に暗号化されているからIPパケットよりも狭いTCPパケットの範囲で暗号化されている」と誤解をしないようにしてください。

端末がアプリケーション側からパケットを構築することを理解できていれば,両端の端末を繋ぐの雲のイラストは「よりアプリケーション側を暗号化している候補」であるトランスポート層以上,ルータを繋ぐの雲のイラストは「よりデータリンク側を暗号化している候補」であるインターネット層以上,と理解することができます。

補足

GRE over IPsecのIPsecはトランスポートモードです。GREでトンネルを張っているため,IPsecのトンネルモードで無駄なヘッダを付与する必要はありません。

シェアはこちらからお願いします!

コメント

コメントする

※ Please enter your comments in Japanese to distinguish from spam.

目次