Cifrar USB con LUKS

LUKS es una especificación de cifrado de disco creado por Clemens Fruhwirth, principalmente pensada sistemas GNU/Linux.

Mientras que la mayoría del software de cifrado de discos se basan en diferentes formatos no documentados e incompatibles entre sí, LUKS especifica un formato estándar en disco, independiente de la plataforma, para usar en diversas herramientas. Esto facilita la compatibilidad entre los diferentes sistemas operativos.

La aplicación de referencia funciona en GNU/Linux y se basa en una versión mejorada de cryptsetup, utilizando dm-crypt como la interfaz de cifrado de disco.

Ahora veremos como cifrar una partición en un dispositivo de almacenamiento USB.

Accedemos como root.

su -

Instalamos el paquete cryptsetup y sus dependencias.

aptitude install cryptsetup

Conecta el USB y escribe dmesg para averiguar la ruta del nuevo dispositivo.

dmesg

En las ultimas lineas nos devolverá algo como esto:

sdc: sdc1
EXT4-fs (sdc1):mounted filesystem with ordered data mode. Opts: (null)

Donde sdc (/dev/sdc) es nuestro USB y sdc1 (/dev/sdc1) la partición principal, en este caso se trata de una partición con el sistema de archivos EXT4.

Desmontamos la partición:

umount /dev/sdc1

Ahora eliminaremos la tabla de particiones y crearemos una nueva:

fdisk /dev/sdc

Nos dirá algo parecido a esto:

Bienvenido a fdisk (util-linux 2.25.2).
Los cambios solo permanecerán en la memoria, hasta que decida escribirlos.
Tenga cuidado antes de utilizar la orden de escritura.


Orden (m para obtener ayuda):

Nos pide una orden, escribimos o. Nos debería devolver algo así:

Created a new DOS disklabel with disk identifier 0xb083c8db.

Orden (m para obtener ayuda):

Ahora introducimos w para escribir los cambios. Si todo a ido bien nos devolverá esto:

Se ha modificado la tabla de particiones.
Llamando a ioctl() para volver a leer la tabla de particiones.
Se están sincronizando los discos.

Ahora vamos con la partición, volvemos a usar fdisk:

fdisk /dev/sdc

Y nos pedirá otra orden, escribimos n para crear la partición.

Orden (m para obtener ayuda): n

Ahora nos pregunta el tipo, escribimos p para primaria. En número de partición podemos poner 2 (predeterminado).

Tipo de partición
   p   primaria (2 primarias, 0 extendidas, 2 libres)
   e   extendida (contenedor para particiones lógicas)
Seleccionar (valor predeterminado p): p
Número de partición (2-4, valor predeterminado 2):

Ahora nos preguntará por el primer y el último sector de la nueva partición, pulsamos Intro 2 veces para dejar los que vienen por defecto. Volvemos a escribir w para escribir los cambios.

Ahora utilizaremos el comando cryptsetup para cifrar la partición, introducimos:

cryptsetup luksFormat /dev/sdc1

Te preguntará si estás seguro (escribe YES) y luego la contraseña 2 veces.

WARNING!
========
Esto sobreescribirá los datos en /dev/sdc1 de forma irrevocable.

Are you sure? (Type uppercase yes): YES
Introduzca la frase contraseña: contraseñamuylarga
Verifique la frase contraseña: contraseñamuylarga

Formateamos la nueva partición cifrada utilizando otra vez cryptsetup. «PARTLUKS01» es la etiqueta hemos elegido para esta partición.

cryptsetup luksOpen /dev/sdc1 PARTLUKS01

Y nos pedirá la contraseña antes especificada.

Introduzca la frase contraseña de /dev/sdc1: contraseñamuylarga

Ahora tienes que elegir el formato que mejor se adapte a lo que necesites y vayas a usar. Las opciones -L y -n sirven para darle un nombre reconocible a la unidad. En este ejemplo usaremos «CIFRADO» como nombre`.

Para formatear como EXT4:

mkfs.ext4 /dev/mapper/PARTLUKS01 -L CIFRADO

Para formatear como FAT32:

mkfs.vfat /dev/mapper/PARTLUKS01 -n CIFRADO

Para formatear como NTFS:

mkfs.ntfs /dev/mapper/PARTLUKS01 -L CIFRADO

Y para terminar, cerramos la partición con:

cryptsetup luksClose PARTLUKS01

Solamente queda desconectar el dispositivo y volver a conectarlo. Si todo va bien, y dependiendo del entorno de escritorio que usemos y como esté configurado, nos pedirá nuestra contraseña de una manera u otra, en mi caso, con Xfce y Thunar sale algo así al montarlo:


cif

Compartir

8 Comentarios

      1. Cito textualmente :


        Conecta el USB y escribe dmesg para averiguar la ruta del nuevo dispositivo.

        dmesg

        En las ultimas lineas nos devolverá algo como esto:

        sdc: sdc1
        EXT4-fs (sdc1):mounted filesystem with ordered data mode. Opts: (null)

        tu ejecutas dmesg justo despues de conectar el pendrive y ya te está devolviendo el log del driver EXT4 que se ha montado un filesystem. Si lo has pegado de tu ordenador, entonces no hay mas vuelta de hoja, tu tienes el automount en el fstab, o peor aún, usas un escritorio pesado de esos que te lo monta automáticamente.

        1. Vale, según veo en la captura tu usas Xfce y Thunar, que en efecto automontan el pendrive en cuanto le hagas click al icono del escritorio. De forma que antes de hacer el tutorial deduzco que hiciste click en el icono que te salió en xfce.

          Saludos !

  1. si alguien despues de encontrar la usb y no la encuentra funcional, usa recuva o photorec existe la posibilidad de que pueda ver mis archivos?

Deja una respuesta

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax