Новое

Одноразовые пароли OTP: что это такое, как работают и зачем нужны

OTP-код живёт несколько минут и годится только для одной операции. Именно эта эфемерность делает его одним из самых надёжных инструментов цифровой безопасности. Разбираем технологию от алгоритма до применения.

Что такое OTP

OTP (One-Time Password) — одноразовый пароль, действующий только для одной сессии или транзакции. В отличие от постоянного пароля, его нельзя использовать повторно: после применения или истечения срока действия код становится недействительным.

Именно эту технологию используют банки для подтверждения переводов, сайты при двухфакторной аутентификации и корпоративные системы при удалённом доступе.

Два основных алгоритма OTP

HOTP — на основе счётчика

HMAC-based One-Time Password (RFC 4226). Код генерируется на основе секретного ключа и счётчика использований. Каждый раз, когда пользователь запрашивает код, счётчик увеличивается на 1.

Минус: если запросов было много и часть не использована, счётчики могут рассинхронизироваться. Применяется в аппаратных токенах.

TOTP — на основе времени

Time-based One-Time Password (RFC 6238). Код генерируется из секретного ключа и текущего Unix-времени, округлённого до 30-секундных окон. Именно этот алгоритм используют Google Authenticator, Яндекс Ключ и другие приложения.

Преимущество перед HOTP: не нужна синхронизация счётчиков — только точное время. Сервер обычно принимает коды ±1 интервал (±30 секунд) для учёта дрейфа часов.

OTP через SMS vs приложение-аутентификатор

ХарактеристикаSMS OTPTOTP-приложение
Нужен интернет для полученияНет (только сигнал)Нет (работает офлайн)
Нужен смартфонЛюбой телефонТолько смартфон
Риск перехватаСредний (SS7)Низкий
Сложность для пользователяМинимальнаяНужно установить приложение
Стоимость для бизнеса~0,5–2 руб./SMSБесплатно
Работает при смене номераНетДа (через бэкап)

Где применяются OTP

  • Банки и финтех: подтверждение платежей, вход в интернет-банк
  • E-commerce: верификация при регистрации, подтверждение крупных заказов
  • Государственные сервисы: Госуслуги, налоговая, МФЦ
  • Корпоративный доступ: VPN, CRM, облачные хранилища
  • Социальные сети: подтверждение нового устройства

Длина OTP: 4, 6 или 8 цифр

Чем длиннее код — тем выше безопасность при прочих равных:

ДлинаВариантовВремя перебора (10 попыток/сек)Применение
4 цифры10 000~17 минутPIN-коды, низкий риск
6 цифр1 000 000~28 часовБанки, 2FA — стандарт
8 цифр100 000 000~115 днейВысокорисковые транзакции

6-значный код с TTL 3–5 минут и ограничением в 3 попытки — оптимальный баланс для большинства задач.

Итог

OTP — зрелая, стандартизированная технология с открытыми алгоритмами. Для потребительских сервисов SMS OTP остаётся оптимальным выбором из-за доступности. Для внутренних корпоративных систем TOTP через приложение предпочтительнее — дешевле и надёжнее. Правильно реализованный OTP с rate limiting и коротким TTL делает брутфорс практически невозможным.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *