Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

高度なMACsec機能の設定

メディアアクセス制御セキュリティ(MACsec)は、イーサネットリンク上のほぼすべてのタイプのトラフィックに安全な通信を提供する業界標準のセキュリティ技術です。MACsecは、直接接続されたノード間のイーサネットリンク上にポイントツーポイントセキュリティを提供し、サービス拒否、侵入、中間者攻撃、なりすまし、受動的盗聴、プレイバック攻撃など、ほとんどのセキュリティ上の脅威を特定して防止することができます。MACsec は IEEE 802.1AE で標準化されています。

暗号化オプションの設定

暗号化アルゴリズムを割り当てる

インターフェイスに出入りするすべてのトラフィックを、次のいずれかのMACsec暗号化アルゴリズムを使用して暗号化できます。

  • gcm-aes-128—拡張パケット番号(XPN)モードを使用しない GCM-AES-128 暗号スイート

  • gcm-aes-256—XPN を使用しない GCM-AES-256 暗号スイート

  • gcm-aes-xpn-128—XPN モードを使用した GCM-AES-XPN_128 暗号スイート

  • gcm-aes-xpn-256—XPN モードを使用した GCM-AES-XPN_256 暗号スイート

MACsec 暗号化が有効で、暗号化アルゴリズムが指定されていない場合、デフォルト(gcm-aes-128)暗号化アルゴリズムが XPN モードなしで使用されます。

手記:

40G および 100G リンクで MACsec を使用する場合は、XPN を使用することを強くお勧めします。

手記:
  • XPNモードの暗号化アルゴリズムは、MXシリーズMPC7E-10Gルーターではサポートされていません。

  • MIC-3D-20GE-SFP-E および MIC-3D-20GE-SFP-EH では、GCM-AES-128 のみがサポートされています。

たとえば、 ca1 という名前の接続アソシエーションで GCM-AES-XPN-128 アルゴリズムを使用して暗号化する場合は、次のようにします。

暗号化の無効化

MACsecのデフォルトの動作は、リンクを通過するトラフィックを暗号化することです。エンドポイントの認証とリンクの整合性の保証にのみMACsecを使用したい場合は、暗号化を無効にすることができます。これは整合性のみモードと呼ばれます。整合性のみモードは、MACsec を複数のホップで伝送する際に、暗号化されていないペイロードを表示させる必要がある場合に便利です。

暗号化を無効にすると、トラフィックはクリアテキストでイーサネットリンクを介して転送されます。リンクを監視する場合、リンクを通過するイーサネット フレームで暗号化されていないデータを表示できます。ただし、MACsecヘッダーは引き続きフレームに適用され、すべてのMACsecデータ整合性チェックがリンクの両端で実行され、リンクで送受信されるトラフィックが改ざんされておらず、セキュリティ上の脅威ではないことを確認します。

暗号化を無効にするには、次のコマンドを使用します。

オフセットを設定する

オフセットは、完全な暗号化と暗号化なしのどちらかのオプションを提供します。ペイロードの設定バイト数を公開し、残りを暗号化するようにオフセットを構成します。これは、中間ロードバランシングや、スイッチツーホストリンクの場合、ホストでの負荷分散に使用できます。

デフォルトのオフセットは 0 です。暗号化が有効で、 offset が設定されていない場合、接続性アソシエーション内のすべてのトラフィックが暗号化されます。

オフセットを 30 に設定すると、IPv4 ヘッダーと TCP/UDP ヘッダーは暗号化されず、残りのトラフィックは暗号化されます。オフセットを 50 に設定すると、IPv6 ヘッダーと TCP/UDP ヘッダーは暗号化されず、残りのトラフィックは暗号化されます。

