¿Pueden reutilizarse instantáneamente las OTP basadas en el contador en múltiples servicios?

0

Estoy leyendo sobre 2FA basado en hardware y me pregunto sobre OTP basados en contador generados desde, por ejemplo, un Yubikey. He leído que en estos casos, al presionar un botón se genera una cadena compuesta por una clave pública, un contador y la OTP. El servicio verifica la OTP mediante la clave pública y el contador, y garantiza que el contador sea más alto que un contador utilizado anteriormente con esa clave pública en ese servicio .

Pero un servicio diferente no podría saber si esta OTP (para el contador 50, digamos) se ha utilizado en otro lugar. ¿Estoy en lo correcto o me falta algo? ¿Cómo se trata esto?

    
pregunta bers 09.01.2017 - 09:48
fuente

1 respuesta

1
  

¿Estoy en lo correcto o me estoy perdiendo algo? ¿Cómo se trata esto?

No. Tienes razón. Esto depende del backend para tratar. Si no hace nada al respecto, entonces así es.

Para contrarrestar esto, por ejemplo,

  • imagine algo como mantener una base de datos centralizada de round robin de los últimos cinco minutos de códigos usados. (Suponiendo que después de 5 minutos aproximadamente, hayan caducado de todos modos y pueda eliminarlos de la base de datos.

      

    La nueva tabla almacena el hash con sal de los códigos TOTP aceptados para evitar ataques de repetición. El complemento TOTP rechaza los códigos que están almacenados. Los códigos almacenados se borran en cron después de 1 día,

      

    Implementaremos un sistema de marcas de agua que registra el último intervalo utilizado.

  • Solo acepta el TOTP a través de HTTPS, por lo que es más difícil de interceptar en primer lugar.

respondido por el StackzOfZtuff 09.01.2017 - 12:27
fuente

Lea otras preguntas en las etiquetas