web-dev-qa-db-ja.com

AES暗号化のIVを決定する方法、このアプローチで考えられるセキュリティ問題

最大限の自動化(パスワード入力を除く)を使用してフォルダを暗号化しようとしています。 bashスクリプト内で、次のことを行います。

echo $RANDOM | md5sum | cut -d' ' -f1 > iv

そしてそれを使用します:

openssl aes-128-cbc -md sha256 -iv $(cat iv) -in folder.7z -out folder.7z.enc

echo $RANDOMが適切なランダム値を返すと仮定すると、その値にmd5sumを使用し、md5sumには衝突の弱点があるため、セキュリティ上の問題があると思いますが、これはopensslの正しいiv文字列を生成する方法を見つけた方法。誰かがこのアプローチで問題になる可能性があることを正確に指摘し、疑似ランダムivをより良い方法で生成する方法についてアドバイスを与えることができますか?

3
stackoverflower

... md5sumには衝突の弱点があるため、セキュリティ上の問題があると仮定します。

ここでは衝突攻撃は関係ありません。重要なのは、使用されるIVがまったく予測できない(つまり、バイアスがない-すべての出力が同じ確率を持つ)ことと、同じIVが同じ入力で使用されないことです。詳細については、 低品質の初期化ベクトルがCBCモードのセキュリティにどのように影響するか? を参照してください。

4
Steffen Ullrich

仮定して echo $RANDOMは適切なランダム値を返します…

ありません。 $RANDOM in bashは 2ビットの状態と15ビットの出力を持つLCRNG を使用して実装されます。

8