• webauthn
  • ключ-доступ
  • аутентификация
  • MFA

WebAuthn и ключ-доступ 101

Получите всестороннее представление о WebAuthn, включая его концепцию, рабочий процесс, причины его популярности и связанные с ним проблемы.

Ran
Ran
Product & Design

WebAuthn занимает место среди самых надежных аутентификаторов в стандартах NIST AAL. Представленный в 2013 году, он стал предпочтительным выбором бизнеса для аутентификации. Однако его внедрение еще не является повсеместным, что вызывает множество вопросов о WebAuthn и ключах доступа. Давайте углубимся в то, что вам следует знать.

Концепция: Какова связь между WebAuthn, ключ-доступом и FIDO?

FIDO Alliance

FIDO Alliance - это организация, занимающаяся предоставлением открытых и безопасных стандартов безпарольной аутентификации, включая UAF, U2F и FIDO2.

FIDO2

FIDO2 - это набор стандартов для безопасной онлайн-аутентификации, разработанный альянсом FIDO. FIDO2 включает в себя два основных компонента: WebAuthn для безпарольных входов и CTAP для безопасной связи устройств.

Passkey

Ключ-доступ - это удостоверение на основе FIDO, устойчивое к фишингу, предназначенное для замены паролей.

  1. Это могут быть аппаратные токены или ключи безопасности, такие как USB или Bluetooth устройства.
  2. Он использует асимметричную криптографию с открытым ключом для повышения безопасности.
  3. Он обладает гибкостью для связывания с платформами, ключами безопасности и синхронизации с устройствами.
WebAuthn

WebAuthn, JavaScript API, разработанный W3C и FIDO Alliance, предоставляет возможность аутентификации веб приложений с помощью стандартов FIDO2. Ключ-доступ является одним из методов аутентификации, поддерживаемых WebAuthn.

Процесс: Как работает WebAuthn?

4 основные сущности WebAuthn

В основном, вы можете узнать о 4 основных сущностях, участвующих в процессе WebAuthn.

  1. Пользователь: Лицо, которое регистрируется или аутентифицируется в веб-приложении с использованием WebAuthn.

  2. Пользовательский агент: Веб-браузер, который обрабатывает вызовы API WebAuthn и управляет процессом аутентификации между всеми различными сторонними участниками и аутентификаторами.

  3. Доверенная сторона: Ваш веб-сервис или приложение, к которому пользователь пытается получить доступ. Пользователь взаимодействует с доверенной стороной через пользовательский агент.

  4. Аутентификатор: Аппаратный компонент, находящийся в распоряжении пользователя для проверки его личности. Он может принимать различные формы в зависимости от платформы или возможностей браузера, такие как ключи безопасности (например, Yubikeys), телефоны или планшеты (подключенные через Bluetooth, NFC или USB), биометрические устройства или PIN-коды и т.д.

основные сущности

Рабочие процессы WebAuthn

Асимметричная криптография с открытым ключом является основным процессом.

  1. Генерация пары ключей: Пользовательский агент создает пару ключей «публичный-приватный». Публичный ключ передается доверенной стороне, в то время как личный ключ надежно хранится в аутентификаторе пользователя.
  2. Вызов аутентификации: Когда пользователь пытается войти в систему, доверенная сторона отправляет вызов аутентификации пользовательскому агенту.
  3. Проверка пользователя: Пользовательский агент отправляет вызов аутентификатору, который взаимодействует с пользователем для проверки (например, биометрия или нажатие кнопки).
  4. Криптографическая подпись: Аутентификатор использует свой личный ключ для подписи вызова, создавая криптографическую подпись.
  5. Проверка и доступ: Пользовательский агент проверяет подпись с использованием открытого ключа и информирует доверенную сторону об успешной аутентификации. Доступ предоставляется.

Для более подробного объяснения разделим это на этапы регистрации и аутентификации.

Процесс регистрации WebAuthn: процесс регистрации

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

Преимущества: Почему WebAuthn становится трендом?

Множество аутентификаторов

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

Платформенный аутентификатор (Внутренний аутентификатор)

Платформенный аутентификатор связан с одной конкретной операционной системой устройства, такой как компьютер, ноутбук, телефон или планшет, в который пользователь входит в систему. Он работает исключительно на устройстве для авторизации с использованием таких методов, как биометрия или код доступа к устройству. Это быстрый способ аутентификации, особенно с использованием биометрии, и может заменить необходимость вручную вводить пароль. Однако, если пользователь потеряет устройство, это может стать препятствием для доступа. Например:

  • MacOS и iOS: iCloud Keychain, проверенный Touch ID, Face ID или кодом доступа к устройству.
  • Windows: Windows Hello, проверенный по распознаванию лиц, отпечаткам пальцев или ПИН-коду.
  • Android: менеджер паролей Google также поддерживает распознавание лиц или отпечатков пальцев для автоматического заполнения паролей для авторизации устройств.

