Los servidores que usan contraseñas como parte de su sistema para iniciar sesion, suelen recurrir a distintos metodos para guardar tus contraseñas. En este articulo veremos cuales son los mas comunes y seguros.
Contraseñas como archivo de texto
Este tipo de contraseñas son guardadas sin ningun tipo de seguridad. Es el metodo menos seguro de todos. En la base de datos de los usuarios o miembros del sitio, figuran sus nombres y sus contraseñas asociadas en formato leible por cualquier persona que abra la base de datos. Por ejemplo:
Contraseñas como archivo de texto
Este tipo de contraseñas son guardadas sin ningun tipo de seguridad. Es el metodo menos seguro de todos. En la base de datos de los usuarios o miembros del sitio, figuran sus nombres y sus contraseñas asociadas en formato leible por cualquier persona que abra la base de datos. Por ejemplo:
- elchanguito23....................................................corazon23
- mechi1987.........................................................arcoiris
Si alguna vez te olvidas tu contraseña y el sitio de Internet te la manda por correo electronico, es un claro indicio de que estan usando contraseñas como archivo de texto. Lo mejor es que NO USES ES WEBSITE!
En este caso no importa que tan compleja sea tu contraseña, pues cualquier con acceso a la base de datos puede leerla.
Contraseñas encriptadas
Un sistema de encriptacion transforma tu contraseña en una serie de numeros y letras sin sentido usando una 'llave de encriptacion' especial. Por ejemplo:
- elchanguito23............... f1fFLGKBLAchMTEh1+F9evNxHA== ---->llave--->corazon23
- mechi1987................... AV8gmpZGxio= --->llave--->arcoiris
La unica forma de saber cual es tu contraseña es teniendo acceso a la 'llave de encriptacion', la cual puede 'desencriptar' tu contraseña al formato 'leible'. Lamentablemente, esta llave de encriptacion generalmente esta guardada en el mismo servidor donde esta la base de datos de los usuarios.
La complejidad de la contraseña importaria poco tambien en este caso, en el hipotetico caso de que la base de datos del sitio haya sido comprometida por un ataque de un hacker.
Contraseñas hashed
Un hash es una funcion matematica que transforma tu contraseña en una serie alfanumerica sin sentido, al igual que la 'encriptacion', pero con una gran diferencia...
Un hash es un sistema de encriptacion de un solo sentido. Esto significa que tu contraseña NO se puede 'desencriptar' o transformarla nuevamente a su formato 'leible'. Por ejemplo:
- elchanguito23.....................................ce0a1f743af78d201f7ffbf7983780981409129b
- mechi1987....................5d6bad74e9ef310c8d95eeb72d857dcdda374b82
Por lo tanto, tu contraseña en si NO figura en la base de datos del servidor. Nadie con acceso a la base de datos del servidor podria 'deducir' tu contraseña. Es por este motivo que la mayoria de los sitios de Internet de reputacion considerable JAMAS te mandarian tu contraseña por correo en caso que te la olvides, sino que te ofrecen la opcion de CAMBIARLA por una nueva. Pues ni siquiera ellos saben CUAL es tu contraseña!!!
Lo unico que el servidor hace es comparar el hash de la contraseña que escribes con el hash asociado con tu nombre de usuario en la base de datos de usuario del servidor. Sin coinciden, inicias sesion, si no, recibes un error de que la contraseña o el nombre de usuario es incorrecto.
Lamentablemente, existe, tecnicamente, una forma de obtener la contraseña a partir de su version 'hash'...
Usando lo que se conoce como 'Brute Force Attacks' y 'Rainbow Tables', un hacker podria usar su computadora para comparar el hash de tu contraseña contra cada uno de los trillones de hashes incluidos en dichos 'rainbow tables' hasta dar con el hash correcto de tu contraseña. Afortunadamente, eso toma TIEMPO. En la mayoria de los casos, DEMASIADO TIEMPO. Dependiendo de la 'longitud' y tipo de 'hash' (medido en 'bits'), crackear o hackear el hash de una contraseña podria tomar desde semanas a centurias, e incluso mas...
Contraseñas hashed con un poquito de 'sal'
Este tipo de contraseñas son de las mas seguras y comunes usadas actualmente. Basicamente se trata de contraseñas hashed (hasheadas) a las que se le 'agrega' una sequencia extra aleatoria de numeros y letras al principio o al final de la contraseña que elegiste, ANTES de que el servidor la pase por una funcion 'hash'. A este tipo de sequencia alfanumerica extra se le conoce como 'salt', en ingles 'sal'. El uso de 'sales' aumenta exponencialmente la seguridad de nuestras contraseñas, volviendolas casi imposibles de hackear.
Por ultimo, aqui les dejo un interesante website que les dara una idea de cuanto tiempo se tardaria en 'hackear' una contraseña hasheada segun su complejidad y longitud:
https://passfault.appspot.com/password_strength.html#menu
Lamentablemente, existe, tecnicamente, una forma de obtener la contraseña a partir de su version 'hash'...
Usando lo que se conoce como 'Brute Force Attacks' y 'Rainbow Tables', un hacker podria usar su computadora para comparar el hash de tu contraseña contra cada uno de los trillones de hashes incluidos en dichos 'rainbow tables' hasta dar con el hash correcto de tu contraseña. Afortunadamente, eso toma TIEMPO. En la mayoria de los casos, DEMASIADO TIEMPO. Dependiendo de la 'longitud' y tipo de 'hash' (medido en 'bits'), crackear o hackear el hash de una contraseña podria tomar desde semanas a centurias, e incluso mas...
Contraseñas hashed con un poquito de 'sal'
Este tipo de contraseñas son de las mas seguras y comunes usadas actualmente. Basicamente se trata de contraseñas hashed (hasheadas) a las que se le 'agrega' una sequencia extra aleatoria de numeros y letras al principio o al final de la contraseña que elegiste, ANTES de que el servidor la pase por una funcion 'hash'. A este tipo de sequencia alfanumerica extra se le conoce como 'salt', en ingles 'sal'. El uso de 'sales' aumenta exponencialmente la seguridad de nuestras contraseñas, volviendolas casi imposibles de hackear.
Por ultimo, aqui les dejo un interesante website que les dara una idea de cuanto tiempo se tardaria en 'hackear' una contraseña hasheada segun su complejidad y longitud:
https://passfault.appspot.com/password_strength.html#menu
Comentarios
Publicar un comentario