21 февр. 2025 г.·6 мин

SMS OTP против приложений-аутентификаторов: как выбрать подходящую MFA

SMS OTP против приложений-аутентификаторов для MFA: сравните проблемы доставки, риск фишинга, пользовательское трение и реальные типы тикетов поддержки.

SMS OTP против приложений-аутентификаторов: как выбрать подходящую MFA

Почему выбор метода MFA превращается в головную боль для поддержки

Большинство людей замечают MFA только тогда, когда она даёт сбой. Код приходит с опозданием, у телефона нет сигнала или приложение удалилось при переходе на новое устройство. Пользователь застревает на экране входа, и то, что должно было давать дополнительную безопасность, превращается в «я не могу сделать свою работу».

Поэтому вопрос SMS OTP vs приложения-аутентификаторы — это не только спор о безопасности. Это продуктовое решение, которое меняет очередь поддержки, риск оттока и то, насколько часто команда будет делать ручные проверки личности.

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

Чтобы предсказать нагрузку на поддержку до релиза, сосредоточьтесь на четырёх областях: надёжность в реальных условиях (доставка сообщений и смены устройств), риск фишинга и перехвата аккаунта, пользовательский трение (настройка и каждый вход) и типы тикетов, которые вы действительно увидите.

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

Доставка SMS OTP: что ломается в реальной жизни

SMS кажется простым, но «отправлено» не равно «получено и использовано». Именно здесь команды удивляются объёму обращений.

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

Международное использование добавляет острых углов. В некоторых странах есть ограниченная поддержка для определённых маршрутов. Некоторые операторы по умолчанию блокируют верификационные сообщения. Роуминг может перенаправлять трафик так, что это добавляет минуты. Если ваши пользователи путешествуют, вы увидите тикеты «дома работает, за границей — нет».

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

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

Что стоит мониторить (и показывать в админке): число попыток отправки на вход, подтверждения доставки от провайдера, время до получения кода (время отправки vs время ввода), причины ошибок от провайдера (заблокировано, неверный номер, троттлинг) и срабатывания повторных отправок/блокировок.

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

Надёжность приложений-аутентификаторов: где пользователи застревают

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

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

Большинство проблем не в самом приложении-аутентификаторе. Они связаны с телефоном и ожиданиями пользователя:

  • Неправильное время на телефоне, поэтому коды не совпадают (ручная настройка времени — частая причина).
  • Приложение-аутентификатор удалили при чистке, и аккаунт кажется «заблокированным».
  • Телефон потерян или стер сам по себе, и резервного метода нет.
  • Пользователь сменил телефон и предположил, что коды перенесутся автоматически.
  • Пользователь регистрировался на рабочем телефоне и потерял доступ после смены работы.

Удобство важнее, чем команды ожидают. Переключение приложений во время входа, копирование кода и гонка с таймером вызывают стресс. Ясные подсказки помогают: говорите, где именно найти код, что делать при ошибке и поддерживайте автозаполнение, если платформа это позволяет.

Ожидания по многим устройствам и что отслеживать

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

Несколько сигналов ловят трение рано: процент завершённых регистраций (кто начал, но не закончил), повторные неудачные коды (часто синхронизация времени), использованные пути восстановления (потерянный телефон, новое устройство, удалённое приложение), отток после MFA-подсказки и теги поддержки по причинам.

Устойчивость к фишингу и риск перехвата аккаунта

Фишинг — вот где проявляется реальная уязвимость.

При SMS OTP распространённая атака — ретрансляция в реальном времени. Пользователь попадает на фейковую страницу входа, вводит пароль, затем получает SMS-код. Злоумышленник тут же использует этот код на реальном сайте, пока пользователь смотрит на фейковую страницу. Код действителен — вход удаётся.

SMS также несёт телеком-риски. SIM-swap и атаки по переносу номера позволяют кому-то взять под контроль номер и получать OTP без ведома пользователя. Для ценных аккаунтов это особенно опасно: злоумышленник может сбрасывать пароли и пробовать заново, пока не войдёт.

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

Если вам нужна более сильная защита, чем просто ввод кода, push-подтверждения помогают — особенно с сопоставлением номера устройства или явными деталями вроде названия приложения и города. Push всё ещё можно злоупотреблять через «утомление одобрением», но это повышает барьеры по сравнению с вводом 6-значного кода.

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

  • Используйте дополнительную проверку для чувствительных действий (смена почты, платёжных данных, добавление нового устройства).
  • Перепроверяйте MFA при смене IP или устройства и не давайте долгоживущих сессий для рискованных входов.
  • Делайте экраны входа узнаваемыми — чёткие продуктовые подсказки помогают пользователям быстрее заметить фейковые страницы.
  • Ограничивайте частые попытки и бросайте вызов при необычных паттернах (невозможные перемещения, быстрые неудачные попытки).
  • Усложняйте злоупотребление восстановлением доступа, особенно для ценных пользователей.

Пользовательское трение: где люди бросают поток

Создайте MFA без хаоса в поддержке
Создавайте MFA-потоки с экранами админского сброса и журналами аудита без тяжёлой разработки.
Попробовать AppMaster

Люди редко уходят, потому что «ненавидят безопасность». Они уходят, потому что вход кажется медленным, запутанным или непредсказуемым.

Крупнейшая разница в трении — это время. SMS заставляет ждать. Приложения-аутентификаторы просят что-то настроить.

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

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

Наиболее предсказуемые места оттока: ожидание SMS 30–90 секунд с последующим получением нескольких кодов; опечатки при переключении приложений; смена устройства (новый телефон, стертый телефон, рабочий телефон без возможности установки приложений); поездки (роуминг, новая SIM, номер, не принимающий сообщения за границей); и случаи, когда пользователь не контролирует надёжно «второе устройство».

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

Следите за воронкой. Если шаг 1 (ввод номера) в порядке, но шаг 2 (ввод кода) резко падает — подозревайте задержки SMS или путаницу с кодом. Если отток происходит после экрана с QR, значит настройка слишком тяжёлая для этого момента.

Тикеты в поддержку, которые стоит ожидать (и как их триажить)

Большая часть работы поддержки по MFA не про «безопасность». Она про людей, которые заблокированы в самый неподходящий момент: вход перед сменой смены, сброс пароля перед демо или админ, который пытается подключить нового сотрудника.

Если вы сравниваете SMS OTP vs приложения-аутентификаторы, планируйте очередь поддержки вокруг режимов отказа, а не счастливого пути.

Типичные темы тикетов

Вы будете видеть повторяющиеся шаблоны.

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

Для приложений-аутентификаторов: потерянный телефон, новое устройство, переустановленное приложение, «коды не совпадают», путаница, в каком приложении/профиле хранится код.

Админы также будут создавать тикеты по политике и аудитам: «Пользователь заблокирован, сбросьте MFA» и «Кто сбросил MFA для этого аккаунта?» — им нужен понятный процесс и бумажный след.

Что собрать прежде чем начинать триаж

Хорошая форма для триажа экономит время. Спросите идентификатор аккаунта и метод MFA, отметку времени и часовой пояс последней попытки (и пришёл ли хоть какой-то код), время и способ последнего успешного входа, данные устройства (модель и версия ОС) и менялось ли устройство недавно. Для SMS дополнительно укажите страну номера и оператора, если известно.

С этими данными поддержка быстро выбирает следующий шаг: повторная отправка (с огранчениями), проверка номера, ожидание снятия лимитов или безопасный сброс MFA.

Ответы поддержки, которые сокращают переписки

Держите ответы простыми и без упрёков. Одна макрос-подсказка покрывает большинство случаев:

“Подтвердите, пожалуйста, время попытки (с вашим часовым поясом) и пришло ли вам хоть одно SMS. Если вы недавно сменили телефон или переустанавливали приложение-аутентификатор, скажите когда. Если вы заблокированы, мы можем сбросить MFA после проверки вашей личности.”

Пошагово: как выбрать и внедрить подходящую MFA

Продумайте восстановление до релиза
Разработайте поток входа и восстановления, который справляется с потерянными телефонами, новыми устройствами и поездками.
Начать создавать

Начните с одного честного вопроса: что вы защищаете и от кого? Рисковый профиль у рассылки новостей для потребителей отличается от расчётов зарплат, медицинских данных или админ-панели.

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

