IPsec

読み:あいぴーせっく / 英語表記:IP Security

ネットワーク層(IP)で、通信内容の秘匿や改ざんの検出、送信元の認証などを行うプロトコル群。内容の秘匿にも対応するESP、内容を隠さず認証を行うAH、鍵交換や使用する方式の合意を行うIKEなどからなる。拠点間を結ぶVPNでよく使われる。

イマシルちゃんの解説

本社と支社で社内データをやり取りするとき、インターネットをそのまま通すだけでは盗み見や書き換えが心配だね。
IPsecは、IPの通信を保護するためのプロトコル群だよ。
通信する機器どうしで鍵や使う方式を決め、設定に応じて内容の暗号化や改ざんの確認を行うんだ。
拠点間VPNでは、それぞれの拠点の装置が社内の通信を包み、装置間の区間を保護して届けるよ。
IPの段階で扱うから、Webやメールなどのアプリごとに保護の機能を組み込まなくても利用できるの。
保護対象に設定した通信をまとめて守れるのが便利なんだよ。

より深い解説

定義

IPsec(IP Security)は、RFC 4301などで定められた、IP層でパケットの機密性、完全性、送信元の認証、リプレイ攻撃の防止などを実現するためのプロトコル群である。IP層で動作するため、上位のアプリケーションは、IPsecを意識せずに保護を受けられる。

OSI基本参照モデルではネットワーク層(第3層)に相当する。拠点間VPNでは、対向VPN装置のIPアドレス、保護する両拠点のサブネット、暗号方式や認証条件などを設定する。事前共有鍵方式なら、両端に同じ事前共有鍵を登録する。通信相手の装置のアドレスと、その装置の先で保護する内部ネットワークのアドレスは別の設定項目である。

構成するプロトコル

プロトコル役割IPのプロトコル番号 / ポート
ESP(Encapsulating Security Payload)暗号化と認証(完全性)プロトコル番号50
AH(Authentication Header)認証(完全性)だけ。暗号化はしないプロトコル番号51
IKE(Internet Key Exchange)暗号化のアルゴリズムの合意と、鍵の交換UDPの500番(NAT越えでは4500番)

SA(セキュリティアソシエーション)

IPsecで通信する2つの機器の間で、どの暗号アルゴリズムと鍵を使うかなどの取り決めを、SA(Security Association)という。SAは片方向ごとに作られるため、双方向の通信には、少なくとも2つのSAが必要になる。SAは、SPI(Security Parameter Index)という番号で識別され、ESPやAHのヘッダーに含まれる。

SAの取り決めや鍵の交換は、IKEが自動で行う。ESPやAHのヘッダーそのものが、アルゴリズムを交渉することはない。

2つのモード

モード保護する範囲主な用途
トランスポートモード元のIPパケットのデータ部だけ(元のIPヘッダーはそのまま)ホスト同士の通信
トンネルモード元のIPパケットの全体を、新しいIPヘッダーでカプセル化するVPN装置同士(拠点間VPN)

ESPのトンネルモードでは、元のIPヘッダーも暗号化されるため、拠点の内部で使っているIPアドレスを、インターネット上から隠すことができる。

使われる主なアルゴリズム

目的主なアルゴリズム
暗号化AES(CBC、GCM)、3DES(現在は非推奨)
認証(完全性)HMAC-SHA-256、HMAC-SHA1
鍵交換Diffie-Hellman

HMAC-SHA1などのHMACは、改ざんを検出するためのメッセージ認証のアルゴリズムであり、暗号化のアルゴリズムではない。AES-GCMのように、暗号化と認証を同時に行う方式(認証付き暗号)もある。

IPsecとNAT

AHは、IPヘッダーも含めて完全性を保証するため、途中のNATでIPアドレスが書き換えられると、認証に失敗する。ESPもTCPやUDPのポート番号を持たず、通常のNAPTで複数端末の通信を区別する際に問題が生じる。ESPのパケットをUDPの4500番でカプセル化するNATトラバーサル(NAT-T)により、UDPのポート番号で通信を扱えるようにする。ESPがすべてのNAT機器を必ず通過できない、という意味ではない。

TLSとの比較

IPsecTLS
動作する層ネットワーク層トランスポート層とアプリケーション層の間
保護の対象IPパケット(すべてのアプリケーション)TLSに対応したアプリケーションの通信
主な用途拠点間VPN、リモートアクセスVPNHTTPS、SSL-VPN

参考資料

実際の試験ではここに出る!全24問

ネットワークスペシャリスト

午後Ⅰ
午後Ⅱ
午前Ⅱ

テクニカルエンジニア(ネットワーク)

午前

この用語が出てくる記事

↑