Come Google Authenticator in Android Mobile identifica questo è il server SSH giusto?

1

Sono nuovo nel meccanismo di Google Authenticator. Ho esaminato le basi del meccanismo, ma non sono riuscito a capire la logica dietro di esso per creare una connessione con la macchina Linux.

Ho una macchina Linux che non ha connettività Internet e è memorizzata in una rete interna dove un numero di persone accederà alla macchina. Ecco come il mio cellulare identifica esattamente la mia macchina Linux IpAddress per sincronizzare il seed e il counter per generare l'esatta chiave segreta.

E un'altra domanda è se ho 10 macchine Linux e ho installato Google Authenticator, quindi come il cellulare identificherà esattamente la macchina Linux.

Sono passato attraverso la rete e ho scoperto che si tratta di qualcosa come il Formato KeyURI.

Formato KeyURI: otpauth://TYPE/LABEL?PARAMETERS

Qui non ho trovato alcuna connessione al mio server.

Qualcuno può spiegare la procedura da un angolo all'altro.

    
posta user45475 18.02.2015 - 23:59
fonte

1 risposta

2

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.

    
risposta data 19.02.2015 - 01:35
fonte

Leggi altre domande sui tag