Loading article…
コンピュータセキュリティにおいて、リフレクション攻撃とは、双方向で同じプロトコルを使用するチャレンジレスポンス認証システムを攻撃する方法です。つまり、同じチャレンジレスポンスプロトコルが、双方の側で相手を認証するために使用されます。この攻撃の基本的な考え方は、ターゲットを騙して、自身のチャレンジに対する答えを提供させることです。[1]
攻撃
一般的な攻撃の概要は次のとおりです。
- 攻撃者はターゲットへの接続を開始します。
- ターゲットはチャレンジを送信して攻撃者の認証を試みます。
- 攻撃者はターゲットへの別の接続を開き、このチャレンジを自分のチャレンジとしてターゲットに送信します。
- ターゲットはチャレンジに応答します。
- 攻撃者はその応答を元の接続上のターゲットに送り返します。
認証プロトコルが慎重に設計されていない場合、ターゲットはその応答を有効なものとして受け入れ、攻撃者に完全に認証されたチャネル接続が 1 つ残されることになります (もう 1 つは単に放棄されます)。
解決
この攻撃に対する最も一般的な解決策のいくつかを以下に示します。
- 応答者は応答内に自身の識別子を送信するので、応答内に自身の識別子が含まれている場合はそれを拒否することができます。[2]
- アリスはボブへの接続を開始します。
- ボブはノンス Nを送信してアリスにチャレンジします。B → A: N
- アリスは、共有キーK abを使用して、自分の識別子とノンスに基づいて計算されたMACを送り返して応答します。A → B: MAC K ab {A, N }
- ボブはメッセージをチェックして MAC を検証し、A ではなく B で検証され、チャレンジで送信したものと同じ nonce で検証されることを確認し、そのメッセージがアリスからのものであり、過去に自分が送信したものではないことを確認してから、メッセージを受け入れます。
- 対象側が異議に応じる前に、まず開始側が異議に応じることを要求します。
- 2 つの方向間でキーまたはプロトコルが異なることを要求します。
参照
参考文献
- ^ Andrew S. Tanenbaum著『Computer Networks』、第4版、ISBN 0-13-038488-7、787-790ページ。
- ^ ロス・J・アンダーソン:セキュリティエンジニアリング:信頼できる分散システム構築ガイド、第1版、21ページ、ISBN 0-471-38922-6
