Bagaimana cara mencadangkan Google Authenticator?

131

Saya mulai menggunakan Google Authenticator untuk semakin banyak hal sekarang, tetapi saya baru menyadari bahwa jika saya kehilangan ponsel saya, atau jika saya perlu menghapus dan mengembalikannya untuk menginstal firmware baru, saya akan kehilangan semua kode saya.

Apakah ada cara untuk mendukung mereka? Atau semacam fallback yang berarti saya dapat mengembalikannya ke perangkat baru?

Terima kasih

Nick
sumber
2
Saya tidak mengerti ... Kode hanya digunakan satu kali, mereka tidak disimpan di mana pun di ponsel Anda, jika Anda perlu memasukkan kode di suatu situs, Anda harus menggunakan kode baru, bahkan jika Anda sudah letakkan satu di situs ini beberapa waktu lalu.
Matthieu Harlé
1
Terima kasih, tetapi seperti yang saya pahami, jika saya kehilangan ponsel saya sekarang, saya bahkan tidak akan bisa masuk ke situs, apalagi menyiapkan kode Google Authenticator baru
Nick
5
Jika Anda memerlukan kode untuk masuk saat ponsel Anda hilang, Anda dapat menggunakan salah satu metode cadangan (SMS, Panggilan, kode cetak ...). Sangat disarankan untuk menyiapkan setidaknya satu dari metode alternatif ini untuk mengatasi situasi seperti ini :)
Matthieu Harlé
3
Saya selalu ingin garpu Google Authenticator untuk menambahkan fitur ini. Saya berharap seseorang akan melakukannya sebelum saya punya waktu.
Michael Kropat
5
@Shywim Google Authenticator bukan hanya untuk akun Google. Ada banyak layanan lain yang tidak memiliki kode cadangan dan SMS, dll.
Chris Harrison

Jawaban:

85

Metode berikut hanya akan bekerja dengan perangkat Android yang di-rooting.

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

Perhatikan bahwa folder pada PC harus sudah ada.

Ini akan menyalin file database authenticator dengan kunci utama, dari mana One Time Passwords dihasilkan, ke PC. File kemudian dapat dikembalikan ke lokasi yang sama, di perangkat Android, atau membaca dengan penampil basis data sqlite untuk mengekstrak kunci.

Segera
sumber
10
Saat menyalin ke perangkat baru, pastikan databasesfolder dan databasesfile keduanya memiliki 755 izin. Saya mencoba 700, dan GA terus menerjang. Agak memprihatinkan bahwa itu membutuhkan izin penuh. Mungkin itu persyaratan NSA.
eduncan911
12
Anda harus melakukannya adb rootsebelum melakukan ini, atau Anda akan mendapatkannyaremote object '/data/data/com.google.android.apps.authenticator2/databases' does not exist
Simon Woodside
3
Perhatikan bahwa jika Anda memiliki SELinux diaktifkan, bahkan dengan bit izin yang benar aplikasi Authenticator dapat macet. Untuk memperbaikinya, jalankan restorecon -F /data/data/com.google.android.apps.authenticator2/databases/databasessetelah Anda mengembalikan file database. ( sumber )
Hai Zhang
@ eduncan911 660 bekerja untuk saya
deed02392
Rooting perangkat Anda membuatnya kurang aman . Jika Anda menggunakan 2FA maka mungkin Anda menginginkan keamanan lebih. Untuk risikonya: owasp.org/index.php/Projects/…
Simon Woodside
26

Anda tidak perlu mencadangkan aplikasi / data Google Authenticator karena Anda dapat membuat daftar 'Kode cadangan' yang dapat Anda gunakan untuk masuk tanpa memerlukan kode otentikasi pada halaman yang sama dengan yang Anda konfigurasikan otentikasi 2 langkah.

Mengapa mencetak atau mengunduh kode cadangan?

Kode cadangan sangat berguna untuk orang yang bepergian, memiliki masalah dalam menerima SMS atau panggilan suara, atau tidak dapat menggunakan aplikasi seluler Google Authenticator.

