Как работает google authenticator без интернета

Обновлено: 01.05.2024

Почему SMS — не лучший выбор для двухфакторной аутентификации, и какие существуют альтернативы.

18 октября 2018

За последние пару лет идея двухфакторной аутентификации, о которой так долго говорили гики, сильно продвинулась в массы. Однако до сих пор в большинстве случаев речь идет о двухфакторной аутентификации при помощи одноразовых паролей, приходящих в SMS. А это, к сожалению, не очень-то надежный вариант. Вот что может пойти не так:

  • Пароль в SMS можно подсмотреть, если у вас включен показ уведомлений на экране блокировки.
  • Даже если показ уведомлений отключен, можно извлечь SIM-карту из смартфона, установить в другой смартфон и принять SMS с паролем.
  • SMS с паролем может перехватить пробравшийся в смартфон троян.
  • Также с помощью различных махинаций (убеждение, подкуп, сговор и так далее) можно заполучить новую SIM-карту с номером жертвы в салоне сотовой связи. Тогда SMS будут приходить на эту карту, а телефон жертвы просто не будет связываться с сетью.
  • Наконец, SMS с паролем может быть перехвачена через фундаментальную уязвимость в протоколе SS7, по которому эти SMS передаются.

Надо заметить, что даже самый трудоемкий и высокотехнологичный из перечисленных методов перехвата пароля в SMS — с помощью взлома протокола SS7 — уже был использован на практике. Так что речь не о теоретической возможности возникновения неприятностей, а о вполне практической угрозе.

В общем, пароли в SMS — это не очень-то безопасно, а иногда даже и очень небезопасно. Поэтому есть смысл озаботиться поиском альтернативных вариантов двухэтапной аутентификации, о чем мы сегодня и поговорим.

Как устранить распространенные проблемы

Если код оказался некорректным, убедитесь, что:

  • Вы указали код до того, как срок его действия истек.
  • Время на устройстве соответствует вашему часовому поясу.

Если устранить проблему не удалось, синхронизируйте свое устройство Android. Для этого выполните следующие действия:

Как работает TOTP?

Временный одноразовый пароль, в основном популяризованный приложением Google Authenticator, подтверждает вашу личность на основании общего секрета. Этот секрет дложен быть известен вам и вашему провайдеру.

Когда вы заходите на веб-cайт под своей учеткой, ваше устройство генерирует уникальный код, основываясь на общем секрете и текущем времени. Затем вам нужно вручную ввести этот код. Сервер генерирует точно такую-же штуку, основанную на том-же секрете, чтобы успешно сравнить и подтвердить запрос на авторизацию.

pic_two

Обе стороны генерируют одинаковый хеш, из одинаковых исходных данных, делясь секретом в момент регистрации.

Выгоды U2F:

1. Через Интернет никогда не пересылается секрет (приватный ключ)

Никакая конфиденциальная информация не будет опубликована, благодаря криптографии публичного ключа.

2. Легче использовать. Нет нужды применять одноразовые коды.

3. Приватность. С секретом не ассоциируется никакая персональная информация.

4. Бекап теоретически легче. Однако, не всегда возможен; например, вы не сможете бекапить Yubikey.

Так как, в случае использования U2F, нет разделяемого двумя сторонами секрета и нет конфиденциальных баз данных, хранимых провайдером, хакер не может просто украсть все базы и получить доступ. Вместо того, он должен охотиться на отдельных пользователей, а это намного более затратно по финансам и времени.

Более того, вы можете забекапить ваш секрет (приватный ключ). С одной стороны, это делает вас ответственным за вашу же безопасность, но с другой – вам больше не нужно доверять какой-то компании, чтобы защитить ваши секреты (приватные ключи).

Купи TREZOR, будь биткойнером.

Что вам понадобится

Чтобы использовать приложение Google Authenticator на устройстве Android, необходимо следующее:

  • Android 4.4 или более поздняя версия ОС;
  • включенная двухэтапная аутентификация.

Как использовать Google Authenticator с несколькими устройствами и аккаунтами

