archive で "deprecated key derivation used"出力される (OpenSSL のワーニング)
KEINOS opened this issue · 1 comments
KEINOS commented
bin/archive の openssl の暗号/復号でワーニングが出力されている。
-iter
や-pbkdf2
を指定すると、互換性のない仕様変更となると思われるので、現状はワーニングを出力する旨のテストを記載している。すべての環境で同じワーニングがでるのかは未確認。*** WARNING : deprecated key derivation used. Using -iter or -pbkdf2 would be better.( #47 (comment) より)
Issue 対応について
この Issue は、WARNING の英語表記を日本語にするだけとします。
-iter
の回数や、相手が -pbkdf2
に対応していない場合などの仕様も決まっていませんが、セキュリティリスクがあることは明確なので、日本語で表示させることで QiiCipher の不具合ではないことを明確化するためです。
OpenSSH 7.2 以降で -pbkdf2
は使えるらしいので、#23 でディスカッションしている OpenSSL と OpenSSH の minimum バージョンの方向性が見えてきたら -pbkdf2
をデフォルトにしてもいいかもしれません。
参考情報
-
deprecated key derivation used.
- TL; DR
- OpenSSH 8.3 以降と OpenSSL v1.* の組み合わせで表示されるワーニング
- TS; DR
openssl enc
などで-salt
オプションを有効(デフォルトで有効)にした状態かつ-pbkdf2
オプションが指定されていない、つまり古い関数(pbkdf1
=function 1
)が使われている状態で OpenSSH が呼び出されると表示される。- "OpenSSH 8.3 released (and ssh-rsa deprecation notice)" | Linux Weekly News @ lwn.net
- TL; DR
-
Using -iter or -pbkdf2 would be better
- TL; DR
- このまま使えるが、
-iter
オプションでキーストレッチ回数を指定するか、-pbkdf2
でパスワード・ハッシュにfunction 2
(RSA SHA-2)を使わせる設定をすることをオススメしている。
- このまま使えるが、
- キーストレッチ回数
- 暗号化もしくは復号する際に使われる内部キーの作成を再帰的に繰り返す回数(イテレーションの回数)。キー作成を n 回繰り返すことで、復号時に遅延させる仕組み。これにより、ローカルでの総当たり攻撃時に 1 回ごとの復号チェックにかかる時間を伸ばして手間をかけさせる手法。
key derivation
- 鍵導出関数、つまり「パスワード・ハッシュ関数」のこと。共通鍵暗号でパスコード付きの鍵を使う際に、そのままパスコードを使うのではなく、パスコードに
salt
値を付けてハッシュ化した値をパスコードとすることで強度を強くさせる手法があり、「パスワード・ハッシュ関数」は専用(パスワード専用)のハッシュ関数のことを言う。その際のアルゴリズムに、デフォルトでSHA-1
を使うが-pbkdf2
オプションを使うとSHA-2
のアルゴリズムを使う。- 「md5 と sha-1 のセキュリテイについて」 | hashアルゴリズムとハッシュ値の長さ一覧 @ Qiita
- 鍵導出関数、つまり「パスワード・ハッシュ関数」のこと。共通鍵暗号でパスコード付きの鍵を使う際に、そのままパスコードを使うのではなく、パスコードに
- TL; DR
KEINOS commented
メッセージ内容難しい ... こんな感じ?
*** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.
*** WARNING: 互換性のため旧形式(ssa-rsa)のアルゴリズムが使用されています。 (deprecated key derivation used.)
この警告は、将来的に新形式(ssa-rsa2)固定になるまで表示されます