通常、機能が機能を実行するためにオクテット内のデータを確認する必要がある場合は、最初の 30 オクテットまたは 50 オクテットを暗号化せずにトラフィックを転送しますが、それ以外の場合は、リンクを通過するフレームの残りのデータを暗号化します。特にロード バランシング機能では、通常、トラフィックを適切にロード バランシングするために、最初の 30 オクテットまたは 50 オクテットの IP ヘッダーと TCP/UDP ヘッダーを確認する必要があります。

オフセットを設定するには、次のコマンドを使用します。

たとえば、 ca1 という名前の接続性の関連付けでオフセットを 30 に設定する場合:

事前共有鍵のヒットレスロールオーバーキーチェーンの設定(ルーター間リンクでMACsecを有効にする場合に推奨)

リリース 17.4R1 より前の静的接続アソシエーション キー(CAK)を使用した MACsec 実装では、ユーザは接続アソシエーションごとに 1 つの静的 CAK を設定できます。CAK の設定が変更されるたびに、MACsec セッションが中断され、ピア セッションがリセットされるか、ルーティング プロトコルが中断されます。

セキュリティを強化し、CAK 構成が変更されたときにセッションがドロップされないようにするために、ヒットレス ロールオーバー キーチェーン機能が実装されています。この実装では、複数のセキュリティキー、キー名、および開始時刻を持つキーチェーンが使用されます。キーチェーンの各キーには、一意の開始時間があります。次のキーの開始時刻に、現在のキーから次のキーへのロールオーバーが発生し、次のキーが現在のキーになります。ヒットレス ロールオーバー キーチェーン機能の実装により、MACsec キー アグリーメント(MKA)プロトコルは、CAK 設定が変更されたときにセッションをドロップすることなく、MACsec セッションを正常に確立します。

PSK(事前共有キー)ヒットレスロールオーバーキーチェーンを使用してMACsec設定を成功させるには、以下を行います。

  • 各キーのキーチェーン名、キー、および開始時刻は、両方の参加ノードで同じである必要があります。

  • キーチェーン名、キー、および開始時刻の順序は、両方の参加ノードで同じである必要があります。

  • 参加ノードで時刻を同期する必要があります。

既存の authentication-key-chains コマンドと macsec connectivity-association コマンドは、ヒットレス ロールオーバー キーチェーンを実装するために使用され、次の 2 つの新しい属性が追加されています。

  • key-name- 認証キー名、この key-name はMACsecのCKNとして使用されます。

  • pre-shared-key-chain- 事前共有接続性の関連付けキーチェーン名。

PSK ヒットレス ロールオーバー キーチェーン設定で MACsec を使用してルーター間のイーサネット リンクを保護するには:

手記:

以下のステップは、両方の参加ノードで同じ順序で実行してください。

  1. 参加ノードの時刻を同じ NTP サーバに同期します。

    たとえば、NTP サーバー 192.168.40.1 に従って日付と時刻を設定するには、次のように入力します。

  2. キーチェーン内の一連の PSK を設定します。キーチェーンは、セキュリティキー、キー名、および開始時刻で構成されます。

    キーチェーンを設定するには:

    1. 使用するシークレット パスワードを作成します。これは、最大 64 文字の 16 進数の文字列です。文字列が引用符で囲まれている場合、パスワードにはスペースを含めることができます。キーチェーンのシークレット データは CAK として使用されます。

      たとえば、キーチェーン macsec_key_chain とキー 1 のシークレット パスワード 01112233445566778899aabbccddeeff を作成するには、次のように入力します。

    2. 認証キー名を設定します。これは、最大 32 文字の 16 進数の文字列です。

      たとえば、キー名 01112233445566778899aabbccddeefe を作成するには、次のように入力します。

    3. 事前共有ロールオーバー キーチェーンを開始する時刻を設定します。

      たとえば、01112233445566778899aabbccddeefe のキー名を 2017-12-18.20:55:00 +0000 にロールオーバーを開始する場合は、次のように入力します。

  3. 新しく作成したキーチェーンを MACsec 接続の関連付けに関連付けます。
    1. 接続アソシエーションのMACsecセキュリティモードを設定します。

      例えば、セキュリティー・モードstatic-cakで接続性の関連付けca1を設定するには、次のように入力します。

    2. 事前共有キーチェーン名を接続性の関連付けに関連付けます。

      たとえば、キーチェーン名macsec_key_chainを接続の関連付け ca1 に関連付ける場合は、次のように入力します。

  4. 設定された接続の関連付けを、指定されたMACsecインターフェイスに割り当てます。

    例えば、接続性アソシエーションca1をインターフェイスge-0/0/1に割り当てるには、次のようにします。