Приложение Google Authenticator, установленное на одном устройстве, может генерировать коды сразу для нескольких аккаунтов Google. Каждому аккаунту должен соответствовать отдельный секретный ключ.

Чтобы настроить дополнительные аккаунты, выполните следующие действия:

  1. Включите двухэтапную аутентификацию для каждого из аккаунтов.
  2. Используйте то же приложение Google Authenticator.

Чтобы коды подтверждения генерировались сразу на нескольких устройствах, выполните следующие действия:

Почему вам больше никогда не стоит использовать Google Authenticator

никогда не используйте Google Auth

Использование только паролей, в общем – плохая идея, мы выяснили это с тех пор, как появился Интернет. Мы осуществляем прогресс, двигаясь к миру без паролей, но в то же время, многие веб-сайты предлагают дополнительную защиту пользовательских аккаунтов с помощью Двух-Факторной Аутентификации (2FA).

В общем и целом, существует 2 типа такой аутентификации: Временный одноразовый пароль (TOTP) а также Универсальный Двух-Фактор (U2F). Вы можете быть уже знакомы с первым типом, поскольку он используется наиболее часто: во время логина, предлагается ввести одноразовый пароль, генерируемый вашим приложением на смартфоне, отдельным аппаратным устройством, или же присылаемый в СМС. Метод прост, но есть несколько простых способов, делающих его опасным.

pic_one

Я видел предупреждения типа “мой телефон взломали” от трёх людей из Кремниевой Долины/Биткойн среды/венчурной тусни. Будьте на чеку, и включите 2FA.

Одноразовые коды в файле или на бумажке

Работает это очень просто: по запросу сервис генерирует и показывает на экране десяток одноразовых кодов, которые в дальнейшем могут быть использованы для подтверждения входа в него. Дальше вы просто распечатываете или переписываете эти коды на бумагу и кладете в сейф. Или, что еще проще, сохраняете в зашифрованных записях в менеджере паролей.

В общем, не так важно, будете ли вы хранить эти коды на теплой ламповой бумаге или в бездушном цифровом виде — важно сохранить их так, чтобы они а) не потерялись и б) не могли быть украдены.

Что же выбрать: SMS, приложение или YubiKey?

Так или иначе, главный совет — по возможности избегать использования одноразовых паролей в SMS. Правда, получится это не всегда: например, финансовые сервисы в силу своей консервативности продолжают использовать SMS и крайне редко позволяют пользоваться чем-либо еще.

В чём неадекватность TOTP?

Метод весьма прост в использовании, однако, он не лишён нескольких уязвимостей и неудобств.

1. Вам необходимо вручную вводить код во время авторизации (логина)

2. Слишком громоздкий бэкап. Вам необходимо совершать много шагов, чтобы сделать бэкап секрета. Кроме того, хорошие сервисы обычно предоставляют резервные коды, вместо того, чтобы явным образом призывать сохранять секрет. Если вы потеряете ваш секрет, и логин вместе с резервным кодом, вам придётся выполнить весь процесс регистрации TOTP заново.

3. Коды бекапа высылаются через Интернет, что совершенно небезопасно.

4. У вас и провайдера один и тот же секрет. Если атакующий хакнет компанию и получит доступ и к базе паролей, и к базе секретов, он сможет проникать в любой аккаунт совершенно незаметно.

5. Секрет показывается простым текстом или QR-кодом. Он не может быть представлен в виде хеша. Это также означает, что скорее всего секрет хранится в виде текстового файла, на серверах провайдера.

6. Секрет может быть раскрыт во время регистрации, так как провайдеру необходимо выдать вам сгенерированный секрет. Используя TOTP, вам нужно верить в способность провайдеров защитить приватность секрета. Но можете ли вы верить?

Что делать, если вы потеряли телефон с приложением-аутентификатором

Потеряли телефон с приложением-аутентификатором и не можете войти в аккаунт? Рассказываем, какие у вас есть варианты.

15 сентября 2021

