Google Authenticator

Google Authenticator (укр. Ґуґл-автентифікатор) — додаток для двохетапної аутентифікації за допомогою Time-based One-time Password Algorithm (TOTP) і HMAC-based One-time Password Algorithm (HOTP) від Google. Сервіс реалізує алгоритми зазначені в RFC 6238 і RFC 4226.[2]

Google Authenticator
Тип автентифікаторd
Розробник Google
Ліцензія пропрієтарна ліцензія[d][1]

Автентифікатор представляє 6-ти або 8-мизначний одноразовий цифровий пароль, який користувач повинен надати в додаток до імені користувача і пароля, щоб увійти в Google або інших сервісів. Автентифікатор також може генерувати коди для сторонніх додатків, такі як менеджери паролів або послуг хостингу файлів. Попередні версії програми були доступні з відкритим вихідним кодом на GitHub, але останні випуски є приватною власністю Google.[3]

Приклад використання

Як правило, користувачі повинні спочатку встановити програму на свій мобільний пристрій. Для того, щоб увійти на сайт або скористатися послугами сервісу, потрібно ввести ім'я користувача та пароль, запустити додаток Authenticator і ввести в спеціальне поле згенерований одноразовий пароль.

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

З двох етапною аутентифікацією, просте знання логіна/пароля не є достатнім для злому облікового запису. Зловмисник також повинен знати секретний ключ або мати фізичний доступ до вашого пристрою з Google Authenticator. Альтернативним шляхом є MITM-атака: якщо комп'ютер заражений трояном, ім'я користувача, пароль і одноразовий код можуть бути перехоплені, щоб потім ініціювати свій власний сеанс входу на сайті або відслідковувати та змінювати інформацію між вами та сайтом.

Реалізації

Google Authenticator реалізований для наступних операційних систем: Android,[4] BlackBerryiOS[5], J2ME.

Технічний опис

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

  • числовим з 30 секундним періодом (TOTP)
  • лічильником, який збільшується з кожним новим кодом (HOTP).

Потім частина HMAC витягується і перетворюється в 6-значний код.

Псевдокод для One Time Password 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

Примітки

  • GitHub - google/google-authenticator: Open source version of Google Authenticator (except the Android app). GitHub (EN) . Google. Архів оригіналу за 26 січня 2021. Процитовано 24 серпня 2016. 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.
  • Willis, Nathan (22 January 2014)."
  • https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2 [Архівовано 2 лютого 2021 у Wayback Machine.] A
  • Google Authenticator. App Store. Архів оригіналу за 22 грудня 2015. Процитовано 24 серпня 2016.
  • https://tools.ietf.org/html/c#section-4[недоступне посилання з лютого 2019]
  • 🔥 Top keywords: Головна сторінкаФайл:XHamster logo.svgДень вишиванкиPorno for PyrosСпеціальна:ПошукВишиванкаЮрай ЦинтулаНова КаледоніяВовчанськУсик Олександр ОлександровичТайсон Ф'юріУкраїнаТериторіальний центр комплектування та соціальної підтримкиФайл:XVideos logo.svgРоберт ФіцоYouTubeБудинок «Слово»Nemo (співак)МіГ-31БріджертониВійськово-облікова спеціальністьПісенний конкурс Євробачення 2024Всесвітній день вишиванкиТайсон Ф'юрі — Олександр УсикНебінарний гендерБудинок «Слово» (фільм, 2021)Микола ХвильовийFacebook125-та окрема бригада територіальної оборони (Україна)Шевченко Тарас ГригоровичПриродні заповідники УкраїниТварини Червоної книги УкраїниРосійське вторгнення в Україну (з 2022)Марко ВовчокСкуфЛеся УкраїнкаРослини Червоної книги УкраїниРозстріляне відродженняВійськові звання України