Introducción a WebAuthn y Passkey 101
Obtén una comprensión integral de WebAuthn, incluyendo su concepto, flujo de trabajo, razones de su popularidad y desafíos asociados.
Obtén una comprensión integral de WebAuthn, incluyendo su concepto, flujo de trabajo, razones de su popularidad y desafíos asociados.
WebAuthn se encuentra entre los autenticadores más seguros en los estándares de NIST AAL. Introducido en 2013, es la opción favorita de las empresas para la autenticación actualmente. Sin embargo, su adopción aún no está generalizada, lo que lleva a muchas consultas sobre WebAuthn y Passkeys. Vamos a profundizar en lo que necesitas saber.
| FIDO Alliance | La FIDO Alliance es una organización que proporciona estándares de autenticación sin contraseñas, abiertos y seguros, incluyendo UAF, U2F y FIDO2. |
| FIDO2 | FIDO2 es un conjunto de estándares para la autenticación en línea segura desarrollados por la FIDO Alliance. FIDO2 comprende dos componentes principales: WebAuthn para inicios de sesión sin contraseña y CTAP para la comunicación segura de dispositivos. |
| Passkey | Un passkey es una credencial resistente al phishing basada en FIDO para reemplazar las contraseñas.
|
| WebAuthn | WebAuthn, una API de JavaScript desarrollada por el W3C y la FIDO Alliance, potencia la autenticación de aplicaciones web con estándares FIDO2. Passkey es uno de los métodos de autenticación que WebAuthn admite. |
Básicamente, debes conocer las 4 entidades principales involucradas en el flujo de WebAuthn.
Usuario: La persona que se registra o autentica en la aplicación web utilizando WebAuthn.
Agente de Usuario: El navegador web que maneja las llamadas a la API de WebAuthn y gestiona el proceso de autenticación entre todos los distintos Relying Parties y autenticadores.
Relying Party: Tu servicio web o aplicación a la que el usuario intenta acceder. El usuario interactúa con el Relying Party a través del Agente de Usuario.
Autenticador: El componente de hardware que el usuario posee para verificar su identidad. Puede tomar diversas formas según la capacidad de la plataforma o el navegador, como claves de seguridad (como Yubikeys), teléfonos o tabletas (conectados por Bluetooth, NFC o USB), biometría basada en el dispositivo o PIN, etc.

La criptografía asimétrica de clave pública es el proceso central.
Para elaborar, divídelo en las fases de inscripción y autenticación.
El flujo de inscripción de WebAuthn:

El flujo de autenticación de WebAuthn:

Tienes la opción de elegir entre múltiples autenticadores para una mayor flexibilidad. Estos autenticadores vienen en dos tipos, para uso local y en la nube, y puedes habilitar uno o ambos para tu servicio.
El autenticador de plataforma está vinculado a un único y específico sistema operativo del dispositivo, como una computadora, computadora portátil, teléfono o tableta, con el que el usuario inicia sesión. Funciona exclusivamente en el dispositivo para la autorización utilizando métodos como biometría o un código de acceso del dispositivo. Es una manera rápida de autenticar, especialmente con biometría, y puede reemplazar la necesidad de introducir manualmente contraseñas. Sin embargo, si el usuario pierde el dispositivo, puede convertirse en una barrera para acceder. Por ejemplo:

El autenticador itinerante es un dispositivo o aplicación de software separado y portátil, como una clave de seguridad de hardware o un teléfono inteligente. Debe enlazar el dispositivo usando USB o mantener NFC o Bluetooth activado. El autenticador itinerante no está limitado a un solo dispositivo o navegador, proporcionando una mayor flexibilidad. Por ejemplo:

La seguridad de alta garantía es esencial para proteger los recursos empresariales. Esto se logra mediante las siguientes medidas:
WebAuthn mejora la seguridad mientras eleva la experiencia de verificación sin contraseñas del usuario:
Algunos navegadores o plataformas no admiten WebAuthn en absoluto o carecen de soporte para autenticadores itinerantes. Aunque las estadísticas actuales de Caniuse muestran un soporte decente, con cobertura del 97.37% en escritorio y 96.3% en plataformas móviles, todavía existen variaciones entre diferentes versiones de navegadores y sistemas operativos. Por ejemplo, Desktop Linux no admite autenticadores de plataforma, Android solo admite completamente WebAuthn en Chrome, e Internet Explorer en MacOS no admite WebAuthn. Esto obliga a los administradores a solicitar a los miembros que cumplan requisitos específicos de navegador o sistema operativo, o configuren otros métodos alternativos de MFA.

Particularmente para los usuarios que confían en los "autenticadores de plataforma" de "este dispositivo", perder el dispositivo puede resultar en la pérdida de acceso a sus cuentas. La recuperación de cuentas puede ser un proceso tedioso. Para mitigar este riesgo, se recomienda a los usuarios asociar simultáneamente otros métodos de autenticación de respaldo al configurar WebAuthn.
Muchos servicios y aplicaciones aún no ofrecen soporte para passkeys. Los usuarios a menudo carecen de familiaridad con varios métodos de autenticación y pueden no comprender completamente las diferencias y limitaciones entre los autenticadores de plataforma y los autenticadores itinerantes. Sin embargo, los principales sistemas, navegadores y servicios de SaaS están adoptando cada vez más WebAuthn, convirtiéndolo en una tendencia creciente que tanto las empresas como los usuarios están comenzando a adoptar.
Logto se está preparando para lanzar el MFA (Autenticación Multifactor) en noviembre. La fase inicial admitirá tres métodos de verificación: TOTP de aplicación de autenticación, WebAuthn (Passkey) y códigos de respaldo, ofreciendo una solución integral de inicio de sesión y registro. Continuaremos desarrollando funciones avanzadas relacionadas con WebAuthn. Esperamos contar con tu experiencia y te invitamos a mantenerse atento en Product Hunt para el próximo lanzamiento de MFA.