Come faccio a eseguire il backup di Google Authenticator?


131

Sto iniziando a utilizzare Google Authenticator per sempre più cose adesso, ma mi sono appena reso conto che se perdo il mio telefono o se devo cancellarlo e ripristinarlo per installare un nuovo firmware, perderò tutti i miei codici.

C'è un modo per eseguirne il backup, per favore? O un qualche tipo di fallback che significa che posso ripristinarlo su un nuovo dispositivo?

Grazie


2
Non capisco ... Un codice deve essere utilizzato solo una volta, non sono memorizzati in nessun punto del telefono, se è necessario inserire un codice in un sito, è necessario utilizzare un nuovo codice, anche se già metterne uno su questo sito qualche tempo fa.
Matthieu Harlé,

1
Grazie, ma a quanto ho capito, se perdo il mio telefono ora, non sarò nemmeno in grado di accedere al sito, figuriamoci impostare un nuovo codice Google Authenticator
Nick

5
Se è necessario un codice per accedere mentre si perde il telefono, è possibile utilizzare uno dei metodi di backup (SMS, Chiama, codici stampati ...). Si consiglia vivamente di installare almeno uno di questi metodi alternativi per superare questo tipo di situazione :)
Matthieu Harlé,

3
Ho sempre voluto rovesciare Google Authenticator per aggiungere questa funzione. Spero che qualcuno lo faccia prima di avere il tempo.
Michael Kropat,

5
@Shywim Google Authenticator non è solo per gli account Google. Ci sono molti altri servizi che non hanno codici di backup, SMS ecc.
Chris Harrison,

Risposte:


85

Il seguente metodo funziona solo su dispositivi Android con root.

Linux:

adb pull /data/data/com.google.android.apps.authenticator2/databases/databases /AFolderOnPC

Finestre:

adb pull /data/data/com.google.android.apps.authenticator2/databases/databases C:\AFolderOnPC

Si noti che la cartella sul PC deve già esistere.

Ciò copierà i file del database dell'autenticatore con le chiavi principali, da cui vengono generate le password One Time, sul PC. Il file può quindi essere ripristinato nella stessa posizione, su dispositivi Android, o leggere con un visualizzatore di database sqlite per estrarre le chiavi.


10
Quando si copia su un nuovo dispositivo, assicurarsi che la databasescartella e il databasesfile dispongano entrambi di 755 autorizzazioni. Ho provato 700 e GA ha continuato a bloccarsi. Per quanto riguarda il fatto che richiede autorizzazioni complete. Forse questo è il requisito della NSA.
eduncan911,

12
Devi farlo adb rootprima di farlo, o otterrairemote object '/data/data/com.google.android.apps.authenticator2/databases' does not exist
Simon Woodside,

3
Nota che se hai SELinux abilitato, anche con i bit di autorizzazione corretti l'app Authenticator può bloccarsi. Per risolvere questo problema, eseguirlo restorecon -F /data/data/com.google.android.apps.authenticator2/databases/databasesdopo aver ripristinato il file di database. ( fonte )
Hai Zhang,

@ eduncan911 660 funziona per me
deed02392

Il rooting del dispositivo lo rende meno sicuro . Se stai usando 2FA, presumibilmente vuoi maggiore sicurezza. Per i rischi: owasp.org/index.php/Projects/…
Simon Woodside,

26

Non è necessario eseguire il backup dell'app / dei dati di Google Authenticator poiché è possibile creare un elenco di "Codici di backup" che è possibile utilizzare per accedere senza richiedere un codice di autenticazione nella stessa pagina in cui si configura l'autenticazione in due passaggi.

Perché stampare o scaricare i codici di backup?

I codici di backup sono particolarmente utili per le persone che viaggiano, hanno problemi a ricevere SMS o chiamate vocali o non possono utilizzare l'app per dispositivi mobili Google Authenticator.

Raccomandazione: è necessario stampare o scaricare i codici di backup

Conservali in un luogo sicuro (o stampali) e se perdi il telefono puoi utilizzare uno di questi codici per accedere al tuo account e configurare un nuovo dispositivo con l'app Authenticator.

Sebbene ciò si applichi all'autenticazione in due passaggi di Google, tutti gli altri siti che hai configurato per utilizzare l'app Google Authenticator dovrebbero offrire un'opzione simile o un altro modo per ricevere codici (ad esempio Facebook supporta Google Authenticator, la propria app e sms come metodi per ricevere codici).


