Cómo elegir una buena contraseña

Las contraseñas forman parte de nuestra vida cotidiana, ya sea en el ámbito laboral o en el ámbito personal. Cuando queremos acceder a determinados servicios o información, cuando queremos proteger el acceso a nuestros dispositivos y datos, casi siempre utilizamos una contraseña.

Son tantas las ocasiones en las que necesitamos utilizar una contraseña a lo largo del día, que forman parte de nuestra vida casi sin darnos cuenta. Con el auge tecnológico, esta necesidad se ha multiplicado exponencialmente y, por consiguiente, los riesgos que implica su uso.

Como usuarios podemos contribuir bastante teniendo hábitos de seguridad adecuados, y eso incluye utilizar contraseñas buenas, robustas y seguras. Y precisamente de eso es de lo que trata este texto, de elegir con cuidado y de dedicar un poco de tiempo a esta tarea.

José Francisco García Rodríguez
José Francisco García RodríguezUI/UX Designer

Un poco de historia

Pintura romana

Las contraseñas pueden parecer un invento reciente, sobre todo relacionado con la informática y lo digital, pero nada más lejos de la realidad, las contraseñas llevan entre nosotros desde hace siglos.

Ya en la época romana los centinelas solicitaban el “santo y seña” para permitir el acceso a determinadas zonas; o en la Segunda Guerra Mundial, los soldados aliados utilizaban las palabras “Rayo – Trueno” para diferenciar a las unidades aliadas de las enemigas.

Las contraseñas se han utilizado (y se siguen utilizando) básicamente como un método sencillo, práctico y eficaz para proteger información: mayormente se basan en el lenguaje que utilizamos a diario, es una idea es fácil de explicar y de implementar, y es transversal: es independiente del idioma, cultura, etc.

La primera referencia de su uso, y una de las más populares y divertidas, se origina en el ámbito académico/informático y tiene lugar en los años 60 en el MIT. En dicho centro se inició y popularizó su uso para garantizar la privacidad de los archivos que la computadora tenía almacenados de cada usuario, y el reparto equitativo de las horas de computación, que eran escasas dada la elevada demanda. Como era de esperar, en esa misma universidad y con los mismos protagonistas, tuvo a su vez lugar uno de los primeros casos documentados de robo de contraseñas.

Otras formas de proteger la información

imagen de persona acceso biométrico

Las contraseñas son sólo un método entre muchos de proteger la información. Con el paso de los años han ido surgiendo otros mecanismos para determinar quién puede o no acceder a determinados datos.

A continuación, se muestra una lista con algunos de los métodos más recientes:

Otro mecanismo complementario importante para proteger la información es el cifrado de datos, tanto de la información almacenada como de la información transmitida. Existen múltiples algoritmos de cifrado, y todos utilizan a su vez algún tipo de clave de cifrado.

Desafortunadamente, pese al continuo esfuerzo en la implementación de nuevos sistemas de seguridad, cifrado y protección, del avance de los sistemas de autenticación de dos factores, de la investigación en biometría, etc. en la mayoría de las ocasiones la contraseña va a ser la única/última barrera que va a proteger la información del acceso no autorizado.

Cuáles son las amenazas

Persona espiando con la técnica de ShoulderSurfing

Los crackers cuentan con muchos métodos para obtener las contraseñas (y acceder así a la información que se pretende proteger). Con el transcurso de los años, sus métodos se han sofisticado y a la par han ido surgiendo otros sistemas.

Entre las formas más populares hoy en día para averiguar una contraseña tenemos:

  • Phishing
  • Ingeniería social
  • Programa maligno
  • Ataque usando fuerza bruta
  • Ataque usando diccionario
  • Monitorización de redes
  • Shoulder surfing

Se pueden distinguir dos grupos de ataques: por un lado, los que intentan que sea el propio usuario, mediante el uso de artimañas, el que facilite la contraseña directa o indirectamente (ingeniería social, phishing, programa maligno, …) y, por otro lado, los que tratan de averiguar la contraseña espiando las comunicaciones (sin intervención del usuario, espiando las comunicaciones) o con prueba y error (fuerza bruta, diccionarios, …). Es decir, unos se centran en engañar al usuario, y otros se centran en comprometer el medio.

