Consejos para crear contraseñas seguras

2

Esta breve guía os ayudará a disipar vuestras dudas y empezar a crear contaseñas seguras. Los servicios y empresas que utilizamos en Internet nos dicen, continuamente, lo importante que es crear una contraseña compleja y difícil de “crackear”.

Consejos para crear contraseñas seguras

Es una petición algo injusta, pues es posible crear contraseñas seguras al 100% y al mismo tiempo fáciles de recordar. De hecho, vamos a mostraros como las contraseñas más amigables son más seguras que aquellas que es imposible recordar.

Vamos a ver qué es necesario para crear contraseñas seguras y, obviamente, lo primero que conviene saber es cómo se puede adivinar una contraseña.

Como hackear una contraseña.

Existen 5 mecanismos principales que un hacker dispone para hacerse con el poder de la contraseña de otros:

  1. Preguntando: Una de las formas más frecuentes para averiguar la contraseña de otro es (no os riáis) preguntandola. La gente tiende a compartir sus contraseñas con familiares, conocidos o amigos. Esto incluye los post-it que la gente coloca en su puesto de trabajo en el monitor o bajo el teclado. Tener una política fuerte de creación de contraseñas no va a solucionar esto. Por último, los ataques basados en ingeniería social -como el Phishing- se basan en engañar al usuario para que sea el mismo quien revele sus propios datos.
  2. Adivinándola: El segundo mayor vector de acceso a contraseñas personales. Lo cierto es que la mayoría de usuarios continúan estableciendo contraseñas que son fáciles de recordar, siendo las más fáciles las que guardan relación directa con nosotros. Nombre, apellido, datos de un familiar, una mascota, fecha de nacimiento, etc.Debemos evitar contraseñas que se puedan asociar a nosotros.
  3. Ataque de fuerza bruta: Es fácil de conseguir. Un hacker simplemente intentará iniciar sesión utilizando contraseñas diferentes en cada intento. Si tu contraseña es “gato”, el atacante usará un script o malware que comience a probar combinaciones de forma secuencial: “aaaa, aaab, aaac…gaaa, gata, gato (coincidencia encontrada). Lo único que puede detener un ataque de fuerza bruta es una contraseña de mayor longitud y complejidad (que es por lo que los expertos en seguridad quieren que las utilicemos).
  4. Palabras comunes: una forma simple de ataque por fuerza bruta, donde el atacante intentará iniciar sesión utilizando una serie de contraseñas muy usadas en base a estadísticas (imagen A).
  5. Ataques mediante diccionario: El mismo concepto que el ataque en base a palabras comunes, con la salvedad de que ahora el hacker usará todo el contenido del diccionario objetivo (inglés, español, chino, etc)

IMAGEN A

Las peores contraseñas del 2014

Las peores contraseñas del 2014

¿Cuándo es segura una contraseña?

No podemos protegernos ante los peligros a y b, pero podemos bloquear las otras formas de ataque. Un hacker normalmente intentará utilizar un script automatizado o algún programa que haga el trabajo sucio por él. Nunca va a probar por sí mismo 400000 combinaciones de contraseñas para ver si alguna funciona.

Para medir el nivel de seguridad de una contraseña debemos preguntarnos ¿cuántos intentos de introducción de contaseña puede un programa realizar por segundo”. El número puede variar, pero la mayoría de aplicaciones web no serán capaces de gestionar más de 100 intentos de inicio de sesión por segundo.

Esto significa, para que os hagáis una idea, que para una palabra simple como “pez“, llevaría el siguiente tiempo adivinarla:

  • Fuerza bruta: 2 minutos
  • Palabras comunes: 2 minutos
  • Diccionario: 50 minutos

La palabra utilizada tiene más de 16000 combinaciones de caracteres diferentes.

Obviamente hablamos de una contraseña de todo menos segura, así que debemos preguntarnos.