3
Per i siti che non lo offrono, direi che l'unica opzione è utilizzare una password univoca sicura senza autenticazione in due passaggi. Per interesse, quali siti non offrono un'opzione di backup? Dropbox, Facebook, LastPass, Wordpress fanno tutti (quelli sono gli altri siti con cui utilizzo l'autenticazione in 2 passaggi).
bmdixon,

18
@ Nick: Salvare il codice QR che Google o altri siti forniscono e l'aggiunta di nuovo nel Authenticator su un altro dispositivo fa il lavoro. L'ho fatto alcune volte da solo. Tuttavia, è necessario assicurarsi che l'ora sia corretta e costantemente aggiornata su entrambi i dispositivi (se si intende continuare a utilizzarli entrambi), altrimenti l'autenticazione potrebbe non riuscire.
Andris,

7
La password di autenticazione "una tantum" a due fattori viene generata con due cose: l'ora corrente e un segreto condiviso tra il server e l'app durante l'inizializzazione. Nel tuo caso, il segreto è il codice QR. Finché un'altra istanza dell'app di autenticazione condivide lo stesso segreto e lo stesso tempo (lo stesso frame degli anni '30), entrambe le app genereranno le stesse password.
Marc Plano-Lesay,

2
Potresti comunque voler eseguire il backup quando ripristinerai il telefono, quindi non devi passare un'ora a visitare tutti i siti per i quali usi l'autenticatore, inserendo un codice di backup e ripristinando la configurazione dell'autenticatore.
pupeno,

4
Questo vale solo per l'autenticazione in 2 passaggi di Google. L'autenticatore di Google funziona con molti altri siti e alcuni non hanno modo di creare un elenco di codici di backup. Alcuni usano SMS, altri ti danno un unico codice di backup monouso e alcuni non hanno alcuna opzione di backup. Anche quando ogni sito ha un'opzione di backup, dover ripristinare tutti i numerosi tasti quando si ottiene un nuovo telefono è una seccatura enorme.
Laurence Gonsalves,

21

Titanium Backup (link al Google Play Store) eseguirà il backup di qualsiasi app Android, incluso Google Authenticator. Tuttavia, è necessario eseguire il root del telefono affinché questa sia un'opzione praticabile.

Vorrei anche raccomandare di stampare anche i codici di backup di Google. Questo non sta eseguendo il backup dell'app Google Authenticator, ma consentirebbe di ripristinare l'autenticatore, se necessario. Tuttavia, ciò aiuterebbe solo a riottenere l'accesso al tuo account Google.

A mio avviso, il backup dell'app con Titanium Backup è l'opzione più completa. Mi ha salvato in diverse occasioni.


Ho dovuto accontentarmi di questo perché non riuscivo ad aggiungere la directory dei database, non potevo copiare su / sdcard e prenderlo - chmod 777 non ha fatto nulla.
Lauri Elias,

"Importa da Google Authenticator" - Venduto! Funzionalità di migrazione molto importante.
Adambean,

Vale la pena ricordare, al fine di non eseguire il rooting del nuovo telefono. Dopo il backup, fai clic sulla backup/restorescheda -> scegli Authenticatorapp -> scorri verso destra per la special featuresscheda -> scegli Explore-> scegli accountssotto [DATABASE]. quindi otterrai tutto l'account nella tua app in un file .csv. utilizzare la secretcolonna per ripristinare gli account sul nuovo telefono.
Yan

19

Ho avuto lo stesso identico problema.

