Cómo construir y usar una llave U2F en USB para autenticación segura

Última actualización: 27/03/2026
  • Las llaves U2F añaden un segundo factor físico muy robusto que protege frente a phishing y robo de contraseñas.
  • Existen llaves comerciales compatibles FIDO U2F y soluciones caseras basadas en USB o dispositivos como Flipper Zero.
  • U2F se integra tanto en el sistema (PAM en Linux, bloqueo en Windows) como en servicios online tipo Google o Dropbox.
  • Configurar llaves de respaldo y métodos alternativos de recuperación es clave para no perder el acceso a las cuentas.

llave u2f usb autenticacion

Cada vez es más fácil que tus contraseñas acaben filtradas, ya sea por una brecha de seguridad, por malware en tu equipo o por caer en una página de phishing que imita a la perfección a Google, Facebook o cualquier otro servicio. Con solo tu usuario y clave, un atacante ya tiene medio camino hecho para colarse en tus cuentas.

Para no depender solo de la contraseña, lo más sensato hoy en día es usar autenticación en dos pasos apoyada en una llave física U2F conectada por USB. En este artículo vas a ver con detalle qué es exactamente una llave U2F, qué tipos hay (comerciales y caseras), cómo puedes usar un USB normal como llave de inicio de sesión en tu ordenador, cómo integrar llaves U2F en Linux a nivel de sistema (PAM), y cómo registrarlas en servicios como Google, Dropbox u otros compatibles con FIDO U2F.

Qué es una llave de seguridad U2F por USB

Una llave de seguridad U2F es un pequeño dispositivo físico, normalmente con forma de pendrive USB (a veces con NFC o Bluetooth), que se usa como segundo factor de autenticación. Es decir, añade una capa extra a la clásica combinación de usuario y contraseña, de forma que aunque alguien robe tu clave, no puede entrar en tu cuenta si no tiene también esa llave en la mano.

El estándar U2F (Universal 2nd Factor), impulsado por la FIDO Alliance y empresas como Google y Yubico, define cómo se comunican estas llaves con los servicios online. La gracia de U2F es que la verificación es muy simple para el usuario (enchufar y, si procede, pulsar un botón), pero por debajo se está usando criptografía de clave pública muy robusta, similar a la que emplean las tarjetas inteligentes profesionales.

En la práctica, una llave U2F funciona como un DNI digital: cuando inicias sesión en una web compatible, introduces usuario y contraseña y, a continuación, el sitio te pide que conectes tu llave U2F. El navegador habla con el dispositivo, este firma un desafío criptográfico único para esa web y sesión, y la página verifica la firma con la clave pública que almacenó cuando registraste esa llave.

Una de las principales ventajas de U2F frente a códigos SMS o apps tipo Authenticator es que no hay ningún código que puedas teclear en un sitio falso; si una web de phishing intenta engañarte, la llave no firma nada válido porque el dominio no coincide con el que registraste al configurar el segundo factor. Ahí está gran parte de su poder contra el phishing.

Por qué las contraseñas y el 2FA clásico no bastan

El método de toda la vida para entrar en servicios online es introducir correo electrónico (o nombre de usuario) y una contraseña. Incluso aunque uses una clave larga, única y bien generada (KeePassXC u otros gestores), sigue habiendo varios problemas: filtraciones masivas de credenciales, keyloggers, reutilización de contraseñas en varios sitios o páginas fraudulentas que se quedan con todo lo que escribes.

La verificación en dos pasos tradicional añadió un segundo escalón: además de tu contraseña, te llega un código por SMS, llamada, correo o una app (Google Authenticator, Authy, etc.). Esto mejora muchísimo la seguridad, pero no es infalible. Hoy es relativamente común que los atacantes preparen páginas falsas que te piden el código de verificación en tiempo real; mientras tú crees estar validando tu acceso, ellos usan ese código directamente en el servicio legítimo.

Los códigos por SMS tienen debilidades adicionales: la red telefónica no está pensada para seguridad fuerte y existen ataques de intercambio de SIM (SIM swapping) y otros fraudes con los que un ciberdelincuente puede hacerse con tu número y recibir tus SMS de verificación.

