jueves, marzo 03, 2005

Porqué “aaaa” no es un buen password

Egocrata me pidió que hablara de esto así que vamos a ello. Se que muchos de vosotros estáis al tanto y cuidáis mucho a la hora de elegir vuestras contraseñas, pero hay muchos que no lo hacen y ponen passwords como “aaaa” o el clásico “qwerty”. Pues bien dejadme que os explique como los atacantes intentan conseguir passwords.

En un sistema que esté libre de errores la única manera de acceder a él es mediante la autentificación de usuario y contraseña. Si disponen de un usuario pero no tienen el password asociado a éste lo que intentan es lo que se llama un ataque por “fuerza bruta”.

Este tipo de ataque consiste básicamente en probar todas las combinaciones de caracteres para dar con el password. El funcionamiento es empezando por el password de un solo carácter (por ejemplo “a”) vamos probando todo los caracteres posibles (“b”, luego “c”, así con todos). Si no encuentra la contraseña prueba con las contraseñas de 2 caracteres y así sucesivamente hasta dar con el password deseado. Hay que tener en cuenta que por carácter no solo se entiende una letra también puede ser un número o un símbolo (por ejemplo “$” o “%”), y además un buen sistema diferencia entre la “a” y la “A”.

Ahora bien como ir generando los passwords es una tarea bastante costosa antes de recurrir a ella se utiliza una técnica parecida, consiste en vez de ir generando uno por uno todas las combinaciones posibles se dispone de un diccionario con un montón de palabras que comúnmente se usan como contraseñas (como por ejemplo “qwerty” o “root” o… ) de esta manera si el password que estamos buscando es poco original se encontrará en este diccionario.

Con esto que quiero decir debemos darnos cuenta de un par de cosas. Primera, si somos poco originales y escogemos una contraseña común en seguida se puede descubrir. Segundo, si hemos sido originales a la hora de elegir, cuanto más largo sea el password más costará descubrirlo.

¿Cómo podemos elegir una buena contraseña? Generalmente ha de cumplir algunas cosas como por ejemplo la longitud de la contraseña tendría que ser de 8 caracteres como mínimo. Pero aun así no podemos tener toda la certeza de que sea seguro, así pues además tendríamos que asegurarnos que nuestro password mezcla letras y números y a poder ser incluso símbolos. Las letras no deberían solamente ser mayúsculas o minúsculas sino mezcladas entre si, y además evitando formar alguna palabra. De esta manera un password como “nuBe2SoL” no seria un buen ejemplo, en cambio “Xt3$9Ok1F” ya sería un password aceptable.

Entiendo que este tipo de passwords son difíciles de recordar, pero son los más seguros. También debéis tener en cuenta que se ha de evitar usar la misma contraseña para diferentes sistemas.

2 comentarios:

Tito el Elfo dijo...

¿Porque ocho? ¿Hay alguna razón especial?

Groucho Marx dijo...

8 es el mínimo numero recomendable para que no sea muy fácil romperlo. Hemos de tener en cuenta que cada vez los ordenadores son más potentes con lo que es más rápido generar combinaciones.
Has de tener en cuenta tambien que podemos tener si podemos utilizar también símbolos facilmente sobrepasamos los 100 caracteres posibles. Ahora calcula cuantas combinaciones posibles hay de más de 100 elementos cogidos de 8 en 8 (como mínimo) donde se pueden repetir los elementos.