¿Qué tan diferentes deben ser mis contraseñas? [duplicar]

16

Supongamos que utilizo recordar una contraseña maestra de alta entropía larga y usar variaciones de cada una de mis contraseñas.

Por ejemplo, si recuerdo tSaF4nWeACVkUU4 como contraseña maestra y uso tSaF4nWeACVkUU4t (con una t y el final) como mi contraseña de Twitter y tSaF4nWeACVkUU4g (con una g al final) como mi contraseña de Google.

Es una mala práctica si es así, ¿cuánta variación debo poner en contraseñas diferentes?

    
pregunta user288447 06.11.2014 - 16:21
fuente

7 respuestas

17

Utiliza contraseñas distintas en distintos sistemas porque sabe que algunas de estas contraseñas pueden tener fugas. Si sus contraseñas son lo suficientemente altas en entropía, entonces no se filtrarán a través de la fuerza bruta, pero aún pueden filtrarse de alguna otra manera, por ejemplo. compromiso del servidor (capta las contraseñas a medida que se producen), registradores de teclas (capta la contraseña a medida que se escribe), ... El uso de contraseñas distintas es una característica de contención de daños . Para mantener el servidor se comprometen localmente ese servidor.

Si la contraseña para el sitio B se puede inferir fácilmente de la contraseña para el sitio A, como en el método que sugiere, entonces falla en la contención del daño. Que la contraseña comience con una alta entropía no tiene influencia alguna en esa declaración. La alta entropía consiste en evitar una brecha a través de la fuerza bruta (también conocido como "ataque de diccionario"). Sin embargo, una vez que ha ocurrido otro tipo de brecha, la entropía ya no es relevante. La entropía es una medida de lo que el atacante no sabe . Si el atacante podría agarrar su contraseña, entonces lo sabe todo y ya no hay entropía. Hemos pasado ese paso.

Para que funcione la contención de daños, el conocimiento de su contraseña para el sitio A no debe proporcionar información alguna sobre su contraseña para el sitio B, lo que significa que ambas contraseñas deben generarse al azar y independientemente entre sí . En particular, si bien esto significa que no debe hacer una "derivación de contraseña" como la que propone, tampoco debe rechazar las contraseñas candidatas para el sitio B porque serían "no lo suficientemente diferentes" de la contraseña en el sitio A: tal rechazo La regla también ayudaría a un atacante a reducir sus esfuerzos de fuerza bruta.

(La derivación de una contraseña basada en criptografía de una contraseña raíz puede ser aplicable, pero estas cosas son sutiles y, en cualquier caso, no podrá ejecutarlas en su cabeza, lo que anula la ventaja de la facilidad de uso de tener un simple regla de derivación.)

    
respondido por el Tom Leek 06.11.2014 - 16:46
fuente
9

En un mundo perfecto, seguro que sería un método maravilloso para que un humano recuerde sus contraseñas. Sin embargo, el mundo está lejos de ser perfecto.

El problema principal con su método es que si solo se descubre una de sus contraseñas (a través de fugas, conjeturas, infracciones, etc.), todo su aparato de seguridad podría deshacerse, ya que los patrones son triviales de detectar.

Para responder a su pregunta sobre la variación; Debes tener contraseñas completamente diferentes. Sé que esto puede parecer tedioso recordar, pero considere usar una contraseña segura para contener todas sus contraseñas individuales y simplemente recuerde su contraseña maestra (siempre cambiante).

    
respondido por el Matthew Peters 06.11.2014 - 16:27
fuente
6

Esto no proporciona casi ninguna seguridad adicional al usar la misma contraseña en todas partes. El objetivo principal del uso de varias contraseñas es evitar que una filtración de una comprometa varias cuentas.

Si obtengo tu contraseña en Twitter, lo primero que haré al tratar de piratearte en Google será intentar las permutaciones de tu contraseña de Twitter. No tardará mucho en darse cuenta de que reemplazar t con g hace que funcione, de hecho, probablemente sea lo primero que intenté antes de probar permutaciones aleatorias.

Si realmente desea seguridad, cada contraseña debe ser completamente única y no relacionada con sus otras contraseñas. Alternativamente, puede ir al extremo opuesto y configurar tanto como pueda bajo OAuth. Esto vincula todo a las mismas credenciales, pero también solo ofrece un servicio que puede comprometerse para obtener su contraseña y también ofrece un solo lugar para cambiarlos tan pronto como se detecte el compromiso. Todavía no es tan seguro como tener un montón de contraseñas completamente únicas, pero es mucho más fácil de usar.

    
respondido por el AJ Henderson 06.11.2014 - 16:49
fuente
3

Mi sugerencia es, "no". El esquema que has sugerido es vulnerable a los ataques de fuerza bruta.

