Saltar al contenido principal
La API de autenticación web (también conocida como WebAuthn) es una especificación redactada por el W3C y FIDO, con la participación de Google, Mozilla, Microsoft, Yubico y otros. La API permite autenticar a los usuarios mediante criptografía de clave pública.
El RP ID de WebAuthn está actualmente limitado a una configuración de un solo dominio y es incompatible con clientes que usan varios dominios personalizados.
WebAuthn es el método de autenticación más seguro y fácil de usar en la web. Algunas razones clave son:
  • Minimiza la fricción al iniciar sesión. Un gesto simple y familiar permite a los usuarios autenticarse.
  • Es el único método de autenticación web resistente al phishing.
  • Se basa en estándares y está implementado en navegadores y sistemas operativos.
WebAuthn permite a los usuarios autenticarse con dos tipos de autenticadores:
  • Los autenticadores itinerantes son extraíbles y multiplataforma, como una YubiKey, y pueden usarse en varios dispositivos. Para autenticarse con un autenticador itinerante, debe conectarlo al dispositivo (mediante USB, NFC o Bluetooth), confirmar su presencia (por ejemplo, tocándolo) y, de forma opcional, realizar la verificación del usuario, por ejemplo, introduciendo un PIN.
  • Los autenticadores de plataforma están vinculados a un dispositivo y solo funcionan en ese dispositivo. Algunos ejemplos son la Touch Bar de MacBook, Windows Hello, Touch ID/Face ID de iOS y el reconocimiento facial o de huellas en Android. Los datos biométricos se almacenan en el dispositivo y nunca se envían al servidor. Cuando no se pueden usar datos biométricos, normalmente se ofrecen métodos de autenticación alternativos. Por ejemplo, si lleva una mascarilla, en lugar de usar Face ID puede introducir su código de acceso.

WebAuthn y orígenes web

WebAuthn funciona generando un par de claves pública/privada para cada origen web, que se registra en el dispositivo o en la clave de seguridad. Como el par de claves está vinculado al dominio, los usuarios quedan protegidos frente a ataques de phishing. Si un atacante los engaña para que usen WebAuthn en un dominio distinto, el autenticador WebAuthn no tendrá un par de claves para ese dominio y la autenticación fallará. El atacante no obtendrá ningún dato que pueda identificar al usuario.

Autenticadores itinerantes

Para saber cómo habilitar autenticadores itinerantes en Auth0, consulta la documentación de WebAuthn con claves de seguridad. El flujo de inscripción predeterminado para claves de seguridad en Android que se muestra a continuación consta de los siguientes pasos:
  • Los usuarios se autentican con nombre de usuario y contraseña.
  • Se les solicita que seleccionen el método de autenticación en el que quieren inscribirse.
  • Si eligen Claves de seguridad, se les muestra una lista de instrucciones.
  • Luego, se les solicita que introduzcan su clave de seguridad.
  • El dispositivo muestra su interfaz de usuario nativa para completar el desafío de la clave de seguridad.
  • Los usuarios pueden asignarle un nombre a la clave para identificarla más adelante, en caso de que inscriban varias.
undefined
En el flujo de desafío, se solicita al usuario su clave de seguridad y luego se abre la interfaz de usuario nativa del dispositivo, que en este ejemplo es Android:
undefined

Autenticadores de plataforma

Para obtener información sobre cómo habilitar los autenticadores de plataforma, consulta la documentación de WebAuthn con biometría del dispositivo. Dado que los autenticadores de plataforma solo pueden usarse en un único dispositivo, no deberían ser los únicos factores que inscriban los usuarios. Para asegurarse de que los usuarios no pierdan el acceso a sus cuentas, Auth0 les pedirá que se inscriban con autenticadores de plataforma después de autenticarse correctamente con otro método de autenticación. Auth0 intentará inscribir progresivamente los dispositivos de todos los usuarios. Se pedirá a los usuarios que inscriban los autenticadores de plataforma de sus dispositivos en cada dispositivo que utilicen. El flujo de inscripción predeterminado para Face ID en iOS se muestra a continuación y consta de los siguientes pasos:
  • Los usuarios se autentican con nombre de usuario y contraseña.
  • Se inscriben en otro método de autenticación , como SMS, Push o OTP basado en tiempo.
  • Asignan un nombre a su dispositivo para poder identificarlo más adelante.
Inscripción en MFA con biometría del dispositivo
La próxima vez que inicien sesión desde ese dispositivo, los usuarios introducirán su nombre de usuario y contraseña y completarán la MFA con el autenticador biométrico del dispositivo.
Desafío de MFA de biometría del dispositivo con WebAuthn

WebAuthn como autenticación multifactor

Cuando los usuarios se autentican con WebAuthn, utilizan algo que tienen como factor de autenticación: una clave de seguridad o un dispositivo.Tanto las claves de seguridad como la biometría del dispositivo admiten la verificación del usuario, que requiere que los usuarios proporcionen algo que saben (un PIN o un código de acceso) y algo que son (como rasgos biométricos).Al usar biometría del dispositivo, la verificación del usuario siempre se realiza. Para realizar la verificación con claves de seguridad, debe configurar Auth0 para exigir un PIN. Luego, se pedirá a los usuarios que introduzcan un PIN, que solo se almacena en la clave de seguridad, para completar la autenticación. De este modo, cuando se realiza la verificación del usuario, los usuarios pueden iniciar sesión con WebAuthn como único método de autenticación y así cumplir con la autenticación multifactor.Al usar WebAuthn para la autenticación junto con la verificación del usuario, no solo se reemplaza la contraseña por algo mucho más sencillo de usar, sino que también se elimina la necesidad de un paso de autenticación adicional cuando se requiere MFA.

Webauthn.me

Auth0 mantiene webauthn.me, que ofrece información detallada sobre WebAuthn y una lista actualizada de los navegadores compatibles con WebAuthn.

Más información