Recordar contraseña
Sunday, September 30th, 2007Yo soy un asiduo usuario de “Recordar contraseña”. No es que me olvide mucho de las mías, lo que pasa es que las de los sitios que visito poco nunca me las aprendo.
La última que he “olvidado” es la del Backnetwork de Flash on the Beach. Pues nada, le doy fuerte a recordar contraseña y en un instante tengo un mail. Lo malo de ese mail es que me manda mi contraseña tal y como yo la puse, en texto plano. Malo, malo. ¿Por qué? Pues porque para que me la manden tal y como la puse seguramente la han tenido que almacenar sin encriptar*. Eso quiere decir que cualquier empleado con acceso a la base de datos de Backnetwork puede conocer mi contraseña.
En este caso me da igual porque nunca compartiría una contraseña importante, pero seguro que hay mucha gente que repite la misma en varios sitios.
Lo cierto es que almacenar la contraseña encriptada es algo fundamental pero complica el proceso de recuperación. Normalmente implica una de 2:
- El sistema elije aleatoriamente una nueva y te la manda.
- Se genera un link con un identificador tambien aleatorio a un formulario especial en el que puedes volver a elegir una nueva.
Desde luego la primera opción es más sencilla si algún día la tienes que programar. Lo que no puedes hacer en ningún caso es almacenar las contraseñas de tus usuarios en texto plano para TU comodidad como programador. Ni siquiera mandes las contraseñas de tus usuarios sin encriptar entre el cliente y el servidor, Joan Garnet puso un ejemplo bien clarito de cómo hacerlo.
Resumiendo:
Desconfia de los sitios que te mandan tu contraseña tal cual la escribiste
Y al hilo de contraseñas, 2 posts de Coding Horror: Rainbow Hash Cracking y You’re Probably Storing Passwords Incorrectly. El último sobre el flaco favor que Facebook hace a sus usuarios pidiéndoles sus datos (incluídas contraseñas) de
cuentas de Hotmal, GMail, etc. para facilitar así que encuentren a sus contactos. Me ha encantado esta imagen:

¡Salud!
* También han podido encriptarla con un sistema reversible, pero eso igualmente quiere decir que la clave y el método de encriptación están por algún lado en el código.
