Як створити резервну копію Google Authenticator?


130

Зараз я починаю використовувати Google Authenticator для дедалі більшої кількості речей, але я просто зрозумів, що якщо я втрачу телефон або мені потрібно стерти його та відновити його для встановлення нової прошивки, я втрачу всі свої коди.

Чи є в будь-якому випадку їх резервне копіювання? Або якийсь запасний варіант, який означає, що я можу відновити його на новому пристрої?

Дякую


2
Я не розумію ... Код потрібно використовувати лише один раз, вони не зберігаються ніде на вашому телефоні, якщо вам потрібно ввести код на сайті, ви повинні використовувати новий код, навіть якщо ви вже розмістити його на цьому сайті деякий час тому.
Маттьє Харле

1
Дякую, але, як я розумію, якщо я зараз втрачу телефон, я навіть не зможу увійти на сайт, не кажучи вже про встановлення нового коду аутентифікатора Google
Nick

5
Якщо вам потрібен код для входу під час втрати телефону, ви можете скористатися одним із методів резервного копіювання (SMS, дзвінок, друковані коди ...). Настійно рекомендується встановити хоча б один із цих альтернативних методів для подолання подібної ситуації :)
Matthieu Harlé

3
Я завжди хотів розпрощати Google Authenticator, щоб додати цю функцію. Я сподіваюся, що хтось це зробить до того, як я встигну.
Михайло Кропат

5
@Shywim Google Authenticator - це не лише облікові записи Google. Є багато інших сервісів, які не мають резервних кодів та SMS тощо.
Кріс Харрісон

Відповіді:


84

Наступний метод буде працювати лише з укоріненими пристроями Android.

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

Зауважте, що папка на ПК вже має існувати.

Це скопіює файли бази даних аутентифікатора з основними клавішами, з яких створюються одноразові паролі, на ПК. Потім файл можна відновити в тому самому місці, на пристроях Android, або прочитати за допомогою переглядача бази даних sqlite, щоб дістати ключі.


10
Копіюючи на новий пристрій, переконайтеся, що в обох databasesпапках та databasesфайлах є 755 дозволів. Я спробував 700, і GA продовжував збої. Вигляд щодо того, що він вимагає повних дозволів. Можливо, це вимога АНБ.
eduncan911

12
Потрібно, adb rootперш ніж це зробити, інакше ви отримаєтеremote object '/data/data/com.google.android.apps.authenticator2/databases' does not exist
Саймон Вудсайд

3
Зауважте, що якщо у вас включений SELinux, навіть при правильному дозволі біт додаток Authenticator може вийти з ладу. Щоб виправити це, запустіть restorecon -F /data/data/com.google.android.apps.authenticator2/databases/databasesпісля того, як ви повернете файл бази даних. ( джерело )
Хай Чжан

@ eduncan911 660 працює для мене
deed02392

Укорінення вашого пристрою робить його менш безпечним . Якщо ви використовуєте 2FA, то, мабуть, ви хочете отримати більшу безпеку. Для ризиків: owasp.org/index.php/Projects/…
Simon Woodside

26

Вам не потрібно створювати резервні копії програми / даних Google Authenticator, оскільки ви можете створити список "Резервні коди", які можна використовувати для входу, не вимагаючи код автентифікації на тій самій сторінці, на якій налаштовано двоетапну автентифікацію.

Навіщо друкувати чи завантажувати резервні коди?

Резервні коди особливо корисні людям, які подорожують, мають проблеми з отриманням SMS або голосових дзвінків або не можуть використовувати мобільний додаток Google Authenticator.

Рекомендація: Ви повинні надрукувати або завантажити резервні коди

Зберігайте їх у безпечному місці (або роздруковуйте їх), і якщо ви втратите телефон, ви можете скористатися одним із цих кодів для входу в обліковий запис та налаштування нового пристрою за допомогою програми Authenticator.

Хоча це стосується і двоетапної автентифікації Google, будь-які інші сайти, налаштовані на використання програми Google Authenticator, повинні запропонувати аналогічну опцію або інший спосіб отримання кодів (наприклад, Facebook підтримує Google Authenticator, власне додаток та sms як методи для отримувати коди).


