23.1.11

Contraseñas seguras (1)


Me divierte de una manera muy especial leer hoy, a comienzos del año 2011, artículos en revistas como PC Magazine (vol.21 Nº12 - pág.76) que aún tratan el tema de las contraseñas y los passwords. Me divierte porque me parece imposible que alguien pueda, tan inocentemente, usar una contraseña como "qwerty" o la clásica "123456", o alguna similar, para su correo electrónico, o su Facebook, o lo que sea. Se ha escrito tanto de este tema...

No hace falta aclarar que una contraseña como "kroywen" solo tarda 13 minutos en romperse; con "kr0yw3n" tenemos 2 horas de seguridad garantizada; con "Kr0yw3^" algo así como 15 días; y con "MA7ApUp#" unos hermosos 3 años. Si a "Kr0yw3^" le agregamos una letra, digamos una "Z", el password queda "Kr0yw3^Z" y el tiempo se amplía a cerca de 3 años... y si agregamos un caracter especial y la dejamos así "Kr0yw3^Z!" el tiempo de vida de esa contraseña aumenta a unos hermosos 237 años.

Cuantos más caracteres o dígitos tenga nuestro password, más fuerte será. Pero no sólo el "largo" es lo que los hace fuertes; vimos en los ejemplos que la combinación de letras minúsculas, mayúsculas, números, signos, y caracteres especiales hacen al password casi irrompible. ¿Pero todo esto es cierto? Esos tiempos, los de los ejemplos, son los tiempos máximos... es decir que luego de esos tiempos se habrán probado todas las combinaciones (no sabemos a qué velocidad) y entre ellas estará la nuestra y allí se romperá el password. Pero podría ser que nuestra combinación sea la primera que se pruebe, ya sea con software o "a mano", y allí en segundos se terminaría nuestra ilusión (sensación) de seguridad.

El soft que se encarga de romper/probar passwords tiene la opción de hacer un ataque de diccionario, así se llama, donde prueba palabras del diccionario de/en algún idioma -generalmente el inglés. Prueba, una y otra vez, palabras o combinaciones de ellas, de una extensa base de datos con miles y miles de palabras. Es difícil conseguir software gratuito de ese tipo en español, generalmente vienen en inglés... pero se puede editar la base de datos (el diccionario) y agregar palabras en cualquier idioma. Y no sólo palabras; se puede agregar el nombre de la mascota de la víctima, los nombres de sus familiares y amigos, los apodos, las fechas de los cumpleaños, los números de DNI, los números de los pasaportes, los domicilios, o todo lo que tengamos de las personas, animales o cosas que se relacionan de alguna u otra forma con la víctima. Además, si las ponemos antes que las miles de palabras del diccionario, probará con ellas primero. Prueben, funciona. Por eso las contraseñas no deben ser palabras de ningún tipo, en ningún idioma, y tampoco una combinación de ellas. Ni hablar de poner un nombre, o un apodo, o algún número que se relacione con nosotros o con los que nos rodean.

Pero nos estamos alejando del tema... En general se puede decir que un password como "aXn3pU65jhT7" de doce dígitos, es bastante seguro y eso que no usamos ni signos ni caracteres especiales. Se corre un riesgo al usar caracteres especiales: y es que no siempre los teclados están configurados como el de nuestra casa, y puede pasar que perdamos 15 minutos buscando el # o la amada @. Prometo explicar en un futuro post el método que yo uso para generar passwords de ese tipo.

Pero ¿cómo hacemos para recordarlos? ¿se pueden tener anotados de alguna manera que nadie los encuentre o descubra jamás? Esto también lo voy a explicar en un futuro post... los hará sentirse espías ocultando información. Se los aseguro.

3 comentarios:

  1. Parece mentira, pero siempre hay personas que ponen como contraseñas qwerty o asdf o 123456. Bueno ahora las critico pero mi primera contraseña fue 123456, la de mi antiguo correo. Hay gente que todavia no entiende lo peligroso de escribir contraseñas de ese tipo, incluso no deben de escribir ninguna palabra completa de ningun idioma, como tu explicas estos programas tienen una amplia base de datos para consultar. Hay que escribir password como tu explicas
    Numeros y caracteres en may y en min, y caracteres especiales.

    Esta muy bueno tu blog, te felicito.

    Yo estoy empezando si quieres vistalo y corrigeme si estoy equivocado http://1ubit.blogspot.com

    ResponderBorrar
  2. Buen artículo. Aunque te debo corregir e informar que si existen diccionarios en español, tanto de palabras comunes como de nombres, apodos, térmios comunes, etc.
    Cabe aclarar que una cosa es por Diccionario y otra por fuerza bruta, donde se pone a trabajar a una PC probando con una cantidad y un rango de caracteres. Ej: 3 dígitos que incluyan 1~9, a~z y A~Z
    Dependiendo de la cantidad de dígitos y de caracteres involucrados variará el tiempo de ruptura.
    IMPORTANTE: No quita que por fuerza bruta tardemos 1 segundo en romperla porque el cálculo se toma suponiendo que la ultima que se encuantra como coincidencia.

    Excelente blog!!!

    ResponderBorrar