Saltar al contenido principal

TOTP - Contraseñas de un solo uso basadas en tiempo para 2FA

Lectura de 2 min aprox.

TOTP (Time-based One-Time Password) es un mecanismo de contraseña de un solo uso que genera códigos basados en la hora actual. Se utiliza ampliamente en aplicaciones de autenticación como Google Authenticator y Microsoft Authenticator. Normalmente se genera un nuevo código de 6 dígitos cada 30 segundos y funciona como un elemento de autenticación de dos factores añadido a la contraseña. A fecha de 2024, TOTP es el método de autenticación de dos factores más adoptado, y la mayoría de los servicios principales como Google, GitHub y AWS lo admiten.

Casos de uso reales

«Hicimos obligatorio el TOTP en las cuentas de nuestro entorno de producción de AWS. Hicimos que todos los usuarios de IAM completaran la configuración de la aplicación de autenticación y aplicamos una política que impide iniciar sesión en la consola sin MFA.»

El flujo de generación de TOTP

Clave secreta compartida
Hora actual (intervalos de 30 segundos)
Cálculo HMAC-SHA1
Generar código de 6 dígitos

Cómo funciona TOTP

TOTP es un algoritmo estandarizado en el RFC 6238. Tomando como entradas una clave secreta compartida entre el servidor y el cliente junto con la hora actual, calcula un valor hash con HMAC-SHA1 y extrae de él un número de 6 dígitos. Siempre que los relojes del servidor y del cliente estén sincronizados, se genera el mismo código, por lo que la autenticación se completa.libros sobre autenticación de dos factores (Amazon) te permiten aprender los detalles técnicos.

Escenarios de uso concretos

Un error común es pensar que «la autenticación por SMS y el TOTP ofrecen el mismo nivel de seguridad». La autenticación por SMS conlleva el riesgo de interceptación mediante ataques de intercambio de SIM o la explotación de vulnerabilidades del protocolo SS7. Como el TOTP se procesa por completo dentro del dispositivo, es mucho más seguro frente a estos ataques. El NIST (Instituto Nacional de Estándares y Tecnología de EE. UU.) también recomienda el uso de TOTP o de claves de hardware en lugar de la autenticación por SMS.

Al combinar TOTP con una contraseña robusta generada por un gestor de contraseñas, puedes evitar inicios de sesión no autorizados incluso si la contraseña se filtra. Guarda la clave secreta de TOTP de forma segura junto con tus códigos de respaldo. Por si pierdes el teléfono donde se ejecuta tu aplicación de autenticación, la mejor práctica es imprimir los códigos de respaldo en papel y guardarlos en una caja fuerte, o configurar la aplicación de autenticación en varios dispositivos.libros sobre protección de cuentas (Amazon) también son una referencia útil.

Términos relacionados

¿Te resultó útil este artículo?

XHatena