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