私は約20000ファイル(約9GB)を持っていますが、それぞれのファイルはopenssl enc -aes-256-cbc -in infile -out outfile -k mypassword
コマンドを使用して暗号化されています。各ファイルは同じパスワードを使用します。私のopensslバージョンは1.1.0e
です。
これらのファイルをオフサイトの場所にバックアップすると、既知の攻撃に対して脆弱になりますか?そうでない場合、私の選択肢は何ですか?
OpenSSLのコマンドラインユーティリティを汎用の暗号化に使用しないでください。実際には、ライブラリの内部暗号化ルーチンのテストとしてのみ設計されています。このため、実際の機密性と整合性が必要な場合に使用すると、いくつかの固有の問題があります。
-md sha512
を使用してハッシュを変更することは可能ですが、それでもキーストレッチは使用されません。-md md5
が必要でした。enc
は機能しましたが、復号化は機能しませんでした。これはまだ事実かもしれません。これはenc
コマンドに固有のものではありません。 OpenSSLコマンドラインユーティリティには、ライブラリのテスト以外の目的でOpenSSLコマンドラインユーティリティを使用しようとすると、別の問題があります。別の例は、SSLまたはTLSを介してサーバーに接続するために使用されるs_client
コマンドです。これは、ターゲットの証明書を検証しません。全体として、OpenSSLユーティリティは使用しないでください。 GnuPGを使用するだけです。
OpenSSLを直接使用するのは、完全にランダムなキーまたは特定の未加工のキーとIVを使用して何かを暗号化する必要があり、メッセージの整合性を気にしなかった場合のみです。たとえば、カーネルによってシードされた疑似ランダムストリームをstdoutに書き込むには、次のようにします。
openssl aes-128-ctr -nosalt -k $(xxd -l16 -c16 -ps /dev/urandom) -in /dev/zero
同様に、生の鍵と生のIVの両方が16進数でわかっている場合(暗号鍵の導出に-md
の必要性を省略)、プレーンな暗号化データのblobを復号化するには、次のようにします。
openssl aes-128-cbc -d -nosalt -K $hex_key -iv $hex_iv -in infile -out outfile
しかし、汎用のファイル暗号化についてはどうでしょうか。 GnuPGを使用するだけです。