フェール オープン モードでの MACsec 鍵合意プロトコルの設定

MACsecのフェールオープンモードを設定して、MKAセッションが非アクティブのときにトラフィックがドロップされるのを防ぐことができます。これは、情報セキュリティよりもネットワークの可用性を優先するサービスプロバイダに推奨されます。

MACsecは、MACsecで保護されたリンクで送信されるイーサネットフレームにMACsecヘッダーを付加することで、データの整合性を維持します。MKA セッションがアクティブな場合、MACsec ヘッダーを持つフレームに対してのみリンク上のトラフィックが許可されます。MKA セッションが非アクティブの場合、フレームは MACsec ヘッダーを受信しません。イングレスとエグレスの両方のすべてのトラフィックがドロップされます。唯一の例外は EAPoL トラフィックです。

フェールオープンモードは、 should-secure CLIステートメントを使用して設定できます。これにより、MKAセッションが非アクティブの場合でも、MACsecで保護されたリンク上のトラフィックが許可されます。トラフィックは、MACsecヘッダーなしのクリアテキストとして送信されます。

MKA プロトコルをフェール オープン モードで設定するには:

リプレイ防御の設定

MACsecは、MACsecで保護されたリンク上の各パケットにID番号を割り当てます。リプレイ防御が有効になっている場合、受信インターフェイスはMACsecで保護されたリンクを通過したすべてのパケットのID番号をチェックします。パケットが順不同で到着し、パケット番号の差がリプレイ防御ウィンドウ サイズを超えた場合、受信インターフェイスはそのパケットをドロップします。

例えば、リプレイ保護ウィンドウのサイズが 5 に設定されていて、ID 1006 が割り当てられたパケットが ID 1000 を割り当てられたパケットの直後に受信リンクに到着した場合、ID 1006 のパケットはリプレイ保護ウィンドウの範囲外になるためドロップされます。

リプレイ防御は、中間者攻撃への対策に役立ちます。イーサネットリンク上で中間者攻撃者がリプレイしたパケットは、順序どおりに受信リンクに到着するため、リプレイ保護により、再生されたパケットがネットワーク経由で転送されるのではなく、ドロップされるようにすることができます。

手記:

再生ウィンドウのサイズを 0 に設定することで、すべてのパケットが順番に到着するように要求できます。パケットが順不同で到着することが予想される場合には、リプレイ保護を有効にしないでください。

リプレイ防御を有効にするには、次のコマンドを使用します。

たとえば、接続アソシエーション ca1でウィンドウ サイズ 5 のリプレイ保護を有効にするには:

制限付き遅延保護の設定

制限付き遅延保護を設定して、2 秒以上の遅延後にメディア アクセス制御セキュリティ(MACsec)フレームが配信されないようにすることができます。これにより、中間者攻撃によるMACsecフレームの遅延が検出されないことがわかります。

制限付き遅延保護を構成する場合は、リプレイ保護も構成する必要があります。これは、重複パケットおよびリプレイパケットが許可されるウィンドウです。制限付き遅延は、リプレイ保護よりも優先されます。制限付き遅延保護の効果を高めるには、ウィンドウ サイズの値を小さくします。

制限付き遅延保護を構成する前に、リプレイ保護を構成する必要があります。 リプレイ防御の設定を参照してください。

制限付き遅延保護を設定するには、次のコマンドを使用します。

