dm-crypt es un subsistema de cifrado de dispositivos de bloques transparente en las versiones 2.6 y posteriores del kernel de Linux y en DragonFly BSD . Forma parte de la infraestructura del mapeador de dispositivos (dm) y utiliza rutinas criptográficas de la API Crypto del kernel . A diferencia de su predecesor cryptoloop , dm-crypt fue diseñado para admitir modos de operación avanzados, como XTS , LRW y ESSIV , con el fin de evitar ataques de marcas de agua . [ 1 ] Además, dm-crypt aborda algunos problemas de fiabilidad de cryptoloop. [ 2 ]
dm-crypt se implementa como un destino de mapeo de dispositivos y puede apilarse sobre otras transformaciones de mapeo de dispositivos. Por lo tanto, puede cifrar discos completos (incluidos medios extraíbles ), particiones , volúmenes RAID de software , volúmenes lógicos y archivos . Aparece como un dispositivo de bloques, que puede usarse para respaldar sistemas de archivos , intercambio o como un volumen físico LVM .
Algunas distribuciones de Linux admiten el uso de dm-crypt en el sistema de archivos raíz. Estas distribuciones utilizan initrd para solicitar al usuario que introduzca una contraseña en la consola o que inserte una tarjeta inteligente antes del proceso de arranque normal. [ 3 ]
Interfaces
El objetivo del mapeador de dispositivos dm-crypt reside completamente en el espacio del kernel y solo se ocupa del cifrado del dispositivo de bloques ; no interpreta ningún dato por sí mismo. Depende de interfaces de usuario para crear y activar volúmenes cifrados y gestionar la autenticación. Actualmente hay al menos dos interfaces disponibles: y . cryptsetupcryptmount
cryptsetup
La cryptsetupinterfaz de línea de comandos, por defecto, no escribe ningún encabezado en el volumen cifrado y, por lo tanto, solo proporciona lo esencial: la configuración de cifrado debe proporcionarse cada vez que se monta el disco (aunque normalmente se emplea con scripts automatizados), y solo se puede usar una clave por volumen; la clave de cifrado simétrico se deriva directamente de la frase de contraseña proporcionada .
Debido a que carece de un " salt ", el uso de cryptsetup es menos seguro en este modo que en el caso de Linux Unified Key Setup (LUKS). [ 9 ] Sin embargo, la simplicidad de cryptsetup lo hace útil cuando se combina con software de terceros, por ejemplo, con la autenticación de tarjetas inteligentes .
cryptsetupTambién proporciona comandos para trabajar con el formato LUKS en disco. Este formato ofrece funciones adicionales como la gestión de claves y la extensión de claves (mediante PBKDF2 ), y recuerda la configuración del volumen cifrado entre reinicios. [ 3 ] [ 10 ]
cryptmount
Esta cryptmountinterfaz es una alternativa a la herramienta "cryptsetup" que permite a cualquier usuario montar y desmontar un sistema de archivos dm-crypt cuando sea necesario, sin necesidad de privilegios de superusuario una vez que el dispositivo haya sido configurado por un superusuario.
Características
El hecho de que el software de cifrado de disco (cifrado de volumen), como dm-crypt, solo se ocupe del cifrado transparente de dispositivos de bloques abstractos , le otorga una gran flexibilidad. Esto significa que puede utilizarse para cifrar cualquier sistema de archivos basado en disco compatible con el sistema operativo , así como el espacio de intercambio ; las barreras de escritura implementadas por los sistemas de archivos se conservan. [ 11 ] [ 12 ] Los volúmenes cifrados pueden almacenarse en particiones de disco , volúmenes lógicos , discos completos, así como imágenes de disco basadas en archivos (mediante el uso de dispositivos de bucle con la utilidad losetup). dm-crypt también puede configurarse para cifrar volúmenes RAID y volúmenes físicos LVM .
dm-crypt también se puede configurar para proporcionar autenticación previa al arranque a través de un initrd , cifrando así todos los datos de un ordenador , excepto el gestor de arranque, el kernel y la propia imagen initrd. [ 3 ]
Cuando se utiliza el modo de operación de encadenamiento de bloques de cifrado (CBC) con vectores de inicialización predecibles como otro software de cifrado de disco, el disco es vulnerable a ataques de marca de agua . Esto significa que un atacante puede detectar la presencia de datos especialmente diseñados en el disco. Para abordar este problema en sus predecesores, dm-crypt incluyó disposiciones para modos de operación más elaborados y específicos para el cifrado de disco. [ 1 ] El soporte para ESSIV (vector de inicialización de sector de sal cifrado) se introdujo en la versión 2.6.10 del kernel de Linux, LRW en 2.6.20 y XTS en 2.6.24. Un algoritmo de cifrado de disco de bloque ancho , Adiantum , se agregó en 5.0, y su primo basado en AES, HCTR2, en 6.0.
La API de criptografía de Linux incluye soporte para la mayoría de los cifrados de bloques y funciones hash más populares , que se pueden utilizar con dm-crypt.
La compatibilidad con sistemas de archivos cifrados incluye volúmenes LUKS (versiones 1 y 2), loop-AES , TrueCrypt / VeraCrypt (desde el kernel de Linux 3.13), [ 13 ] [ 14 ] [ 15 ] y NTFS cifrado con BitLocker (desde cryptsetup 2.3.0). [ 16 ] La compatibilidad con TrueCrypt/VeraCrypt (TCRYPT) y BitLocker (BITLK) requiere la API criptográfica del espacio de usuario del kernel. [ 17 ]
Compatibilidad
Los discos cifrados con dm-crypt y LUKS se pueden acceder y usar en MS Windows usando el ahora desaparecido FreeOTFE (anteriormente DoxBox, LibreCrypt), siempre que el sistema de archivos utilizado sea compatible con Windows (por ejemplo, FAT /FAT32/ NTFS ). Los sistemas de archivos ext2 y ext3 cifrados son compatibles usando Ext2Fsd o el llamado "Sistema de archivos instalable Ext2 para Windows"; [ 18 ] FreeOTFE también los admite.
Cryptsetup/LUKS y la infraestructura necesaria también se han implementado en el sistema operativo DragonFly BSD. [ 19 ]
Véase también
Referencias
- 1 2 Fruhwirth, Clemens (18 de julio de 2005). "Nuevos métodos en el cifrado de discos duros" (PDF) . Universidad Tecnológica de Viena . Recuperado el 22 de agosto de 2024 .
- ↑ Peters, Mike. "Cifrado de particiones mediante dm-crypt y el kernel de la serie 2.6" . Linux.com . Archivado del original el 11 de julio de 2012. Consultado el 22 de agosto de 2024 .
- 1 2 3 W. Michael Petullo (18 de enero de 2007). "Cifrado de disco en Fedora: pasado, presente y futuro" . Revista Red Hat. Archivado del original el 10 de octubre de 2008. Recuperado el 20 de abril de 2007 .
- ↑ "AUTORS" . GitLab . Consultado el 7 de septiembre de 2019 .
- ↑ "v2.8.7 · Tags" . GitLab . 22 de julio de 2026 . Consultado el 22 de julio de 2026 .
- ↑ "El dominio textual cryptsetup" . Proyecto de traducción . Consultado el 7 de septiembre de 2019 .
- ↑ "COPIANDO" . GitLab . Consultado el 7 de septiembre de 2019 .
- ↑ "COPYING.LGPL" . GitLab . Consultado el 7 de septiembre de 2019 .
- ↑ "Preguntas frecuentes sobre cryptsetup" .
- ↑ Clemens Fruhwirth (15 de julio de 2004). "TKS1: un esquema de configuración de claves iterativo, de dos niveles y antiforense" (PDF) . Borrador . Consultado el 12 de diciembre de 2006 .
- ↑ Milan Broz (24-04-2012). " [ dm-crypt ] ¿dm-crypt admite garantías transaccionales del sistema de archivos con registro de transacciones?" . saout.de . Consultado el 08-07-2014 .
- ↑ Mikulas Patocka (22-06-2009). "kernel/git/torvalds/linux.git" . Árbol de código fuente del kernel de Linux . kernel.org . Consultado el 08-07-2014 .
- ↑ "dm-crypt: Linux kernel device-mapper crypto target – IV generators" . cryptsetup. 2014-01-11 . Consultado el 2015-04-05 .
- ↑ "dm-crypt: Objetivo criptográfico del mapeador de dispositivos del kernel de Linux" . Consultado el 5 de abril de 2015 .
- ↑ " [ dm-devel ] [ PATCH 2/2 ] dm-crypt: Agregar modo TCW IV para contenedores TCRYPT antiguos de CBC" . redhat.com . Consultado el 17 de junio de 2014 .
- ↑ Trefny, Vojtech (25 de enero de 2020). Cifrado de disco BitLocker en Linux (PDF) . DevConf CZ.
- ↑ – Manual del programador de Linux – Administración y comandos privilegiados de Manned.org
- ↑ "Ext2 IFS para Windows" . fs-driver.org . Consultado el 15 de febrero de 2015 .
- ↑ Alex Hornung (23-07-2010). "AVISO: dm, lvm, cryptsetup e initrd en el maestro" .
Enlaces externos
- Sitios web oficiales de dm-crypt , cryptsetup-luks y cryptmount
- Todo sobre dm-crypt y LUKS en una sola página (en archive.org) : una página que abarca dm-crypt/LUKS, comenzando con la teoría y terminando con muchos ejemplos prácticos sobre su uso.
- mapeador de dispositivos
- Cifrado de disco
- Software criptográfico