Google Authenticator | |
---|---|
![]() | |
Тип | authenticator[d] |
Разработчик | |
Операционная система | Android, iOS, BlackBerry OS |
Первый выпуск | 20 сентября 2010[1] |
Аппаратная платформа | Мобильная |
Последняя версия | |
Лицензия | Проприетарная (прошлые версии выпускались под Apache License 2.0) |
Сайт | github.com/google/google… |
Google Authenticator - приложение для двухэтапной аутентификации с помощью Time-based One-time Password Algorithm (TOTP) и HMAC-based One-time Password Algorithm (HOTP) от Google. Сервис реализует алгоритмы, указанные в RFC 6238 и RFC 4226.[3]
Authenticator представляет 6- или 8-значный одноразовый цифровой пароль, который пользователь должен предоставить в дополнение к имени пользователя и пароля, чтобы войти в службы Google или других сервисов. Authenticator также может генерировать коды для сторонних приложений, такие как менеджеры паролей или услуг хостинга файлов. Предыдущие версии программы были доступны с открытым исходным кодом на GitHub, но последние выпуски являются частной собственностью Google.[4]
Как правило, пользователи должны сначала установить приложение на своё мобильное устройство. Для того, чтобы войти на сайт или воспользоваться услугами сервиса, требуется ввести имя пользователя и пароль, запустить приложение Authenticator и ввести в специальное поле сгенерированный одноразовый пароль.
Для этого сайт предоставляет общий секретный ключ пользователю, который должен быть сохранен в приложение Google Authenticator. Этот секретный ключ будет использоваться для всех будущих входов на сайт.
С двухэтапной аутентификацией простое знание логина/пароля не является достаточным для взлома учётной записи. Злоумышленник также должен знать секретный ключ или иметь физический доступ к устройству с Google Authenticator. Альтернативным путем является MITM-атака: если компьютер пользователя заражен трояном, то имя пользователя, пароль и одноразовый код могут быть перехвачены, чтобы затем инициировать свой собственный сеанс входа на сайте или отслеживать и изменять информацию между пользователем и сайтом.
Google Authenticator предоставлен на Android,[5] BlackBerry, и iOS[6]. Также доступно несколько сторонних реализаций:
Поставщик услуг генерирует 80-битный секретный ключ для каждого пользователя (хотя RFC 4226 § 4 требует минимум 128 бит и рекомендует 160 бит).[37] Ключ предоставляется в виде 16-, 26-, 32-значной строки в кодировке Base32 или в виде QR-кода. С помощью секретного ключа клиент создает HMAC-SHA1 от:
Затем часть HMAC извлекается и преобразуется в 6-значный код.
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
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
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .