IPsecとは
IPsec(Internet Protocol Security)とは、パケットを暗号化してインターネットを安全に通信する仕組みです。
実行時に、セキュリティアソシエーション(SA)を作成することによって、IPsec セッションを生成します。SA は通信セッションとして扱われ、接続に関するあらゆる構成とステータス情報を記録しています。SA は単方向の接続単位で扱われ、双方向の場合にはSAは2本あります。
また、AHとESPの2つを一つのSAで利用することはありません。よって、AHとESPの両方を利用したい場合には、それぞれのSAが必要です。
そして、通信フィルタリングはSA単位で行います。これにより、一つのサービスに対して一つのSAというように管理母体を分けることが可能になっています。
コンポーネント
IPsecでは、途中でデータが壊れないようにAHとESPという2つコンポーネントがあります。
- AH(Authentication Header) データが壊れないようにはできる(完全性あり)が、データ内容が丸見え(機密性なし)。
- ESP(Encapsulated Security Payload) データを壊れない(完全性あり)、かつ暗号化(機密性あり)する。
ESP は AH なしで使用されることもありますが、AH が ESP なしで使用されることはまずありません。
接続構成
IPsecはパケットのどこまで暗号化するのかで2つに分けられます。
トンネルモード
ゲートウェイと呼ばれる固定的な口を作成し、パケット全体を暗号化します。
トランスポートモード
データのみ暗号化します。その代わり、本来データに使うはずの領域をちょっと借りて通信要件を送り合います。
暗号強度が強いほうが良いですが、その分融通が利かなくなってしまうのはよくある話です。
モバイルユーザがIPsecを使うときは、トランスポートモードを使います。