L'utilizzo di un'applicazione software come Google Authenticator è un compromesso sulla sicurezza fatto dalla maggior parte degli utenti del Time-based One- Protocollo password temporale (TOTP) . È un compromesso fatto per comodità.
TOTP utilizza una combinazione di una chiave segreta e l'ora per generare un codice che può essere verificato dal servizio con cui si sta autenticando ... e che non può essere indovinato da qualcuno che non ha la chiave segreta.
Non è richiesta alcuna comunicazione di rete per far funzionare il generatore di password one-time, ad eccezione di quello che potrebbe essere richiesto inizialmente per recuperare una chiave segreta o per sincronizzare l'ora. In Google Authenticator noterai anche che se hai installato più token, l'intero elenco genera le chiavi costantemente mentre l'app è aperta. Quindi non ci sarebbe alcun mezzo per identificare quale applicazione si sta autenticando, tranne per analizzare dove si lascia il focus più a lungo.
In definitiva, devi essere in grado di fidarti di qualsiasi app che genera le tue password monouso. Se non ritieni di poterti fidare di Google, ci sono altri produttori di applicazioni TOTP. Esistono anche token hardware (qui presentato come esempio ... non un marchio di approvazione). I token hardware sono molto più sicuri poiché sono monouso e generalmente resistenti alle manomissioni, ma presentano il classico problema di rendere difficile la distribuzione delle chiavi segrete nello spazio fisico.
Alla fine, usare TOTP è decisamente migliore dell'autenticazione basata sulla conoscenza - password e domande segrete - da solo, ma richiede di avere un'implementazione fidata per generare le tue password dal segreto condiviso e dal tempo. Google Authenticator è la soluzione conveniente, ma non l'unica.