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