Для защиты аккаунтов очень важна двухфакторная аутентификация: если утек пароль — а утекают они регулярно, — второй фактор помешает злоумышленникам взломать аккаунт. Один из удобных способов двухфакторной аутентификации — при помощи специального приложения, генерирующего одноразовые коды, вроде Google Authenticator и его аналогов. Но рано или поздно у многих пользователей возникает вопрос: что делать, если телефон с приложением-аутентификатором потерян/разбит/забыт/украден? Рассказываем, какие есть варианты.

Как скачать Google Authenticator

Приложения для двухфакторной аутентификации

У единожды сгенерированного набора одноразовых кодов есть один недостаток: рано или поздно он закончится, и вполне может так получиться, что вы останетесь без кода в самый неподходящий момент. Поэтому есть способ лучше: можно генерировать одноразовые коды на лету с помощью небольшого и, как правило, очень простого приложения — аутентификатора.

Как работают приложения-аутентификаторы

Работают приложения для двухфакторной аутентификации очень просто. Вот что придется сделать:

  • устанавливаете на смартфон приложение для двухфакторной аутентификации;
  • заходите в настройки безопасности сервиса, который среди опций для двухфакторной аутентификации предлагает использовать такие приложения;
  • выбираете двухфакторную аутентификацию с помощью приложения;
  • сервис покажет вам QR-код, который можно отсканировать прямо в 2FA-приложении;
  • сканируете код приложением — и оно начинает каждые 30 секунд создавать новый одноразовый код.

Как зарегистрировать приложение-аутентификатор в Facebook

Коды создаются на основе ключа, который известен только вам и серверу, а также текущего времени, округленного до 30 секунд. Поскольку обе составляющие одинаковы и у вас, и у сервиса, коды генерируются синхронно. Этот алгоритм называется OATH TOTP (Time-based One-time Password), и в подавляющем большинстве случаев используется именно он.

Также существует альтернатива — алгоритм OATH HOTP (HMAC-based One-time Password). В нем вместо текущего времени используется счетчик, увеличивающийся на 1 при каждом новом созданном коде. Но этот алгоритм редко встречается в реальности, поскольку при его использовании гораздо сложнее обеспечить синхронное создание кодов на стороне сервиса и приложения. Проще говоря, есть немалый риск, что в один не очень прекрасный момент счетчик собьется и ваш одноразовый пароль не сработает.

Так что можно считать OATH TOTP де-факто индустриальным стандартом (хотя формально это даже не стандарт, на чем создатели этого алгоритма очень настаивают в его описании).

Совместимость приложений для двухфакторной аутентификации и сервисов

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

Как и в любом добротном правиле, в этом тоже есть определенное количество исключений. Некоторые сервисы по каким-то причинам, ведомым только им одним, предпочитают делать свои собственные приложения для двухфакторной аутентификации, которые работают только с ними. Более того, сами сервисы не работают ни с какими другими приложениями, кроме своих собственных.

Особенно это распространено среди крупных издателей компьютерных игр — например, существуют несовместимые со сторонними сервисами приложения Blizzard Authenticator, Steam Mobile с встроенным аутентификатором Steam Guard, Wargaming Auth и так далее. Для этих сервисов придется ставить именно эти приложения.

Также по этому странному пути пошла Adobe, разработавшая Adobe Authenticator, который работает только с аккаунтами AdobeID. Но при этом вы можете использовать для защиты AdobeID и другие аутентификаторы, так что вообще непонятно, ради чего было городить огород.

Поэтому просто выбирайте приложение-аутентификатор, которое вам больше нравится по набору дополнительных функций — оно будет работать с большинством сервисов, которые вообще поддерживают 2FA-приложения.

Лучшие приложения для двухфакторной аутентификации

Несмотря на то что базовая функция у всех этих приложений одна и та же — создание одноразовых кодов по одному и тому же алгоритму, некоторые аутентификаторы обладают дополнительными функциями или особенностями интерфейса, которые могут показаться вам удобными. Перечислим несколько самых интересных вариантов.

1. Google Authenticator

Поддерживаемые платформы: Android, iOS