платформенный аутентификатор

Переносной аутентификатор (Внешний аутентификатор, Межплатформенный аутентификатор)

Переносной аутентификатор - это отдельное, портативное устройство или программное обеспечение, такое как аппаратный ключ безопасности или смартфон. Он должен подключать устройство с помощью USB или удерживая NFC или Bluetooth включенными. Переносной аутентификатор не ограничен одним устройством или браузером, обеспечивая большую гибкость. Например:

  • Ключи безопасности: также называемые аппаратные токены, как Yubikey.
  • Мобильный смартфон: например, используя облачную учетную запись Google на Android, или учетную запись iCloud на iPhone. Важно, что аутентификация между устройствами также требует подключения с помощью Bluetooth, NFC или USB, чтобы гарантировать, что аутентификатор пользователя находится поблизости. Мобильные аутентификаторы часто требуют сканирования QR-кода для их связывания с настольными устройствами. (Особенно, Android телефоны могут использовать постоянную привязку для бесшовного связывания с браузером Chrome для одноразовой авторизации без необходимости сканирования QR-кода.)

переносной аутентификатор

Высокая степень надежности безопасности

Высокая степень надежности безопасности необходима для защиты ресурсов бизнеса. Это достигается благодаря следующим мерам:

  1. Защита ключей конфиденциальности: Ключи конфиденциальности никогда не передаются третьим сайтам (доверенной стороне), что помогает защититься от утечек паролей и фишинговых атак.
  2. Требование близости устройства: Устройства требуют либо «Платформенной аутентификации для одного устройства», либо «Переносной аутентификатор, ограниченный USB, Bluetooth или NFC», чтобы находиться в непосредственной близости к пользователю, предотвращая удаленные атаки.
  3. Привязка к домену: WebAuthn жестко привязан к конкретному домену сайта пользователя, обеспечивая защиту от фишинговых атак с неавторизованных сайтов.

Незаметный пользовательский опыт для MFA&1FA

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

  • Нативный опыт и эффективность биометрии: WebAuthn использует определенные методы аутентификации, адаптированные к различным платформам и устройствам, соответствующие привычкам пользователей. Биометрическая аутентификация устраняет необходимость в ручном вводе, значительно ускоряя процесс верификации.
  • Прямая MFA, пропуская 1FA: WebAuthn часто используется для MFA (многофакторной аутентификации). Из-за своей надежной безопасности, если доверенная сторона ранее записала использование WebAuthn в браузере, пользователи могут пропустить шаг 1FA (однофакторной аутентификации) и войти непосредственно через проверку ключа доступа.
  • Ключ-доступ заменяет пароль: ключ-доступ также может служить альтернативой традиционным паролям для 1FA. Пользователи могут предоставить свой ключ-доступ либо до, либо после ввода своей учетной записи, причем проверка пароля требуется только в случае недоступности аутентификации ключа доступа.

Проблема: Почему WebAuthn не широко используется пользователями?

Ограничения браузера или платформы

Некоторые браузеры или платформы либо вообще не поддерживают WebAuthn, либо не имеют поддержки переносных аутентификаторов. Хотя текущая статистика Caniuse показывает приличную поддержку, с охватом 97,37% на настольных компьютерах и 96,3% на мобильных платформах, различия все же существуют между версиями браузеров и операционными системами. Например, настольный Linux не поддерживает платформенные аутентификаторы, Android полностью поддерживает WebAuthn только в Chrome, а Internet Explorer на MacOS не поддерживает WebAuthn. Это заставляет администраторов просить членов выбирать определенные браузеры или ОС, или настраивать другие альтернативные методы MFA.

поддержка браузера

Риск потери устройства

Особенно для пользователей, полагающихся на аутентификаторы «На этом устройстве», потеря устройства может привести к потере доступа к их учетным записям. Восстановление учетной записи может быть сложным процессом. Для снижения этого риска рекомендуется пользователям одновременно привязывать другие резервные методы аутентификации при настройке WebAuthn.

Ограниченная поддержка сайтов и приложений

Многие сервисы и приложения еще не предлагают поддержку ключей доступа. Пользователи часто не знакомы с различными методами аутентификации и могут не полностью понимать различия и ограничения между платформенными аутентификаторами и переносными аутентификаторами. Однако основные системы, браузеры и SaaS-сервисы все больше принимают WebAuthn, что делает его растущим трендом, который начинают осваивать как бизнесы, так и пользователи.

Заключение

Logto готовится к запуску MFA (многофакторной аутентификации) в ноябре. На первом этапе будут поддерживаться три метода проверки: приложение-аутентификатор TOTP, WebAuthn (ключ-доступ) и резервные коды, предлагая комплексное решение для входа и регистрации. Мы продолжим разрабатывать расширенные функции, связанные с WebAuthn. Мы с нетерпением ждем вашего опыта и приглашаем вас оставаться в курсе на Product Hunt по поводу предстоящего релиза MFA.