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):
- Crear dos particiones, una de ella será como contenedor.
- Ejecutar el comando:
sudo cryptsetup luksFormat /dev/sda3
sudo cryptsetup luksOpen /dev/sda3 cryptcherries
- Establecer el bloque de datos aleatorio (
dev/mapper
):
sudo dd if=/dev/zero of=/dev/mapper/cryptcherries bs=16M
- 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
- Formatear bajo EXT4. Allí se guardarán los archivos.
- 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 finalupdate-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.
Lectura adicional
- Entiendiendo el cifrado LUKS, cortesía de QAStack y licenciado bajo Creative Commons Atribución-Compartir Igual 3.0
- Cifrar con LUKS al instalar Linux, cortesía de QAStack (AskUbuntu) y licenciado bajo Creative Commons Atribución-Compartir Igual 3.0