Conviene destacar una técnica de la anterior lista que, por burda que pueda parecer, resulta muy efectiva: el Shoulder surfing, o espiar por encima del hombro. Siempre es conveniente asegurarse de que cuando se introduce una contraseña no haya terceros merodeando. Esto es importante en entornos laborales, pero también en el ámbito personal: cuando tecleamos el PIN en un cajero, cuando pagamos con tarjeta en algún comercio, etc.

Curiosidad:

Hace poco instalé el control parental en la consola de mis hijos. Mientras establecía la contraseña les pedí que mirasen hacía otro lado. Mi hija (8 años) obedeció, pero mi hijo (7 años) fingió que se tapaba la cara con las manos. Acto seguido, acudió a su dormitorio a anotar en papel la contraseña que yo había tecleado. Si un niño de 7 años puede hacerlo, ¿qué piensan que podrían hacer personas adultas con pocos escrúpulos?.

Todo ello se suma a las múltiples recomendaciones y las políticas de seguridad que periódicamente llegan desde los departamentos homónimos de muchas empresas: no utilizar redes inalámbricas públicas, no hablar de determinados aspectos técnicos y confidenciales de la empresa en lugares públicos, no anotar contraseñas en ningún soporte físico, etc.

Contraseñas inseguras

Password 123456

Todos los años se publican por parte de las compañías de seguridad unos listados con las contraseñas más populares, es decir, estas empresas de seguridad detectan que los usuarios utilizan más unas contraseñas sencillas fijas (el hecho de que existan contraseñas repetidas ya es una señal de alarma).

Se pueden extraer dos conclusiones principales de estos informes y listados: que muchos usuarios utilizan contraseñas poco seguras y que, por otro lado, los usuarios no suelen dedicar suficiente tiempo en crear una contraseña segura.

Para el año 2021 el listado de contraseñas más utilizadas es el siguiente:

Contraseña Nº de veces utilizada
1 123456 103,170,552
2 123456789 46,027,530
3 12345 32,955,431
4 qwerty 22,317,280
5 password 20,958,297
6 12345678 14,745,771
7 111111 13,354,149
8 123123 10,244,398
9 1234567890 9,646,621
10 1234567 9,396,813

Un cracker, utilizando la lista anterior, en 10 intentos (uno por cada contraseña de la lista) podría tener acceso a los datos de muchos usuarios (potencialmente millones)

Utilizar estas contraseñas (y similares) es como dejar las llaves puestas en el coche o en la casa, es una invitación a que nos roben la información.

Afortunadamente, muchas empresas ya implementan en sus sistemas de información protocolos y mecanismos para impedir que los usuarios utilicen este tipo de contraseñas.

Qué no hacer al crear contraseñas

Como se ha visto, no es aconsejable utilizar contraseñas sencillas. Además, existen otros hábitos que habría que evitar a la hora de crear una contraseña:

  • No utilizar nombres personales, ni de familiares, ni de mascotas.
  • No utilizar sólo letras del alfabeto: a-z.
  • No utilizar nombres de ficción: personajes, libros, películas, …
  • No utilizar nombres de ciudades.
  • No utilizar nombres comerciales: marcas de vehículos, tecnología, …
  • No utilizar fechas, de ningún tipo.
  • No utilizar información personal: comidas, lugares, aficiones, …

En general, no es buena idea utilizar como contraseña algo que pueda ser adivinado o deducido. Precisamente, utilizando ingeniería social (uno de los métodos que se han mencionado anteriormente), un cracker podría averiguar el nombre de nuestra mascota, nuestro libro y autor favoritos, alguna fecha importante o cualquier dato relevante que hubiésemos utilizado como contraseña. Bastaría con mantener una conversación (en un chat, tomando café, etc.) y/o revisar nuestras redes sociales (donde este tipo de información puede ser pública).

Contraseñas seguras

Cómo elegir una buena contraseña

De los riesgos que se han mencionado, crear una contraseña segura sólo protege o dificulta el acceso para un número de amenazas limitado, esto es, para aquellas en los que el cracker tiene que adivinar la contraseña, o utilizar métodos automáticos para obtenerla: fuerza bruta y diccionarios.

Para los ataques en los que se obtiene la contraseña en claro, ya sea monitorizando los mensajes de red o bien espiando por encima del hombro, en los que se obtiene la contraseña completa, una contraseña fuerte no protegería los datos.

