auth

OTP (One-Time Password)

Also known as: одноразовый код, код подтверждения, OTC

Короткий одноразовый пароль, сгенерированный для одной попытки аутентификации, обычно из 4–8 цифр, используемый как второй фактор или подтверждение вне зоны аутентификации.

OTP (одноразовый пароль) — это короткая строка аутентификации, действительная ровно для одного входа или транзакции. После использования или истечения короткого временного окна её невозможно повторно использовать. OTP разработаны для снижения риска переиспользования пароля и перехвата учётных данных: даже если OTP будет перехвачен при передаче, он теряет ценность после использования.

OTP существуют в двух основных формах. HOTP (HMAC-based One-Time Password, RFC 4226) генерирует коды из счётчика, увеличиваемого на обеих сторонах — на сервере и на клиенте. Каждая успешная аутентификация увеличивает счётчик, поэтому коды генерируются в детерминированной, но неповторяющейся последовательности. TOTP (Time-based One-Time Password, RFC 6238) заменяет счётчик текущим временем, разделённым на дискретные окна обычно по 30 секунд. Обе схемы используют общий секрет и HMAC-SHA1 (иногда SHA256 или SHA512) для вычисления видимых цифр из базовых данных.

На практике доставка OTP происходит несколькими способами:

  • SMS: сервер генерирует случайный короткий код, отправляет его через сеть оператора, и пользователь вводит его в форму входа. Это наиболее распространённый и наименее безопасный способ.
  • Email: аналогично SMS, но доставляется в почтовый ящик, медленнее и немного безопаснее.
  • Приложение-аутентификатор: TOTP-код генерируется локально на устройстве с использованием секрета, обменянного при регистрации.
  • Push-уведомление: запрос на однотактное подтверждение на зарегистрированное устройство.
  • Аппаратный токен: специальное устройство (RSA SecurID, YubiKey), отображающее или передающее код.

OTP являются строительным блоком 2FA и дополнительной аутентификации. Безопасность системы OTP полностью зависит от секретности исходного материала и целостности канала доставки — OTP, отправленный по SMS на номер, повреждённый SIM-подменой, не обеспечивает реальную защиту. Локально генерируемые TOTP-коды безопаснее, так как в них отсутствует канал доставки для перехвата.

Современные веб-стандарты (WebAuthn, passkeys) постепенно вытесняют OTP, так как OTP остаются уязвимыми к фишингу: пользователя можно обманом заставить ввести OTP на поддельную страницу входа, а злоумышленник может повторить его в течение периода действия. Несмотря на это, OTP через SMS или приложение-аутентификатор остаётся стандартом де факто для двухфакторной аутентификации на потребительском веб-рынке в 2026 году.

Example

Введите 6-значный OTP, который мы только что отправили на ваш телефон, чтобы завершить вход.

Связанные термины