IPsec
IPsec(Security Architecture for Internet Protocol又はInternet Protcol Security、アイピーセック)は、データストリームの各IPパケットを認証/暗号化することにより、ネットワーク層でIP通信を保護するためのプロトコル群である。 暗号技術を用いることで、IP パケット単位で改竄検知や秘匿機能を提供するプロトコルである。これによって、暗号化をサポートしていないトランスポート層やアプリケーションを用いても、通信路の途中で、通信内容を覗き見られたり改竄されることを防止できる。
IPsecは、IPv6では必須とされた時期があり、専用の拡張ヘッダが定義されている。一方、IPv4では、利用可能だが必須ではなく、IP ヘッダオプションを利用する。
AH (Authentication Header) は、認証および改竄防止機能を提供する。データそのものは暗号化されないので、盗聴防止には利用できない。RFC 1826 形式の AH には再送防止機能 (Anti Replay Counter) が無いが、RFC 2402 では 32 bit の、RFC 4302 では 64 bit のカウンタが付けられており、過去に送信されたパケットがコピー再送されても多重受信しない機能がオプションとして利用できる。
RFC 1829: The ESP DES-CBC Transform
RFC 2403: The Use of HMAC-MD5-96 within ESP and AH
RFC 2404: The Use of HMAC-SHA-1-96 within ESP and AH
RFC 2405: The ESP DES-CBC Cipher Algorithm With Explicit IV
RFC 2410: The NULL Encryption Algorithm and Its Use With IPsec
RFC 2451: The ESP CBC-Mode Cipher Algorithms
RFC 2857: The Use of HMAC-RIPEMD-160-96 within ESP and AH
RFC 3526: More Modular Exponential (MODP) Diffie-Hellman groups for Internet Key Exchange (IKE)
RFC 3602: The AES-CBC Cipher Algorithm and Its Use with IPsec
RFC 3686: Using Advanced Encryption Standard (AES) Counter Mode With IPsec Encapsulating Security Payload (ESP)
RFC 3947: Negotiation of NAT-Traversal in the IKE