Перейти к основному содержимому
  1. Статьи/

TOTP, WebAuthn и Passwordless Login — в чём разница?

·938 слов·5 минут· loading · loading · ·
Безопасность Технологии
Stilicho2011
Автор
Stilicho2011
Site owner
IAM-решения - This article is part of a series.
Part : This Article

У меня на ютуб-канале и на сайте есть серия статьей и роликов, посвященных IAM решениям: Authentik, Authelia, Keycloak и Zitadel. Все они обладают возможностями логиниться в разнообразные сервисы и идентификации пользователей с помощью totp кодов, биометрии и ключей. Но в ру-сегменте я не встречал четких объяснений, а что это за технологии, и чем они отличаются друг от друга. Цель это статьи постараться разобраться что же это такое.

TOTP, WebAuthn и Passwordless Login: в чём разница?
#

Современная аутентификация развивается быстрее, чем когда-либо. Если раньше пароль был единственным способом войти в учётную запись, то сегодня всё говорят о TOTP, WebAuthn и Passwordless Login. И даже далекий от it-технологий человек уже пользуются вышеперечисленными возможностями с теми же Госуслугами. Давайте разберём, что это за технологии, как они работают и чем отличаются.


1. TOTP — одноразовые коды по времени
#

TOTP (Time-based One-Time Password) — это метод двухфакторной аутентификации, при котором одноразовый код генерируется на основе текущего времени и секретного ключа.

Как это работает:

  • При привязке TOTP-приложение (Google Authenticator, Authy, Bitwarden, Vaultwarden и др.) получает секретный ключ от сервиса. Привязка представляет из себя простое сканирование qr-кода
  • Приложение каждые 30 секунд генерирует новый 6–8-значный код.
  • Пользователь вводит этот код при входе в дополнение к паролю.

Плюсы:

  • Простая интеграция в любые сервисы.
  • Не требует подключения к интернету для генерации кодов (не всегда).
  • Усиливает безопасность пароля.

Минусы:

  • Всё ещё зависит от знания пароля. То есть это не замена процедуры ввода пароля, а скорее дополнительная защита при вводе пароля. Если ваш пароль скомпрометирован, то этого еще недостаточно для злоумышленника, нужно получить доступ к физическому устройству, генерирующему totp код.
  • Уязвим к фишингу: злоумышленник может перехватить код в реальном времени (но это уже из раздела весьма специфических случаев, что могут уже к вам возникнуть вопрос, что же ты такое, что так интересен).

2. WebAuthn — аутентификация с помощью криптографии
#

WebAuthn (Web Authentication API) — это стандарт от W3C и FIDO Alliance, который позволяет входить в систему с помощью криптографических ключей, встроенных в устройство.

Как это работает:

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

Варианты использования:

  • Ключи безопасности (YubiKey, SoloKey).
  • Биометрия (отпечаток пальца, Face ID, Windows Hello).
  • Защищённые модули устройства (TPM, Secure Enclave).

Плюсы:

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

Минусы:

  • Требует поддержки браузером и сайтом.
  • Возможны сложности с переносом ключей между устройствами.
  • YubiKey достаточно дорогие устройства. Крайне желательно иметь копию на случай утери одного из YubiKey.

3. Passwordless Login — вход без пароля
#

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

Популярные варианты:

  • По e-mail: сервис присылает одноразовую ссылку (magic link).
  • По SMS/мессенджеру: код подтверждения приходит на телефон.
  • Через WebAuthn: криптографический вход без пароля. Я сам использую или Vaultwarden или Windows Hello, в зависимости от устройства.
  • Через OAuth: вход через Google, GitHub, Microsoft и др.

Плюсы:

  • Нет паролей → нечего забывать и нечему утекать.
  • Упрощает процесс входа для пользователей.
  • Может использоваться как основная или дополнительная аутентификация.

Минусы:

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

4. В чем разница между WebAuthn и Passwordless login
#

WebAuthn и Passwordless login пересекаются, но не одно и то же — первое скорее технология, второе — подход к аутентификации.


Связь между ними
#

  • WebAuthn — это конкретная, современная и безопасная технология, которая может использоваться для реализации passwordless login.
  • Passwordless login — это более широкое понятие, которое может использовать WebAuthn, но не ограничивается им.

Если совсем коротко
#

  • WebAuthn — инструмент (протокол, API).
  • Passwordless login — цель/стратегия (убрать пароли).

Сравнительная таблица
#

ХарактеристикаWebAuthnPasswordless login (в целом)
Что этоСтандарт и API для аутентификации с помощью ключей и криптографииМетод входа без пароля, любыми средствами
Технологическая базаАсимметричная криптография (публичный/приватный ключ)Может использовать разные технологии: WebAuthn, email-ссылки, одноразовые коды, biometrics API и т.д.
Примеры использованияYubiKey, Windows Hello, Face ID, встроенный TPMMagic link на email, код по SMS, push-уведомление, WebAuthn
БезопасностьОчень высокая: приватный ключ никогда не покидает устройство, защита от фишинга и утечек паролейЗависит от технологии: SMS/e-mail уязвимее, WebAuthn и biometrics — надёжнее
Удобство для пользователяБыстро, без ввода пароля, но требует поддерживаемого устройстваМожет быть проще (просто клик по ссылке), но иногда медленнее
Поддержка браузерамиСовременные браузеры (Chrome, Firefox, Safari, Edge) + OS-интеграцияЗависит от метода (e-mail/SMS работает везде)
Требования к инфраструктуреСервер должен реализовать FIDO2/WebAuthn APIМожет быть проще: только SMTP, SMS-шлюз или push-сервер
Можно использовать как 2FAДаДа, но не всегда (зависит от метода)
Основная цельЗаменить или дополнить пароль с помощью криптографииИзбавиться от паролей любым способом

5. Главное отличие между TOTP, WebAuthn и Passwordless Login
#

ТехнологияИспользует пароль?Основана на времени?Устойчива к фишингу?Пример использования
TOTP✅ Да✅ Да❌ НетGoogle Authenticator
WebAuthn❌ Нет❌ Нет✅ ДаYubiKey, Touch ID
Passwordless❌ Нет❌ / ✅Зависит от методаMagic Link, WebAuthn

6. Как выбрать?
#

  • Если нужен второй фактор к паролю — TOTP подойдёт почти всегда.
  • Если важна защита от фишинга и максимальная безопасность — WebAuthn с аппаратным ключом или встроенной биометрией.
  • Если хотите полностью избавиться от паролей — Passwordless Login (на основе WebAuthn или magic link) станет логичным выбором.

Выводы
#

TOTP — это усиление пароля.
WebAuthn — это безопасный вход без пароля с криптографией.
Passwordless Login — это концепция, где пароль не используется вообще, а WebAuthn — лишь один из способов её реализации.

IAM-решения - This article is part of a series.
Part : This Article