IPsec
読み:アイピーセック
外語:IPsec: Security Architecture for the Internet Protocol
IP
レイヤー(
レイヤー3
、
ネットワーク層
)でのセキュリティサービスを提供する機能。
VPN
などで利用されており、また
イントラネット
でもセキュリティを確保するために使われることがある。
目次
概要
特徴
認証アルゴリズム
暗号アルゴリズム
プロトコルの構造
動作モード
動作
鍵交換(IKE)
暗号化通信(ESP)
認証(AH)
実装
縁の下
概要
相互接続性のある、高品質な
暗号
に基づくセキュリティサービスを提供する。
RFC 4301
で規定されている。
暗号や
認証
を用いるには、それぞれのアルゴリズムが必要だが、IPsecは特定のアルゴリズムに依存せずに機能する。すなわち、IPsecの枠組みを用いて様々なアルゴリズムが利用できる。
これは、どんなアルゴリズムでも採用した途端に欠陥が指摘され、利用できなくなるという過去の歴史があるからである。
特徴
認証アルゴリズム
IPsecは、認証アルゴリズムを特定せず、様々なアルゴリズムを利用する枠組みを提供するのが特徴である。
著している時点で最新となる
RFC 3550
時点で対応する認証アルゴリズムは次のとおりである。
HMAC-MD5-96
HMAC-SHA1-96
DES-MAC
KPDK-MD5
AES-XCBC-96
暗号アルゴリズム
IPsecは、暗号化アルゴリズムを特定せず、様々な暗号を利用する枠組みを提供するのが特徴である。
著している時点で最新となる
RFC 3550
時点で対応する暗号アルゴリズムは次のとおりである。
DES-IV64
DES
3DES
RC5
IDEA
CAST
Blowfish
3IDEA
DES-IV32
RC4
NULL
AES-CBC
AES-CTR
実際には、DES、3DES、AESの3アルゴリズムに対応する製品が多い。
プロトコルの構造
IPsecの機能を実現するため、複数のプロトコルが組み合わされて利用されており、この総称がIPsecである。
具体的には、次の三種類のプロトコルが使われている。
IKE
(鍵交換プロトコル)
ESP (セキュリティペイロードの
カプセル化
プロトコル)
AH (認証プロトコル)
動作モード
IPsecでは(より正確にはESPでは)、どの場所で暗号化するかにより、二種類の方法が提供されている。
トランスポート・モード
トンネル・モード
トランスポート・モードは、あらかじめ暗号化したデータを用意し、これをESPで
カプセル化
し、IPへッダを付けて送信をするものである。送信ホスト、受信ホストが共にIPsecに対応している場合は、これが最もシンプルな動作になる。
トンネル・モードは、途中に用意されたゲートウェイを利用するものである。送信ホストから発信された
IPパケット
をゲートウェイが受けとり、IPパケット全体を暗号化してからESPでカプセル化し、新たにIPへッダを付けて送信をするものである。ゲートウェイ間は暗号化されたデータが流れ、これがいわゆる
VPN
である。
後者トンネル・モードでは、新たに付けられるIPヘッダーは相手先のゲートウェイであり、真の受信先は内部に暗号化されているため、受信先も秘匿にできる。
動作
鍵交換(IKE)
IPsecは、
慣用暗号方式
(共通鍵暗号方式)が使われるため、暗号鍵は事前に設定しておくか、通信開始前のネゴシエーション時に動的に作成され、これを互いに交換する必要がある。
ネゴシエーション時に、相互に利用可能な暗号方式を交換し、互いが利用できる中で最も現実的なものが選択される。この、暗号方式決定と鍵交換のプロトコルに、
IKE
が使われる。
IKE中も盗聴されていることを想定し、IKEも二段階で鍵交換が行なわれている。
IKEフェーズ1として、IKEフェーズ2で使う暗号方式と暗号鍵を交換する
IKEフェーズ2として、IPsecで使う暗号方式と暗号鍵など(SA)を交換する
IPsecによる暗号通信を行なう
このように工夫することで、盗聴されていても、暗号鍵はおろか使用されているアルゴリズム自体が分からないようになっている。
暗号化通信(ESP)
ESPは暗号化されたデータを送るためのプロトコルである。
このプロトコルは、暗号化されたデータだけではなく、ネゴシエーションの結果作られ、暗号化アルゴリズムや暗号鍵等を判断する目印とする32ビットの整数値SPIや、シーケンス番号、認証データ(通信データとパスワードの
ハッシュ値
)などを含む。
これによって、暗号文を単に送るだけではなく、途中の経路での
改竄
を防ぎ、確実な送信と認証を同時に行なうことができる。
ハッシュ関数
は、様々なアルゴリズムを選択して使用することができる。次のようなものが使われている。
HMAC-MD5
HMAC-SHA-1
HMAC-SHA-224
HMAC-SHA-256
HMAC-SHA-384
HMAC-SHA-512
認証(AH)
AHは、データの完全性の保証と認証を目的としたプロトコルである。
ESPなどの上位層のデータが改竄されずに送信できたかどうか、IPのレイヤーで保証する。
IPデータグラム全体に渡り
チェックサム
を計算し、それをIPヘッダーのオプションとして付け加える。
IPv4
の
プロトコル番号
、
IPv6
の次ヘッダーは、共に51である。
実装
IPsecの実装は、
ホスト
もしくはセキュリティ
ゲートウェイ
で機能する。
IPレイヤーの実装に組み込む方式であるため、IPレイヤーの
ソースコード
を書き替える必要があるが、ホストにもセキュリティゲートウェイにも適用できる。
「Bump-in-the-stack」(BITS)方式は、既存のIPスタックとネットワークドライバーの間に実装するもので、IPスタックを
触る
必要はない。通常、ホストに適用できる。
「Bump-in-the-wire」(BITW)方式は、外挿の暗号プロセッサーを用いる。ホストにもセキュリティゲートウェイにも適用できる。IPsecコプロセッサーなどが比較的安価に市販されており、また
SuperH
など組み込み用CPUではハードウェアとして機能を内蔵しているものがある。
縁の下
IPsecを使う上で最大の特徴と言えるのは、その動作が目に見えにくい点である。
例えば、メールであれば
PGP
、Webでは
TLS
などが使われるが、これは上位のアプリケーションであり、利用者の目に見えやすい。
しかしIPsecはIPのレイヤーで動作するため、具体的なアプリケーションと結びついたわけでは無い分、利用者の目に付きにくいという特徴がある。
再検索