Jak wykonać kopię zapasową Google Authenticator?


130

Zaczynam używać Google Authenticator do coraz większej liczby rzeczy, ale właśnie zdałem sobie sprawę, że jeśli stracę telefon lub jeśli będę musiał go wyczyścić i przywrócić, aby zainstalować nowe oprogramowanie, stracę wszystkie moje kody.

Czy jest jakaś możliwość ich kopii zapasowej? A może jakieś rozwiązanie awaryjne, które oznacza, że ​​mogę przywrócić je na nowym urządzeniu?

Dzięki


2
Nie rozumiem ... kodu można użyć tylko raz, nie są one nigdzie przechowywane w telefonie, jeśli musisz wprowadzić kod w witrynie, musisz użyć nowego kodu, nawet jeśli już umieść jeden na tej stronie jakiś czas temu.
Matthieu Harlé

1
Dziękuję, ale jak rozumiem, jeśli zgubię teraz telefon, nie będę mógł nawet zalogować się na stronie, nie mówiąc już o konfiguracji nowego kodu Google Authenticator
Nick

5
Jeśli potrzebujesz kodu do zalogowania się podczas zgubienia telefonu, możesz użyć jednej z metod tworzenia kopii zapasowych (SMS, połączenie, wydrukowane kody ...). Zdecydowanie zaleca się skonfigurowanie co najmniej jednej z tych alternatywnych metod w celu przezwyciężenia tego rodzaju sytuacji :)
Matthieu Harlé

3
Zawsze chciałem rozwidlać Google Authenticator, aby dodać tę funkcję. Mam nadzieję, że ktoś to zrobi, zanim zdążę.
Michael Kropat

5
@Shywim Google Authenticator to nie tylko konta Google. Istnieje wiele innych usług, które nie mają kodów zapasowych i SMS-ów itp.
Chris Harrison,

Odpowiedzi:


84

Poniższa metoda będzie działać tylko zrootowanych urządzeń z Androidem.

Linux:

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

Windows:

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

Pamiętaj, że folder na komputerze musi już istnieć.

Spowoduje to skopiowanie plików bazy danych uwierzytelniających z kluczami głównymi, z których generowane są hasła jednorazowe na komputer. Plik można następnie przywrócić do tej samej lokalizacji na urządzeniach z Androidem lub odczytać za pomocą przeglądarki bazy danych sqlite w celu wyodrębnienia kluczy.


10
Podczas kopiowania na nowe urządzenie upewnij się, że zarówno databasesfolder, jak i databasesplik mają 755 uprawnień. Próbowałem 700, a GA ciągle się zawieszał. Niepokojące, że wymaga to pełnych uprawnień. Może to wymóg NSA.
eduncan911

12
Musisz adb rootto zrobić, zanim to zrobisz, albo dostanieszremote object '/data/data/com.google.android.apps.authenticator2/databases' does not exist
Simon Woodside

3
Pamiętaj, że jeśli masz włączony SELinux, nawet przy poprawnych bitach uprawnień aplikacja Authenticator może ulec awarii. Aby to naprawić, uruchom restorecon -F /data/data/com.google.android.apps.authenticator2/databases/databasespo odłożeniu pliku bazy danych. ( źródło )
Hai Zhang,

@ eduncan911 660 działa dla mnie
deed02392

Zrootowanie urządzenia powoduje, że jest mniej bezpieczne . Jeśli używasz 2FA, prawdopodobnie chcesz więcej bezpieczeństwa. Dla ryzyka: owasp.org/index.php/Projects/…
Simon Woodside

26

Nie musisz tworzyć kopii zapasowej aplikacji / danych Google Authenticator, ponieważ możesz utworzyć listę „Kodów zapasowych”, których możesz użyć do zalogowania się bez konieczności posiadania kodu uwierzytelniającego na tej samej stronie , na której konfigurujesz uwierzytelnianie dwuetapowe.

Po co drukować lub pobierać kody zapasowe?

