2017-09-15 16 views

答えて

0

ECDHはMITM攻撃

ファーストを避けることができないので、ここであなたが代わりにDSA(またはECDSA)のRSAを使用してこの問題を解決することができ、多くの方法の一つです:クライアント、そのECDHを送信する前に(DHの)公開鍵をワイヤー上に置くと、このECDH(またはDH)公開鍵をサーバーの公開RSA鍵で暗号化できます。そして、この方法では、サーバーはクライアントのECDHキーを知っている唯一のピアです。したがって、両側は中間の攻撃で人間に対して保護されます。もちろん、RSAを使用して別の鍵を暗号化するには、OAEPが必要です。

またはそれはまったく問題ありませんか?

あなたの場合、RSAの代わりにECDSAを使用すると、何も暗号化できません。したがって、設計するプロトコルで相互認証する必要があります。サーバーとクライアントは、公開ECDSAキーを以前に交換している必要があります。また、リモート公開ECDSAキーを認証するための何らかの種類のルート証明書を持つPKIが必要です。最後に、クライアントとサーバは、ちょうどこのために、これらの手順を実行する必要があります。

  • が受け取る、他のホストにこの情報を送信
  • 、そのECDSA秘密鍵とのECDH公開鍵に署名
  • 他のホストからこの情報、
  • チェック署名、
  • のチェックが失敗した場合は、話を停止し、署名が正しくチェックされている場合
  • は、DHアルゴリズムの終了を行います。
+0

DHE/ECDHE交換でRSA暗号化は使用されません。サーバは一時的なDH/ECDH鍵を送信し、既に 'ServerHello'を介して提示した証明書に関連付けられた秘密鍵を使用して署名します。 https://tools.ietf.org/html/rfc5246#section-7.4.3。 RSA暗号化は 'TLS_RSA_ *'という名前の暗号スイートでのみ使用され、クライアントはサーバにプリマスタシークレットを送信します。 – bartonjs

+0

あなたは正しいです、ありがとう(私はそれを考慮に入れて私の答えを変更しました) –

関連する問題