En cuanto a la capacidad de usar ' key files
' con KeePass .
Para generar la clave de 256 bits para los cifrados de bloque, se utiliza el algoritmo de hash seguro SHA-256. Este algoritmo comprime la clave de usuario proporcionada por el usuario (que consta de contraseña y / o archivo de clave) a una clave de tamaño fijo de 256 bits. Esta transformación es unidireccional, es decir, es computacionalmente inviable invertir la función hash o encontrar un segundo mensaje que se comprima al mismo hash.
El ataque recientemente descubierto contra SHA-1 no afecta la seguridad de SHA-256. SHA-256 todavía se considera muy seguro .
(hay otra actualización reciente , pero creo que esas noticias no son relevantes aquí ).
Hasta el punto en la mano ,
Derivación de clave :
si solo se utiliza una contraseña (es decir, ningún archivo de clave), la contraseña más una sal aleatoria de 128 bits se codifica con SHA-256 para formar la clave final (pero tenga en cuenta que hay un cierto preprocesamiento: Protección contra ataques de diccionario). La sal aleatoria evita ataques basados en hashes precalculados.
Cuando se utiliza la contraseña y el archivo de clave, la clave final se deriva de la siguiente manera: SHA-256 (SHA-256 (contraseña), contenido del archivo de clave), es decir, el hash de la contraseña maestra se concatena con los bytes del archivo de clave y el byte resultante la cadena se vuelve hash con SHA-256 nuevamente . Si el archivo de clave no contiene exactamente 32 bytes (256 bits), también se combinan con SHA-256 para formar una clave de 256 bits. La fórmula anterior cambia a: SHA-256 (SHA-256 (contraseña), SHA-256 (contenido del archivo clave)).
Si cree que su contraseña será un poco más débil (y mejor para su memoria),
el archivo de clave es un buen segundo factor .
Entonces, use ambos (juntos).