5. Cifrado (Criptografía)

5.9. FIDO 2 ( Informativo)

FIDO2 (del inglés Fast IDentity Online 2) es un estándar abierto de autenticación sin contraseñas, desarrollado por la FIDO Alliance y el W3C (World Wide Web Consortium).
Su objetivo principal es eliminar el uso de contraseñas tradicionales y reemplazarlas por métodos más seguros y fáciles de usar, como huellas digitales, reconocimiento facial, PINs locales o llaves de seguridad físicas (por ejemplo, YubiKey).


Componentes principales de FIDO2

FIDO2 está compuesto por dos especificaciones:

  1. WebAuthn (Web Authentication API)

    • Estándar del W3C.

    • Permite que los navegadores web (Chrome, Firefox, Edge, Safari, etc.) se comuniquen con autenticadores FIDO2 (hardware o software).

    • Se usa en el lado cliente → servidor web.

  2. CTAP2 (Client to Authenticator Protocol 2)

    • Desarrollado por la FIDO Alliance.

    • Define cómo el dispositivo (PC, teléfono, navegador) se comunica con el autenticador físico o integrado (ej. llave USB, NFC, sensor biométrico).

    • Se usa en el lado cliente → autenticador.


Cómo funciona FIDO2

El proceso se basa en criptografía de clave pública (public key cryptography), sin compartir contraseñas entre el usuario y el servidor.

🔸 Etapa 1: Registro

  1. El usuario accede a un sitio web que soporta FIDO2 y elige “registrar un nuevo método de autenticación”.

  2. El autenticador (por ejemplo, una llave de seguridad o el lector de huellas del teléfono) genera un par de claves: pública y privada.

  3. La clave pública se envía al servidor del sitio web y se asocia con la cuenta del usuario.
    La clave privada se guarda localmente en el dispositivo y nunca se transmite.

🔸 Etapa 2: Autenticación

  1. En el siguiente inicio de sesión, el sitio web envía un reto criptográfico (challenge) al cliente.

  2. El autenticador usa la clave privada para firmar digitalmente el reto.

  3. El servidor valida la firma usando la clave pública almacenada.

  4. Si la firma es válida, se autentica al usuario.

➡️ No hay contraseñas transmitidas ni almacenadas.
➡️ El servidor nunca tiene la clave privada del usuario.


 Ventajas principales

Ventaja Descripción
🔒 Alta seguridad No hay contraseñas que robar o filtrar. Evita phishing, keyloggers y ataques de reutilización de contraseñas.
Rapidez y usabilidad Ingreso inmediato con huella, PIN o llave de seguridad.
🌐 Estandarización Funciona en todos los navegadores modernos y sistemas operativos.
🪪 Privacidad Cada sitio recibe una clave pública distinta (no rastrea usuarios entre sitios).

 Ejemplos de uso

  • Autenticación sin contraseña en Google, Microsoft, GitHub, AWS, Dropbox, etc.

  • Uso de llaves FIDO2 por USB, NFC o Bluetooth (como YubiKey, Google Titan, etc.).

  • Integración en Windows Hello, Android, Apple Passkeys (que también usa FIDO2 como base).


Resumen Gráfico:

Usuario
   ↓
Autenticador (biométrico, PIN o llave)
   ↓ (CTAP2)
Navegador / Sistema Operativo
   ↓ (WebAuthn)
Servidor web (valida con clave pública)

Relación con otros estándares

Estándar Rol
FIDO U2F (Universal 2nd Factor) Versión anterior, usada como segundo factor (2FA)
FIDO2 Evolución que permite autenticación passwordless (sin contraseña)
Passkeys (Apple/Google) Implementación práctica de FIDO2 en ecosistemas móviles

Resumen:

FIDO2 es el estándar actual para autenticación sin contraseñas, basado en criptografía de clave pública y autenticadores locales (biométricos o físicos), diseñado para reemplazar completamente las contraseñas por métodos más seguros, rápidos y privados.