0Pricing
Cryptology Academy · Lección

Autenticación sin contraseña: WebAuthn y FIDO2

Explore el estándar WebAuthn del W3C y las passkeys de FIDO2 como el futuro de la autenticación.

Autenticación sin contraseña: WebAuthn y FIDO2 es una lección gratuita de Cryptology Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cryptology Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cryptology Academy incluye 4 lecciones en total.

Arquitectura de FIDO2

FIDO2 es el término general que engloba la especificación de autenticación web del W3C (WebAuthn) junto con el Protocolo de cliente a autenticador 2 (CTAP2) de FIDO Alliance. En conjunto, definen un sistema completo de autenticación sin contraseña que utiliza criptografía de clave pública vinculada al origen de la parte confiante.

Tipos de autenticadores

FIDO2 admite dos categorías de autenticadores. Los autenticadores de plataforma están integrados en el dispositivo: Touch ID y Face ID en dispositivos Apple, y Windows Hello en Windows. Los autenticadores itinerantes son tokens de hardware externos: YubiKey, Google Titan Key y las claves Feitian. Todos utilizan criptografía de clave pública y generan declaraciones de atestación.

Registro: creación de credenciales

Durante el registro de WebAuthn, el autenticador genera un nuevo par de claves asimétricas para la parte confiante. La clave pública se envía al servidor y se almacena allí. La clave privada nunca sale del autenticador. Una declaración de atestación demuestra el tipo de autenticador y que la clave se generó dentro del hardware del autenticador.

Autenticación: aserción de credenciales

Durante la autenticación de WebAuthn, el servidor envía un desafío al cliente. El autenticador firma el desafío junto con el identificador de la parte confiante y los datos del cliente mediante la clave privada almacenada. El servidor verifica la firma con la clave pública almacenada. En ningún momento se transmite un secreto compartido.

La vinculación al origen impide el phishing

El identificador de la parte confiante en una aserción de WebAuthn está vinculado criptográficamente al origen (dominio) de la página que realiza la solicitud. Un autenticador se negará a firmar una aserción para un origen diferente de aquel con el que se registró. Esto hace que WebAuthn sea resistente al phishing por diseño: un sitio de phishing falso no puede completar la autenticación.

Claves residentes y autenticación realmente sin contraseña

Las credenciales detectables (antes llamadas claves residentes) se almacenan en el propio autenticador y se indexan mediante el identificador de la parte confiante. Esto permite flujos realmente sin contraseña: el usuario presenta su autenticador, selecciona su cuenta entre las credenciales almacenadas en el dispositivo y se autentica sin introducir un nombre de usuario ni una contraseña.

Verificación del usuario frente a presencia del usuario

WebAuthn distingue entre la verificación del usuario (UV) y la presencia del usuario (UP). La presencia del usuario solo requiere que este toque o pulse el autenticador. La verificación del usuario requiere además un PIN o una comprobación biométrica, lo que demuestra que la persona específica está presente. Las aplicaciones de alta seguridad deberían exigir UV para la autenticación.

Protocolo CTAP2

CTAP2 define el protocolo entre el cliente (navegador o sistema operativo) y un autenticador itinerante externo mediante USB, NFC o BLE. Especifica los comandos para crear credenciales, generar aserciones y administrar el autenticador. CTAP2.1 añade funciones como la gestión de credenciales y las políticas de UV siempre activa.

Passkeys: credenciales sincronizadas

Las passkeys son credenciales detectables de WebAuthn que se sincronizan entre los dispositivos del usuario mediante la nube cifrada del proveedor de la plataforma (iCloud Keychain para Apple, Google Password Manager y Windows Hello for Business). Las passkeys proporcionan autenticación sin contraseña con disponibilidad entre dispositivos, combinando la seguridad con la comodidad que los usuarios esperan de las contraseñas.

Flujo de experiencia de usuario de una passkey

Un flujo típico de autenticación con una passkey es el siguiente: el usuario visita un sitio web y hace clic en "Iniciar sesión con una passkey". El navegador muestra las passkeys disponibles para el sitio. El usuario se autentica mediante biometría (Face ID, Touch ID o Windows Hello). El navegador firma el desafío y envía la aserción. Todo el flujo tarda unos segundos y no requiere introducir ninguna contraseña.

WebAuthn frente a la autenticación tradicional

Contraseñas tradicionales: susceptibles al phishing, reutilizables y vulnerables al descifrado tras filtraciones de bases de datos. Códigos OTP (TOTP): susceptibles al phishing en tiempo real. Códigos SMS: vulnerables al intercambio de SIM y al phishing. WebAuthn/passkeys: resistentes al phishing gracias a la vinculación al origen, sin secretos del lado del servidor que robar, únicas para cada sitio y con claves privadas protegidas por hardware. WebAuthn es el mecanismo de autenticación ampliamente implementado más sólido disponible en la actualidad.

Comprobación: WebAuthn frente a las contraseñas

¿Qué propiedad de WebAuthn lo hace fundamentalmente resistente a los ataques de phishing, a diferencia de las contraseñas o los códigos TOTP?

Resumen de la lección: FIDO2 y WebAuthn

FIDO2 combina WebAuthn (W3C) y CTAP2 (FIDO Alliance) para proporcionar autenticación sin contraseña resistente al phishing. Los autenticadores de plataforma (Touch ID, Face ID) y los autenticadores itinerantes (YubiKey) utilizan criptografía de clave pública vinculada al origen de la parte confiante. Las passkeys amplían esta capacidad con la sincronización entre dispositivos. WebAuthn proporciona actualmente la seguridad de autenticación más sólida y ampliamente disponible.

Preguntas frecuentes

¿La lección «Autenticación sin contraseña: WebAuthn y FIDO2» es gratis?

Sí — el texto completo de «Autenticación sin contraseña: WebAuthn y FIDO2» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cryptology Academy, actualiza a CoddyKit PRO. El curso de Cryptology Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Autenticación sin contraseña: WebAuthn y FIDO2»?

Explore el estándar WebAuthn del W3C y las passkeys de FIDO2 como el futuro de la autenticación. Practicas Cryptology Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Cryptology Academy?

No se requiere experiencia previa. Cryptology Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Autenticación sin contraseña: WebAuthn y FIDO2»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Cryptology Academy?

Sí. Cada lección de Cryptology Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. El problema fundamental de la autenticación mediante contraseñas
  2. SRP: protocolo de contraseña remota segura
  3. Protocolos PAKE y sus propiedades
  4. Autenticación sin contraseña: WebAuthn y FIDO2
← Volver a Cryptology Academy