Битлента
Словарь терминов3 мин чтения·

Одноразовый пароль (OTP): как он работает и какие бывают виды

Что такое OTP, чем отличаются коды по времени, по счётчику, по SMS и push, где их используют и какие слабые места есть у каждого вида.

Код, который годится один раз

Одноразовый пароль, One-Time Password, OTP, это код, действительный для одной попытки входа или подтверждения операции. Если кто-то подсмотрит его после использования, повторить вход с ним уже нельзя. Это главное преимущество перед обычным паролем, который остаётся неизменным, пока его не поменяют.

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

Способы получения кода

Кодов существует несколько семейств. Присланный по каналу связи: SMS, звонок с автоматическим сообщением, письмо. Сгенерированный приложением или аппаратным брелком без обращения к сети: алгоритмы на основе времени и на основе счётчика. Подтверждение push-уведомлением, при котором вместо ввода кода нажимают кнопку в приложении. Отдельный вид это заранее выданные резервные коды на случай потери телефона: каждый из них тоже действует один раз.

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

Принцип генерации

Алгоритмы HOTP и TOTP описаны стандартами. В обоих случаях сервер и устройство заранее делят общий секретный ключ. Устройство комбинирует ключ с числом и получает по криптографической функции короткий код: в HOTP число это счётчик, растущий при каждом использовании, в TOTP оно вычисляется из текущего времени с шагом обычно в тридцать секунд.

Сервер выполняет то же вычисление и сравнивает результат. Поскольку код выводится из секрета односторонней функцией, по одному коду восстановить ключ нельзя. Подробности про код по времени вынесены на страницу про TOTP, а общий принцип стоит запомнить: секрет один раз передаётся при настройке, а дальше по сети ходят только одноразовые значения.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно

Слабые места

Ни один вид OTP не защищает от фишинга полностью. Если вас обманом заставили ввести код на поддельной странице, атакующий тут же передаёт его настоящему сервису, пока код действителен. Схема называется ретрансляцией. Точно так же в push-подтверждении пользователей утомляют серией запросов, ожидая, что кто-то нажмёт «разрешить» по ошибке.

Сюда добавляется угроза потери устройства и утраты резервных кодов, а для SMS ещё и подмена SIM. Более устойчивы к фишингу аппаратные ключи и passkey, которые привязывают подтверждение к адресу сайта.

Практические советы

Выбирайте вариант по важности аккаунта. Для почты, финансовых сервисов и менеджера паролей лучше приложение-аутентификатор, а при возможности аппаратный ключ. SMS оставьте для тех сервисов, где других способов нет.

Сохраните резервные коды офлайн: на бумаге или в надёжном хранилище, не в общей папке. Не сообщайте одноразовый код никому: настоящие сервисы и сотрудники поддержки его не запрашивают. Если код пришёл, а вы вход не выполняли, смените пароль и проверьте сессии.

Где ещё встречаются одноразовые коды

Помимо входа в аккаунты, одноразовые коды подтверждают платежи и переводы, привязку новой карты, смену настроек безопасности, получение посылки или доступ к государственным сервисам. Банковские приложения применяют собственные схемы: код генерируется на основе суммы и реквизитов операции, так что использовать его для другого платежа нельзя.

Отдельно встречаются одноразовые коды в виде списка на бумаге или карточки со стираемым защитным слоем: они использовались в интернет-банках раньше и остаются как резервный вариант. Их надо хранить отдельно от логина и пароля. Универсальное правило для всех видов: то, что вам прислали или показали, предназначено для ввода в тот момент, когда вы сами начали действие.

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

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно
otpаутентификациядвухфакторная защитакибербезопасность

Часто задаваемые вопросы

Читайте также