¿Cúanto tiempo debe resistir una contraseña para considerarse segura?

  • 1 minuto: una contraseña que sea adivinada en 1 segundo…no merece el calificativo de contraseña.
  • 10 minutos: continúa siendo altamente peligrosa.
  • 1 hora: 1 hora está mejor, pero sigue sin ser una contraseña confiable.
  • 1 día: nos vamos acercando. La posibilidad de que alguien utilice su hardware para crackear nuestra contraseña durante un día ya es bastante remota, aunque posible.
  • 1 mes: solamente un hacker convencido de un beneficio posterior lo llevaría a cabo.
  • 1 año: hemos pasado del riesgo práctico al riesgo teórico. Si trabajamos en la NSA o el CNI no sería aceptable. Pero para el resto de humanos (que no tiene enemigos destacables ¿o sí?) sería aceptable.
  • 10 años: un período de 10 años es altamente improbable.
  • 100 años o similar: ¿Qué nos importa si alguien averigua nuestra contraseña después de haber pasado a mejor vida? Aún así, es recomfortante saber que tenemos contraseña para toda la vida ;).

Pero vamos a ponernos en lo peor. A veces un hacker tiene un buen día y, por una combinación de suerte y otros factores, consigue su objetivo. Podría llegar a adivinar una contraseña con resistencia para 10 años en 18 meses, etc. Esas cosas ocurren.

Por eso no debemos conformarnos con la agradable teoría, que no es más que eso. Queremos una contraseña que dure 1000 años, o 1 millón y que sea segura para siempre ¿verdad?.

Consejos para crear contraseñas seguras

Tras la introducción, es momento de fijarnos en algunos ejemplos reales y comprobar como podemos crear una contraseña fácil de recordar y segura al mismo tiempo. Primero vamos a fijarnos en una contraseña se 6 caracteres comunes, usando diferentes métodos:

TIPO CONTRASEÑA MÉTODO TIEMPO NIVEL DE SEGURIDAD
   6 caracteres aleatorios jskerv Fuerza bruta 1 mes En riesgo

   6 caracteres aleatorios con números

ergs43 Fuerza bruta 4 meses Bajo riesgo

   6 caracteres aleatorios con números,

   mayúsculas/minúsculas y símbolos

J4fS<2 Fuerza bruta 80 años Segura
   6 caracteres palabra común orange Palabra común 1 minuto Inservible
   6 caracteres palabra no común waasoo diccionario 15 minutos Inservible

Los ejemplos que encontraréis a continuación se basan en 100 solicitudes de contraseña por segundo. El resultado muestra que la forma más efectiva para hackear una contraseña concreta es usar la fuerza bruta, palabras comunes o ataques mediante diccionario.

Aunque los test han sisdo realizados con un equipo de bajas prestaciones, podemos ver que en la prueba la complejidad es el punto ganador. Mezclar números, símbolos, mayúsculas y minúsculas es de lejos lo más conveniente. ¿Significa esto que los departamentos de tecnología de las empresas tienen razón? Pues no, ya que J4fS<2 no es una contraseña fácil de recordar y probablemente acabe apuntada donde no debe (post-it?)

Para conseguir crear contraseñas seguras y amigables, debemos entenderlas de otra manera. Lo primero que debemos hacer es elegir palabras que seamos capaces de recordar. Algo sencillo y que podamos escribir rápidamente.

Por ejemplo:

TIPO CONTRASEÑA MÉTODO TIEMPO NIVEL DE SEGURIDAD
palabras comunes this is fun todos 2500 años Bajo riesgo
palabras comunes esto es divertido todos 13000 años Segura

Utilizar más de una palabra simple supone una mejora isntantánea. Pero pasar, simplemente, de 2 a 3 palabras, incrementa de forma exponencial la seguridad, con lo que obtenemos una contraseña muy fuerte:

Para hackear la primera contraseña, los tiempos serían:

  • 1,163,859 años mediante Fuerza Bruta.
  • 2,537 años basándonos en ataques por palabras comunes.
  • 39,637,240 años utilizando un diccionario.

Esto es decenas de veces más seguro que la contraseña J4fS<2 y lo podéis comprobar con cualquier programa para analizar contraseñas.

¿Queréis crear contraseñas seguras hasta el extremo?

Entonces lo que deberéis hacer es sustituir esas palabras por otras que no tengan sentido ni se relacionen entre sí.

TIPO CONTRASEÑA MÉTODO TIEMPO NIVEL DE SEGURIDAD
3 palabras no comunes haha-hehe-hoho todos 300000 años Segura
5 palabras no comunes du-bi-du-bi-dub todos 12 millones de años Segura

Como véis, una contraseña segura y amigable no tiene que ser lo más complejo que podáis imaginar, solo hay que cambiar de mentalidad al crearlas para invalidar los mecanismos utilizados por los ciber-delincuentes. Una contraseña puede ser férrea con solo 3 a 5 palabras sencillas.

