7.7   IPsec(IP security protocol)

  7.7.1 IPsec動作原理

図:7.7.1 IPsec動作原理
  データリンク層で動作するプロトコルはリモートアクセスのようにPPPを利用するネットワーク以外では利用できません。
  IPsec(RFC2401-2411,他)はIPネットワーク層での認証および暗号化を行うためのインターネット標準の拡張でIETF(インターネット技術標準化委員会)でVPNプロトコルとして標準化されています。
  現在では、ファイアウォールをはじめとする多くのVPN製品に搭載されており、ルーターなどにおいても搭載されるケースが増えてきています。また、マイクロソフト社もWindows2000では、IPsecに対応しています。
  IPsec の特徴は、ネットワーク層で動作し、なおかつ認証、暗号化の仕組みを独立させた点にあります。
  IPsecでは、認証を受け持つ「認証ヘッダー(AH:Authentication Header)」と暗号化を受け持つ「暗号ペイロード(ESP:Encapsulating Security Payload)」の2つのプロトコルを規定しています。
  「認証ヘッダ」は、IPパケットにメッセージ認証の機能を提供します。「暗号ペイロード」は、VPNの暗号化やトンネリングの機能を提供します。これらの仕組みは独立して動作するので、IPパケットのメッセージ認証の機能を利用したい場合は認証ヘッダを利用し、データの暗号化やトンネリングの機能を利用したい場合は暗号ペイロードを利用することが可能で、両方を組み合わせて利用することも可能です。



  7.7.2フレーム構成

図:7.7.2 フレーム構成
AH(Authentication Header)
  AHの構成は以下の通りです。
  • 次ヘッダ
    このフィールドは8ビットで構成され、認証ヘッダの後のペイロード・タイプ(TCPあるいはUDP)を識別します。
  • ペイロード長
    このフィールドは、認証データの長さを8ビットで表します。
  • 予約
    将来用の予約用で、現在は"0"に設定されています。
  • SPI(Security Parameters Index)
    このフィールドは32ビットで構成され、SA(Security Association)を指定します。
  • シーケンス番号
    第三者が受信者のシステムをリプレイ攻撃し、システムをダウンさせたりすることを阻止するフィールドで、各パケットにシーケンス番号(順序番号)が付与します。
  • 認証データ
    このフィールドは可変長で認証アルゴリズムで使用します。フォーマットは、認証アルゴリズムによって異なります。
    HMAC-MD5(Keyed-Hashing for Message Authentication Code-Massage Digest5)
    やHMAC-SHA(HMAC-Secure Hash-Algolithum)などのデータが格納されます。
図:7.7.2 フレーム構成

ESP(Encapsulating Security Payload、暗号ペイロード)フォーマット
  ESPのフォーマットは以下の通りです。
  • SPI
    AHと同様SAを指定します。
  • シーケンス番号
    AHと同様に各パケットにシーケンス番号(順序番号)が付与します。
  • ペイロード・データ
    IPパケット部(TCP/UDPヘッダ+ペイロード)を暗号化したデータを格納するフィールドです。フォーマットは、暗号化のアルゴリズムによって異なり、RFC2405(DES-CBC)などで規定されます。
  • パディング、パディング長
    ペイロード・データの長さを調節するための調整用のフィールドとその長さを示すフィールドです。
  • 次ヘッダ
    AHと同様ペイロード・タイプ(TCPあるいはUDP)を識別します。
  • 認証データ
    ESPパケットから計算された認証のためのICV(Integrity Check Value:完全性チェック)が格納されます。フォーマットは、使用されるアルゴリズムによって異なります。



  7.7.3 SA(Security Association)とSPI(Security Parameters Index)

図:7.7.3 SAとSPI

  IPsecでは、事前に通信を行うホスト同士が認証・暗号化のアルゴリズムや暗号鍵を共有する関係を形成する必要があります。この関係をSA(Security Association)と言います。
  IPsecに対応したホストやファイアウォールではデータベース内に複数のSAを保有することができ、あるIPsecのパケットがどのSAに対応しているかは、IPsecのヘッダ中に含まれるSPI(Security Parameters Index)というポインタによって指定されます。



IPsecの通信モード

  IPsecの通信モードにはIPパケットのデータ部分の認証/暗号化を行い、もとのIPヘッダーは対象としない方式(トランスポートモード)とIPヘッダーも含めて暗号化し、新しいIPアドレスを付加して送信する方式(トンネルモード)の2つがあります。
  トランスポートモードはIPsecを搭載したサーバー間で通信する場合使用されます。一方、クライアントからのリモートアクセスの場合はゲートウェイサーバーを経由して内部のサーバーに接続する必要がある為トンネルモードを使用します。


  7.7.4トンネルモード

図:7.7.4トンネルモード
  PPTPでは、トンネリングに通信方式を採用していましたが、「認証ヘッダ」と「暗号ペイロード」を分離しているため、IPのペイロードの部分だけを暗号化するトランスポートモードと、IPのヘッダまで含めた全体を暗号化してペイロードとして積むトンネルモードがサポートされています。
  トンネルモードは、ネットワークのゲートウエイ間でIPsecの通信を行うことを想定しています。内部ホスト向けのIPヘッダーまでがESPによって暗号化される範囲となり、ゲートウエイでは、相手先のゲートウエイのIPアドレスを新たに付加して送信します。

  7.7.5トランスポートモード

図:7.7.5トランスポートモード
  トンネルモードは、端末間でのIPsec通信を想定しています。したがってESPによって暗号化される範囲はTCPヘッダー以降のデータとなります。

最初へ



Copyright ©  2002 Information-technology Promotion Agency, Japan. All rights reserved.