Si scopre che i token originali (solitamente rappresentati dall'utente come qrcodes) sono memorizzati nel database sqlite nella cartella /data/data/com.google.android.apps.authenticator2/database e possono essere estratti dal dispositivo.

Ho automatizzato e spiegato il processo di recupero qui: https://github.com/dchapkine/extract-google-authenticator-credentials

Questo progetto estrae token originali, quindi genera una pagina Web con qrcodes che è possibile ripetere la scansione su un nuovo dispositivo.

Sentiti libero di contribuire.


1
Questo mi ha appena salvato l'accesso a tutti i miei account 2FA e il passaggio manuale del telefono. Grazie molto!
Kovah,

Questo e 'esattamente quello che stavo cercando. Un modo semplice e veloce per ripetere la scansione di tutti i codici QR.
Harvey,

Grazie per questo, ma il mio dispositivo non è rootato. Capisco correttamente che ho una situazione "Cattura 22" in mano in cui il root del mio dispositivo lo pulirà?
urig

Semplicemente geniale. Tuttavia, non ha funzionato su Windows 10 Bash.
TranslucentCloud

@urig, no, il rooting di alcuni telefoni non cancella necessariamente i dati delle app.
TranslucentCloud

16

Il modo più semplice per gestirlo è acquisire uno screenshot del codice QR ogni volta che si configura un nuovo Authenticator per un sito e salvarlo in una posizione crittografata.

Se è necessario reinstallare o aggiungere l'Autenticatore per quel sito su un altro telefono, è sufficiente aggiungere l'account in Autenticatore eseguendo la scansione del codice QR nello screenshot come se si stesse configurando un nuovo sito.

Prima che i negativi dicano che non funzionerà, sì, e PUOI avere lo stesso Authenticator su più dispositivi.


2
Vorrei spiegare perché questo funziona, sia il sito Web che il dispositivo condivideranno una semplice stringa di caratteri, "il codice", impostato nel codice QR, e lo useranno all'infinito per creare nuovi codici a 6 cifre, in base a la data e l'ora correnti. Pertanto, è necessario disporre di questo codice per generare nuovi codici. Il sito Web non ha modo di controllare chi o cosa ha creato il codice a 6 cifre, deve solo essere corretto.
Arie,

15

Prova Authenticator Plus , supporta la funzionalità di backup / ripristino con sincronizzazione tra i dispositivi, se hai un telefono / tablet, questa app sincronizza tutti gli account tra loro in modo impeccabile, supporta anche Android Wear.

Ha anche il supporto loghi Screenshot di Authenticator Plus


13
Oppure potresti usare Authy ( authy.com ), che è gratuito.
coperchio

6
Authy sembra fantastico ! Molto meglio di Google, tranne che non è opensource . Ci posso convivere.
Cregox,

17
Non ti sembra una cattiva idea? L'intero punto del protocollo One-time pad basato sul tempo (TOTP aka rfc6238, che è ciò che l'autenticazione / autenticatore di Google, e altri implementano) è che tu e solo tu hai la possibilità di generare i codici. Se si lascia che terze parti memorizzino questi codici, diventano un bersaglio enorme per gli attacchi, non bisogna mai fidarsi di tutti coloro che lavorano per questo servizio e di come lo hanno impiantato.
antiduh,

1
@antiduh ovviamente la sua questione di sicurezza vs usabilità, se sei più interessato alla sicurezza non è l'ideale per te e dovresti effettivamente allontanarti dalle soluzioni software e utilizzare soluzioni hardware come yubikey
Riyaz Mohammed Ibrahim

7

