Подтверждение по SMS и одноразовый код (OTP): как это работает и насколько безопасно

Подтверждение по SMS и одноразовый код (OTP): как это работает и насколько безопасно

Подтверждение по SMS и одноразовый код (OTP): как это работает и насколько безопасно

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

Что такое одноразовый код

Одноразовый пароль (OTP, one-time password) — короткая комбинация из 4–8 цифр, которая действует один раз и очень недолго: обычно от одной до десяти минут. Смысл не в сложности кода, а в одноразовости: через минуту после использования цифры уже бесполезны.

SMS-код решает конкретную задачу: подтверждает, что человек по ту сторону экрана прямо сейчас имеет доступ к устройству с этой SIM-картой. Это не проверка личности и не проверка возраста — только контроль над номером.

Как это работает по шагам

  • Вы вводите номер. Сервис проверяет формат, страну и иногда — не числится ли номер в списках виртуальных.
  • Сервер генерирует код. Случайные цифры плюс срок жизни и привязка к вашей сессии. Хранится обычно не сам код, а его хеш, рядом — счётчик попыток.
  • Код уходит через SMS-шлюз. Сервис передаёт сообщение агрегатору, тот — оператору, оператор — на телефон. Здесь и возникает большинство задержек.
  • Вы вводите цифры обратно. Android подставляет код автоматически, iOS предлагает его над клавиатурой.
  • Сервер сверяет. Проверяются совпадение, срок годности и число попыток. После успеха код немедленно аннулируется.

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

Почему сервисы так любят SMS

Причины прагматичные, и они не про безопасность в первую очередь.

  • Ничего не нужно устанавливать. SMS принимает любой телефон, включая кнопочный, без интернета и приложений.
  • Номер стоит денег. Массовая регистрация ботов упирается в стоимость SIM-карт — это фильтр от накруток и фейковых отзывов.
  • Номер привязан к человеку. Во многих странах SIM оформляется по документу, что косвенно усложняет анонимные злоупотребления.
  • Понятно пользователю. Ввести четыре цифры умеют все — конверсия при регистрации выше, чем у любого другого метода.
  • Номер — это ещё и маркетинговый канал. Об этом редко говорят вслух, но телефон в базе стоит дороже email.

Слабые места, о которых стоит знать

Подмена SIM-карты

Мошенник восстанавливает «утерянную» SIM по поддельным документам или через сотрудника салона связи — и ваши коды приходят ему. Сценарий самый разрушительный: номер часто служит ещё и способом восстановления доступа к почте.

Перехват на уровне сети

Протокол SS7, на котором держится межоператорское взаимодействие, проектировался в эпоху, когда доверие между операторами подразумевалось по умолчанию. Атаки с перенаправлением SMS технически возможны, хотя требуют доступа к операторской инфраструктуре и применяются точечно.

Фишинг и релей в реальном времени

Самая массовая угроза и самая простая. Поддельный сайт просит ввести код и тут же вводит его на настоящем — одноразовость здесь не спасает. Отсюда универсальное правило: код из SMS не сообщают никому, включая «службу безопасности банка», курьера и «поддержку маркетплейса». Настоящий сотрудник код не спросит никогда.

Код виден на заблокированном экране

Уведомление с цифрами часто видно поверх блокировки — достаточно недолгого доступа к телефону. Скрытие содержимого уведомлений в настройках закрывает эту дыру за минуту.

Доставка просто не работает

Роуминг, перегруженный шлюз, фильтры оператора — и SMS не приходит вовсе. При переезде это болезненно вдвойне: старый номер остался в другой стране, а сервис требует именно его.

Когда SMS достаточно, а когда пора дальше

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

Переходить на приложение-аутентификатор стоит для почты (это ключ ко всем остальным аккаунтам), банков, криптокошельков, рабочих систем и аккаунтов с платёжными данными. Аутентификатор генерирует коды прямо на устройстве по общему секрету и текущему времени — без участия оператора связи, а значит без SIM-swap и SS7. Механика разобрана в материале про то, как устроен TOTP-код, а прямое сравнение двух подходов — в статье аутентификатор или SMS: что безопаснее. Посмотреть, как выглядят шестизначные коды, можно через онлайн-генератор кодов 2FA.

Максимальный уровень — аппаратный ключ (YubiKey и аналоги) или passkey: они устойчивы даже к фишингу, потому что не отдают подпись поддельному домену.

Что происходит с вашим номером

Телефон — устойчивый идентификатор. Почту меняют легко, номер — годами, поэтому он превращается в сквозной ключ, по которому вас узнают в разных базах. Отсюда практические выводы: заведите отдельный номер для разовых регистраций; проверьте в настройках приватности, не открыт ли поиск вас по номеру; не оставляйте телефон там, где хватило бы email.

Для разовых регистраций логика та же, что и с почтой: одноразовый почтовый ящик 1mail.lt или публичный номер для приёма SMS подходят, чтобы посмотреть сервис или получить промокод. Но важно помнить: временный номер публичный, его сообщения видит любой. Для банка, госуслуг и всего, что связано с деньгами и документами, используйте только личный номер.

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

Почему не приходит SMS с кодом?

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

Насколько безопасно подтверждение по SMS?

Это заметный шаг вперёд по сравнению с одним паролем и разумный минимум для повседневных сервисов. Но SMS зависит от оператора, поэтому уязвим к подмене SIM и, теоретически, к перехвату в сети. На практике людей чаще обманывают проще — просят продиктовать код по телефону. Для критичных аккаунтов надёжнее аутентификатор или аппаратный ключ.

Можно ли зарегистрироваться без своего номера телефона?

Иногда да. Часть сервисов допускает вход по email или через аккаунт Google и Apple, а телефон просит только при первой покупке. Временный номер годится для разовых регистраций, но не для аккаунтов, к которым вы планируете возвращаться: публичный номер вам не принадлежит, восстановить через него доступ не выйдет, а сообщения видны посторонним.

Теги:
#подтверждение по SMS # одноразовый код # OTP # двухфакторная аутентификация # код из SMS не приходит # аутентификатор # безопасность аккаунта