En cualquier caso, siguiendo un conjunto de recomendaciones a la hora de crear una contraseña, ésta se vuelve más fuerte y, por lo tanto, más segura:

  • Utilizar letras (mayúsculas y minúsculas), números y símbolos.
  • Que tenga una longitud adecuada (evitar las contraseñas cortas).

Además, es recomendable seguir estas indicaciones respecto a la gestión de contraseñas:

  • No utilizar la misma contraseña para todos los servicios.
  • No utilizar la contraseña del correo en otros servicios que utilicen el correo como usuario.
  • Cambiar con frecuencia la contraseña.
  • No iniciar sesión en redes públicas (wifi).
  • No anotar la contraseña en papel, postit o cualquier soporte físico.
  • Comprobar que no haya nadie alrededor a la hora de introducir la contraseña.
  • Mantener el software antivirus y los programas actualizados.

Una contraseña segura sería, por ejemplo:

Fu17_15/Mm19;

Contiene letras mayúsculas, minúsculas, números y símbolos. Es la típica contraseña que un generador aleatorio podría devolver.

La contraseña propuesta, que es muy segura, tiene las siguientes posibles combinaciones:

  • 26 letras minúsculas.
  • 26 letras mayúsculas.
  • 10 números.
  • 3 símbolos.

Eso hace un total de 65 símbolos. La longitud de la contraseña es de 13 caracteres, así que podemos calcular el número posible de combinaciones:

65 ^ 13 = 369.720.589.101.871.337.890.625 combinaciones

Supone casi trescientos setenta mil trillones de combinaciones. Si el cracker pudiese probar un millón de combinaciones por segundo, por ejemplo, tardaría 369.720.589.101.871.338 segundos en probar todas las combinaciones o, lo que es lo mismo, unos 17.723.762.972 años (diecisiete mil millones de años).

En los sistemas en línea, normalmente bloquean la cuenta al tercer intento fallido, por lo que se puede estar tranquilo en ese aspecto. Respecto al uso de diccionarios o fuerza bruta, trabajando sobre un archivo de claves a esa velocidad, tampoco parece viable que pudiesen obtener la contraseña en un tiempo razonable, no al menos con la tecnología de procesamiento actual.

Contraseñas para humanos

Estatua del pensador de Rodin

Todo lo planteado hasta ahora, sobre el papel, es perfecto. Utilizar contraseñas fuertes, cuya combinación resulte imposible de predecir o adivinar, y cuya longitud requiera un tiempo de computación desorbitado, resulta de lo más seguro.

Desafortunadamente, hay un problema con este tipo de contraseñas: tienen que ser utilizadas por seres humanos. Y las personas no somos especialmente buenas recordando cosas.

Imaginemos una situación muy común: un usuario que tiene que acceder a 10-15 servicios distintos, con contraseñas fuertes (aleatorias con longitud apropiada), y que tiene que poder recordarlas, no puede anotarlas y, para más inri, tiene que cambiarlas con frecuencia, cada pocos meses. Es casi seguro que termine olvidando alguna o la mayoría de las contraseñas, si es que en algún momento ha sido capaz de memorizarlas todas.

Cuando se obliga a un usuario a usar este tipo de contraseñas y a cambiarlas con frecuencia, no es raro que algunos usuarios dejen de cambiarlas o que terminen utilizando la misma contraseña para todos los servicios.

Debe existir un punto intermedio entre las contraseñas poco seguras y fáciles de adivinar, y las contraseñas fuertes y complejas:

Débil Intermedio Fuerte
123456 ¿? Fu17_15/Mm19;

Fácil de recordar, difícil de adivinar

Cómo elegir una contraseña fácil de recordar

Las personas tenemos dificultad para recordar secuencias de números y letras aleatorios; nuestra mente procesa mejor aquellas secuencias que tienen sentido, o que siguen algún patrón que se pueda reproducir. También recordamos por asociación de conceptos, como experiencias, sonidos, olores, etc.

Muchos estudiantes han utilizado (y siguen utilizando) mecanismos mnemotécnicos para memorizar información que de otra forma sería muy difícil: fechas de eventos, pesos atómicos, fórmulas, ecuaciones, secuencias, etc.

