最大限の自動化(パスワード入力を除く)を使用してフォルダを暗号化しようとしています。 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をより良い方法で生成する方法についてアドバイスを与えることができますか?
... md5sumには衝突の弱点があるため、セキュリティ上の問題があると仮定します。
ここでは衝突攻撃は関係ありません。重要なのは、使用されるIVがまったく予測できない(つまり、バイアスがない-すべての出力が同じ確率を持つ)ことと、同じIVが同じ入力で使用されないことです。詳細については、 低品質の初期化ベクトルがCBCモードのセキュリティにどのように影響するか? を参照してください。
仮定して
echo $RANDOM
は適切なランダム値を返します…
ありません。 $RANDOM
in bashは 2ビットの状態と15ビットの出力を持つLCRNG を使用して実装されます。