Dirección: Passwordless (O: ¿Debemos dejar ese vicio repugnante?)

Image by Psyomjesus via Wikimedia Commons, the free media repository <https://commons.wikimedia.org/wiki/File:Steal_password.jpg>

En pleno 2021, no existe un solo día en el que no se mencione esta palabra de moda en alguna de las conversaciones o material de lectura con los que me encuentro. Pero, ¿qué significa passwordless?

En primer lugar, profundicemos un poco en las razones de esta repentina popularidad de un concepto que en realidad ha existido durante más de 15 años.

¿Son un problema las contraseñas?

Contraseñas. Son los medios de autenticación más primitivos que existen, ¿cierto?

Falso. De hecho, las contraseñas no son (originalmente) un método de autenticación en absoluto.

El primer método de autenticación utilizado fue en realidad la biometría. Más concretamente, el reconocimiento facial. Los seres humanos lo han estado usando desde que existimos.

¡Hola Bob! ¡Sé que eres tú, porque conozco tu cara!

Esto es lo que hemos hecho durante miles de años. Reconocemos que una persona es Bob porque reconocemos sus rasgos faciales (o de otro tipo) y los asociamos a su identidad. Sin embargo, a partir de cierto punto, identificar a alguien basándose únicamente en su rostro se vuelve poco práctico, porque los humanos solo podemos recordar e identificar con precisión un número determinado de rostros. Por ese motivo se inventaron otros métodos. Sin embargo, exploraremos esta interesante historia en artículos posteriores. Volvamos a las contraseñas.

En realidad, las contraseñas no se inventaron para la autenticación, sino para la autorización. Conocer una contraseña no proporcionaba ninguna información sobre quién soy, pero le dice al portero que me debe permitir la entrada al garito o a la reunión de nuestra sociedad secreta.

Siglos más tarde, la autenticación digital se implementó mediante una contraseña que se comparte, no con varias personas desconocidas, sino con una sola (yo). De esa manera, las contraseñas pasaron de ser un mecanismo de autorización a uno de autenticación.

Sin embargo, el problema con las contraseñas ha sido el mismo a lo largo de la historia: se comparten con quien no se debería. La filtración de la contraseña le da a los malos acceso a la guarida de los héroes, y estos solo lo descubren cuando ya es demasiado tarde.

De hecho, más del 85% de las infracciones de datos y los incidentes de seguridad son causados ​​por contraseñas inseguras, reutilizadas, por defecto y robadas. ¿Y qué hacemos normalmente los profesionales de la seguridad al respecto? Diseñamos sólidas políticas de complejidad de contraseñas, cuyo objetivo es hacerlas más difíciles de adivinar y rotarlas con frecuencia para reducir el impacto de esas fugas. Recientemente vi un divertido video que, de alguna manera, conseguí entender como una metáfora de la efectividad de estas políticas de complejidad de contraseñas (no pude encontrar una versión adecuada para compartir aquí, así que una descripción tendrá que ser suficiente):

  • El dueño de un gato decide poner a prueba la flexibilidad de su minino.
  • Para ello, coloca un cartón a cada lado de la puerta de la habitación.
  • Cada vez que el gato cruza la puerta, el dueño acerca los cartones para ver si el gato sigue pudiendo pasar.
  • Sorprendentemente, el gato lo logra cada vez, hasta que los cartones están a sólo 5 cm de distancia.
  • A 5 cm, el gato se ha cansado de tanta tontería y simplemente salta por encima de los cartones.

Esta es la reacción exacta que las políticas de complejidad de contraseñas tienden a generar en nuestros usuarios. "La contraseña necesita letras y números", "La contraseña necesita caracteres especiales", "La contraseña debe cambiarse cada 12 meses", "No, cada 6 meses", "No, cada 3 meses". Al final, el usuario salta sobre los cartones:

Image by Lewis Ogden <https://www.flickr.com/photos/bitsfrombytes/> via <https://www.flickr.com/photos/bitsfrombytes/44035385264>

Post-its debajo del teclado, documentos con una lista de todas las contraseñas utilizadas, contraseña única en todas las cuentas personales y profesionales, agregar Mes+Año a la Contraseña para rotarla sin cambiarla... ¿Les suena?

Cuando hacemos que sea demasiado difícil para los usuarios mantener sus contraseñas, no solo no estamos mejorando la seguridad y aumentando solo la fricción para ellos, sino que en realidad estamos aumentando la probabilidad de que se produzca una filtración, ya que ponemos al usuario en una situación en que una contraseña comprometida le da al atacante las llaves del reino.

Después de todo, cualquier persona tiene (sea consciente o no) hasta 85 contraseñas en diferentes aplicaciones y proveedores de servicios. ¿Podemos realmente culpar a los usuarios por no recordar 85 contraseñas diferentes ultracomplejas y totalmente aleatorias? Si los usuarios tienden a reutilizar las contraseñas en todas sus cuentas (y, seamos sinceros, el 99% de ellos lo hace), cualquiera de estas contraseñas es sólo tan fuerte como la más débil de todas ellas. Si el sitio web para comprar y vender cromos de béisbol antiguos en el que me registré hace 5 años (y que luego olvidé) almacena las contraseñas en texto plano (sin cifrado) y es pirateado... mal asunto. Sinceramente, ni siquiera podemos decir que sea culpa de los usuarios. Tampoco es realmente nuestra culpa (como profesionales de la seguridad). Simplemente, no existía una opción mejor. Hasta ahora.