Как отмечают буквально все публикации, Google Authenticator — это самое простое в использовании из всех существующих приложений для двухфакторной аутентификации. У него даже настроек нет. Все, что можно сделать, — это добавить новый токен (так называется генератор кодов для отдельного аккаунта) или удалить один из имеющихся. А чтобы скопировать код в буфер обмена, достаточно коснуться его пальцем на сенсорном экране смартфона или планшета. Все!

Однако у такой простоты есть и недостаток: если вам что-то не нравится в интерфейсе или хочется от аутентификатора чего-то большего — придется устанавливать другое приложение.

+ Очень просто использовать.

2. Duo Mobile

Поддерживаемые платформы: Android, iOS

Duo Mobile также крайне прост в использовании, минималистичен и лишен дополнительных настроек. По сравнению с Google Authenticator у него есть одно преимущество: по умолчанию Duo Mobile скрывает коды — чтобы увидеть код, надо нажать на конкретный токен. Если вы, как и я, испытываете дискомфорт каждый раз, когда открываете аутентификатор и показываете всем окружающим кучу кодов от всех своих аккаунтов сразу, то вам эта особенность Duo Mobile наверняка понравится.

+ По умолчанию скрывает коды.

3. Microsoft Authenticator

Поддерживаемые платформы: Android, iOS

В Microsoft тоже не стали усложнять и сделали свой аутентификатор на вид очень минималистичным. Но при этом Microsoft Authenticator заметно функциональнее, чем Google Authenticator. Во-первых, хоть по умолчанию все коды показываются, но каждый из токенов можно отдельно настроить так, чтобы при запуске приложения код был скрыт.

Во-вторых, Microsoft Authenticator упрощает вход в аккаунты Microsoft. В этом случае после ввода пароля достаточно будет нажать в приложении кнопку подтверждения входа — и все, можно даже не вводить одноразовый код.

+ Можно настроить, чтобы коды скрывались.
+ Дополнительные возможности для входа в аккаунты Microsoft.

4. FreeOTP

Поддерживаемые платформы: Android, iOS

Есть четыре причины, по которым вам может понравиться этот аутентификатор, разработанный Red Hat. Во-первых, это ваш выбор, если вы любите программное обеспечение с открытым кодом. Во-вторых, это самое маленькое приложение из всех рассматриваемых — версия для iOS занимает всего 750 Кбайт. Для сравнения: минималистичный Google Authenticator занимает почти 14 Мбайт, а приложение Authy, о котором мы поговорим ниже, — аж 44 Мбайта.

В-третьих, по умолчанию приложение скрывает коды и показывает их только после касания. Наконец, в-четвертых, FreeOTP позволяет максимально гибко конфигурировать токены вручную, если вам это зачем-нибудь нужно. Разумеется, обычный способ создания токена с помощью сканирования QR-кода тоже поддерживается.

+ По умолчанию скрывает коды.
+ Приложение занимает всего 700 Кбайт.
+ Открытый код.
+ Максимум настроек при создании токена вручную.

5. Authy

Поддерживаемые платформы: Android, iOS, Windows, macOS, Chrome

Самое навороченное из приложений для двухфакторной аутентификации, основным достоинством которого является то, что все токены хранятся в облаке. Это позволяет получить доступ к токенам с любого из ваших устройств. Заодно это упрощает переезд на новые устройства — не придется заново активировать 2FA в каждом сервисе, можно продолжить пользоваться существующими токенами.

В облаке токены зашифрованы ключом, который создается на основе заданного пользователем пароля, — то есть данные хранятся безопасно, и украсть их будет нелегко. Также можно установить ПИН-код на вход в приложение — или защитить его отпечатком пальца, если ваш смартфон оснащен соответствующим сканером.

Основной недостаток Authy состоит в том, что приложение с ходу требует завести аккаунт, привязанный к вашему телефонному номеру, — без этого просто не получится начать с ним работать.

− Требуется зарегистрироваться в Authy, используя номер телефона, — без этого приложение не работает.

Поддерживаемые платформы: Android, iOS

− При большом количестве токенов не очень удобно искать нужный.

