lunes, 17 de junio de 2013

Cómo Generar una Contraseña Segura

Cada día usamos diferentes contraseñas ya sea para acceder a nuestro equipo de cómputo, entrar al correo corporativo o efectuar transacciones de banca en línea. Entendemos que debemos usar passwords seguros pero no sabemos con exactitud cómo generar uno que sea robusto.


Actualmente es importante contar con contraseñas seguras sobre todo ante la técnica de los atacantes que es introducirse directamente a los sistemas de una empresa que provee un servicio (como le pasó a Yahoo, LinkedIn, etc.) y de ahí extraer miles o millones de contraseñas de usuarios que si bien están protegidas, es posible hacerles un ataque de fuerza bruta.

Dicho ataque se basa en el hecho de adivinar contraseñas una y otra vez hasta encontrar la del usuario. Hagamos uso de una analogía. Imaginemos que tenemos una cerradura pero no contamos con la llave adecuada e intentamos abrirla usando una caja con millones de posibles llaves. De ahí su nombre de ataque de “fuerza bruta” porque no aplicaremos una técnica avanzada para abrir cerraduras, simplemente haremos miles de millones de pruebas hasta hallar la llave que abre esa cerradura.

En el mundo informático, obviamente el atacante no va a ejecutar esta labor de probar contraseñas a mano, sino que pondrá a un sistema (con hardware especializado) a efectuar esta actividad de manera automática y a una velocidad impresionante. Actualmente se pueden hacer pruebas a un ritmo de  350 mil millones de posibles contraseñas por segundo para intentar encontrar la correcta, lo cual indica que la probabilidad de que un atacante logre descubrir en poco tiempo que nuestro password es “4rbol” o “mentebrillante123” es alta.

Luego entonces lo que debemos hacer es crear contraseñas robustas con el fin de que si es robada, el atacante invierta tanto tiempo en descubrirla que o se rinde, o efectivamente la descubre en unos años, pero para entonces es probable que ya la hayamos cambiado.

¿Qué características debe tener y cómo podemos generar una contraseña segura?

La primera cuestión a abordar es respecto a la longitud de la contraseña. La sugerencia es usar 16 caracteres. No es un dato que haya obtenido como por arte de magia, sino que lo calculé utilizando una metodología la cual se alimenta de ciertos parámetros como por ejemplo el poder de cómputo actual o bien, la cantidad de computadoras que un atacante tendría a su disposición.

Por otro lado, es importante mencionar que nuestra contraseña debe estar formada por letras minúsculas y mayúsculas, así como por números y caracteres especiales. Esto dificulta el ataque para tratar de encontrar el password.

Ahora bien, una vez sabiendo algunas de las características básicas de una contraseña, es importante establecer la técnica que permita armar passwords fáciles de recordar pero que a la vez los haga complejos. Esta técnica se llama “Haystack” y nos dice que podemos usar como base unos 6 u 8 caracteres y el resto lo llenamos con “paja”.

Elaboremos un ejemplo. Armemos la base de nuestra contraseña. Tomemos la palabra “Calendarios” y modifiquémosla para empezar a usar números, mayúsculas y minúsculas así como caracteres especiales. Por ejemplo “##K4lendari05” o bien “C4lend4rio$”.

Hasta el momento nuestra contraseña base es fácil de recordar ya que tiene una mayúscula, minúsculas, números y caracteres especiales. Si deseamos hacerla un poco más compleja, podríamos agregarle otra mayúscula a nuestra primer opción: “##K4leNdari05”. Notemos que hemos cambiado la letra “A” por el número “4”, la letra “o” por el número “0” y la letra “S” por el número “5” y hemos iniciado la elaboración del password con dos caracteres especiales “##”.

Ahora le agregamos cuanta “paja” queramos. Por ejemplo puede ser la repetición de las siguientes secuencias (que aquí presento separadas por coma) fáciles de ubicar en un teclado en español: -+, ¡”,Lñ, %&.

Usando nuestra última opción de contraseña base “##K4leNdari05” enlisto cuatro opciones para crear nuestro password final ya agregándole paja:

·        ##K4leNdari05-+-+-+-+-+

·        ##K4leNdari05!”!”!”!”!”

·        ##K4leNdari05LñLñLñLñLñ

·        ##K4leNdari05%&%&%&%&%&

Si observamos bien, nos daremos cuenta que la paja agregada es muy fácil de recordar, en este caso son dos caracteres que se repiten 5 veces y con esto le agregamos 10 caracteres a nuestra contraseña base, para dar un gran total de 23 caracteres (que es más que los 16 caracteres sugeridos al inicio del artículo). Una contraseña muy robusta y fácil de recordar.
Por sí sola, la contraseña base ##K4leNdari05 no es muy segura, pero al agregarle la paja la volvemos tan robusta que un atacante avanzado tardaría más de un siglo en descubrirla (pueden probar sus contraseñas que tengan paja en este sitio). El secreto está en esa paja que disminuye y limita por mucho el poder de cómputo y las técnicas usadas por los atacantes para romper contraseñas.

Obviamente la paja se puede construir con tres caracteres que se repitan 4, 5 ó 6 veces y otras variantes más que se les ocurran. Ahora ya lo saben, piensen en una contraseña base como ..4ut0, //H1el0, ##PluM4, &L4pic3r0 o la que gusten y agréguenle paja.
A partir de ahora su contraseña será tan segura como una roca.