Uno de los trucos es, por ejemplo, utilizar la primera sílaba de cada palabra de una lista que hay que memorizar. Con esas sílabas se forman a su vez palabras (que pueden tener significado) que son las que finalmente memorizan los estudiantes. Para obtener el listado de palabras original (decodificar), basta con descomponer la palabra mnemotécnica en sus sílabas y proceder a realizar el camino inverso, esto es, recuperar las palabras que comienzan por cada una de las sílabas. Sin meternos en los entresijos psicológicos y los procesos mentales que facilitan esta forma de memorizar, está claro que funciona, y que somos capaces de asignar significados a palabras compuestas con menos esfuerzo. De hecho, muchos estudiantes recuerdan estas palabras muchos años después, son persistentes en el tiempo.

Un alumno desea recordar los países de América del Norte y crea la palabra: MEUC, en base a las iniciales de México, Estados Unidos y Canadá.

Este método nos ayuda a comprender que se puede memorizar gran cantidad de información, compleja, si se sabe cómo. Por otro lado, queda por resolver la seguridad de esta forma de construir contraseñas.

Frases de contraseñas

Escoger bien una password

Se está popularizando una forma de construir contraseñas basada en la técnica mnemotécnica mencionada anteriormente. La base es construir una contraseña con trozos (chunks) de datos conocidos por el usuario (públicos o no) y, usando un patrón conocido sólo por el propio usuario, ir uniéndolos hasta formar una nueva contraseña con unos estándares de seguridad sólidos.

Algunos ejemplos de trozos de información que podrían ser utilizados para componer una contraseña:

Primeros/últimos dos dígitos de la matrícula del coche/moto.

  • 34, 93, 82, …

Suma o resta de los dos números formados por los dos primeros dígitos y los dos últimos dígitos del año de nacimiento.

  • 1990 –> 19 + 90, 1990 –> 90 – 19, 1990 –> 19 – 90

Primera/última letra de la matrícula del coche/moto.

  • L, S, T, …

Primera/última sílaba de la población de nacimiento.

  • Al, Bar, Se, …

3 últimas letras del nombre de la mascota.

  • Tín, Fo, Co, …

Primera letra de cada palabra del título del libro favorito.

  • El Quijote –> EQ, Cien años de soledad –> CADS, Los pilares de la Tierra –> LPDLT, …

Existen infinitas fuentes de información personal que podrían ser fragmentados y utilizados para generar una contraseña, la única limitación sería la imaginación del usuario. Lo importante es que el usuario recuerde qué fragmento de información y qué patrón ha utilizado, y que sólo él conozca el proceso completo.

Anécdota personal

Empecemos con un caso práctico, de una anécdota personal que puede servir de base para introducir las frases de contraseñas y, mientras la generamos, iremos comprobando su nivel de seguridad.

Hace tiempo, unos amigos me contaron una anécdota sobre un padre que pidió pizza para compartir con su hijo y sus compañeros de clase, los cuales estaban viendo una película en el salón. En un descuido, el padre hizo el pedido de la pizza incluyendo piña, un ingrediente algo polémico. La respuesta de ellos ante este “atropello” culinario fue un enérgico “¡Papá, con piña no!”.

1º Paso:

Podemos utilizar esa misma frase, sacada de un contexto muy concreto, como base para crear una contraseña.

papaconpiñano

Esta contraseña está formada por 4 palabras y, teniendo en cuenta que el idioma español cuenta con más de 93.000 términos (según el Diccionario de la Real Academia Española), las combinaciones necesarias para adivinar la contraseña serían:

Número de combinaciones potenciales:

93.000 ^ 4 = 74.805.201.000.000.000.000 combinaciones

Unos 74 trillones de combinaciones, lo que daría una seguridad de contraseña bastante elevada. En realidad, hemos hecho un poco de trampa: de los 93.000 términos que hay recogidos en el DRAE, el español medio sólo utiliza una fracción de ellas en su vida diaria, además de que los artículos están contenidos entre las palabras más utilizadas. Por tanto, la base para el cálculo no sería exactamente la expuesta.

Tomando una aproximación más real, una persona con educación media puede utilizar unas 500 palabras distintas de media al día. Eso no implica que no conozca más términos (entre 20.000 y 40.000). Así pues, si le damos a elegir entre las que usa a diario y las que pueda conocer, estimemos que su base de vocablos para crear una contraseña de frase es de unas 5.000 palabras. Eso nos da:

