Cifrado de disco en Linux: LUKS, TPM2, swap e hibernación

Actualizado: 2026-11-06

El cifrado de disco protege tus archivos cuando alguien tiene el equipo pero no a ti. En Linux se hace con LUKS, un formato estándar que va debajo del sistema de archivos. Escribes una frase de contraseña al arrancar, el disco se desbloquea y el sistema funciona con normalidad. Es la protección más útil para un portátil que se puede perder.

De qué protege y de qué no

Protege contra:

No protege contra:

Por eso va de la mano con Secure Boot: uno cubre los datos almacenados y el otro el código de arranque.

LUKS2

LUKS tiene dos versiones. LUKS2 es la que crean los instaladores actuales. Guarda más metadatos, usa la función de derivación de claves Argon2id, que es deliberadamente costosa de adivinar, y permite varias ranuras de clave a la vez, de modo que una frase de contraseña, una clave de recuperación y un token TPM2 pueden desbloquear el mismo disco.

Comprueba qué tienes:

lsblk -f
sudo cryptsetup luksDump /dev/nvme0n1p3

Sustituye el dispositivo por el que lsblk muestra como crypto_LUKS. Busca Version: 2 y las ranuras de clave. Las instalaciones antiguas pueden usar LUKS1; se puede convertir, pero antes hace falta una copia de seguridad, así que lee man cryptsetup antes de intentarlo.

Desbloqueo con TPM2

Un TPM2 es un chip presente en la mayoría de los equipos modernos que puede guardar un secreto y liberarlo solo cuando el estado medido del equipo coincide. Con systemd-cryptenroll puedes sellar una clave de disco en él, de modo que el equipo arranca sin pedir la frase de contraseña:

sudo systemd-cryptenroll --tpm2-device=auto --tpm2-pcrs=7 /dev/nvme0n1p3

El PCR 7 refleja la configuración de Secure Boot. Tu initramfs debe poder usar el TPM2 (necesita desbloqueo basado en systemd) y la entrada de crypttab necesita la opción tpm2-device=auto. Los pasos exactos varían entre distribuciones, así que sigue la documentación de la tuya.

La contrapartida es real. El disco se abre solo para cualquiera que encienda el equipo en el estado esperado, así que la petición de contraseña pasa a la pantalla de inicio de sesión. Una contraseña de usuario débil pasa a custodiar los datos. Añadir un PIN con --tpm2-with-pin=yes devuelve un secreto que escribes tú. Guarda la frase de contraseña original o una clave de recuperación en un lugar seguro: una actualización de firmware o un cambio en la configuración de arranque pueden alterar las mediciones, y el TPM dejará de liberar la clave.

Swap e hibernación

La memoria puede llegar al disco de dos formas, y ambas pueden filtrar claves y documentos si no están protegidas.

Muchas instalaciones por defecto de Fedora y Ubuntu ponen el swap en un almacenamiento cifrado o en zram, pero “muchas” no es “la tuya”. Comprueba:

swapon --show

Si aparece un dispositivo, confirma en lsblk -f que cuelga de un padre crypto_LUKS.

Volcados de memoria

Cuando un programa falla, el sistema puede escribir su memoria en el disco, y esa memoria puede contener contraseñas o claves. Incluso en un disco cifrado, esos archivos se pueden leer una vez que has iniciado sesión, así que guardarlos solo donde tú quieras es una buena costumbre.

Cómo empezar

Si tu disco no está cifrado, la solución limpia es reinstalar eligiendo el cifrado en el instalador. Cifrar sobre la marcha es posible con herramientas como cryptsetup-reencrypt, pero es arriesgado; haz antes una copia de seguridad completa.

Compruébalo con IbexWall

La postura del sistema indica si el disco está cifrado, y la comprobación de volcados de memoria (system.coredump) puede desactivar el almacenamiento de volcados mediante un plan. IbexWall no cifra un disco por ti ni cambia las claves de LUKS; señala el hueco. Todo cambio que sí hace es un plan que revisas, con una instantánea que puedes deshacer desde el Historial. La versión 1.0 está en preparación.