Frente a esto, la solución con llaves físicas U2F corta de raíz la posibilidad de robarte un código, porque ese código como tal no existe de forma visible para ti. La llave se encarga de todo el proceso criptográfico y verifica también el dominio del servicio con el que habla.

llave u2f usb ordenador

Tipos de llaves de seguridad: comerciales y caseras

Podemos agrupar las llaves de seguridad en dos grandes familias: las que compras ya preparadas para U2F (llaves comerciales) y las que tú mismo configuras a partir de un pendrive o dispositivo polivalente (llaves caseras o software).

Las llaves comerciales más conocidas son las de marcas como Yubico o Google. Ejemplos típicos son las YubiKey (en versiones USB-A, USB-C, con NFC, etc.), las llaves Titan de Google o modelos genéricos compatibles con FIDO U2F que encuentras por Internet, incluso por menos de 10 euros.

  Cómo arreglar un iPhone lento y con lag tras actualizar iOS

Dentro de las llaves comerciales, hay varias combinaciones de conectividad: algunas solo tienen conector USB físico; otras combinan USB y NFC para usarlas en móviles; y las más completas añaden también Bluetooth, lo que facilita su uso con portátiles o tablets sin puertos USB estándar.

Además de estas llaves “oficiales”, puedes montar tu propia solución casera usando un pendrive normal como llave de bloqueo/desbloqueo del ordenador, o dispositivos como Flipper Zero que incluyen un modo U2F. En estos casos, sueles depender de un programa intermedio que se encarga de gestionar el bloqueo de sesión o de hablar con el sistema operativo.

Ten en cuenta que las llaves caseras por software no siempre implementan U2F estándar; a menudo funcionan solo para proteger el inicio de sesión en tu equipo, pero no sirven para servicios web tipo Google o Dropbox, que exigen compatibilidad FIDO U2F auténtica.

Cómo usar un pendrive USB como llave de seguridad en Windows (USB Raptor)

Si lo que quieres es que tu propio PC con Windows solo se desbloquee si conectas un USB concreto, una opción muy popular es USB Raptor, una herramienta de código abierto que convierte un pendrive en llave de encendido o apagado del equipo a nivel de sesión.

Aunque esta solución no es U2F estándar (no te servirá para Google o Dropbox), sí añade una protección física muy útil al inicio de sesión en Windows, ideal para portátiles o sobremesas que pueden quedar desatendidos.

El funcionamiento básico de USB Raptor es sencillo: genera en tu pendrive un pequeño archivo cifrado (k3y) asociado a una contraseña maestra. El programa vigila que esa llave esté presente; si no la detecta, bloquea la sesión o no permite desbloquearla.

Pasos generales para ponerlo en marcha en Windows:

  • Descarga USB Raptor desde su web oficial y descomprímelo en una carpeta, ya que no necesita instalación tradicional.
  • Conecta el pendrive que quieras usar como llave, preferiblemente limpio o recién formateado para evitar problemas con otros datos.
  • Ejecuta el archivo “USB Raptor.exe”. La primera vez Windows te mostrará una alerta de Firewall: permite el acceso para que la aplicación funcione correctamente.
  • Acepta el aviso legal y selecciona el idioma (puedes elegir español) marcando el texto como leído.

En la interfaz principal verás un asistente dividido en pasos:

1. Crea la contraseña de cifrado. Esta clave se usa para proteger el archivo k3y en tu USB. Elige una contraseña fuerte y, si quieres, marca la casilla para verla mientras la escribes.

2. Elige la letra de unidad del USB y pulsa “Crear archivo k3y”. USB Raptor generará en ese pendrive el fichero que utilizará como identificador único de la llave. Sin este archivo, el programa no considerará el USB como válido.

3. Activa la protección marcando “Activar USB Raptor”. A partir de ese momento, el sistema quedará vinculado a ese USB: si quitas la llave, el equipo se bloqueará; si la conectas y se detecta la clave k3y correcta, podrás usarlo con normalidad.