Número de combinaciones reales:

5.000 ^ 4 = 625.000.000.000.000 combinaciones

Se obtienen 625 billones de combinaciones, lo cual tampoco es una mala cifra. Aun así, ¿por qué no mejorarlo?

2º Paso:

Introduzcamos varios patrones básicos para añadir más ruido a la contraseña, pero tratando de que el usuario sea capaz de recordarlos: mayúsculas/minúsculas, números y símbolos.

Empecemos aplicando una convención bastante utilizada en el desarrollo de software y los lenguajes modernos: el Upper Camel Case, esto es, usar mayúscula para la primera letra de cada palabra.

PapaConPiñaNo

Este sencillo cambio permite duplicar la base del cálculo, ya que necesitará de un diccionario con todas las palabras en minúsculas, y otro con todas las palabras con la primera letra en mayúscula.

3º Paso:

Vamos a añadir un número a la contraseña. Para ello, vamos a tomar otra anécdota personal, que sólo el usuario pueda conocer.

El usuario suma los dos últimos dígitos de las fechas de nacimiento de toda su familia: 1970, 1974, 1990 y 1993. Esto es: 70 + 74 + 90 + 93 = 327. Aparentemente, este número no tiene ningún sentido salvo para el usuario. La contraseña quedaría tal que así:

327PapaConPiñaNo

La contraseña sigue siendo inteligible, pero la complejidad sube varios puntos. El número de combinaciones ahora incluye el de 3 símbolos numéricos (del 0 al 9), por lo que los intentos necesarios para descubrirla subirían hasta:

Número de combinaciones:

(10.000 + 10) ^ (4 + 3) = 10.010 ^ 7 = 10.070.210.350.350.210.070.010.000.000 combinaciones

Los 10 mil cuatrillones de combinaciones ya parecen una cifra razonable, para una contraseña relativamente sencilla de recordar.

4ºPaso

Para finalizar, podemos separar números y palabras con algún símbolo, de tal forma que el ruido en la contraseña sea suficiente para que sea muy fuerte:

327;;PapaConPiñaNo,,

Cuatro símbolos, estratégicamente colocados, de un conjunto de 16 símbolos (un subconjunto de casi todos los símbolos imprimibles), incrementan a su vez la complejidad de la contraseña. Ahora las combinaciones posibles son las siguientes:

Número de combinaciones totales:

(10.000 + 3 + 16) ^ (4 + 3 + 4) = 10.019 ^ 11 =

102.109.968.604.705.434.210.283.002.058.640.000.000.000.000 (aprox.) combinaciones

Son 102 septillones de combinaciones, número que supera ampliamente la cantidad de la contraseña aleatoria que se señaló al inicio como ejemplo de seguridad (1 a 102 trillones).

Patrones

Patrones para tu password

Como se ha visto, una combinación de palabras, símbolos y números puede dar lugar a contraseñas seguras, y también seguir siendo sencillas de recordar.

En el ejemplo se ha construido una única contraseña, pero se podría aplicar el método para generar cuantas contraseñas hiciesen falta.

Cuando hay que gestionar múltiples contraseñas (lo que es un hecho muy habitual en el entorno tanto profesional como personal), es necesario añadir un concepto más (que ya se ha descrito parcialmente en este mismo texto), para que la gestión de estas no suponga una carga cognitiva elevada. La finalidad es evitar una baja frecuencia de actualización de contraseñas, contraseñas fáciles de adivinar, contraseñas anotadas en soportes físicos, …).

Como solución, podemos utilizar patrones, esto es, definir estructuras de contraseñas. Por ejemplo, en la frase de contraseña que se ha generado con anterioridad, se observa la siguiente estructura:

Número + símbolos + frase + símbolos

Esto podría ser un patrón, por ejemplo, para generar contraseñas seguras similares. Con las estructuras, es mucho más sencillo tanto generar una contraseña como recordarla:

  • 415;;PelucheMancoRojo..
  • 214;;CambiaCromoRoto..
  • 988;;LibretaPerdidaCamión..

¿Reduce la seguridad el uso de patrones?

