Veamos cómo podemos generar un sistema de ficheros codificado en el que introducir nuestra información sensible. Esta información es válida para Mandriva Linux 2.006 y 2.007, para otras distribuciones habría que improvisar.
1.Instalar los paquetes necesarios
En Mandriva 2.006 y 2.007 todo lo necesario viene en el rpm del núcleo, por lo tanto, no hay que instalar ningún paquete adicional. El núcleo viene configurado para soportar la encriptación.
2.Cargar los módulos necesarios
Hay varios algoritmos de codificación disponibles: AES, Blowfish, DES, Mars, RC6, Serpent... deberemos cargar los que pensemos utilizar, para no consumir recursos innecesarios. En este ejemplo usaremos el algoritmo Blowfish, por tanto, como superusuario teclearemos en una consola:
modprobe blowfish modprobe loop modprobe cryptoloop
N.B. Si queremos que dichos módulos se carguen al iniciar el sistema no tenemos más que añadirlos a /etc/modprobe.preload
3.Crear un fichero para alojar el sistema de ficheros
Creamos un fichero, a base de números aleatorios, para alojar nuestros datos, en nuestro caso 100 Megabytes.
dd if=/dev/urandom of=contenedor bs=1M count=100
N.B. Evidentemente, podemos usar una partición del disco duro o de otro medio como contenedor de nuestros datos.
4.Montar el filtro de cifrado
Asociaremos un dispositivo de tipo loop con nuestro archivo contenedor. Para ello, debemos teclear como superusuario:
losetup -e blowfish2048 /dev/loop0 contenedor Contraseña:
El número 2048 que sigue a blowfish indica el número de bits de la clave que se usará para codificar nuestros datos, cuanto mayor sea el número de bits mayor será la seguridad del sistema de ficheros.
Inmediatamente, losetup nos pregunta la contraseña que usará para generar la clave de cifrado. Se recomienda que la clave sea lo más larga y complicada posible.
5.Formatear el archivo contenedor
Como superusuario damos formato al fichero contenedor que hemos generado con un contenido aleatorio en el paso 3. Usaremos el sistema de ficheros que más nos guste, por ejemplo ext3:
mkfs -t ext3 /dev/loop0
6.Crear un punto de montaje para el sistema de ficheros
Como superusuario tecleamos:
mkdir /mnt/privado
7.Montar el sistema de ficheros encriptado
Hacemos accesible el sistema de ficheros:
mount -t ext3 /dev/loop0 /mnt/privado
8.Comprobar la contraseña
Este paso es muy importante porque losetup sólo nos pregunta UNA VEZ LA CONTRASEÑA. Así que, antes de introducir cualquier tipo de información vamos a comprobar que la contraseña que supuestamente escribimos en el paso 4 es la correcta. Para ello, como superusuario, desmontamos el sistema de ficheros y el filtro de cifrado:
umount /mnt/privado losetup -d /dev/loop0
y ahora remontamos el filtro, introducimos la contraseña y montamos el sistema de ficheros:
losetup -e blowfish2048 /dev/loop0 contenedor Contraseña: mount -t ext3 /dev/loop0 /mnt/privado
Si no se monta el sistema de ficheros es que nos hemos equivocado al escribir la contraseña, por lo que hay que desmontar el filtro de cifrado y repetir desde el punto 4.
N.B. Que NADIE dé por hecho que ha tecleado la clave correctamente y se salte este paso porque un olvido o un error en la contraseña hace inaccesibles los datos almacenados en el sistema de ficheros encriptado, no hay cracks, ni puertas traseras que permitan averiguar una clave olvidada o mal escrita. Estáis avisados.
9.Montar el sistema de ficheros
Para acceder a los datos almacenados en su interior, como superusuario:
losetup -e blowfish2048 /dev/loop0 contenedor Contraseña: mount -t ext3 /dev/loop0 /mnt/privado
10.Disfrutar
Almacenar la información que consideremos oportuno en nuestro sistema de ficheros.
N.B. Puede ser necesario ajustar los permisos de acceso a /mnt/privado o tomar posesión de los archivos.
11.Desmontar el sistema de ficheros y el filtro de cifrado
Para hacer inaccesible la información a otros usuarios; como superusuario:
umount /mnt/privado losetup -d /dev/loop0
Notas finales:
- En el futuro, sólo es necesario repetir los pasos 1, si no hemos modificado el /etc/modprobe.preload, y 9 a 11 para hacer uso del sistema de ficheros encriptado.
- Se puede montar y desmontar en un único paso:
mount -t ext3 -o loop,encryption=blowfish2048 contenedor /mnt/privado/ umount /mnt/privado
- El fichero contenedor se puede copiar y usar en otras máquinas, siempre y cuando se disponga en dicho equipo de un núcleo con soporte de encriptación, los módulos adecuados y los permisos adecuados.
- SI SE TE OLVIDA LA CLAVE PERDERÁS TUS DATOS PARA SIEMPRE. Así que procura ser especialmente cuidadoso.