Когда я шифрую или дешифрую файл, я получаю *** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.
Я не понимаю, что это значит, как я должен изменить свои процедуры. Не могли бы вы помочь мне? Я шифрую с openssl des3 <input >output.des3
и расшифровываю с openssl des3 -d <input.des3 >output
Об окружающей среде
Ubuntu 18.10
~$ openssl version
OpenSSL 1.1.1 11 Sep 2018
encryption
openssl
Томми Поллак
источник
источник
openssl des3 -e -pbkdf2 < input > output.des3
иopenssl des3 -d -pbkdf2 < input.des3 > output
. Я также согласен с первым комментарием, что вы должны использовать другой блочный шифр вместо 3DES (DES - с 1977 года), простой способ сделать это - просто поменять местами то, что уaes256
вас естьdes3
в этих командах, чтобы использовать AES ( 256-битный AES соответствует современным стандартам безопасности).Ответы:
Сравнивая Synopsys двух основных и последних версий OpenSSL, позвольте мне процитировать man-страницы.
OpenSSL 1.1.0
OpenSSL 1.1.1
Очевидно, есть некоторые большие различия, а именно, учитывая этот вопрос, в 1.1.0 отсутствуют эти два переключателя:
pbkdf2
iter
У вас есть в основном два варианта сейчас. Либо проигнорируйте предупреждение, либо измените команду шифрования на что-то вроде:
Где эти переключатели:
-aes-256-cbc
это то, что вы должны использовать для максимальной защиты или для 128-битной версии, 3DES (Triple DES) было заброшено некоторое время назад, см. Triple DES устарел в NIST в 2017 году , в то время как AES значительно ускоряется всеми современными процессорами; Вы можете просто проверить, имеет ли ваш процессор набор команд AES-NI, например, с помощьюgrep aes /proc/cpuinfo
; победа, победа-md sha512
более быстрый вариант семейства функций SHA-2 по сравнению с SHA-256, хотя он может быть немного более безопасным; победа, победа-pbkdf2
: используйте алгоритм PBKDF2 (функция определения ключа на основе пароля 2)-iter 100000
переопределяет количество итераций по умолчанию для пароля, цитируя man-страницу:источник
openssl enc -aes-256-cbc -md sha512 -pbkdf2 -iter 1000 -salt -in InputFilePath -out OutputFilePath
。-d
к команде:openssl enc -aes-256-cbc -md sha512 -pbkdf2 -iter 1000 -salt -d -in InputFilePath
in the year 2000 the recommended minimum number of iterations was 1000, but the parameter is intended to be increased over time as CPU speeds increase
- поэтому я рекомендую где-то между 10 000 и 100 000 итераций, а не 1000.