Rekomendasi: Anda harus mencetak atau mengunduh kode cadangan

Simpan ini di tempat yang aman (atau cetak keluar) dan jika Anda kehilangan ponsel, Anda dapat menggunakan salah satu kode ini untuk masuk ke akun Anda dan mengatur perangkat baru dengan aplikasi Authenticator.

Sementara ini berlaku untuk otentikasi 2 langkah Google, setiap situs lain yang telah Anda konfigurasikan untuk menggunakan aplikasi Google Authenticator harus menawarkan opsi serupa, atau cara lain untuk menerima kode (misalnya Facebook mendukung Google Authenticator, aplikasi dan sms mereka sendiri sebagai metode untuk menerima kode).

bmdixon
sumber
3
Untuk situs yang tidak menawarkannya maka saya akan mengatakan bahwa satu-satunya pilihan Anda adalah menggunakan kata sandi unik yang kuat tanpa otentikasi 2 langkah. Karena minat, situs apa yang tidak menawarkan opsi cadangan? Dropbox, Facebook, LastPass, Wordpress, semua (itu adalah situs lain yang saya gunakan dengan otentikasi 2 langkah).
bmdixon
18
@Nick: Menyimpan kode QR yang disediakan Google atau situs lain dan menambahkannya kembali ke Authenticator di perangkat lain tidak berfungsi. Saya telah melakukan ini beberapa kali sendiri. Namun Anda harus memastikan bahwa waktunya benar dan selalu diperbarui di kedua perangkat (jika Anda ingin tetap menggunakan keduanya) jika tidak otentikasi mungkin gagal.
Andris
7
Kata sandi dua faktor otentikasi "satu kali" dihasilkan dengan dua hal: waktu saat ini, dan rahasia yang dibagikan antara server dan aplikasi selama inisialisasi. Dalam kasus Anda, rahasianya adalah kode QR. Selama instance lain dari aplikasi authenticator berbagi rahasia dan waktu yang sama (frame 30-an yang sama), kedua aplikasi akan menghasilkan kata sandi yang sama .
Marc Plano-Lesay
2
Anda mungkin masih ingin mencadangkannya saat akan mengatur ulang ponsel, jadi Anda tidak perlu menghabiskan waktu satu jam untuk mengunjungi setiap situs tempat Anda menggunakan autentikator, memasukkan kode cadangan, dan mengatur ulang pengaturan autentikator.
pupeno
4
Ini hanya berlaku untuk otentikasi 2 langkah Google. Google autentikator bekerja dengan banyak situs lain, dan beberapa tidak memiliki cara untuk membuat daftar kode cadangan. Beberapa menggunakan SMS, beberapa memberi Anda satu kode cadangan sekali pakai, dan beberapa tidak memiliki opsi cadangan sama sekali. Bahkan ketika setiap situs memiliki opsi cadangan, harus mengembalikan semua kunci saat mendapatkan telepon baru adalah masalah besar.
Laurence Gonsalves
21

Titanium Backup (tautan ke Google play store) akan mencadangkan aplikasi Android apa pun, termasuk Google Authenticator. Namun, Anda harus me-root ponsel Anda agar ini menjadi opsi yang layak.

Saya juga merekomendasikan untuk mencetak kode cadangan Google. Ini tidak cukup mencadangkan aplikasi Google Authenticator, tetapi mereka akan memungkinkan Anda untuk mereset autentikator jika perlu. Ini hanya akan membantu untuk mendapatkan kembali akses ke akun Google Anda.

Mencadangkan aplikasi dengan Titanium Backup adalah opsi paling lengkap, menurut saya. Ini menyelamatkan saya pada beberapa kesempatan.

