dm-crypt

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

dm-crypt es un subsistema de cifrado de discos que provee cifrado transparente de dispositivos de bloque utilizando la utilidad cryptoapi del kernel de Linux 2.6. Las escrituras a este dispositivo serán cifradas y las lecturas descifradas. Se podrá montar un sistema de archivos en el mismo de la manera habitual, pero no se podrán acceder los datos sin la clave.[1]

Básicamente realiza lo mismo que cryptoloop, pero posee modos más avanzados de operación, es más adecuado para satisfacer la necesidad de un dispositivo de bloque, y tiene una interfaz de configuración más flexible. El formato on-disk también es compatible.[2]

En Microsoft Windows, los discos cifrados con dm-crypt pueden ser utilizados con FreeOTFE.

Instalación de Herramientas[editar]

dmsetup[editar]

Ejecutar la orden:

emerge cryptsetup

Emerge es la orden de instalación para la distribución Gentoo, pero en otras, dicha orden habrá de reemplazarse por la correspondiente orden de instalación -apt-get para Debian y derivadas, pacman para Arch y derivadas, etc.- y sus posibles opciones en caso de ser menester.

La instalación de este paquete creará los dispositivos de mapeo si es que no existen.

Verificar que "crypt target" esté soportado:

dmsetup targets
crypt            v1.0.0
striped          v1.0.1
linear           v1.0.1
error            v1.0.1

Si se utiliza un núcleo basado en módulos, será cargado cuando sea necesario.

cryptsetup[editar]

cryptsetup es una herramienta que facilita el uso de dm-crypt, eliminando las llamadas directas a dmsetup.

Cifrar una partición[editar]

Las siguientes instrucciones describen cómo utilizar dm-crypt para crear un sistema de archivos en una partición.

Para crear la partición cifrada, se deben ejecutar los siguientes pasos:

  1. Ejecutar cryptsetup en la partición, lo cual crea un dispositivo de mapeo con target crypt.
  2. Crear el sistema de archivos en el nuevo dispositivo.
  3. Montar del nuevo dispositivo.

En el siguiente ejemplo se transformará el volumen físico /dev/sda3z en el volumen lógico (cifrado) en /dev/mapper/privado (en este caso "privado" es la etiqueta del dispositivo descifrado) y se montará en /var/privado.

Para crear el volumen lógico con la librería cryptsetup:

cryptsetup -y create privado /dev/sda3

El parámetro "-y" fuerza al usuario a ingresar dos veces la clave a utilizar.

O crear el volumen lógico con el script cryptsetup que incluye en Debian el paquete hashalot http://packages.debian.org/unstable/utils/hashalot .

cryptsetup -c aes -h ripemd160 -s 32 create privado /dev/sda3

Para confirmar que se haya ejecutado correctamente:

dmsetup ls
privado (254, 0)

Crear el sistema de archivos:

mkfs.ext3 /dev/mapper/privado

Montar el sistema de archivos:

mount /dev/mapper/privado /var/privado

Uso diario[editar]

Cada vez que se reinicie el sistema operativo, se deberá re-ejecutar el comando cryptsetup e ingresar la misma clave. Si se ingresa una clave incorrecta, el dispositivo cifrado no podrá montarse y tendremos que destruirlo y crearlo otra vez. No hay que preocuparse ya que mientras no se formatee el dispositivo creado con la contraseña incorrecta, no se perderán datos.

Para que el montaje se realice en el arranque, se debe editar el fstab para tener /dev/mapper/privado montado en /var/privado. Esto solo funcionará si cryptsetup es ejecutado antes que las particiones sean leídas de fstab.

/etc/init.d/cryptinit:
if [ -b /dev/mapper/privado ]; then
  /usr/bin/cryptsetup remove privado
fi
/usr/bin/cryptsetup create privado /dev/sda3

cd/etc/rcS.d
ln -s../init.d/cryptinit S08cryptinit

Para hacer el montaje manualmente, se puede ejecutar el siguiente script:

if [ -b /dev/mapper/privado ]; then
  /usr/bin/cryptsetup remove privado
fi
/usr/bin/cryptsetup create privado /dev/sda3
mount /dev/mapper/privado /var/privado

Referencias[editar]

  1. «Encrypting partitions using dm-crypt and the 2.6 series kernel» (en inglés). Linux.com. 28 de noviembre de 2017. 
  2. «New Methods in Hard Disk Encryption» (en inglés). Vienna University of Technology. 28 de noviembre de 2017. 

Véase también[editar]

Enlaces externos[editar]