Uno de los efectos colaterales de la economía digital es la proliferación de cuentas a servicios accesibles a través de Internet. Un estudio de la Universidad de Oxford ha estimado que, de media, los consumidores estamos registrados en unas 90 cuentas de servicios on-line incluyendo todas las variantes: redes sociales, suscripciones, tiendas, foros, bancos y seguros, empresas de telecomunicaciones y energía o de ocio.

Es habitual que ni siquiera recordemos que nos hemos registrado en algunos de estos servicios porque no son de uso frecuente; pero lo es que es casi seguro, es que la mayoría de ellos utilizan un procedimiento de acceso basado en contraseñas.

Ya nos hemos acostumbrado a las contraseñas y hemos asumido que son un mal necesario ligado a la digitalización de nuestra vida. En inglés utilizan un término ‘tradeoff’ que se aplica a una situación en la que se acepta algo malo o ‘no-bueno’ con el fin de conseguir algo mejor.   

La responsabilidad de las contraseñas recae en el lado del usuario y eso conlleva la complejidad asociada a su gestión: cambiarlas de forma frecuente, que sean difíciles de adivinar, etc.  En la práctica, el uso recurrente de contraseñas hace que cada persona maneje de media y de forma efectiva únicamente 5 o 6 contraseñas que comparte en los accesos a distintos servicios. En este escenario, da la sensación de que la única forma de aumentar el nivel de seguridad es siempre en detrimento de la usabilidad, comodidad o complejidad.

Pero muchas veces la tecnología es también nuestra aliada y nos permite obtener más de algo sin tener que renunciar a otra cosa a cambio. Eso es lo que se ha propuesto conseguir FIDO (fidoalliance.org), una asociación abierta en la que participan empresas y organizaciones de todos los sectores que promueven estándares orientados a reducir la dependencia de las contraseñas y todos los problemas asociados a ellas.

Disponemos de numerosas alternativas a la hora de identificarnos  ante dispositivos, servicios u operaciones: una contraseña (password), un pin, un gesto táctil en la pantalla del móvil, utilizar la huella, en el lector. Todas ellas se basan en la existencia de una información compartida (un secreto compartido) entre los dos extremos que intervienen: por un lado la persona que presenta el secreto  y por el otro el dispositivo o el servicio que verifica que coincide con el que él ya posee. Las contraseñas no pueden ser muy complejas porque deben recordarse e introducirse manualmente; tampoco pueden ser muy sencillas para que no sean deducibles y dejen de tener toda validez como secreto.

El uso de un secreto para desbloquear un dispositivo que también llevamos no supone mayor riesgo.  El problema aparece cuando el secreto está compartido entre dos extremos separados por una red de comunicaciones. Supone un riesgo mayor porque para un servicio, admitir un secreto como válido (una autenticación correcta) lleva implícito también el asumir que la identidad del que lo expone es la esperada (es decir el usuario que presenta el secreto es el válido). Además, dado que los secretos de todos los usuarios están almacenados conjuntamente en el servidor, se abre otro frente que necesita ser protegido.

Además de las contraseñas hay más mecanismos de autenticación que se apoyan  en los secretos compartidos. Uno de los más extendidos es el de las contraseñas de un solo uso (One Time Password- OTP) que se envían por SMS o mediante Notificaciones Push. Son un secreto de duración limitada que se comparte con el usuario mediante otro canal distinto al principal con el que se accede al servicio. Es una variante de lo que se denomina autenticación fuera de banda (Out Of Band OOB) y estos métodos de autenticación también son vulnerables a ataques del tipo  man-In-the-middle (MITM).

También se apoyan en secretos compartidos los dispositivos generadores de contraseñas dinámicas (las ‘criptocalculadoras’ , o ‘token hardware’) que llevan más de 20 años en el mercado y que generan códigos PIN variables asociados a un usuario determinado proporcionando mecanismos de autenticación muy seguros que se denominan de ‘autenticación fuerte’.  La variación del código puede estar ligada a la variación del tiempo, a secuencias o a eventos, y por eso pueden utilizarse también para la firma de operaciones. También entran en esta categoría las app móviles como ‘Google Authenticator’ u otras que utilizan estándares de autenticación fuerte propuestos en la iniciativa openauthentication.org.

Estas últimas alternativas son mucho más seguras que las contraseñas y llevan disponibles desde hace muchos años; también hay estándares que las apoyan. Sin embargo, no han conseguido desplazar la popularidad del usuario+contraseña. Uno de los posibles motivos es que las tecnologías que hay detrás de ellas son muy previas a la aparición de la generalización de Internet y de los móviles. Todas las soluciones del mercado ya eran maduras y se habían diversificado tanto que no han funcionado los esfuerzos para que fueran interoperables entre fabricantes.