手記:

制限された遅延は CPU 使用率に影響を与え、パフォーマンスを低下させる可能性があります。有界遅延は、どうしても必要なインターフェイスでのみ設定することを推奨します。

フォールバック PSK による MACsec の設定

静的 CAK セキュリティ モードを使用して MACsec を有効にすると、ポイントツーポイント イーサネット リンクの両端のデバイス間で事前共有鍵(PSK)が交換されます。PSK には、接続性アソシエーション名(CKN)と接続性アソシエーション キー(CAK)が含まれています。MACsecセッションを確立するには、PSKがデバイス間で一致する必要があります。不一致がある場合、セッションは確立されず、すべてのパケットがドロップされます。

プライマリ PSK が接続の確立に失敗した場合のトラフィック損失を防ぐために、フォールバック PSK を設定することができます。フォールバック PSK は、最初の MACsec ネゴシエーションで主キーが一致しない場合に使用されます。

MACsecセッションがすでに確立されていて、プライマリPSKが一方のデバイスで変更され、もう一方のデバイスでは変更されていない場合、結果として生じる不一致は、古いプライマリPSKを使用して解決されます。古いプライマリ PSK は、前述の PSK と呼ばれる一時キーです。

フォールバックPSKが設定されていると、次のいずれかのキーでMACsecセッションをセキュリティで保護できます。

  • プライマリPSK(設定可能)- 優先キー。

  • フォールバックPSK(設定可能):プライマリPSKがMACsecセッションの確立に失敗した場合に使用されます。

  • 先行するPSK(設定不可):新しいプライマリPSKが設定されると、古いプライマリPSKが先行するPSKとなります。

各キーの CAK の状態は、ライブ、アクティブ、または進行中のいずれかです。各ステータスの説明については、 表 1 を参照してください。

表 1: CAK の状態の説明
CAK ステータス の説明

住む

  • CAKはMKAによって検証されています。

  • MACsecセッションはライブです。

  • SAK は、このキーを使用して正常に生成されます。

  • CAK は、MACsec セッションの暗号化と復号化に使用されます。

  • MKA helloパケットは、設定された間隔でこのキーに対して送受信されます。

能動

  • CAKはMKAによって検証されています。

  • MACsecセッションはライブです。

  • SAK は、このキーを使用して生成されません。

  • CAKは、MACsecセッションの暗号化および復号化には使用されません。

  • MKA helloパケットは、設定された間隔でこのキーに対して送受信されます。

処理中

  • 有効なライブピアまたは潜在的なピアが見つかりません。

  • ピアを見つけるための MACsec セッションが進行中です。

  • MKA helloパケットは、設定された間隔でこのキーに送信されます。

キーの不一致は、MACsecリンクの片側で新しいPSKが設定され、もう一方が誤って設定されているか、新しいキーで設定されていない場合に発生します。フォールバック動作は、PSK のどのコンポーネント (CAK、CKN、またはその両方) が変更されるかによって異なります。各不一致のシナリオを以下に説明します。

  • CAK が変更され、CKN が同じままである場合、既存の MACsec セッションは切断されます。新しいセッションは、古い CKN と新しい CAK 値で開始されます。

  • CKN が変更され、CAK が同じままである場合、既存の CAK とペアになっている古い CKN が先行 PSK になり、セッションは先行 PSK でライブになります。新しく作成した CKN と CAK を使用して新しいセッションが開始され、ピア ノードも同じ CKN で設定されるまで進行中になります。

  • CAK と CKN の両方が変更された場合、古い CAK+CKN のペアが先行する PSK になり、セッションは先行する PSK でライブになります。新しい CAK+CKN ペアで新しいセッションが開始され、ピア ノードも同じ CAK+CKN で設定されるまで進行中です。

手記:

先行する PSK はフォールバック PSK よりも優先されるため、セッションが先行する PSK とライブである場合、フォールバック PSK は有効になりません。フォールバック PSK を使用してセッションをライブにする場合は、 disable-preceding-key ステートメントを構成する必要があります。

