IPsec
読み:アイピーセック
外語:IPsec: Security Architecture for the Internet Protocol

 IPレイヤー(レイヤー3ネットワーク層)でのセキュリティサービスを提供する機能。
 VPNなどで利用されており、またイントラネットでもセキュリティを確保するために使われることがある。
目次

概要
 相互接続性のある、高品質な暗号に基づくセキュリティサービスを提供する。RFC 4301で規定されている。
 暗号や認証を用いるには、それぞれのアルゴリズムが必要だが、IPsecは特定のアルゴリズムに依存せずに機能する。すなわち、IPsecの枠組みを用いて様々なアルゴリズムが利用できる。
 これは、どんなアルゴリズムでも採用した途端に欠陥が指摘され、利用できなくなるという過去の歴史があるからである。

特徴

認証アルゴリズム
 IPsecは、認証アルゴリズムを特定せず、様々なアルゴリズムを利用する枠組みを提供するのが特徴である。
 著している時点で最新となるRFC 3550時点で対応する認証アルゴリズムは次のとおりである。
  1. HMAC-MD5-96
  2. HMAC-SHA1-96
  3. DES-MAC
  4. KPDK-MD5
  5. AES-XCBC-96

暗号アルゴリズム
 IPsecは、暗号化アルゴリズムを特定せず、様々な暗号を利用する枠組みを提供するのが特徴である。
 著している時点で最新となるRFC 3550時点で対応する暗号アルゴリズムは次のとおりである。
  1. DES-IV64
  2. DES
  3. 3DES
  4. RC5
  5. IDEA
  6. CAST
  7. Blowfish
  8. 3IDEA
  9. DES-IV32
  10. RC4
  11. NULL
  12. AES-CBC
  13. AES-CTR
 実際には、DES、3DES、AESの3アルゴリズムに対応する製品が多い。

プロトコルの構造
 IPsecの機能を実現するため、複数のプロトコルが組み合わされて利用されており、この総称がIPsecである。
 具体的には、次の三種類のプロトコルが使われている。

動作モード
 IPsecでは(より正確にはESPでは)、どの場所で暗号化するかにより、二種類の方法が提供されている。
 トランスポート・モードは、あらかじめ暗号化したデータを用意し、これをESPでカプセル化し、IPへッダを付けて送信をするものである。送信ホスト、受信ホストが共にIPsecに対応している場合は、これが最もシンプルな動作になる。
 トンネル・モードは、途中に用意されたゲートウェイを利用するものである。送信ホストから発信されたIPパケットをゲートウェイが受けとり、IPパケット全体を暗号化してからESPでカプセル化し、新たにIPへッダを付けて送信をするものである。ゲートウェイ間は暗号化されたデータが流れ、これがいわゆるVPNである。
 後者トンネル・モードでは、新たに付けられるIPヘッダーは相手先のゲートウェイであり、真の受信先は内部に暗号化されているため、受信先も秘匿にできる。

動作

鍵交換(IKE)
 IPsecは、慣用暗号方式(共通鍵暗号方式)が使われるため、暗号鍵は事前に設定しておくか、通信開始前のネゴシエーション時に動的に作成され、これを互いに交換する必要がある。
 ネゴシエーション時に、相互に利用可能な暗号方式を交換し、互いが利用できる中で最も現実的なものが選択される。この、暗号方式決定と鍵交換のプロトコルに、IKEが使われる。
 IKE中も盗聴されていることを想定し、IKEも二段階で鍵交換が行なわれている。
  1. IKEフェーズ1として、IKEフェーズ2で使う暗号方式と暗号鍵を交換する
  2. IKEフェーズ2として、IPsecで使う暗号方式と暗号鍵など(SA)を交換する
  3. IPsecによる暗号通信を行なう
 このように工夫することで、盗聴されていても、暗号鍵はおろか使用されているアルゴリズム自体が分からないようになっている。

暗号化通信(ESP)
 ESPは暗号化されたデータを送るためのプロトコルである。
 このプロトコルは、暗号化されたデータだけではなく、ネゴシエーションの結果作られ、暗号化アルゴリズムや暗号鍵等を判断する目印とする32ビットの整数値SPIや、シーケンス番号、認証データ(通信データとパスワードのハッシュ値)などを含む。
 これによって、暗号文を単に送るだけではなく、途中の経路での改竄を防ぎ、確実な送信と認証を同時に行なうことができる。
 ハッシュ関数は、様々なアルゴリズムを選択して使用することができる。次のようなものが使われている。

認証(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のレイヤーで動作するため、具体的なアプリケーションと結びついたわけでは無い分、利用者の目に付きにくいという特徴がある。

再検索