Google Authenticator

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 19:15, 16 июня 2018.
Google Authenticator
Maxresdefault-2.jpg
Google authenticator.png
Разработчики: Google
Выпущена: 20 September 2010 года; 8 years ago (2010-09-20)[1]
Операционная система: Android, iOS, BlackBerry OS
Платформа: Мобильная
Лицензия: Проприетарная (прошлые версии выпускались под Apache License 2.0)
Веб-сайт https://github.com/google/google-authenticator-libpam

Google Authenticator приложение для двухэтапной аутентификации(2FA) с помощью Time-based One-Time Password Algorithm и HMAC-Based One-Time Password Algorithm (HOTP от Google). Сервис реализует алгоритмы указанные в RFC 6238 и RFC 4226[2].

Authenticator представляет 6- или 8-значный одноразовый цифровой пароль, который пользователь должен предоставить в дополнение к имени пользователя и пароля, чтобы войти в службы Google или других сервисов. Authenticator также может генерировать коды для сторонних приложений, такие как менеджеры паролей или услуг хостинга файлов. Предыдущие версии программы были доступны с открытым исходным кодом на GitHub, но последние выпуски являются частной собственностью Google[Источник 1].

Установка и настройка приложения

Приложение Google Authenticator работает на устройствах Android версии 2.1 и более поздних.Чтобы Google Authenticator работал на iPhone, iPod Touch или iPad, установите на устройстве последнюю версию операционной системы. Настроить приложение с помощью QR-кода в телефонах на базе IOS можно только на iPhone 3G или более новых моделях.

Пример установки (Демовидео)

Пример установки (Разбор по шагам)

Мы рассмотрим пример использования Google Authenticator на примере google-аккаунтов. Для этого нам потребуется мобильный телефон на базе Android 2.1 и выше, google-аккаунт и вышеназванное приложение.

  • Подробнее о том, как установить Google Authenticator на телефоне на базе IOS здесь

Скачивание приложения

В GooglePlay в поисковой строке набираем "Google Authenticator". Скачиваем.

101.jpg
102.jpg

Установку можно сделать не только из браузера компьютера, но и непосредственно с мобильного телефона, используя тот же Google Play Market.

103.jpg

После установки необходимо будет запустить приложение на телефоне, что показано на скриншоте выше.


Настройка

Для данного примера установим двухфакторную аутентификацию в myaccount.google.com (Google-account). Для этого необходимо открыть myaccount.google.com в браузере, нажать кнопки "Мой аккаунт" и далее "Вход в аккаунт Google" [Источник 2]:

04.jpg

Выберите раздел "Безопасность и вход". После чего необходимо включить двухфакторную аутентификацию как таковую, т.е основываясь на привязке к телефону и sms:

05.jpg


Ааап.jpg


Далее достаточно указать свой телефон, получить код и ввести его в соответствующее поле.

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

06.jpg

Нас интересует пункт "Приложение Authenticator". Нажимаем на кнопку "Настройка" в соответствующей строке, после чего нам будет предложено выбрать тип мобильного телефона:

107.jpg

А также предложен способ настройки, методом сканирования QR с экрана телефона или непосредственно вводом текстового кода вручную:

108.jpg

На этом этапе следует перейти в установленное (и запущенное) ранее приложение Google Authenticator и нажать пункт "Приступить к настройке". Выберите требующийся вариант добавления аккаунта. В случае со сканированием QR через камеру телефона процесс будет несколько проще, чем через ввод ключа.

109.jpg

В нашем случае мы пошли по пути ввода ключа (пункт "Введите ключ" в приложении), выбрав в браузере опцию "Не удается отсканировать код".

110.jpg

Браузер нам покажет код, который нужно ввести в приложении в соответствующее поле.Также заполняем поле с адресом привязываемой почты.

111.jpg

Нажимаем кнопку "Добавить". Переходим в браузер и выбираем кнопку "Далее". Используем в браузере 6-значный код из приложения для подтверждения привязки.

1122.jpg

Готово! Теперь вы можете пользоваться приложением Google Authenticator.


Пробуем использовать Google Authenticator для входа

Процесс входа теперь происходит следующим образом:

1. Вводим пароль от аккаунта Google (или заходим на любой другой требующийся ресурс); 2. Вводим появившийся код приложения из Google Authenticator; 3. Заходим в свой аккаунт на ресурсе.

На скриншотах ниже можно увидеть как это выглядит:

113.jpg
1114.jpg
3обрамить

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

116.jpg

Настройка двухэтапной аутентификации для нескольких аккаунтов Google

Image04.png

