Full Disk Encryption con TPM, no sujeto a ataque de arranque en frío

9

Aquí hay un pasaje de Wikipedia en BitLocker

Una vez que se ejecuta una máquina protegida con BitLocker, sus claves se almacenan en la memoria, donde pueden ser susceptibles de ser atacadas por un proceso que puede acceder a la memoria física, por ejemplo, a través de un canal 1394 DMA. Cualquier material criptográfico en la memoria está en riesgo por este ataque, que, por lo tanto, no es específico de BitLocker.

Entiendo que Trusted Platform Modules (TPM) , que supuestamente está utilizando BitLocker, están diseñados para proteger específicamente contra tales ataques:

... una clave seguirá siendo vulnerable mientras una aplicación de software que la ha obtenido del TPM la está utilizando para realizar operaciones de cifrado / descifrado, como se ha ilustrado en el caso de un ataque de arranque en frío. Este problema se elimina si las claves utilizadas en el TPM no son accesibles en un bus o en programas externos y todo el cifrado / descifrado se realiza en el TPM

El diagrama TPM implica que el almacenamiento de claves y el motor de cifrado / descifrado deberían formar parte del módulo. Entonces, ¿por qué no hay un producto de cifrado de disco completo que use esta función? Por ejemplo: ¿por qué no hay software FDE, no vulnerable a los ataques de arranque en frío?

galets
fuente

Respuestas:

3

El diagrama TPM implica que el almacenamiento de claves y el motor de cifrado / descifrado deberían formar parte del módulo. Entonces, ¿por qué no hay un producto de cifrado de disco completo que utilice esta función? Por ejemplo: ¿por qué no hay software FDE, no vulnerable a los ataques de arranque en frío?

Si desea que su clave no esté presente fuera del TPM, su TPM tendría que hacer todo el cifrado. Eso no es factible porque el TPM carece de lo siguiente:

  1. cifrado simétrico

    El TPM en sí no puede realizar un cifrado simétrico como AES en los datos externos proporcionados.

  2. actuación

    Incluso si fuera capaz de cifrar, el rendimiento del chip no cumpliría los requisitos para un FDE. Un TPM está diseñado para ser muy, muy económico. El rendimiento no es un objetivo de diseño.

  3. ancho de banda

    Un TPM en un sistema de PC está conectado a través del bus LPC que puede transferir 6.67 MB / s como máximo. (tampoco full duplex)

Por lo tanto, el TPM no está diseñado para realizar FDE.

La solución es dejar que el HDD haga el cifrado. Si desea seguir ese camino, debe buscar en el grupo de trabajo de almacenamiento de datos de TCG . Su solución se basa en unidades de autocifrado (SED) que almacenan sus claves en el TPM. Por lo tanto, la clave nunca debe estar visible en la RAM del sistema y solo por un corto tiempo en el bus del sistema .

Así que no es una solución para FDE, pero requiere un hardware especial (= los SED).

Escolito
fuente
¿Eso no dejaría al sistema vulnerable a la detección a lo largo del bus, ya sea PCI o USB (si es externo)? La clave de descifrado debe viajar a lo largo de esa ruta hacia la unidad, y los datos siempre viajarán de regreso, y estarán en la memoria de la PC, sin problemas.
deitch
@deitch sí, pero ese es un ataque diferente. Si quieres defenderte de alguien que pueda oler tu bus PCIe, buena suerte con eso.
Scolytus
Entendido. En otras palabras, si quiero defenderme contra el ataque de los datos no cifrados (no la clave), entonces necesito proteger el bus físico.
deitch
Pero, entonces, ¿cuál es el valor de tener las claves de las unidades nunca visibles en la RAM? Después de todo, los datos no cifrados estarán allí.
deitch
Oh, sí (perdón por los múltiples comentarios). He visto muchos SED; ¿Conoces alguno que almacene sus claves de forma nativa en TPM?
deitch
4

Del artículo de Wikipedia sobre TPM , la especificación de TPM detalla "un criptoprocesador seguro que puede almacenar claves criptográficas que protegen la información", en otras palabras, una pieza de hardware generalizada que realiza operaciones criptográficas para el usuario.

TPM está generalizado para ser accesible desde el sistema operativo y el software posterior, y por lo tanto, es inherentemente limitado en seguridad debido a su diseño: los programas deben ejecutarse desde algún lugar y, por lo tanto, deben cargarse en la RAM. Varios otros programas utilizan el módulo TPM para fines de autenticación (por ejemplo, algunas redes de seguridad corporativas) o para evitar que computadoras no autorizadas accedan a una red en particular.


Esto no se limita a BitLocker, y otras soluciones que usan el TPM también deben tener cuidado para mitigar los riesgos de ataques de arranque en frío / copia de RAM.

En teoría, sería posible tener un disco duro que se autocifra de manera similar a un módulo TPM autocerrado. Sin embargo, esto plantea una limitación muy severa: el usuario final no puede conocer la clave de descifrado (de lo contrario, un virus u otro software también podría determinarla), por lo que sería imposible recuperar los datos si fuera necesario, ya que usted no tiene forma de obtener la clave para descifrarlo.

Este documento que ilustra los ataques de arranque en frío en casi todos los esquemas de cifrado de disco completo puede ser útil:

En su "modo básico" predeterminado, BitLocker protege la clave maestra del disco únicamente con el Trusted Platform Module (TPM) que se encuentra en muchas PC modernas. Esta configuración es [...] particularmente vulnerable a nuestro ataque, porque las claves de cifrado del disco se pueden extraer con nuestros ataques incluso si la computadora está apagada durante mucho tiempo. Cuando la máquina arranca, las claves se cargarán en la RAM automáticamente (antes de la pantalla de inicio de sesión) sin la entrada de ningún secreto.

Parece que Microsoft lo sabe y recomienda [...] configurar BitLocker en "modo avanzado", donde protege la clave del disco usando el TPM junto con una contraseña o una clave en un dispositivo USB extraíble. Sin embargo, incluso con estas medidas, BitLocker es vulnerable si un atacante accede al sistema mientras la pantalla está bloqueada o la computadora está dormida (aunque no si está hibernando o apagada).

Penetración
fuente