Глоссарий

Что такое одноразовый пароль (OTP)? TOTP против HOTP против SMS и его пределы

OTP — одноразовый пароль, код, действующий один раз и недолго. Чем различаются TOTP, HOTP и SMS-OTP, от чего он защищает и почему фишинг AiTM может его обойти.

Опубликовано 2026-07-02 Обновлено 2026-10-06 8 мин чтения
На этой странице

Одноразовый пароль (OTP; в русской записи его часто называют «ОТП» или «ОТП-код», например код из SMS) — это разовый код, который используется один раз. Разберём его виды и предел, который часто упускают: фишинг всё же способен его обойти (без шагов атаки).

Виды: TOTP / HOTP / SMS-OTP

Их всех валят в кучу как «разовые коды», но по способу генерации они делятся на три вида.

TOTP (на основе времени)

Приложение вычисляет его из общего секрета + текущего времени. Меняется примерно каждые 30 с. Работает офлайн.

HOTP (счётчик)

Продвигается по счётчику, а не по времени. Каждое нажатие даёт следующий код. Используется в аппаратных токенах.

SMS-OTP

Отправляет код по SMS. Удобно, но уязвимо для SIM-swap и ретрансляции — самый хрупкий метод.

Три основных метода OTP. Сила сводится к «можно ли отдать это поддельному сайту?».

Все они разделяют природу «одноразовый, короткоживущий», поэтому даже если фиксированный пароль утечёт, сам код трудно использовать повторно. Особенно TOTP вычисляется внутри приложения без сетевого обмена, поэтому у него нет пути перехвата, как у SMS.

Сильные стороны и пределы: поддельный сайт может украсть то, что вы вводите

OTP закрывает слабости фиксированных паролей, но это не полная защита. Решающий предел в том, что код читает и вводит человек.

Где OTP работает

  • останавливает захваты из-за утёкших / повторно используемых паролей
  • даже если его увидели, он быстро становится недействительным и его трудно использовать повторно
  • TOTP приложения-аутентификатора работает офлайн и устойчивее к перехвату, чем SMS

Где OTP ломается

  • фишинг «злоумышленник посередине» (AiTM): поддельный сайт ретранслирует OTP настоящему и входит
  • SIM-swap: угнать номер телефона и выманить SMS-OTP
  • первопричина = человек может отдать код поддельному сайту (он не привязан к домену)

Как способ доставки меняет риск

«Одноразовый пароль» охватывает несколько способов, и слабые места зависят от того, где создаётся код и как он до вас доходит.

СпособГде создаётся кодКак доходит до васОсновные слабые места
Приложение-аутентификатор (TOTP)На вашем телефонеНикуда не передаётся (вычисляется на устройстве)Ввод на поддельном сайте, восстановление после потери телефона
Аппаратный токенНебольшое отдельное устройствоНикуда не передаётся (показывается на его экране)Ввод на поддельном сайте, потеря устройства
SMSСервер сервисаСеть мобильной связиВвод на поддельном сайте, SIM-swap, перехват SMS
Электронная почтаСервер сервисаПочтаВвод на поддельном сайте, захват почтового аккаунта

Общее слабое место всех способов — ввод на поддельном сайте. Руководство по аутентификации Национального института стандартов и технологий США (NIST) SP 800-63B (редакция 4, август 2025 года) указывает, что вводимые вручную одноразовые пароли не могут быть устойчивыми к фишингу, и относит способы, использующие телефонную сеть, такие как SMS, к «ограниченным». Агентство по кибербезопасности и защите инфраструктуры США (CISA) в декабре 2024 года также рекомендовало не использовать SMS в качестве второго фактора.

Как соотносятся термины 2FA, двухэтапная проверка и passkey, сведено в сравнительной таблице в статье что такое двухфакторная аутентификация.

Как работает TOTP: в QR-коде хранится секрет

QR-код, который вы сканируете при настройке приложения-аутентификатора, содержит секретное значение, общее для сервиса и приложения. Приложение вычисляет код из этого значения и текущего времени, а сервис выполняет то же вычисление и проверяет совпадение.

  • Стандарт (RFC 6238) рекомендует шаг времени 30 секунд
  • С учётом сетевой задержки сервисы часто принимают и код предыдущего шага (стандарт рекомендует не более одного шага)
  • HOTP на основе счётчика (RFC 4226) продвигается вперёд, например, при каждом нажатии кнопки

Отсюда следует, что любой, у кого есть QR-код или строка секрета, может генерировать те же коды. Хранить снимок экрана настройки в облаке или чате — то же самое, что записать пароль.

Реальный пример: несанкционированные переводы в интернет-банке

В 2023 году в Японии резко выросло число несанкционированных переводов в интернет-банкинге. По данным Агентства финансовых услуг Японии (FSA), ущерб с января по ноябрь 2023 года составил 5147 случаев и около 8,01 млрд иен (по состоянию на 8 декабря) — оба показателя рекордные. FSA описывает схему так: пользователей заманивают на поддельные сайты письмами или SMS от имени банков, крадут ID, пароли, одноразовые пароли и подобные данные для интернет-банка, а затем переводят деньги.

Два урока из этого случая:

  • Одноразовый пароль не помогает, если вы ввели код на поддельном сайте: каким бы коротким ни был срок действия кода, его успевают использовать в тот же момент, когда вы его ввели
  • Остановить это можно до ввода: банки сообщают, что не запрашивают ID и пароли по почте или SMS. Не вводить коды на странице, открытой по ссылке из письма или SMS, — самый надёжный шаг, который может сделать пользователь

С тех пор брокеры и банки в Японии переходят к тому, чтобы сделать обязательной аутентификацию, которая не завершается на поддельном сайте, например passkey (что такое passkey).

