¿Ataque fuera de línea de DPAPI con una contraseña de Windows?

3

Estoy pensando en usar DPAPI para proteger la información del archivo de configuración en mi programa. Después de leerlo, parece que usa la contraseña de Windows del usuario como parte del proceso de cifrado. Ahora, he escuchado que hay herramientas (como el disco de arranque de Hieren) que pueden descifrar las contraseñas de Windows "fácilmente". ¿Se puede contar con DPAPI para cualquier tipo de seguridad en caso de que un atacante tenga acceso físico al disco duro y la contraseña de Windows sea bastante compleja? (Mayúsculas, minúsculas, números, símbolo 8+ de longitud)

    
pregunta John 17.09.2012 - 19:32
fuente

1 respuesta

3

De acuerdo con este libro , la contraseña del usuario se expande en una clave de cifrado (para DPAPI) usando el PBKDF1 Función de derivación de claves, configurada para usar SHA-1 con 4000 iteraciones por defecto. PBKDF1 se describe en RFC 2898 (sección 5.1). Un atacante con algunas GPU grandes podría calcular, tal vez, cuatro billones de SHA-1 por segundo, por lo tanto, intente aproximadamente un millón de contraseñas potenciales por segundo. Si su contraseña tiene 8 caracteres aleatorios de un alfabeto de tamaño 64 (letras mayúsculas y minúsculas, dígitos y dos símbolos), entonces tiene una entropía de 48 bits (porque 64 8 = 2 48 ), y el atacante tendrá que probar, en promedio, alrededor de 2 47 contraseñas antes de encontrar la correcta. Con un millón de contraseñas por segundo, esto le llevará aproximadamente cuatro años.

Tenga en cuenta que Windows tiene la costumbre de ignorar las mayúsculas y minúsculas en muchos lugares: debe verificar si las mayúsculas y minúsculas son realmente distintas en lo que respecta a la verificación de la contraseña.

(El libro dice "por defecto", lo que puede implicar que el parámetro "4000" es configurable, pero no sé cómo).

    
respondido por el Thomas Pornin 17.09.2012 - 20:39
fuente

Lea otras preguntas en las etiquetas