3 votos

¿Cómo genera FileVault la clave?

¿Cómo genera FileVault una clave de recuperación? ¿A partir de mi contraseña de usuario? ¿Utiliza FileVault la misma clave para descifrar el disco al iniciarse que la clave de recuperación? ¿Son idénticas?

Probablemente conozco las respuestas a estas preguntas, pero quiero estar seguro.

¿Cómo funciona filevault 2?

4voto

SuperDuck Puntos 1026

El principio general utilizado por FileVault es el mismo que el de cualquier esquema de cifrado que permita más de una contraseña para acceder a los datos (como LUKS, que se utiliza habitualmente en entornos Linux). En resumen:

  • Para cifrar y descifrar los datos se utiliza una clave llamada MEK (media encryption key).
  • Una clave llamada KEK (key encryption key) se utiliza para generar una versión de texto cifrado del MEK, que llamaremos X. El valor de X se almacena junto a los datos, por ejemplo, en una cabecera del sistema de archivos.
  • Una serie de contraseñas (como tu contraseña de usuario y una contraseña de recuperación), por ejemplo P₁ y P₂, se pasan a una función estandarizada de derivación de claves para generar las correspondientes claves de cifrado que se utilizan para generar versiones de texto cifrado de la KEK. Digamos que la versión de texto cifrado de la KEK generada con P₁ es C₁, y de la misma manera, P₂ produce C₂. Los valores C₁ y C₂ se almacenan junto a X.

Ahora, si conoces una de las contraseñas, puedes proporcionarla para descifrar los datos. Por ejemplo, si conoces P₂, puedes descifrar C₂ para averiguar la KEK. Una vez que conozcas la KEK, puedes desencriptar X para averiguar la MEK. Una vez que conoces el MEK, puedes desencriptar los datos.

Este esquema permite añadir, eliminar y alterar fácilmente las contraseñas utilizadas para acceder a los datos, ya que para ello basta con alterar el conjunto de valores Cᵢ almacenados. No es necesario volver a cifrar los datos en sí, ya que el MEK utilizado no cambia.


En LUKS, estos lugares para almacenar un valor Cᵢ se llaman "keyslots", y LUKS proporciona ocho de estos keyslots.

En APFS, todos estos valores Cᵢ se almacenan juntos en un bloque de datos llamado "keybag" - en principio, el tamaño de este keybag es ilimitado, pero en la práctica actual, suele ser lo suficientemente grande para 7 claves. Al configurar los usuarios y las contraseñas autorizadas en las preferencias de FileVault, una de estas ranuras se utiliza para almacenar una Cᵢ que se puede descifrar utilizando la contraseña de recuperación que se le muestra.

0 votos

¿Por qué hay una KEK? ¿Por qué no se utiliza el MEK como texto plano para los valores C directamente?

0 votos

@EagleV_Attnam, pensándolo ahora, en realidad creo que no es necesario, pero tenía específicamente APFS en mi mente al escribir esto. Con APFS, el cifrado se realiza por volumen, por lo que la misma KEK se utiliza para cifrar múltiples MEK, una por cada volumen APFS; el estándar se refiere a cada una de estas MEK como VEK (clave de cifrado de volumen). También puede haber algún argumento de seguridad criptográfica sobre la mitigación de los ataques de texto cifrado elegido o algo así, pero no puedo estar seguro ahora mismo.

0 votos

No conozco LUKS muy bien a nivel técnico, así que si alguien sabe o puede proporcionar una fuente que diga que no utiliza tal nivel de indirección, entonces razonaría que probablemente no es necesario en general desde el punto de vista de la seguridad, así que siéntanse libres de editar mi respuesta. En cualquier caso, es definitivamente necesario para APFS, dada su encriptación por volumen.

1voto

awy Puntos 500

FileVault utiliza la contraseña de inicio de sesión del usuario como frase de paso de cifrado frase. Utiliza el modo AES-XTS de AES con bloques de 128 bits y una clave de 256 de 256 bits para encriptar el disco, tal y como recomienda el NIST[12][13]. usuarios no habilitados pueden iniciar o desbloquear el disco. Una vez desbloqueado, otros usuarios también pueden utilizar el ordenador hasta que se apague[3].

...

Contraseñas maestras y claves de recuperación

Cuando se activa FileVault 2 mientras el sistema está en funcionamiento, el sistema crea y muestra una clave de recuperación para el ordenador y, opcionalmente, ofrece al usuario almacenar la clave con Apple. La clave de recuperación de 120 bits está codificada con todas las letras y números del 1 al 9, y se lee desde /dev/random, por lo que se basa en la seguridad del PRNG utilizado en MacOS. Durante un criptoanálisis realizado en 2012, se comprobó que este mecanismo era seguro[15].

No es posible cambiar la clave de recuperación sin volver a encriptar el volumen de volumen de File Vault.[3]

https://en.wikipedia.org/wiki/FileVault#FileVault_2

1voto

Tofesly Puntos 11

https://eprint.iacr.org/2012/374.pdf

Todas las respuestas que necesitabas. Es una explicación completa del trabajo. ☝

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X