Josh
sumber
Harus puas dengan ini karena saya tidak bisa adb menarik direktori database, tidak bisa menyalin ke / sdcard dan mengambilnya - chmod 777 tidak melakukan apa-apa.
Lauri Elias
"Impor dari Google Authenticator" - Terjual! Fitur migrasi yang sangat penting.
Adambean
Layak disebutkan, agar tidak me-root ponsel baru. Setelah cadangan klik pada backup/restoretab -> pilih Authenticatoraplikasi -> geser ke kanan untuk special featurestab -> pilih Explore-> pilih di accountsbawah [DATABASE]. maka Anda akan mendapatkan semua akun di aplikasi Anda dalam file .csv. gunakan secretkolom untuk mengembalikan akun ke telepon baru.
Yan
19

Saya memiliki masalah yang sama persis.

Ternyata token asli (biasanya diwakili pengguna sebagai qrcodes) disimpan dalam database sqlite di dalam /data/data/com.google.android.apps.authenticator2/databases folder dan dapat diekstraksi dari perangkat.

Saya otomatis dan menjelaskan proses pemulihan di sini: https://github.com/dchapkine/extract-google-authenticator-credentials

Proyek ini mengekstrak token asli, lalu menghasilkan halaman web dengan qrcodes yang dapat Anda pindai ulang di perangkat baru.

Jangan ragu untuk berkontribusi.

dchapkine
sumber
1
Ini baru saja menyelamatkan saya masuk ke semua akun 2FA saya dan beralih telepon secara manual. Terimakasih banyak!
Kovah
Ini persis apa yang saya cari. Cara cepat dan mudah untuk memindai kembali semua kode QR.
Harvey
Terima kasih untuk ini tetapi perangkat saya tidak di-rooting. Apakah saya mengerti dengan benar bahwa saya memiliki situasi "Tangkap 22" di tangan saya di mana rooting perangkat saya akan menghapusnya?
urig
Cukup brilian. Tidak bekerja di Windows 10 Bash.
TranslucentCloud
@urig, tidak, rooting pada beberapa ponsel tidak serta merta menghapus data aplikasi.
TranslucentCloud
16

Cara termudah untuk mengatasinya adalah dengan mengambil tangkapan layar kode QR setiap kali Anda memasang Authenticator baru untuk sebuah situs dan menyimpannya di lokasi terenkripsi.

Jika Anda perlu menginstal ulang atau menambahkan Authenticator untuk situs itu ke telepon lain, cukup tambahkan akun di Authenticator dengan memindai kode QR pada tangkapan layar seperti seolah-olah Anda sedang menyiapkan situs baru.

Sebelum Anda negativoids mengatakan ini tidak akan berfungsi, ya itu berhasil, dan Anda BISA memiliki Authenticator yang sama di beberapa perangkat.

Thoralor
sumber
2
Saya ingin menjelaskan mengapa ini bekerja, baik situs web dan perangkat Anda akan berbagi serangkaian karakter sederhana, "kode", yang ditetapkan dalam kode QR, dan mereka akan menggunakannya tanpa henti untuk membuat kode 6 digit baru, berdasarkan tanggal dan waktu saat ini. Karena itu, Anda hanya perlu memiliki kode ini untuk menghasilkan kode baru. Situs web tidak memiliki cara untuk memeriksa siapa atau apa yang membuat kode 6 digit, hanya perlu benar.
Arie
15

Coba Authenticator Plus , ini mendukung fungsi backup / restore dengan sinkronisasi antar perangkat, jika Anda memiliki ponsel / tablet, aplikasi ini menyinkronkan semua akun di antara mereka dengan sempurna, bahkan mendukung pemakaian Android.

Ini juga memiliki dukungan logo Screenshot Authenticator Plus

Riyaz Mohammed Ibrahim
sumber
13
Atau Anda bisa menggunakan Authy ( authy.com ), yang gratis.
tutup
6
Authy terlihat mengagumkan ! Jauh lebih baik daripada google, kecuali itu bukan opensource . Saya bisa hidup dengannya.
cregox
17
Bukankah ini terdengar seperti ide yang buruk? Inti dari protokol pad sekali pakai berbasis waktu (TOTP alias rfc6238, yang merupakan authy / google authenticator, dkk implementasikan) adalah Anda dan hanya Anda yang memiliki kemampuan untuk menghasilkan kode. Jika Anda membiarkan beberapa pihak ke-3 menyimpan kode-kode itu, mereka menjadi target serangan yang besar, tidak pernah harus memercayai semua orang yang bekerja untuk layanan ini dan bagaimana mereka menerapkannya.
antiduh
1
@antiduh tentu saja masalah keamanan vs kegunaannya, jika Anda lebih mementingkan keamanan itu tidak ideal untuk Anda dan Anda harus benar-benar menjauh dari solusi perangkat lunak dan menggunakan solusi perangkat keras seperti yubikey
Riyaz Mohammed Ibrahim
7

