FIDO2. Разбираемся со стандартами и будущим беспарольной аутентификации
2025
История идей беспарольной аутентификации: что такое FIDO2, как работают протоколы WebAuthn и CTAP, их механизмы защиты и существующие атаки — и насколько близко беспарольное будущее.
Проблема паролей. Первые серьёзные обсуждения отказа — с 2004 года (Билл Гейц на RSA: пароли “просто не отвечают задаче защитить что-либо действительно ценное”), но 20 лет спустя пароли живы. Что не так:
- люди не следуют рекомендациям: у каждого пользователя в среднем 4 готовых пароля, у каждого третьего — вариации одного (исследование 2022);
- пароли надо безопасно хранить с обеих сторон: 191 учётная запись в среднем (LastPass), люди используют бумажки и таблицы, а компании — вспомнить хотя бы Facebook с паролями в открытом виде;
- у злоумышленников накоплены опыт и инструменты подбора (словари, правила, утилиты — доступны даже скрипт-кидди) плюс социальная инженерия; 80–90% всех атак включают скомпрометированные учётные данные.
Фернандо Корбато, впервые реализовавший пароли в 1961 году, сам заявлял, что механизм не предназначался для веба и превратился в кошмар.
Эволюция. 1980-е — первый аппаратный токен OTP (Security Dynamics, ныне RSA); 1998 — патент AT&T на двухфакторную аутентификацию (пароль + OTP); 2000-е — SSO; 2011 — Motorola ATRIX со сканером отпечатка, 2013 — iPhone с Touch ID. Всего три фактора: знания, владения, свойства. Альтернативы: минимизировать недостатки паролей (SSO, OAuth, OpenID), комбинировать факторы (2FA, MFA) или не использовать факторы знания — беспарольная аутентификация (БА). БА и MFA — разные вещи. Главное заблуждение о БА: биометрия — локальное решение производителя аутентификатора; никто никуда отпечатки или их производные не посылает и ничего ими не подписывает (касается и FIDO2) — “массовая истерия по поводу утечки биометрических данных” безосновательна.
Зоопарк FIDO. После множества организаций и протоколов (OATH, OIDF, OASIS…) без общего решения, в июле 2012 PayPal, Lenovo и ещё четыре компании основали альянс FIDO (Fast IDentity Online) — миссия “сократить всеобщую зависимость от паролей” (Google и Microsoft присоединились в 2013; сейчас — несколько сотен компаний). Первый проект (FIDO 1.0): UAF (PayPal/Validity — биометрия без пароля на мобильных) и U2F (Google/Yubico — внешний токен как второй фактор). В 2015 спецификации объединены в FIDO 2.0, отправленный в W3C; май 2016 — WebAuthn, июль 2017 — U2F 1.2 (о же CTAP 1.0). Актуальные стандарты: WebAuthn Level 2 (2021) и CTAP 2.1 (2022). Запомнить: FIDO — альянс; FIDO1/FIDO2 — проекты, а не протоколы; UAF, U2F, CTAP, WebAuthn — протоколы. U2F ещё используется как 2FA, UAF — подтверждение действий в мобильных приложениях (например, банковских).
Архитектура FIDO2. Безопасный метод аутентификации на криптографии публичного ключа, состоит из двух протоколов: WebAuthn и CTAP (так было легче формализовать: W3C выпускает стандарты только для веба — получился “полустандартный стандарт” за ответственность консорциума W3C и альянса FIDO). Что FIDO2 НЕ покрывает: как получен аутентификатор (покупка/выдача на работе), как активирован (отпечаток/код), как хранятся ключи (шифрованное хранилище/браузерный менеджер). Passkeys тоже не регламентируются: в первых спецификациях понятия не было, позже так стали называть криптографические ключи; Passkeys — одна из реализаций ключа, совместимая с FIDO2, с полезными функциями вроде синхронизации между устройствами.
Участники: пользователь, аутентификатор, устройство пользователя, JS-клиент устройства (обычно браузер, может быть нативным приложением), ответственная сторона (Relying Party — сайт). WebAuthn — взаимодействие JS-клиент ↔ RP (клиентский API); CTAP — аутентификатор ↔ устройство пользователя (API аутентификатора; встроенный — Face ID, или внешний — YubiKey; транспорт USB, NFC или BLE). Взаимодействие устройство ↔ JS-клиент каждая платформа решает по-своему — чётких стандартов нет.
Церемонии. В FIDO2 две церемонии — регистрации и аутентификации (детальный разбор форматов вызовов и ответов — в полной версии статьи на xakep.ru).
Это краткая аннотация статьи, полную версию читайте в первоисточнике.
Первоисточник: Журнал “Хакер” (xakep.ru), 2025
Эксперт: Редакционный эксперт
