IPsecとは
IPsec (Security Architecture for Internet Protocol、アイピーセック)は、 暗号 技術を用いて、 IP パケット単位でデータの 改竄 防止や秘匿機能を提供する プロトコル である。これによって、暗号化をサポートしていない トランスポート層 や アプリケーション を用いても、 通信 路の途中で通信内容を覗き見られたり改竄されることを防止できる。
IPsecはAH (Authentication Header) による完全性、認証機構、ESP (Encapsulated Security Payload) によるデータ暗号化等の セキュリティ プロトコルの他、IKE (Internet Key Exchange protocol) などによる鍵交換から構成されている。
IETF のipsec wgにて規格策定が行われていたが、現在その規格はほぼ固まっている。
IPv4 , IPv6 両者で利用できる。IPv6では専用の拡張ヘッダが定義されているが、IPv4ではIPヘッダオプションを利用する。
IPsecの動作モードにはパケットデータ部のみを暗号化(ないしは認証)するトランスポートモードと、ヘッダを含めたパケット全体を丸ごと「データ」として暗号化(ないしは認証)し新たな IPヘッダ を付加するトンネルモードがある。トンネルモードは主として VPN で使用される。
IPsecの利点・欠点
IPsecは ネットワーク層 のプロトコルを保護するので、暗号化がサポートされていない上位層やアプリケーションでもセキュリティの確保が可能になる。一方で、暗号通信はネットワークスタック以下で行われるので、SSLを使用しているときのwebブラウザの鍵マークのように、ユーザーがどのプロトコルで暗号化されているかを容易に知ることができない。そのため、専門の管理者が容易に管理しやすいGatewayでの設定が行えるような、 VPN での利用が現在の主な用途になっていることが多い。IPsecをVPNで利用する場合はIPアドレスを二重に付加するトンネルモードが利用できるが、 IP 以外のパケットも伝達するため L2TP などの拡張プロトコルが用いられる場合もある。
IPsecはAHの認証機能、ESPの暗号機能を組み合わせて使うことができ、AH/ESPそれぞれに様々なアルゴリズムを指定することができる。この柔軟さがIPsecの利点ではあるが、設定可能な組み合わせは膨大となり、通信する二点間で全ての設定が一致していなければ通信が成立しない。このためVPNのような特定2点間ならともかく、多台数間のIPsec通信を手動設定で行うのは実用上ほぼ不可能である(手動設定の場合は同じ鍵情報を長期間使い続けることになるため、セキュリティ強度の観点からも好ましくない)。この手間を軽減するためネットワークで自動鍵交換を行うプロトコルも提案されているが、KINK, Photuris, IKEv1, IKEv2 など互換性のない複数の規格が並立してしまっている。最も普及しているIKEv1でも動作モード、認証パラメータ、認証方式、鍵交換アルゴリズム、暗号アルゴリズム、認証アルゴリズムなど設定項目の組み合わせが多い。総じて、IPsecを使うためには高度な専門知識が要求されるという欠点になってしまっている。






