Me ha gustado la lectura de un artículo reciente de David Pierce en Wired (EN) donde analiza el impacto que tuvo que aquel joven Jan Koum decidiese en su día utilizar el número de teléfono como factor de autenticación en su aplicación WhatsApp.
No sería el primer servicio en hacerlo, ojo, pero sin lugar a duda fue el que sentaría las bases para ir paulatinamente erradicando, al menos en entornos móviles, la hegemonía del nick/contraseña.
¿Las razones? Ya por todos conocidas.
Crear una cuenta bajo el principio de la autenticación basada en el conocimiento, como es el caso de la dupla nick/contraseña, requiere por un lado una molestia que en entornos móviles lo es aún mayor: dejar en espera la aplicación donde estamos intentando inscribirnos, abrir otra aplicación (email), buscar el nuevo email, abrirlo y pinchar en el enlace (que nos abrirá la aplicación de navegación), para luego volver a buscar el servicio inicial y seguir con el proceso.
Además, adolece de los mismos hándicaps que tiene cualquier servicio de autenticación basado en el conocimiento: Tendremos que recordar la contraseña (de ahí el “conocimiento”) para loguearnos en el futuro.
Nada nuevo bajo el sol, pero de pronto a unos cuantos lumbreras se les ocurre que lo mismo ese paso necesario para demostrar la autoría de quien se intenta inscribir puede hacerse más cómodamente con un elemento presente de facto en el entorno en el que está el usuario: el número de teléfono.
Un array de caracteres numéricos que generalmente no se cambian a lo largo de la vida, y que nos acompañan casi siempre allí donde vayamos, con el smartphone como dispositivo de electrónica principal del grueso de la sociedad.
Además, soluciona el primer y segundo problema mencionado. Ya no tendremos que volvernos locos abriendo y cerrando aplicaciones, sino que el número de teléfono permite al servicio enviar un SMS con un código que bien el usuario debe meter (a veces ni siquiera hay que abrir la app de SMS ya que con la ventana flotante ya tenemos suficiente), o bien, gracias a la petición previa de los permisos de lectura de SMS, es el propio servicio quien automatiza la lectura del código, demostrando así que en efecto el usuario es quien dice ser.
No hacen falta por tanto dos elementos (nick/contraseña), sino solo uno, en lo que ha acabado por llamarse identificación basada en la posesión (algo que es nuestro).
Como en principio cada número de teléfono es identificativo de una sola persona, matamos además dos pájaros de un tiro, ya que el usuario tendrá bastantes más problemas para crearse cuentas fail o troll. La mayoría tienen solo un número de teléfono, y aunque existen herramientas para crear diferentes números virtuales, en la práctica no es del conocimiento del grueso de la sociedad, ni los procesos para hacerlo son todavía lo simples que debieran ser.
Y tampoco necesitamos recordar nada. Es algo que tenemos mientras sigamos pagando a la operadora por ese número.
Hasta aquí todo bien, ¿verdad?
Pues ahora vamos a hablar de la parte mala de todo esto.
El riesgo de asociar identidad física con virtual
El artículo del bueno de Pierce es claramente positivo, y solo cerca del final cae en la consideración de que lo mismo, desde el punto de vista de la privacidad y seguridad de nuestra identidad, este paradigma no es lo más acertado.
Ahí quería llegar un servidor, porque si bien hay que reconocer que el sistema cómodo es, hace que nos tengamos que enfrentar a problemas que en sistemas basados en el conocimiento apenas pueden ser considerados riesgos importantes.
- El primero y más obvio es que, como cualquier otro sistema de autenticación basado en la posesión, requiere que tengamos a mano esa posesión. Lo que significa que puede haber escenarios donde no podamos demostrar que en verdad nosotros somos @nosotros. Algo tan sencillo como que a la hora de realizar un pago, estemos en una zona sin cobertura o bajo itinerancia de datos, y por tanto ese SMS, que es a fin de cuentas lo que demuestra la autoría, sea incapaz de llegar.
- El segundo gran hándicap es que aunque por el grueso de los mortales el funcionamiento de la plataforma de SMS sea casi cosa de magia, se ha demostrado en más de una ocasión que es tan débil a ataques como cabría esperar de una tecnología que ya tiene más de dos décadas de funcionamiento. Desde Man in the Middle, pasando por usurpaciones de identidad, que están permitiendo a la industria del cibercrimen agenciarse por la cara miles de millones en operaciones bancarias y fraudes basados, precisamente, en ese desconocimiento.
- El tercero, que bajo mi humilde opinión, es el que más debería preocuparnos, es que al asociar identidad física (el número de teléfono está asociado a nuestra cuenta bancaria y nuestro perfil en la operadora que nos suministra el servicio, ergo a nuestro DNI, nombre y demás datos identificativos de la persona) a digital, y para colmo hacerlo de forma transparente al usuario (solo es necesario conectarse una vez en estos servicios para tener ya la cuenta creada y olvidarnos del tema), se favorece que llegado el caso cualquier usurpación de identidad sea más complicada de localizar, y sobre todo, mucho más dañina.
Cuando lo que se ha expuesto es un nick/contraseña, el riesgo afecta únicamente al servicio (o servicios -.-) donde hayamos utilizado este nick y esta misma contraseña. Si en vez de nick, el servicio usa nuestro email, estaremos en el mismo escenario (quiero pensar que la contraseña de ese email es al menos distinta a la contrasea que utilizamos para acceder al resto de servicios).
Sin embargo, si lo que se compromete es nuestro número de teléfono, afectará de golpe a todos los servicios donde hayamos utilizado el número de teléfono. Absolutamente todos, sin discriminación alguna. Y para colmo, comprometerá también factores tan dañinos como la suscripción a servicios de pago vía operadora, o el resto de dobles factores de autenticación que hayamos habilitado en servicios de terceros.
Sin olvidarnos del ciclo de vida de este sistema. Porque puede que el día de mañana tengamos que irnos a vivir a otro país, o por la razón que sea, tengamos que cambiar de número (problemas legales con la operadora, acoso digital…), y entonces perderíamos el número de teléfono, teniendo que migrar la cuenta al nuevo si eso es posible (en la mayoría de servicios actuales no lo es).
El riesgo por tanto se vuelve global tanto por el alcance como por el origen del mismo. El peor derrotero al que podemos enfrentarnos en un entorno cada vez más digital, como bien sabe.
¿Qué alternativas nos quedan?
Realmente muchas, pero todas tienen sus hándicaps. En su día preparé un artículo en profundidad sobre ello, así que no me voy a repetir.
Sigo pensando, no obstante, que los sistemas basados en el conocimiento, o en su defecto, sistemas basados en la biometría que cuenten con un background lo suficientemente robusto, arrojan mayores garantías de cara al futuro acompañados de un doble factor de autenticación, que perfectamente puede estar basado en la posesión, pero que en todo caso debería hacer uso de tokens digitales, y no de una plataforma tan anticuada como es la del SMS.
Para eso tenemos servicios como Google Authenticator y el resto de aplicaciones basadas en el one-time passcode de OAuth (EN). Un sistema mucho más robusto (y más actual), al que poco a poco deberían ir migrando el resto de plataformas, y que además no depende del operador.
Sigo pensandosobre el tema de autoindentificacion en dos pasos…. ¿Que tan segura es?, ya que tambien google tiene una opcion que es descargar los codigos para usarlos en el caso de que queramos usarla cuando estemos de viaje….. Si he visto que algunos foros ese tipo de autoindentificacion no es tan seguro…. Y tambien como no google como compañia, nos vende el servicio de correo corporativo…… No se hasta que punto “compensa en tener un correo corporativo”, si no es muy seguro por lo que visto, ¿Que opinas al respeto Pablo?, gracias
El segundo factor de autenticación es más seguro que no tenerlo. Esto es por propio sentido común (frente a un ataque, se necesitan dos elementos en vez de uno).
Ten en cuenta que Google es una empresa, sí, pero algunos de sus desarrollos no son servicios de la compañía, sino productos que crean para mejorar el ecosistema digital (lo que al final, indirectamente, les repercute en el negocio). Google Authenticator es uno de esos. Ahí Google no saca tajada de nada. Simplemente es un servicio como muchos otros para gestionar un protocolo de doble factor de autenticación, basado en software libre, y por ende, auditado por quien quiera.