¿Qué significa passwordless?

Como el nombre en inglés sugiere, passwordless es un nuevo paradigma de autenticación en el que no se necesitan contraseñas y, en cambio, se le solicitan al usuario factores adicionales para demostrar su identidad (MFA), como su huella dactilar, un código enviado por SMS, etc.

¿Cómo funcionaría esto? Accedo a mi portátil por la mañana. Aparece una pantalla de inicio de sesión. Introduzco mi nombre de usuario y presiono "acceder". Aparece un mensaje que reza "por favor, continúe en su teléfono". Lo hago, y veo una notificación automática que me pide que proporcione mi huella dactilar para la autenticación. Lo hago, y mi portátil inicia sesión. Listo. Un atacante tendría que robar mi teléfono y mi dedo para poder hacerse pasar por mí. Este es solo un escenario posible de MFA passwordless. Profundizaremos más en MFA en artículos futuros.

Sin embargo, hay muchas conversaciones sobre "passwordless" que tienden a simplificar demasiado lo que significa, creando confusión y malentendidos. Para aclarar, cuando decimos passwordless podemos estar hablando de 4 cosas diferentes:

  1. Nuestro dominio es realmente passwordless. Esto significa que las cuentas de usuario ni siquiera requieren que se establezca una contraseña. No hay contraseñas, por lo que no se pueden explotar. Esto es algo que el propio software debe poder permitir. Si bien algunas aplicaciones pueden haber alcanzado este punto, dudo que muchas organizaciones lo hayan logrado, y muy probablemente ninguna de las más complejas que usan cientos de aplicaciones corporativas.
  2. Ofrecemos una experiencia passwordless. Tenemos aplicaciones tradicionales, la mayoría de las cuales requieren contraseña. Pero los usuarios nunca las usan. Ni siquiera las conocen. Solo usan la autenticación multifactor para acceder a todo. Como nuestras aplicaciones usan contraseñas para las cuentas de usuario, cualquier atacante puede tratar de hacerse con ellas, y usarlas como punto de entrada. En otras palabras, estas contraseñas suponen una superficie de ataque. Por lo tanto, decidimos configurar las contraseñas para que sean sumamente complejas, aleatorias y roten cada 24 horas, por ejemplo. Como nadie las va a usar, nos da igual que no sean usables. De hecho, eso es lo que buscamos exactamente.
  3. Tenemos algún tipo de contraseña, pero los usuarios no necesitan usarlas. Confiamos en la autenticación multifactor, con las contraseñas siendo uno de estos factores, y nunca permitimos su uso de forma aislada. Por lo tanto, incluso las contraseñas filtradas no tienen riesgo por sí mismas sin un segundo factor adicional. Los usuarios pueden decidir no usar contraseñas en absoluto, aunque este no es un escenario passwordless.
  4. Utilizamos contraseñas como el mecanismo de recuperación. Los usuarios no suelen utilizar contraseñas. No a diario, al menos. Usan la autenticación multifactor para acceder a todo... hasta que no pueden. Cuando pierden su teléfono y necesitan configurar uno nuevo para esas notificaciones automáticas, deben proporcionar su contraseña. Por lo que deben tener una, y recordarla. Esto no es passwordless. De hecho, es muy peligroso pensar que podemos eliminar por completo las políticas de complejidad de contraseñas en este escenario. Porque esas contraseñas ahora representan un factor de riesgo aún mayor que antes (ya que los usuarios a menudo las olvidan por falta de uso). De hecho, cuando los usuarios necesitan usarlas y las hayan olvidado... ¿cuál será el proceso? ¿Solicitar al equipo de soporte de IT que restablezca la contraseña? ¿Qué va a hacer el equipo de soporte de IT para validar que la solicitud es legítima y que no está restableciendo la contraseña para un atacante?

La conclusión contradictoria

Si bien creo que no hay duda en cuanto a que las contraseñas son mecanismos obsoletos e inseguros y que ahora tenemos alternativas mucho mejores, más usables y seguras, también es cierto que todavía estamos en una fase de transición, donde aún es un desafío alcanzar la opción n.° 2 de arriba, y casi imposible lograr la n.° 1. Pero se trata de una proceso evolutivo, e indudablemente existen ya alternativas de MFA muy potentes que nos permiten eliminar, como mínimo, nuestra dependencia de robustas y poco efectivas políticas de complejidad de contraseñas y avanzar hacia el futuro.

Comentarios

Entradas populares de este blog

Por qué es importante tener un sistema centralizado de Gestión de Acceso (O: “Autorización-como-Servicio”)

No hay que preocuparse por los usuarios privilegiados (O: Controlando acciones, no personas)

La importancia de la gramática en IAM (AKA: Un permiso es un verbo)