Cuando cifro o descifro un archivo obtengo *** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.
No entiendo lo que esto significa, cómo debo cambiar mis procedimientos. ¿Usted me podría ayudar? Cifro openssl des3 <input >output.des3
y descifro con openssl des3 -d <input.des3 >output
Acerca del medio ambiente
Ubuntu 18.10
~$ openssl version
OpenSSL 1.1.1 11 Sep 2018
encryption
openssl
Tommy Pollák
fuente
fuente
openssl des3 -e -pbkdf2 < input > output.des3
yopenssl des3 -d -pbkdf2 < input.des3 > output
. También estoy de acuerdo con el primer comentario de que debe usar un cifrado de bloque diferente en lugar de 3DES (DES es de 1977), una forma fácil de hacerlo es cambiaraes256
donde tiene actualmentedes3
esos comandos, usar AES ( AES de 256 bits cumple con los estándares de seguridad actuales).Respuestas:
Comparando las sinopsis de las dos versiones principales y recientes de OpenSSL, permítanme citar las páginas del manual.
OpenSSL 1.1.0
OpenSSL 1.1.1
Obviamente hay algunas diferencias mayores, es decir, considerando esta pregunta, faltan estos dos interruptores en el 1.1.0:
pbkdf2
iter
Tienes básicamente dos opciones ahora. Ignore la advertencia o ajuste su comando de cifrado a algo como:
Donde estos interruptores:
-aes-256-cbc
es lo que debe usar para obtener la máxima protección o la versión de 128 bits, el 3DES (Triple DES) se abandonó hace algún tiempo, vea que Triple DES ha quedado en desuso por parte de NIST en 2017 , mientras que AES es acelerado por todas las CPU modernas por mucho; simplemente puede verificar si su CPU tiene el conjunto de instrucciones AES-NI, por ejemplo, utilizandogrep aes /proc/cpuinfo
; ganar ganar-md sha512
es la variante más rápida de la familia de funciones SHA-2 en comparación con SHA-256, aunque podría ser un poco más segura; ganar ganar-pbkdf2
: utilice el algoritmo PBKDF2 (función de derivación de clave basada en contraseña 2)-iter 100000
está anulando el recuento predeterminado de iteraciones para la contraseña, citando la página de manual:fuente
openssl enc -aes-256-cbc -md sha512 -pbkdf2 -iter 1000 -salt -in InputFilePath -out OutputFilePath
。-d
al comando: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
- así que recomiendo alguna parte entre 10.000 y 100.000 iteraciones en lugar de 1000.