Skip to main contentSkip to footer
Guías de complementos

YubiKey 5C NFC para la autenticación de dos factores (2FA) en WordPress: la llave con la que desarrollamos y realizamos pruebas

Patrick Schlesinger
Yubico YubiKey 5C NFC in retail packaging on the ReportedIP development laptop - the hardware key used to test Hive WebAuthn 2FA

La YubiKey 5C NFC es la llave de hardware que nuestro equipo utiliza a diario para iniciar sesión y, desde la versión 2.1.36 de Hive, es un método de autenticación de dos factores oficialmente compatible con cualquier sitio de WordPress que utilice el plugin. En esta guía se explica qué hace la llave, por qué es mejor que los códigos de un solo uso para las cuentas de administrador y cómo utilizamos este dispositivo concreto para desarrollar y probar la compatibilidad de Hive con WebAuthn.

La foto de arriba no es una imagen de archivo: se trata del YubiKey 5C NFC de nuestro propio departamento de desarrollo, el dispositivo de referencia que hay detrás de cada lanzamiento de Hive.

¿Qué es el YubiKey 5C NFC?

El YubiKey 5C NFC es un autenticador de hardware fabricado por Yubico. Almacena claves criptográficas en un elemento seguro, firma las solicitudes de Login al tocarlo y nunca expone la clave privada al ordenador: no tiene batería, ni pantalla, ni conexión a la red. Se conecta a un puerto USB-C o se acerca a un teléfono con NFC, que es precisamente la combinación que necesita un administrador de WordPress: cable en el escritorio, contacto sin cables cuando estás fuera de la oficina.

ConectoresUSB-C y NFC (pago sin contacto en Android e iOS)
Protocolos de autenticaciónWebAuthn / FIDO2 (CTAP 1, 2 y 2.1), U2F, tarjeta inteligente PIV, OTP de Yubico, OATH-HOTP/TOTP, OpenPGP, contraseñas estáticas
Capacidad de la Passkey25 credenciales detectables; 100 a partir de la versión 5.7 del firmware
Algoritmos de firmaES256, RS256; Ed25519 (EdDSA) a partir de la versión 5.2.3 del firmware
CompilarResistente al agua y al polvo (IP68), resistente a los golpes, sin batería ni piezas móviles; fabricado en Suecia

Las especificaciones completas se encuentran en la página oficial del producto de Yubico; la información sobre el Ed25519 comienza en las notas de la versión 5.2.3 del firmware de Yubico.

Por qué una llave física es mejor que los códigos de un solo uso para los administradores de WordPress

Todos los factores de autenticación de dos factores basados en códigos —Authenticator App, correo electrónico, SMS— comparten una misma vulnerabilidad: el código se puede introducir en una página equivocada. Un sitio de Phishing que se hace pasar por tu página de Login real puede retransmitir un código TOTP dentro de su ventana de 30 segundos, y los atacantes automatizan precisamente eso. Una clave FIDO2 es inmune a este tipo de ataques por su propio diseño: la firma que genera está vinculada al origen que la solicitó, por lo que una credencial registrada para tu dominio real simplemente no genera nada útil en un dominio similar. No hay ningún código que robar porque no hay ningún código.

Segundo factorResistente al PhishingFunciona sin conexiónFallo típico
Authenticator App (TOTP)No, los códigos se pueden retransmitirTeléfono perdido o restablecido sin copia de seguridad
Código de correo electrónicoNoNoBuzón comprometido o retraso en el correo
Código SMSNoNoSustitución de la tarjeta SIM, errores en la entrega
Clave de hardware (FIDO2)Sí — firmas vinculadas al origenHe perdido la llave y no tengo una de repuesto

La advertencia más importante se encuentra en la última celda: si pierdes la clave y no tienes una alternativa, te quedarás sin acceso. La solución práctica es la misma que propone Yubico —registrar dos claves y guardar una fuera del sitio— y Hive ofrece precisamente eso con un gestor de claves principal y de respaldo, además de Recovery Codes y cualquier método adicional de 2FA como alternativa. Nuestra guía de 2FA para WordPress compara los cuatro métodos con más detalle.

Cómo utilizamos el YubiKey 5C NFC en el equipo de Hive

No elegimos este modelo para el artículo; el artículo existe porque utilizamos este modelo. La YubiKey 5C NFC protege nuestras propias cuentas, y esa misma llave física es el requisito previo para que Hive admita WebAuthn: no se lanza ninguna versión que afecte a la ruta de la autenticación de dos factores (2FA) hasta que la llave haya completado el registro y el Login en un entorno de pruebas en cinco combinaciones de plataforma y protocolo de comunicación: Windows 11 con Chrome y Edge a través de USB-C, Chrome en Android y Safari en iPhone mediante contacto NFC, y Safari en macOS a través de USB-C. La matriz también comprueba que una segunda clave se registre correctamente, que se rechace una clave ajena y que, al cancelar una sesión de autenticación y volver a intentarla, el proceso se recupere sin necesidad de recargar la página.

Esas pruebas prácticas son la razón por la que algunos de los valores predeterminados de Hive son como son. El tiempo de espera de la ceremonia es de 120 segundos, en lugar de los 60 segundos predeterminados por WebAuthn, ya que sacar una llave del bolsillo y encontrar el punto óptimo de NFC en un teléfono suele llevar más de un minuto. userVerification El valor por defecto es discouraged, por lo que una clave nueva nunca interrumpe un Login de dos factores con un cuadro de diálogo sorpresa de PIN FIDO2. Además, en el firmware 5.2.3 o posterior, la credencial negocia Ed25519 cuando el servidor dispone de libsodium; lo hemos comprobado con esta misma clave, verificando que la credencial almacenada indica el algoritmo COSE −8.

