Двухфакторная аутентификация на базе алгоритма TOTP работает следующим образом: 1
- Пользователь заходит в приложение или на сайт, защищённый TOTP 2FA. 1
- Для запуска аутентификации пользователь и сервер TOTP разделяют статический параметр — секретный ключ. 1
- При входе в защищённый сайт клиент подтверждает, что обладает секретным ключом. 1
- Токен TOTP объединяет семя и текущий шаг времени и генерирует значение хеша с помощью предопределённой функции хеша. 1 Это значение и есть код OTP, который пользователь видит на токене. 1
- Поскольку секретный ключ, функция хеша и шаг времени одинаковы для обеих сторон, сервер делает те же вычисления, что и генератор OTP пользователя. 1
- Пользователь вводит OTP, и если он идентичен значению сервера, доступ предоставляется. 1 Если результаты расчётов не идентичны, доступ, естественно, запрещается. 1
Для работы TOTP от пользователя требуется установить на смартфон специальное приложение, такое как Microsoft Authenticator, Google Authenticator, Яндекс Ключ и т. п.. 4 Когда пользователь заходит в определённый онлайн-сервис с нового или неизвестного устройства, ему предлагается открыть приложение для проверки подлинности на своём мобильном телефоне. 4 Приложение генерирует временный одноразовый код длиной от шести до восьми цифр, который обновляется каждые 30 секунд. 4 После ввода этого кода в соответствующую форму пользователь получает доступ к аккаунту. 4