3
Для сайтів, які не пропонують його, я б сказав, що ваш єдиний варіант - використовувати надійний унікальний пароль без двоетапної автентифікації. З-за інтересу, які сайти не пропонують резервну копію? Dropbox, Facebook, LastPass, Wordpress - це інші сайти, з якими я використовую двоетапну аутентифікацію.
bmdixon

18
@Nick: Збереження QR - коду , які надають Google або інші сайти і додавати їх назад в Authenticator на іншому пристрої робить роботу. Я робив це кілька разів сам. Однак ви повинні переконатися, що на обох пристроях час є правильним і постійно оновлюється (якщо ви збираєтесь продовжувати використовувати обидва), інакше автентифікація може не вдатися.
Андріс

7
Двофакторний «одноразовий» пароль генерується з двома речами: поточним часом та секретом, що ділиться між сервером та додатком під час ініціалізації. У вашому випадку секрет - QR-код. Поки інший екземпляр програми автентифікатора розділяє один і той же секрет і той самий час (той же кадр 30-х років), обидва додатки будуть генерувати однакові паролі.
Марк Плано-Лесей

2
Можливо, ви все ще хочете створити резервну копію, коли ви збираєтеся скинути телефон, тому вам не доведеться витрачати годину на кожен сайт, для якого ви використовуєте автентифікатор, вводячи резервний код і скидаючи налаштування автентифікатора.
pupeno

4
Це справедливо лише для двоетапної аутентифікації Google. Google автентифікатор працює з багатьма іншими сайтами, а деякі не мають способу створити список резервних кодів. Деякі використовують SMS, деякі дають вам єдиний резервний код одноразового використання, а деякі взагалі не мають жодної опції резервного копіювання. Навіть коли на кожному веб-сайті є можливість резервного копіювання, необхідність відновлення всіх безлічі клавіш при отриманні нового телефону - це величезна проблема.
Лоранс Гонсальвс

21

Titanium Backup (посилання на ігровий магазин Google) створить резервну копію будь-якої програми для Android, включаючи Google Authenticator. Однак ви маєте викорінити свій телефон, щоб це стало життєздатним варіантом.

Я також рекомендую надрукувати резервні коди Google. Це не зовсім резервне копіювання програми Google Authenticator, але вони дозволять вам скинути автентифікатор, якщо це необхідно. Це допоможе лише відновити доступ до вашого облікового запису Google.

Резервне копіювання програми за допомогою Titanium Backup - це найповніший варіант, на мою думку. Це рятувало мене рятування.


Довелося вирішити це, тому що я не міг adb тягнути каталог баз даних, не зміг скопіювати в / sdcard і взяти його - chmod 777 нічого не зробив.
Lauri Elias

"Імпорт з Google Authenticator" - Продається! Дуже важлива особливість міграції.
Адамбей

Варто згадати, щоб не перезавантажувати новий телефон. Після резервного копіювання натисніть на backup/restoreвкладку -> виберіть Authenticatorдодаток -> пересуньте праворуч на special featuresвкладку -> виберіть Explore-> виберіть accountsпід [DATABASE]. то ви отримаєте весь обліковий запис у вашому додатку у файлі .csv. використовуйте secretстовпець для відновлення облікових записів на новому телефоні.
Ян

19

У мене була точно така ж проблема.

Виявляється, оригінальні маркери (зазвичай представлені користувачеві як qrcodes) зберігаються в базі даних sqlite всередині папки /data/data/com.google.android.apps.authenticator2/databases і можуть бути вилучені з пристрою.

Я автоматизував і пояснив процес відновлення тут: https://github.com/dchapkine/extract-google-authenticator-credentials

Цей проект витягує оригінальні маркери, а потім генерує веб-сторінку з qrcodes, яку можна повторно переглядати на новому пристрої.

Не соромтеся робити внесок.


1
Це просто врятувало мене ввійти у всі мої акаунти 2FA та переключити телефон вручну. Дуже дякую!
Кова

Це саме те, що я шукав. Швидкий і простий спосіб повторного сканування всіх QR-кодів.
Харві

Дякую за це, але мій пристрій не вкорінюється. Чи правильно я розумію, що у мене на руках ситуація "Catch 22", коли вкорінення мого пристрою видалить його?
уріг

