LOADING CLOSE

¿Las contraseñas tienen que seguir siendo tan complejas?

¿Las contraseñas tienen que seguir siendo tan complejas?

Estos últimos días está habiendo cierto revuelo a causa de las afirmaciones de William E. Burr, una de las personas que se encargó en 2003 de escribir para el Instituto Nacional de Estándares y Tecnología de los Estados Unidos (NIST) la guía NIST SP 800-63, que entre otros aspectos establecía las reglas más efectivas para crear una contraseña segura. El revuelo viene ocasionado por la publicación de la nueva versión de la guía, en concreto del documento NIST Special Publication 800-63B (Digital Identity Guidelines – Authentication and Lifecycle Management), que en su apéndice A (de carácter informativo), en lugar de aconsejar que se utilicen contraseñas compuestas por letras minúsculas y mayúsculas, números y caracteres especiales, recomienda sencillamente el uso de frases compuestas por varias palabras que sean fáciles de recordar para el usuario pero difíciles de adivinar para un posible atacante (tanto humano como software).

Pero si analizamos con detenimiento las palabras de Bill Burr, o nos paramos a leer el polémico documento, descubriremos que el argumento de fondo no está relacionado con las características de las contraseñas, sino con la capacidad de las personas para elegir y memorizar buenas contraseñas (seguras) comparada con la capacidad de los atacantes para adivinarlas.

El razonamiento es sencillo. Las personas suelen elegir malas contraseñas de partida (fáciles de adivinar), y cuando se les exige añadirles complejidad, los mecanismos que usan siguen siendo fáciles de predecir, ya que normalmente se limitan a añadir caracteres adicionales al final de la contraseña inicial o a sustituir algunas de sus letras por su “equivalente” en mayúscula, número o símbolo, para cumplir de ese modo con los requisitos de complejidad. El resultado es una contraseña válida para el sistema pero cuya “adivinabilidad” suele ser bastante alta, prácticamente la misma que la de la contraseña inicial.

Esto no siempre es cierto. Hay algunas personas que realmente se preocupan por elegir contraseñas robustas, y que aplican de manera realmente eficaz las reglas de creación de contraseñas seguras. Pero estas personas también acaban teniendo un problema, que es la memorización de las contraseñas. Problema fácil de resolver si las contraseñas acaban escritas en algún lugar, aunque lamentablemente ese lugar suela acabar siendo un post-it (dentro del cajón, por supuesto) o un fichero de notas en el teléfono móvil en lugar de ser un buen gestor de contraseñas.

Con el fin de hacer frente de manera eficaz a esta situación, la nueva propuesta del NIST pasa fundamentalmente por aumentar la longitud de las contraseñas, aunque sea a costa de reducir el catálogo de caracteres a utilizar. ¿Es realmente una alternativa eficaz? Puede serlo, si tenemos en cuenta las implicaciones:

Nº contraseñas posibles = (tamaño del catálogo de caracteres utilizable)^longitud

 

Por lo tanto, una contraseña de 8 caracteres con mayúsculas, minúsculas, números y símbolos tendría, redondeando, 576 billones de alternativas (26 minúsculas + 26 mayúsculas + 10 números + 8 símbolos) ^ 8 caracteres. Si sólo utilizásemos minúsculas, necesitaríamos al menos 11 caracteres para conseguir una cantidad superior, ya que con 10 caracteres nos quedaríamos en “sólo” 141 billones de alternativas.

La propuesta del NIST, por lo tanto, está clara. ¿Qué es más fácil de recordar, una contraseña de 8 caracteres con mayúsculas, minúsculas, números y símbolos o una de 11 letras minúsculas? Parece evidente…

Sin embargo, el riesgo de esta propuesta es quedarnos sólo con una parte de la misma, ya que este planteamiento por sí solo no es suficiente. Esta aproximación por sí sola sería válida frente a ataques de fuerza bruta, pero no tiene ningún efecto frente a ataques de diccionario. Este tipo de ataques, que no prueban combinaciones aleatorias de caracteres sino palabras específicas y variantes de las mismas (que pueden ser genéricas o estar relacionadas con la persona cuya contraseña se quiere vulnerar en los ataques más elaborados), probarán por igual una contraseña como pas$W0rd (variante compleja pero previsible de una palabra de diccionario de 8 caracteres) que una como beneficioso (palabra de diccionario de 11 caracteres).

Por lo tanto, si queremos seguir la recomendación del NIST tenemos que seguirla en toda su extensión, ya que de lo contrario estaríamos reduciendo enormemente la seguridad de nuestra contraseña. Porque la recomendación del NIST no sólo requiere utilizar contraseñas largas, sino que dichas contraseñas estén formadas por una concatenación de varias palabras elegidas aleatoriamente. De este modo no sólo incrementaremos enormemente la cantidad de alternativas existentes por fuerza bruta, sino que también forzaremos a que los ataques de diccionario se deban realizar por fuerza prueba, ya que para estos casos también se cumple lo siguiente:

Nº contraseñas posibles = tamaño del diccionario ^ nº palabras concatenadas

 

De este modo, con el diccionario de español de la RAE y 3 palabras concatenadas tendríamos 804 billones de alternativas frente a un ataque de diccionario, lo que supondría contar con una contraseña más robusta frente a ataques de diccionario que una contraseña de 8 caracteres de gran complejidad, y mucho más sencilla de recordar, con la ventaja de que la robustez de esta contraseña frente a ataques “normales” de fuerza bruta sería infinitamente superior.

En cualquier caso, no podemos dejar de destacar que el factor clave para que este mecanismo sea útil es que las palabras utilizadas sean elegidas aleatoriamente, puesto que de lo contrario todos los beneficios de este mecanismo de creación de contraseñas se perderían casi por completo. Si quisieras adivinar la contraseña de una persona ¿cuánto tardarías, después de haber leído este artículo, en probar con la concatenación de los nombres de sus familiares más cercanos? Y es que, en el fondo, el principal consejo que se puede dar para la creación de contraseñas robustas sigue siendo el mismo:

“Nunca utilices información personal para la creación de contraseñas”

Deja un comentario