En la esquina superior derecha puedes habilitar la configuración avanzada. Es recomendable que actives las opciones de ejecución automática al inicio de Windows y arranque ya activado, para que el ordenador pida la llave desde el primer momento y no exista una ventana de tiempo sin protección.

Configurar autenticación U2F a nivel de sistema en Linux (PAM)

configurar u2f linux

En sistemas Linux es posible integrar llaves U2F reales (como YubiKey) directamente con PAM (Pluggable Authentication Modules), de forma que prácticamente cualquier inicio de sesión (TTY, sudo, SSH, sesiones gráficas, etc.) requiera tocar tu llave además de introducir la contraseña.

Antes de nada, conviene dejar claro algo: tocar los archivos de configuración de PAM es delicado. Un error puede dejarte fuera de tu propio sistema, así que haz copia de seguridad de todo lo que cambies y ten a mano un live USB para revertir la configuración si algo sale mal.

El flujo general para añadir U2F con una YubiKey (o equivalente compatible) en una distro basada en Debian/Ubuntu sería:

  • Instalar el módulo pam-u2f, normalmente con algo como: sudo apt-get install libpam-u2f.
  • Asociar tus llaves U2F a tu usuario generando un archivo de claves que PAM consultará al autenticar.
  • Modificar los archivos de /etc/pam.d para que la autenticación requiera la llave U2F además de la contraseña.

La guía oficial de Yubico suele guardar el archivo de configuración en la carpeta de usuario, pero si usas cifrado de /home, esa ruta no está disponible en el arranque. Una alternativa muy práctica es generar el fichero en un directorio no cifrado, por ejemplo en /etc:

1. Genera el archivo de claves U2F en /etc conectando la YubiKey y ejecutando:

sudo pamu2fcfg > /etc/u2f_keys

Cuando la llave parpadee, solo tienes que tocarla para vincularla. Si quieres añadir más llaves de respaldo para el mismo usuario (muy recomendable por si pierdes la principal), ejecuta:

  Guía completa de la app Archivos en iOS y iPadOS

sudo pamu2fcfg -n >> /etc/u2f_keys

2. Probar primero con sudo para no bloquear todo el sistema de golpe. Edita el archivo de PAM de sudo:

sudo nano /etc/pam.d/sudo

Justo debajo de la línea @include common-auth, añade:

auth required pam_u2f.so authfile=/etc/u2f_keys

Abre una nueva terminal y ejecuta, por ejemplo:

sudo echo test

Con la llave desconectada, deberías ver que introduces la contraseña y el comando falla. Es lo esperado, porque falta el segundo factor. Conecta la llave, repite el comando y, tras introducir tu contraseña, la YubiKey parpadeará pidiendo un toque; al tocarla, el comando debería ejecutarse y ver “test”. Eso confirma que pam-u2f está funcionando.

Una vez comprobado, vuelve a /etc/pam.d/sudo y elimina la línea que añadiste para no dejar sudo permanentemente protegido mientras sigues configurando el resto, salvo que quieras dejarlo ya así.

3. Activar U2F para toda la autenticación del sistema. Edita /etc/pam.d/common-auth:

sudo nano /etc/pam.d/common-auth

Al final del archivo, añade esta línea:

auth required pam_u2f.so nouserok authfile=/etc/u2f_keys prompt=Please touch your device cue

La opción nouserok indica que los usuarios sin llave asociada pueden seguir entrando solo con contraseña, algo útil si compartes máquina con otras personas o cuentas de sistema. Si la quitas, cualquier usuario sin registro U2F quedará bloqueado.

El parámetro authfile apunta al archivo de claves que creaste en /etc, en lugar de la ruta por defecto en el home del usuario. El texto de prompt aparece en inicios de sesión interactivos (por ejemplo, SSH) para avisarte de que toques el dispositivo, y cue hace que la luz de la llave parpadee para pedir interacción.

Desde ese momento, cualquier intento de inicio de sesión que pase por common-auth pedirá también un toque de la llave, además de la contraseña. Se aplica a GDM/LightDM, TTY, SSH y otros servicios que incluyan ese archivo de PAM en su configuración.

