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.