martes, 15 de agosto de 2017

La respuesta definitiva a la pregunta sobre las contraseñas, la seguridad y todo lo demás

Probablemente, el nombre de Bill Burr no te suene a nadie en particular, a menos que las publicaciones especiales del NIST sean tu nicho favorito de lectura en cuanto a literatura moderna se refiere. Burr es, ni más ni menos, el “culpable” de que cuando te piden un consejo acerca de la elección de contraseñas seguras, le digas al amigo de turno: “larga, no menos de 8 caracteres y sobre todo añade caracteres especiales mezclados con mayúsculas”, para terminar, como diría Bond: “mezclados, no agitados”.

El bueno de Burr ha confesado, desde su retiro como jubilado, que esa recomendación que él mismo escribió de su puño y letra en 2003, no era ni mucho menos la más adecuada. “Me equivoqué”. La entrevista completa fue publicada hace una semana en el Wall Street Journal (paywall). Sin embargo, aunque admite que su contribución hizo más mal que bien, el artículo deja entrever el contexto en el que el entonces analista tuvo que desenvolverse: prisas y presiones por acelerar la publicación de la guía, casi nulo conocimiento práctico en aquella época sobre la gestión de contraseñas, etc.

No hay nada que culpar. La norma ha estado vigente durante años, casi década y media, hasta que el NIST ha actualizado dicha guía el pasado mes de junio, cambiando y desaconsejando este tipo de política de contraseñas. ¿Por qué? Son difíciles de gestionar, debido fundamentalmente a que una contraseña debería ser algo que “sabes”, pero si se genera de manera muy compleja, termina en un post-it; luego se transforma de “algo que sabes” a “algo que tienes”. Dad una vuelta por una oficina y veréis esos papelitos amarillos deseando confesaros la contraseña del WiFi corporativo o el acceso a un escritorio remoto (un clásico cuando desde Auditorías hacemos una visita física).

Otro problema con la guía fue lo rápido que sentó cátedra. No es para menos, una enorme cantidad de normativas, certificaciones de seguridad y políticas de seguridad han seguido letra a letra copiando el mantra de las contraseñas complejas. Una falsa concepción de seguridad que todos (o casi todos) dábamos por sentado que era el camino a seguir. Además, en la guía también se aconseja “renovar la contraseña cada 90 días mínimo”. Esto último solo complica aún más la situación, debido a que una gran mayoría de personas no utiliza un gestor de contraseñas, e incluso aun usándolo hay que ser consciente de que estamos depositando todo el llavero en un único punto de tensión. Si el gestor cae, todo se derrumba.

Un visionario de esta situación (como de tantas otras) fue el conocido ilustrador Randall Munroe, autor de la siempre sagaz tira XKCD. En la número 936 ya nos explicaba el sinsentido de elegir contraseñas complejas versus la simple elección de cuatro palabras elegidas con aleatoriedad. Todo un clásico de la temática, que incluso nos incluye la entropía de Shannon y el tiempo estimado de resistencia al ataque por fuerza bruta. Todo ello explicado de forma gráfica y sencilla.





Entonces ¿Cuál es la forma correcta?

Lo tenemos fácil. Irónicamente debemos seguir la guía del NIST, la nueva versión, y cruzar los dedos para que dentro de unos veinte años no volvamos a leer un nuevo artículo de Paul A. Grassi, uno de los autores de la revisión, diciendo aquello de “…fue un error”.

En primer lugar, la guía pone de manifiesto una de nuestras tantas limitaciones, la incapacidad de memorizar contraseñas complejas. Ante esta situación el ser humano tiende a…hacer el mínimo esfuerzo. Esto es, o elegir una contraseña trivial del tipo “12345” o apuntarlo en un papel (recordad “saber” -> ”tener”). Incluso con las reglas de composición de algunos sitios web, esas que nos hacen inventar dos millones de veces una contraseña hasta aceptar el formulario, la experiencia que se tiene tras los hackeos y volcados de hashes es negativa. La conclusión es que este tipo de contraseña no es tan segura como se pensaba y encima es nefasta para la usabilidad.

En la nueva guía se aconseja que las contraseñas sean razonablemente largas, extensas:

Users should be encouraged to make their passwords as lengthy as they want, within reason.”

Eso sí, no nos están diciendo que nuestra contraseña sea los dos volúmenes completos del Quijote en castellano antiguo. Eso sería computacionalmente ridículo, debido al gasto relativo al cálculo del hash resultante y a que podría ser fácil de adivinar si conocen nuestros habituales para la lectura.

En relación a la complejidad, clarifican muchas de las sospechas que teníamos con la experiencia. Incluso con reglas de composición de contraseñas el usuario (vuelve a) opta por el camino fácil. Por ejemplo, si ha de usar mayúsculas y números pasa de “password” a “Password1” y si tiene que meter signos vuelve a hacer de las suyas con el ya clásico: “Password1!”. Para evitar estas martingalas se recomienda la comparación con una lista negra de contraseñas que no permita pasar tamaños actos de lucidez.

En definitiva, el gran problema de las contraseñas sigue siendo el ilustre usuario, y el reto de la seguridad es aliviar el peso que supone su falta de adiestramiento o ese gran porcentaje de sentidos comunes a estrenar, impecables y sin uso. La contraseña es un reducto del pasado, pero un pasado que aún sigue siendo presente y se niega a ser jubilado. Condenados a vivir con ella, al menos un tiempo más, la nueva norma dicta que más que una excesiva complejidad tomemos una longitud considerable y una buena capacidad para generar ítems aleatorios (palabras, símbolos, …), a ser posible con una distribución uniforme que aleje a la fuerza bruta y las listas de diccionarios muy lejos de la adivinación.

Ahora y por fin, después de tantos años, ya sabemos la respuesta definitiva a la pregunta sobre las contraseñas, la seguridad y todo lo demás: 


“correcto caballo batería grapa”


 David García




 Más información:


The Man Who Wrote Those Password Rules Has a New Tip: N3v$r M1^d!

Digital Identity Guidelines
https://pages.nist.gov/800-63-3/


Password Strength

Entropía