Hay al menos los siguientes problemas con las implementaciones del archivo de claves TrueCrypt:
El análisis del archivo de claves ignora los datos más allá de los primeros 1 MB. En la autenticación de tres factores (algo que tiene {archivo de claves}, algo que sabe {contraseña} y en algún caso es {biometría}), al estar menos o más conectado a Internet, es posible que desee detectar el tráfico de archivos de su archivos de su directorio más consultado, es decir, el que contiene archivos de claves. Los archivos de gran tamaño no se pueden almacenar ocultos en un sector de arranque utilizando el ataque de estilo de Evil Maid, por lo que desea que los archivos de claves sean grandes. Veracrypt y Truecrypt tienen este problema de límite de 1MB por archivo (el resto se ignora), tales archivos se transmiten fácilmente a través de la red sin siquiera disminuir su ancho de banda como indicador de advertencia.
El segundo problema es que el algoritmo de análisis de archivos de claves TrueCrypt utiliza CRC32 en lugar de SHA256 o superior, por lo que agrega el valor de CRC32 al final de la mayoría de sus archivos (ataque preventivo activo en los archivos de claves), ANTES de usarlos como un 'nuevo archivo de claves' , podría anular la salida del archivo de claves, haciéndolo vulnerable cuando se pasa, sin saberlo, a un nuevo archivo de claves, pensando que agregará algo nuevo a la contraseña. Keepass, Diskcryptor no tiene este problema.
El tercer problema es que el procesamiento del archivo de claves no se indica con contraseña o sal, por lo tanto, si por accidente usas una contraseña corta y el mismo archivo de claves DOS VECES, desde el punto de vista de los atacantes, nunca más necesitaría volver a calcular el archivo de claves en todo el archivo, pero más bien, quédese con la misma extensión CRC32 conocida de 64 bytes de patrón único para un archivo dado. En otras palabras, para obtener todas las posibles contribuciones de archivo de clave a la contraseña de su sistema de archivos, necesita 64 bytes de datos por cada archivo, ¡y que puede hacer silenciosamente con un antivirus en línea de puerta trasera! Este problema lo comparten Veracrypt, Discryptor y Keepass y, probablemente, todo el software de cifrado de código abierto. La implementación correcta sería HASH (HASH (HASH (HASH (HASH) ^ HASH (contraseña)) ^ archivo de claves [bloque_0]), archivo de claves [bloque_1], ...), un conjunto anidado de llamadas que comienzan con sal y contraseña, así que si cualquiera de los dos cambios, mientras que incluso suponiendo que el RNG roto podría cambiar la contraseña, debe volver a calcular la rutina completa a lo largo de un archivo de claves. Solo entonces el método de archivo de claves será realmente fuerte, porque el atacante debe tener un archivo completo y potencialmente pesado para realizar su ataque de fuerza bruta.
Lo que a menudo se pasa por alto es que los archivos de claves cortos de longitud mínima (64 bytes) son fácilmente detectables, potencialmente exponen las debilidades del RNG en bits más bajos y su aleatoriedad (alta por byte) no es comparable con un archivo típico cuya entropía es muy baja por kilobyte . Esta es otra razón por la que desea archivos de tamaño > 1 MB, además de que son más difíciles de robar o transportar sin ser detectados a través de Internet.
Dicho todo, es muy bueno usar el archivo de claves como segundo factor, ya que no proporciona una contraseña completamente gratis si ha sido atacado por un keylogger.
Cuando se usa Windows, hay un complemento interesante para mantener en cascada que permite montar truecrypt wolumes e ingresar a la ruta del archivo de claves sin escribirlo, mientras se usa la ofuscación de dos canales. Esto lo hace inmune a la mayoría de los capturadores de portapapeles, buscadores de pantalla, análisis de teclado de grabación de sonido y todos los keyloggers populares.
Si el nombre del directorio es largo y aleatorio, el nombre del archivo de claves ni siquiera se muestra (porque la ruta es demasiado larga), por lo que es inmune al ataque de los jugadores de pantalla con respecto a qué archivo es el archivo clave, entre varios en un directorio muy grande.
Debido a que KeePass usa SecureDesktop, entonces usted tiene más inmunidad para los keyloggers al iniciar el administrador de Keepass (que puede usar la ubicación conocida para un archivo de claves, almacenado en el registro), y luego iniciar Truecrypt directamente desde él (nuevamente ingresando otro archivo de claves como entrada de Truecrypt).
Lo bueno es que puedes mantener el archivo de claves en la memoria USB cifrada con Bitlocker on The Go y luego con EFS en cada archivo. El volumen USB extraíble en conjunto puede ser montado automáticamente por Windows, y este último cifrado por archivo solo funciona cuando un usuario específico de Windows inicia sesión. Por lo tanto, otro usuario que ingrese a la máquina Windows ni siquiera podrá acceder a esos archivos de claves. , y una vez que cierre sesión o bloquee su consola (requiere la configuración de EFS en gpedit.msc), las claves de cifrado para EFS ni siquiera estarán en la memoria (archivos de claves de ataque de coldboot - asegurados). Además, si coloca esos archivos en una tarjeta USB o SD, puede eliminarlos fácilmente después de montar los volúmenes, lo que limita su exposición dentro del sistema operativo.
Dicha tarjeta SD o llave USB se puede desechar en segundos, garantizando que un adversario determinado no la robará. Entonces, sus datos estarán seguros, incluso si dice la contraseña mientras usa medicamentos, lo que es bueno porque puede consumir medicamentos gratis. No te olvides de mantener varias copias del archivo de claves en el bosque.