Google Authenticator è un autenticatore offline. Può essere basato sul tempo o su eventi. Basato sul tempo, utilizzerà un orologio per rilevare il codice corretto da visualizzare.
Per evitare la desincronizzazione perché gli orologi sono imprecisi, si ha semplicemente un fattore di correzione, quindi si configura il server in modo che accetti un codice precedente, un codice corrente o un codice successivo.
Se si utilizza un codice precedente, si memorizza "-1" nel database. Se viene utilizzato un codice successivo, si memorizza "+1" in un database. E poi diminuisci o aumenta il numero in base alla sincronizzazione.
"-1" significherebbe che accetti il codice corrispondente a tempo -2, tempo -1 e ora.
"+2" significherebbe che accetti il codice corrispondente al tempo +1, ora +2 e ora +3
Una cosa importante è memorizzare l'ora dell'ultimo codice accettato, quindi i codici uguali o precedenti al codice utilizzato non possono essere riutilizzati.
Poiché l'autenticatore è completamente basato sul tempo, significa che la stessa chiave può essere utilizzata per un numero illimitato di server. Tieni presente che se i server sono offline o non possono comunicare tra loro, è possibile riutilizzare un codice esaurito da una macchina su un'altra macchina, a condizione che non sia scaduto nel tempo.
Puoi anche usare un'impostazione basata su eventi, con un contatore che conta per ogni visualizzazione del codice, e poi semplicemente accetti tutti i codici che sono in grado di dire 50 eventi in futuro, e quindi memorizza il conteggio di l'ultimo codice utilizzato in modo che i codici non possano essere riutilizzati, ma quindi è necessaria una chiave univoca per ogni macchina.
Il formato KeyURI serve per inizializzare l'autenticatore di Google, normalmente incorpora KeyURI in un codice QR visualizzato sullo schermo durante la configurazione dell'account, quindi lo digitalizzi con Google Authenticator per aggiungere il seme a Google Authenticator. Basta digitare un nome descrittivo come "etichetta", ad esempio:
"Server a 192.168.10.3"
E poi quando guardi nell'autenticatore di Google, potresti vedere:
542208 (pie of decreasing time)
Server at 192.168.10.3
389578 (pie of decreasing time)
Server at 192.168.10.4
e così via.
Quindi sai quale codice dovresti digitare.