Protegiendo AES 128 ZIPs encriptados contra ataques de fuerza bruta

4

¿Cuánto tiempo tomaría la fuerza bruta descifrar un archivo zip encriptado AES 128 si la contraseña tiene 8 caracteres en el rango de A-Z, a-z, 1-9?

¿Hay alguna diferencia si se utilizó el objeto System.Random de .NET para generar la contraseña o si se usó System.Security.Cryptography.RNGCryptoServiceProvider ?

Estoy escribiendo una aplicación y quiero asegurarme de que tengo la seguridad correcta. En el peor de los casos, si un atacante tuviera acceso a la computadora del cliente, tendría algunas docenas de archivos zip para atacar, pero todos tienen la misma contraseña. Quiero asegurarme de que la aplicación sea segura contra este tipo de ataque de fuerza bruta sin conexión. El atacante no tendría acceso a otras contraseñas generadas aleatoriamente o archivos zip cifrados con una contraseña diferente generada aleatoriamente.

    
pregunta John 02.07.2012 - 18:30
fuente

3 respuestas

4

La matemática correcta es que, con 26 + 26 + 10 caracteres y una longitud de contraseña de 8, tiene un espacio clave de 62 ^ 8, que es 218.340.105.584.896 o ~ 2 ^ 48.

Romper esto es factible. (El tiempo que tomaría es una pregunta complicada, dependiendo del presupuesto de los atacantes, la implementación. Con una buena GPU, es probable que se pueda descifrar en un día). Debes usar al menos 12 caracteres, probablemente más. (Esto depende de quiénes son sus enemigos, cuánto dinero tienen, cuánto tiempo deben protegerse los datos, etc.)

También, como sugirió el OP, el almacenamiento de contraseñas podría ser un punto / problema débil.

Y usar un RNG criptográfico siempre es una buena idea.

P.S .: Puedes leer más en:

respondido por el Tie-fighter 03.07.2012 - 01:17
fuente
4

System.Random no es criptográficamente aleatorio (consulte enlace ). Es lo suficientemente predecible como para debilitar su criptografía considerablemente.

¡Vea la respuesta de Tie-fighter a continuación para el cálculo del espacio de teclas (que me equivoqué al usar 61 ^ 8 en lugar de 61 ^ 8)!

Me preocuparía más cómo se almacena esa contraseña. ¿Seguramente su aplicación necesita descifrar los archivos zip en la computadora (potencialmente comprometida) para poder usarlos? ¿Se almacena la contraseña para hacer esto en la misma máquina?

Además, para lanzar una llave en el trabajo, seguramente su "peor escenario" es que un atacante obtiene acceso a la computadora del cliente y mira la pantalla mientras el usuario legítimo trabaja con datos confidenciales.

    
respondido por el randomdude 02.07.2012 - 19:10
fuente
0

Es posible que desee considerar el uso de contraseñas diferentes en cada archivo (sí, es un dolor pero más seguro).

O es posible que desee considerar el uso de RAR en lugar de ZIP, ya que RAR v3 tarda más en resquebrajarse. También el formato 7-zip y RAR soportan AES256. Una vez más, todo se reduce a lo valiosos que son los datos.

Si eres súper paranoico cifra usando RAR y luego 7-ZIP el archivo con una contraseña separada.

FYI CRARK admite el agrupamiento de GPU, por lo que si tienes una casa llena de computadoras portátiles y computadoras de escritorio con GPU, teóricamente podrías descifrar tus contraseñas en un tiempo razonable (dependiendo de la longitud de la PW). y 2 formatos diferentes con contraseñas completamente diferentes.

    
respondido por el Brad 04.07.2012 - 01:12
fuente

Lea otras preguntas en las etiquetas