Как проверить свои аккаунты и сервисы

1

Переведите аккаунты с SMS на приложение-аутентификатор

Откройте настройки 2FA для важных аккаунтов: почты, менеджера паролей, GitHub и облачных сервисов. Если используется SMS, добавьте приложение-аутентификатор (TOTP) и сделайте его основным способом. Если доступны passkey, добавьте и его. Для GitHub см. настройку 2FA на GitHub.

2

Подготовьтесь к новому или потерянному телефону

Проверьте, может ли приложение-аутентификатор переехать на другое устройство (функция резервного копирования или переноса). Сохраните коды восстановления каждого сервиса не на телефоне, а, например, в менеджере паролей.

3

Убедитесь, что QR-код и секрет нигде не валяются

Поищите снимки экрана с QR-кодами настройки или строками секрета в фотографиях, облачном хранилище или чатах и удалите найденное.

4

Если вы разрабатываете сервис, пересмотрите правила проверки

Ограничьте число неудачных попыток при проверке кодов (иначе 6-значный код реально подобрать перебором). Принимайте один и тот же код только один раз, даже в пределах срока действия. Допустимое расхождение часов держите около одного шага. Для учётных записей администраторов предлагайте passkey — они надёжнее одноразовых паролей.

Взгляд этого сайта: OTP — промежуточный шаг, а цель — passkey

OTP — отличный первый шаг из «только пароль». На деле, будь то SMS или TOTP, само его включение останавливает большинство захватов. Но наш сайт считает OTP промежуточным шагом, а не конечной целью. Пока фишинг «злоумышленник посередине» остаётся реальной угрозой, цель — passkey (FIDO2), чья подпись привязана к домену и по конструкции не может быть предъявлена поддельному сайту.

Приоритет ясен: сначала включите OTP везде, затем переведите самые важные аккаунты (почта, домен, платежи) на passkey. Смысл в том, чтобы не полагаться на «распознать поддельный сайт за счёт внимательности».

Источники (первичные)

  • IETF RFC 6238, «TOTP: Time-Based One-Time Password Algorithm» — rfc-editor.org (шаг времени 30 секунд, допуск не более одного шага на сетевую задержку)
  • IETF RFC 4226, «HOTP: An HMAC-Based One-Time Password Algorithm» — rfc-editor.org (одноразовые пароли на основе счётчика, ограничение неудачных попыток)
  • NIST SP 800-63B-4 (август 2025) — pages.nist.gov (вводимые вручную OTP не могут быть устойчивыми к фишингу, способы через телефонную сеть ограничены, каждый OTP принимается только один раз, ограничение частоты попыток)
  • CISA, «Mobile Communications Best Practice Guidance» (декабрь 2024) — cisa.gov (PDF) (не использовать SMS как второй фактор)
  • Агентство финансовых услуг Японии, предупреждение о росте несанкционированных переводов в интернет-банкинге из-за фишинга (на японском) — fsa.go.jp (случаи и ущерб за январь–ноябрь 2023 года, кража одноразовых паролей и подобных данных)

Читать дальше

FAQ

QЧем одноразовый пароль отличается от обычного?
A

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

QБезопасен ли одноразовый пароль по SMS?
A

Он явно сильнее одного пароля, но это самый слабый вид OTP. SMS можно перехватить через SIM-swap (угон вашего номера телефона) или выманить фишингом «злоумышленник посередине», где поддельный сайт его ретранслирует. Где можно, переходите на TOTP приложения-аутентификатора, а для важных аккаунтов — на passkey.

QПочему код приложения-аутентификатора меняется примерно каждые 30 секунд?
A

Потому что это TOTP (одноразовый пароль на основе времени). Приложение и сервис вычисляют один и тот же код из общего секрета и текущего времени с фиксированным интервалом (часто 30 секунд). Когда интервал проходит, старый код становится недействительным, и его сменяет новый. Короткая жизнь сужает окно, в котором украденный код пригоден.

QЧто значит ОТП-код (OTP-код), который приходит в SMS?
A

«ОТП» — это русская запись аббревиатуры OTP (one-time password), то есть одноразовый пароль. Код в SMS — это SMS-OTP: сервис проверяет, что телефон действительно у вас, поэтому код одноразовый и быстро истекает. Важно: сотрудники банка или поддержки никогда не просят назвать этот код. Если кто-то звонит или пишет и просит продиктовать код из SMS — это признак мошенничества; код вводят только на сайте или в приложении самого сервиса, и никому не сообщают.

QЧто делать, если я ввёл одноразовый пароль на поддельном сайте?
A

Считайте, что код уже использован. Войдите через закладку или официальное приложение — не по ссылке из письма или SMS — и смените пароль. Затем проверьте список устройств и сеансов, где выполнен вход, и убедитесь, что зарегистрированная почта, номер телефона и получатели платежей не изменены. Если это банк или брокер, сразу свяжитесь с компанией.

QПочему код из приложения-аутентификатора постоянно отклоняется?
A

Частая причина — неточное время на телефоне. TOTP вычисляет код по текущему времени, поэтому если часы устройства сбились, оно выдаёт не тот код, что сервис. Включите автоматическую установку даты и времени на телефоне и попробуйте следующий показанный код.

QЧто безопаснее: одноразовый пароль или passkey?
A

Passkey. С одноразовым паролем код читает и вводит человек, поэтому если ввести его на поддельном сайте, его можно ретранслировать как есть. NIST также указывает, что вводимые вручную одноразовые пароли не могут быть устойчивыми к фишингу. Подпись passkey привязана к домену сайта, поэтому на поддельном сайте вход не завершится.