Приложение Google Authenticator, установленное на одном устройстве, позволяет получать коды сразу для нескольких аккаунтов Google. Тем не менее в процессе настройки для каждого аккаунта Google потребуется получить свой секретный ключ. Повторите процесс установки для каждого дополнительного аккаунта в приложении Google Authenticator. [Источник 3]

Настройка Google Authenticator на нескольких устройствах

Google Authenticator можно настроить так, чтобы получать коды подтверждения с разных устройств:

  1. Убедитесь, что скачали приложение Google Authenticator на все нужные устройства.
  2. Перейдите на страницу двухэтапной аутентификации.
  3. Если вы уже настроили Google Authenticator, удалите из приложения свой аккаунт, чтобы процесс можно было начать заново. Для удаления выделите аккаунт в приложении и нажмите появившийся значок корзины на верхней панели. Если вы ещё не приступали к настройке, переходите к следующему шагу.
  4. Следуйте стандартным инструкциям по настройке двухэтапной аутентификации для мобильного приложения. Обязательно просканируйте QR-код или введите секретный ключ на всех нужных устройствах.
  5. Убедитесь, что все устройства работают должным образом: введите код подтверждения с каждого устройства и нажмите Подтвердить. Затем нажмите кнопку Сохранить.[Источник 4]


Реализации

Google Authenticator предоставлен на Android, BlackBerry, и iOS. Также доступно несколько сторонних реализаций:

  • Windows Phone 7.5/8/8.1/10: Microsoft Authenticator[3] Virtual TokenFactor[4]
  • Windows Mobile: Google Authenticator for Windows Mobile[5]
  • Java CLI: Authenticator.jar[6]
  • Java GUI: JAuth[7] FXAuth[8]
  • J2ME: gauthj2me[9] lwuitgauthj2me[10] Mobile-OTP (Chinese only)[11] totp-me[12]
  • Palm OS: gauthj2me[13]
  • Python: onetimepass[14]
  • PHP: GoogleAuthenticator.php[15]
  • Ruby: rotp,[16] twofu[17]
  • Rails: active_model_otp[18] (third party implementation)
  • webOS: GAuth[19]
  • Windows: gauth4win[20] MOS Authenticator[21] WinAuth[22]
  • .NET: TwoStepsAuthenticator[23]
  • HTML5: html5-google-authenticator[24]
  • MeeGo/Harmattan (Nokia N9): GAuth[25]
  • Sailfish OS: SGAuth,[26] SailOTP[27]
  • Apache: Google Authenticator Apache Module[28]
  • PAM: Google Pluggable Authentication Module[29] oauth-pam[30]
  • Backend: LinOTP (Management Backend implemented in python)
  • Chrome/Chrome OS: Authenticator[31]
  • iOS: OTP Auth[32]

Установка на Android

Основные возможности программы

Генерация новых кодов без подключения к сети Internet или сотовой связи; Поддерживание нескольких учетных записей и пользователей; Простая настройка GA и минимализм интерфейса; Поддержка на Android, iOS и BlackBerry. Приложение GA работает достаточно просто и эффективно — вы скачиваете из Play Market саму программу, далее в настройках аккаунта, где поддерживается двухфакторная авторизация, подключаете эту опцию. Запустите приложение на телефоне и при помощи камеры распознайте QR-код, либо введите указанный ключ, после подтверждения укажите обновляющийся код доступа.

Вы можете добавить устройство, через которое открываете страницу, в список доверенных, что бы не вводить код постоянно.Например, такую аутентификацию для учетной записи Гугл можно подключить на странице настроек безопасности аккаунта. Для входа в Контакт тоже можно установить проверку через Google Authenticator. [Источник 5]

Техническое описание

Поставщик услуг генерирует 80-битный секретный ключ для каждого пользователя (хотя RFC 4226 §4 требует минимум 128 бит и рекомендует 160 бит).[33] Это обеспечивается как 16, 26, 32 значный код в кодировке Base32 или с помощью QR кода. Клиент создает HMAC-SHA1 используя этот секретный ключ. Сообщение HMAC может быть:

  • числовым с 30 секундным периодом (TOTP)
  • счётчиком, который увеличивается с каждым новым кодом (HOTP).

Затем часть HMAC извлекается и преобразуется в 6 значный код.

Псевдокод для Time-based OTP

  function GoogleAuthenticatorCode(string secret)
      key := base32decode(secret)
      message := floor(current Unix time / 30)
      hash := HMAC-SHA1(key, message)
      offset := last nibble of hash
      truncatedHash := hash[offset..offset+3]  //4 bytes starting at the offset
      Set the first bit of truncatedHash to zero  //remove the most significant bit
      code := truncatedHash mod 1000000
      pad code with 0 until length of code is 6
      return code