Если приложение, генерирующее одноразовые коды, кажется вам слишком эфемерным способом защитить свои аккаунты, и хочется чего-то более постоянного, надежного и материального — буквально запереть аккаунт на ключ и положить его в карман, — то у меня есть для вас хорошая новость: такой вариант также существует. Это аппаратные токены стандарта U2F (Universal 2nd Factor), созданного FIDO Alliance.

Как работают токены FIDO U2F

Аппаратные U2F-токены очень полюбились специалистам по безопасности — в первую очередь потому, что с точки зрения пользователя они работают очень просто. Для начала работы достаточно подключить U2F-токен к вашему устройству и зарегистрировать его в совместимом сервисе, причем делается это буквально в пару кликов.

Как войти в Facebook, используя для аутентификации ключ YubiKey

Вставьте ключ и нажмите кнопку — и это действительно все

Приватный ключ используется для того, чтобы зашифровать подтверждение входа, которое передается на сервер и может быть расшифровано с помощью публичного ключа. Если кто-то от вашего имени попытается передать подтверждение входа, зашифрованное неправильным приватным ключом, то при расшифровке с помощью известного сервису публичного ключа вместо подтверждения получится бессмыслица, и сервис не пустит его в аккаунт.

Какими бывают U2F-устройства

YubiKey от Yubico — самые популярные U2F-токены

YubiKey — вероятно, самые популярные U2F-токены

Например, Google недавно представила свой комплект аппаратных аутентификаторов Google Titan Security Keys. На самом деле это ключи производства Feitian Technologies (второй по популярности производитель U2F-токенов после Yubico), для которых в Google написали собственную прошивку.

NFC — необходим для использования со смартфонами и планшетами на Android.

Bluetooth — понадобится на тех мобильных устройствах, в которых нет NFC. К примеру, аутентификатор с Bluetooth все еще нужен владельцам iPhone: несмотря на то, что в iOS уже разрешили приложениям использовать NFC (до 2018 года это было позволено только Apple Pay), разработчики большинства совместимых с U2F приложений еще не воспользовались этой возможностью. У Bluetooth-аутентификаторов есть пара минусов: во-первых, их нужно заряжать, а во-вторых, их подключение занимает гораздо больше времени.

В базовых моделях U2F-токенов обычно есть только поддержка собственно U2F — такой ключ обойдется в $10–20. Есть устройства подороже ($20–50), которые заодно умеют работать в качестве смарт-карты, генерировать одноразовые пароли (в том числе OATH TOTP и HOTP), генерировать и хранить ключи PGP-шифрования, могут использоваться для входа в Windows, macOS и Linux и так далее.

TREZOR – U2F “по-нашенски”

TREZOR представляет собой маленькое отдельное аппаратное решение, разработанное для хранения приватных ключей и работы в качестве изолированного компьютерного окружения. Изначально разработанный, как безопасный “железный” кошелек для Биткойна, рамки его применения значительно расширились благодаря расширяемости асимметричной криптографии. Теперь, TREZOR может служить в качестве безопасного железного токена для U2F, вам также придётся дополнительно подтверждать логин нажатием кнопки на устройстве.

1. Легко бекапить и восстанавливать. TREZOR просит вас записать на листочке так называемое “зернышко” (recovery seed), в время первого запуска устройства. Это –, единственный одноразовый процесс из всех остальных на устройстве. Восстановительное зёрнышко представляет собой все секреты (приватные ключи), генерируемые устройством и могут быть использованы в любое время для “восстановления” вашего аппаратного (или “железного”) кошелька.

2. Неограниченное количество U2F личностей, все они сохраняются в рамках единого бэкапа.

3. Секрет безопасно хранится в TREZORе. Его никто никогда не узнает, так как он не может покинуть устройство. Их не смогут украсть ни вирусы, ни хакеры.

4. Защита от фишинга с подтверждением на экране. Кошелёк всегда отображает url веб-сайта, на котором вы логинитесь, а также то, что именно вы хотите авторизовать. Вы можете убедиться, что информация, отправленная в устройство, соответствует вашим ожиданиям.

