Содержание
Двухфакторная аутентификация (2FA) требует при входе не только пароль, но и подтверждение вторым способом — кодом из приложения, ключом безопасности или биометрией на устройстве. Она защищает аккаунт, даже если пароль утёк. Ещё надёжнее и удобнее passkeys: вход без пароля по ключу, который хранится на устройстве пользователя и не может быть украден фишинговым сайтом.
Разберём, какие бывают вторые факторы, как работают passkeys, как организовать восстановление доступа и как внедрить защиту, не усложнив вход.
Почему одного пароля недостаточно?
Пароли утекают постоянно: пользователи используют одни и те же пароли на разных сайтах, базы взломанных сервисов публикуются, а фишинговые страницы выглядят как настоящие. Злоумышленники автоматически перебирают утёкшие пары «почта — пароль» на тысячах сайтов.
Основные угрозы:
- повторное использование паролей — утечка с одного сайта открывает аккаунты на других;
- фишинг — пользователь сам вводит пароль на поддельной странице;
- перебор — простые пароли подбираются автоматически, подробнее в статье rate limiting;
- вредоносные программы — перехват паролей на заражённом устройстве.
Какие бывают вторые факторы?
Вторые факторы различаются надёжностью и удобством. SMS — самый привычный, но наименее надёжный: код могут перехватить при подмене SIM-карты. Приложения-аутентификаторы надёжнее, а аппаратные ключи и passkeys защищают даже от фишинга.
| Способ | Надёжность | Удобство | Защита от фишинга |
|---|---|---|---|
| SMS-код | Низкая | Высокое | Нет |
| Код на почту | Низкая | Среднее | Нет |
| Приложение-аутентификатор (TOTP) | Средняя | Среднее | Нет |
| Push-подтверждение в приложении | Средняя | Высокое | Частично |
| Аппаратный ключ безопасности | Высокая | Среднее | Да |
| Passkey | Высокая | Высокое | Да |
Фото: Unsplash
Как работают passkeys?
Passkey — это пара криптографических ключей: закрытый хранится на устройстве пользователя и защищён отпечатком пальца, лицом или PIN-кодом, открытый — на сервере. При входе сервер отправляет задачу, устройство подписывает её закрытым ключом, и сервер проверяет подпись. Пароль не передаётся вообще.
Почему это надёжнее:
- закрытый ключ никогда не покидает устройство и не хранится на сервере — утечка базы его не раскрывает;
- ключ привязан к домену сайта, поэтому фишинговая страница не сможет им воспользоваться;
- нечего подбирать и нечего повторно использовать на других сайтах;
- пользователю не нужно ничего запоминать — вход по отпечатку или лицу.
Технически passkeys работают на стандарте WebAuthn, который поддерживают все современные браузеры и операционные системы. Про другие способы аутентификации — статья сессии, JWT и OAuth.
Как организовать восстановление доступа?
Восстановление доступа — самое слабое место любой защиты: если сбросить второй фактор можно одним письмом в поддержку, злоумышленник так и поступит. Поэтому сценарий потери телефона продумывают заранее.
- Резервные коды. При включении 2FA пользователь получает одноразовые коды и сохраняет их.
- Несколько факторов. Можно добавить второй ключ или устройство.
- Проверка при сбросе. Сброс через поддержку — с подтверждением личности и задержкой, о которой уведомляют по всем каналам.
- Уведомления. О каждом изменении способов входа пользователь получает письмо.
Как внедрить защиту, не испортив вход?
Защиту внедряют постепенно и с заботой о пользователях: сначала предлагают, объясняют пользу, делают настройку в пару шагов. Обязательной двухфакторную аутентификацию делают для администраторов и сотрудников, а для клиентов — включают при рискованных действиях.
- предлагайте passkey сразу после успешного входа по паролю;
- запрашивайте второй фактор при входе с нового устройства или из необычного места;
- требуйте повторного подтверждения перед критичными действиями: сменой почты, выводом денег;
- обязательная 2FA для админки и сотрудников — без исключений;
- запоминайте доверенные устройства, чтобы не спрашивать код каждый раз.
О защите данных в целом — статьи OWASP Top 10 простыми словами и шифрование данных.
Коротко
- Пароли утекают, поэтому нужен второй фактор.
- SMS — самый слабый вариант, приложения надёжнее, passkeys и аппаратные ключи защищают от фишинга.
- Passkeys работают на WebAuthn: ключ не покидает устройство и привязан к домену.
- Продумайте восстановление доступа: резервные коды, несколько факторов, уведомления.
- Обязательная 2FA — для сотрудников, для клиентов — мягкое внедрение и проверка при риске.
Частые вопросы
Нужно ли делать двухфакторную аутентификацию обязательной?
Для администраторов, сотрудников и аккаунтов с доступом к деньгам или чужим данным — да. Для обычных пользователей лучше предлагать её настойчиво, но добровольно, или включать при подозрительных входах.
Что будет, если пользователь потеряет телефон с passkey?
Обычно passkeys синхронизируются через облако аккаунта Apple, Google или менеджера паролей и восстанавливаются на новом устройстве. Дополнительно стоит разрешать несколько ключей и иметь резервный способ входа.
Сложно ли добавить passkeys в существующий сайт?
Для популярных фреймворков есть готовые библиотеки WebAuthn, а поддержка есть во всех современных браузерах. Обычно это несколько дней работы плюс продумывание сценариев восстановления.



