dm-crypt es un subsistema de cifrado de disco transparente en las versiones 2.6 y posteriores del kernel de Linux y en DragonFly BSD . Es parte de la infraestructura del mapeador de dispositivos (dm) y utiliza rutinas criptográficas de la API de cifrado del kernel . A diferencia de su predecesor cryptoloop , dm-crypt se diseñó para admitir modos de funcionamiento avanzados, como XTS , LRW y ESSIV (consulte la teoría de cifrado de disco para obtener más información), con el fin de evitar ataques de marca de agua . [1]Además de eso, dm-crypt también resuelve algunos problemas de confiabilidad de cryptoloop. [2]
dm-crypt se implementa como un objetivo de mapeador de dispositivos y puede apilarse sobre otras transformaciones de mapeador de dispositivos. Por lo tanto, puede cifrar discos completos (incluidos los medios extraíbles ), particiones , volúmenes RAID de software , volúmenes lógicos y archivos . Aparece como un dispositivo de bloque, que se puede usar para respaldar sistemas de archivos , intercambiar 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 usan initrd para solicitar al usuario que ingrese una frase de contraseña en la consola o que inserte una tarjeta inteligente antes del proceso de inicio normal. [3]
Frente termina
El destino del mapeador de dispositivos dm-crypt reside completamente en el espacio del kernel y solo se ocupa del cifrado del dispositivo de bloque ; no interpreta ningún dato por sí mismo. Se basa en el espacio de usuario front-ends para crear y activar los volúmenes cifrados, y administrar la autenticación. Actualmente hay al menos dos interfaces disponibles: cryptsetup
y cryptmount
.
cripta
Autor (es) original (es) | Jana Saout, Clemens Fruhwirth, Milan Broz [4] |
---|---|
Lanzamiento estable | 2.2.1 / 6 de septiembre de 2019 [5] |
Escrito en | C |
Sistema operativo | Tipo Unix |
Plataforma | x86 , x86-64 , ARMv8 , ARMv7 , ppc64le , MIPS |
Tamaño | 7 MB |
Disponible en | 16 idiomas [6] |
Lista de idiomas Inglés, portugués, chino (simplificado), checo, danés, holandés, finlandés, francés, alemán, italiano, japonés, polaco, ruso, español, sueco, ucraniano | |
Tipo | Software de encriptación de disco |
Licencia | Subbibliotecas GPLv2 [7] : LGPLv2.1 + [8] |
Sitio web | gitlab |
La cryptsetup
interfaz de línea de comandos, de forma predeterminada, 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 generalmente se emplea con scripts automatizados), y solo se puede utilizar una tecla por volumen; la clave de cifrado simétrica se deriva directamente de la frase de contraseña proporcionada .
Debido a que carece de " 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 la configuración de cifrado lo hace útil cuando se combina con software de terceros, por ejemplo, con autenticación de tarjeta inteligente .
cryptsetup
también proporciona comandos para manejar el formato en disco LUKS. Este formato proporciona características adicionales, como administración de claves y extensión de claves (usando PBKDF2 ), y recuerda la configuración de volumen encriptado durante los reinicios. [3] [10]
cryptmount
La cryptmount
interfaz 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 después de que el superusuario haya configurado el dispositivo.
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 da mucha flexibilidad. Esto significa que se puede utilizar para cifrar cualquier sistema de archivos con respaldo en disco compatible con el sistema operativo , así como para el espacio de intercambio ; Se conservan las barreras de escritura implementadas por los sistemas de archivos. [11] [12] Los volúmenes cifrados se pueden almacenar en particiones de disco , volúmenes lógicos , discos completos, así como imágenes de disco respaldadas por archivos (mediante el uso de dispositivos de bucle con la utilidad losetup). dm-crypt también se puede configurar 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 en una computadora, excepto el cargador de arranque, el kernel y la propia imagen initrd. [3]
Cuando se utiliza el modo de operación de encadenamiento de bloques de cifrado con vectores de inicialización predecibles como otro software de cifrado de disco, el disco es vulnerable a los 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 de cifrado de disco. [1] El soporte para ESSIV (vector de inicialización del 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.
La API de cifrado de Linux incluye soporte para las funciones de cifrado y hash de bloques más populares , que se pueden utilizar con dm-crypt.
El soporte FS cifrado incluye volúmenes LUKS, loop-AES y, desde el kernel 3.13 de Linux, el destino TrueCrypt llamado "tcw". [13] [14] [15]
Compatibilidad
Se puede acceder a los discos encriptados dm-crypt y LUKS y usarlos 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 cifrados ext2 y ext3 son compatibles con el uso de Ext2Fsd o el llamado "Sistema de archivos instalable Ext2 para Windows"; [16] FreeOTFE también los admite.
Cryptsetup / LUKS y la infraestructura requerida también se han implementado en el sistema operativo DragonFly BSD. [17]
Ver también
- Comparación de software de cifrado de disco
Referencias
- ↑ a b Clemens Fruhwirth (18 de julio de 2005). "Nuevos métodos de cifrado de disco duro" (PDF) . Universidad Tecnológica de Viena . Consultado el 20 de abril de 2007 . Cite journal requiere
|journal=
( ayuda ) - ^ Mike Peters (8 de junio de 2004). "Cifrado de particiones usando dm-crypt y el kernel de la serie 2.6" . Archivado desde el original el 11 de julio de 2012 . Consultado el 20 de febrero de 2012 . Cite journal requiere
|journal=
( ayuda ) - ^ a b c W. Michael Petullo (18 de enero de 2007). "Cifrado de disco en Fedora: pasado, presente y futuro" . Revista Red Hat . Consultado el 20 de abril de 2007 .
- ^ "AUTORES" . GitLab . Consultado el 7 de septiembre de 2019 .
- ^ "Notas de la versión de Cryptsetup 2.2.1" . GitLab . Consultado el 7 de septiembre de 2019 .
- ^ "El dominio textual de 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 de cryptsetup" .
- ^ Clemens Fruhwirth (15 de julio de 2004). "TKS1: un esquema de configuración de claves iterado, anti-forense y de dos niveles" (PDF) . Borrador . Consultado el 12 de diciembre de 2006 .
- ^ Milan Broz (24 de abril de 2012). "[dm-crypt] ¿Admite dm-crypt las garantías transaccionales del sistema de archivos de registro en diario?" . saout.de . Consultado el 8 de julio de 2014 .
- ^ Mikulas Patocka (22 de junio de 2009). "kernel / git / torvalds / linux.git" . Árbol de fuentes del kernel de Linux . kernel.org . Consultado el 8 de julio de 2014 .
- ^ "dm-crypt: destino criptográfico del mapeador de dispositivos del kernel de Linux - generadores IV" . cryptsetup. 2014-01-11 . Consultado el 5 de abril de 2015 .
- ^ "dm-crypt: destino 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 CBC TCRYPT antiguos" . redhat.com . Consultado el 17 de junio de 2014 .
- ^ "Ext2 IFS para Windows" . fs-driver.org . Consultado el 15 de febrero de 2015 .
- ^ Alex Hornung (23 de julio de 2010). "HEADS UP: 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 página (en archive.org) - una página que cubre dm-crypt / LUKS, comenzando con la teoría y terminando con muchos ejemplos prácticos sobre su uso.