web-dev-qa-db-ja.com

最近のCPUとAES復号に関するこれらの主張は正しいですか?

この質問の形式が原因で、このサイトに投稿するか Skeptics に投稿するのとは対照的でしたが、おそらく私はおそらくここに行きました決定的な答えを得る可能性が高くなります。

InfoSecをテーマにしたTwitterアカウント @ SwiftOnSecurity によると、より大きなスレッドの一部である単一のツイート こちらをご覧ください

面白い事実:最近のCPUは、3%の使用率のように、毎秒数ギガバイトでAESを復号化できます。真剣にこれはもう考慮事項ではありません。

私にとって、ここで「現代的」という言葉は「平均的」を意味するように思われ、これが私が最初に主張に出くわしたときに誇張された疑いを抱かせたのはこのためです。 AES暗号化を採用したWinRARファイルをパスワードクラッキングするためにいくつかの異なるRARクラッキングプログラムを使用した私自身の経験に基づいて、平均的なCPUがこれを行うことができるとは信じがたいです。

デュアルコアi3-2100で平均200 p/sしかできませんでした。私が使用したすべてのプログラムは、1日の大半を費やして、数百万のパスワードの平文辞書を処理しました。さらに、これはalwaysであり、CPUを100%の使用率で限界まで押し上げることによって達成されました。確かに、i3-2100はもはや最近のCPUではないので、おそらく昨年にリリースされたCPUが劇的に改善された可能性があるため、ここでなぜ次の質問をします。

2017年に製造された平均CPUは、毎秒数ギガバイトでAESを復号化できますか?

そのようなCPUは、その使用量のわずか3%で実行できますか?

問題の引用は、トピックを誤って表している、または過度に単純化していますか、それともかなり正確ですか?

免責事項:私は決してInfoSecの専門家ではありませんし、情報セキュリティを深く研究したこともないので、ここで許されない無知の場所から話をしている場合は、事前に謝罪します。

12
Hashim

AES復号キーを使用は、最新のIntel CPUではGB /秒で確実に発生します。 Brute-forcing AESキースペース全体(たとえば、2 ^ 128の可能性)は、今日veryマージン(宇宙の時代よりも長い時間)によって不可能と見なされています。

AESは非常に強力であると見なされているため、既知の平文攻撃や差分暗号解読は、無理な時間(数十億年)で平文を取得するための力ずくと比較できます。

AES暗号化は同様の速度を実現するため、SwiftOnSecurityは、HTTPSがパフォーマンスに与える影響についての主張は時代遅れであると主張しています。

10
flakeshake

こんにちは、引用されたツイートを質問に書き込んだ@SwiftOnSecurityです。

私の3%の主張を無視してください。これは、私の中心的な点に奉仕するために私がすべきではなかったオフハンドのコメントでした。私はそのような些細な数値を使用して、一般にオーバーヘッドは問題ではなく、コンシューマーCPUは不条理な復号化速度の要件も処理できることを強調して誤りを犯しました。

コアAES-NI命令はなんらかの理由でCPU使用率から除外され、コアを最大化しないと思ったので、正直に言って10%以下だと思いました。これが「3%」の主張の推進力でした。私はCPUアーキテクチャについてほとんど知識がなく、ここに示されています。

ツイッターに戻り次第修正を行います。 (現在休憩中)

繰り返しになりますが、誤解を招く情報を深くお詫び申し上げます。私は特定の技術的主張において一般的に信頼できるように努めています。 StackExchangeで質問をするのに十分だと思ったのは残念です。

よろしく、
迅速

6
SwiftOnSecurity

はい、少なくとも「3%」の部分を無視すれば、主張は基本的に述べたとおり真実です。たとえば、 これらのベンチマーク結果 によると、Intel Core i3-6100 3.70 GHz CPU(これは、前世代のIntelのローエンドデスクトップCPUラインからのものであるため、おそらく「平均最新のCPU」)は、シングルコアで毎秒3.28ギガバイトのAES暗号化(またはおそらく解読)を行うことができ、両方のコアを使用するとその2倍近くになります。

申し立ての「3%の使用率」の部分が何を意味するのかはよくわかりません。つまり、暗号化を行うと、他の同時処理が3%だけ遅くなることを意味するため、現実的ではないように見えます。ハイパースレッディングを使用すると、おそらくそのCore i3 CPUで最大3つの他のスレッドを同時に実行しながら、完全なシングルコアAESスループットに近いものを維持できますが、それでもCPU使用率は3%ではなく25%です。たとえば、16コアのハイエンドサーバーCPUにアップグレードした場合、ハイパースレッディングを使用すると、最大31の他のスレッドを同時に実行でき、CPU使用率は3.125%になります。それがもはや「平均的」ではないにしても、それが主張の目的であるかもしれません。

では、なぜパスワードのクラックがまだ遅いのでしょうか。それは遅いために設計されているためです。具体的には、合理的に適切に設計されたパスワードベースの暗号化スキームは、意図的に遅い反復 キー導出関数 を使用して キーストレッチング を実装します。基本的に、パスワードを入力すると、ソフトウェアが最初に行うことは ハッシュ 数千回または数百万回または数十億回です。このすべての繰り返しハッシュの最終結果を使用して、実際のAESキーが生成されます。最近のCPUでは、すべてのハッシュはほんの数秒しかかかりません。そのため、通常のユーザーにはほとんど気づかれません。ただし、各パスワードをハッシュする必要がある回数に比例する係数により、ブルートフォースパスワード推測の試行を実質的に遅くします。

4
Ilmari Karonen