Kody zapasowe są szczególnie przydatne dla osób podróżujących, mających problemy z odbieraniem SMS-ów lub połączeń głosowych lub nie mogących korzystać z aplikacji mobilnej Google Authenticator.

Zalecenie: Należy wydrukować lub pobrać kody zapasowe

Przechowuj je w bezpiecznym miejscu (lub wydrukuj), a jeśli zgubisz telefon, możesz użyć jednego z tych kodów, aby zalogować się na konto i skonfigurować nowe urządzenie z aplikacją Authenticator.

Chociaż dotyczy to 2-etapowego uwierzytelniania Google, wszelkie inne witryny skonfigurowane do korzystania z aplikacji Google Authenticator powinny oferować podobną opcję lub inny sposób otrzymywania kodów (np. Facebook obsługuje Google Authenticator, własną aplikację i sms jako metody odbierać kody).


3
W przypadku witryn, które go nie oferują, powiedziałbym, że jedyną opcją jest użycie silnego, unikalnego hasła bez uwierzytelniania dwuetapowego. Które witryny nie oferują opcji tworzenia kopii zapasowych? Dropbox, Facebook, LastPass, Wordpress wszystko robią (to inne strony, na których używam uwierzytelniania 2-etapowego).
bmdixon

18
@Nick: Zapisywanie kodu QR, które zapewniają Google lub innych stron i dodawanie ich do Authenticator na innym urządzeniu nie pracę. Zrobiłem to kilka razy sam. Należy jednak upewnić się, że czas jest poprawny i aktualny na obu urządzeniach (jeśli zamierzasz nadal korzystać z obu z nich), w przeciwnym razie uwierzytelnianie może się nie powieść.
Andris

7
Hasło „jednorazowe” uwierzytelnianie dwuskładnikowe generowane jest z dwóch rzeczy: bieżącej godziny oraz tajnego hasła współdzielonego między serwerem a aplikacją podczas inicjalizacji. W twoim przypadku sekretem jest kod QR. Tak długo, jak inne wystąpienie aplikacji uwierzytelniającej ma ten sam klucz tajny i ten sam czas (ta sama ramka 30s), obie aplikacje będą generować takie same hasła.
Marc Plano-Lesay

2
Możesz zrezygnować z tworzenia kopii zapasowej, gdy zamierzasz zresetować telefon, więc nie musisz spędzać godziny na przechodzeniu do każdej witryny, w której używasz uwierzytelnienia, wprowadzaniu kodu zapasowego i resetowaniu konfiguracji uwierzytelnienia.
pupeno

4
Dotyczy to tylko dwuetapowego uwierzytelnienia Google. Autoryzator Google współpracuje z wieloma innymi witrynami, a niektóre nie mają możliwości utworzenia listy kodów zapasowych. Niektóre używają SMS-ów, niektóre dają ci jednorazowy kod zapasowy, a niektóre nie mają żadnej opcji tworzenia kopii zapasowej. Nawet gdy każda witryna ma opcję tworzenia kopii zapasowych, konieczność przywrócenia wszystkich wielu kluczy przy zakupie nowego telefonu jest ogromnym kłopotem.
Laurence Gonsalves,

21

Titanium Backup (link do sklepu Google Play) utworzy kopię zapasową dowolnej aplikacji na Androida, w tym Google Authenticator. Musisz jednak zrootować telefon, aby była to realna opcja.

Polecam również wydrukowanie kodów zapasowych Google. Nie jest to kopia zapasowa aplikacji Google Authenticator, ale w razie potrzeby pozwolą na zresetowanie uwierzytelnienia. Pomoże to jednak w odzyskaniu dostępu do konta Google.

Moim zdaniem tworzenie kopii zapasowej aplikacji za pomocą Titanium Backup jest najbardziej kompletną opcją. Wielokrotnie mnie to uratowało.


Musiałem się na to zgodzić, ponieważ nie mogłem pobrać katalogu baz danych, nie mogłem skopiować na / sdcard i zabrać go - chmod 777 nic nie zrobił.
Lauri Elias,