Si quieres que sudo, en concreto, no use U2F aunque el resto del sistema sí lo use, puedes hacer un pequeño truco: edita /etc/pam.d/sudo, elimina la línea “@include common-auth” y pega dentro el contenido de common-auth sin la línea de pam_u2f. Es un poco sucio, pero funciona para tener 2FA global y excepciones puntuales donde no quieras exigir la llave (por ejemplo, sudo o ciertos servicios de sistema).

Usar una llave U2F en servicios online: Google, Dropbox y compañía

Más allá de proteger el inicio de sesión en tu sistema operativo, el gran salto de seguridad está en usar llaves U2F con tus cuentas online: Google, Dropbox, Facebook, Twitter, GitHub, Nextcloud, Slack, Instagram y muchos otros soportan ya la autenticación con estos dispositivos.

En todos los casos la lógica es parecida: primero activas la verificación en dos pasos “clásica” (con SMS, app o similar) y, una vez está operativa, añades tu llave de seguridad U2F como método adicional.

Con Dropbox, por ejemplo, los pasos serían:

  • Activa la verificación en dos pasos desde la sección de Seguridad de tu cuenta, eligiendo SMS o app de autenticación.
  • Una vez activa, en el mismo apartado de seguridad busca la sección “Llaves de seguridad” y pulsa en Añadir.
  • Dropbox te pedirá de nuevo tu contraseña por seguridad; introdúcela y sigue el asistente.
  • Conecta la llave USB U2F (no vale un pendrive cualquiera; debe ser compatible FIDO U2F) y pulsa en el botón que corresponda, como “Clave insertada”.
  • Si tu llave tiene botón físico, púlsalo cuando el navegador lo indique para completar el registro.

A partir de ahí, cada vez que inicies sesión en Dropbox desde un dispositivo nuevo, se te pedirá que conectes y toques la llave de seguridad, en lugar de teclear un código recibido por SMS. Lo fundamental es no perder esa llave y, a ser posible, registrar una segunda de respaldo para no quedarte fuera si la original se rompe o desaparece.

En Google el procedimiento es similar: entras en la configuración de tu cuenta, sección “Seguridad”, activas la verificación en dos pasos si aún no lo has hecho, y después vas a la opción de “Añadir una llave de seguridad”. Conectas la llave U2F, sigues las instrucciones del navegador (a menudo basta con tocar el botón de la llave) y listo: quedará asociada a tu cuenta.

Compatibilidad de las llaves U2F con navegadores y sistemas

Las llaves USB U2F no dependen de un único navegador ni de un solo sistema operativo. Hoy en día el soporte es bastante amplio, aunque siempre conviene revisar las especificaciones del fabricante y la versión exacta de tu navegador.

En cuanto a navegadores, Chrome fue de los primeros en soportar plenamente U2F, pero actualmente también puedes usar llaves U2F con Firefox, Microsoft Edge y Safari (este último, en versiones recientes de macOS, con algunas particularidades dependiendo de la versión exacta).

Respecto a sistemas operativos, las llaves USB U2F funcionan en Windows, macOS y la mayoría de distribuciones Linux, siempre que el navegador tenga implementado el estándar FIDO U2F o WebAuthn. En Windows 10 y posteriores, la integración suele ser muy sencilla; en macOS basta con tener el sistema y el navegador actualizados; en Linux puede requerir algún paquete adicional según la distribución.

  Organizar iTunes a fondo: guía completa para dominar tu biblioteca

No obstante, no todas las llaves se comportan igual en todos los sistemas. Algunas combinan U2F con otros protocolos (OTP, Challenge/Response, FIDO2/WebAuthn, almacenamiento de contraseñas, etc.), por lo que es buena idea revisar la documentación para saber exactamente qué soporta cada modelo en cada plataforma.

Cómo funciona internamente la seguridad de una llave U2F

La fuerza real de una llave U2F viene del uso de criptografía de clave pública, lo que permite una autenticación muy sólida sin necesidad de compartir secretos reutilizables con el servidor.

Al registrar una llave U2F en un servicio, se genera un par de claves criptográficas: una clave privada que permanece guardada de forma segura en la propia llave física y una clave pública que se envía al servidor del servicio (Google, Dropbox, etc.) y se almacena asociada a tu cuenta.

