web-dev-qa-db-ja.com

メッセージを知っている場合、SSLまたはTLSを使用して安全なメッセージを「読み取る」ことはできますか?

セキュアな回線(SSLまたはTLSを使用してセキュアな回線)で通信していて、サーバーにメッセージを送信した場合。

私が送信する可能性が高いメッセージのリストを事前に知っている場合、誰かが盗聴してそのメッセージが何であるかを教えてもらえますか?.

例えば。安全な回線で「 注文66を実行 」というメッセージを送信します。誰かが盗聴していて、私がこの命令を送るのではないかと疑っていました。送信されたメッセージを同じ公開鍵で暗号化された同じメッセージと比較することで、私がその特定のメッセージを送信したことを確認できますか?.

20
user288447

いいえ、SSLは対称鍵を使用するため、攻撃者は取得したメッセージを復号化できません。

ただし、SSLはトラフィック分析攻撃に対して脆弱です。例えば。次のような非常に異なる長さの2つのメッセージがある場合

  1. 「注文66を実行」
  2. 「これは非常に非常に非常に非常に非常に非常に非常に非常に非常に非常に非常に非常に非常に非常に非常に非常に非常に非常に非常に非常に非常に非常に非常に非常に長いメッセージです。」.

攻撃者は、メッセージが2のいずれかでなければならないことを知っている場合、暗号化されたメッセージの長さに基づいて、送信したメッセージを知っています。

トラフィック分析攻撃の詳細: http://webcache.googleusercontent.com/search?q=cache:KKy5MbfirYkJ:https://www.cs.berkeley.edu/~daw/teaching/cs261-f98/ projects/final-reports/ronathan-heyning.ps +&cd = 4&hl = ja&ct = clnk&gl = us

42
limbenjamin

番号。

SSL/TLSの仕組み を参照してください。基本的に、データを転送するたびに、その特定のトランザクション用に生成された対称キーで暗号化されます。公開キーはサーバーのIDを確認するためにのみ使用されるため、攻撃者がそれを知っていても、暗号文を見ただけでは、送信したメッセージを知ることはできません。

13
Mark

SSLの場合、SSLの動作方法により、これは不可能です。メッセージは公開鍵で暗号化されません。

代わりに、公開鍵を使用して、対称セッション鍵について合意するために、2人の間で情報を共有します。このキーは「注文」の暗号化に使用されるため、交換されたキーが不明であるため、これを自分で複製することはできません。

7
M'vy

あなたの質問の別の部分に答えるには:いいえ、メッセージwasが公開鍵を使用して暗号化されていても、実際の非対称暗号化システムでは、攻撃者が可能性のリストを簡単に試して一致するものを探すことはできません暗号文。この厳密な懸念が、非対称暗号化が常に確率的暗号化スキームを使用して行われる理由です。この場合、暗号化プロセスにランダム性が注入されるため、同じメッセージが常に同じ方法で暗号化されるわけではありません。 RSAでは、これはパディング方式を使用して行われます。他の一部のシステムでは、コア操作にランダム性が含まれていますが、すべての場合において、暗号化プロセスには「乱数を選択」することが含まれています。公開鍵システムが安全であると見なされるための絶対的なベースライン要件は、たとえ攻撃者が暗号文が2つのメッセージのどちらに対応するかを、たとえそれらが(選択 2つのメッセージであり、暗号化する能力があっても)判別できないことです。彼らが望むものは何でも。

5
cpast

他の人が答えたように、それは一般的に不可能です。

ただし、メッセージの構造によっては、情報が漏洩する可能性が常にあります。オブザーバーは、パーティ間の暗号化されたメッセージフローを読み取り、サイズまたはフローに基づいてこれらのメッセージの意味の一部を取得できます。

4
Stephane