Открыть сервис

FIDO2

FIDO2 — это открытый стандарт аутентификации, разработанный альянсом FIDO (Fast IDentity Online) для замены парольной аутентификации на криптографические методы. Он позволяет пользователям входить в онлайн-сервисы и приложения без ввода пароля, используя для подтверждения личности аппаратные токены, биометрические данные (отпечаток пальца, лицо) или PIN-код. FIDO2 является развитием более ранних спецификаций FIDO (U2F и UAF) и включает в себя два ключевых компонента: протокол WebAuthn (Web Authentication), разработанный Консорциумом Всемирной паутины (W3C), и протокол CTAP (Client to Authenticator Protocol), разработанный альянсом FIDO.

История и предпосылки создания

Проблема парольной аутентификации стала очевидной к началу 2010-х годов: пароли легко поддаются фишингу, перебору, краже баз данных и социальной инженерии. В 2012 году был основан альянс FIDO, объединивший компании Google, Microsoft, PayPal, Yubico, Intel и других, с целью создания открытых, масштабируемых и безопасных протоколов аутентификации.

Первой спецификацией стал U2F (Universal 2nd Factor), выпущенный в 2014 году. Он предполагал использование аппаратного ключа в качестве второго фактора (после пароля). В 2015 году вышла спецификация UAF (Universal Authentication Framework), позволявшая полностью отказаться от пароля, используя биометрию или PIN на устройстве пользователя.

Однако обе эти спецификации требовали установки дополнительного программного обеспечения на стороне клиента (драйверов, браузерных плагинов), что ограничивало их распространение. В 2018 году альянс FIDO совместно с W3C представил стандарт FIDO2, который решал эту проблему. Ключевым нововведением стала интеграция протокола WebAuthn непосредственно в веб-браузеры и операционные системы, что устранило необходимость в сторонних плагинах. В 2019 году FIDO2 был признан международным стандартом ISO/IEC 29003.

Архитектура и компоненты FIDO2

Стандарт FIDO2 состоит из двух основных протоколов, работающих в связке:

WebAuthn (Web Authentication)

Это API (интерфейс программирования приложений), встроенный в веб-браузеры (Chrome, Firefox, Safari, Edge) и операционные системы (Windows, macOS, Android, iOS). WebAuthn определяет, как веб-сайт (полагающаяся сторона, RP) может взаимодействовать с аутентификатором пользователя через браузер. Процесс включает две операции:

CTAP (Client to Authenticator Protocol)

Это протокол, определяющий, как браузер (клиент) общается с аутентификатором — устройством, которое хранит закрытые ключи и выполняет криптографические операции. Существует две версии:

Типы аутентификаторов

FIDO2 поддерживает два основных типа аутентификаторов, различающихся по способу подключения и уровню безопасности:

Внешние (roaming) аутентификаторы

Это отдельные физические устройства, подключаемые к компьютеру или мобильному устройству. Наиболее распространённый тип — USB-ключи (например, YubiKey, Google Titan Security Key). Они также могут подключаться через NFC (для мобильных телефонов) или Bluetooth (для устройств без USB-порта). Внешние аутентификаторы обеспечивают высокий уровень безопасности, так как закрытые ключи физически изолированы от потенциально скомпрометированной операционной системы.

Встроенные (platform) аутентификаторы

Это программно-аппаратные модули, встроенные в устройство пользователя. К ним относятся:

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

Процесс аутентификации

Процесс входа с использованием FIDO2 обычно выглядит следующим образом:

  1. Пользователь заходит на сайт, поддерживающий FIDO2, и нажимает кнопку «Войти с помощью ключа безопасности» или «Использовать биометрию».
  2. Браузер вызывает API WebAuthn, который отправляет серверу запрос на получение случайного вызова (challenge).
  3. Сервер генерирует challenge и отправляет его браузеру.
  4. Браузер через протокол CTAP передаёт challenge аутентификатору (внешнему или встроенному).
  5. Аутентификатор запрашивает у пользователя подтверждение (нажатие кнопки на ключе, сканирование отпечатка пальца, ввод PIN).
  6. После подтверждения аутентификатор подписывает challenge закрытым ключом, соответствующим данному сайту.
  7. Подписанный challenge (цифровая подпись) возвращается браузеру, который отправляет его на сервер.
  8. Сервер проверяет подпись с помощью сохранённого открытого ключа. Если подпись верна — доступ разрешается.

Преимущества перед паролями

FIDO2 обладает рядом существенных преимуществ по сравнению с традиционной парольной аутентификацией:

Недостатки и ограничения

Несмотря на преимущества, FIDO2 имеет и определённые недостатки:

Применение и распространение

FIDO2 активно внедряется крупнейшими технологическими компаниями и государственными организациями:

Критика и перспективы

Основная критика FIDO2 связана с проблемой восстановления доступа при потере устройства. Некоторые эксперты отмечают, что стандарт требует от пользователя более высокой технической грамотности, чем пароли. Кроме того, существует опасение, что централизованное хранение открытых ключей на серверах может создать новые точки уязвимости (хотя сами ключи не являются секретом).

В ответ на эти проблемы разрабатывается концепция passkeys — синхронизируемых ключей, которые хранятся в облаке (например, в iCloud Keychain или Google Password Manager) и могут быть восстановлены на новом устройстве. Это делает FIDO2 более удобным для массового пользователя, но частично снижает уровень безопасности (так как ключи становятся доступны облачному провайдеру).

В целом, FIDO2 рассматривается как ключевой элемент перехода к беcпарольному будущему в интернете. Его внедрение продолжает расти, особенно после совместного заявления Apple, Google и Microsoft в 2023 году о расширении поддержки на мобильных платформах.

Источники

  1. Спецификация WebAuthn (W3C Recommendation, 2019).
  2. Спецификация CTAP 2.1 (FIDO Alliance, 2021).
  3. Документация FIDO Alliance: «FIDO2: WebAuthn & CTAP».
  4. Материалы конференции RSA Conference 2022: «The State of FIDO Authentication».
  5. Публикации Google Security Blog (2018-2023).
  6. Публикации Microsoft Security Blog (2020-2023).
  7. ISO/IEC 29003:2019 — Information technology — Security techniques — Authentication framework.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →