Pendrive cifrado con dm-crypt en Debian
Esta receta explica como utilizar
dm-cryptpara cifrar el sistema de ficheros de un pendrive o disco USB externo y luego montarlo cómodamente.
Introducción
Si llevas tus claves, certificados u otros ficheros secretos en un pendrive, nada mejor que cifrarlo y asunto resuelto. Verás que fácil…
Ingredientes
- cryptsetup – configures encrypted block devices
- pmount – mount removable devices as normal user
Cifrar una partición
Los siguientes pasos sólo son necesarios cuando se crea y formatea la partición cifrada.
Crear el contenedor
# cryptsetup luksFormat /dev/sde1Abrir el contenedor
# cryptsetup luksOpen /dev/sde1 pinchoFormatear la partición
# mkfs.ext3 /dev/mapper/pinchoMontar la partición
# mount /dev/mapper/pincho /mnt/puntoDesmontar la partición
De la forma habitual:
# umount /mnt/puntoCerrar el contenedor
# cryptsetup luksClose /dev/mapper/pinchoMontaje automágico
Una de las cosas interesantes de este sistema es que pmount ofrece soporte para este tipo de particiones cifradas. Así que es tan fácil montar un pendrive cifrado como uno normal. Simplemente se enchufa y gnome-volume-manager (el demonio de “Unidades y soportes extraibles”) se encarga de pedir la contraseña y hacer todo el proceso de montaje y desmontaje de forma transparente, y sin tener que usar la consola en ningún momento (que veo que preocupa ;-)).
Imágenes loop cifradas
Crear el fichero
$ dd if=/dev/urandom of=container.loop bs=1M count=10Montar la imagen loop
$ sudo losetup /dev/loop/0 container.loopSetup
El resto del proceso es idéntico a la modalidad con partición cambiando /dev/sde1 por /dev/loop0 en los comandos. Al desmontar, después de los anteriores, ejecutar:
$ losetup -d /dev/loop/0Comentarios
Una pequeña pega de dm-crypt es que no proporciona negación plausible. En cristiano: si el soporte llega a manos de un “agente enemigo”, sabrá que hay datos cifrados en él aunque no pueda leerlos, vamos, que sabrá que escondes algo.
Un criptosistema ideal no deja huellas de su uso, es decir, no hay manera de distinguir datos aleatorios de datos cifrados. Este tipo de feature la proporciona por ejemplo TrueCrypt. Realmente yo creo que, a menos que seas espía o te dediques a pasar secretos militares en tus ratos libres, este nivel de privacidad es innecesario, al menos a día de hoy.
Referencias
- dm-crypt: a device-mapper crypto target
- “LUKS – Linux Unified Key Setup ":http://luks.endorphin.org/
- Howto use Cryptsetup with LUKS support
- Encrypting the USB flash drive
- Howto use an encrypted container under Windows XP and Linux
- Howto: Completly encrypted harddisk including the suspend to disk partition with Ubuntu 6.10 Edgy Eft
- http://wiki.centos.org/HowTos/EncryptedFilesystem