メインコンテンツまでスキップ

4.4.1.2. SPD エントリの構造 (Structure of an SPD Entry)

このセクションには、SPD エントリの説明文が含まれています。また、付録 C には SPD エントリの ASN.1 定義の例が記載されています。

IKE 互換性の考慮事項

このテキストは、SPD エントリに必要なポリシーが IKE を通じてネゴシエートできるように、IKE ペイロードに直接マッピングすることを意図した方法で SPD を説明しています。残念ながら、この文書と同時に公開された IKEv2 のバージョン [Kau05] のセマンティクスは、SPD に対して定義されたものと正確には一致していません。具体的には、IKEv2 は、複数のローカルアドレスとリモートアドレスおよびポートのペアを単一の SA にバインドする単一の SA のネゴシエーションを可能にしません。代わりに、SA に対して複数のローカルアドレスとリモートアドレスおよびポートがネゴシエートされる場合、IKEv2 はこれらをペアとしてではなく、任意にペアにできるローカル値とリモート値の(順序なし)セットとして扱います。

重要: IKE が(以下に説明する)セレクタセットを介して SPD で表現されるセマンティクスを伝達する機能を提供するまで、ユーザーは、アクセス制御の意図が IKE の「ミックスアンドマッチ」セマンティクスと一致しない限り、単一の SPD エントリに複数のセレクタセットを含めてはなりません (MUST NOT)。実装は、ユーザーが複数のセレクタセットを含む SPD エントリを作成した場合に、その構文が現在の IKE セマンティクスとの潜在的な競合を示している場合、ユーザーに警告してこの問題を警告することができます (MAY)。

管理インターフェースの考慮事項

管理 GUI は、ユーザーに他の形式のデータ入力と表示を提供できます。たとえば、範囲だけでなくアドレスプレフィックスを使用するオプション、プロトコル、ポートなどのシンボリック名など。(管理インターフェースでのシンボリック名の使用を SPD セレクタ「名前」と混同しないでください。)

注意: リモート/ローカルは IP アドレスとポートにのみ適用され、ICMP メッセージタイプ/コードまたはモビリティヘッダータイプには適用されません。また、予約されたシンボリックセレクタ値 OPAQUE または ANY が特定のセレクタタイプに使用されている場合、そのセレクタのリストにはその値のみが表示され、そのセレクタのリストに一度だけ表示されなければなりません。

注意: ANY と OPAQUE はローカル構文規則です —— IKEv2 は以下に示す範囲を介してこれらの値をネゴシエートします:

ANY:     start = 0        end = <max>
OPAQUE: start = <max> end = 0

SPD エントリフィールド

SPD は、それぞれが以下のフィールドを含むエントリの順序付きリストです。

o 名前 (Name)

ID のリスト。この準セレクタはオプションです。サポートしなければならない (MUST) 形式は、上記のセクション 4.4.1.1 の「名前」に記載されています。

o PFP フラグ (PFP flags)

トラフィックセレクタごとに 1 つ。たとえば、次層プロトコル用の特定のフラグは、SPD エントリに含まれるすべての「セレクタセット」(以下を参照)にわたって関連するセレクタに適用されます。SA を作成する際、各フラグは、対応するトラフィックセレクタについて、SA の作成をトリガーしたパケットの対応するフィールドからセレクタをインスタンス化するか、対応する SPD エントリの値からインスタンス化するかを指定します(セクション 4.4.1「SAD エントリの値を導出する方法」を参照)。たとえば、ソースポート、ICMP タイプ/コード、および MH タイプに単一のフラグを使用するか、それぞれに個別のフラグを使用するかは、ローカルな問題です。

PFP フラグには以下があります:

  • ローカルアドレス (Local Address)
  • リモートアドレス (Remote Address)
  • 次層プロトコル (Next Layer Protocol)
  • ローカルポート、または ICMP メッセージタイプ/コードまたはモビリティヘッダータイプ(次層プロトコルに依存)
  • リモートポート、または ICMP メッセージタイプ/コードまたはモビリティヘッダータイプ(次層プロトコルに依存)

o 1 から N のセレクタセット (One to N selector sets)

これらは、特定の IPsec アクションを適用するための「条件」に対応します。各セレクタセットには以下が含まれます:

  • ローカルアドレス (Local Address)
  • リモートアドレス (Remote Address)
  • 次層プロトコル (Next Layer Protocol)
  • ローカルポート、または ICMP メッセージタイプ/コードまたはモビリティヘッダータイプ(次層プロトコルに依存)
  • リモートポート、または ICMP メッセージタイプ/コードまたはモビリティヘッダータイプ(次層プロトコルに依存)

注意: 「次プロトコル」セレクタは、セレクタセットエントリ内の(ローカルおよびリモート IP アドレスとは異なり)個別の値です。これは、IKEv2 が SA のトラフィックセレクタ (TS) 値をネゴシエートする方法と一致しています。また、異なるプロトコルに異なるポートフィールドを関連付ける必要がある場合があるため、これは理にかなっています。その SA に複数のセレクタセットを指定することで、複数のプロトコル(およびポート)を単一の SA に関連付けることが可能です。

o 処理情報 (Processing info)

どのアクションが必要か —— PROTECT(保護)、BYPASS(バイパス)、または DISCARD(破棄)。すべてのセレクタセットには 1 つのアクションがあり、各セットに個別のアクションはありません。必要な処理が PROTECT の場合、エントリには以下の情報が含まれます。

処理情報フィールド(PROTECT の場合):

  • IPsec モード (IPsec mode) —— トンネルモードまたはトランスポートモード

  • (トンネルモードの場合)ローカルトンネルアドレス (local tunnel address) —— 非モバイルホストの場合、インターフェースが 1 つだけであれば、これは簡単です。複数のインターフェースがある場合は、静的に構成する必要があります。モバイルホストの場合、ローカルアドレスの指定は IPsec の外部で処理されます。

  • (トンネルモードの場合)リモートトンネルアドレス (remote tunnel address) —— これを決定する標準的な方法はありません。セクション 4.5.3「セキュリティゲートウェイの検索」を参照してください。

  • 拡張シーケンス番号 (Extended Sequence Number) —— この SA は拡張シーケンス番号を使用していますか?

  • ステートフルフラグメントチェック (stateful fragment checking) —— この SA はステートフルフラグメントチェックを使用していますか?(詳細については、セクション 7 を参照してください。)

  • DF ビットのバイパス (Bypass DF bit) (T/F) —— トンネルモード SA に適用

  • DSCP のバイパス (Bypass DSCP) (T/F) または保護されていない DSCP 値へのマッピング(配列) DSCP 値のバイパスを制限する必要がある場合 —— トンネルモード SA に適用

  • IPsec プロトコル (IPsec protocol) —— AH または ESP

  • アルゴリズム (algorithms) —— AH に使用するもの、ESP に使用するもの、組み合わせモードに使用するもの、優先度の高い順に並べられます

注意: SPD が変更された場合に、既存の SA の処理に関してどのような情報を保持するかは、ローカルな問題です。