Anda dapat menyimpan kode QR saat mengatur atau memperbarui 2FA Anda. Anda dapat menyimpan QR dengan membuat tangkapan layar. Atau menggunakan menu konteks 'simpan gambar sebagai' tetapi ini tidak selalu tersedia. (Pastikan untuk memberikan gambar nama yang sesuai dengan akun dan cadangan di lokasi yang aman). Untuk pemulihan, cukup pindai ulang kode QR di Google Authenticator.

AJW
sumber
4

Sebagai kata pengantar, ini adalah pendekatan untuk mengkonfigurasi MFA terlebih dahulu sehingga selalu didukung, tidak memulihkan atau membuat cadangan kode yang ada.

Saya baru saja melalui proses ini setelah Nexus 6P saya berhenti menghubungkan ke data dan saya harus mengatur semua MFA saya lagi pada Pixel. Saya menyadari bahwa jika saya kehilangan ponsel saya atau melakukan reset data pabrik saya akan benar-benar borked.

Solusi paling sederhana yang saya buat adalah dengan mengabaikan pengaturan berbasis kode QR dan gunakan saja pengaturan berbasis token itu sendiri (itu adalah opsi "manual" di sebagian besar aplikasi authenticator). Setiap layanan yang saya gunakan sejauh ini memungkinkan Anda untuk memilih pengaturan berbasis token daripada QR.

Alih-alih mengalami kesulitan mengambil screenshot dari kode QR, memberi label dengan tepat dan kemudian GPG mengenkripsi mereka dan menyimpannya dengan aman di suatu tempat, saya hanya menyimpan token dalam brankas terenkripsi dan mengatur MFA saya secara manual.

Saya memverifikasi bahwa Anda dapat mengatur klon dari authenticator menggunakan kunci yang sama pada perangkat independen yang berjalan secara bersamaan. Jadi, selama Anda mengontrol token dengan aman, Anda dapat mengonfigurasi MFA pada perangkat apa pun.

Saya puas dengan hasil ini karena saya tidak perlu melakukan apa pun selain mengkonfigurasi ulang MFA (saya harus tetap melakukan ini dalam keadaan saya) dan cukup menambahkan semua token ke lastpass. Sekarang saya tercakup dalam kasus kehilangan telepon dan dapat mengkonfigurasi perangkat lain jika perlu.

pengguna236774
sumber
2

Ada banyak saran untuk ponsel yang di-rooting. Tetapi tidak disarankan untuk me-rooting perangkat Anda jika Anda tidak ingin membuatnya rentan. Otentikasi dua faktor menyediakan lapisan perlindungan tambahan dan dengan rooting Anda membuatnya sia-sia karena virus yang berbeda bisa mendapatkan akses ke area memori yang dilindungi.

Hanya sejumlah kecil layanan yang menawarkan kode cadangan (terutama Google). Untuk layanan ini, Anda harus menyimpan kode cadangan.

Solusi terbaik adalah menyimpan kode QR (atau kunci rahasia) pada saat pendaftaran token dan menyimpannya di tempat yang aman. Kemudian jika Anda kehilangan ponsel, Anda dapat mengembalikan token di Google Authenticator pada perangkat baru Anda.

Anda juga dapat menggunakan token perangkat keras. Mereka bisa dalam bentuk kunci fob atau kartu kredit. Lihat artikel ini di blog Protectimus (perusahaan tempat saya bekerja) untuk mendapatkan informasi lebih lanjut tentang cara membuat cadangan Google Authenticator: Cara Membuat Cadangan Google Authenticator atau Transfer ke Telepon Baru .

