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

FIDO U2F

FIDO U2F (Universal 2nd Factor) — это открытый стандарт аутентификации, разработанный альянсом FIDO (Fast IDentity Online) для усиления безопасности учётных записей с помощью двухфакторной аутентификации (2FA). Стандарт предусматривает использование специализированных аппаратных ключей (токенов), которые генерируют криптографические подписи для подтверждения личности пользователя при входе в онлайн-сервисы. U2F предназначен для защиты от фишинга, перехвата сессий и кражи паролей, обеспечивая высокий уровень безопасности без необходимости ввода одноразовых кодов.

История

Разработка стандарта U2F началась в 2012 году в рамках деятельности альянса FIDO, основанного компаниями PayPal, Lenovo, Nok Nok Labs и другими. Целью создания было преодоление недостатков существующих методов двухфакторной аутентификации, таких как SMS-коды (уязвимые к SIM-свопу) и OTP-токены (подверженные фишингу). В 2014 году FIDO Alliance опубликовал спецификацию U2F 1.0, которая стала основой для первых коммерческих ключей, выпущенных компаниями Yubico (ключи YubiKey) и Google (ключи для внутреннего использования). В 2018 году стандарт U2F был интегрирован в более широкий протокол FIDO2, который включает WebAuthn (веб-стандарт для аутентификации без паролей) и CTAP (Client to Authenticator Protocol). Несмотря на появление FIDO2, U2F остаётся широко используемым в корпоративных средах и поддерживается многими онлайн-сервисами.

Принцип работы

Криптографическая основа

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

Процесс регистрации

  1. Пользователь вводит логин и пароль на сайте.
  2. Сервер отправляет запрос на регистрацию U2F-ключа, включающий случайный вызов (challenge) и идентификатор приложения (app ID).
  3. Пользователь вставляет ключ в USB-порт или подносит его к NFC-считывателю и нажимает кнопку на устройстве.
  4. Ключ генерирует новую пару ключей, подписывает вызов сервера и возвращает открытый ключ вместе с подписью.
  5. Сервер сохраняет открытый ключ и связывает его с учётной записью пользователя.

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

  1. Пользователь вводит логин и пароль.
  2. Сервер отправляет новый вызов и app ID.
  3. Пользователь активирует ключ (нажатием кнопки или касанием).
  4. Ключ подписывает вызов с помощью закрытого ключа и возвращает подпись.
  5. Сервер проверяет подпись с использованием сохранённого открытого ключа. Если подпись верна, доступ предоставляется.

Защита от фишинга

Ключевая особенность U2F — привязка к домену (app ID). Ключ подписывает запрос только для того домена, на котором был зарегистрирован. Это делает невозможным использование перехваченных данных на поддельном сайте: даже если злоумышленник скопирует страницу входа, ключ откажется подписывать запрос от другого домена.

Типы устройств

Аппаратные ключи

  • USB-ключи — наиболее распространённый тип, подключаемый к компьютеру через порт USB-A или USB-C. Примеры: YubiKey 5, Google Titan Security Key.
  • NFC-ключи — поддерживают бесконтактное взаимодействие с мобильными устройствами, поддерживающими NFC. Часто комбинируются с USB-интерфейсом.
  • Bluetooth-ключи — используют Bluetooth Low Energy (BLE) для связи с мобильными устройствами, не имеющими NFC. Пример: YubiKey 5Ci.
  • Смарт-карты — устройства формата кредитной карты с встроенным чипом, используемые в корпоративных средах.

Программные реализации

Существуют программные эмуляторы U2F, работающие на мобильных устройствах (например, в приложениях Google Authenticator или Authy), однако они считаются менее безопасными, так как закрытый ключ хранится в операционной системе, а не в изолированном аппаратном модуле. Альянс FIDO рекомендует использовать аппаратные ключи для максимальной защиты.

Поддержка в сервисах

Веб-браузеры

U2F поддерживается в браузерах на основе Chromium (Google Chrome, Microsoft Edge, Opera) и Firefox (начиная с версии 57). Safari и Internet Explorer не имеют встроенной поддержки U2F, но могут использовать расширения.