È possibile salvare i codici QR quando si configura o si rinnova il 2FA. È possibile salvare il QR creando uno screenshot. O usando il menu contestuale 'salva immagine come' ma questo non è sempre disponibile. (Assicurati di dare alle immagini un nome corrispondente con l'account e il backup in un luogo sicuro). Per il ripristino, esegui nuovamente la scansione dei codici QR in Google Authenticator.


4

Come prefazione si tratta di un approccio per la configurazione anticipata di MFA in modo che venga sempre eseguito il backup, non il ripristino o il backup dei codici esistenti.

Ho appena completato questo processo dopo che il mio Nexus 6P ha smesso di connettersi ai dati e ho dovuto impostare nuovamente tutto il mio MFA su un Pixel. Mi sono reso conto che se avessi perso il mio telefono o avessi ripristinato i dati di fabbrica sarei stato completamente interrotto.

La soluzione più semplice che mi è venuta in mente è ignorare la configurazione basata su codice QR e usare semplicemente la configurazione basata su token (è l'opzione "manuale" nella maggior parte delle app di autenticazione). Ogni servizio che ho usato finora ti consente di optare per l'installazione basata su token piuttosto che QR.

Piuttosto che affrontare il problema di catturare schermate dei codici QR, etichettandoli in modo appropriato e poi GPG crittografandoli e memorizzandoli in modo sicuro da qualche parte, conservo semplicemente i token in un caveau crittografato e configuro il mio MFA manualmente.

Ho verificato che è possibile configurare i cloni dell'autenticatore utilizzando la stessa chiave su dispositivi indipendenti in esecuzione contemporaneamente. Pertanto, finché controlli i token in modo sicuro, puoi configurare MFA su qualsiasi dispositivo.

Sono soddisfatto di questo risultato in quanto non ho dovuto fare altro che riconfigurare MFA (dovevo farlo comunque nelle mie circostanze) e semplicemente aggiungere tutti i token a lastpass. Ora sono coperto in caso di perdita del telefono e posso configurare altri dispositivi se necessario.


2

Ci sono molti consigli per i telefoni rooted. Ma non è consigliabile eseguire il root del dispositivo se non si desidera renderlo vulnerabile. L'autenticazione a due fattori fornisce un ulteriore livello di protezione e il rooting lo rende inutile poiché diversi virus potrebbero accedere alle aree di memoria protette.

Solo una piccola quantità di servizi offre codici di backup (in particolare Google). Per questi servizi, è necessario salvare i codici di backup.

La soluzione migliore è salvare i codici QR (o le chiavi segrete) nel momento della registrazione del token e conservarli in un luogo sicuro. Quindi se perdi il telefono potresti ripristinare i token in Google Authenticator sul tuo nuovo dispositivo.

Inoltre, è possibile utilizzare i token hardware. Possono essere sotto forma di portachiavi o carta di credito. Dai un'occhiata a questo articolo sul blog di Protectimus (la società in cui lavoro) per ottenere maggiori informazioni su come eseguire il backup di Google Authenticator: come eseguire il backup di Google Authenticator o trasferirlo su un nuovo telefono .

* Divulgazione : lavoro per il sito Web linkato sopra.


2
Benvenuto negli appassionati di Android . Abbiamo notato che sei affiliato al link menzionato. Anche se hai dichiarato la tua affiliazione sul tuo profilo, ti preghiamo di rivelarlo anche nella tua risposta. Ulteriori letture: come non essere uno spammer .
Andrew T.

@AndrewT. Fatto.
iBug

1

Il seguente metodo funziona solo su dispositivi Android rooted. Questo metodo è più utile per i non esperti di tecnologia o per le persone come me> che non vogliono perdere tempo a installare Android SDK + JDK da zero solo per eseguire il comando adb.

Quindi eccolo qui:

  1. Scarica e installa qualsiasi app "Root explorer" dal Google Play Store. Uso il popolare e gratuito Explorer File FX con il suo addon FX root gratuito. Puoi usare anche altri. Questa app ci consente di accedere al sistema Android come utente root.

  2. Dopo aver aperto Esplora file nella radice del sistema> Fai clic sulla cartella "dati"> Fai clic sulla cartella "dati" (all'interno dell'altra cartella di dati)> Copia la cartella denominata com.google.android.apps.authenticator2> Esci dalla cartella principale del sistema> Apri spazio di archiviazione principale / SD normale e incolla il Cartella qui.

  3. Collega il tuo dispositivo Android a un PC e fai il backup della cartella su un USB / HDD esterno sicuro.

Questo è tutto. Ora, ogni volta che devi reinstallare il firmware / acquistare un nuovo telefono, segui i passaggi sopra e copia quella cartella nella stessa identica directory dopo aver installato l'app Google Authenticator.

OPPURE, puoi utilizzare un editor GUI SQLite open source gratuito come "SQLite Database Browser Portable" per aprire il file "database" all'interno della cartella "com.google.android.apps.authenticator2". Nella scheda "Sfoglia dati", puoi vedere la chiave e il nome corrispondenti alla chiave in modo da poter inserire manualmente la chiave nell'app Google Authenticator.


@Izzy Modificato la parte soggettiva e grazie per l'aiuto :) Il metodo sembra grande ma è il risparmio di tempo per le persone normali che non sarebbero sviluppatori Android. In realtà ho guardato questo thread prima di scoprire una soluzione per conto mio. Codici di backup - non disponibili per la maggior parte dei servizi (funziona solo su google). Authenticator Plus è un'app a pagamento. Il backup di Titanium può avere problemi di compatibilità. Il comando pull di ADB richiede l'installazione di Android SDK + JDK. Il mio metodo è "facile" come incollare una cartella.
Pavin Joseph,

Grazie per la modifica, Pavin! Sul tuo commento, devo essere in parte in disaccordo: non ho mai installato SDK + JDK, ma uso ancora un sacco di funzionalità ADB (in particolare con il mio strumento " Adebar " per la documentazione del dispositivo, script di backup / ripristino e altro ancora ). Su Linux, ho solo bisogno adbdell'eseguibile per quello (su Windows, .dllsono richiesti due file in aggiunta). Per i dettagli, vedi Esiste un'installazione minima di ADB?
Izzy

PS: ci sono mai stati problemi di autorizzazione? La copia manuale della directory dei dati di un'app su un altro dispositivo potrebbe far apparire tale. Ricorda, per accedere correttamente ai file le autorizzazioni e la proprietà devono corrispondere. All'installazione, a ciascuna app viene assegnata una coppia UID / GID univoca. Le autorizzazioni per i file hanno flag per il proprietario / gruppo / altri. Di solito, i dati delle app hanno al massimo -rw-rw--(proprietario / gruppo in lettura / scrittura, altri nulla). Quindi, se c'è una discrepanza nella proprietà, potresti essere nei guai (e l'app potrebbe non funzionare correttamente).
Izzy

Sì, funziona quasi sempre. In caso contrario, è possibile utilizzare qualsiasi editor SQLite per aprire e visualizzare la chiave segreta dal file di database; quindi procedi ad aggiungere l'account in Google Authenticator utilizzando la chiave.
Pavin Joseph,

Ah. Soluzione migliore: se non funziona, controlla e modifica le autorizzazioni. Prima di sovrascrivere /data/data/com.google.android.apps.authenticator2, esegui una ls -lverifica e controlla la proprietà / le autorizzazioni. Dopo la copia, utilizzare chowne chmodper risolverlo.
Izzy

1

Su un telefono rootato puoi utilizzare il file manager "Amaze" ( https://play.google.com/store/apps/details?id=com.amaze.filemanager&hl=en ). Vai alla directory principale /data/data/com.google.android.apps.authenticator2/database. Aprire il file di database come database. Seleziona gli account. Avrai 3 colonne _id, e-mail e segreto. Copia il valore "segreto". Quando è necessario ripristinare basta aggiungere, selezionare "Inserisci una chiave fornita", assegnagli un nome e incollalo nel valore.


0

Come ho sperimentato lo stesso solo qualche tempo prima. Quando accederai al tuo account otterrai la pagina per la chiave per inserire il codice a 6 cifre. In questo luogo è possibile modificare la seconda chiave e inserire il numero di telefono se si dispone già di un numero verificato. E per ulteriori backup è possibile scegliere altri computer come attendibili. Quindi, non chiederanno il codice del secondo passaggio su quei computer.


0

Ecco un link al semplice script Python sul mio sito Web: http://usefree.com.ua/google-authenticator-backup/

Basta incollare il codice ed eseguirli nell'ambiente Python.

Come funziona:

Durante l'installazione e la configurazione di autenticazione a due fattori con Google Authenticator, è possibile non solo eseguire la scansione QR-code, ma ottenere il codice, ad esempio, per Google Mail otteniamo: csnji4rfndisoh323fdsioah3u2iodso. Per generare TOTP sul tuo computer con Python IDLE puoi definire questa funzione:

def totpgen ():
    import time
    import hmac
    import hashlib
    import base64

    ### TOTP-key for Google
    #secret = base64.b32decode("csnji4rfndisoh323fdsioah3u2iodso", True)
    #totp for btc-e
    #secret = base64.b32decode("DHSJHDW89E8DFUS98RIO23J390EFU234IR90WEUIF903DMSKAKDS====")
    ### Calc counter from UNIX time (see RFC6238) 
    counter = long(time.time() / 30)

    ### Use counter as 8 byte array
    bytes=bytearray()
    for i in reversed(range(0, 8)):
      bytes.insert(0, counter & 0xff)
      counter >>= 8

    ### Calculate HMAC-SHA1(secret, counter)
    hs = bytearray(hmac.new(secret, bytes, hashlib.sha1).digest())

    ### Truncate result (see RFC4226)
    n = hs[-1] & 0xF
    result = (hs[n] << 24 | hs[n+1] << 16 | hs[n+2] << 8 | hs[n+3]) & 0x7fffffff

    ### Print last 6 digits
    return str(result)[-6:]

Inserisci in linea

secret = base64.b32decode("csnji4rfndisoh323fdsioah3u2iodso", True)

il tuo codice anziché "csnji4rfndisoh323fdsioah3u2iodso"

linea di commento e chiama in modalità IDLE

totpgen ()

Otterrai il tuo TOTP!) Per il servizio btc-e prova ad usare la linea

secret = base64.b32decode("DHSJHDW89E8DFUS98RIO23J390EFU234IR90WEUIF903DMSKAKDS====")

Per altri servizi, come descritto sopra.


2
Potresti includere il codice pertinente e spiegare come usarlo? (es. cosa fa questo codice? Incolla il codice "what" e da dove? Non tutti capiscono il russo). La risposta di solo collegamento è scoraggiata, poiché se il collegamento marcisce, non è rimasto nulla di utile. (Inoltre, la divulgazione è necessaria se si intende promuovere il proprio blog. Altrimenti, potrebbe essere assunto come spam puramente promozionale, noto anche come spam).
Andrew T.

1
Per favore , non essere uno spammer e includi una menzione chiara e ovvia che si tratta del tuo sito, accanto al link stesso.
Nic Hartley,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.