web-dev-qa-db-ja.com

パスワードベースのAES CBC暗号化文字列は、セキュリティを強化する必要がありますか?

Java私が書いたアプリケーションの場合、ユーザーから提供されたパスワードを取得し、ランダムに生成された512-ビットソルト:この鍵を使用して、AES-CBCモードの暗号化でファイルを暗号化し、その暗号化されたデータを使用して何かを行います。

気になるのは、誰かがパスワードを生成してから、暗号文の最初の数バイトを解読して、ゴミが出ていないかどうかを確認できることです。

私は偏執的ですか、それともできる追加の仕事はありますか?

たとえば、暗号文の部分的な解読を防ぐAESのモードはありますか?または、たくさんのキーをテストするプロセスを遅くする何か他に?

2
Lezorte

暗号文の一部を復号化する機能は重要ではありません。

たとえばディスク暗号化プログラムでは、固定(既知の)文字列を暗号文に追加して、パスワードが失敗するかどうかを確認するのが一般的です。使用しているモードに関係なく、これは重要なポイントではありません。

CBCモードの重要な弱点は1つだけです。CBCモードは改ざん攻撃を防止しません。つまり、攻撃者は暗号文の一部を推測し、その目的に応じてそれを変更できます。可能な場合は、GCM、EAX、CCMまたはOCBモードを使用します。

1
BeloumiX