L'idea alla base dell'autenticazione a due fattori è quella di utilizzare qualcosa che conosci e qualcosa che possiedi per l'autenticazione.
Nel tuo esempio di solito usi la tua normale password (qualcosa che conosci) e il tuo telefono (qualcosa che possiedi). Nel caso dei codici di backup, dovrebbero essere scaricati una volta e stampati nel caso in cui tu perdessi / dimentichi il telefono come qualcosa che possiedi. Tuttavia Google ti consente di visualizzarli di nuovo, probabilmente perché gli utenti li stavano perdendo. Idealmente, in questo caso verrà generato un nuovo set di codici di backup.
If an attacker gains access to them (in addition to your main password
or key), can't he log in and then reset Authenticator, synchronizing
it with his own phone to give himself permanent access?
Sì, lui è il motivo per cui una password sicura in primo luogo è una buona idea. Come Google chiede questo quando apporta modifiche al modo in cui accedi. Se un utente malintenzionato ha rubato la tua sessione o sta eseguendo un uomo nell'attacco del browser, ha comunque bisogno della tua password per apportare modifiche. Se hanno la tua password è game over.
How is using Authenticator for MFA any better than using two fixed
passwords or using single-factor authentication but appending the
scratch codes to your original password?
Authenticator è migliore in quanto non è una password statica accodata insieme, essenzialmente rendendola un fattore singolo. L'uso di password una tantum rende l'opportunità per un utente malintenzionato di usarle molto più piccole. I codici di backup sono anche una volta, una volta che ne hai usato uno, non puoi utilizzarlo di nuovo.
Quindi qual è il modo migliore di usare l'autenticatore?
- Non utilizzare i codici di backup - Ciò riduce tuttavia la flessibilità.
- Ottieni un token hardware: mentre Google Authenticator implementa solo OATH TOTP e HOTP puoi ottenere un token hardware OATH programmabile. Ciò riduce ulteriormente il servizio di attacco in quanto è un token completamente disconnesso, un utente malintenzionato non può utilizzare il telefono per l'autenticazione.
E altri metodi di autenticazione?
Personalmente uso un Yubikey insieme a Duo Security Linux Integration per l'autenticazione SSH. Funziona a meraviglia.
Puoi anche utilizzare un Yubikey direttamente con Google Authenticator.
Finalmente, come la maggior parte delle cose nella vita, devi scendere a compromessi. Alcune autenticazioni possono essere veramente facili da usare a scapito di alcune misure di sicurezza, altre possono essere fastidiosamente difficili da usare ma sono molto sicure. Cerca di capire ciò che conta per te e trova il miglior compromesso.