Para poder conectarnos a cualquier plataforma es necesario contar con una buena contraseña que nos proteja de intrusos. Pero las claves de acceso por sí mismas no van a evitar algunos métodos de ataques que puedan robarlas, como el Phishing o la fuerza bruta. Para evitar que alguien pueda entrar en un servicio online si averigua la contraseña, la autenticación en dos pasos es una buena opción. Pero también han surgido diferentes estándares de autenticación. En este artículo vamos a hablar de qué es FIDO2 y por qué es tan interesante.
Desde la última década, cualquier sitio web al que accedemos para realizar una compra, si accedemos a una red social, un foro, etc. Nos pide siempre para iniciar sesión un nombre de usuario o correo electrónico, junto con la correspondiente contraseña con la que registramos la cuenta. El principal problema de utilizar este método de inicio de sesión, es decir, de identificarnos en el sitio web, es que puede ser muy sencillo que nos roben los datos o descubran nuestra contraseña de inicio de sesión.
Normalmente esto suele suceder por no utilizar contraseñas seguras, ya que pueden ser más difíciles de memorizar. Debido a todas estas cuestiones de seguridad, la FIDO Alliance junto a World Wide Web Consortium, más conocidos como W3C han desarrollado un sistema muchísimo más seguro y cómodo para el inicio de sesión en los sitios web. Dicho desarrollo a concluido con la creación de FIDO2 y WebAuthn y de CTAP (Client to Authenticator Protocol). Además de conocer qué es, hablaremos de las ventajas e inconvenientes de usar esta opción de seguridad.
Qué es FIDO2
Lo habitual es tener un nombre de usuario y poner una clave. Por ejemplo para entrar en redes sociales como Facebook, acceder al correo o iniciar un dispositivo. Lo que permite el estándar FIDO2 es poder dejar a un lado este método tradicional, pero sin poner en riesgo la seguridad. Se basa en la autenticación en dos factores y utiliza claves de seguridad. El nombre de FIDO viene de Fast Identity Online y está formada por una alianza de algunas de las plataformas más conocidas a nivel mundial: Google, Amazon, Facebook o Mozilla, entre otros. Además, forman parte también el estándar WebAuthn y el protocolo CTAP. Se basa en el estándar anterior U2F y UAF, ambos realizados por FIDO.
Ahora bien, ¿cómo funciona exactamente? Su objetivo es permitir que nos autentiquemos en Internet, por ejemplo al usar una aplicación o entrar en un sitio web, sin tener que poner contraseña. Para ello podemos usar una pequeña llave de seguridad que se conecta por USB y conexión NFC. Pero también puedes utilizar el teléfono móvil para autenticarte.
Básicamente va a permitir que utilices tu móvil, por ejemplo, para autenticarte en Internet y realizar transacciones, iniciar sesión, etc. En vez de tener que poner una contraseña, te identificas por este medio. Para ello puedes usar la huella dactilar en el teléfono, por ejemplo. El principal cambio de FIDO2 fue que esta autenticación también se puede habilitar en entornos web.
Cómo funciona
Lo primero necesario es crear un registro en una plataforma o aplicación compatible con FIDO2. Por ejemplo el programa para entrar en el banco o en Facebook. Esto va a generar un par de claves: una privada y otra pública FIDO2. La primera va a quedar guardada en el dispositivo y la segunda, la pública, va a quedar almacenada en la base de datos de ese servicio al que nos registramos. La privada solo estará disponible en el lado del cliente.
La primera vez que entres en esa aplicación, tendrás que poner las credenciales tradicionales. Es decir, tendrás que poner tu usuario y la contraseña que hayas creado. Con esa clave siempre vas a poder entrar. Pero una vez entres, el programa te dará la opción de habilitar el acceso a través de datos biométricos. Es en ese punto en el que se intercambian las claves criptográficas.
A partir de ahí, una vez has configurado la opción de acceder con datos biométricos, ya podrás iniciar sesión simplemente con poner la huella o el reconocimiento facial. Entras en el navegador o aplicación y automáticamente saldrá el proceso para poner la huella y se intercambiarán los datos criptográficos para autenticar al usuario basándose en FIDO2.
Lógicamente, en caso de que vayas a entrar en esa aplicación desde otro dispositivo tendrás que poner la contraseña tradicional o configurar otro método de autenticación allí. Lo mismo ocurriría si ese móvil lo reseteas a los valores de fábrica o desinstalas el programa y lo vuelves a instalar, ya que tendrías que configurarlo nuevamente con estos mismos pasos.
Dónde se utiliza
Posiblemente utilices FIDO2 en tu día a día o al menos lo has usado alguna vez. Cada vez que usas el teléfono móvil para entrar en una red social o cuenta bancaria y pones tu huella, se basa en este protocolo. También al usar el reconocimiento facial o si tienes un token externo. Se basa en datos biométricos que se almacenan en el móvil, ordenador o cualquier dispositivo compatible. Cuando registras tu huella dactilar, eso queda almacenado en el sistema para usarlo posteriormente.
También se utiliza para realizar pagos online, compras o recargar tarjetas virtuales. En estos casos también tendrás que autenticarte, para que el proceso se lleve a cabo, y podrás hacerlo con estos métodos sin tener que poner una contraseña tradicional.
Esto es útil ya que no hace falta poner la contraseña cada vez que entremos en plataformas online. La autenticación se realiza a nivel local, con la información almacenada, y también con ese segundo factor de autenticación, que sería la huella dactilar o reconocimiento facial, por ejemplo. Es un proceso seguro y que está presente cada vez en más servicios.
Hay que tener en cuenta que no está disponible en todo tipo de aplicaciones, pero sí que está aumentando su uso. Seguro que lo puedes ver en el programa de tu banco, en alguna red social que utilices y similares.
Qué ventajas y desventajas tiene
Como todo, el estándar FIDO2 también cuenta con una serie de aspectos a favor y en contra. Por más que se base en la autenticación en dos factores y use claves de seguridad, lo cierto es que presenta una serie de desventajas. Aunque hay que dejar claro que las ventajas son más numerosas que los puntos en contra. Y eso es justo lo que vamos a ver a continuación:
Puntos a favor
Puede que te preguntes qué ventajas tiene este tipo de autenticación frente a las contraseñas tradicionales. Lo cierto es que hay varios puntos interesantes que hacen que el protocolo FIDO2 sea muy útil hoy en día, pero que lo será más conforme más servicios se unen y admiten esta funcionalidad para autenticarse.
La primera ventaja clara es la comodidad y rapidez. Piensa en tener que poner la contraseña cada vez que accedes a Facebook, la cuenta bancaria o cualquier aplicación de este tipo. Vas a perder tiempo y además vas a tener que recordar cuál es la clave de acceso. En cambio, gracias a FIDO2 simplemente tienes que poner la huella o el reconocimiento facial, además de poder usar una llave de seguridad, y así iniciar sesión rápidamente.
Otro punto positivo es la seguridad. Por un lado vamos a evitar tener que exponer tanto las contraseñas al no tener que iniciar sesión constantemente con ellas. Esto va a hacer que haya menos riesgo de sufrir un ataque Phishing o ser víctima de un keylogger que pueda registrar las claves de acceso. Gracias a este protocolo, esas claves solo se van a desbloquear en ese dispositivo concreto.
Aunque con relación con las dos ventajas anteriores, una tercera sería el poder utilizar una misma autenticación para muchas aplicaciones. Es decir, por ejemplo podrías tener cinco cuentas bancarias y cada una de ellas tener una contraseña diferente (lo cual sería lo correcto). Tendrías que poner cada una de esas claves para entrar. En cambio, gracias a este protocolo basta con poner la huella dactilar o usar el reconocimiento facial y podrás entrar en todas ellas de la misma forma.
Puntos en contra
Como cualquier otro estándar de seguridad, FIDO2 no se libra de tener ciertas desventajas. El lado positiva de estas es que no suponen ningún tipo de riesgos, pero es cierto es que son puntos que se deben conocer si se quiere comenzar a usar para implementarlo en el inicio de sesión como método adicional de seguridad.
Por ejemplo, este estándar pide un paso previo de seguridad extra en comparación a otros estándares que se pueden encontrar. Si se tiene en cuenta este aspecto, lo cierto es que no resulta tan práctico si se accede a páginas web varias veces al día que estén habilitadas para FIDO2. Y todo porque habrá que realizar este paso en cada ocasión.
Y, por otro lado, hay que tener en cuenta que, por más que esté cada vez más extendido en los sitios web, todavía no se está disponible en todas las páginas web. De ahí que no siempre sea la mejor opción, ya que muchas plataformas o navegadores no son compatibles. Lo bueno es que la tendencia está cambiando y cada vez hay más opciones compatibles. Por ejemplo, se puede activar el inicio sin contraseña en redes sociales como Facebook o para cuentas de Google, Dropbox, etc. Pero es un factor que se debe conocer.
¿Qué es CTAP? Diferencias
Lo primero que tenemos que saber es que FIDO2 y WebAuthn son sistemas que están diseñados para reemplazar al sistema de contraseña que hoy en día usamos todos los usuarios. Con FIDO2 y WebAuthn se pueden usar datos biométricos para iniciar sesión, un ejemplo sencillo lo tenéis en los portátiles, móviles, y otros dispositivos que, por ejemplo, incorporan lector huella dactilar. Gracias a la huella dactilar podemos hacer que nuestra contraseña sea la misma huella. Es muy importante que no lo confundáis con los sistemas que hay actualmente en diferentes dispositivos, para que, al requerir el inicio de sesión, tenga la contraseña memorizada (gestor de contraseñas). Este sistema no es el FIDO2 ni el WebAuthn, ya que estamos solamente accediendo a una base de datos memorizada en nuestro dispositivo para que introduzca la clave automáticamente para ese sitio web. Otra opción que también existe, y cada vez se usa más en empresas, es un dispositivo que se conecte a nuestro ordenador como una llave USB, donde internamente incorpora un hardware para autenticarnos y tener un inicio de sesión seguro.
El CTAP en este caso anterior sería el protocolo encargado de controlar la comunicación entre la llave USB y el token del autenticador. Es decir, CTAP sería el protocolo que se encarga de la comunicación segura entre las dos partes, para que primero se comuniquen, segundo se autentifiquen y tercero, se pueda iniciar sesión finalmente. Lo primero que tenemos que tener claro es que CTAP y WebAuthn tienen que trabajar de forma conjunta para que sea posible FIDO2. Todos sabemos que, para poder iniciar sesión en un sitio web, aplicación online, etc. Este debe tener implementado un sistema de autenticación para poder iniciar sesión FIDO2, se realiza gracias a un dispositivo externo. Un dispositivo como, por ejemplo, hemos comentado más arriba de una llave USB, que en realidad sería un token, se pueda identificar al usuario propietario de ese dispositivo y así poder identificarse en el sitio web, aplicación, etc. Gracias al token evitamos tener que usar una contraseña que sería muy fácil de que nos la robaran o averiguaran.
Actualmente existen diferentes métodos de poder conectar a nuestro equipo nuestro dispositivo de autenticación. Aunque el más común hoy en día es utilizar un dispositivo que se conecte al puerto USB, ya que fueron de los primeros diseñados, también podemos conectar por conexión NFC o Bluetooth el dispositivo que nos daría nuestro token de inicio de sesión seguro. Para que podamos utilizar un dispositivo para poder autenticarnos, debemos tener como mínimo un navegador web que sea compatible con los nuevos estándares de CTAP, WebAuthn y FIDO2. Actualmente si tenemos el navegador actualizado, tanto Google Chrome, como Mozilla Firefox son compatibles con FIDO2 en sus últimas versiones. O bien, como hemos explicado, también los smartphones con huella dactilar o reconocimiento de iris e incluso reconocimiento de nuestra cara nos permiten autenticarnos en diferentes servicios. Estos métodos de autenticación, al estar incorporados dentro del hardware no necesitan ningún componente externo, y, por lo tanto, no es necesario un protocolo de comunicación por separado de los dispositivos, es decir, lo que realiza el CTAP.
La comunicación de CTAP funciona de la siguiente manera:
- Primero: el navegador web se conecta a nuestro dispositivo de autenticación y le solicita información.
- Segundo: una vez se ha comunicado con el dispositivo, este le envía información sobre el método de autenticación que puede ofrecer al navegador.
- Tercero: según la información recibida por el navegador, este enviará una orden al autenticador, que puede ser de iniciar sesión o de error.
Una vez visto cómo funciona la comunicación de CTAP, podemos entender mejor cómo funcionan los sistemas que utilizan los fabricantes como Apple. Al estar incorporado el hardware de autenticación dentro del hardware físico del dispositivo, los datos de inicio de sesión como son nuestra huella dactilar o nuestra cara, nunca salen del dispositivo, es decir, el navegador web solo envía a través de WebAuthn la confirmación de si el inicio de sesión es válido, pero nunca comprueba que la huella dactilar o la imagen de nuestra cara sea auténtica, ya que de eso se encarga el dispositivo al incorporar todo dentro del mismo hardware.
Conclusiones
Como has podido ver, FIDO2 es un protocolo de autenticación que sirve para dejar a un lado las contraseñas tradicionales y poder autenticarnos en aplicaciones web con total seguridad, comodidad y rapidez. Sirve para autenticarnos en un dispositivo simplemente utilizando la huella dactilar o el reconocimiento facial, entre otros. Aunque ya se utiliza bastante, con total seguridad en unos años se extenderá aún más su uso. Tendremos más aplicaciones compatibles y por tanto podremos utilizar más las diferentes alternativas a las contraseñas tradicionales que podemos usar en dispositivos móviles o en el ordenador para entrar en las cuentas online.
Podemos decir que gracias a utilizar CTAP, WebAuthn y FIDO2 se consigue finalmente poder eliminar los ataques man-in-the-middle para robar contraseñas y phishing, ya que los usuarios no tienen que facilitar ninguna contraseña para iniciar la sesión.