フォールバック PSK は、事前共有キーチェーンでサポートされています。フォールバック PSK は、事前共有キーまたは事前共有キーチェーンと共に設定できます。事前共有鍵と事前共有鍵チェーンは相互に排他的です。

フォールバックPSKのみが構成され、プライマリPSKがない場合、両方のデバイスがフォールバックPSKとのセッションの確立を試みます。セッションが立ち上がると、フォールバック PSK から派生した SAK がデータ トラフィックの暗号化に使用されます。確立されたセッションが切断された場合、デバイスはセッションの再確立を試行し続け、セッションが再確立されるまでトラフィックはドロップされます。

フォールバック PSK は、接続アソシエーション (CA) の一部として設定されます。CA は、すべてのインターフェイスに対してグローバルに設定することも、インターフェイスごとに設定することもできます。これにより、インターフェイスごとに異なるフォールバック キーを使用できます。

フォールバック PSK を設定するには、CA の一部として CAK と CKN を構成します。

フォールバック PSK 構成には、次の制限が適用されます。

  • フォールバック CAK と CKN は、事前共有キー CKN と CAK、または同じ CA のキーチェーンで構成されているキーと一致しないようにする必要があります。

  • フォールバック キーを構成するには、セキュリティ モード構成が存在する必要があります。

  • 構成された暗号スイートのキー長の制限は、フォールバック CAK と CKN に適用されます。

GRES による MACsecの設定

グレースフル スイッチオーバー(GRES)機能により、冗長ルーティング エンジンを搭載したスイッチまたはルーターは、1 つのルーティング エンジン(RE)に障害が発生した場合でも、パケットの転送を継続できます。REスイッチオーバー中に中断のないサービスを提供するようにMACsecを設定できます。

MACsec Key Agreement(MKA)プロトコルは、ポイントツーポイントMACsecリンク上の2つのノード間のMACsecセッションを維持します。MKAプロトコルは、2つのノード間のコントロールプレーンレベルで動作します。1 つのノードが鍵サーバーとして機能し、セキュア・アソシエーション鍵 (SAK) を生成してリンクを保護します。

ローカル ノードが RE スイッチオーバーを開始すると、コントロール プレーンでの MACsec セッションを中断するようにリモート ピア ノードに要求が送信されます。データ プレーンでは、一時停止中もトラフィックはポイントツーポイント リンクを通過し続けます。サスペンド前にプログラムされた SAK は、スイッチオーバーが完了するまで使用され続けます。スイッチオーバー後、鍵サーバーはリンクを保護するための新しい SAK を生成します。鍵サーバーは、MACsec が使用可能になっている限り、リンク上で SAK を定期的に作成および共有し続けます。

MACsec に対して GRES を有効にするには、RE スイッチオーバー時に一時停止要求を送信するように、ローカル ノードで suspend-for ステートメントを設定する必要があります。また、 suspend-on-request ステートメントを使用して、中断要求を受け入れるように鍵サーバーとして機能するノードを構成する必要もあります。それ以外の場合、鍵サーバーは中断要求を拒否し、MACsec セッションが終了します。

suspend-for ステートメントと suspend-on-request ステートメントを設定する場合、GRES とノンストップ ルーティングも設定する必要があります。

手記:

GRES 中は、次の MACsec 機能が無効になります。

  • プライマリ、フォールバック、または先行キーの切り替え。

  • キーチェーンキースイッチ。

  • SAK キー更新タイマー。

MACsec に対して GRES を有効にするには、ローカル ノードで次の設定を使用します。

  1. グレースフルスイッチオーバーを設定します。
  2. ノンストップルーティングを設定します。
  3. RE スイッチオーバーの開始時に中断要求を送信するようにノードを設定します。
  4. (鍵サーバーのみ)中断要求を受け入れるようにノードを構成します。