No Guarde las Contraseñas de sus Usuarios como Texto Plano!!!
Fecha: March 24th, 2010 | Categoría: Informatica | 6 Comments »Esta mañana un emprendimiento argentino fué victima de un ataque y las contraseñas de todos sus usuarios fueron comprometidas.
Los dueños han tenido que dirigirse a sus usuarios y advertirles que cambien la contraseña si es la misma que usan en otras páginas web, debido a que los intrusos tienen los datos de las contraseñas y emails de todos los usuarios.
http://blog.geelbe.com/ar/2010/03/24/importante-informacion-de-seguridad/
Este accidente le ha pasado a muchas empresas grandes a lo largo de la historia de internet, siendo el ejemplo más importante Reddit (formada por gente muy capaz, hackers y con mucho respaldo ya que fueron tutoreados por Paul Graham y Ycombinator). Es un caso común, suele suceder que se comprometan las bases de datos de usuarios, incluso ha pasado a grandes empresas informáticas, como por ejemplo los ataques de hackers chinos a gigantes como Google, Adobe, Yahoo! entre otros:
http://www.pcworld.com/article/186938/yahoo_reportedly_hit_by_china_hackers.html
Lo que se suele hacer es mezclar la contraseña del usuario con un texto aleatorio (en la jerga informática esto es llamado "salar la contraseña") y luego aplicar un algoritmo de hashing. Por ejemplo, si mi contraseña es "hola", yo la "salo" con "misitioweb.com" y le aplico el algoritmo md5:
md5("hola" + "misitioweb.com") = 'd675c75441f66b2ddfcbf1510a21f259'
Con lo que se puede verificar que la contraseña ingresada cada vez que el usuario se conecta sea la original (se comparan las claves saladas y hasheadas, no se conocen aún "colisiones" de claves para el estándar estadounidense actual, el SHA-1) y al mismo tiempo, nadie tiene manera de recuperar la contraseña original, debido a que no existe manera de tomar la clave encriptada y transformarla nuevamente a la contraseña original.
No hay excusa para almacenar contraseñas en texto plano, recuperar la contraseña debe hacerse generando una nueva y mandandolá por e-mail.