„Importuj z Google Authenticator” - sprzedany! Bardzo ważna funkcja migracji.
Adambean

Warto wspomnieć, aby nie zrootować nowego telefonu. Po utworzeniu kopii zapasowej kliknij backup/restorekartę -> wybierz Authenticatoraplikację -> przesuń w prawo do special featureskarty -> wybierz Explore-> wybierz accountspod [DATABASE]. dostaniesz całe konto w aplikacji w pliku .csv. użyj secretkolumny, aby przywrócić konta do nowego telefonu.
Yan

19

Miałem dokładnie ten sam problem.

Okazuje się, że oryginalne tokeny (zwykle przedstawiane użytkownikowi jako qrcodes) są przechowywane w bazie danych sqlite w folderze /data/data/com.google.android.apps.authenticator2/databases i można je wyodrębnić z urządzenia.

Zautomatyzowałem i wyjaśniłem proces odzyskiwania tutaj: https://github.com/dchapkine/extract-google-authenticator-credentials

Ten projekt wyodrębnia oryginalne tokeny, a następnie generuje stronę internetową z kodami qrcodes, które można ponownie przeskanować na nowym urządzeniu.

Zapraszamy do współpracy.


1
To właśnie mnie zapisało, że loguję się na wszystkie moje konta 2FA i ręcznie przełączam telefon. Wielkie dzięki!
Kovah

Właśnie tego szukałem. Szybki i łatwy sposób na ponowne skanowanie wszystkich kodów QR.
Harvey

Dzięki za to, ale moje urządzenie nie jest zrootowane. Czy rozumiem poprawnie, że mam na ręce sytuację „Catch 22”, w której zrootowanie mojego urządzenia wyczyści ją?
urig

Po prostu genialne. Nie działał jednak w Windows 10 Bash.
TranslucentCloud

@urig, nie, rootowanie niektórych telefonów niekoniecznie spowoduje wyczyszczenie danych aplikacji.
TranslucentCloud

16

Najłatwiejszym sposobem na to jest zrobienie zrzutu ekranu z kodem QR za każdym razem, gdy konfigurujesz nowy Authenticator dla witryny i zapisujesz go w zaszyfrowanej lokalizacji.

Jeśli musisz ponownie zainstalować lub dodać Authenticator dla tej witryny do innego telefonu, po prostu dodaj konto w Authenticator, skanując kod QR na zrzucie ekranu, tak jakbyś tworzył nową witrynę.

Zanim negatyści stwierdzą, że to nie zadziała, tak, i MOŻESZ mieć ten sam Authenticator na wielu urządzeniach.


2
Chciałbym wyjaśnić, dlaczego to działa, zarówno strona internetowa, jak i twoje urządzenie będą dzielić prosty ciąg znaków, „kod”, ustawiony w kodzie QR, i będą bez końca używać go do tworzenia nowych 6-cyfrowych kodów, na podstawie aktualna data i godzina. Dlatego wystarczy mieć ten kod, aby wygenerować nowe kody. Witryna nie ma możliwości sprawdzenia, kto lub co stworzyło 6-cyfrowy kod, musi jedynie być poprawny.
Arie,

15

Wypróbuj Authenticator Plus , obsługuje funkcję tworzenia kopii zapasowych / przywracania z synchronizacją między urządzeniami, jeśli masz telefon / tablet, ta aplikacja synchronizuje wszystkie konta między nimi bezbłędnie, a nawet obsługuje zużycie Androida.

Ma także obsługę logo Zrzut ekranu programu Authenticator Plus


13
Lub możesz skorzystać z Authy ( authy.com ), która jest bezpłatna.
lid

5
Authy wygląda niesamowicie ! Znacznie lepiej niż Google, z wyjątkiem tego, że nie jest open source . Mogę z tym żyć.
cregox

