Tutoriales

Cómo cifrar un archivo grande con OpenSSL en Linux

El cifrado de archivos se relaciona con la provisión de seguridad para los archivos del sistema/usuario que residen en un dispositivo de medios como un disco duro o una unidad USB. Para que dichos archivos se cifren, deben estar en un estado almacenado de modo que ningún proceso o programa esté accediendo o trabajando activamente en ellos. Los archivos cifrados se almacenan localmente y, por lo tanto, no se recomienda enviarlos a través de una red.

Cuando se cifra un archivo y es necesario agregarle datos, se descifra temporalmente hasta que dicho usuario/programa termina de escribir y/o leer datos y luego se vuelve a cifrar. El único propósito de cifrar archivos es evitar la lectura, escritura, copia y/o eliminación no autorizada de los archivos de destino.

OpenSSL es una biblioteca de software que proporciona comunicación segura entre aplicaciones a través de una red configurada. La mayoría HTTPS Los sitios web y los servidores de Internet utilizan esta biblioteca de software para evitar escuchas ilegales y también para identificar a las partes con las que se comunican al otro lado de la red.

Este tutorial nos guiará a través del cifrado de un archivo grande con OpenSSL en linux

Crear archivo de referencia de ejemplo

Dado que este tutorial se enfoca en cifrar archivos grandes, necesitaremos crear uno. Podemos usar el fallar comando que es parte del Util-Linux paquete.

Vamos a crear un archivo de texto grande de 1GB usando el fallar dominio:

LEER  Comando de inicio de sesión Git
$ fallocate -l 1024M test.txt
Crear archivo grande en Linux

Deberíamos poder agregar algo de texto a este archivo usando el comando de eco.

$ echo "LinuxShellTips tutorial on encrypting a large file with OpenSSL in Linux" >> test.txt

Podemos usar el comando cat para confirmar lo que escribimos en el archivo:

$ cat test.txt
Ver el contenido del archivo en Linux
Ver el contenido del archivo en Linux

Cifrar archivo con contraseña usando OpenSSL

Aquí, se usará una única contraseña o clave secreta para cifrar nuestro gran archivo de texto. El algoritmo de cifrado de clave simétrica al que nos referiremos es AES (Estándar de cifrado avanzado).

Este algoritmo puede acomodar claves criptográficas de 128, 192 y 256 bits para que los datos en bloques de 128 bits se cifren y descifren con éxito.

Para cifrar los grandes prueba.txt archivo, ejecutaremos el comando:

$ openssl enc -aes-256-cbc -pbkdf2 -p -in test.txt -out test.txt.enc

La explicación de las opciones utilizadas en el comando anterior.

  • enc ejecuta el proceso de cifrado de clave simétrica.
  • -aes-256-cbc especifica el uso de clave criptográfica de 256 bits.
  • -pbkdf2 es el algoritmo predeterminado que se utiliza.
  • -pags impresiones usadas sal, llave y IV.
  • -en apunta al archivo de entrada.
  • -afuera apunta al archivo de salida.
Cifrar archivo con contraseña usando OpenSSL
Cifrar archivo con contraseña usando OpenSSL

Cuando se ejecute el comando, se le pedirá que ingrese y confirme su contraseña de cifrado preferida. Podemos usar el comando gato para confirmar que ya no podemos leer el archivo.

$ cat test.txt.enc

Obtendrá una salida similar a la siguiente:

Ver contraseña cifrada en archivo
Ver contraseña cifrada en archivo

Para descifrar el archivo, ejecute:

$ openssl aes-256-cbc -d -pbkdf2 -in test.txt.enc -out sample_decrypted.txt

Se le pedirá que ingrese la contraseña de cifrado que generó anteriormente.

Descifrar archivo con contraseña usando OpenSSL
Descifrar archivo con contraseña usando OpenSSL

Cifrar archivo con clave usando OpenSSL

El primer paso es generar un archivo clave:

$ openssl rand 256 > symmetric_keyfile.key

Ahora podemos usar el archivo de clave para encriptar nuestro archivo:

$ openssl enc -in test.txt -out test.txt.enc -e -aes-256-cbc -pbkdf2 -k symmetric_keyfile.key

los comando gato debe confirmar que el archivo no se puede leer.

 
$ cat test.txt.enc
Ver clave cifrada en archivo
Ver clave cifrada en archivo

Para descifrar el archivo, ejecute:

$ openssl enc -in test.txt.enc -out draft_decrypted.txt -d -aes-256-cbc -pbkdf2 -k symmetric_keyfile.key
Descifrar archivo con clave usando OpenSSL
Descifrar archivo con clave usando OpenSSL

Cifrado asimétrico

El uso de este enfoque en el que se genera una clave privada y una clave pública generada a partir de ella no es compatible con el cifrado de archivos grandes, ya que se encontrará con el error: datos demasiado grandes para el tamaño de la clave.

datos demasiado grandes para el tamaño de la clave Error
datos demasiado grandes para el tamaño de la clave Error

Hemos cifrado con éxito un archivo grande con OpenSSL en linux

LEER  vifm: un navegador de archivos de terminal para los amantes incondicionales de Vim

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba