Всё, что стоит знать, и ничего лишнего.
От чего именно защищает каждый из них
Код аутентификации, основанный на времени и генерируемый приложением-аутентификатором на устройстве из общего секрета, никогда не передается по сети, поэтому он защищен от подмены SIM, перехвата SS7 и перехвата на сетевом уровне. SMS код передается по сети оператора, что означает, что он может быть перенаправлен при подмене SIM и, на плохо защищенных маршрутах, перехвачен на уровне сигнализации. Оба метода эффективны против обычного повторного использования паролей и подбора учетных данных — наиболее распространенной атаки.
Во сколько вам обходится каждый из них в очках пользователей
Приложения-аутентификаторы имеют «обрыв» регистрации: пользователь должен установить приложение, отсканировать код и сохранить устройство. Значительная доля пользователей не сможет пройти этот этап, а те, кто потеряет устройство, создадут дополнительную нагрузку на службу поддержки. SMS вообще не требует регистрации — у пользователя уже есть ваш номер. На рынках с низким уровнем проникновения смартфонов или там, где пользователи часто меняют телефоны, SMS не является слабым вариантом, это единственный работающий способ.
Разумная иерархия
Предлагайте в качестве основного фактора пароль или приложение-аутентификатор и сделайте процесс регистрации привлекательным. Используйте SMS в качестве резервного варианта, чтобы никто не был заблокирован. Наиболее надежные операции — перевод денег, изменение счета для выплат, отключение средств контроля безопасности — оставьте только для сильного фактора, и добавьте проверку состояния линии, чтобы недавняя замена SIM приводила к повышению уровня защиты. Таким образом, слабый фактор никогда не будет защищать то, потеря чего причинит наибольшую боль.
Если вы можете отправить только один
Внедряйте SMS OTP, и внедряйте его качественно: используйте прямые маршруты от оператора, чтобы код доставлялся за секунды, а не за минуты, обеспечьте короткий срок действия кода, низкий лимит попыток и голосовой резервный вариант для небольшой доли сообщений, которые так и не дошли. Качественно доставленный SMS код лучше, чем приложение-аутентификатор, в котором пользователь никогда не регистрировался, — и вы можете добавить более надежный фактор позже, не убирая резервный вариант.