17
Czy to nie wydaje się złym pomysłem? Cały sens protokołu opartego na czasie, jednorazowego padu (TOTP aka rfc6238, który jest tym, co implementuje authent / google, et al.) Polega na tym, że ty i tylko ty masz możliwość generowania kodów. Jeśli pozwolisz, aby niektóre podmioty zewnętrzne przechowywały te kody, stają się one ogromnym celem ataków, nigdy nie musisz ufać wszystkim, którzy pracują dla tej usługi i tego, jak ją wdrożyli.
antiduh

1
@antiduh oczywiście kwestia bezpieczeństwa kontra użyteczność, jeśli bardziej martwisz się bezpieczeństwem, nie jest to idealne rozwiązanie dla ciebie i powinieneś odejść od rozwiązań programowych i używać rozwiązań sprzętowych takich jak yubikey
Riyaz Mohammed Ibrahim

7

Możesz zapisać kody QR podczas konfiguracji lub odnowienia 2FA. Możesz zapisać kod QR, wykonując zrzut ekranu. Lub używając menu kontekstowego „zapisz obraz jako”, ale nie zawsze jest to dostępne. (Pamiętaj, aby nadać obrazom odpowiednią nazwę dla konta i kopii zapasowej w bezpiecznej lokalizacji). W celu przywrócenia wystarczy ponownie przeskanować kody QR w Google Authenticator.


4

Przedmowa to podejście do konfigurowania MFA z wyprzedzeniem, aby zawsze była tworzona kopia zapasowa, a nie odzyskiwanie lub tworzenie kopii zapasowych istniejących kodów.

Właśnie przeszedłem ten proces po tym, jak mój Nexus 6P przestał się łączyć z danymi i musiałem ponownie skonfigurować wszystkie moje MFA na Pixelu. Uświadomiłem sobie, że jeśli zgubiłem telefon lub przywróciłem fabryczne dane, zostałbym całkowicie zakłopotany.

Najprostszym rozwiązaniem, jakie wymyśliłem, jest zignorowanie konfiguracji opartej na kodzie QR i użycie samej konfiguracji opartej na tokenach (jest to opcja „ręczna” w większości aplikacji uwierzytelniających). Każda usługa, z której dotychczas korzystałem, pozwala wybrać konfigurację opartą na tokenach, a nie QR.

Zamiast kłopotać się robieniem zrzutów ekranowych kodów QR, odpowiednim ich oznaczaniem, a następnie szyfrowaniem GPG i bezpiecznym przechowywaniem gdzieś, po prostu przechowuję tokeny w zaszyfrowanym skarbcu i ręcznie konfiguruję MFA.

Sprawdziłem, że możesz skonfigurować klony uwierzytelniacza, używając tego samego klucza na niezależnych urządzeniach działających jednocześnie. Tak więc, o ile bezpiecznie kontrolujesz tokeny, możesz skonfigurować MFA na dowolnym urządzeniu.

Jestem zadowolony z tego wyniku, ponieważ nie musiałem nic więcej robić, niż zmienić konfigurację MFA (musiałem to zrobić i tak w moich okolicznościach) i po prostu dodać wszystkie tokeny do ostatniego przejścia. Teraz jestem objęty ubezpieczeniem w przypadku utraty telefonu i mogę w razie potrzeby skonfigurować inne urządzenia.


2

Istnieje wiele porad dotyczących zrootowanych telefonów. Ale nie zaleca się rootowania urządzenia, jeśli nie chcesz narażać go na niebezpieczeństwo. Uwierzytelnianie dwuskładnikowe zapewnia dodatkową warstwę ochrony, a poprzez zrootowanie nic nie można zrobić, ponieważ różne wirusy mogą uzyskać dostęp do chronionych obszarów pamięci.

Tylko niewielka liczba usług oferuje kody zapasowe (szczególnie Google). W przypadku tych usług należy zapisać kody zapasowe.

Najlepszym rozwiązaniem jest zapisanie kodów QR (lub tajnych kluczy) w momencie rejestracji tokena i przechowywanie ich w bezpiecznym miejscu. Jeśli zgubisz telefon, możesz przywrócić tokeny w Google Authenticator na nowym urządzeniu.

