LUKS

LUKS, siglas de Linux Unified Key Setup, es un estándar de cifrado contenedor creado por Clemens Fruhwirth. Al ser un estándar, está mejor documentado como ocultar información de las particiones del disco duro. Deepin 20 lo incluye para instalación completa en disco pero lo puedes crear con la aplicación ZuluCrypt. Eso sí, deberás respaldar los documentos, ya que crearla podría perder datos dentro del disco.

Una ventaja de esta tecnología es su rendimiento. En lugar de cifrar los archivos (como fue en el caso de documentos en Deepin 15), usa el cifrado al vuelo. Los datos se conservan en un contenedor llamado /dev/mapper/, que deberás crearlo para su funcionamiento. Por lo que está opción no es la mejor en computadoras con baja potencia.

Cabe aclarar que requiere la librería cryptsetup para su funcionamiento.

Crear contenedor LUKS

En general, para crear se realiza estos pasos (podrían variar):

  1. Crear dos particiones, una de ella será como contenedor.
  2. Ejecutar el comando:
sudo cryptsetup luksFormat /dev/sda3
sudo cryptsetup luksOpen /dev/sda3 cryptcherries
  1. Establecer el bloque de datos aleatorio (dev/mapper):

sudo dd if=/dev/zero of=/dev/mapper/cryptcherries bs=16M

  1. Crear un volumen físico LVM (donde se crearán particiones dentro del contenedor). Por ejemplo:
sudo pvcreate /dev/mapper/cryptcherries
sudo vgcreate vgcherries /dev/mapper/cryptcherries
sudo lvcreate -n lvcherriesroot -L 7.5g vgcherries
sudo lvcreate -n lvcherriesswap -L 1g vgcherries
  1. Formatear bajo EXT4. Allí se guardarán los archivos.
  2. Ahora, en caso que necesites instalar el sistema. Al terminar, sin salir del contenedor, se crea una nuevo archivo /etc/crypttab con el código UUID de la partición y ejecutar el comando al final update-initramfs -k all -c. Más detalles en la lectura adicional.

Rendimiento

Para asegurar que la lectura sea rápida, recomendamos comprobar la velocidad por cuenta propia. Puedes comprobar desde la terminal cryptsetup benchmark. El más eficaz en computadoras modernas suele ser AES de 128 bits.

Cabecera

Al crear un contenedor, tendrás también una cabecera que mostrará datos importantes como la versión, el tipo de cifrado, la sal, el contenedor de cifrado, entre otros. Por ejemplo:

# cryptsetup luksDump /dev/sda1
LUKS header information for /dev/sda1

Version:        1
Cipher name:    aes
Cipher mode:    cbc-essiv:sha256
Hash spec:      sha1
Payload offset: 4096
MK bits:        256
MK digest:      1a 2b 3c 4d 5e ce 79 21 85 34 f7 a6 e3 0b 6b b2 a7 b8 d5 a1
MK salt:        9z 8y 95 3d 1e 30 1f 66 d4 5e 31 03 12 a0 61 29
                e5 ef 34 8e 13 5d 80 76 8b 4a 0a c3 55 02 22 d3
MK iterations:  5750
UUID:           a1234567-890b-49ce-8246-b63f1fb67db9

Key Slot 0: ENABLED
        Iterations:             20000
        Salt:                   ff bc fc 78 98 5d 35 50 97 76 37 b4 70 99 38 44
                                9f bd a1 b9 02 2d 4d 1d 18 b5 dc f6 4c a0 37 fc
        Key material offset:    8
        AF stripes:             4000

Respaldo

Consulta el tutorial Cómo respaldar la cabecera LUKS.

Es necesario respaldar esta cabecera, ya que si se daña, perderás la posibilidad de descifrar el disco cifrado con LUKS.

Lectura adicional

Etiquetas:

¿Recomendarías este artículo?