Para mejorar la seguridad hasta cierto punto, uso la técnica de generación de archivos de claves (para cambiar un archivo existente en un archivo de claves real).
¿Está utilizando una herramienta externa para hacer eso, o algo integrado en TrueCrypt? AFAIK puede usar cualquier tipo de archivo como un archivo de claves TC, pero el archivo se usa como está, no se realiza ninguna transformación. De los documentos :
Tenga en cuenta que TrueCrypt nunca modifica el contenido del archivo de claves. Puede seleccionar más de un archivo de claves; El orden no importa. También puede permitir que TrueCrypt genere un archivo con contenido aleatorio y lo use como archivo de claves. Para hacerlo, seleccione Herramientas > Generador de archivos de claves.
Cualquiera sea el método que se utilice para "convertir un archivo normal en un archivo de claves", debe asegurarse de que sea determinista (es decir, generar siempre el mismo archivo de claves con la misma entrada), de lo contrario no podrá desecharlo después de su uso. Y, por supuesto, si lo genera a partir de una fuente aleatoria, debe conservarlo para poder desbloquear el volumen más adelante.
Si es así, entonces se podría sobrescribir y destruir de manera segura inmediatamente después de su uso, lo que mejora aún más la seguridad asociada con el uso de truecrypt.
No veo cómo eso mejorará la seguridad. Si el archivo original es suficiente para descifrar un volumen, un atacante que tiene acceso a él también puede hacer lo mismo, independientemente de cuántos pasos intermedios haya para transformarlo en el archivo de claves resultante. Lo mismo con keyfile + password vs. archivo original + password. Eso significa que tiene que proteger este archivo como lo haría con el archivo de claves.
Podría argumentar que usar un archivo arbitrario es más seguro que usar un archivo de claves "estandarizado", ya que hay muchos de ellos en su computadora, y el atacante debe saber cuál es la clave. Un archivo de 64 bytes con datos aleatorios "se destaca en la multitud", por lo que en principio serían los primeros en ser probados. Es un poco como "seguridad a pesar de la oscuridad", pero si no tiene una mejor manera de proteger su archivo de claves, esto le dará un poco más de protección.
Sin embargo, debo señalar que ya que TrueCrypt acepta muchos archivos de claves a la vez, y hace su propio hashing para combinarlos juntos y con la contraseña suministrada, no debería tener que realizar el paso intermedio usted mismo (que potencialmente aumenta la superficie de ataque).
Y por una razón para tener muchos archivos de claves: si sus medios de almacenamiento tienen N
archivos y K
de ellos se usarán como archivos de claves, el número total de combinaciones que debe probar su atacante es N! / (K! * (N-K)!)
. Al elegir cuidadosamente este número, puede hacer que sea mucho más difícil forzarlo brutalmente, incluso si el atacante tiene acceso a todos sus archivos y mucho tiempo y recursos para probarlos. (solo asegúrese de dispersar los archivos de claves a través de diferentes carpetas ...) Usted decide la compensación entre seguridad y conveniencia, ya que el suministro de todos esos archivos de claves también tiene su costo: la paciencia del usuario, que puede ser muy limitada. p>
Actualización: según su comentario, está usando 20 archivos de cada 1000, lo que en principio tomaría mucho tiempo para resquebrajarse ( 1.6 * 10^10
años a 1000 intentos / segundo). Sin embargo, mencionó que los archivos se eligen en función de la información del usuario, por lo que debo señalar este hecho:
A pesar del gran número de posibilidades para elegir esos 20 archivos ( 5.3 * 10^20
~ 68 bits de entropía), no todos tienen la misma probabilidad de ser elegidos, ya que el proceso no es aleatorio. De hecho, cada secuencia de entradas del usuario (permite llamar a una "contraseña") conducirá determinísticamente a una combinación única. Por lo tanto, la entropía de su esquema será como mucho la misma que la entropía de su "contraseña" (con un límite de 68 bits). En otras palabras, un atacante que conoce su proceso solo necesita rehacerlo (contra una lista de conjeturas de "contraseña") para obtener una combinación de archivos viable, un mejor resultado que intentar todos ellos al azar.
Además, debe asegurarse de que la lógica para elegir esos archivos no provoque demasiadas colisiones. Si dos o más entradas conducen al mismo conjunto de archivos, cualquiera de ellos puede usarse indistintamente. Si eso sucede, la entropía resultante puede ser incluso más baja de lo que obtendría simplemente usando esa entrada de usuario como contraseña. Y, no es necesario decirlo, usar una contraseña con más de 68 bits de entropía no tendrá ningún efecto (es decir, 11 caracteres o más), ya que en este punto se garantiza que se producirán colisiones (contraste con el máximo de 512 bits de entropía que puede obtener). utilizando un archivo de claves aleatorio, o aproximadamente 420 utilizando una contraseña aleatoria con 64 caracteres ASCII imprimibles).