Псевдокод для Event/Counter OTP

  function GoogleAuthenticatorCode(string secret)
      key := base32decode(secret)
      message := counter encoded on 8 bytes
      hash := HMAC-SHA1(key, message)
      offset := last nibble of hash
      truncatedHash := hash[offset..offset+3]  //4 bytes starting at the offset
      Set the first bit of truncatedHash to zero  //remove the most significant bit
      code := truncatedHash mod 1000000
      pad code with 0 until length of code is 6
      return code



Примечания

  1. "Google Is Making Your Account Vastly More Secure With Two-Step Authentication - TechCrunch". TechCrunch. 2010-09-20. Retrieved 2016-03-12. 
  2. "GitHub - google/google-authenticator: Open source version of Google Authenticator (except the Android app)". GitHub (in английский). Google. These implementations support the HMAC-Based One-time Password (HOTP) algorithm specified in RFC 4226 and the Time-based One-time Password (TOTP) algorithm specified in RFC 6238. 
  3. "Authenticator". 4 April 2013. 
  4. "Virtual TokenFactor". 26 February 2012. 
  5. "[APP]Google Authenticator for Windows Mobile". XDA Developers. 
  6. "http://blog dot jamesdotcuff dot net". 
  7. "mclamp/JAuth". GitHub. 
  8. "kamenitxan/FXAuth". GitHub. 
  9. "gauthj2me - Google Authentification in Java Mobile, j2me - Google Project Hosting". 
  10. "lwuitgauthj2me - Google Authenticator for J2ME phones - Google Project Hosting". 
  11. "chunlinyao / mobile-otp — Bitbucket". 
  12. "totp-me - TOTP for Java ME - Google authenticator". 
  13. "gauth.prc - gauthj2me - Google Authenticator for Palm OS (converted from java) - Google Authentification in Java Mobile, j2me - Google Project Hosting". 
  14. "tadeck/onetimepass". GitHub. 
  15. "chregu/GoogleAuthenticator.php". GitHub. 
  16. "rotp - RubyGems.org - your community gem host". 
  17. "ukazap/twofu". GitHub. 
  18. "heapsource/active_model_otp". GitHub. 
  19. "GAuth". 
  20. "gauth4win - Google Authenticator for windows - Google Project Hosting". 
  21. "MOS Authenticator Home". 
  22. "winauth - Windows Authenticator for Battle.net / World of Warcraft / Guild Wars 2 / Glyph / WildStar / Google / Bitcoin - Google Project Hosting". 
  23. "glacasa/TwoStepsAuthenticator". GitHub. 
  24. "gbraad/html5-google-authenticator". GitHub. 
  25. Techtransit. "Nokia Store: Download GAuth and many other games, wallpaper, ringtones and mobile apps on your Nokia phone". 
  26. "SGAuth". 
  27. "SailOTP". 
  28. "google-authenticator-apache-module - Apache Module for Two-Factor Authentication via Google Authenticator - Google Project Hosting". 
  29. "google-authenticator - Two-step verification - Google Project Hosting". 
  30. "oauth-pam - PAM for use with OAuth Websites - Google Project Hosting". 
  31. "Authenticator". 
  32. "OTP Auth". App Store. 
  33. https://tools.ietf.org/html/c#section-4

Ссылки

Источники

  1. Google Authenticator // [Электронный ресурс]: Wikipedia [2017—2017] / Дата обращения: 12.12.2017. Режим доступа: https://ru.wikipedia.org/wiki/Google_Authenticator?veaction=edit.
  2. Как установить Google Authenticator на Android // [Электронный ресурс]: [2017—2017] / Дата обращения: 20.12.2017. Режим доступа: https://support.google.com/accounts/answer/1066447?co=GENIE.Platform%3DAndroid&hl=ru.
  3. Как установить и настроить Google Authenticator на IOS// [Электронный ресурс]: [2017—2017] / Дата обращения: 26.12.2017. Режим доступа: https://webznam.ru/publ/google/akk/kak_ustanovit_i_nastroit_prilozhenie_google_authenticator/8-1-0-234
  4. Как установить Google Authenticator на IOS// [Электронный ресурс]: [2017—2017] / Дата обращения: 19.12.2017. Режим доступа: https://support.google.com/accounts/answer/1066447?co=GENIE.Platform%3DAndroid&hl=ru.
  5. Google Authenticator // [Электронный ресурс]: [2017—2017] / Дата обращения: 12.12.2017. Режим доступа: http://dadaviz.ru/google-authenticator-dlya-compyutera/
.