¿Cómo puedo calcular la cantidad de contraseñas posibles?

6

Encontré una falla en un sitio donde la función de restablecimiento de contraseña restablece las contraseñas en el siguiente formato

  

UpperCaseLetter-Number-LowerCaseLetter-Number-LowerCaseLetter-Number-UpperCaseLetter

     

Por ejemplo: A0b1c2d

Estoy tratando de determinar cuántas posibles combinaciones de contraseña hay para un sistema como este (donde puedo predecir el 'formato de contraseña' frente a algo aleatorio que usa todo el espacio de teclas superior / inferior-alfanumérico.

No soy criptógrafo, pero me parece una debilidad importante. Me gustaría algunos datos para respaldar esa suposición :) Saludos

    
pregunta NULLZ 26.03.2013 - 02:06
fuente

3 respuestas

9

Para obtener el número de permutaciones, multiplica el número de posibilidades en cada posición:

26x10x26x10x26x10x26 = 456,976,000

    
respondido por el Brian Adkins 26.03.2013 - 02:31
fuente
2

Me gustaría mencionar sobre la (s) otra (s) respuesta (s) respecto a la debilidad de este sistema en particular, una función de restablecimiento de contraseña es solo para contraseñas temporales. La contraseña se podría restablecer porque un usuario la olvidó o se ha bloqueado fuera del sistema.

Dado que el usuario solicita que se restablezca la contraseña, con alguna otra forma de validación de la propiedad de la cuenta, como la dirección de correo electrónico, la contraseña solo debe estar activa durante aproximadamente 5 minutos o menos. Si el restablecimiento de la contraseña se implementa de manera segura, puede bloquear la cuenta después de 10 intentos para evitar la fuerza bruta en el momento del restablecimiento de la contraseña. Sin embargo, es probable que este ataque no ocurra con la pequeña restricción de tiempo.

Si un atacante obtiene las contraseñas de las bases de datos cifradas, es posible que puedan usar la tabla de contraseñas temporales para intentar iniciar sesión antes de que el usuario pueda hacerlo. En este caso, tener una contraseña pequeña es una debilidad, pero probablemente también tengan otras debilidades.

    
respondido por el ponsfonze 26.03.2013 - 15:27
fuente
2

Si sabe que alguien tiene una contraseña de 1 dígito, elegida por una tirada común, entonces sabe que hay 6 contraseñas posibles. Si alguien tira un dado dos veces, sabes que puede ser 1-6 para las posiciones 1 y 2, por lo que 6 * 6 = 36 contraseñas posibles. Sigue multiplicando por sí mismo, o aumentando a un exponente más alto, cada vez que agregue un dígito.

Por lo tanto, una contraseña de letras (26 mayúsculas y 26 minúsculas) y dígitos (10 posibilidades) tiene una longitud de 62 ^, por ejemplo 62 ^ 6 para una contraseña de 6 caracteres, o 57 mil millones de posibilidades.

Si tiene un formato fijo, simplemente multiplica las posibilidades para cada posición, al igual que hicimos con las contraseñas normales. Si el formato es algo como A0a0a0A, entonces las opciones son:

UC   #    low  #    low  #    UC
26 * 10 * 26 * 10 * 26 * 10 * 26 = 457 million

¿Qué tan fuerte es esto? Depende de qué tan rápido puedas crackear la contraseña. Si tiene algo como un hash MD5 de la contraseña (por ejemplo, si la base de datos fue pirateada), puede probar unos cuantos miles de millones de intentos por segundo con software estándar y hardware básico. Si no tiene el hash, entonces en lugar de eso solo puede intentar iniciar sesión en un sitio web, entonces puede obtener alrededor de 10 intentos por segundo (o 2 por segundo, o 500, dependiendo de las circunstancias, pero nada cerca de mil millones) .

Si mi contraseña puede ser 1, 2, 3, 4, 5 o 6, en promedio, después de 3 conjeturas, habrá adivinado correctamente. Lo mismo aquí: si tiene 457 millones de contraseñas posibles y puede hacer 10 intentos por segundo, y hay 2 626 560 segundos por mes, tomaría aproximadamente 9 meses en promedio. En el peor de los casos (si tiene mala suerte y lo adivina en el último intento), llevaría 1,5 años. Si tienes mucha suerte, puedes adivinar correctamente en el primer intento y descifrarlo en 0,1 segundos, ¡pero las probabilidades son de 457 millones!

    
respondido por el Luc 19.04.2018 - 22:49
fuente

Lea otras preguntas en las etiquetas