plane4bear

Приложение-аутентификатор, SMS или ключи доступа: какой способ 2FA выбрать

Сравниваем SMS, почту, приложения-аутентификаторы, push-запросы, аппаратные ключи и passkeys: защита от фишинга и подмены SIM и что выбрать для каждого аккаунта.

•6 мин чтения
Приложение-аутентификатор, SMS или ключи доступа: какой способ 2FA выбрать

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

Какие атаки действительно важны

Большинство взломов аккаунтов начинается с одного из трёх сценариев:

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

Хороший второй фактор должен выдерживать и два последних сценария. Здесь способы и начинают различаться.

SMS-коды

Сервис присылает код в SMS, а вы его вводите.

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

Из-за этих рисков рекомендации NIST по цифровой идентификации относят SMS и голосовые звонки к аутентификаторам с ограничениями (SP 800-63B). И всё же SMS намного лучше, чем один только пароль, а в некоторых банках это единственный вариант. Если вы на них полагаетесь, спросите у оператора, можно ли установить на номер PIN-код или защиту от переноса номера.

Коды по электронной почте

Код или «волшебная ссылка» для входа приходят на почту.

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

В тех же рекомендациях NIST сказано, что электронную почту нельзя использовать для внеполосной (out-of-band) аутентификации, потому что она не доказывает, что у вас есть конкретное устройство. Считайте коды на почту скорее каналом восстановления доступа, чем полноценной 2FA.

Приложения-аутентификаторы (TOTP)

Приложение на телефоне каждые 30 секунд генерирует новый код из секрета, общего с сервисом; обычно этот секрет передаётся в виде QR-кода. Алгоритм основан на открытом стандарте TOTP, поэтому одно приложение работает с тысячами сервисов. Если вы ещё не настроили аутентификатор, поможет наша пошаговая инструкция по настройке 2FA.

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

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

Подтверждение через push-уведомления

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

  • Плюсы: очень удобно, а хорошие реализации показывают, откуда идёт попытка входа.
  • Минусы: каждая такая система обычно работает только с аккаунтами своего производителя, а злоумышленники пользуются «MFA-усталостью» (MFA fatigue): шлют запрос за запросом, пока человек не нажмёт «Подтвердить», лишь бы это прекратилось.

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

Аппаратные ключи безопасности

Небольшой USB- или NFC-ключ, который вставляют в разъём или прикладывают к телефону. Современные ключи работают по стандартам FIDO2 и WebAuthn.

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

В рекомендациях CISA FIDO/WebAuthn названы широко доступным вариантом MFA, устойчивой к фишингу, и организациям настоятельно советуют переходить на него (памятка CISA).

Ключи доступа (passkeys)

Ключи доступа построены на тех же стандартах FIDO, что и аппаратные ключи, но учётные данные хранятся на телефоне или в менеджере паролей и разблокируются через Face ID, Touch ID или код-пароль устройства. На многих сайтах они полностью заменяют пароль, а не добавляют ещё один шаг (FIDO Alliance).

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

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

Лестница способов входа: от SMS к приложениям-аутентификаторам и ключам доступа

Какой способ выбрать для какого аккаунта

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

  • Основная почта, менеджер паролей, Аккаунт Apple или аккаунт Google. Через них можно сбросить всё остальное. Используйте ключи доступа или аппаратные ключи, где они поддерживаются, и держите про запас резервные коды или второй способ входа.
  • Рабочие аккаунты. Следуйте правилам работодателя. Многие организации уже требуют аппаратные ключи или ключи доступа.
  • Криптобиржи и брокерские счета. Приложение-аутентификатор или аппаратный ключ. Если есть выбор, избегайте SMS.
  • Банки. Многие предлагают только SMS или собственное приложение. Если у банка есть приложение, пользуйтесь им, а номер телефона защитите через оператора.
  • Соцсети, инструменты для разработчиков, облачные хранилища, интернет-магазины. Приложение-аутентификатор — оптимальный вариант.
  • Всё, где есть только SMS. Всё равно включайте. Это защитит от атак с повторным использованием паролей.

Почему приложение-аутентификатор — практичный выбор по умолчанию

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

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

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