, sin duda es un pequeño retroceso en esta carrera por la seguridad: hace más predecible una contraseña. ¿Compensa esa reducción de seguridad? Depende de cómo se utilicen. En el caso del ejemplo, sí que reduciría la complejidad, ya que el número de combinaciones necesarias sería inferior. Si se reduce el número de combinaciones posibles de septillones a billones, es un decrecimiento notable, pero muy lejos de una contraseña que pueda comprometerse con facilidad.

Estas serían las combinaciones necesarias para una estructura como la descrita anteriormente:

10 ^3 * 16 ^ 2 * 10.000 ^ 4 * 16 ^2 = 655.360.000.000 combinaciones

Añadiendo más trozos de información (chunks) al patrón, podremos multiplicar este número de combinaciones, hasta una cifra que consideremos suficientemente segura.

También hay que tener presente que los patrones sólo deberían ser conocidos por el usuario, que es el mismo método que se ha utilizado para elaborar la contraseña.

Cada usuario debería construir o generar su propio patrón:

  • Número + Símbolos + Frase + Símbolos
  • Símbolos + Frase + Número + Frase
  • Símbolos + Frase + Número + Frase + Número + Símbolos

Se puede atenuar este problema igual que se mitiga el uso continuado de una contraseña: cambiando tanto la contraseña como el patrón con relativa frecuencia.

Ofuscar

Ofuscar tu contraseña

A pesar de ir en contra de las recomendaciones de seguridad más básicas, si el usuario se ve obligado a anotar en soporte físico una contraseña (repetimos que es lo menos aconsejable), siempre se puede optar por poner las cosas un poco más difíciles: ofuscar.

Si hay que anotar una contraseña en papel, podemos utilizar un patrón conocido sólo por nosotros, para ofuscar el contenido y que no sea directamente descifrable.

Un método sencillo es añadir más “contraseña” a la contraseña, es decir, añadir ruido. Y añadir ruido requiere que el usuario sepa qué es ruido y qué no es ruido, dónde comienza la contraseña o qué parte de la contraseña es válida.

Un ejemplo, la contraseña segura inicial:

Fu17_15/Mm19;

Vamos a añadir 3 caracteres alfanuméricos al inicio, y tres al final, aleatorios completamente, de tal forma que quede algo así:

kW3Fu17_15/Mm19;mmT

Si anotamos esa contraseña en papel, es difícil que alguien pueda usarla, ya que no sabrá qué parte de la palabra es la contraseña (en rojo se resalta el ruido). De hecho, no tiene ni por qué saber que se ha ofuscado o se le ha añadido ruido. Probablemente intente usar la contraseña tal cual está escrita y termine bloqueando el acceso.

Igual que se ha visto en la parte de patrones, esto debe ser conocido (y recordado) sólo por el usuario, y existen múltiples patrones o formas de ofuscar la contraseña para escribirla en un papel:

  • Añadir prefijos/sufijos de longitud determinada.
  • Insertar palabras conocidas que se deben eliminar (nombres de animales, personas, personajes, …).
  • Rotar la contraseña un número de posiciones determinado.

Aplicando alguna de estos ejemplos:

  • Fu17_15/patoMm19;
  • FuCaimán17_15/Mm19;
  • /Mm19; Fu17_15

Resumen

Para terminar, hay que seguir las indicaciones de seguridad del departamento: cambiar la contraseña con frecuencia, no reutilizar las contraseñas, generar contraseñas complejas (que es lo que se ha descrito), no anotar las contraseñas (o como último recurso), etc.

Hay que dedicar un mínimo de tiempo a construir una contraseña y, si son varias, intentar establecer un patrón propio para no volverse loco.

Por otro lado, de nada sirve utilizar contraseñas seguras si somos negligentes con su privacidad: si nos dejamos la sesión abierta en el terminal, si nos conectamos a redes inalámbricas públicas para trabajar, si instalamos software de dudosa procedencia en el equipo, si no utilizamos software antivirus adecuado, etc.

No hay sistema 100% seguro, pero podemos utilizar un poco el sentido común y crear todos los obstáculos posibles para que, llegado el día, se pueda minimizar el riesgo.

Otros artículos relacionados

2023-11-20T09:51:25+01:002 febrero, 2023|

¡Compártelo en tus redes sociales!

Ir a Arriba