Contraseñas débiles y contraseñas fuertes

Una contraseña es una combinación de caracteres que nos sirve para acceder a un determinado servicio y verificar nuestra identidad puesto que, teóricamente, la contraseña es algo de carácter personal e intransferible. Si a la mala práctica de compartir nuestra contraseña, apuntarla en la última página de nuestro cuaderno o, directamente, escribirla en el post-it que tenemos pegado en la pantalla de nuestro ordenador, le sumamos la elección de una contraseña simple, corta o formada con palabras fáciles de averiguar, nuestra cuenta estará a merced de cualquiera con no muy buenas intenciones.
¿Qué es una contraseña débil? Podemos considerar una contraseña débil a cualquiera que es vulnerable y, por tanto, susceptible de ser averiguada sin un esfuerzo muy grande. En este grupo podríamos incluir las contraseñas generadas por defecto (root/root, usuario/usuario, admin/123456, etc), contraseñas excesivamente frecuentes a pesar de su debilidad y que, por tanto, forman parte de listados y bibliotecas o contraseñas formadas con datos personales (fechas de nacimiento, nombres de familiares, mascotas, etc).
Por el contrario, una contraseña fuerte es una cadena larga de caracteres que o bien se han generado al azar o solamente el usuario es capaz de averiguar y, por tanto, intentar averiguarlas requiere mucho tiempo y carga computacional (poniéndoselo algo más difícil a un atacante).
Es sorprendente que, a pesar de los casos de robos de cuentas que han surgido en los últimos meses, exista gente que utilice contraseñas tan débiles como "123456", "qwerty" o "superman" (que por cierto tienen el dudoso honor de formar parte de las 25 peores contraseñas del año 2011).

La información de carácter personal

¿Por qué no es recomendable utilizar información de carácter personal? Hoy en día existen datos nuestros en múltiples sitios web y, por ejemplo, en redes sociales como Facebook nuestra fecha de nacimiento o nuestras familiares (hermanos, pareja, etc) son algo visible en nuestro perfil si no hemos tomado las medidas oportunas para configurar correctamente nuestra cuenta. Si a esto le sumamos que pueden darse casos de que personas dentro de nuestro círculo podrían querer acceder a nuestras cuentas, usar en nuestra contraseña datos que estén a su alcance puede ser contraproducente.
De todas formas, el peligro no está únicamente en la red o en nuestro círculo de conocidos, a través de la ingeniería social, alguien habilidoso que se hiciera pasar por un encuestador podría sonsacarnos información que podría ser utilizada para intentar averiguar las contraseñas que utilizamos.
Como comentaba no hace mucho un compañero de trabajo que, precisamente, trabaja en el campo de la seguridad de la información, hay que intentar evitar llegar a situaciones como ésta:
He perdido mi contraseña, tengo que cambiarle el nombre a mi perro

Los cimientos: caracteres, símbolos y números

Para montar nuestra contraseña, como es lógico, contamos con unos cimientos comunes: letras, símbolos y números que debemos combinar adecuadamente y guardando un equilibrio entre fortaleza y capacidad de memorizar (porque si tenemos que apuntarla en un papel que podemos perder o nos pueden sustraer, todo el esfuerzo no servirá de nada).
Dependiendo del servicio en el que nos queramos registrar o cambiar la contraseña, seguramente encontraremos distintos criterios a la hora de ofrecer los tipos de caracteres que consideran admisibles y que, además, no tienen por qué coincidir con otros servicios. En términos generales contaremos con:
  • Letras, tanto mayúsculas como minúsculas
  • Números
  • Símbolos y caracteres especiales (aunque no todos los servicios los admiten): { } ( ) [ ] < > | \ / _ - + = ~ " ' ` * ^ ¿ ? ! @ % & # $
  • Signos de puntuación (, . : ;)

Combinaciones seguras

¿Cómo combinamos los caracteres disponibles para montar una contraseña segura? Para esto no hay una regla fija, puesto que las contraseñas son algo personal, aunque sí que podemos seguir una serie de pautas para generar una contraseña fuerte sin morir en el intento.
Para empezar, deberíamos tener en cuenta una serie de máximas a la hora de formar nuestra contraseña:
  • Mezclar como mínimo 3 grupos de caracteres o más, es decir, combinar mayúsculas, minúsculas, números y caracteres especiales.
  • La longitud de la contraseña, como mínimo, debería ser de 8 caracteres (aunque no excesivamente larga para no provocar rechazo en el uso)
  • Minimizar el número de repeticiones de caracteres o patrones o secuencias obvias (abcd, qazwsx, 23456, etc)
  • Para facilitar el recordatorio podemos usar los números para sustituir letras y, por ejemplo, sustituir la letra 'o' por el '0' o la 'e' por el '3'
Una forma de generar nuestra contraseña podría ser recurrir a algún servicio web de generación de contraseñas de manera aleatoria (Clave SeguraContraseña.comGenerate Password, etc) pero puede que encontremos problemas a la hora de memorizar la secuencia por lo que tendremos que pensar en algo que podamos recordar.
Podemos empezar pensando en varias palabras que nos sean fáciles de recordar o en una frase completa, eliminar los espacios entre las palabras, insertar símbolos como abreviaturas de palabras ('+' por 'mas'), introducir mayúsculas, sustituir algunas letras por números o insertar dígitos en mitad de la frase o al final. Otra posibilidad es pensar en una frase que sea fácil de recordar, quedarnos con las iniciales de cada palabra y usarla como raíz de nuestra contraseña puesto que la completaremos cambiando algunas letras por mayúsculas y anexando caracteres especiales y dígitos.

Métodos de verificación

Muchos servicios y aplicaciones nos suelen indicar la fortaleza de nuestra contraseña cuando la estamos introduciendo (por ejemplo en Drupal) pero también podemos medir la fortaleza de nuestras contraseñas con algunos servicios disponibles en la red y nos pueden servir de guía para mejorar nuestra combinación de caracteres (como How Secure is my password? o el Password Strength Checker de Microsoft)
No hay que temer a estos servicios porque no almacenan la contraseña, calculan la fortaleza mientras la escribimos (gracias a un javascript) y, además, sin acompañarla de un nombre de usuario o un correo electrónico no sirven de mucho.

Pautas a tener en cuenta

Una vez nos acostumbremos utilizar contraseñas algo más fuertes, el siguiente paso es instaurar dentro de nuestra dinámica esta disciplina y, además, tener en cuenta lo siguiente:
  • Nuestra contraseña es un bien muy preciado y abre la puerta a nuestro correo electrónico, nuestra cuenta bancaria, nuestro perfil en Facebook o Twitter; es decir, debemos mantenerla a buen recaudo.
  • Es importante mantener una contraseña distinta para cada servicio que utilicemos o, como mínimo, añadir un sufijo que las diferencie (eso sí, que no sea demasiado evidente porque entonces quedaremos expuestos)
  • Debemos cambiar nuestra contraseña con regularidad, por ejemplo, cada dos meses como muy tarde
  • No reciclar en demasía las contraseñas, es decir, evitar su reutilización y siempre introducir alguna variación se queremos volver a usarlas (nuevos dígitos, por ejemplo, pero sin llegar a usar una secuencia incremental "xxxx1" "xxxx2")