Hace tiempo que algunos “gurús” de esos que hay por Internet, aseguran que las contraseñas tienen los días contados y que, en breve, las nuevas tecnologías de reconocimiento y seguridad (iris, huella dactilar, comandos de voz…) se encargarán de convertir la seguridad en algo más serio de lo que es hoy en día.
Pero ese “futuro” no termina de llegar, y por el contrario, lo que sí está universalizado es el acceso y protección de datos, tanto offline como online, por contraseña. A lo más, podemos ver que de vez en cuando (casos de Google, Microsoft, etc…) implementan protocolos de doble check para la contraseña. Es decir, que puedes emplear tu móvil para verificar, en un segundo paso, tu acceso por contraseña o su confirmación, pero poco más al respecto de la innovación en este sentido.
Todo lo anterior sumado a que el tema de la seguridad, los secuestros de información y datos, la encriptación delictiva de sistemas ajenos, los ataques por fuerza bruta y demás lindezas están a la orden del día, nos encontramos con un panorama cada día menos fiable en materia de seguridad personal de nuestra información, datos, contenidos y vida digital.
Así que se hacía indispensable hacer un post en el que nos encargásemos de dar las nociones necesarias, para todos (con cualquier nivel de formación y especialización) para ayudar a que cualquiera pueda implementar y crear la contraseña más segura, actualizable, memorizable y a la vez indescrifrable posible, para cuantos servicios, sistemas y procesos se puedan imaginar.
Tabla de contenidos
Para empezar, debemos saber cómo ha de ser la contraseña más segura posible. Qué requisitos/características debe tener. Pues bien, toma nota mental, porque ha de ser así:
– Compleja, muy compleja: que no pueda ser descifrada por los llamados “ataques de diccionario” en la que un sistema potente compara todas las palabras posibles para ejecutar la apertura. Normalmente se utilizan las palabras que están en el diccionario así que cosas como colcreta que no existen son más “fuertes” que casa o amapolas.
– Alfanumérica: que contenga letras y números.
– Memorizable: que sea tan fácil de recordar por su legítimo dueño, como difícil o imposible de descubrir por terceras personas. Al fin y al cabo, la contraseña que se olvida no sirve de nada y, además, puede hasta perjudicar a quien la olvidó. Por supuesto, que no deba ser apuntada en ninguna parte para ser recordada. Esto no hace falta ni explicar por qué.
– Que no necesite ser recuperada: uno de los agujeros de seguridad más explotados para descubrir una contraseña, es el proceso de recuperación de la misma por parte de un tercero que se hace pasar por el legítimo dueño que la ha “olvidado”.
– Que nada tenga que ver con nosotros, a simple vista: es decir, nada del número del DNI, las fechas de nacimiento, los códigos postales, o las siglas de los nombres y apellidos…. Mejor aún, que ni las personas más cercanas y que mejor nos conocen pudieran imaginarla. Así de profunda debe ser una buena contraseña.
Podríamos mencionar otras características, pero si una contraseña recoge o cumple estos requisitos con garantías, ya podemos ir considerando que estamos bien protegidos.
El robo, o uso ilegítimo o delictivo de una contraseña ajena, sufre varios tipos de ataques por parte de un delincuente técnico a la hora de ser descifrada. Mencionaremos algunos, porque sólo conociéndolos, podemos deducir la clase de peligro al que nos enfrentamos y de ahí la importancia de su correcta construcción o codificación de la contraseña.
– Ataque de diccionario: antes mencionado y explicado.
– Ataque por ingeniería social: alguien que nos conoce, o que nos estudia, parte de nuestras preferencias, patrones de conducta, información personal nuestra obtenida por descuido, o incluso, por el antiguo método de espiar cuando tecleamos dicha contraseña en pantalla.
– Ataque por “keylogger”: instalación de una aplicación de grabación de pulsaciones de teclado, para obtener lo que hemos tecleado.
– Ataque por falsa recuperación: también mencionada anteriormente: un usuario ilegítimo pone en marcha el protocolo de recuperación de una contraseña “olvidada” y trata de superar los distintos pasos y comprobaciones que el proveedor de servicio o software ha previsto, para entregarle la contraseña a alguien que finge ser su legítimo dueño.
– Ataque de sistema y desencriptado: el delincuente técnico aplica software de desencriptación del archivo o carpeta contenedor de “passwords”. Hoy en día muy previsto y casi resuelto por los proveedores de software a través de buena encriptación y la no visibilidad del archivo contenedor de contraseñas. No obstante, aún hay buen software de desencriptación hack disponible para implementar un ataque de este tipo. Otro día dedicaremos un post a este tipo de software.
Al igual que hemos dicho anteriormente, se pueden incluir más tipos de ataque a la hora de descrifrar una contraseña ajena, pero para hacernos una idea de los métodos y peligros, es suficiente con conocer y tener en cuenta estos mencionados, a la hora de codificar la contraseña más segura posible.
Como si de una ecuación se tratara, tenemos un primer elemento (requisitos que debe tener la contraseña) y un segundo elemento (tipos de ataque que puede sufrir), de modo que ya podemos montar el algoritmo mental que nos de un resultado: la contraseña más segura posible en base a lo que queremos evitar: que sea descubierta, manipulada o robada.
Los siguientes métodos complejos para crear la contraseña que necesitamos pueden ser complicados e implementados hasta el infinito por el usuario. Cuanto más sofisticado sea el uso de estos métodos que recomendamos, más segura y solvente será la contraseña creada.
Una contraseña que incluya letras y números, pero que no pueda ser reconocida ni asociada a nuestras preferencias, ni por las personas que mejor nos conocen:
Las primeras tres palabras con las que comienza un determinado libro (pero no un libro que nos haya marcado, ni nuestra novela favorita) y el número de la página en que aparece dicha primera frase. Por ejemplo, y para que no sea un libro que se pueda vincular a nosotros por preferencias personales, puede ser, sencillamente, la primera frase y el número de página en que aparece dicho comienzo, del libro que esté más a la derecha, en la primera estantería de nuestra habitación. Además, esta contraseña será facilmente recuperable en caso de olvido, porque solo tendremos que tomar ese libro y comprar la primer frase con sus tres palabras y el número de página. Como tenemos el libro en nuestro poder, no necesitamos que ningún proveedor nos entregue la contraseña en caso de olvido. Esto, así mismo nos permitiría saber si nuestra contraseña está siendo atacada por este método, ya que si el proveedor de servicios o software nos envía un email de “recuperación de la contraseña”, y nosotros sabemos que no necesitamos nunca acudir a este método para recordarla, podemos estar seguros de que “alguien” ha activado este protocolo para robarla.
Mediante el uso de una memoria USB vieja, de las que ya no usamos, podemos hacernos con un buen aliado en materia de contraseñas y acceso a Sistemas personales tanto Linux, como Windows o Mac.
Existe gran número de aplicaciones que convierten una memoria USB convencional en la “llave” que activa tu PC y arranca tu Windows, Linux o Mac OS X. Sin este USB concreto configurado por ti, una vez instalado el software que lo convierte en llave de arranque, el PC no puede ser iniciado. Muy a tener en cuenta.
Al anterior método de codificación de una contraseña (recordemos que podemos emplear un libro, una determinada frase o combinación de palabras contenidas en él, y el número de página en que aparece esa combinación), podemos sumar una mutación periódica. Es decir, que la contraseña pueda ir variando cada cierto tiempo, añadiéndosele un complemento, sencillo de identificar y recordar para nosotros, e imposible de averiguar por terceros.
Siguiendo el ejemplo recomendado del libro seleccionado, podríamos implementar, con el tiempo, la contraseña con, por ejemplo, los tres dígitos que componen el número total de páginas que tiene dicho libro, y que se pueden colocar al final de la contraseña, cuando la deseemos actualizar. Con esto la hacemos aún más indescifrable.
Recordemos que un libro tendrá un determinado número de páginas dependiendo de la edición y la editorial que lo publica. El Quijote tiene diferentes números totales de páginas, dependiendo de si tomamos una edición de bolsillo, o una encuadernada en piel de carnero… Con lo que, incluso si alguien descubriera el libro que hemos empleado para codificar nuestra contraseña, e incluso si averiguase que hemos seleccionado las primeras tres palabras con las que comienza dicha obra, o alguno de sus capítulos, ahora tendría que enfrentarse al número de página en que se encuentran estas combinaciones de palabras, y el número total de páginas que contiene esa edición concreta del libro que hemos empleado.
Ya hemos mencionado que uno de los ataques para el descifrado de contraseñas, más empleado, es la instalación clandestina de un keylogger (una aplicación que graba y facilita a un tercero, todo lo que hemos tecleado en el dispositivo, extrayendo de ahí las contraseñas ajenas).
Para evitar a este tipo de software que podríamos tener instalado o que se nos podría instalar sin nuestro conocimiento, existe una salida: usar un teclado virtual en pantalla, cuando se trata de introducir contraseñas.
Existen infinidad de teclados virtuales disponibles y de descarga gratuita para todos los sistemas (Linux, Windows, Android, Mac). De modo que aquí tendríamos un buen método defensivo a la hora de “dejar ciego” a un programa malicioso de grabación de pulsaciones en el teclado. No usaríamos nuestro teclado físico para la introducción de las contraseñas, sino que emplearíamos el ratón y los click sobre el teclado virtual en pantalla, con lo que la contraseña no puede ser grabada.
A partir de estos métodos recomendados de blindaje y codificación de una contraseña casi inexpugnable, se abre la veda a la complejidad. Con el ejemplo del libro, hemos querido mostrar cómo podemos codificar una contraseña basándonos en elementos que nadie podría imitar, deducir, copiar o descubrir. Pero, a partir de este ejemplo, cada cual puede echar a volar su imaginación a la hora de crear la contraseña perfecta en base a lo aprendido y refundido en este post.
Pero, lo más importante es que se entienda que las contraseñas, a día de hoy, lo protegen todo: información personal, comunicaciones, sistemas bancarios online y offline, imágenes, recuerdos, secretos… todo.
O aprendemos a blindar nuestra vida personal, o alguien estará siempre encantado y dispuesto a abrirla y mirar dentro.
Saludos.
Alquimista
Hoy queremos hablaros de Docker un proyecto que cada día es más usado, porque permite…
Cada vez estamos más acostumbrados a usar código para generar la infraestructura (IaC), documentar nuestro…
Uno de los problemas que se presentan con una mayor frecuencia hoy en día, es…
Uno de los problemas que solemos tener los programadores, es que nos gusta estar a…
Docker es una de las herramientas más usadas por los desarrolladores, sin embargo, usarlo en…
Como seguramente sabrás el uso de JavaScript ha crecido exponencialmente en los últimos tiempos, sin…