Алгоритм RFC TOTP для защиты аккаунтов работает следующим образом: 14
- Сервером генерируется секретный ключ, который передаётся на устройство пользователя. 2
- С этим ключом и по текущему времени устройством пользователя генерируется шестизначный код. 2
- Этот код вместе с паролем указывается пользователем при входе. 2
- Код проверяется сервером по секретному ключу и сроку действия внутри временного интервала (обычно 30 секунд). 2
Принцип работы: клиент берёт текущее значение таймера и секретный ключ, хеширует их с помощью какой-либо хеш-функции и отправляет серверу, в свою очередь сервер проводит те же вычисления, после чего ему остаётся только сравнить эти значения. 1