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

WebAuthn

WebAuthn (Web Authentication) — это веб-стандарт, определяющий интерфейс программирования приложений (API) для аутентификации пользователей на веб-сайтах и в приложениях с использованием криптографических ключей вместо традиционных паролей. Разработанный Консорциумом Всемирной паутины (W3C) и альянсом FIDO (Fast IDentity Online), WebAuthn является ключевым компонентом инициативы FIDO2, направленной на создание безопасной и удобной беcпарольной аутентификации в интернете. Стандарт поддерживается всеми основными браузерами (Google Chrome, Mozilla Firefox, Apple Safari, Microsoft Edge) и операционными системами (Windows, macOS, Android, iOS).

История

Разработка WebAuthn началась в 2015 году в рамках работы альянса FIDO над спецификацией FIDO2. Основной целью было создание открытого, стандартизированного протокола, который позволил бы заменить пароли на криптографическую аутентификацию, устойчивую к фишингу, перехвату и утечкам баз данных. В 2016 году проект был передан в W3C, где началась работа над стандартом Web Authentication API.

4 марта 2019 года W3C официально утвердил WebAuthn в качестве рекомендации (W3C Recommendation), что стало важным этапом в развитии веб-безопасности. В 2021 году стандарт был обновлён (WebAuthn Level 2), добавив поддержку новых типов устройств (например, платформенных аутентификаторов на мобильных устройствах) и улучшенных сценариев использования. К 2023 году WebAuthn стал широко применяться крупными технологическими компаниями, включая Google, Apple, Microsoft, а также банковскими и государственными системами.

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

WebAuthn основан на асимметричной криптографии. При регистрации на сервисе (регистрация учётной записи) устройство пользователя (например, смартфон, ноутбук или внешний USB-ключ) генерирует пару криптографических ключей: закрытый (приватный) и открытый (публичный). Открытый ключ передаётся на сервер и связывается с учётной записью пользователя. Закрытый ключ остаётся на устройстве пользователя и никогда не покидает его, не передаётся по сети и не сохраняется на сервере.

При последующей аутентификации (входе в систему) сервер отправляет устройству пользователя случайный вызов (challenge). Устройство подписывает этот вызов закрытым ключом, и подпись отправляется обратно на сервер. Сервер проверяет подпись с помощью сохранённого открытого ключа. Если подпись верна, пользователь считается аутентифицированным. Таким образом, злоумышленник не может перехватить пароль (его нет) или подделать аутентификацию, не имея физического доступа к устройству пользователя.

Роли участников

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

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

Применение

WebAuthn используется в различных сферах, где требуется повышенная безопасность аутентификации:

Примеры реализации

Критика

Основные критические замечания в адрес WebAuthn связаны с вопросами удобства для конечных пользователей. Некоторые эксперты отмечают, что процесс настройки и восстановления доступа может быть сложным для неопытных пользователей. Также существует критика в отношении централизации: хотя протокол децентрализован, крупные платформы (Google, Apple, Microsoft) фактически контролируют экосистему Passkeys, что может привести к vendor lock-in. Кроме того, высказываются опасения, что массовое использование биометрических аутентификаторов может создать риски для приватности, если биометрические данные будут скомпрометированы (хотя стандарт не предусматривает их передачу на сервер).

Перспективы

WebAuthn рассматривается как один из ключевых элементов перехода к беcпарольному будущему. Ожидается, что по мере распространения поддержки стандарта в операционных системах и браузерах, а также снижения стоимости внешних аутентификаторов, WebAuthn станет основным методом аутентификации в интернете. В 2023 году альянс FIDO и W3C объявили о начале работы над WebAuthn Level 3, который должен расширить поддержку для мобильных устройств и улучшить взаимодействие между разными платформами.

Источники

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

На главную BFOmetr →