Cifrado de carpetas en Ubuntu con ecryptfs

Uno de los mecanismos de seguridad más utilizados como sistema de protección de la confidencialidad de la información es la criptografía.

Este post no pretende dar los conocimientos teóricos de criptografía, sino más bien lo contrario, cómo ponerlos en práctica de una forma sencilla en nuestros equipos.

Nuestro objetivo es crear, dentro de nuestro home, una carpeta Privado que pueda ser cifrada / descifrada en cualquier momento. Para ello haremos uso del paquete ecryptfs.

ecryptfs es un sistema de ficheros cifrado que puede ser apilado en otro sistema de ficheros, como por ejemplo el ext3, sobre el que está instalado nuestro Ubuntu.

Lo primero que haremos será crear la carpeta que vamos a utilizar para contener la información cifrada / descifrada. Para ello, desde un terminal ejecutaremos lo siguiente:

$ mkdir ~/Privado

Y darle permisos para que solo el propietario pueda acceder a ella:

$ chmod 700 ~/Privado

Estos dos pasos también pueden hacerce desde el entorno gráfico.

Luego, instalaremos el paquete ecryptfs:

$ sudo apt-get install ecryptfs-utils

Y montaremos el sistema de fichero en la carpeta anteriormente creada:

$ sudo mount -t ecryptfs ~/Privado ~/Privado

Para el montaje se nos preguntarán distintas opciones:

Passphrase:
Select cipher:
1) aes: blocksize = 16; min keysize = 16; max keysize = 32 (loaded)
2) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24 (not loaded)
3) cast6: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
4) cast5: blocksize = 8; min keysize = 5; max keysize = 16 (not loaded)
Selection [aes]:
Select key bytes:
1) 16
2) 32
3) 24
Selection [16]: 32
Enable plaintext passthrough (y/n) [n]:
Enable filename encryption (y/n) [n]: y
Filename Encryption Key (FNEK) Signature [f833eb8784d1be87]:
Attempting to mount with the following options:
ecryptfs_unlink_sigs
ecryptfs_fnek_sig=f833eb8784d1be87
ecryptfs_key_bytes=32
ecryptfs_cipher=aes
ecryptfs_sig=f833eb8784d1be87
WARNING: Based on the contents of [/root/.ecryptfs/sig-cache.txt],
it looks like you have never mounted with this key
before. This could mean that you have typed your
passphrase wrong.

Would you like to proceed with the mount (yes/no)? : yes
Would you like to append sig [f833eb8784d1be87] to
[/root/.ecryptfs/sig-cache.txt]
in order to avoid this warning in the future (yes/no)? : yes
Successfully appended new sig to user sig cache file
Mounted eCryptfs

De la configuración anterior destacamos la elección de la contraseña para el cifrado así como el método de encriptación y tamaño del bloque. En nuestro caso también hemos optado por ocultar el nombre de los archivos.

A partir de este momento podemos utilizar la carpeta como cualquier otra del equipo.

Cuando hayamos terminado, podremos desmontar la carpeta:

$ sudo umount ~/Privado

La carpeta seguirá existiendo, pero comprobaremos que el contenido está ilegible.

 Para utilizarla de nuevo tan solo tendremos que volver a montarla.

También es posible automatizar el montaje, de forma que nos ahorramos tener que introducir todos los parámetros de configuración cada vez. Para ello haríamos lo siguiente:

$ sudo mount -t ecryptfs ~/Privado ~/Privado -o ecryptfs_sig=f833eb8784d1be87,ecryptfs_fnek_sig=f833eb8784d1be87,ecryptfs_key_bytes=32,ecryptfs_cipher=aes,ecryptfs_unlink_sigs,ecryptfs_passthrough=no

Passphrase: 

Meteremos la clave seleccionada la primera vez y listo.

Eso es todo amigos!


Anuncios

Instalación y Configuración del entorno: Player, Stage y Jde

Inhauguramos este foro con la instalación y configuración del entorno que vamos a utilizar en la asignatura de Robótica (Master de Sistemas Telemáticos e Informáticos – URJC Móstoles). En concreto la he realizado en un equipo Guadalinex V5 (basado en Ubuntu Hardy).

Inicialmente realicé la instalación siguiendo los pasos que describe Santiago en la web oficial de la asignatura (gracias por tu aportación!). Aunque no fue sencillo… tras mucho trastear (y haciendo uso del foro)  conseguí que todo funcionara.

Con el entorno correctamente instalado y configurado en mi portatil (Guadalinex V5) y junto con otro compañero (Jesús) intentamos rehacer los mismos pasos en el suyo (Debian) con el fin de escribir en nuestros blogs la secuencia de acciones realizadas.

Tenemos que admitir que, como buenos informáticos que somos, después de volvernos locos instalando paquetes dejamos de apuntar (y saber con exactitud) los pasos que habíamos realizado. Por ello no conseguimos más que lo mismo que con mi portatil, hacerlo funcionar sin poder establecer una lista de comandos necesarios para la instalación de todo.

Tras postear el problema en el foro, vimos que José María (el profe ;-)), proponía una receta para la instalación (y posteriormente para gazebo) en un Ubuntu 8.04, así que procedimos a la instalación del Sistema Operativo en una máquina virtual  y siguiendo los pasos al pie de la letra, conseguimos tener el entorno perfectamente instalado.

Después de todo esto comprenderéis la alegría que da al ver un escritorio lleno de ventanas como estas….

jde