Contraseñas, ¿Son realmente seguras?

Seguridad en passwords

Estamos muy acostumbrados a que la mayoría de páginas web, nos hacen elegir por nuestra seguridad, un usuario y una contraseña. Normalmente estas palabras clave, suelen tener una longitud mínima e incluso en algunas páginas web, nos obligan a usar mayúsculas, minúsculas y posiblemente algún dígito numérico.

Al introducir una contraseña en alguna web, esta web, si realiza las cosas bien, nunca guardaría la contraseña en modo texto plano, es decir, tal y como la escribimos, ya que si su servicio fuera hackeado, estas contraseñas serian sencillamente descubiertas por los hackers. Así pues, las contraseñas normalmente suelen ser almacenadas en las bases de datos mediante algún tipo de encriptación. Estos métodos de encriptación suelen ser muy efectivos, ya que nos ocultan a simple vista el significado o estructura de la palabra. Así pues la típica contraseña “123456” encriptada con el método MD5 seria algo como: “e10adc3949ba59abbe56e057f20f883e“.

Para poder realizar el proceso inverso, solo hay actualmente un camino válido, llamado ataque por fuerza bruta. Este tipo de ataque se basa en probar todas las combinaciones posibles y comparar el resultado obtenido, así pues cuando el ordenador empezaría por la combinación “000000” y terminaría por la “999999” almacenando los resultados de aplicar la función de encriptación MD5.
Una vez terminado este proceso, compararíamos los resultados y si alguno coincidiera con : “ e10adc3949ba59abbe56e057f20f883e” podríamos saber que palabra clave a generado este resultado.

Evidentemente este es un caso muy simple, donde la posibilidad de combinatoria es tan solo de 10⁶

ya que normalmente nos suelen “recomendar” usar letras, mayúsculas, y números conjuntamente.

Pero… ¿que pasa si nos “obligan” a usar estas restricciones de caracteres? Hacen estas restricciones más seguras nuestras contraseñas? La respuesta es NO, cada restricción obligatoria es una reducción de posibilidades de combinatoria, por lo que en ningún caso esto ayuda a que la contraseña sea segura, ya que en la mayoría de casos, cuantas más restricciones obligatorias tengamos al escribir una contraseña, el hacker sabe que su tiempo de probar y probar contraseñas posibles va a disminuir, incluso en algunos casos al 50%.

En estos casos, es muy recomendable escoger una contraseña lo más larga posible, ya que por cada carácter extra que incluyáis a la contraseña, elevareis la posible combinatoria. Actualmente existen bases de datos en Internet donde ya están pre calculadas todas las contraseñas hasta cierto límite de caracteres, por lo que una contraseña de 6 caracteres puede ser calculada con toda su combinatoria por un ordenador usando la potencia de la tarjeta gráfica en tan solo 5 minutos. Por el contrario, las contraseñas a partir de 9 caracteres ya solo es posible ir a buscarlas a bases de datos de pre calculo, hasta que no salgan los ordenadores cuánticos, que serán capaces de resolver contraseñas larguísimas en ínfimos espacios de tiempo.
Estas bases de datos con las contraseñas pre calculadas suelen encontrarse fácilmente en muchas páginas web y servidores, que no hacen otra cosa que generar esta inmensa base de datos que crece día a día y que tiene la finalidad de vender estos cálculos a terceros. Incluso existen páginas web donde es posible subir el fichero con las contraseñas encriptadas, y al momento poder bajarse los resultados ya que es mucho más fácil buscar un resultado en una base de datos que calcularlo.

Esto nos hace pensar en que va a pasar con la seguridad de las páginas web y servicios cuando esta potencia de cálculo cuántica este en manos de pocas empresas o estados, seguramente estaremos delante de un cambio radical, un hito del modelo en la seguridad personal y seguridad del acceso.