En la integración continua (CI), se ejecutan pruebas de cobertura automatizadas mediante Playwright y el autenticador virtual de Chromium en cada compilación; la llave física cubre lo que la emulación no puede: el comportamiento NFC, los contadores de firmas reales y el caso de contacto accidental en el que una YubiKey introduce su contraseña de un solo uso en un formulario porque alguien la ha rozado en mitad de la sesión. Hive detecta esa cadena de Yubico-OTP introducida y responde con instrucciones en lugar de mostrar un error críptico.

Configuración de un YubiKey en tu sitio de WordPress con Hive

La versión Free tier del plugin incluye una clave de seguridad o Passkey por cuenta, que funciona en las tres interfaces de inicio de sesión: el Login de WordPress, la pantalla de verificación de la tienda de WooCommerce y la pantalla de restablecimiento de contraseña. La configuración lleva unos dos minutos:

  1. Instala ReportedIP Hive (versión 2.1.36 o posterior) y activa la autenticación de dos factores.
  2. Abre tu perfil y busca «Claves de seguridad y Passkeys».
  3. Selecciona «Hardware Security Key (USB/NFC)»: esta sugerencia hace que Chrome y Edge abran directamente el cuadro de diálogo de la clave de hardware, en lugar de mostrar primero un código QR.
  4. Ponle un nombre a la llave («YubiKey office»), insértala y toca el disco dorado, o bien acércala a la parte superior de tu móvil para utilizar la tecnología NFC.
  5. Registra una segunda clave como copia de seguridad o añade Recovery Codes como alternativa.

Hay dos detalles de implementación que conviene conocer. En primer lugar, Hive registra la credencial con residentKey: 'discouraged', lo que significa que un registro en WordPress no consume una de las 25 ranuras de credenciales detectables de la clave: la credencial se almacena en la base de datos del sitio, y la clave en sí misma puede dar servicio a un número ilimitado de sitios de esta forma. En segundo lugar, se comprueba el contador de firmas de cada aserción: un contador que no avanza es el indicio de una clave clonada, y Hive rechaza el inicio de sesión y envía un correo electrónico al titular de la cuenta en todos los planes.

El Business plan añade una capa avanzada: varias claves por cuenta, detección automática de modelos (el perfil muestra «YubiKey Serie 5 con NFC», determinado a partir del AAGUID de certificación de la clave y comparado con un registro de 91 modelos de autenticadores) y alertas por correo electrónico cuando se registra o se elimina una clave. La página de precios incluye la matriz de planes actual.

¿Qué llaves de seguridad son compatibles con WordPress y Hive?

Cualquier autenticador FIDO2/WebAuthn es válido: nosotros realizamos las pruebas con la serie YubiKey 5, pero el mismo proceso de registro admite los modelos Security Key de Yubico, las claves FIDO2 de otros fabricantes y las passkeys de plataformas como Windows Hello, iCloud Keychain o Google Password Manager. Si ya utilizas Passkeys, la guía de Login con Passkeys explica cómo se relacionan estas con las claves de hardware; en resumen, una clave de hardware es una Passkey que puedes tener en tu poder, que no puedes prestar a nadie y que puedes guardar en una caja fuerte.

Preguntas frecuentes

¿Qué pasa si pierdo mi YubiKey?

Inicia sesión con tu método de respaldo: una segunda clave registrada, Recovery Codes o cualquier otro método de autenticación de dos factores (2FA) activo. A continuación, elimina la clave perdida de tu perfil, lo que invalida su credencial de forma inmediata. Si no existe ningún método de respaldo, un administrador del sitio puede restablecer la autenticación de dos factores (2FA) de la cuenta a través de WP-CLI.

¿Funciona el YubiKey 5C NFC con mi móvil?

Sí. Tanto en Android como en iPhone, hay que mantener la llave en contacto con la antena NFC (normalmente en la parte superior del dispositivo) cuando el navegador lo solicite. El tiempo de espera de 120 segundos de Hive existe precisamente porque encontrar la posición de la antena NFC lleva un momento.

¿Necesito un plan de pago para utilizar un YubiKey con Hive?

N.º 1: En todos los planes se incluye de forma gratuita una clave de seguridad o Passkey por cuenta, lo que incluye el Login en las tres superficies de autenticación y el correo electrónico de aviso en caso de clonación de la clave. El plan Business añade varias claves por cuenta, detección de modelos y alertas sobre el ciclo de vida de las claves.

¿Es mejor una llave de hardware que una Passkey en mi gestor de contraseñas?

Ambas son resistentes al Phishing. La diferencia radica en la custodia: una Passkey sincronizada es tan segura como la cuenta con la que se sincroniza, mientras que la clave privada de una llave de hardware, por su propia naturaleza, no puede salir físicamente del dispositivo. Para una cuenta de administrador de WordPress —un objetivo que merece la pena atacar deliberadamente—, utilizamos llaves de hardware y mantenemos una Passkey sincronizada como alternativa por comodidad.

Empezar

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Rellena este campo
Rellena este campo
Por favor, introduce una dirección de correo electrónico válida.
Tienes que aprobar los términos para continuar