* Pengungkapan : Saya bekerja untuk situs web yang ditautkan di atas.

Kristen
sumber
2
Selamat datang di Penggemar Android . Kami perhatikan bahwa Anda berafiliasi dengan tautan tersebut. Meskipun Anda telah menyatakan afiliasi Anda di profil Anda, mohon juga mengungkapkannya dalam jawaban Anda. Bacaan lebih lanjut: Bagaimana tidak menjadi spammer .
Andrew T.
@AndrewT. Selesai.
iBug
1

Metode berikut hanya akan bekerja pada perangkat Android yang di-rooting. Metode ini lebih berguna untuk orang yang tidak terlalu mengerti teknologi atau orang-orang seperti saya yang tidak ingin membuang waktu menginstal Android SDK + JDK dari awal hanya untuk menjalankan perintah adb.

Jadi begini:

  1. Unduh dan pasang aplikasi "Root explorer" apa pun dari Google Play store. Saya menggunakan explorer file FX yang populer dan gratis dengan addon akses root FX gratis. Anda juga bisa menggunakan orang lain. Aplikasi ini memungkinkan kita untuk mengakses sistem Android sebagai pengguna root.

  2. Setelah Anda membuka file explorer di System root> Klik "data" folder> Klik "data" folder (di dalam folder data lainnya)> Salin folder bernama com.google.android.apps.authenticator2> Keluar dari folder root Sistem> Buka ruang penyimpanan utama / penyimpanan SD dan Tempelkan Folder di sini.

  3. Hubungkan perangkat android Anda ke PC dan Cadangkan folder ke USB / HDD eksternal yang aman.

Itu dia. Sekarang, kapan pun Anda perlu menginstal ulang firmware / membeli telepon baru cukup ikuti langkah-langkah di atas dan salin folder itu ke direktori yang sama persis setelah Anda menginstal aplikasi Google Authenticator.

ATAU, Anda dapat menggunakan editor GUI SQLite Open source gratis seperti "SQLite Database Browser Portable" untuk membuka file "database" di dalam folder "com.google.android.apps.authenticator2". Di tab "Jelajah Data", Anda dapat melihat kunci dan nama yang terkait dengan kunci tersebut sehingga Anda dapat memasukkan kunci secara manual ke aplikasi Google Authenticator.

Pavin Joseph
sumber
@Izzy Mengedit bagian subjektif dan terima kasih atas bantuannya :) Metode ini hanya terlihat besar tetapi menghemat waktu paling banyak untuk orang normal yang tidak akan menjadi android devs. Saya benar-benar melihat utas ini sebelum menemukan solusi sendiri. Kode cadangan - tidak tersedia untuk sebagian besar layanan (hanya berfungsi di google). Authenticator Plus adalah aplikasi berbayar. Cadangan titanium dapat memiliki masalah kompatibilitas. Perintah tarik ADB mengharuskan Anda untuk menginstal Android SDK + JDK. Metode saya semudah menyalin folder dari copy-paste.
Pavin Joseph
Terima kasih untuk hasil editnya, Pavin! Atas komentar Anda, saya harus sebagian tidak setuju: Saya tidak pernah menginstal SDK + JDK, tetapi masih menggunakan banyak fitur ADB (terutama dengan alat saya sendiri " Adebar " untuk dokumentasi perangkat, skrip pencadangan / pengembalian dan banyak lagi ). Di Linux, saya hanya perlu adbdieksekusi untuk itu (pada Windows, dua .dllfile diperlukan tambahan). Untuk perincian, lihat Apakah ada instalasi minimal ADB?
Izzy
PS: Pernah ada masalah izin? Menyalin direktori data suatu aplikasi secara manual ke perangkat lain mungkin memunculkannya. Ingat, untuk mengakses file dengan benar, izin dan kepemilikan harus cocok. Pada instalasi, setiap aplikasi diberi pasangan UID / GID yang unik. Izin file memiliki tanda untuk pemilik / grup / orang lain. Biasanya, data aplikasi maksimal -rw-rw--(pemilik dan grup membaca / menulis, yang lain tidak ada). Jadi, jika ada ketidaksesuaian dalam kepemilikan, Anda mungkin dalam masalah (dan aplikasi mungkin berperilaku tidak pantas).
Izzy
Ya, itu berfungsi sebagian besar waktu. Tetapi jika tidak, Anda dapat menggunakan editor SQLite apa saja untuk membuka dan melihat kunci rahasia dari file database; kemudian lanjutkan untuk menambahkan akun di Google Authenticator menggunakan kunci.
Pavin Joseph
Ah. Solusi yang lebih baik: Jika tidak berhasil, periksa dan sesuaikan izin. Sebelum menimpa /data/data/com.google.android.apps.authenticator2, lakukan ls -ldi atasnya dan periksa kepemilikan / izin. Setelah menyalin, gunakan chowndan chmoduntuk memperbaikinya kembali.
Izzy
1