Просто геніально. Однак не працював на Windows 10 Bash.
TranslucentCloud

@urig, ні, вкорінення деяких телефонів не обов'язково буде видаляти дані додатків.
TranslucentCloud

16

Найпростіший спосіб впоратися з цим - зробити знімок екрана QR-коду кожного разу, коли ви встановлюєте новий Authenticator для сайту та зберігаєте його в зашифрованому місці.

Якщо вам потрібно перевстановити або додати Authenticator для цього сайту на інший телефон, просто додайте обліковий запис в Authenticator, сканувавши QR-код на скріншоті так само, як якщо б ви створювали новий сайт.

Перш ніж ви скажете негативоїди, це не спрацює, так, і це МОЖЕ мати один і той же Аутентифікатор на кількох пристроях.


2
Я хотів би пояснити, чому це працює, і веб-сайт, і ваш пристрій поділяться простим рядком символів "кодом", встановленим у QR-коді, і вони нескінченно використовуватимуть його для створення нових шестизначних кодів на основі поточну дату та час. Тому вам потрібно мати цей код лише для створення нових кодів. На веб-сайті немає можливості перевірити, хто чи що створив 6-значний код, він повинен бути лише правильним.
Ар'є

15

Спробуйте Authenticator Plus , він підтримує функцію резервного копіювання / відновлення синхронізації на різних пристроях, якщо у вас є телефон / планшет, ця програма синхронізує всі рахунки між ними бездоганно, навіть підтримує зношення Android.

Він також має підтримку логотипів Знімок екрана аутентифікатора


13
Або ви можете використовувати Authy ( authy.com ), який є безкоштовним.
кришка

5
Ауті виглядає приголомшливо ! Набагато краще, ніж Google, за винятком того, що це не OpenSource . Я можу з цим жити.
Крегокс

17
Це не здається поганою ідеєю? Вся суть протоколу одноразового прокладки на основі часу (TOTP aka rfc6238, який застосовують authy / google автентифікатор та ін.) Полягає в тому, що ви і тільки у вас є можливість генерувати коди. Якщо ви дозволите, щоб якісь сторонні магазини зберігали ці коди, вони стають величезною ціллю для атак, ніколи не варто довіряти всім, хто працює на цій службі, і тому, як вони її застосували.
antiduh

1
@antiduh, звичайно, питання безпеки та зручності використання, якщо ви більше переймаєтесь безпекою, вона не ідеальна для вас, і вам слід фактично відійти від програмних рішень і використовувати апаратні рішення, такі як yubikey
Ріяз Мохаммед Ібрагім

7

Ви можете зберегти QR-коди під час налаштування чи поновлення 2FA. Можна зберегти QR, зробивши скріншот. Або використовуючи контекстне меню "Зберегти зображення як", але це не завжди доступно. (Обов’язково введіть зображення відповідному імені з обліковим записом та резервною копією у захищеному місці). Для відновлення просто скануйте QR-коди в Google Authenticator.


4

Як передмова, це підхід до конфігурації MFA достроково, щоб він завжди створювався резервним копієм, а не відновленням чи резервним копієм існуючих кодів.

Я щойно пройшов цей процес після того, як мій Nexus 6P припинив з'єднання з даними, і мені довелося знову встановити всі свої MFA на Pixel. Я зрозумів, що якби я втратив телефон або скинув заводські дані, я був би повністю пошкоджений.

Найпростіше рішення, яке я придумав - ігнорувати налаштування на основі QR-коду та просто використовувати саму настройку на основі лексеми (це варіант "вручну" в більшості програм автентифікатора). Кожна послуга, яку я використовував до цього часу, дозволяє вам вибрати налаштування на основі лексем, а не QR.

Замість того, щоб переживати неприємності робити знімки екрана QR-кодів, маркувати їх відповідним чином, а потім GPG шифрувати їх та надійно зберігати їх десь, я просто зберігаю жетони у зашифрованому сховищі та налаштовую свій МЗС вручну.

Я переконався, що ви можете налаштувати клони аутентифікатора, використовуючи той самий ключ на незалежних пристроях, що працюють одночасно. Таким чином, поки ви надійно керуєте маркерами, ви можете налаштувати MFA на будь-якому пристрої.