Cuando inicias sesión, tras poner tu usuario y contraseña, el servidor envía un desafío aleatorio a la llave a través del navegador. El dispositivo, usando su clave privada interna, firma ese desafío y devuelve la firma al servidor.

El servidor, que solo conoce la clave pública, comprueba que la firma es válida. Si lo es, considera la autenticación correcta. Lo importante aquí es que la clave privada nunca sale del dispositivo ni se transmite, y que el desafío es distinto en cada inicio de sesión, evitando reutilizaciones.

Además, las llaves U2F vinculan la autenticación al dominio real del servicio. Es decir, si te intentan colar una página de phishing que no coincide con el dominio para el que registraste la llave, la operación no será válida, por lo que el ataque fracasa incluso aunque hayas introducido tu contraseña en la web falsa.

Recuperar el acceso si pierdes la llave U2F

Perder una llave de seguridad puede dar respeto, pero los servicios serios suelen ofrecer vías de recuperación para no dejarte fuera sin remedio, siempre que hayas previsto alternativas.

Lo más prudente es, desde el principio, configurar una segunda llave de seguridad de respaldo en cada servicio donde uses U2F. Así, si tu llave principal se rompe o desaparece, puedes usar la de reserva para seguir entrando sin dramas.

Además, mantén actualizadas las opciones de recuperación clásicas: número de teléfono, correo de respaldo, códigos de recuperación de un solo uso y cualquier otro método que el servicio ofrezca (por ejemplo, dispositivos de confianza ya registrados).

En caso de pérdida, normalmente deberás:

  • Acceder a la página de recuperación de cuenta del servicio (Google, Dropbox, etc.) y seguir el asistente paso a paso.
  • Identificarte con los datos alternativos de seguridad que hubieras configurado (teléfono, correo, códigos de recuperación, etc.).
  • Revocar la llave perdida y, si ya tienes una de respaldo, dejarla como principal o registrar una nueva llave física en cuanto la compres.
  • Si todo falla, contactar con el soporte técnico aportando la información que pidan para verificar que realmente eres el propietario de la cuenta.

Flipper Zero y otros dispositivos polivalentes como llave U2F

Más allá de las llaves dedicadas tipo YubiKey, existen gadgets multifunción como Flipper Zero que incluyen soporte U2F entre sus herramientas. En este caso, el dispositivo puede actuar como llave de seguridad para cuentas de baja criticidad.

El procedimiento general con Flipper Zero es:

  • Conectar el dispositivo al ordenador por USB.
  • En el propio Flipper, ir a Menú Principal → U2F para habilitar el modo de llave.
  • En el servicio online (Gmail, Dropbox, Slack, Instagram, etc.), acceder a la configuración de seguridad y añadir un nuevo dispositivo de seguridad.
  • Cuando el navegador detecte la petición U2F, confirmar en el Flipper pulsando OK para vincularlo a la cuenta.

A partir de entonces, cada vez que ese servicio te pida el segundo factor, podrás enchufar el Flipper Zero y pulsar OK para validar. No obstante, sus propios desarrolladores recomiendan no usarlo como factor principal en servicios de alta sensibilidad (banca, criptomonedas, administración electrónica, etc.), porque no es una plataforma con el mismo nivel de endurecimiento que una llave U2F dedicada.

En conjunto, las llaves de seguridad basadas en U2F ofrecen hoy una de las protecciones más sólidas y cómodas contra robos de cuenta. Combinan lo mejor de la criptografía moderna con un uso muy simple para el usuario (enchufar y tocar), funcionan en los principales navegadores y sistemas, y se integran tanto en servicios web críticos como en el propio sistema operativo. Dar el salto desde el SMS o la app de códigos a una llave U2F física es, a día de hoy, una de las mejores decisiones que puedes tomar para blindar tus cuentas más importantes y seguir buenas prácticas de seguridad.

seguridad de contraseñas con keepassxc
Artículo relacionado:
Seguridad de contraseñas con KeePassXC: guía completa