En su lugar, use una aplicación de base de datos de contraseñas que se traslada a los dispositivos que usa, que pueden generar contraseñas complejas y completarlas automáticamente.

    
respondido por el W1T3H4T 06.11.2014 - 18:10
fuente
-1

Como no estoy de acuerdo con la conclusión de la mayoría de las respuestas aquí, voy a analizar este problema de una manera ligeramente diferente. Consideremos un par de violaciones y examinemos cuál sería el efecto de tal esquema de contraseña, sin embargo, haré un pequeño cambio en su esquema (ya que su esquema actual es simplemente también simple):

  

Por ejemplo, si recuerdo tSaF4nWeACVkUU4 como contraseña maestra y uso tSaF4nWeA t CVkUU4 (con en en middle ) como mi contraseña de Twitter y tSaF4nWeA g CVkUU4 (con ag en middle ) como mi contraseña de Google.

Corte de base de datos

La base de datos de usuarios está pirateada y la contraseña con hash está comprometida. La contraseña tiene una alta entropía, por lo que no se romperá por la fuerza bruta. Atacar a otros sitios usando este conocimiento también es imposible.

Corte del sitio

La versión de texto simple de la contraseña está comprometida. Ahora es posible hacer una fuerza bruta simple con alrededor de 3 a 10 intentos realistas en otro sitio antes de que te bloqueen. Usando el esquema propuesto, esto definitivamente se mantendrá incluso bajo un examen relativamente cercano. Recientemente he estado observando cuántos sitios utilizan realmente los tiempos de espera y los bloqueos de cuentas y resulta que muchos sitios no tienen ninguno. Sin protecciones básicas como las de un atacante, se encontrará en la misma situación que se describe a continuación con una sola contraseña de texto sin formato y múltiples hash (aunque la tasa de prueba de contraseñas contra el hash es significativamente más baja a través de un servicio web ).

Hacks de sitios múltiples

Ahora, este esquema solo se vuelve muy débil una vez que un atacante es capaz de atacar una serie de sitios diferentes y luego realizar un ataque dirigido contra ti. En este caso, puede buscar explícitamente las diferencias en la contraseña y, por lo tanto, averiguar su esquema. Algo similar es posible si uno de los piratas informáticos es simplemente un pirateo de la base de datos, ya que puede buscar permutaciones primero en un ataque de fuerza bruta contra el hash ... lo que a su vez llevará al descubrimiento de su esquema. p>

Conclusión

En conclusión, creo que usar un esquema bien diseñado que requiera que se comprometan al menos 3 instancias de contraseña diferentes es suficiente para muchos usos. Solo en caso de que estés esperando un ataque increíblemente dirigido, esto comenzará a convertirse en un problema. Por supuesto, usar contraseñas completamente diferentes es definitivamente más seguro, usar contraseñas completamente diferentes y un administrador de contraseñas es un poco más seguro (dependiendo del administrador de contraseñas y la forma en que lo use), pero esto tiene claras ventajas sobre tener un administrador de contraseñas sin casi todos los inconvenientes de tener un número fijo de contraseñas diferentes.

Y para todos ustedes que afirman que esto es tan simple, inténtenlo (y esto es incluso una versión extremadamente simple con solo dos variables):

  • Contraseña comprometida de texto sin formato: Hsx3e8oHSTBT
    Sitio: PayPal
    Dominio: paypal.com
    Empresa: Ebay
    Categoría: Finanzas
    Importancia: Alta
  • Hash comprometido: ab3ba457824c61f052d8cd5e777e518e6cd2ee63
    Sitio: Gmail
    Dominio: gmail.com
    Empresa: Google
    Categoría: Correo?
    Importancia: alta?
  • Hash comprometido: b20b284e7b255d7f8008bcf2a64ad74e0d210e5655539aa71a530939c51482f4 Sitio: Twitter
    Dominio: twitter.com
    Empresa: Twitter
    Categoría: Social
    Importancia: Media

Ahora fíjate, el anterior debería ser factible, después de todo, solo pudiste hackear tres sitios diferentes y el esquema no es complejo , pero si solo tienes los dos primeros, no descifrarás el tercero a tiempo antes de que Twitter te bloquee. Si tienes el primero y el tercero, podrías descifrar el segundo, pero es por eso que todavía llamé a esta versión débil. De cualquier manera, con toda esta información, sabes un millón de veces más de lo que cualquier pirata informático alguna vez sabría ... por lo que, como ustedes están atacando este enfoque, esto debería ser un paseo por el parque.

  