5. Дополнительная информация по использовании U2F во время настройки, использования и восстановления TREZOR может быть найдена в нашем посте в блоге, или в Пользовательской Документации.

Безопасные характеристики асимметричной криптографии кореллируют с философией безопасности TREZOR. С поддержкой U2F в кошельке, мы вдохновляем пользователей использовать все доступные меры для защиты их аккаунтов и личных данных в онлайне.

Как генерировать коды подтверждения в приложении Google Authenticator

С помощью приложения Google Authenticator вы можете получать коды для входа в аккаунт без подключения к Интернету или мобильной сети. Для этого нужно настроить двухэтапную аутентификацию.

Как получать коды на новый телефон

Вот что вам потребуется:

  • прежний телефон Android с кодами Google Authenticator;
  • установленная на нем последняя версия приложения Google Authenticator;
  • новый телефон.
  1. Установите приложение Google Authenticator на новом телефоне.
  2. В приложении нажмите Начать.
  3. Внизу экрана выберите Импортировать имеющиеся аккаунты?.
  4. Создайте QR-код на прежнем телефоне:
    1. В приложении Authenticator нажмите на значок "Ещё" Перенести аккаунты Экспорт аккаунтов.
    2. Выберите аккаунты, которые вы хотите перенести на новый телефон, и нажмите Далее.
      • В случае переноса нескольких аккаунтов может быть сгенерировано больше одного QR-кода.

    Совет. Если отсканировать QR-код с помощью камеры не получается, причиной может быть слишком большой объем информации. Попробуйте перенести меньшее количество аккаунтов.

    Как восстановить аутентификатор, если смартфон с приложением недоступен

    Если у вас больше нет доступа к смартфону, на котором установлен аутентификатор, попробуйте вспомнить: возможно, вы все еще залогинены на одном из ваших устройств в тот аккаунт, к которому пытаетесь получить доступ? Дальнейшие действия зависят от ответа на этот вопрос.

    Восстанавливаем аутентификатор, если доступ к аккаунту есть на каком-то другом устройстве

    Иногда в тех же настройках можно посмотреть секретный ключ или QR-код аутентификатора — некоторые сервисы (но далеко не все) это позволяют. В таком случае вам останется просто ввести эти данные в приложение-аутентификатор на новом устройстве.

    К сожалению, этот способ срабатывает не всегда, даже если вы все еще залогинены в аккаунт на одном из устройств. Проблема в том, что не у всех сервисов совпадает набор настроек в веб-версии и в мобильном приложении — нужной опции там, где вы залогинены, может просто не быть.

    Как восстановить аунтентификатор, если доступа к аккаунту нет

    Если вы уже не залогинены в аккаунт и смартфон с приложением-аутентификатором вы потеряли, сбросили к заводским настройкам или у вас его украли — в общем, у вас так или иначе больше нет к нему доступа, — то восстановить аутентификатор не получится. Как и в том случае, когда описанный выше способ не сработал.

    После этого выберите удобный вам вариант — обычно сервисы поддерживают доставку кода в SMS, голосовым звонком или на электронную почту — и дождитесь получения кода. Скорее всего, это не займет много времени, и уже совсем скоро вы сможете войти в аккаунт.

    Если из-за утраты аутентификатора вы потеряли доступ к аккаунту в корпоративном или в небольшом публичном сервисе, у которого нет удобной страницы автоматического восстановления доступа, то вам следует связаться с локальным администратором или службой поддержки. Придется описать ситуацию и, скорее всего, тем или иным образом подтвердить, что вы — настоящий владелец аккаунта.

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

    Как настроить Google Authenticator

    Как работает FIDO/U2F?

    Стандарт U2F, разработанный Альянсом FIDO, был создан технологическими корпорациями, вроде Google и Microsoft, под влиянием найденных уязвимостей в TOTP. U2F использует криптографию с публичными ключами для подтверждения вашей личности (Reddit – “Объясняйте, будто мне лет пять”). В противовес TOTP, в данном варианте вы являетесь единственным, кто знает секрет (приватный ключ).

    pic_three

    Читайте также: