U2F
U2F (Universal 2nd Factor, универсальный второй фактор) — это открытый стандарт аутентификации, предназначенный для усиления безопасности учётных записей в интернете путём использования физического устройства (токена) в качестве второго фактора. Стандарт был разработан в 2012—2014 годах консорциумом FIDO Alliance (Fast IDentity Online) с участием таких компаний, как Google, Yubico и NXP Semiconductors. U2F позволяет пользователю подтвердить свою личность, вставив USB-ключ или используя устройство с поддержкой NFC или Bluetooth, и нажав на нём кнопку, без необходимости ввода одноразового кода.
История
Предпосылки создания
К началу 2010-х годов традиционные методы двухфакторной аутентификации, основанные на одноразовых паролях (TOTP, HOTP), отправляемых через SMS или генерируемых приложениями, показали ряд уязвимостей. Атаки с перехватом SMS (SIM-swapping), фишинг, при котором пользователь вводит код на поддельном сайте, и вредоносное ПО, перехватывающее ввод с клавиатуры, делали такие методы недостаточно надёжными. Потребность в физическом, криптографически защищённом устройстве, устойчивом к фишингу, стала очевидной.
Разработка и принятие
В 2012 году компания Google запустила внутренний проект по созданию аппаратного ключа безопасности. Параллельно с этим формировался консорциум FIDO Alliance. В 2014 году был опубликован первый проект спецификации U2F 1.0. Стандарт быстро получил поддержку: браузеры Google Chrome и Opera внедрили его на уровне платформы, а сервисы Google, Dropbox, GitHub и Facebook (продукт Meta, признанной экстремистской и запрещённой в РФ) начали поддерживать U2F-токены.
Эволюция и преемственность
В 2018 году FIDO Alliance представил стандарт WebAuthn (Web Authentication), который стал частью спецификации W3C. WebAuthn расширил возможности U2F, добавив поддержку биометрической аутентификации (отпечатки пальцев, Face ID) и встроенных в устройства датчиков (например, Touch ID на Mac). Однако U2F остаётся обратно совместимым с WebAuthn: большинство современных U2F-токенов работают и по новому протоколу.
Принцип работы
Криптографическая основа
U2F использует асимметричную криптографию (алгоритм ECDSA на эллиптической кривой P-256). Каждый токен при регистрации генерирует уникальную пару ключей: закрытый ключ хранится в защищённой памяти устройства и никогда не покидает его, открытый ключ передаётся серверу.
Процесс регистрации
- Пользователь вводит логин и пароль (первый фактор) на сайте.
- Сервер запрашивает регистрацию U2F-устройства, отправляя клиенту случайную строку (challenge) и идентификатор приложения (appID).
- Браузер передаёт запрос токену через USB, NFC или Bluetooth.
- Пользователь физически подтверждает действие, нажав кнопку на токене.
- Токен создаёт новую пару ключей, подписывает challenge закрытым ключом и возвращает сертификат устройства (аттестацию) вместе с открытым ключом.
- Сервер сохраняет открытый ключ и метаданные устройства для последующей аутентификации.
Процесс аутентификации
- После ввода пароля сервер отправляет новый challenge и appID.
- Токен подписывает challenge своим закрытым ключом и возвращает подпись.
- Сервер проверяет подпись с помощью сохранённого открытого ключа. Если подпись верна, аутентификация считается успешной.
Защита от фишинга
Ключевая особенность U2F — привязка к appID (домену сайта). Токен подписывает challenge вместе с appID, поэтому подпись, созданная для одного сайта (например, google.com), не может быть использована на поддельном сайте (g00gle.com). Браузер также проверяет соответствие appID текущему домену, что делает атаки типа «человек посередине» (MITM) практически невозможными.
Устройство и типы токенов
Аппаратная реализация
U2F-токен представляет собой компактное устройство (обычно размером с флеш-накопитель), содержащее:
- Микроконтроллер с защищённой памятью (secure element) для хранения закрытых ключей.
- Кнопку для физического подтверждения действий (защита от удалённых атак).
- Интерфейс подключения: USB-A, USB-C, NFC (для мобильных устройств) или Bluetooth Low Energy (BLE).
Основные типы
| Тип | Интерфейс | Особенности применения |
|---|---|---|
| USB-ключ | USB-A / USB-C | Подключается напрямую к компьютеру. Наиболее распространённый тип. |
| NFC-токен | NFC | Используется с мобильными устройствами (Android, iPhone). |
| Комбинированный | USB + NFC | Универсальное решение для работы и с ПК, и со смартфонами. |
| Bluetooth-токен | BLE | Подходит для устройств без USB-порта (например, iPad). |
Примеры устройств
- YubiKey (Yubico) — серия токенов, поддерживающих U2F, WebAuthn, OTP и другие протоколы.
- Google Titan Security Key — устройство, разработанное Google совместно с Yubico.
- Feitian ePass — токены китайского производителя Feitian Technologies.
Поддержка и применение
Поддерживаемые сервисы
U2F поддерживается крупнейшими интернет-платформами, в том числе:
- Google (Gmail, Google Workspace, Google Cloud)
- Dropbox
- GitHub
- Facebook (принадлежит Meta — организация признана экстремистской и запрещена в РФ)
- Microsoft (Azure, Office 365)
- Twitter (X)
- Cloudflare
Поддержка в браузерах и операционных системах
- Google Chrome и Chromium — встроенная поддержка с версии 38 (2014).
- Mozilla Firefox — поддержка добавлена в версии 57 (2017).
- Microsoft Edge — поддержка на базе Chromium.
- Safari — поддержка U2F ограничена, но полностью поддерживает WebAuthn.
- macOS, Windows, Linux — поддержка через браузеры и системные API.
- Android — поддержка через NFC и USB с версии 7.0 (Nougat).
- iOS — поддержка через NFC и Lightning-токены с версии iOS 13.3.
Применение в корпоративной среде
U2F широко используется в организациях для защиты административных панелей, систем управления доступом (IAM), VPN и облачных сервисов. Компании, такие как Google, внедрили U2F для всех своих сотрудников, полностью отказавшись от SMS-кодов.
Преимущества и недостатки
Преимущества
- Устойчивость к фишингу — подпись привязана к домену, что исключает подмену сайта.
- Простота использования — пользователю достаточно вставить ключ и нажать кнопку.
- Отсутствие одноразовых кодов — не нужно вводить цифры с экрана или ждать SMS.
- Аппаратная защита — закрытые ключи хранятся в защищённом элементе, недоступном для вредоносного ПО.
- Открытый стандарт — не зависит от одного производителя.
Недостатки
- Необходимость физического устройства — токен можно потерять или забыть.
- Ограниченная поддержка на мобильных устройствах — не все смартфоны имеют NFC или USB-C с поддержкой U2F.
- Отсутствие резервного копирования — при утере токена доступ к учётным записям может быть утерян, если не настроены резервные методы.
- Не поддерживает биометрию — в отличие от WebAuthn, U2F не использует отпечатки пальцев или Face ID.
Критика и уязвимости
Атаки на физический доступ
Если злоумышленник получает физический доступ к токену, он может использовать его для аутентификации, если знает пароль (первый фактор). Однако кнопка на устройстве предотвращает автоматическое использование.
Атаки на протокол
В 2019 году исследователи из Университета Бирмингема выявили уязвимость, связанную с возможностью перехвата и повторного использования подписи в некоторых реализациях U2F. Однако производители быстро выпустили обновления прошивок.
Проблемы совместимости
Некоторые старые версии браузеров или операционных систем не поддерживают U2F, что вынуждает пользователей использовать альтернативные методы аутентификации.
Будущее стандарта
Стандарт U2F фактически поглощён более широким стандартом WebAuthn, который является частью спецификации W3C. WebAuthn сохраняет все преимущества U2F, добавляя поддержку биометрии, встроенных датчиков устройств (например, Touch ID) и аутентификации без пароля (passwordless). Однако существующие U2F-токены продолжают работать и поддерживаются всеми современными браузерами.
Источники
- FIDO Alliance. «Universal 2nd Factor (U2F) Overview». 2014.
- Yubico. «How U2F Works». 2015.
- Google Security Blog. «Tightening up our 2-Step Verification with Security Keys». 2014.
- W3C. «Web Authentication: An API for accessing Public Key Credentials». 2019.
- Lang, J. et al. «Security Keys: Practical Cryptographic Second Factors for the Modern Web». 2016.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →