web-dev-qa-db-ja.com

攻撃者が暗号化されたテキスト、元のメッセージ、およびアルゴリズムを知っている場合、対称暗号化を使用すると、秘密を計算できるというのは本当ですか?

私はセキュリティ分野の初心者なので、素朴な質問をしてすみません。

私の理解では、対称暗号化を使用すると、攻撃者が暗号化されたテキスト、元のメッセージ、およびアルゴリズムを知っていれば、秘密を非常に簡単に計算できるということですか?

プレフェーズとして:

私は小さなカジノに初期セキュリティを実装しており、ゲーム中のクライアントサーバーインタラクションにSSLチャネルを使用することを検討しています。私を止めているのは、ゲームの状態のみを追跡するゲームオブザーバーをサポートすることです。したがって、オブザーバーが攻撃者になった場合、オブザーバーは暗号化されたメッセージ、元のメッセージ、および暗号化アルゴリズムを効果的に認識し、SSLセキュリティから何も除外しません。

3
mavarazy

いいえ、それは真実ではありません。

元のメッセージ(「プレーンテキスト」)を知りながらキーを回復できることand暗号化されたメッセージ(「暗号文」)andアルゴリズムは、-と呼ばれます。 既知の平文攻撃 。攻撃者が平文と暗号文を知っているだけでなく、実際にどちらかを選択できる場合、これは 選択平文攻撃 または 選択暗号文攻撃 になります。優れた暗号化アルゴリズムは、そのようなことに抵抗するはずです。つまり、既知の/選択された平文/暗号文攻撃が適用される場合、それがばかげた量の既知の平文(たとえば、数兆テラバイト)を必要とする場合でも、これは「ブレーク」としてカウントされ、アルゴリズムは「弱い」または「弱い」と言われます。壊れた」、少なくとも学術的な方法で。

そのような攻撃が知られていない暗号化アルゴリズムがいくつかあります(例: [〜#〜] aes [〜#〜] )。これは、そのような攻撃の検索が不足しているためではありません。したがって、これらのアルゴリズムは「安全」と見なされます。

10
Thomas Pornin

いいえ、実際にはそうではありません。その理由は、トラフィックの暗号化に秘密鍵が使用されていないためです。秘密鍵は、最初にエンドポイントによって相互に認証するために使用され、次に暗号化鍵を生成するためのプロセスで(ランダムデータとともに)使用されます。したがって、平文と暗号文を知っていれば、暗号化キーを見つけることができますが、秘密は不明のままです。

暗号化キーがわかれば、秘密の取得に取り掛かることができますが、使用できるものが何もないため、それはさらに困難になります。

0
GdD