Я задоволений цим результатом, оскільки мені не довелося робити нічого більше, ніж перенастроювати МЗС (мені це все одно довелося робити за моїх обставин) і просто додавати всі жетони, щоб пропустити. Тепер я охоплений випадком втрати телефону і можу налаштувати інші пристрої, якщо це буде потрібно.


2

Є багато порад щодо вкорінених телефонів. Але не рекомендується викорінювати пристрій, якщо ви не хочете зробити його вразливим. Двофакторна аутентифікація забезпечує додатковий рівень захисту, а вкорінення ви зведете нанівець, оскільки різні віруси можуть отримати доступ до захищених областей пам'яті.

Лише невелика кількість послуг пропонує резервні коди (зокрема, Google). Для цих служб слід зберігати резервні коди.

Найкраще рішення - зберегти QR-коди (або секретні ключі) в момент реєстрації жетонів і тримати їх у якомусь безпечному місці. Тоді, якщо ви втратите телефон, ви зможете відновити жетони в Google Authenticator на новому пристрої.

Також можна використовувати апаратні жетони. Вони можуть бути у вигляді брелока або кредитної картки. Перегляньте цю статтю в блозі Protectimus (компанії, де я працюю), щоб отримати додаткову інформацію про резервну копію Google Authenticator: як створити резервну копію Google Authenticator або перенести її на новий телефон .

* Розголошення : Я працюю на веб-сайті, пов'язаному вище.


2
Ласкаво просимо до ентузіастів Android . Ми помітили, що ви пов’язані із згаданим посиланням. Навіть якщо ви заявили про свій зв'язок у вашому профілі, будь ласка , також розкрити його в своїй відповіді. Подальше читання: Як не бути спамером .
Андрій Т.

@AndrewT. Зроблено.
iBug

1

Наступний спосіб працюватиме лише на вкорінених Android-пристроях. Цей метод є більш корисним для не надто технічних кмітливих людей або таких людей, як я>, які не хочуть витрачати час на встановлення Android SDK + JDK з нуля, просто щоб запустити команду adb.

Отже ось це:

  1. Завантажте та встановіть будь-яку програму "Root explorer" з магазину Google Play. Я використовую популярний і безкоштовний провідник файлів FX з його безкоштовним додатком кореневого доступу FX. Ви можете використовувати й інших. Ця програма дозволяє нам отримати доступ до системи Android як користувач root.

  2. Як тільки ви відкриєте провідник файлів у системному корені> Клацніть папку "дані"> Клацніть папку "дані" (всередині іншої папки даних)> Скопіюйте папку з назвою com.google.android.apps.authenticator2> Вихід із кореневої папки системи> Відкрийте звичайний простір основного зберігання / SD та вставте Тут папка.

  3. Підключіть свій Android-пристрій до ПК та створіть резервну копію папки на захищеному USB / зовнішньому жорсткому диску.

Це воно. Тепер, коли вам потрібно перевстановити мікропрограмне забезпечення / придбати новий телефон, просто виконайте вказані вище дії та скопіюйте цю папку в той самий каталог, як тільки ви встановите додаток Google Authenticator.

АБО ви можете використовувати безкоштовний редактор графічного інтерфейсу з відкритим кодом SQLite типу "Портативний браузер бази даних SQLite", щоб відкрити файл "баз даних" всередині папки "com.google.android.apps.authenticator2". На вкладці "Огляд даних" ви можете побачити ключ і ім'я, відповідні клавіші, щоб ви могли вручну ввести ключ у програму Google Authenticator.


@Izzy Відредагував суб'єктивну частину і дякую за допомогу :) Метод просто виглядає великим, але це найбільше економію часу для нормальних людей, які не були б андроїдними розробниками. Я насправді переглянув цю тему, перш ніж самостійно знайти рішення. Резервні коди - недоступні для більшості сервісів (працює лише в google). Authenticator Plus - це платний додаток. Резервне копіювання титану може мати проблеми сумісності. Команда ADB pull потребує встановлення Android SDK + JDK. Мій метод настільки ж "простий", як копіювання папки.
Павін Йосиф

