Gli OTP basati su contatori possono essere riutilizzati immediatamente in più servizi?

0

Sto leggendo la 2FA basata sull'hardware e mi chiedo delle OTP basate sul contatore generate, ad esempio, da un Yubikey. Ho letto che in questi casi, una semplice pressione di un pulsante genera una stringa composta da una chiave pubblica, un contatore e l'OTP. Il servizio verifica l'OTP utilizzando la chiave pubblica e il contatore e garantisce che il contatore sia superiore a un contatore utilizzato in precedenza utilizzando quella chiave pubblica a quel servizio .

Ma un servizio diverso non sarebbe in grado di sapere se questo OTP (per il contatore 50, diciamo) fosse stato usato da qualche altra parte. Ho ragione o mi sto perdendo qualcosa? Come viene gestito questo?

    
posta bers 09.01.2017 - 09:48
fonte

1 risposta

1

Am I correct or am I missing something? How is this dealt with?

No. Hai ragione. Questo dipende dal back-end di cui occuparsi. Se non fa niente, allora è proprio così.

Per contrastare ciò potresti ad esempio

  • immagina qualcosa come mantenere un database centralizzato round robin degli ultimi cinque minuti di codici usati. (Supponendo che dopo circa 5 minuti, sono comunque scaduti e puoi rimuoverli dal database.

    New table stores salted hash of accepted TOTP codes to prevent replay attack. TOTP plugin rejects codes that are stored. Stored codes are cleared on cron after 1 day,

    We will implement a watermark system which records that last interval used.

  • Accetta solo il TOTP tramite HTTPS, quindi è più difficile intercettarlo in primo luogo.

risposta data 09.01.2017 - 12:27
fonte

Leggi altre domande sui tag