stringtranslate.com

Contraseña de un solo uso basada en el tiempo

La contraseña de un solo uso basada en el tiempo ( TOTP ) es un algoritmo informático que genera una contraseña de un solo uso (OTP) utilizando la hora actual como fuente de unicidad. Como una extensión del algoritmo de contraseña de un solo uso (HOTP) basado en HMAC , se ha adoptado como estándar RFC  6238 del Internet Engineering Task Force (IETF) .

TOTP es la piedra angular de la Iniciativa para la Autenticación Abierta (OATH) y se utiliza en varios sistemas de autenticación de dos factores [1] (2FA).

Historia

Gracias a la colaboración de varios miembros de OATH, se desarrolló un borrador de TOTP para crear un estándar respaldado por la industria. Complementa el estándar HOTP único basado en eventos y ofrece a las organizaciones y empresas de usuarios finales más opciones para seleccionar las tecnologías que mejor se adapten a los requisitos de sus aplicaciones y pautas de seguridad . En 2008, OATH presentó una versión borrador de la especificación al IETF. Esta versión incorpora todos los comentarios y opiniones que los autores recibieron de la comunidad técnica en función de las versiones anteriores enviadas al IETF. [2] En mayo de 2011, TOTP se convirtió oficialmente en RFC 6238. [1]

Algoritmo

Para establecer la autenticación TOTP, el autenticado y el autenticador deben preestablecer tanto los parámetros HOTP como los siguientes parámetros TOTP:

Tanto el autenticador como el autenticado calculan el valor TOTP, luego el autenticador verifica si el valor TOTP proporcionado por el autenticado coincide con el valor TOTP generado localmente. Algunos autenticadores permiten valores que deberían haberse generado antes o después de la hora actual para tener en cuenta ligeros desfases del reloj , latencia de la red y retrasos del usuario.

TOTP utiliza el algoritmo HOTP, reemplazando el contador con un valor no decreciente basado en la hora actual:

      Valor TOTP ( K ) = valor HOTP ( K , C T ),

calcular el valor del contador

dónde

El tiempo de Unix no aumenta estrictamente. Cuando se inserta un segundo intercalar en UTC, la hora Unix se repite un segundo. Pero un solo segundo intercalar no hace que la parte entera del tiempo de Unix disminuya, y C T tampoco disminuye siempre que T X sea múltiplo de un segundo. [ ¿ investigacion original? ]

Seguridad

A diferencia de las contraseñas , los códigos TOTP son de un solo uso, por lo que una credencial comprometida solo es válida por un tiempo limitado. Sin embargo, los usuarios deben ingresar códigos TOTP en una página de autenticación, lo que crea posibilidades de ataques de phishing . Debido al corto período en el que los códigos TOTP son válidos, los atacantes deben enviar las credenciales en tiempo real. [3]

Las credenciales TOTP también se basan en un secreto compartido conocido tanto por el cliente como por el servidor, lo que crea múltiples ubicaciones desde las cuales se puede robar un secreto. [4] Un atacante con acceso a este secreto compartido podría generar códigos TOTP nuevos y válidos a voluntad. Esto puede ser un problema particular si el atacante viola una gran base de datos de autenticación. [5]

Ver también

Referencias

  1. ^ abc m'Raihi, David; Rydell, Johan; Pei, Mingliang; Machani, Salah (mayo de 2011). "RFC 6238 - TOTP: algoritmo de contraseña de un solo uso basado en tiempo". Archivado desde el original el 11 de julio de 2011 . Consultado el 13 de julio de 2011 .
  2. ^ Alejandro, Madison. "OATH envía TOTP: especificación de contraseña única basada en tiempo al IETF". Abra Autenticación . Archivado desde el original el 9 de abril de 2013 . Consultado el 22 de febrero de 2010 .
  3. ^ Umawing, Jovi (21 de enero de 2019). "¿Se ha derrotado la autenticación de dos factores? Un foco de atención en el último desafío de 2FA". Laboratorios Malwarebytes . Archivado desde el original el 25 de septiembre de 2020 . Consultado el 9 de agosto de 2020 .
  4. ^ "Contraseñas de un solo uso basadas en tiempo (TOTP)". www.transmitsecurity.com . 25 de junio de 2020 . Consultado el 2 de mayo de 2022 .
  5. ^ Zetter, Kim. "RSA acuerda reemplazar los tokens de seguridad después de admitir un compromiso". CABLEADO . Archivado desde el original el 12 de noviembre de 2020 . Consultado el 17 de febrero de 2017 .