Онлайн-сервисы

  • Google — поддержка U2F для всех учётных записей Google (Gmail, Google Workspace, Google Cloud).
  • Microsoft — поддержка в Azure Active Directory, Microsoft 365 и учётных записях Microsoft.
  • **Facebook (продукт Meta, признанной экстремистской и запрещённой в РФ)** — поддержка U2F для двухфакторной аутентификации.
  • GitHub — поддержка U2F для защиты репозиториев и учётных записей.
  • Dropbox — поддержка U2F для корпоративных и личных аккаунтов.
  • Dashlane — менеджер паролей, поддерживающий U2F.
  • Российские сервисы — поддержка U2F ограничена. Некоторые банки (например, Сбербанк) используют собственные аппаратные токены, не совместимые с U2F. Государственные порталы (например, «Госуслуги») не поддерживают U2F, используя SMS-коды и приложение для генерации OTP.

Операционные системы

  • Windows — поддержка через Windows Hello и встроенные драйверы U2F.
  • macOS — поддержка через Safari (с версии 13) и сторонние браузеры.
  • Linux — поддержка через библиотеку libfido2 и модули PAM.
  • Android — поддержка через NFC и USB OTG (начиная с Android 7.0).
  • iOS — поддержка через NFC (начиная с iOS 13.4) и Bluetooth.

Преимущества и недостатки

Преимущества

  • Высокая устойчивость к фишингу — подпись привязана к домену, что делает атаки перехвата сессии бесполезными.
  • Простота использования — пользователю не нужно вводить коды или запоминать пароли; достаточно вставить ключ и нажать кнопку.
  • Аппаратная защита — закрытый ключ физически изолирован от операционной системы, что предотвращает его кражу через вредоносное ПО.
  • Открытый стандарт — спецификация U2F доступна для всех, что обеспечивает совместимость устройств от разных производителей.
  • Многофакторность — U2F может использоваться совместно с другими факторами (пароль, PIN-код, биометрия).

Недостатки

  • Необходимость физического устройства — ключ можно потерять, сломать или забыть дома. Для восстановления доступа требуется резервный ключ или альтернативный метод аутентификации.
  • Ограниченная поддержка — не все сервисы и устройства поддерживают U2F, особенно в России.
  • Стоимость — аппаратные ключи стоят от 20 до 50 долларов США, что может быть дорого для рядовых пользователей.
  • Уязвимость к физическому доступу — если злоумышленник получит физический доступ к ключу, он сможет аутентифицироваться (если не установлен дополнительный PIN-код).

Сравнение с другими методами 2FA

МетодУстойчивость к фишингуУдобствоСтоимостьБезопасность
SMS-кодыНизкая (SIM-своп, перехват)ВысокаяНизкаяНизкая
OTP-токены (Google Authenticator)Средняя (уязвимы к фишингу)СредняяБесплатноСредняя
U2F-ключиВысокая (привязка к домену)ВысокаяСредняяВысокая
Биометрия (отпечаток, лицо)Средняя (зависит от реализации)ВысокаяВстроеннаяСредняя
Push-уведомленияСредняя (зависит от приложения)ВысокаяБесплатноСредняя

Развитие и будущее

Стандарт U2F постепенно вытесняется более современным протоколом FIDO2, который включает WebAuthn и CTAP. FIDO2 поддерживает не только двухфакторную, но и безнарольную аутентификацию (passwordless), что позволяет полностью отказаться от паролей. Однако U2F остаётся актуальным для корпоративных сред, где уже развёрнута инфраструктура на его основе. Альянс FIDO продолжает поддерживать обратную совместимость: устройства U2F могут работать с сервисами, использующими FIDO2, через режим совместимости.

В 2023 году альянс FIDO объявил о планах по интеграции U2F-подобных механизмов в мобильные устройства через встроенные чипы безопасности (Secure Enclave в iOS и TEE в Android). Это позволит использовать смартфоны в качестве аппаратных ключей без дополнительных устройств.

Интересные факты

  • Первый коммерческий U2F-ключ — YubiKey NEO — был выпущен в 2014 году компанией Yubico.
  • Google использует U2F-ключи для защиты всех своих сотрудников с 2017 года, что позволило полностью исключить фишинговые атаки на корпоративные учётные записи.
  • В 2018 году стандарт U2F был принят в качестве рекомендации Национальным институтом стандартов и технологий США (NIST) для государственных учреждений.
  • Некоторые модели U2F-ключей (например, YubiKey 5) поддерживают до 25 различных учётных записей, каждая из которых защищена отдельной парой ключей.

Источники

  • FIDO Alliance. «FIDO U2F Technical Specification» (2014).
  • Yubico. «YubiKey User Manual» (2023).
  • Google Security Blog. «Protecting Google Accounts with U2F» (2017).
  • NIST Special Publication 800-63B. «Digital Identity Guidelines» (2018).
  • Microsoft. «Azure AD Passwordless Authentication with FIDO2 Security Keys» (2022).

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

На главную BFOmetr →