¿Ya importa la "fuerza" de la contraseña? [duplicar]

1

En los primeros días, felizmente guardamos la contraseña que una persona deseaba en la base de datos.

Más tarde, decidimos que las contraseñas deben incluir ciertas características como números, mayúsculas y minúsculas y longitudes definidas (a veces un máximo de 8; ¡ay!).

No mucho tiempo después, algunos de nosotros decidimos que ciertos caracteres como ; y ' (tenemos que amar a la gente que está arreglando la inyección de sql de forma incorrecta) e incluso repetir secuencias como aaa ya no se permitían.

En algún momento, finalmente los pusimos y poco después agregamos un poco de sal.

Ahora, me pregunto, ¿alguno de los requisitos relacionados con la "fuerza" de la contraseña es realmente importante? En otras palabras, si eliminamos todas las características EXCEPTO por una longitud mínima, ¿es tan bueno?

Si mi aplicación dice, la longitud mínima de la contraseña es de 12 caracteres y hasta 200 caracteres, esencialmente una frase de contraseña y les permito usar cualquier carácter que puedan escribir en un teclado, entonces es tan difícil de romper a través de ¿puerta principal? ¿Suponiendo que todavía estoy haciendo hashing con un salt cuando está almacenado en la base de datos?

- nota: no estoy buscando opiniones. Estoy buscando para ver si alguien puede proporcionar una "prueba" de que una frase de paso de 12 caracteres es menos segura que una que tenga las limitaciones comunes identificadas anteriormente.

    
pregunta NotMe 06.02.2014 - 16:50
fuente

1 respuesta

6

Ok, pongamos las cosas en el orden correcto.

Primero, puedes hacerlo mal . Esto es sobre lo que dices sobre "un poco de sal". No dice si usa "nosotros" como "yo en mi trabajo" o simplemente "nosotros" como en "nosotros, los profesionales de la seguridad de la información, en general". Si es el primero, entonces parece que está utilizando una construcción de hash hecha en casa, probablemente una o dos invocaciones de función de hash de una función de hash con el valor de sal agregado al azar en algún lugar de la mezcla. Esto no augura nada bueno. La aplicación de contraseñas es un asunto complejo, con teoría e investigación activa existente y candidatos bien examinados. Lea esta respuesta .

Dicho esto, veamos su pregunta real, es decir, ¿ son útiles las "reglas de seguridad de contraseñas"? A esto debo responder: en la práctica, no. Consulte esta pregunta anterior . Es probable que cualquier restricción convierta al usuario en un usuario no cooperativo , que empleará mecanismos defensivos para facilitar su propia vida, como escribir contraseñas o generar contraseñas "con un significado oculto". Eso es contraproducente: estos comportamientos de los usuarios son activados por las estrictas reglas de contraseña y su efecto general es que la seguridad se reduce, no aumenta.

Se puede imponer una longitud mínima porque una contraseña demasiado corta es inequívocamente débil y los usuarios lo entienden . Por lo tanto, no aliena a sus propios usuarios al imponer una longitud de contraseña mínima. Sin embargo, cualquier otra regla tiende a ser contraproducente.

Lo que hace una buena contraseña es aleatoriedad . Las reglas de contraseña son solo maneras de sacar a los usuarios de su zona de confort, con la esperanza de que una vez que se les solicite poner símbolos de puntuación, letras y dígitos, entonces, de alguna manera no especificada, comenzarán a "actuar al azar". Esto no es así en la práctica. Los usuarios incómodos están más enojados, pero no más al azar.

Lo que puede ayudar es proporcionar al usuario un generador de contraseñas no obligatorio que utiliza aleatoriedad. Las computadoras son mejores aleatorias que los humanos.

(Consulte también esta pregunta anterior ; sus respuestas pueden ilustrar las relaciones entre aleatoriedad, seguridad y usabilidad.)

    
respondido por el Tom Leek 06.02.2014 - 17:04
fuente

Lea otras preguntas en las etiquetas