Cifrado

Cifrado de archivos de Linux

Cifrado de archivos de Linux
Vivimos en un mundo donde la privacidad y la seguridad son cada vez más importantes. Casi todos los días hay noticias sobre una violación de datos o una fuga. Si bien existen otras medidas que puede tomar para proteger sus datos, el cifrado de archivos es una de las más obvias.

Alternativas al cifrado de archivos.

Antes de profundizar en el cifrado de archivos, consideremos las alternativas y veamos si el cifrado de archivos es adecuado para sus necesidades. Los datos confidenciales se pueden cifrar en diferentes niveles de granularidad: cifrado de disco completo, nivel de sistema de archivos, nivel de base de datos y nivel de aplicación. Esto artículo hace un buen trabajo comparando estos enfoques. Vamos a resumirlos.

El cifrado de disco completo (FDE) tiene sentido para dispositivos que son susceptibles de pérdida física o robo, como computadoras portátiles. Pero FDE no protegerá sus datos de mucho más, incluidos los intentos de piratería remota y no es adecuado para cifrar archivos individuales.

En el caso del cifrado a nivel del sistema de archivos, el sistema de archivos realiza el cifrado directamente. Esto se puede lograr apilando un sistema de archivos criptográfico encima del principal o puede estar integrado. De acuerdo a esto wiki, Algunas de las ventajas son: cada archivo se puede cifrar con una clave separada (administrada por el sistema) y control de acceso adicional a través de la criptografía de clave pública. Por supuesto, esto requiere modificar la configuración del sistema operativo y podría no ser adecuado para todos los usuarios. Sin embargo, ofrece una protección adecuada para la mayoría de situaciones y es relativamente fácil de usar. Estará cubierto por debajo.

El cifrado a nivel de la base de datos puede apuntar a partes específicas de los datos, como una columna específica en una tabla. Sin embargo, esta es una herramienta especializada que se ocupa del contenido del archivo en lugar de archivos completos y, por lo tanto, está fuera del alcance de este artículo.

El cifrado a nivel de aplicación puede ser óptimo cuando las políticas de seguridad requieren la protección de datos específicos. Una aplicación puede utilizar el cifrado para proteger los datos de muchas formas, y cifrar un archivo es sin duda una de ellas. Discutiremos una aplicación para cifrar archivos a continuación.

Cifrar un archivo con una aplicación

Hay varias herramientas disponibles para cifrar archivos en Linux. Esto artículo enumera las alternativas más comunes.  A día de hoy, GnuPG parece ser la opción más sencilla. Por qué? Porque, lo más probable es que ya esté instalado en su sistema (a diferencia de ccrypt), la línea de comando es simple (a diferencia de usar openssl directamente), se está desarrollando de manera muy activa y está configurada para usar un cifrado actualizado (AES256 a partir de hoy ).

Si no tiene gpg instalado, puede instalarlo utilizando un administrador de paquetes apropiado para su plataforma, como apt-get:

pi @ raspberrypi: ~ $ sudo apt-get install gpg
Leyendo listas de paquetes… Listo
Construyendo árbol de dependencia
Leyendo información de estado… Listo

Cifre un archivo con GnuPG:

pi @ raspberrypi: ~ $ gato secreto.TXT
Cosas ultrasecretas!
pi @ raspberrypi: ~ $ gpg -c secreto.TXT
pi @ raspberrypi: ~ $ secreto de archivo.TXT.gpg
secreto.TXT.gpg: datos cifrados simétricamente GPG (cifrado AES256)
pi @ raspberrypi: ~ $ rm secreto.TXT

Ahora, para descifrar:

pi @ raspberrypi: ~ $ gpg --decrypt secret.TXT.gpg> secreto.TXT
gpg: datos cifrados AES256
gpg: cifrado con 1 frase de contraseña
pi @ raspberrypi: ~ $ gato secreto.TXT
Cosas ultrasecretas!