План внедрения, который предотвращает пожары в поддержке:

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

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

  3. Спроектируйте регистрацию и восстановление до запуска. Восстановление не должно зависеть от того же, что может сломаться (например, только SMS). Решите, как вы будете поступать при потере устройства, смене номера и «я никогда не получил код».

  4. Внедряйте постепенно и простыми словами объясняйте, зачем это нужно. Начинайте с ролей повышенного риска (админы, финансы) или небольшой части пользователей.

  5. Обучите поддержку и отслеживайте ошибки. Дайте агентам простое дерево решений и чёткие правила для проверок личности. Наблюдайте отказы доставки, блокировки, время регистрации и запросы на восстановление.

Частые ошибки и ловушки

Улучшите экраны MFA
Создайте понятные веб-подсказки для регистрации, верификации и восстановления, чтобы сократить количество неудач.
Создать веб-приложение

Большинство провалов при внедрении MFA происходят по простым причинам: политика слишком жёсткая, восстановление слабое или UI оставляет пользователя в догадках.

Частая ловушка — сделать SMS единственным способом вернуть доступ. Номера меняются, SIM-ы меняют владельца, и некоторые пользователи не принимают SMS в поездках. Если SMS — и второй фактор, и метод восстановления, вы рано или поздно получите навсегда заблокированные аккаунты.

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

Ловушки, которые порождают наибольшее количество лишней работы для поддержки:

  • Правила повторной отправки и лимитов, которые наказывают реальных пользователей (слишком строгие) или помогают атакующим (слишком слабые). Стремитесь к коротким паузам, явному тексту с обратным отсчётом и жёстким лимитам с безопасным запасным вариантом.
  • Отсутствие вариантов восстановления кроме основного фактора. Резервные коды, второе устройство-аутентификатор или поддержка через помощь сотрудника предотвращают тупики.
  • Нет админских инструментов для сбросов и отсутствует история изменений. Поддержке нужно видеть, когда MFA включали, что меняли и кто это сделал.
  • Сообщения об ошибках, которые винят пользователя. «Неверный код» без подсказки приводит к бесконечным попыткам. Скажите, что попробовать дальше.
  • Рассматривать повторные ошибки как «ошибку пользователя», а не проблему продукта. Если конкретный оператор, страна или модель устройства коррелирует с ошибками — это исправимая закономерность.

Быстрая контрольная перед финальным решением

Тестируйте поток входа так, как это будут делать реальные пользователи: уставшие, в поездке, переключаясь между телефонами или заблокированные за пять минут до встречи. Лучший метод — тот, который пользователи проходят надёжно, а ваша команда поддерживает без рискованных обходных путей.

Задайте себе вопросы:

  • Может ли пользователь пройти MFA без сотовой связи или в поездке (режим самолёта, блокированный роуминг, смена SIM, смена номера)?
  • Имеется ли безопасный и простой путь восстановления (коды восстановления, доверенные устройства, временное восстановление или проверка через поддержку)?
  • Могут ли в поддержке быстро проверить личность без запроса чувствительных данных (не полные пароли, не полные номера карт) и есть ли задокументированный сценарий сброса?
  • Логируете ли вы неудачные попытки MFA и оповещаете ли о подозрительных паттернах (много попыток, много аккаунтов с одного IP, повторные неудачи после сброса пароля)?
  • Ясно ли на экране написано, откуда придёт код и что делать дальше?

Если на вопрос о восстановлении вы ответили «возможно», приостановитесь. Большинство захватов аккаунтов происходят как раз во время восстановления, и большинство раздосадованных пользователей приходят, когда путь восстановления запутан.

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

Пример: клиентский портал с глобальной аудиторией

Поддержите MFA и на мобильных устройствах
Добавьте нативные мобильные экраны для регистрации и потоков доверенных устройств вместе с веб-порталом.
Создать мобильное приложение

Шестеро в команде управляют порталом для 1 200 активных пользователей в США, Индии, Великобритании и Бразилии. Доступ получают ещё 40 подрядчиков, которые приходят и уходят. Сбросы паролей уже создают шум, поэтому они добавляют MFA в надежде снизить количество захватов аккаунтов без лавины тикетов.