Pada ponsel yang di-root, Anda dapat menggunakan manajer file "Amaze" ( https://play.google.com/store/apps/details?id=com.amaze.filemanager&hl=id ). Buka direktori root /data/data/com.google.android.apps.authenticator2/database. Buka file basis data sebagai basis data. Pilih akun. Anda akan memiliki 3 kolom _id, email, dan rahasia. Salin nilai "rahasia". Ketika Anda perlu mengembalikan cukup tambahkan, pilih "Masukkan kunci yang disediakan", berikan nama dan tempelkan nilainya.

Josh
sumber
0

Seperti yang saya alami sama beberapa waktu sebelumnya. Ketika Anda akan masuk ke akun Anda, Anda akan mendapatkan halaman untuk kunci untuk memasukkan kode 6 digit. Di tempat ini Anda dapat mengubah kunci kedua dan memasukkan nomor telepon jika Anda sudah memiliki nomor yang diverifikasi. Dan untuk cadangan lainnya, Anda dapat memilih komputer lain yang tepercaya. Jadi, mereka tidak akan meminta kode langkah kedua di komputer itu.

Vivek Ji
sumber
0

Berikut ini tautan ke skrip Python sederhana di situs web saya: http://usefree.com.ua/google-authenticator-backup/

Anda cukup menempelkan kode Anda dan menjalankannya di lingkungan Python.

Bagaimana itu bekerja:

Selama pengaturan dan mengkonfigurasi otentikasi dua faktor dengan Google Authenticator, adalah mungkin tidak hanya untuk memindai QR-code, tetapi mendapatkan kode, misalnya, untuk Google Mail kita mendapatkan: csnji4rfndisoh323fdsioah3u2iodso. Untuk menghasilkan TOTP di komputer Anda dengan Python IDLE Anda dapat mendefinisikan fungsi ini:

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

Masukkan ke dalam garis

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

kode Anda, bukan "csnji4rfndisoh323fdsioah3u2iodso"

batalkan komentar, dan hubungi IDLE

totpgen ()

Anda akan mendapatkan TOTP Anda!) Untuk layanan btc-e coba gunakan jalur

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

Untuk layanan lain - seperti dijelaskan di atas.

usefree
sumber
2
Bisakah Anda memasukkan kode yang relevan dan menjelaskan cara menggunakannya? (mis. apa yang dilakukan kode ini? Tempel kode "apa" & dari mana? Tidak semua orang mengerti bahasa Rusia). Jawaban hanya tautan tidak disarankan, karena jika tautan membusuk, maka tidak ada lagi yang berguna. (Juga, pengungkapan diperlukan jika Anda ingin mempromosikan blog Anda. Kalau tidak, itu bisa dianggap sebagai promosi alias spam murni).
Andrew T.
1
Harap jangan menjadi spammer , dan sertakan penyebutan yang jelas dan jelas bahwa itu adalah situs Anda, di sebelah tautan itu sendiri.
Nic Hartley