De cualquier manera, la respuesta es Hsx3e8 (primera letra - 1) [HS] (si es de alta seguridad) TBT , ahora imagínese mezclando categorías o esquemas de letras más complejos o cualquier otra cosa que desee. Por ejemplo, en lugar de los tres anteriores, eche un vistazo a las versiones de texto sin formato: GOpwYjbm2vX , GOp24WYjBmvX , gOpWY12jbmvY (eso es incluso más complejo que mi propio esquema aunque: P)

    
respondido por el David Mulder 06.11.2014 - 20:38
fuente
-2

Como dicen otros comentarios, el problema principal es la estructura demasiado estrecha entre diferentes contraseñas.

Una mejor solución sería aplicar un método de hash a esta "contraseña + cambio" para que el resultado no pueda devolver tu contraseña principal.

Ese es el principio básico de enlace :

  • Tiene una contraseña maestra que solo usa para generar (nunca la escribe en otro lugar), debe sea una contraseña realmente dura con mucha entropía y símbolos (no solo letras y numeros). Es difícil de recordar, pero solo tienes uno como este para recordar.
  • Tiene varios sistemas de sal: URL del sitio web, nombre de inicio de sesión, etc.
  • Eliges el algoritmo de hash a usar.
  • Usted elige el número de caracteres que tendrá la contraseña generada.
  • Usted elige el conjunto de caracteres que usará para su contraseña (algunos El sitio web no permite caracteres especiales).

El resultado es una contraseña de aspecto aleatorio que no puede devolver tu contraseña principal, ya que hay demasiadas sales para ella.

El principal inconveniente de este método es que es muy vulnerable a los keyloggers si registran toda la secuencia y que usas una secuencia similar para todas tus contraseñas (con solo cambiar la URL del sitio web).

Como ejemplo, mantendré la contraseña principal dada: tSaF4nWeACVkUU4 (que no me gustan como no hay caracteres especiales).

Luego escribo que es para uso con el sitio web "test.com", con "HMA-SHA-256", con el nombre de usuario "prueba", con el modificador "prueba" y una longitud de "10". Cualquier cambio en uno de estos parámetros generará una contraseña completamente nueva (excepto por la longitud que solo agrega o elimina caracteres).

Todo esto me da una nueva contraseña: "FBaJZ +: 1 @ N" que no dice mucho acerca de la contraseña principal.

Si no tiene exactamente todos los mismos parámetros, el algoritmo hash debe evitar recuperar los que faltan.

No soy un experto en criptografía, puede que haya entendido mal algunos aspectos y puedo cometer errores. Todo este mensaje es lo que entiendo, por lo que no es necesaria la verdad.

    
respondido por el Togh 06.11.2014 - 22:14
fuente
-7

Aquí hay un marco que uso (YMMV) que se basa en el enfoque típico de CISSP para las contraseñas (algo que sabes, algo que eres, algo que tienes). Divido mi estructura de contraseñas en estos tres temas con la sustitución de caracteres. Actualmente nunca vuelvo a usar la contraseña, mi contraseña típica es de unos 20 caracteres y siempre puedo recordarla:

Sustituciones: (muy comunes)

s = $
e = 3
o = 0
a = @
i = 1

Algo que soy: (ejemplo)

human = hum@n

Algo que tengo: (ejemplo, estoy iniciando sesión en mi cuenta de gmail)

gmail - gm@1l

Algo que sé

mytelephone_number_with_shift_key = @!@%%%!@!@

Mi contraseña para gmail podría ser:

[email protected]@1l.@!@%%%!@!@

Hasta donde puedo retener lo que sé, algo que soy y cambiar lo que tengo:

Algo que tengo: (ahora iniciando sesión en mi banco)

bank = b@nk

Esto sería un desglose:

[email protected]@nk.@!@%%%!@!@ (bank password)
[email protected]@1l.@!@%%%!@!@ (gmail password)
[email protected].@!@%%%!@!@ (bank password)

Esto me permite mantener siempre contraseñas seguras, siempre recordarlas. Tenga en cuenta que existe la amenaza de que alguien pueda descubrir la estructura a través del registro de pulsación de teclas, por ejemplo, aún es muy sólido en su diseño y es más fácil de recordar que lo que se genera sin sentido. Me muevo a lo largo de una estructura como esta y la forma en que lo veo, si alguien está atacando esta metodología, entonces es un adversario muy fuerte.

----- NOTA AGREGADA (editada)

Brute forzando la mayoría de mis contraseñas no funciona usando oclhashcat o John. La mayoría son demasiado largos y tardarían meses. Me permito cambiar la estructura de mi contraseña una vez cada tres meses. Nuevamente, su millaje puede variar, y puedo ver las respuestas / comentarios ahora: " Todo lo que debo hacer es resolver una cosa " A lo que respondo: "si alguien puede averiguar alguno de mis las contraseñas, un adversario fuerte que son. Ellos MERECEN romperla "

    
respondido por el munkeyoto 06.11.2014 - 17:18
fuente

Lea otras preguntas en las etiquetas