lunes, octubre 04, 2010

Recuperación de contraseña

Hay una regla bien simple, si algún sitio te permite recuperar tu clave original, el sitio es inseguro.
El funcionamiento de como uno cree que funcionan las contraseñas dista bastante de como funcionan realmente. Por ejemplo en las películas siempre que alguien quería ingresar a algún lugar se golpeaba de alguna manera y si coincidía con el "santo y seña" el portero te dejaba pasar.
Sería fácil pensar que los sitios web funcionan de una manera similar. En alguna parte está almacenada tu clave, y cuando ingresas al sitio comparan lo que ingresaste con lo que está almacenado.
Con lo que no se contaba era que podía aparecer alguien que conoce al portero, lo agarra a patadas y le extrae todas las contraseñas que sabe. Lo mismo puede pasar en el sitio, si tus contraseñas están escritas en texto plano (o sea tal como tu la conoces), alguien malicioso puede entrar al sitio, robar el "archivo" que las contiene y luego entrar al sitio haciéndose pasar por ti.
Lo que realmente pasa  es que a tus contraseñas se les aplica una transformación y las convierte en algo que nadie pueda reconocer, ni siquiera el sitio donde la usas. Por ejemplo: tu clave es 2 y se le aplica una transformación que le suma 5, lo que finalmente queda almacenado en el sitio es 7. Entonces cuando entras al sitio, e ingresas una contraseña, a esta se le suma 5, si coincide con el resultado almacenado, estás autorizado, y ya que 5+2 es igual a 7, estás autorizado. Otro caso, si ingresas 3, no vas a pasar, porque 3+5 = 8 es diferente al valor almacenado, 7.
En el caso anterior, si entrara alguien malicioso a tratar de robar las contraseñas, no le serviría, ya que estaría lleno de resultados de la función. No le sirve de nada saber que el resultado es 7, ya que tu contraseña es 2. Ahora bien, la idea es hacer funciones unidireccionales, o sea que no se pueda obtener el valor original a partir del resultado. Por ejemplo si está lloviendo o son las 5pm, tu clave es vaca. Ahora una persona que ve vaca en el "archivo" de contraseñas no sabrá si es porque está lloviendo o porque son las 5.

Posted via email from Marciano a Cuerda