Qué es la verificación en dos pasos - Por qué las contraseñas solas no son suficientes

Una contraseña depende de un solo factor: el conocimiento. Por muy compleja que sea tu contraseña, un solo ataque de phishing puede robarla al instante. La verificación en dos pasos (2FA) añade un segundo factor, como la posesión o la biometría, de modo que incluso si tu contraseña se ve comprometida, el acceso no autorizado queda bloqueado.

Los tres factores de autenticación son:

  • Factor de conocimiento: Contraseñas, PINs, preguntas de seguridad - algo que sabes
  • Factor de posesión: Smartphones, llaves de seguridad, tarjetas inteligentes - algo que tienes
  • Factor biométrico: Huellas dactilares, reconocimiento facial, escaneo de iris - algo que eres

La verificación en dos pasos combina dos o más de estos factores. Estrictamente hablando, "autenticación de dos factores (2FA)" y "verificación en dos pasos" son conceptos distintos, pero se usan comúnmente de forma intercambiable. Consulta también nuestra guía detallada sobre autenticación de dos factores.

Verificación por SMS - Cómoda pero vulnerable

La verificación por SMS envía un código de un solo uso (normalmente de 6 dígitos) a tu número de teléfono al iniciar sesión. No requiere aplicaciones adicionales y es fácil de implementar, por lo que muchos servicios la adoptan.

Sin embargo, la verificación por SMS tiene vulnerabilidades graves:

  • SIM swapping: Los atacantes convencen a un operador para transferir el número de teléfono de la víctima a una nueva SIM. Consulta nuestra guía sobre SIM swapping para más detalles
  • Vulnerabilidades del protocolo SS7: El protocolo SS7 que sustenta la red telefónica tiene fallos de diseño que hacen técnicamente posible la interceptación de SMS
  • Retransmisión de phishing en tiempo real: Los atacantes usan sitios falsos para capturar códigos de las víctimas y retransmitirlos al sitio legítimo en tiempo real (Adversary-in-the-Middle)
  • Lectura de SMS por malware: El malware de Android puede abusar de los permisos de lectura de SMS para robar códigos de verificación

El NIST clasificó la verificación por SMS como un autenticador "restringido" en SP 800-63B (2016) y recomienda migrar a métodos más seguros. La verificación por SMS es mejor que nada, pero es inadecuada para cuentas de alta seguridad.

Aplicaciones de autenticación - Cómo funciona TOTP

Las aplicaciones de autenticación generan un nuevo código de 6 dígitos cada 30 segundos usando el algoritmo TOTP (Time-based One-Time Password). El servidor y la aplicación comparten una clave secreta (semilla), y ambos derivan el código a partir de la hora actual y la clave secreta mediante HMAC-SHA1.

El flujo de TOTP funciona así:

  1. Durante el registro, el servidor genera una clave secreta y la muestra como un código QR
  2. La aplicación de autenticación escanea el código QR y almacena la clave secreta localmente
  3. Al iniciar sesión, la aplicación calcula HMAC-SHA1 a partir de la clave secreta y la marca de tiempo UNIX actual (en intervalos de 30 segundos)
  4. Se extrae una porción del hash y se convierte en un número de 6 dígitos (Dynamic Truncation)
  5. El servidor realiza el mismo cálculo; si los resultados coinciden, la autenticación tiene éxito

Aquí tienes una comparación de las principales aplicaciones de autenticación:

Aplicación Sincronización en la nube Exportación Código abierto
Google AuthenticatorSí (cuenta de Google)Transferencia por código QRNo
Microsoft AuthenticatorSí (cuenta de Microsoft)Copia de seguridad en la nubeNo
AuthySí (cifrada)Sincronización multidispositivoNo
Aegis (Android)NoCopia de seguridad cifrada

La sincronización en la nube es conveniente para la recuperación cuando pierdes un dispositivo, pero si la cuenta sincronizada se ve comprometida, todas las semillas TOTP quedan expuestas. Para máxima seguridad, elige una aplicación solo local y almacena copias de seguridad cifradas por separado.

Llaves de seguridad - La autenticación más fuerte mediante FIDO2/WebAuthn