La Alianza FIDO ha partido de un estado tecnológico más actual y se ha enfocado en tres aspectos para conseguir una autenticación sin contraseñas: facilidad de uso por parte de los consumidores, privacidad y seguridad alta sin claves-compartidas y estandarización para garantizar la interoperabilidad.

Para ello se apoya en la criptografía de clave pública (la utilizada en los certificados digitales) que utiliza un par de claves relacionadas matemáticamente. Un mensaje cifrado con la primera clave debe descifrarse con la segunda clave y un mensaje cifrado con la segunda clave debe descifrarse con la primera clave. Una clave se designa como clave privada y se mantiene secreta. La otra clave se distribuye a quien lo desee; esta clave es la clave pública. Las claves públicas pueden publicarse, lo que elimina la necesidad de compartir previamente una clave secreta antes de la comunicación y esto ya elimina el riesgo de ataque a uno de los extremos, los servidores. El problema es que para el otro extremo, los consumidores, la experiencia de uso de esta criptografía (la gestión y uso de las claves privadas) no es cómoda y eso ha limitado su generalización.

Para mejorar esa experiencia de uso, FIDO propone la existencia de un ‘dispositivo de confianza’ que está asociado al usuario final que accede a los servicios. Este dispositivo puede ser nuestro PC o una llave USB especial, pero también puede ser nuestro teléfono móvil y eso lo hace muy interesante porque la mayoría de los accesos al mundo on-line los hacemos mediante nuestro móvil.  El móvil toma un papel de ‘autenticador-móvil’ que asume dos funciones:

    • Por un lado es el responsable de reconocer al usuario, es decir de verificar su identidad. Esto es algo que ya hace de una forma efectiva, sencilla y bien aceptada  con métodos equivalentes a los de desbloqueo del móvil: un pin sencillo, un gesto sobre la pantalla, una huella sobre el lector. Esta es la fase de verificación de usuario.
  • Por el otro, gestiona las claves privadas de todos los servicios a los que se ha accedido desde ese dispositivo y sabe utilizar la adecuada en cada caso para firmar con ella un desafío que le envía el servidor. Esta es la fase de autenticación.

El proceso completo de acceso sería el siguiente en:

  • El usuario abre en su móvil la aplicación o el navegador del servicio al que quiere acceder.
  • El servicio envía un desafío al autenticador-móvil . Este identifica el servicio y con ello la clave privada que está asociada.
  • El autenticador-móvil valida al usuario solicitando el gesto o PIN que el usuario ha definido previamente.
  • El autenticador-móvil selecciona y utiliza la clave privada asociada a ese servicio para firmar el desafío y enviarlo.  El servicio verifica la firma mediante la clave pública que tiene de ese usuario.

Antes de este proceso de acceso es necesario que haya existido otro previo de registro en el servicio desde ese dispositivo móvil . Ese proceso liga los tres elementos: usuario, dispositivo y servicio. En este proceso previo es en el que se solicita al usuario el PIN/gesto/huella de validación y en el que se generan las claves: la privada que guarda y la pública que envía al servicio.

Este esquema de autenticación libera al usuario completamente de la necesidad de recordar contraseñas:  

  • El PIN, gesto o huella del usuario nunca salen de su dispositivo. Únicamente se utilizan para validar al usuario localmente por lo que es un mecanismo seguro y ya aceptado.
  • Se generan pares de claves privada-pública diferentes para cada servicio. Toda la gestión se realiza de forma transparente para el usuario.
  • En cada acceso a un servicio se firma un desafío distinto, por lo que la presentación de la firma es robusta frente al phishing.

Pero la ventaja diferencial respecto de otras soluciones y mecanismos anteriores es la interoperabilidad con la que está diseñado y esto está siendo aceptado por el mercado. El conjunto más reciente de especificaciones se denominan FIDO2  e incluye la especificación de autenticación WebaAuthn del W3C que es ya un API oficial desde marzo de 2019.

FIDO2 está ya soportado por las últimas versiones de navegadores Chrome, Firefox, Edge y Safari (versión technology preview). También está soportado en Windows 10 y certificado en dispositivos móviles con Android 7.0+ . Esto último significa que ya es posible construir y utilizar servicios y soluciones desde el móvil que liberan de forma efectiva a los usuarios de la pesada carga de las contraseñas.

Luis del Ser, Cofundador de Movilok

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

TE PUEDE GUSTAR

RECIBE LA NEWSLETTER

*Email: *Nombre apellidos: *Empresa: Cargo: Sector:

 
Please don't insert text in the box below!

ARTÍCULOS MÁS RECIENTES

ESCUCHA NUESTRO PODCAST

SÍGUENOS EN RRSS

MÁS COMENTADOS

Scroll al inicio