En el cifrado de disco completo, normalmente tiene una jerarquía de claves. Una clave de cifrado de clave (KEK, por sus siglas en inglés) se deriva de una contraseña de usuario, como usted dijo a menudo, esto se hace usando PBKDF2 (hoy en día, de forma alternativa, más preferido es scrypt). El KEK luego se usa para cifrar la clave de cifrado del disco (DEK) que en realidad se usa para cifrar los medios de almacenamiento.
No estoy completamente seguro de si TrueCrypt realmente usa la clave derivada de la contraseña para cifrar el disco. Sin embargo, pase a su primera pregunta: ¿Dónde se almacenan exactamente estas claves aleatorias? Cada solución FDE tiene una pequeña parte del disco que no está encriptada y donde el DEK se almacena de manera segura (encriptada, ver proceso arriba). Esta es la razón por la que los ataques como el Evil-Maid pueden funcionar. En el arranque, el sistema necesita iniciar un entorno mínimo que solicite al usuario su contraseña, obtenga el KEK y descifre el DEK. Luego verifica si el DEK es realmente correcto (probablemente descifrando un patrón conocido fijo). Si es así, se inicia el descifrado del disco y el sistema continúa su procedimiento de arranque.
Su siguiente pregunta: ¿Por qué se usan claves aleatorias para FDE? Imagine que no usa claves aleatorias y, en cambio, una clave de patrón fijo que, por ejemplo, se basa en el tiempo. ¡Un atacante solo tiene que identificar el tiempo de configuración adecuado y puede reducir la cantidad de claves a fuerza bruta en gran medida!
Si alguien puede obtener la contraseña, el pirata informático obtendría la clave de cifrado de todos modos.
Es cierto, es por eso que necesitamos contraseñas seguras, primitivos criptográficos fuertes para obtener las claves de ellas y claves fuertes que cifran el disco. Los dos primeros son esencialmente para hacer que el KEK tome el mayor tiempo posible. Un atacante eventualmente tendrá éxito, después de todo es una fuerza bruta. Sin embargo, queremos que ni siquiera lo intente, ya que demoraría demasiado y la información almacenada en ese entonces probablemente ya no esté actualizada y carecerá de valor. Como alternativa, incluimos acciones de penalización, es decir, un tiempo de espera cada vez mayor en la entrada de una contraseña falsa o un borrado forzado después de un número específico de intentos.
La clave que encripta los medios debe ser aleatoria y difícil de forzar, ya que, de lo contrario, un atacante podría apuntar fácilmente a esa clave en lugar del proceso de derivación KEK que está diseñado para ser lento.