È possibile registrare contemporaneamente due client TOTP e generare gli stessi token?

3

Nota che sono non che parlo di sistemi come Authy, dove puoi accedere al tuo account su più dispositivi e sincronizzare i tuoi token tra di loro - Mi riferisco a due dispositivi completamente separati che non hanno conoscenza reciproca.

Considerare il tipico flusso di impostazione dell'autorizzazione a due fattori per un sito Web di un consumatore:

  1. L'utente accede e naviga alla pagina "configura 2FA".
  2. Il sito genera e visualizza un codice a barre 2D all'utente.
  3. L'utente scatta una foto del codice a barre con la sua app 2FA e genera un token.
  4. L'utente invia il token al sito.
  5. Il sito convalida / finalizza la configurazione e 2FA è abilitato.

Durante il passaggio 3, se due dispositivi diversi hanno scansionato il codice a barre, potrebbero iniziare a generare la stessa serie di token? In tal caso, dovrebbero eseguire la scansione del codice a barre all'incirca allo stesso tempo per iniziare con gli stessi valori iniziali?

Sono curioso di sapere se è possibile scansare il codice a barre dallo schermo di un ignaro utente o, ad esempio, vedere un codice a barre nelle riprese video (magari da una telecamera di sicurezza o una trasmissione di notizie locali) e usarlo per clonare un token 2FA all'insaputa dell'utente.

    
posta smitelli 16.11.2015 - 16:42
fonte

1 risposta

3

In sostanza, sì.

L'algoritmo utilizzato si basa sulla chiave segreta (spesso fornita in forma di codice a barre) e su un tempo preciso. In base alla combinazione di questi, fornisce un codice breve al quale il server può confrontare.

Infatti, il server accetterà di solito anche i codici precedente e successivo per un po 'di tempo, dal momento che il server oi dispositivi dell'utente finale potrebbero essere leggermente fuori servizio - la tolleranza per questo dipende dalla sicurezza del servizio, dove le implementazioni di sicurezza elevata presumono che l'utente finale abbia un dispositivo molto accurato e quelle meno sicure potrebbero consentire all'utente di fornire uno dei tre token in un dato momento.

Puoi testare questo configurando più dispositivi con un singolo codice a barre - non hai nemmeno bisogno di scansionarli contemporaneamente. Tuttavia, hai bisogno che i loro orologi siano sincronizzati - se sono leggermente fuori, uno mostrerà il codice "vecchio" per un po 'prima di aggiornare.

    
risposta data 16.11.2015 - 17:17
fonte

Leggi altre domande sui tag