OpenSSL 1.1.1b警告:OpenSSL 1.1.0gで暗号化されたファイルを復号化するときは、-iterまたは-pbkdf2を使用することをお勧めします。

OpenSSL 1.1.1b警告:OpenSSL 1.1.0gで暗号化されたファイルを復号化するときは、-iterまたは-pbkdf2を使用することをお勧めします。

今日これを受けました。警告するCygwinのOpenSSLは、次のようないくつかのパッケージを更新した後にリリースされましたopenssl

***警告:廃止予定のキー派生を使用してください。またはを
使用する方が良いです。-iter-pbkdf2


これCygwinで使用されるOpenSSLのバージョン以前は:

OpenSSL 1.1.1b  26 Feb 2019

BluRayによって作成されたバックアップの復号化中にこれが発生しました。Linux Mint 19.1ここで、OpenSSLバージョンは明らかに古い:

OpenSSL 1.1.0g  2 Nov 2017

暗号化と復号化コマンド(-d最後に追加するだけ)は次のとおりです。

openssl enc -aes-256-cbc -md sha256 -salt -in "$InputFilePath" -out "$OutputFilePath"

この警告はどういう意味ですか?将来のバックアップでこの問題を回避するためにできることはありますか?

ベストアンサー1

OpenSSLの2つのメジャーバージョンとSynopsysの最新バージョンを比較するために、マニュアルページを引用します。

OpenSSL1.1.0

openssl enc -ciphername [-help] [-ciphers] [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a/-base64] [-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-S salt] [-salt] [-nosalt] [-z] [-md digest] [-p] [-P] [-bufsize number] [-nopad] [-debug] [-none] [-engine id]

OpenSSL1.1.1

openssl enc -cipher [-help] [-ciphers] [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a] [-base64] [-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-S salt] [-salt] [-nosalt] [-z] [-md digest] [-iter count] [-pbkdf2] [-p] [-P] [-bufsize number] [-nopad] [-debug] [-none] [-rand file...] [-writerand file] [-engine id]

明らかに大きな違いがあります。これはこの質問を念頭に置いて、1.1.0には2つのスイッチがないことです。

  • pbkdf2

  • iter


これで、基本的に2つのオプションがあります。警告を無視するか、暗号化コマンドを次のように調整します。

openssl enc -aes-256-cbc -md sha512 -pbkdf2 -iter 1000000 -salt -in InputFilePath -out OutputFilePath

このスイッチの位置:

  • -aes-256-cbcあなたしなければならない最大保護または128ビットバージョンについては、3DES(Triple DES)がしばらく使用されていないを参照してください。Triple DESは2017年にNISTによって廃止されました。、AESはすべての最新CPUによって大幅に加速されますが、CPUAES-NI命令セット例えばgrep aes /proc/cpuinfo;勝利、勝利

  • -md sha512 SHA-256と比較して、SHA-2機能ファミリーは高速です。より安全かもしれませんが。勝利、勝利ただし、これは新しいバージョンでは変更される可能性があります。SHA命令セット最新のCPUでは

  • -pbkdf2:使用PBKDF2(パスワードベースの鍵導出機能2)アルゴリズム

  • -iter 1000000マニュアルページを引用して、パスワードのデフォルトの繰り返し回数(10000)を上書きします。

    暗号化キーを派生するときは、パスワードに指定された繰り返し回数を使用します。値が高いほど、生成されたファイルを無差別に代入するのに必要な時間が長くなります。このオプションを使用すると、PBKDF2アルゴリズムを使用してキーを派生できます。


繰り返しのデフォルト値は文書化されていませんが、apps/enc.c次のようにファイルに割り当てられます。

case OPT_PBKDF2:
    pbkdf2 = 1;
    if (iter == 0)
        iter = 10000;
    break;

-d復号化するには、元のコマンドラインの最後にスイッチを追加するだけです。

おすすめ記事