Como cifrar una unidad extraible USB usando LUKS

linuxusbecript
Estándar

Hoy en día donde cada vez mas tenemos documentos e información digital importante en nuestros ordenadores, es bueno pensar en tener algo como una USB-Bobeda donde se pueda almacenar esta información sensible y que no se accesible para todos.  Para hacer esto podemos hacer uso de LUKS (Linux unified key setup) cito la wiki:

es una especificación de cifrado de disco creado por Clemens Fruhwirth, originalmente destinado para Linux. Mientras la mayoría del software de cifrado de discos implementan diferentes e incompatibles formatos no documentados, LUKS especifica un formato estándar en disco, independiente de plataforma, para usar en varias herramientas. Esto no sólo facilita la compatibilidad y la interoperabilidad entre los diferentes programas, sino que también garantiza que todas ellas implementen gestión de contraseñas en un lugar seguro y de manera documentada.

Hay varias maneras de usar LUKS para cifrar los datos almacenados en un dispositivo USB. En esta ocasión, vamos  a ver sólo una manera de cifrar una partición

Para iniciar debemos instalar cryptsetup:

apt-get install cryptsetup

Debido a la falta de funcionalidad en Windows, sólo se puede utilizar la primera partición de la unidad. Por lo tanto, si desea cifrar una partición y que sea funcional entre los dos sistemas operativos (GNU/Linux y Windows), se tendria  que formatear la unidad USB con una sola partición. Por lo tanto si se sigue este tutorial se debe tener claro que los datos en la USB se perderan y por eso se recomienda usar una memoria vacia para tales efectos..

Inicialmente introducimos la memoria usb y con dmesg observamos el nombre asignado a este dispositivo recien conectado, generalmente  es algo como:

/dev/sdbX

Para cuestiones del ejemplo usaremos /deb/sdb1

Una vez que tenemos identificado el dispositivo, procedemos con desmontar la particion y eliminar la particion:

umount /dev/sdb1

fdisk /dev/sdb

En este paso nos aparecera una shell interactiva con unas opciones:

En este menu deberemos teclear la letra o para eliminar la particion actual y crear una nueva tabla de particion, luego de esto veremos un mensaje similar a este:

Building a new DOS disklabel with disk identifier 0x2a43cc04.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won’t be recoverable.

Luego estaremos en el mismo menu anterior, por lo cual sera necesario teclear la tecla w para escribir los cambios.

Ahora debemos crear la nueva particion, asi que haremos uso de fdisk de nuevo:

fdisk /dev/sdb

Y ahora usaremos la opcion n para crear una nueva particion. Inmediatamente nos preguntara que tipo de particion queremos crear, en este caso sera una particion primaria, por lo tanto teclear la letra p. y las 3 siguientes preguntas, se pueden dejar por defecto (es decir simplemente presionar enter). Por ultimo cuando estemos de nuevo en el menu, teclearemos la letra w para que fdisk escriba los cambios necesarios.

En este mundo tendremos lista nuestra USB con una particion para ser cifrada, y es aqui donde invocamos a cryptsetup.

cryptsetup luksFormat /dev/sdb1

Nos mostrara algo asi:

WARNING!
========
This will overwrite data on /dev/sdb1 irrevocably.

Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase: clave_de_cifrado
Verify passphrase: clave_de_cifrado

Deberemos teclear la palabra YES en mayuscula e ingresar la clave la cual sera necesaria siempre que se desee ver el contenido de la memoria.

Ya tenemos nuestra unidad cifrada, sin embargo hace falta darle formato:

cryptsetup luksOpen /dev/sdb1 LUKS0001

LUKS0001 hace referencia a un nombre unico para el mapeo

Nos pedira el password para poder acceder la particion, una vez adentro procedemos con el formato, se debe tener en cuenta que si  la usb se accedera desde equipos windows tendremos que darle formato FAT.

mkfs.vfat /dev/mapper/LUKS0001 -n SECRETO

SECRETO es el nombre que le daremos a la unidad.

Y eso es todo, una vez termine solo nos quedara probar, y como probamos? Sencillo, administradores de archivos actuales, tales como Thunar (Xfce) o Nautilus (Gnome), apoyan el reconocimiento automático de las particiones LUKS. Estos gestores de solicitar la contraseña del dispositivo encriptado cuando se conecta y monta la partición como una unidad extraíble, por lo tanto desconectamos la unidad y al volverla a conectar,  el entorno de escritorio  nos mostrara algo como esto:

(Fuente: rinconinformatico)