Posted in

MFA: Configurar un token Fido en una cuenta de Google

Cuantas veces hemos escuchado lo siguiente:

  • «El OTP enviado a través de SMS no es un método de autenticación seguro, ya que el protocolo SS7 fue vulnerado hace años, además de que existen ataques como SIM SWAP»
  • «Los códigos usados a través de aplicaciones de autenticación, no son seguros, ya que son vulnerables a Shoulder Surfing»

Una alternativa, es usar tokens físicos basadas en FIDO U2F. Pero, que es FIDO?

FIDO U2F

Fast Identity Online (FIDO), es un conjunto de estándares abiertos desarrollados por la FIDO Alliance para mejorar la autenticación a través del uso de tecnologías seguras que no dependan de contraseñas. Sus estándares incluyen FIDO U2F (para ser usado como segundo factor) y FIDO2 (que permite autenticarnos sin contraseñas)

Estos protocolos hacen uso de criptografía asimétrica, basada en llaves públicas y privadas para validar la identidad del usuario, y funciona con dispositivos físicos como llaves de seguridad USB, NFC o Bluetooth y Biometría. Estos estándares ofrecen una medida de protección contra ataques de phishing o robo de contraseñas, a la vez que mantienen la privacidad entre el usuario y el servidor.

¿Y cómo se implementa?

FIDO hace uso del estandar WebAuthn (Web Authentication), que es una API desarrollada por el W3c que permite a los navegadores y plataformas web implementar autenticación basada en FIDO. Navegadores como Chrome, Edge o Firefox ya incorporan esta capacidad, la cual es aprovechada por servicios como Gmail, Faceboook, Dropbox, Github, entre otros.


Existen en el mercado muchos proveedores de llaves compatibles con FIDO. Entre las más conocidas tenemos:

  • Yubico
  • Feitian
  • Google Titan
  • SoloKeys
  • HyperFIDO

En este artículo, veremos como configurar una llave HyperFido en una cuenta de Gmail, para que sirva como segundo factor de autenticación:

1) Accedemos a nuestra cuenta de Google, y en la opción donde se muestra el icono del perfil, seleccionamos «Gestionar tu cuenta de Google». Una vez dentro de este panel, iremos a la opción de «Seguridad»

2) Seleccionamos la opción «Verificación en dos pasos», dentro del panel «Iniciar sesión en Google»

3) Una vez dentro, seleccionamos «Mostrar más opciones», y luego «Llave de seguridad

4) Configuraremos nuestra llave. Para ello, damos click en «Siguiente», y luego nos solicitará que conectemos la llave

5) En este caso, utilizaremos una llave HyperFido que funciona a través de USB con pulsación de botón. Como dijimos antes, hay diferentes llaves que funcionan con diversos protocolos como NFC o Bluetooth.

6) Una vez pulsado, el navegador lo detectará automáticamente, y Google nos permitirá registrar nuestra llave

7) Comprobamos su funcionamiento

Al acceder a Gmail, nos solicitará que conectemos nuestra llave al equipo para poder continuar con el inicio de sesión

Y listo, ya podemos acceder a nuestro servicio:

Eso es todo. Esperamos que esta guía sea de utilidad.