No solo son las contraseñas

Ahora que ya hemos creado la contraseña que necesitábamos quizá penséis que ya hemos acabado, pero no. También necesitamos impedir que un hacker lleve a cabo su tarea estableciendo límites para las contraseñas.

Hablamos de impedir que los scripts automáticos usados para comprobar combinaciones lleven a cabo su labor. Para ello deberemos:

  1. Añadir una demora entre intentos de login (inicio de sesión): En lugar de permitir a la gente que se conecte una y otra y otra vez. Añadiremos un tiempo mínimo de espera de 5 segundos entre cada intento.
    1. Esto no será apenas perceptible por el usuario (5 segundos es lo mínimo que tardará en darse cuenta de su error y en volver a escribirla) y sin embargo forzará al script o mecanismo utilizado por el atacante a esperar para realizar 1 intento cada 5 segundos, en lugar de conseguir 100 o más por segundo.
  2. Añadir un período de penalización: si un usuario o persona introduce una contraseña de forma incorrecta -por ejemplo, 5 veces- deberá esperar 30 minutos para volver a intentarlo. Esto afectará gravemente al rendimiento obtenido por el script del hacker.

Si un hacker puede adivinar la contraseña “ergs43” en solo 3-4 meses llevando a cabo unos 100 ataques a nuestro servidor cada segundo tenemos que, añadiendo un período de espera de 5 segundos y una penalización de 1 hora, la misma contraseña podría resistir (en teoría siempre) más de 1000 años.

Servicio web que nos ayuda a crear contraseñas seguras

Os animo a que probéis vuestras propias combinaciones en sitios como How Secure is my Password y tengáis en cuenta esto la próxima vez que decidáis crear una contraseña segura.

Datos basado en un estudio previo realizado por Baekdal Insights.

Compartir.

Sobre el Autor

Alejandro es técnico micro-informático, experto en seguridad de las TIC y apasionado de la tecnología. Colabora habitualmente en diferentes publicaciones de seguridad, software y análisis de hardware entusiasta.

2 comentarios

  1. He leído diversos artículos similares sobre seguridad de contraseñas, y lo cierto es que este es el mejor que he visto hasta ahora. Gracias.

    Me queda una única duda. Siempre se dice que, si utilizas una contraseña cortita (pongamos 3 o 4 caracteres) el posible hacker la podría adivinar por fuerza bruta muy pronto, puesto que tiene pocas combinaciones que probar.

    No obstante, me pregunto: ¿cómo sabe el hacker la longitud de mi contraseña? ¿O acaso un ataque de fuerza bruta comienza siempre por todas las combinaciones de 1 carácter, luego por las de 2, luego por las de 3… y así sucesivamente?

    Por otro lado, se dice que mezclar números y caracteres especiales aumenta la seguridad porque hay mayor número de combinaciones posibles. ¿Cómo sabe un hacker que una contraseña NO tiene caracteres especiales o números? ¿O acaso un ataque por fuerza bruta intenta primero todas las combinaciones sin caracteres especiales ni números, y luego prueba todas en las que sí hay?

    Saludos,

    Angel

    • Buenas Angel, lo primero que quiero es agradecerte tu visita.
      Ahora, en respuesta a tu pregunta:
      -El hacker intentará utilizar el diccionario siempre y cuando no cuente con algún indicio previo que le haga pensar algo concreto, por ejemplo una cuenta asociada a la que es objetivo de ataque, de la cual se sabe “algo”.
      -Dicho esto, el hacker no sabe nada, normalmente, sobre la longitud de la contraseña del usuario. Pero esto no quiere decir que el hacker no tenga claro por donde empezar: busca en internet “worst passwords” y obtendrás indicios. Si cuenta con otros datos tuyos los cruzará para buscar una combinación ganadora: el nombre de tu mascota, un familiar, marca o modelo de tu coche, número de la Seguridad Social, cualquier cosa es válida.
      -En caso de no contar con indicios, símplemente se dispondrá a comprobar combinaciones de contraseñas, aumentando la complejidad en cada pasada. Un ataque a ciegas, sin embargo, no suele ser rentable en muchos casos.
      -Finalmente, un hacker no puede saber los caracteres que componen nuestra contraseña, pero conviene tenerlas siempre en lugar seguro y cifradas, para prevenir.

      Saludos!

Dejar una Respuesta

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR