9. Security Considerations (セキュリティに関する考慮事項)
9. Security Considerations (セキュリティに関する考慮事項)
BFD はネットワークインフラストラクチャの安定性 (ルーティングプロトコルなど) に結び付けられる可能性があるため, BFD セッションへの攻撃の影響は非常に深刻になる可能性があります: リンクが誤ってダウンしていると宣言されたり, または誤ってアップしていると宣言されたりする可能性があります。いずれの場合も, 効果はサービス拒否です。
システム間のリンクを完全に制御している攻撃者は, すべての BFD パケットを簡単にドロップしながら他のすべてを転送する (リンクが誤ってダウンしていると宣言される原因となる), または BFD パケットのみを転送して他のすべてを転送しない (リンクが誤ってアップしていると宣言される原因となる) ことができます。この攻撃は BFD によって防ぐことはできません。
能力の低い攻撃者からの脅威を軽減するために, BFD は BFD Control パケットのスプーフィングを防ぐための2つのメカニズムを規定しています。Generalized TTL Security Mechanism [GTSM] は, time to live (TTL) または Hop Count を使用して, オフリンク攻撃者がパケットをスプーフィングするのを防ぎます。Authentication Section は BFD Control パケットを認証します。これらのメカニズムについては, 以下で詳しく説明します。
BFD セッションが単一のリンク (物理的, または IPsec などのセキュアトンネル) を通じて直接接続されている場合, TTL または Hop Count は送信時に最大値に設定されなければならず (MUST), 受信時に最大値と等しいかどうかをチェックしなければなりません (MUST) (そうでない場合はパケットをドロップします)。この技術の詳細については [GTSM] を参照してください。BFD が複数のホップまたは非セキュアトンネル (Generic Routing Encapsulation (GRE) など) を通じて実行される場合, Authentication Section を利用すべきです (SHOULD)。
Authentication Section によって提供されるセキュリティレベルは, 使用される認証タイプによって異なります。Simple Password 認証は, 明らかに使用されるパスワードの機密性と同程度にしか安全ではなく, BFD セッションがパケット傍受の対象とならないインフラストラクチャ上で実行されることが保証されている場合にのみ考慮されるべきです。その主な利点は, 認証に必要な計算労力を最小限に抑えることです。
Keyed MD5 Authentication は, パケットを傍受してもキーを識別できないため, Simple Password Authentication よりもはるかに強力です。シーケンス番号のインクリメント間にリプレイ攻撃に対して脆弱です。シーケンス番号は, リプレイ攻撃への耐性と認証に必要な計算労力とのトレードオフで, 望むだけ少なく (または頻繁に) インクリメントできます。
Meticulous Keyed MD5 認証はさらに強力です。すべてのパケットに対してシーケンス番号をインクリメントする必要があるためです。すべてのパケットでシーケンス番号をインクリメントする必要があること, 受け入れ可能なパケットのウィンドウサイズが小さいこと, および初期シーケンス番号がランダム化されることにより, リプレイ攻撃の脆弱性が減少します。シーケンス番号が決定されている間のセッションの開始時には, まだ攻撃のウィンドウがあります。この認証スキームは, 送信および受信されるすべてのパケットで MD5 計算を必要とします。
SHA1 の使用は, MD5 よりも強力なセキュリティプロパティを持つと考えられています。このセクションの MD5 に関するすべてのコメントは SHA1 にも適用されます。
Keyed MD5/SHA1 と Meticulous Keyed MD5/SHA1 の両方は, より一般的な Hashed Message Authentication Code (HMAC) 構成 [HMAC] ではなく, データを計算する前に共有秘密鍵をデータに追加する "secret suffix" 構成 ("append only" とも呼ばれる) を使用します。この構成は BFD に適していると考えられていますが, BFD の追加の認証メカニズムの設計者は [HMAC] とその参照を読むことをお勧めします。
両方のシステムがセッションの開始時に Local Discriminator 値をランダム化する場合, 使用されている認証タイプに関係なく, リプレイ攻撃をさらに軽減できる可能性があります。Local Discriminator はセッション中いつでも変更できるため, このメカニズムは攻撃の軽減にも役立つ可能性があります。
BFD Echo パケットの使用のセキュリティへの影響は, それらのパケットがどのように定義されるかに依存します。その構造は送信システムに対してローカルであり, この仕様の範囲外であるためです。ただし, Echo パケットは送信システムによってのみ定義および処理されるため, 暗号化認証の使用は他のシステムが実際に生きていることを保証しません。攻撃者は Echo パケットをループバック (秘密鍵を知らなくても) し, リンクが誤ってアップしていると宣言される原因となる可能性があります。これは, BFD Control パケットに適切な間隔を使用することで軽減できます。[GTSM] は BFD Echo パケットに適用できますが, TTL/Hop Count はパケットのエコーの過程で1減少するため, 1ホップ離れた場所からのスプーフィングが可能です。