Одноразовый пароль (OTP) — как работает и где применяется
Одноразовый пароль (OTP) — код, который действует на один вход или одну операцию и после этого становится бесполезным. Приходит в SMS или push, генерируется приложением либо аппаратным токеном; срок жизни — от 30 секунд до 15 минут.
Определение
OTP (one-time password) — пароль на один раз. Обычный пароль вы держите в голове годами, и его утечка отдаёт аккаунт. Одноразовый живёт минуты, срабатывает единожды и после предъявления мёртв: перехваченный вчерашний код ничего не стоит.
Это родовое понятие, внутри которого два механизма. HOTP считает код от счётчика: каждое нажатие на токене сдвигает счётчик на единицу. TOTP считает от текущего времени с шагом 30 секунд — по этой схеме работают Google Authenticator, Яндекс Ключ и генераторы внутри банковских приложений.
Не путайте с одноразовым QR-кодом: там гаснет сама картинка после первого сканирования, а OTP — короткая строка, которую вы вводите руками.
Как работает
Либо обе стороны считают код независимо из общего секрета, либо сервер генерирует его сам и доставляет вам. Каналы различаются по цене и по тому, что именно у вас должны украсть.
| Канал | Срок жизни | Слабое место |
|---|---|---|
| Приложение-генератор (TOTP) | 30 секунд | потеря телефона: без резервных кодов вход закрыт |
| SMS | 5–15 минут | перевыпуск SIM, перехват, платная рассылка |
| Push в приложении | до 2 минут | MFA-fatigue: на десятый запрос жмут «подтвердить» |
| Аппаратный токен | 30–60 секунд | цена, логистика, разряженная батарейка |
| Бумажный список, скретч-карта | до использования | кончается, фотографируется за секунду |
Часы на телефоне и на сервере расходятся, поэтому сервер принимает окно: текущий шаг плюс-минус один, около полутора минут. У HOTP съезжает счётчик — натыкали лишних кодов на токене, и нужна повторная синхронизация. Плюс лимит: 3–5 промахов, дальше пауза.
Связанные концепции
Что ломает схему на практике:
- код продиктован «сотруднику банка» по телефону — он и был целью звонка, банк не спрашивает OTP голосом;
- в SMS читают только цифры, хотя рядом написаны сумма и получатель — текст и есть защита от чужого перевода;
- OTP не спасает от фишинга в реальном времени: код с поддельной страницы уходит на настоящий сайт в ту же минуту (см. смишинг);
- SMS стоит денег: 10 000 входов в месяц — это 10 000 платных сообщений, а приложение-генератор бесплатно и работает в самолёте;
- SMS как резервный вход обнуляет пользу включённого TOTP: атакующий пойдёт по слабому каналу.
В платежах OTP живёт в отдельном протоколе: операцию по карте подтверждает 3D Secure, где код привязан к сумме и мерчанту, а не к входу в аккаунт.
Частые вопросы
Что означает OTP в SMS?
One-time password — одноразовый пароль. Код подтверждения на один вход или одну операцию: обычно 4–6 цифр, срок жизни 5–15 минут. После ввода он гаснет и повторно не работает. В сообщении это слово значит ровно то же, что «код подтверждения» в русских интерфейсах.
Сколько действует одноразовый пароль?
Зависит от канала. Код из приложения-генератора живёт 30 секунд, но сервер принимает и соседний шаг, так что реально около полутора минут. SMS и письма дают 5–15 минут, push — до пары минут. Просроченный код не «дотягивает»: запрашивайте новый, а не вводите старый.
Можно ли назвать OTP сотруднику банка по телефону?
Нет, и это главное правило. Ни банк, ни маркетплейс, ни Госуслуги не спрашивают код голосом — им он не нужен, они его отправили. Любая просьба продиктовать код означает, что на другом конце мошенник, которому этого кода и не хватает для входа или перевода. Положите трубку.
Чем приложение-генератор лучше SMS-кода?
Тремя вещами: код считается на устройстве и работает без сети и без SIM, его не перехватить по каналу связи и не добыть перевыпуском SIM, и он ничего не стоит бизнесу. Минус один: телефон потерялся — доступ закрыт, поэтому резервные коды выписывают сразу.
Почему код не подошёл, хотя я ввёл его правильно?
Три частые причины. Ушло время — шаг сменился, пока вы набирали. Сбились часы на телефоне: включите автоматическое время, иначе генератор считает от неверной минуты. Либо вы взяли код из другого профиля в списке аккаунтов — у нескольких сервисов подписи похожи.
Автор материала
Андрей СамойловЭксперт по QR-кодам и SaaS-маркетингу. 10 лет в SaaS, маркетинге и ИТ.
Об авторе и все материалы