Они сначала ставят SMS OTP по умолчанию. На первой неделе всё выглядит нормально, пока в одном регионе не начинается задержка у оператора в часы пик. Пользователи просят код, ждут, просят снова и получают три кода одновременно. Некоторые вводят самый старый код, получают ошибку и блокируют доступ. В поддержку приходят волной тикеты: «Код не пришёл», «Мой код всегда неверный», «Я в поездке, номер сменился». Даже без глобального сбоя проблемы доставки всплывают для VoIP-номеров, роумеров и жёсткой фильтрации спама.

Они добавляют приложения-аутентификаторы как опцию и видят другую картину. Большинство входов проходят гладко, но неудачи становятся более резкими: кто-то обновляет телефон, коды не переносятся, кто-то удаляет приложение, или подрядчик пропускает шаг «сканировать QR» и застревает. Тикеты звучат так: «Новый телефон, не могу войти», «Коды не совпадают», «Я потерял устройство».

Схема, которая снижает сюрпризы, часто выглядит так:

  • По умолчанию — приложение-аутентификатор для новых пользователей, с SMS как резервом (не единственным методом).
  • Предлагать коды восстановления и понятный поток «потерянного устройства», который запускает ручные проверки.
  • Требовать дополнительной проверки для рискованных действий, таких как смена платёжных реквизитов или добавление нового админа.
  • Для подрядчиков — короткие сессии и повторные проверки на новых устройствах.

Следующие шаги: внедрить MFA, не замедляя продукт

Выберите метод MFA по умолчанию, который подходит большинству ваших пользователей, затем добавьте резерв.

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

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

Логи, которые обычно окупаются: метод MFA и отметка времени, ответ провайдера доставки (accepted, queued, failed), число попыток верификации с последней причиной ошибки и последний успешный метод MFA с датой.

Ускорьте поддержку одним небольшим экраном: статус MFA пользователя, недавние неудачи и контролируемый поток сброса с аудиторским следом.

Если вы собираете портал без тяжёлой разработки, AppMaster (appmaster.io) может помочь собрать бэкенд, веб и мобильное приложение вокруг этих потоков, включая админские виды и логирование событий, которые уменьшают домыслы при разборе тикетов.

Ролл-аут делайте пилотным, наблюдайте метрики отказов неделю, затем расширяйте. Отслеживайте процент завершения, частоту повторных отправок, время на завершение MFA и объём тикетов на 1 000 входов. Улучшайте поток, обновляйте playbook и масштабируйте.

Вопросы и ответы

Which is usually the better default: SMS OTP or an authenticator app?

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

Do I need a backup MFA method, or is one method enough?

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

How can I reduce “I pressed resend and now nothing works” SMS tickets?

Добавьте короткую паузу между отправками, показывайте явный таймер и делайте старые коды недействительными при выдаче нового — это сокращает путаницу с «несколькими кодами». Объясните на экране, что работает только самый новый код. Эти простые UX-правки обычно снижают петли повторной отправки и количество гнева в тикетах.

How do I handle users who can’t receive SMS while traveling or roaming?

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

Why do authenticator codes sometimes “never match,” and what should users do?

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

Can users use an authenticator app on more than one device?

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

Are recovery codes worth it, and how should I use them?

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

How do I protect against phishing if both methods use 6-digit codes?

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

What should I log to troubleshoot MFA issues without guesswork?

Логируйте достаточно, чтобы быстро ответить на три вопроса: было ли отправлено испытание, пытался ли пользователь подтвердить, и почему это не сработало. Практичные поля: метод MFA, отметки времени, статус отправки/поставщика для SMS, число попыток верификации, последняя причина ошибки и последний успешный метод MFA. Такие логи превращают длинные переписки в быстрые решения.

How should support reset MFA safely without creating account takeover risk?

Проводите контролируемый сброс, требующий проверки личности, со степенью строгой проверки, соответствующей вашему риску, и фиксируйте, кто и когда сделал сброс. Избегайте сбросов по легко подделываемым данным вроде ответа на письмо. В AppMaster вы можете собрать внутренний админ-интерфейс, показывающий статус MFA и недавние ошибки, и направлять сбросы через аудируемый рабочий процесс, чтобы поддержка не импровизировала под давлением.

Легко начать
Создай что-то невероятное

Экспериментируйте с AppMaster с бесплатной подпиской.
Как только вы будете готовы, вы сможете выбрать подходящий платный план.

Попробовать AppMaster