Możesz także używać tokenów sprzętowych. Mogą być w formie breloka lub karty kredytowej. Przeczytaj ten artykuł na blogu Protectimus (firmy, w której pracuję), aby uzyskać więcej informacji na temat tworzenia kopii zapasowej Google Authenticator: Jak wykonać kopię zapasową Google Authenticator lub przenieść go na nowy telefon .

* Ujawnienie : Pracuję dla powyższej strony internetowej.


2
Witamy entuzjastów Androida . Zauważyliśmy, że jesteś powiązany z wymienionym linkiem. Nawet jeśli podałeś swoje powiązanie w swoim profilu, ujawnij to również w swojej odpowiedzi. Dalsza lektura: Jak nie być spamerem .
Andrew T.

@AndrewT. Gotowy.
iBug

1

Poniższa metoda będzie działać tylko na zrootowanych urządzeniach z Androidem. Ta metoda jest bardziej przydatna dla niezbyt zaawansowanych technologicznie osób lub osób takich jak ja>, które nie chcą tracić czasu na instalowanie zestawu Android SDK + JDK od zera, aby uruchomić polecenie adb.

Oto on:

  1. Pobierz i zainstaluj dowolną aplikację „Root explorer” ze sklepu Google Play. Korzystam z popularnego i bezpłatnego eksploratora plików FX z bezpłatnym dodatkiem do rootowania FX. Możesz także użyć innych. Ta aplikacja umożliwia nam dostęp do systemu Android jako użytkownik root.

  2. Po otwarciu eksploratora plików w folderze System root> Kliknij folder „data”> Kliknij folder „data” (w innym folderze danych)> Skopiuj folder o nazwie com.google.android.apps.authenticator2> Wyjdź z folderu głównego systemu> Otwórz normalną pamięć główną / SD i wklej Folder tutaj.

  3. Podłącz urządzenie z systemem Android do komputera i zrób kopię zapasową folderu na bezpieczny dysk twardy USB / zewnętrzny.

Otóż ​​to. Teraz, ilekroć musisz ponownie zainstalować oprogramowanie wewnętrzne / kupić nowy telefon, po prostu wykonaj powyższe kroki i skopiuj ten folder do dokładnie tego samego katalogu po zainstalowaniu aplikacji Google Authenticator.

LUB możesz użyć bezpłatnego edytora GUI SQLite typu open source, takiego jak „SQLite Database Browser Portable”, aby otworzyć plik „baz danych” w folderze „com.google.android.apps.authenticator2”. Na karcie „Przeglądaj dane” możesz zobaczyć klucz i nazwę odpowiadającą kluczowi, dzięki czemu możesz ręcznie wprowadzić klucz w aplikacji Google Authenticator.


@Izzy Zredagowałem subiektywną część i dziękuję za pomoc :) Metoda wygląda po prostu na dużą, ale najbardziej oszczędza czas zwykłym ludziom, którzy nie byliby deweloperami Androida. Rzeczywiście spojrzałem na ten wątek, zanim sam znalazłem rozwiązanie. Kody zapasowe - niedostępne w przypadku większości usług (działa tylko w Google). Authenticator Plus to płatna aplikacja. Kopia zapasowa tytanu może mieć problemy ze zgodnością. Polecenie ściągania ADB wymaga zainstalowania zestawu Android SDK + JDK. Moja metoda jest tak „łatwa” jak kopiowanie i wklejanie folderu.
Pavin Joseph,

Dzięki za edycję, Pavin! Na twój komentarz, częściowo się nie zgadzam: nigdy nie instalowałem zestawu SDK + JDK, ale nadal używam wielu funkcji ADB (szczególnie z moim własnym narzędziem „ Adebar ” do dokumentacji urządzeń, skryptów tworzenia kopii zapasowych / przywracania itp. ). W systemie Linux potrzebuję tylko adbpliku wykonywalnego (w systemie Windows .dlldodatkowo wymagane są dwa pliki). Aby uzyskać szczegółowe informacje, zobacz Czy jest minimalna instalacja ADB?
Izzy