Tenga en cuenta "AES256" arriba. Este es el cifrado utilizado para cifrar el archivo en el ejemplo anterior. Es una variante de tamaño de bloque de 256 bits (segura por ahora) del traje de cifrado "Estándar de cifrado avanzado" (también conocido como Rijndae). Mira esto Artículo de Wikipedia para más información.

Configuración del cifrado a nivel del sistema de archivos

De acuerdo a esto página wiki fscrypt, El sistema de archivos ext4 tiene soporte integrado para el cifrado de archivos. Utiliza la API fscrypt para comunicarse con el kernel del sistema operativo (asumiendo que la función de cifrado está habilitada). Aplica el cifrado a nivel de directorio. El sistema se puede configurar para usar diferentes claves para diferentes directorios. Cuando un directorio está cifrado, también lo están todos los datos (y metadatos) relacionados con el nombre de archivo, como los nombres de archivo, su contenido y subdirectorios. Los metadatos que no son de nombre de archivo, como las marcas de tiempo, están exentos de cifrado. Nota: esta funcionalidad estuvo disponible en Linux 4.1 lanzamiento.

Mientras esto README tiene instrucciones, aquí hay una breve descripción. El sistema se adhiere a los conceptos de "protectores" y "políticas". "Política" es una clave real que se utiliza (por el kernel del sistema operativo) para cifrar un directorio. "Protector" es una frase de contraseña de usuario o equivalente que se utiliza para proteger políticas. Este sistema de dos niveles permite controlar el acceso de los usuarios a los directorios sin tener que volver a cifrar cada vez que hay un cambio en las cuentas de los usuarios.

Un caso de uso común sería configurar la política fscrypt para cifrar el directorio de inicio del usuario con sus frases de contraseña de inicio de sesión (obtenidas a través de PAM) como protector. Hacerlo agregaría un nivel adicional de seguridad y permitiría salvaguardar los datos del usuario incluso si el atacante lograría obtener acceso de administrador al sistema. Aquí hay un ejemplo que ilustra cómo se vería la configuración:

pi @ raspberrypi: ~ $ fscrypt cifrar ~ / secret_stuff /
¿Deberíamos crear un nuevo protector?? [y / N] años
Están disponibles las siguientes fuentes de protección:
1 - Su contraseña de inicio de sesión (pam_passphrase)
2 - Una frase de contraseña personalizada (custom_passphrase)
3 - Una clave sin procesar de 256 bits (raw_key)
Ingrese el número de fuente para el nuevo protector [2 - custom_passphrase]: 1
Ingrese la contraseña de inicio de sesión para pi:
"/ home / pi / secret_stuff" ahora está encriptado, desbloqueado y listo para usar.

Esto podría ser completamente transparente para el usuario una vez configurado. El usuario podría agregar un nivel adicional de seguridad a algunos subdirectorios especificando diferentes protectores para ellos.

Conclusión

El cifrado es un tema profundo y complejo, hay mucho más que cubrir y también es un campo en rápido crecimiento, especialmente con la llegada de la computación cuántica. Es fundamental mantenerse en contacto con los nuevos desarrollos tecnológicos, ya que lo que hoy es seguro podría romperse en unos años. Sea asiduo y esté atento a las novedades.

Trabajos citados

Motores de juegos gratuitos y de código abierto para desarrollar juegos de Linux
Este artículo cubrirá una lista de motores de juegos de código abierto y gratuitos que se pueden usar para desarrollar juegos 2D y 3D en Linux. Existe...
Tutorial de Shadow of the Tomb Raider para Linux
Shadow of the Tomb Raider es la duodécima incorporación a la serie Tomb Raider, una franquicia de juegos de acción y aventuras creada por Eidos Montre...
Cómo impulsar FPS en Linux?
FPS significa Cuadros por segundo. La tarea de FPS es medir la velocidad de fotogramas en reproducciones de video o actuaciones de juegos. En palabras...