Дякую за редагування, Павіне! Що стосується вашого коментаря, я частково не погоджуюся: я ніколи не встановлював SDK + JDK, але все ще використовую купу функцій ADB (особливо за допомогою мого власного інструменту " Adebar " для документації на пристрої, сценарії резервного копіювання / відновлення тощо). ). В Linux мені для цього просто потрібний adbвиконуваний файл (у Windows .dllдодатково потрібні два файли). Детальніше див. Чи є мінімальна установка ADB?
Іззі

PS: Чи були якісь проблеми з дозволом? Копіювання каталогу даних програми вручну на інший пристрій може спричинити таке. Пам'ятайте, що для правильного доступу до файлів права доступу та права власності повинні відповідати. Після встановлення кожному додатку призначається унікальна пара UID / GID. У дозволах на файли є прапори для власника / групи / інших. Зазвичай дані програми мають максимум -rw-rw--(власник і група читають / пишуть, інші нічого). Тож якщо у власності є невідповідність, ви можете виникнути проблеми (і додаток може погано поводитись).
Izzy

Так, це працює більшу частину часу. Але якщо це не так, ви можете використовувати будь-який редактор SQLite для відкриття та перегляду секретного ключа з файлу баз даних; потім перейдіть до додавання облікового запису в Google Authenticator за допомогою ключа.
Павін Йосиф

Ага. Краще рішення: якщо воно не працює, перевірте та відрегулюйте дозволи. Перш ніж перезаписати /data/data/com.google.android.apps.authenticator2, зробіть ls -lце і перевірте право власності / дозволи. Після копіювання використовуйте chownта chmodвиправляйте його назад.
Іззі

1

На вкоріненому телефоні ви можете використовувати диспетчер файлів "Amaze" ( https://play.google.com/store/apps/details?id=com.amaze.filemanager&hl=uk ). Перейдіть до кореневої /data/data/com.google.android.apps.authenticator2/database каталогу. Відкрийте файл бази даних як базу даних. Виберіть облікові записи. У вас буде три стовпці _id, електронна пошта та секрет. Скопіюйте значення "секрет". Коли вам потрібно відновити просто додавання, виберіть "Введіть наданий ключ", дайте ім'я та вставте значення.


0

Як я пережив те саме за деякий час до цього. Коли ви будете входити у свій обліковий запис, ви отримаєте сторінку за ключем, щоб ввести 6-значний код. У цьому місці ви можете змінити другий ключ і отримати номер телефону, якщо у вас будь-який номер вже підтверджений. А для додаткового резервного копіювання можна вибрати інші комп’ютери як надійні. Отже, вони не запитують код другого кроку на цих комп’ютерах.


0

Ось посилання на простий скрипт Python на моєму веб-сайті: http://usefree.com.ua/google-authenticator-backup/

Ви просто вставте свій код і запустіть їх у середовищі Python.

Як це працює:

При установці і настройці двухфакторной перевірки автентичності з допомогою Google Authenticator, можна не тільки сканувати QR-код, але отримати код, наприклад, для Google Mail ми отримуємо: csnji4rfndisoh323fdsioah3u2iodso. Для генерації TOTP на вашому комп'ютері за допомогою Python IDLE ви можете визначити цю функцію:

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

Вставити в рядок

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

ваш код замість "csnji4rfndisoh323fdsioah3u2iodso"

лінії коментування та дзвінок у IDLE

totpgen ()

Ви отримаєте свій TOTP!) Для сервісу btc-e спробуйте використовувати рядок

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

Для інших послуг - як описано вище.


2
Чи можете ви включити відповідний код і пояснити, як ним користуватися? (наприклад, що робить цей код? Вставте код "що" і звідки? Не всі розуміють російську мову). Відповідь лише на посилання відбивається, оскільки якщо посилання гниє, то нічого корисного не залишається. (Також розголошення потрібно, якщо ви маєте намір просувати свій блог. В іншому випадку це може сприйматись як суто рекламний спам).
Андрій Т.

1
Будь ласка , то не будьте спамер , і включають в себе ясне, очевидне згадка , що це ваш сайт, поруч з самого посилання.
Нік Хартлі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.