IPsec

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

IPレイヤ(レイヤ3、ネットワーク層)でのセキュリティサービスを提供する機能。

VPNなどで利用されており、またイントラネットでもセキュリティを確保するために使われることがある。

相互接続性のある、高品質な暗号に基づくセキュリティサービスを提供する。RFC 2401外部リンクで規定されている。

暗号や認証を用いるには、それぞれのアルゴリズムが必要だが、IPsecは特定のアルゴリズムに依存せずに機能する。すなわち、IPsecの枠組みを用いて様々のアルゴリズムが利用できる。

これは、どんなアルゴリズムでも採用した途端に欠陥が指摘され、利用できなくなるという過去の歴史があるからである。

暗号アルゴリズム

IPsecは、暗号化アルゴリズムを特定せず、様々な暗号を利用する枠組みを提供するのが特徴である。

IPsecで実装が必須とされているものは一つだけで、それ以外はオプションである。

  • DES-CBC (必須)
  • 3DES-CBC
  • AES
  • CAST-128
  • RC5
  • IDEA
  • Blowfish

実際には、必須対応である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も二段階で鍵交換が行なわれている。

  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ではSSLなどが使われるが、これは上位のアプリケーションであり、利用者の目に見えやすい。

しかしIPsecはIPのレイヤで動作するため、具体的なアプリケーションと結びついたわけでは無い分、利用者の目に付きにくいという特徴がある。