Patrones en la creación de contraseñas sobre múltiples contraseñas

25

Digamos que creo 100 contraseñas separadas, que consta de alrededor de ocho caracteres aleatorios seguidos de dos constantes que son iguales para todas las contraseñas:

Generated password = 8 random characters + '.p'

Si hago esto para las 100 contraseñas, ¿agregar el mismo .p para cada contraseña las hace más o menos seguras? ¿Qué impacto tendría si se comprometieran dos de todas esas contraseñas?

    
pregunta li x 03.04.2018 - 13:47
fuente

3 respuestas

58

Depende de qué tipo de ataque esté tratando de proteger:

  • Si su contraseña es una entre millones en una violación de datos donde el atacante no lo está atacando específicamente, entonces su contraseña tiene efectivamente 10 caracteres aleatorios en lugar de 8. Será más difícil de descifrar.
  • Si un atacante te está atacando y conoce tu patrón, entonces no te ofrece ninguna protección.
  • Si un atacante te está atacando y no conoce el patrón, podría ayudar hasta que el atacante se entere. Romper una cuenta ayudaría un poco, romper dos haría que el patrón fuera obvio y, por lo tanto, inútil.

Por lo tanto, su sistema puede ser útil a veces, pero no siempre. O en otras palabras: la longitud de su contraseña "efectiva" estará entre 8 y 10, dependiendo de su modelo de amenaza. Pero a menos que tenga alguna razón específica para no hacerlo, me olvidaría de los sistemas inteligentes y en su lugar solo instalaría un administrador de contraseñas.

    
respondido por el Anders 03.04.2018 - 14:21
fuente
15

Hasta ahora, las respuestas han sido para "Si como usuario agrego '.p' al final de todas mis contraseñas en varios sitios" .

Así que me gustaría abordar la otra posibilidad que podría significar la pregunta original: "Si como programador del sistema agregue '.p' al final de las contraseñas de todos mis usuarios "

Lo que estás describiendo se llama "Pepper": es un fragmento de una aplicación específica que se adjunta a la contraseña antes del hashing.

Entonces, ¿qué te trae esto?

  • Evita los ataques de diccionario (ya que el atacante no sabría eso). Cada contraseña tiene una cadena de caracteres específica añadida a la fin.)
  • Evita que una violación en otro conjunto de credenciales comprometa tuyo (ya que no hay manera de que otro Hash (Contraseña) de otro sistema lo haga coincide con su Hash (Contraseña + AppSpecificPepper).

¿Qué es lo que no te consigue?

  • No evita que se descifre una contraseña en cascada para todos cuentas con la misma contraseña, ya que Hash (Contraseña + Pepper) sería coincide con todas las cuentas con la misma contraseña.

Entonces, ¿cuándo todo está dicho y hecho? Absolutamente: agregue el '.p' (o una cadena secreta mucho más larga) al final de las contraseñas de los usuarios. Hace que las contraseñas sean más seguras que solo los 8 caracteres originales. En el peor de los casos, el atacante logra comprometer la aplicación y obtener el pimiento, en cuyo caso solo está tan mal como si no hubiera usado un pimiento en el primer lugar. Pero asegúrate de agregar un Salt también, para que no permitas que un atacante comprometa varias cuentas con una sola contraseña de crack.

    
respondido por el Kevin 03.04.2018 - 21:16
fuente
2

No más, no menos seguro. Un atacante no tiene ni idea, incluso si revela una de sus contraseñas (si no usa sus dígitos del sufijo 2, que es para un atacante la configuración común de las reglas de su ataque).

Pero si el atacante revela dos o más de tus contraseñas e intentará romper otras, seguramente verá el patrón y lo empleará.

    
respondido por el MarianD 03.04.2018 - 14:09
fuente

Lea otras preguntas en las etiquetas