1

ディクショナリから身を守り、リプレイ攻撃をブロックできる、2 つのパーティ間の基本的な安全なチャネルを実装しようとしています。

チャネルを保護する手段として RSA 公開鍵暗号システムを使用したいと考えています。ただし、次のシナリオが効果的かどうかを知りたいです。

  1. A が秘密鍵と公開鍵を生成する
  2. A が B に公開鍵を送る
  3. B は公開鍵でメッセージを暗号化します
  4. B は暗号化されたメッセージを A に送信します。
  5. これで、A は秘密鍵を使用してメッセージを復号化できます。

これですべて順調です。しかし、A が B に安全にメッセージを送信したい場合はどうなるでしょうか。これは、2 組の鍵が必要になるということですか。では、A は B の公開鍵を持ち、B は A の公開鍵を持っているでしょうか? これは本当ですか?これは実現可能ですか?また、ブロック リプレイ攻撃を防ぐために、何らかの形式のランダム ハッシュまたはパディングが必要になりますか?

4

1 に答える 1

1

Diffie-Hellman 鍵協定をご覧ください。これは、2 者が (共有) 秘密鍵を公に通信するだけで確立できるようにするためのプロトコルです。リプレイ攻撃からの保護は、リプレイされたメッセージが受信者によって復号化されないようにキーを頻繁に再ネゴシエートすること、および/または暗号化されたメッセージにタイムスタンプを含め、受信側で受け入れ可能なウィンドウを制限することによって実現できます。

于 2012-04-29T12:01:29.903 に答える