¿Es malo usar la misma secuencia de caracteres en cada contraseña?

3

Un amigo mío propuso un método para hacer contraseñas donde cada uno tiene la misma base y se le agrega algo relacionado indirectamente con el sitio o el producto al que se ha iniciado sesión. Por ejemplo, todas las contraseñas comenzarían con "AXxY2" y luego la de hotmail.com agregará "¿alguna letra?" por lo que la contraseña completa para iniciar sesión en hotmail.com sería "¿AXxY2any alguna letra?". ¿Es este un buen sistema?

Personalmente, nunca encuentro recordatorios o sugerencias útiles con las contraseñas, ¿sería mejor usar una parte única no relacionada para cada sitio? Por ejemplo, en lugar de tener "alguna letra?" sería algo así como "correr saltar bicicleta subir".

    
pregunta Celeritas 16.02.2014 - 00:17
fuente

2 respuestas

1

Todo depende de cuánta seguridad necesites. El caso más seguro es usar contraseñas muy largas y completamente aleatorias para cada usuario, pero en la práctica, también es el menos utilizable a menos que use un administrador de contraseñas. Si desea mantener la seguridad más sólida posible, eso es lo que debe hacer, pero para muchas personas, ese nivel de seguridad simplemente no es necesario.

En el lado opuesto a este, se usa la misma contraseña corta y fácil de recordar en todas partes. Es muy fácil de usar, pero no es muy seguro porque puede a) adivinar, b) si una cuenta de usuario está comprometida en un solo lugar, incluso con la contraseña debidamente protegida, será bastante fácil para el atacante averiguar cuál es la contraseña yc) si se usa en varios lugares, es muy probable que el atacante también pueda acceder a otras cuentas que tenga.

Hay varias formas híbridas en las que puedes trabajar entre estos dos extremos. Puede tener varias contraseñas para diferentes niveles de seguridad (separando los usuarios básicos del foro y los sitios de noticias de los sitios de datos personales de los sitios bancarios y financieros). También puede haber un sistema de creación de contraseñas derivadas que puede recordar fácilmente en algún sistema, pero es de esperar que un atacante no conozca el sistema que podría encontrar una o dos de sus contraseñas, y por lo tanto un solo compromiso no afectaría su otras cuentas.

Si existe la posibilidad de que te apunten específicamente, es probable que esto no sea una buena idea, ya que la mayoría de los sistemas que podrías encontrar no se sostendrán muy bien contra un atacante determinado y experimentado, pero si solo eres En contra de las personas que intentan encontrar cuentas de una lista gigante, es probable que incluso un simple sistema de diferenciación de contraseñas sea suficiente para protegerlo.

En última instancia, depende de usted decidir qué nivel de seguridad necesita y cuánto esfuerzo está dispuesto a realizar para alcanzar ese nivel de seguridad.

    
respondido por el AJ Henderson 16.02.2014 - 07:18
fuente
0

La reutilización de la contraseña, que es a lo que creo que se refiere, generalmente se considera una mala idea.
Utilizo el método BASE + diferenciador , y tal vez una explicación de mi razonamiento ayude.

Criptográficamente, hay algunos beneficios de usar una BASE + diferenciador .

Algunas implementaciones (es decir, algunas Aplicaciones, Sitios web, etc.) usarán un salt generado aleatoriamente que luego se agregará a su contraseña / frase de contraseña. El algoritmo de cifrado produce un hash de una sola dirección de su contraseña. Luego, esa sal se almacena, en su base de datos, con su contraseña cifrada (el valor hash) para poder comparar su contraseña cada vez que intente iniciar sesión. (Se agrega nuevamente salt a se ejecuta su frase de contraseña, se ejecuta el algoritmo de cifrado y el resultado de hash se compara con lo que tienen almacenado en su campo de contraseña). Por lo tanto, si alguien recuperara su contraseña con hash, ese valor de hash probablemente sería diferente de un sitio a otro, de una aplicación a otra.

El ejemplo sería:

Algorithm: DES3
    Salt: 123
    Passphrase: password
    Resultant Hash: hPh7gd6nmpg=  <-This is stored as your password

Usando la misma frase de contraseña, el mismo algoritmo (DES3) con un valor de sal diferente:

Algorithm: DES3
    Salt: 456  <-Different Salt
    Passphrase: password  <-Same passphrase
    Resultant Hash: PLhThYNi2FE=  <-Different result

Hay son implementaciones de hashing que no usan un salt , y producirán el mismo valor de hash para la misma secuencia de caracteres.

Es importante tener en cuenta que estos son algoritmos de hash unidireccionales , por lo que su contraseña no se puede recuperar (fácilmente) del valor de hash. El único propósito que sirve es comparar el Hash con un hash generado a partir de la secuencia de caracteres que ingresó en el campo de contraseña. Por lo tanto, si un sitio cambia los algoritmos, no podrá iniciar sesión, ya que su frase de contraseña generará un valor Hash diferente utilizando un algoritmo diferente, en cuyo caso tendrá que restablecer su contraseña en su sistema.

Habiendo dicho eso, mi razonamiento para usar una BASE + diferenciador es simple. Si alguien obtuviera mi contraseña de texto simple para el sitio A (digamos Hotmail) y supiera que también tengo una cuenta de GMail, una cuenta de Twitter o cualquier otra cuenta (peor ... una cuenta de E-Trade, etc.), lo primero que harán antes de intentar realizar un ataque de fuerza bruta computacionalmente costoso, sería usar la contraseña que ya saben que uso, ya que es razonable suponer que, en un intento por simplificar la vida. , Reutilizo contraseñas.

el método BASE + diferenciador agrega una capa de seguridad por la siguiente razón: Si no saben que utilizo este método, es muy probable que, en el mejor de los casos, bloqueen cualquier otra cuenta en la que intenten usar esa contraseña. El hecho de no tener éxito con una contraseña conocida es lo suficientemente disuasivo, por lo general, para que recurran a un vector de ataque más costoso y / o computacionalmente costoso, como ingeniería social o fuerza bruta ... o incluso mejor, abandonarlo por completo.

Por lo general, un mayor esfuerzo para obtener acceso a otras cuentas está motivado por algo que la mayoría de nosotros (las personas normales) tienen menos de lo que creemos (dinero, información de secretos comerciales, etc.). En ese caso (supongamos que ERES el que tiene la fórmula de Coke-a-Cola), entonces esta capa adicional de seguridad es suficiente para reducir la velocidad, tal vez el tiempo suficiente para que te des cuenta de que alguien está intentando acceder a tu información. .

Para resumir, SIEMPRE es una mala idea reutilizar las contraseñas y saber que es difícil recordar una docena de contraseñas (a menos que use algo como 1Password ), BASE + Differentiator es un buen método de sentido común.

Para simplificar las cosas, el diferenciador puede ser un algoritmo simple como:

1. The 2nd letter from the beginning and 2nd letter from the end of the site name
  Eg., Hotmail would be BASE+oi
2. The Stock Ticker of the site you are logging into
  Eg., Hotmail would be BASE+MSFT (Microsoft)

Espero que esto sea útil.

    
respondido por el Chad Kemp 16.02.2014 - 02:26
fuente

Lea otras preguntas en las etiquetas