PS: Czy kiedykolwiek były jakieś problemy z pozwoleniami? Skopiowanie katalogu danych aplikacji ręcznie na inne urządzenie może wywołać takie. Pamiętaj, aby poprawnie uzyskać dostęp do plików, uprawnienia i prawa własności muszą być zgodne. Podczas instalacji każdej aplikacji przypisywana jest unikalna para UID / GID. Uprawnienia do plików mają flagi właściciela / grupy / innych. Zwykle dane aplikacji mają maksymalnie -rw-rw--(odczyt i zapis właściciela i grupy, inni nic). Jeśli więc występuje niedopasowanie własności, możesz mieć kłopoty (a aplikacja może się źle zachowywać).
Izzy

Tak, działa przez większość czasu. Ale jeśli nie, możesz użyć dowolnego edytora SQLite, aby otworzyć i wyświetlić tajny klucz z pliku baz danych; następnie dodaj konto w Google Authenticator za pomocą klucza.
Pavin Joseph

Ach Lepsze rozwiązanie: jeśli to nie działa, sprawdź i dostosuj uprawnienia. Przed nadpisaniem /data/data/com.google.android.apps.authenticator2zrób ls -lto i sprawdź własność / uprawnienia. Po skopiowaniu użyj chowni, chmodaby to naprawić.
Izzy

1

Na zrootowanym telefonie możesz użyć menedżera plików „Amaze” ( https://play.google.com/store/apps/details?id=com.amaze.filemanager&hl=pl ). Przejdź do katalogu głównego /data/data/com.google.android.apps.authenticator2/database. Otwórz plik bazy danych jako bazę danych. Wybierz konta. Będziesz miał 3 kolumny _id, e-mail i sekret. Skopiuj wartość „tajną”. Aby przywrócić, po prostu dodaj, wybierz „Wprowadź dostarczony klucz”, nadaj mu nazwę i wklej wartość.


0

Tak jak kiedyś tego doświadczyłem. Gdy będziesz logować się na swoje konto, otrzymasz stronę z kluczem do wprowadzenia 6-cyfrowego kodu. W tym miejscu możesz zmienić drugi klucz i uzyskać numer telefonu, jeśli jakikolwiek numer został już zweryfikowany. Aby uzyskać więcej kopii zapasowych, możesz wybrać inne zaufane komputery. Nie będą więc pytać o kod drugiego kroku na tych komputerach.


0

Oto link do prostego skryptu Python na mojej stronie: http://usefree.com.ua/google-authenticator-backup/

Wystarczy wkleić kod i uruchomić go w środowisku Python.

Jak to działa:

Podczas instalowania i konfigurowania uwierzytelniania dwuskładnikowego z aplikacji Google Authenticator, możliwe jest nie tylko do skanowania QR-code, ale dostać kod, na przykład, do Google Mail otrzymujemy: csnji4rfndisoh323fdsioah3u2iodso. Do generowania TOTP na twoim komputerze z Python IDLE możesz zdefiniować tę funkcję:

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:]

Wstaw do linii

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

twój kod zamiast "csnji4rfndisoh323fdsioah3u2iodso"

odkomentuj linię i zadzwoń w IDLE

totpgen ()

Dostaniesz TOTP!) Do usługi btc-e spróbuj użyć linii

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

W przypadku innych usług - jak opisano powyżej.


2
Czy możesz podać odpowiedni kod i wyjaśnić, jak go używać? (np. co robi ten kod? Wklej kod „co” i skąd? Nie wszyscy rozumieją rosyjski). Odpowiedź tylko na link jest odradzana, ponieważ jeśli link zgnije, nie pozostanie nic przydatnego. (Ujawnienie jest również konieczne, jeśli zamierzasz promować swojego bloga. W przeciwnym razie można założyć, że jest to czysto promocyjny aka spam).
Andrew T.

1
Proszę nie być spamerem i zawierać jasne, oczywiste wzmiankę, że jest to witryny, obok samego łącza.
Nic Hartley,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.