WebAuthn и FIDO2 связаны напрямую, но это не одно и то же. FIDO2 — более широкая система стандартов для беспарольной аутентификации, а WebAuthn — один из её ключевых компонентов, который позволяет веб-сайтам и приложениям взаимодействовать с безопасными аутентификаторами.
Если объяснять кратко: WebAuthn отвечает за связь между приложением и механизмом аутентификации через стандартный API, а FIDO2 описывает всю экосистему, включая взаимодействие с устройствами, которые выполняют криптографическую проверку пользователя. Поэтому WebAuthn нельзя полностью заменить понятием FIDO2, а FIDO2 нельзя свести только к браузерному API.
- Почему WebAuthn и FIDO2 часто путают
- Что такое WebAuthn
- Что такое FIDO2
- WebAuthn и FIDO2: ключевые отличия
- Как работают WebAuthn и FIDO2 вместе
- Какие бывают FIDO-аутентификаторы
- Практические сценарии применения
- Корпоративный вход без пароля
- Аппаратные ключи безопасности
- Вход со смартфона
- Passkeys
- Банковские и государственные сервисы
- Как связаны passkeys и FIDO2
- Что выбрать: WebAuthn или FIDO2?
- Ограничения и важные нюансы
- Типичные ошибки и заблуждения
- WebAuthn и FIDO2 — это полные синонимы
- FIDO2 — это только аппаратные ключи
- Биометрия является самим ключом
- WebAuthn хранит пароли безопаснее
- Беспарольный вход полностью устраняет риски
- FAQ
- Можно ли использовать WebAuthn без FIDO2?
- Является ли WebAuthn частью FIDO2?
- Что безопаснее: пароль или FIDO2?
- Поддерживают ли смартфоны FIDO2?
- Чем passkeys отличаются от FIDO2-ключей?
- Итог
Почему WebAuthn и FIDO2 часто путают
Причина путаницы в том, что в реальных системах эти технологии обычно работают вместе. Пользователь открывает сайт, нажимает кнопку входа без пароля, подтверждает действие отпечатком пальца, лицом или аппаратным ключом. Со стороны пользователя весь процесс выглядит как единая технология, поэтому термины часто используют как синонимы.
Однако на техническом уровне они находятся на разных уровнях архитектуры:
- WebAuthn — это веб-стандарт и API, через который сайт или приложение обращается к аутентификатору.
- FIDO2 — это набор стандартов, объединяющий WebAuthn и протокол CTAP2 для работы с аутентификаторами.
Понимание этой разницы помогает правильно проектировать системы аутентификации и выбирать подходящие технологии.
Что такое WebAuthn
WebAuthn (Web Authentication) — это стандарт API для веб-аутентификации, разработанный консорциумом W3C совместно с участниками экосистемы FIDO. Его задача — дать веб-приложениям возможность использовать криптографические методы входа вместо традиционных паролей.
Проще говоря, WebAuthn позволяет сайту сказать браузеру: «попроси устройство пользователя подтвердить его личность». При этом сайт не получает пароль и не должен хранить секретный ключ пользователя.
WebAuthn используется через JavaScript API в браузере. Приложение может выполнить две основные операции:
- Регистрация учётной записи. Пользователь создаёт новый способ входа. Устройство генерирует криптографическую пару ключей: закрытый ключ остаётся внутри аутентификатора, а открытый ключ передаётся сервису.
- Аутентификация. При входе сервис отправляет запрос, устройство подписывает данные закрытым ключом, а сервер проверяет подпись с помощью сохранённого открытого ключа.
Главная идея WebAuthn заключается в том, что сервер хранит не пароль, а публичную информацию, которая сама по себе не позволяет войти в аккаунт.
Что такое FIDO2
FIDO2 — это набор стандартов беспарольной аутентификации, развиваемый организацией FIDO Alliance. Он предназначен для создания единой модели взаимодействия между сервисами, клиентскими платформами и устройствами аутентификации.
В состав FIDO2 входят два основных элемента:
- WebAuthn — стандарт взаимодействия веб-приложения с аутентификатором через браузер или платформенный API.
- CTAP2 (Client to Authenticator Protocol) — протокол взаимодействия клиента с самим аутентификатором.
Именно CTAP2 объясняет, как браузер, операционная система или другое клиентское программное обеспечение могут общаться с внешним или встроенным устройством аутентификации.
Например, аппаратный ключ безопасности подключается к компьютеру через USB или беспроводной интерфейс. Браузер использует WebAuthn для работы с сайтом, а взаимодействие с самим ключом происходит через механизмы FIDO2, включая CTAP2.
WebAuthn и FIDO2: ключевые отличия
| Критерий | WebAuthn | FIDO2 |
|---|---|---|
| Уровень | API и веб-стандарт для приложений | Экосистема стандартов беспарольной аутентификации |
| Основная задача | Связать сайт или приложение с аутентификатором | Обеспечить полный процесс работы сервисов, клиентов и устройств |
| Кто использует | Разработчики веб-приложений, браузеры, платформы | Разработчики платформ, производителей устройств и сервисов |
| Основные компоненты | WebAuthn API | WebAuthn + CTAP2 |
| Где происходит взаимодействие | Между приложением и механизмом аутентификации | Между приложением, клиентской платформой и аутентификатором |
| Пример | Сайт запускает запрос входа через браузер | Система поддерживает аппаратные ключи, встроенную биометрию и другие FIDO-устройства |
Главное различие можно сформулировать так: WebAuthn — это часть FIDO2, отвечающая за взаимодействие приложения с аутентификацией, а FIDO2 — более полный набор правил для всей цепочки.
Как работают WebAuthn и FIDO2 вместе
Типичная архитектура беспарольного входа выглядит следующим образом:
Пользователь → сайт или приложение → WebAuthn API → браузер или операционная система → аутентификатор → криптографическая проверка
Каждый элемент выполняет свою роль:
- Пользователь подтверждает действие с помощью биометрии, PIN-кода устройства или физического ключа.
- Сайт или приложение создаёт запрос регистрации или входа.
- WebAuthn API передаёт запрос браузеру или платформе.
- Браузер или операционная система взаимодействуют с доступным аутентификатором.
- Аутентификатор выполняет криптографическую операцию и создаёт подтверждение.
- Сервер проверяет подпись и принимает решение о входе.
FIDO2 находится шире этой цепочки: он описывает не только запрос от сайта, но и правила работы между клиентом и устройством.
Какие бывают FIDO-аутентификаторы
FIDO2 не означает только использование физических ключей. Аутентификатором может быть как отдельное устройство, так и встроенный механизм платформы.
Основные варианты:
- Внешние аппаратные ключи. Это отдельные устройства, которые пользователь подключает к компьютеру или мобильному устройству.
- Встроенные аутентификаторы. Они находятся внутри смартфонов, компьютеров или других платформ и могут использовать биометрию или локальный PIN.
- Синхронизируемые учётные данные. Они используются в сценариях passkeys, когда ключи могут быть доступны на нескольких устройствах пользователя через механизмы конкретной платформы.
При этом биометрия сама по себе не является ключом FIDO. Отпечаток пальца или распознавание лица обычно используются для разблокировки криптографического ключа внутри устройства.
Практические сценарии применения
Корпоративный вход без пароля
Организации могут использовать WebAuthn и FIDO2 для доступа сотрудников к внутренним системам. Вместо ввода пароля пользователь подтверждает вход через аппаратный ключ или встроенный механизм устройства.
При проектировании таких систем необходимо учитывать регистрацию устройств, правила восстановления доступа и управление жизненным циклом учётных данных.
Аппаратные ключи безопасности
Физические ключи используются как отдельный фактор аутентификации. Они особенно актуальны для защиты аккаунтов с повышенными требованиями безопасности, например административных учётных записей.
Вход со смартфона
Современные мобильные платформы могут выступать в роли аутентификатора. Пользователь подтверждает действие биометрией или локальным кодом, а устройство выполняет криптографическую операцию.
Passkeys
Passkeys — это пользовательский сценарий беспарольного входа, основанный на принципах FIDO2 и использующий WebAuthn для взаимодействия приложений с аутентификаторами.
Банковские и государственные сервисы
Организации, которым требуется надёжная проверка личности пользователя, могут использовать криптографическую аутентификацию как часть своих систем безопасности. Конкретная реализация зависит от требований сервиса, законодательства и используемой инфраструктуры.
Как связаны passkeys и FIDO2
Интерес к FIDO2 значительно вырос вместе с распространением passkeys. Они позволяют отказаться от запоминания паролей и использовать криптографические ключи для входа.
Обычный пароль является секретом, который пользователь вводит и который сервер должен проверять. В модели FIDO2 сервер хранит открытый ключ, а закрытый ключ остаётся под контролем устройства пользователя.
Passkeys используют идеи WebAuthn, потому что приложениям нужен стандартный способ запросить регистрацию и вход. При этом сама концепция passkeys связана не только с API, но и с тем, как платформы управляют ключами пользователя.
Поэтому passkeys нельзя считать отдельным конкурентом FIDO2. Это один из практических способов применения принципов FIDO-аутентификации.
Что выбрать: WebAuthn или FIDO2?
В большинстве случаев это не выбор между двумя конкурирующими технологиями.
Если вы разрабатываете веб-приложение и хотите добавить вход без пароля, вам потребуется работать с WebAuthn API. Именно он предоставляет приложению интерфейс для регистрации и проверки пользователей.
Если задача шире и включает поддержку различных устройств, корпоративных политик, аппаратных ключей и платформенных аутентификаторов, необходимо учитывать экосистему FIDO2.
- Для веб-разработчика ключевым инструментом является WebAuthn.
- Для архитектора системы безопасности важна вся модель FIDO2.
- Для поддержки устройств необходимо учитывать CTAP2 и особенности платформ.
Ограничения и важные нюансы
Несмотря на преимущества беспарольной аутентификации, внедрение FIDO2 требует архитектурной подготовки.
- Поддержка платформ. Браузеры, операционные системы и устройства должны поддерживать необходимые возможности.
- Потеря устройства. Нужно заранее определить процесс восстановления доступа, удаления старых ключей и регистрации новых.
- Разные типы аутентификаторов. Аппаратный ключ и встроенный механизм смартфона имеют разные свойства управления и восстановления.
- Политика регистрации. Организации должны определить, кто и какие устройства может добавлять.
- Изменение инфраструктуры. Нельзя просто включить FIDO2 одной настройкой: требуется интеграция со стороны приложений, серверов и процессов управления доступом.
Типичные ошибки и заблуждения
WebAuthn и FIDO2 — это полные синонимы
Нет. WebAuthn является частью FIDO2. Эти понятия близки, потому что часто используются вместе, но описывают разные уровни.
FIDO2 — это только аппаратные ключи
Аппаратные ключи являются одним из вариантов использования, но FIDO2 также поддерживает встроенные аутентификаторы на устройствах.
Биометрия является самим ключом
Биометрические данные обычно используются локально для подтверждения пользователя и разблокировки криптографического материала. Они не передаются сервису как пароль.
WebAuthn хранит пароли безопаснее
WebAuthn не является системой хранения паролей. Его цель — заменить парольную проверку криптографической аутентификацией.
Беспарольный вход полностью устраняет риски
FIDO2 снижает ряд угроз, связанных с паролями, например фишингом паролей, но безопасность зависит от правильной настройки, управления устройствами и процессов восстановления.
FAQ
Можно ли использовать WebAuthn без FIDO2?
WebAuthn является частью экосистемы FIDO2, поэтому в практических сценариях он обычно используется вместе с механизмами FIDO-аутентификации. Сам API описывает взаимодействие приложения с аутентификатором, а полная модель включает дополнительные компоненты.
Является ли WebAuthn частью FIDO2?
Да. FIDO2 включает WebAuthn и CTAP2. WebAuthn отвечает за взаимодействие приложений с аутентификацией, а CTAP2 — за взаимодействие клиента с аутентификатором.
Что безопаснее: пароль или FIDO2?
FIDO2 использует другой подход: вместо передачи и проверки секрета применяется криптографическая проверка владения ключом. Уровень защиты зависит от реализации, настроек и процессов управления доступом.
Поддерживают ли смартфоны FIDO2?
Многие современные смартфоны и мобильные платформы поддерживают механизмы FIDO-аутентификации, однако конкретные возможности зависят от операционной системы, версии платформы и настроек устройства.
Чем passkeys отличаются от FIDO2-ключей?
FIDO2-ключ — это средство аутентификации, например аппаратное устройство. Passkeys — это пользовательский способ работы с криптографическими учётными данными, который использует принципы FIDO2 и WebAuthn.
Итог
Главное различие между WebAuthn и FIDO2 заключается в масштабе понятия. WebAuthn — это интерфейс, который позволяет приложениям использовать безопасную аутентификацию. FIDO2 — более широкая архитектура, включающая WebAuthn и CTAP2 для работы всей цепочки от сервиса до устройства.
Поэтому правильнее рассматривать их не как альтернативы, а как связанные уровни одной системы. WebAuthn помогает приложениям подключить беспарольный вход, а FIDO2 задаёт основу, благодаря которой разные устройства и платформы могут работать по единым принципам.