Las llaves de seguridad de hardware (YubiKey, Google Titan Key, etc.) son dispositivos de autenticación basados en el protocolo FIDO2/WebAuthn. Usan criptografía de clave pública, con la clave privada bloqueada dentro del dispositivo, lo que las hace inherentemente resistentes al phishing y a los ataques de intermediario.

El flujo de autenticación WebAuthn:

  1. Registro: La llave de seguridad genera un par de clave pública-privada y envía la clave pública al servidor. La clave privada permanece dentro del dispositivo y no puede extraerse
  2. Autenticación: El servidor envía un desafío aleatorio (nonce)
  3. La llave de seguridad firma el desafío con la clave privada y devuelve la firma
  4. El servidor verifica la firma con la clave pública; si coincide, la autenticación tiene éxito

La razón por la que las llaves de seguridad resisten el phishing es que WebAuthn incorpora el origen (nombre de dominio) en el proceso de autenticación. Si el dominio de un sitio falso difiere del legítimo, la llave de seguridad se niega a firmar. SMS y TOTP carecen de este mecanismo, dejando a los usuarios vulnerables a introducir códigos en sitios de phishing.

Las passkeys son una evolución de FIDO2 que permiten que la biometría del smartphone funcione como una llave de seguridad. Apple, Google y Microsoft están ampliando el soporte, y se espera que las passkeys se conviertan en el método de autenticación dominante.

Pasos de configuración para los principales servicios

El proceso de configuración varía según el servicio, pero el flujo general es consistente. Asegúrate también de fortalecer tus contraseñas junto con la activación del 2FA.

Cuenta de Google

  1. Ve a myaccount.google.com y selecciona "Seguridad"
  2. Haz clic en "Verificación en dos pasos" y registra tu número de teléfono (solo la primera vez)
  3. Selecciona "Aplicación de autenticación" y escanea el código QR con tu autenticador
  4. Para añadir una llave de seguridad, haz clic en "Añadir llave de seguridad" y registra tu llave USB

Apple ID

  1. En iPhone: Ajustes > tu nombre > "Inicio de sesión y seguridad" > "Autenticación de dos factores"
  2. Registra un número de teléfono de confianza (códigos de verificación por SMS o llamada de voz)
  3. iOS 16.3 y posteriores también admiten el registro de llaves de seguridad

Amazon

  1. "Cuenta y listas" > "Inicio de sesión y seguridad" > "Configuración de verificación en dos pasos"
  2. Escanea el código QR de la aplicación de autenticación e introduce el código mostrado para confirmar
  3. Registra un número de teléfono como método de respaldo

Independientemente del servicio, guarda siempre los códigos de recuperación (códigos de respaldo) que se muestran durante la configuración en un lugar seguro. Sin ellos, quedarás bloqueado si pierdes tu dispositivo.

Consideraciones clave al activar la verificación en dos pasos

La verificación en dos pasos es una defensa poderosa, pero hay trampas a las que prestar atención durante la configuración:

  • Almacenamiento de códigos de recuperación: Imprímelos en papel y guárdalos sin conexión, o guárdalos en la bóveda cifrada de un gestor de contraseñas. Una captura de pantalla en el smartphone por sí sola no sobrevivirá a un fallo del dispositivo
  • Planificación del método de respaldo: Si usas una aplicación de autenticación, verifica el proceso de migración de semillas antes de cambiar de dispositivo
  • Migración desde SMS: Pasa a una aplicación de autenticación o llave de seguridad siempre que sea posible. Si mantienes SMS como respaldo, no dependas de él como método principal
  • Cobertura completa de cuentas: Activa el 2FA en todas las cuentas críticas: correo electrónico, almacenamiento en la nube, redes sociales y servicios financieros. Como primer paso, comprueba tu postura de seguridad actual con IP確認さん, que evalúa la seguridad de tu conexión e identifica posibles vulnerabilidades

Para un enfoque sistemático de la seguridad, los libros de ciberseguridad son un excelente punto de partida.

Términos del glosario relacionados

Autenticación de dos factores (2FA) Un método de seguridad que verifica la identidad combinando dos factores de autenticación diferentes. Phishing Un ataque que roba credenciales a través de sitios web o correos electrónicos falsos. La verificación en dos pasos mitiga el daño. Contraseña Un método de autenticación basado en el conocimiento. Vulnerable por sí solo, siempre debe combinarse con la verificación en dos pasos.