New: Passkey Benchmark 2026 - 8 production KPIs to compare your passkey rolloutcompare your passkey rollout
Вернуться к обзору

Тестирование реализаций ключей доступа (Руководство по ключам доступа для предприятий, часть 5)

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

Vincent Delitz
Vincent Delitz

Создано: 9 декабря 2024 г.

Обновлено: 22 мая 2026 г.

Тестирование реализаций ключей доступа (Руководство по ключам доступа для предприятий, часть 5)

Эта страница переведена автоматически. Прочитайте оригинальную версию на английском здесь.

WhitepaperEnterprise Icon

Whitepaper по Passkey для Enterprise. Практические рекомендации, шаблоны внедрения и KPI для программ passkeys.

Получить whitepaper

Обзор: Корпоративное руководство#

  • Введение
  • Часть 1: Первоначальная оценка и планирование
  • Часть 2: Вовлечение заинтересованных сторон
  • Часть 3: Разработка продукта, дизайна и стратегии
  • Часть 4: Интеграция ключей доступа в корпоративный стек

1. Введение#

После интеграции ключей доступа (passkeys) в ваш корпоративный стек и завершения реализации следующим критически важным этапом является обеспечение безупречной работы системы и ее соответствия всем внутренним стандартам. Это включает в себя всестороннее тестирование и тщательно спланированную стратегию выпуска. В корпоративном контексте, где системы сложны, а базы пользователей огромны, тщательное тестирование и мониторинг необходимы для снижения рисков и обеспечения плавного развертывания.

В этой статье мы сосредоточимся на следующем:

  • Функциональное тестирование: Какие основные функциональные тесты необходимы для проверки реализации ключей доступа?

  • Нефункциональное тестирование: Как мы можем гарантировать, что система соответствует стандартам производительности, безопасности и надежности?

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

2. Как тестировать реализации ключей доступа#

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

  1. Пользовательское приемочное тестирование (UAT) / Ручное тестирование: Позволяет тестировщикам воспринимать систему так, как это делали бы реальные пользователи, выявляя проблемы с юзабилити и гарантируя логичность рабочих процессов.

    • Регистрация и аутентификация с помощью ключей доступа: Убедитесь, что пользователи могут успешно создавать ключи доступа и проходить аутентификацию с их помощью на различных устройствах и платформах.

    • Пользовательский интерфейс и опыт: Проверьте, что пользовательский интерфейс интуитивно понятен, отзывчив и обеспечивает бесперебойную работу.

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

    • Оценка юзабилити: Оцените простоту использования и интуитивность реализации ключей доступа с точки зрения конечного пользователя.

    • Соответствие требованиям доступности: Убедитесь, что система соответствует стандартам доступности для обеспечения удобства всех пользователей.

    • Кросс-платформенные сценарии: Проведите ручное тестирование на различных устройствах, чтобы выявить любые несоответствия или проблемы, специфичные для конкретного устройства.

  2. Автоматизированное тестирование: Дополняет ручное пользовательское приемочное тестирование, позволяя эффективно выполнять повторяющиеся задачи и регрессионные тесты.

    • Регрессионное тестирование: Автоматическое повторное тестирование существующих функций, чтобы убедиться, что новые изменения в коде не привели к появлению дефектов.

    • Скрипты производительности: Используйте автоматизированные инструменты для имитации действий пользователей в различных условиях и при разных нагрузках.

    • Непрерывная интеграция: Интегрируйте автоматизированные тесты в конвейер разработки для раннего выявления проблем.

  3. Тестирование Passkey Intelligence: Имеет решающее значение из-за разнообразия устройств, операционных систем и браузеров, используемых корпоративными пользователями.

    • Тестирование на совместимость: Убедитесь, что система ключей доступа без проблем работает на всех поддерживаемых платформах и браузерах.

    • Матрица устройств: Разработайте матрицу тестирования, которая охватывает различные комбинации устройств, версий ОС и браузеров.

    • Эмуляторы и реальные устройства: Используйте как эмуляторы для широкого охвата, так и реальные устройства для получения точных результатов.

  4. Нефункциональное тестирование: Направлено на аспекты производительности, безопасности и надежности системы ключей доступа.

    • Тестирование производительности и нагрузочное тестирование: Убедитесь, что система может обрабатывать ожидаемые объемы аутентификации без снижения производительности.

    • Тестирование безопасности: Проводите тесты на проникновение и оценку уязвимостей для выявления и смягчения потенциальных рисков безопасности.

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

3. Функциональное тестирование ключей доступа#

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

Основные цели функционального тестирования:

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

  • Оценка пользовательского опыта: Оцените удобство использования и интуитивную понятность реализации ключей доступа с точки зрения конечного пользователя.

  • Обработка ошибок: Убедитесь, что система корректно обрабатывает ошибки и предоставляет пользователям информативную обратную связь.

  • Совместимость: Протестируйте работу на различных устройствах, операционных системах и браузерах, чтобы гарантировать единообразный опыт для всех пользователей.

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

Почему важны ключи доступа?

Ключи доступа для предприятий

Пароли и фишинг подвергают предприятия риску. Ключи доступа предлагают единственное решение MFA, балансирующее безопасность и UX. Наш официальный документ охватывает реализацию и влияние на бизнес.

Ключи доступа для предприятий

Скачать whitepaper бесплатно

3.1 Пользовательское приемочное тестирование (UAT): Как тестировать реализацию ключей доступа?#

Пользовательское приемочное тестирование (UAT) включает в себя ручное взаимодействие тестировщиков с системой ключей доступа для проверки ее функциональности и удобства использования. Этот практический подход жизненно важен для выявления проблем, которые могут пропустить автоматизированные тесты, таких как проблемы с юзабилити, несоответствия в интерфейсе и поведение, специфичное для конкретных устройств. В контексте реализации ключей доступа ручное тестирование позволяет тестировщикам воспринимать процессы аутентификации так, как это делали бы реальные пользователи, что дает ценную информацию об эффективности и интуитивной понятности системы.

Ключевые аспекты пользовательского приемочного тестирования ключей доступа:

  • Различные учетные записи пользователей: Создайте тестовые учетные записи, представляющие различные роли пользователей, типы статусов или типы учетных записей в вашем приложении. Это гарантирует правильную работу реализации ключей доступа во всех сегментах пользователей.

  • Связь устройств и учетных записей: Поддерживайте строгое соответствие между тестовыми учетными записями и устройствами. Назначьте конкретные учетные записи определенным устройствам для поддержки тестирования кросс-устройственной аутентификации. Этот подход помогает точно тестировать сценарии, когда пользователь может проходить аутентификацию на одном устройстве, используя ключ доступа, созданный на другом (используйте паттерн + в адресе электронной почты для их идентификации).

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

  • Тестирование кросс-устройственной аутентификации: Протестируйте сценарии кросс-устройственной аутентификации, когда ключ доступа, созданный на одном устройстве, используется для аутентификации на другом устройстве. Это включает тестирование сканирования QR-кодов, которые обеспечивают кросс-устройственную аутентификацию с помощью ключей доступа.

  • Согласованность на разных платформах: Убедитесь, что пользовательский опыт и функциональность согласованы на различных платформах, операционных системах и браузерах. Обратите особое внимание на поведение, специфичное для конкретных устройств, и различия в интерфейсе.

Igor Gjorgjioski Testimonial

Igor Gjorgjioski

Head of Digital Channels & Platform Enablement, VicRoads

We hit 80% mobile passkey activation across 5M+ users without replacing our IDP.

See how VicRoads scaled passkeys to 5M+ users — alongside their existing IDP.

Read the case study

Какую функциональность следует тестировать?

  1. Регистрация и аутентификация с помощью ключей доступа:

    • Создание ключа доступа: Протестируйте процесс регистрации нового ключа доступа, убедившись, что пользователи могут успешно настраивать ключи доступа на различных устройствах.

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

    • Вход с ключами доступа через Conditional UI: Проверьте, что пользователи могут аутентифицироваться, используя Conditional UI на платформах, которые его поддерживают, и что пользовательский интерфейс реагирует адекватно.

    • Вход с удаленным ключом доступа: Протестируйте правильную обработку удаленных ключей доступа. Современные браузеры (Chrome 132+, Safari 26+) теперь поддерживают Signal API для WebAuthn, который позволяет серверам сигнализировать об удалении учетных данных клиенту. Протестируйте как потоки Signal API (когда поддерживаются), так и резервные сообщения об ошибках (для браузеров без поддержки Signal API). Убедитесь, что удаление, о котором подан сигнал, удаляет ключи доступа из средства выбора учетных данных и что при недоступности Signal API появляются соответствующие сообщения об ошибках.

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

  2. Управление ключами доступа:

    • Добавление ключей доступа: Убедитесь, что пользователи могут добавлять несколько ключей доступа к своим учетным записям, учитывая сценарии, когда у пользователей есть несколько устройств.

    • Удаление ключей доступа: Протестируйте возможность удаления ключей доступа, подтвердив, что система корректно обновляет статус учетной записи пользователя.

    • Список ключей доступа: Проверьте, что пользователи могут просматривать все зарегистрированные ключи доступа, связанные с их учетной записью, с четкой информацией и параметрами управления.

    • Уведомления по электронной почте: Подтвердите, что уведомления по электронной почте (например, когда ключ доступа добавлен или удален) корректно срабатывают и отправляются на правильные адреса электронной почты клиентов. Эти уведомления должны быть должным образом локализованы, содержать четкие инструкции, описания ключей доступа и следовать рекомендациям по брендингу.

  3. Взаимодействие с существующей логикой MFA:

    • Изменения статуса MFA: Протестируйте, как включение или отключение ключей доступа влияет на статус многофакторной аутентификации (MFA) пользователя. Включая удаление всех ключей доступа из учетной записи.

    • Резервные механизмы: Убедитесь, что когда аутентификация с помощью ключа доступа недоступна (например, на неподдерживаемых устройствах), пользователям предлагаются альтернативные методы аутентификации, такие как пароли или одноразовые пароли (OTP).

    • Конверсия MFA: Проверьте процесс перехода от традиционных методов MFA к ключам доступа, убедившись, что существующие меры безопасности остаются неизменными.

PasskeyAssessment Icon

Получите бесплатную оценку passkey за 15 минут.

Записаться на бесплатную консультацию
  1. Пользовательский интерфейс и опыт:

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

    • Соответствие требованиям доступности: Убедитесь, что интерфейс соответствует стандартам доступности (например, рекомендациям WCAG) для поддержки пользователей с ограниченными возможностями, если это требуется.

    • Локализация и языковая поддержка: Проверьте, что функции ключей доступа корректно локализованы для различных регионов и языков, если это применимо.

  2. Обработка ошибок и крайние случаи:

    • Устройства без платформенного аутентификатора: Протестируйте поведение, когда устройство не поддерживает ключи доступа (то есть когда isUserVerifyingPlatformAuthenticatorAvailable() возвращает false или не определен). Убедитесь, что система скрывает опции ключей доступа, предоставляет соответствующие альтернативные методы аутентификации или плавно переходит на резервные варианты.

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

    • Неправильный ввод: Протестируйте, как система реагирует на неверные данные или действия, такие как неправильный биометрический ввод, отмененные попытки аутентификации или недействительные OTP. Убедитесь, что сообщения об ошибках ясны и направляют пользователя относительно того, как действовать дальше.

    • Проблемы, специфичные для устройств: Выявите и задокументируйте любые несоответствия или проблемы, возникающие на конкретных устройствах, операционных системах или браузерах. Это включает проблемы с рендерингом UI, функциональные несоответствия или проблемы с производительностью.

    • Сетевые условия: Смоделируйте различные сетевые условия (например, оффлайн, медленное соединение, прерывистое соединение, блокировка сетевых подключений через расширение разработчика), чтобы увидеть, как система обрабатывает проблемы с подключением во время аутентификации. Убедитесь, что система предоставляет соответствующие отзывы и варианты восстановления.

  3. Сценарии жизненного цикла учетной записи:

    • Создание учетной записи и онбординг: Протестируйте весь поток адаптации для новых пользователей, включая настройку ключа доступа во время создания учетной записи или после первой регистрации (в зависимости от сценария использования). Убедитесь, что пользователи могут настроить ключи доступа в рамках начальной настройки MFA.

    • Восстановление учетной записи: Протестируйте сценарии, когда пользователям необходимо восстановить доступ к своей учетной записи, например, когда они теряют доступ к устройству с поддержкой ключей доступа. Убедитесь, что процесс восстановления безопасен и удобен для пользователя.

    • Изменение номера мобильного телефона: Протестируйте процесс обновления номеров мобильных телефонов, особенно когда номера мобильных телефонов используются для MFA или восстановления учетной записи. Убедитесь, что изменения должным образом отражаются в системе, а методы аутентификации соответствующим образом обновляются.

  4. Дополнительные функции, основанные на вашей реализации: управление уведомлениями службы поддержки клиентов и многое другое.

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

  • Служба поддержки клиентов: Хотя основное внимание уделяется функциям для потребителей, проверьте правильность интеграции функций службы поддержки. Убедитесь, что агенты поддержки могут просматривать данные, связанные с ключами доступа, и удалять один или несколько ключей доступа от имени пользователя. Убедитесь, что UI предоставляет достаточно информации, чтобы агент поддержки мог точно идентифицировать ключи доступа и управлять ими.

  • Безопасность, логирование и аудит: Убедитесь, что все действия с ключами доступа, выполняемые агентами поддержки, корректно отражаются в логах учетной записи пользователя и интерфейсах для клиентов. Проверьте согласованность и целостность отображаемых данных в различных интерфейсах, обеспечивая единый и надежный пользовательский опыт.

Какое устройство следует использовать для тестирования?

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

Устройства с поддержкой ключей доступа:

Тип устройстваОперационная системаБраузер(ы)
iPhone 13iOS 17.6.1Safari 17.6.1
Galaxy S21Android 14Chrome 130
MacBook PromacOS 15.0Safari 18.0
Ноутбук на WindowsWindows 10 22H2Edge 131

Устройства без поддержки ключей доступа:

Тип устройстваОперационная системаБраузер(ы)
Старый WindowsWindows 7Chrome 109
Старый MacBookmacOS CatalinaSafari 13.1
Старый AndroidAndroid 9Chrome 128
Старый iPhoneiOS 14.1Safari 14.1

Объединяя эти целенаправленные стратегии тестирования с комплексной матрицей тестирования устройств, вы закладываете прочную основу для обеспечения качества вашей реализации ключей доступа. Тщательное тестирование на различных устройствах — как с поддержкой ключей доступа, так и без нее — позволяет выявлять и устранять потенциальные проблемы, обеспечивая последовательный и бесперебойный пользовательский опыт для всех. Вместе эти усилия способствуют созданию безопасной и удобной системы аутентификации на основе ключей доступа, которая соответствует высоким стандартам, требуемым в корпоративной среде. Если у вас нет достаточного доступа к старым устройствам, вы можете использовать такие сервисы, как Browserstack для тестирования устройств без поддержки ключей доступа. В случае, если вы работаете на Mac, вы также можете использовать Parallels для виртуального рабочего стола Windows.

3.2 Автоматизированные тесты: Как внедрить автоматизированное тестирование ключей доступа?#

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

Чтобы преодолеть это ограничение, автоматизированные тесты для ключей доступа полагаются на использование виртуального аутентификатора. Виртуальный аутентификатор — это программное представление аутентификатора, доступное как часть Chromium и управляемое через фреймворки автоматизации. Это позволяет разработчикам имитировать процессы регистрации и аутентификации с помощью ключей доступа без необходимости использования физических устройств или биометрических данных.

3.2.1 Активация виртуального аутентификатора#

Прежде чем использовать виртуальный аутентификатор в ваших автоматизированных тестах, его необходимо активировать в вашей тестовой среде. Обычно это включает в себя запуск сеанса с протоколом отладки браузера (например, Chrome DevTools Protocol) и включение домена WebAuthn. Важно отметить, что состояние виртуального аутентификатора может сбрасываться при определенных условиях, таких как перезапуск браузера или изменение контекста. Поэтому тесты должны разрабатываться тщательно, чтобы гарантировать, что виртуальный аутентификатор последовательно инициализируется и поддерживается на протяжении всего процесса тестирования. Аутентификатор поддерживает CTAP2 и должен быть настроен с проверкой пользователя и поддержкой резидентных ключей для работы с ключами доступа.

3.2.2 Поддерживает ли Selenium 3 тесты автоматизации ключей доступа?#

Успешная реализация автоматизированного тестирования ключей доступа была достигнута с использованием таких фреймворков, как Selenium и Playwright, а также других, которые предоставляют доступ к необходимым протоколам автоматизации браузера. В Selenium 4 и Playwright доступна встроенная поддержка виртуального аутентификатора, предоставляющая API для управления жизненным циклом виртуального аутентификатора и имитации действий пользователя. Тестирование ключей доступа с помощью Selenium 3 возможно, но вам нужно напрямую реализовать функциональность (свяжитесь с нами, если вам нужна помощь).

3.2.3 Объем тестирования#

Автоматизированные тесты должны охватывать наиболее важные функции вашей реализации ключей доступа, в том числе:

  • Создание ключей доступа: Смоделируйте процесс регистрации нового ключа доступа пользователем, убедившись, что процесс регистрации работает корректно.

  • Вход в систему с помощью ключа доступа: Проверьте, что пользователи могут проходить аутентификацию, используя свои зарегистрированные ключи доступа, и что процесс входа проходит гладко и без ошибок.

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

  • Состояния ошибок и сбои в сети: Смоделируйте ситуацию, когда бэкенд не отвечает. Это особенно важно для мобильных операций, так как сеть не всегда надежна.

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

3.2.4 Дополнительные соображения#

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

  • Управление состоянием виртуального аутентификатора: Имейте в виду, что состояние виртуального аутентификатора может сбрасываться в определенных ситуациях (особенно в Selenium 3). Убедитесь, что ваши тесты при необходимости повторно инициализируют виртуальный аутентификатор, и рассмотрите возможность инкапсуляции настройки виртуального аутентификатора в многократно используемые функции или хуки тестирования для поддержания согласованности.

3.2.5 Советы по реализации#

  • Выбор фреймворка: Хотя Selenium и Playwright используются чаще всего, другие фреймворки автоматизации, предоставляющие доступ к протоколам отладки браузера, также могут использоваться для тестирования ключей доступа. Выберите фреймворк, который соответствует потребностям вашего проекта и имеет адекватную поддержку для тестирования WebAuthn.

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

  • Документация и примеры: Обратитесь к подробным руководствам и примерам по настройке виртуального аутентификатора в выбранном вами фреймворке. Например, Playwright предоставляет исчерпывающую документацию о том, как использовать виртуальный аутентификатор, включая фрагменты кода и передовые практики.

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

3.3 Тестирование Passkey Intelligence#

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

3.3.1 Понимание Passkey Intelligence#

Passkey Intelligence относится к способности системы анализировать различные сигналы и метаданные для принятия решения о том, когда предлагать аутентификацию с помощью ключа доступа, а когда переходить на альтернативные методы, такие как пароли или одноразовые пароли (OTP). Это улучшает пользовательский опыт за счет:

  • Максимизации успешных входов: Предлагает аутентификацию по ключу доступа, когда она с наибольшей вероятностью будет успешной.

  • Минимизации неудачных попыток: Избегает ненужных запросов ключей доступа, когда вероятен сбой, что снижает разочарование пользователя.

  • Оптимизации потока пользователей: Обеспечивает плавный процесс аутентификации, адаптированный к среде и истории каждого пользователя.

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

В отличие от этого, подход с использованием кнопки ключа доступа предполагает, что пользователи явно выбирают аутентификацию с помощью ключа доступа, нажимая кнопку. Хотя Passkey Intelligence по-прежнему улучшает этот опыт, определяя видимость и доступность кнопок, это менее критично, чем при подходе с приоритетом идентификатора, поскольку пользователи делают активный выбор.

3.3.2 Ключевые соображения по тестированию Passkey Intelligence#

Тестирование Passkey Intelligence включает проверку того, что ваша система правильно интерпретирует различные сигналы и предоставляет соответствующий метод аутентификации. Вот ключевые области, на которых следует сосредоточиться:

3.3.2.1 Определение доступности ключей доступа#

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

  • Пользователи без зарегистрированных ключей доступа: Убедитесь, что система не запрашивает аутентификацию с помощью ключа доступа и предоставляет альтернативные методы.

  • Пользователи с зарегистрированными ключами доступа: Подтвердите, что система распознает наличие у пользователя зарегистрированного ключа доступа и запрашивает аутентификацию с его помощью.

  • Пользователь с зарегистрированными, но недоступными ключами доступа: Подтвердите, что система распознает, когда у пользователя есть зарегистрированный ключ доступа (например, в Windows), но он пытается войти в систему на своем iPhone, и поэтому не предлагает вход с помощью ключа доступа.

  • Возможности устройства: Тестируйте на устройствах, поддерживающих ключи доступа, и на устройствах, не поддерживающих их, чтобы убедиться, что система правильно адаптируется к устройству независимо от учетной записи.

  • Синхронизация ключей доступа: Проверьте, обнаруживаются ли ключи доступа, сохраненные в облаке (например, Связка ключей iCloud, Менеджер паролей Google), на правильных устройствах.

3.3.2.2 Тестирование с различными поставщиками ключей доступа#

Passkey Intelligence должен эффективно работать с различными поставщиками ключей доступа, как собственными, так и сторонними. Каждый провайдер может иметь разные поведение и возможности, влияющие на то, как ключи доступа обнаруживаются и используются.

Собственные провайдеры:

  • Windows Hello: Система биометрической аутентификации Microsoft, интегрированная в устройства Windows. Имейте в виду, что ключи Windows Hello не синхронизируются, но Microsoft объявила, что вскоре это изменится.

  • Менеджер паролей Google: Решение Google для хранения и синхронизации ключей доступа между устройствами и браузерами. Имейте в виду, что GPM также доступен не только в Chrome, но и на других платформах.

  • Связка ключей iCloud: Служба Apple для хранения ключей доступа и их синхронизации между устройствами Apple.

Сторонние провайдеры:

  • 1Password: Популярный менеджер паролей, который поддерживает ключи доступа и может синхронизировать их на разных платформах.

  • Dashlane: Еще один широко используемый менеджер паролей с поддержкой ключей доступа.

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

Шаги тестирования:

  • Регистрация и аутентификация: Убедитесь, что пользователи могут регистрироваться и проходить аутентификацию с использованием ключей доступа от каждого провайдера.

  • Кросс-платформенное поведение: Проверьте корректность синхронизации ключей доступа между устройствами и браузерами при использовании облачных провайдеров.

  • Обработка ошибок: Протестируйте, как система обрабатывает сбои или недоступность ключей доступа от конкретных провайдеров.

3.3.2.3 Сценарии кросс-устройственной аутентификации#

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

Ключевые сценарии для тестирования:

  • От iPhone к ПК на Windows: Пользователи пытаются войти в систему на ПК с Windows с помощью ключа доступа, хранящегося на их iPhone.

  • От телефона Android к Mac Safari: Пользователи проходят аутентификацию на Mac с использованием Safari, применяя ключ доступа, хранящийся на их устройстве Android.

  • От Android к ПК на Windows: Тестирование аутентификации с устройства Android на ПК с Windows. Имейте в виду, что начиная с Chrome 130 пользователям, возможно, больше не придется выполнять кросс-устройственную аутентификацию.

Шаги тестирования:

  • Проверки совместимости: Убедитесь, что кросс-устройственная аутентификация работает в различных операционных системах и браузерах.

  • Подсказки для пользователей и инструкции: Проверьте, получают ли пользователи четкие инструкции в процессе аутентификации.

  • Проверка безопасности: Убедитесь, что процесс аутентификации безопасен и устойчив к атакам типа "человек посередине".

3.3.2.4 Обработка крайних случаев и сбоев#

Тестирование также должно охватывать сценарии, в которых Passkey Intelligence может столкнуться с трудностями:

  • Недоступные ключи доступа: Ситуации, когда ключи доступа ожидаются, но недоступны из-за задержек синхронизации или проблем с сетью.

  • Отмена пользователем: Пользователи отменяют запрос ключа доступа; система должна корректно перейти на альтернативные методы. Во время проверки убедитесь, что эти ожидаемые пути прерывания отслеживаются отдельно от фактических дефектов (см. ошибки WebAuthn).

  • Сторонние расширения: Взаимодействие с расширениями или плагинами браузера, которые могут мешать обнаружению ключей доступа или Conditional UI.

3.3.2.5 Оценка логики Passkey Intelligence#

Оцените процесс принятия решений вашей системой Passkey Intelligence:

  • Точность данных: Убедитесь, что метаданные и сигналы, используемые для принятия решений, являются точными, актуальными и корректно хранятся в базе данных (BS Flags).

  • Адаптивные реакции: Проверьте, что система адаптируется к новой информации, такой как недавно зарегистрированные ключи доступа или изменения в возможностях устройства.

  • Влияние на производительность: Проверьте, чтобы логика интеллекта не вносила значительных задержек в поток аутентификации.

3.3.2.6 Методология тестирования#

Чтобы тщательно протестировать Passkey Intelligence, рассмотрите следующую методологию:

  1. Создание тестовых учетных записей с различными конфигурациями: Настройте учетные записи пользователей, представляющие разные состояния, например, с зарегистрированными ключами доступа или без них, а также с разными поставщиками ключей доступа.

  2. Использование комплексной матрицы устройств: Включите в тестирование различные устройства, операционные системы и браузеры, чтобы охватить как можно больше пользовательских сценариев.

  3. Моделирование различных сетевых условий: Проводите тестирование при различных сетевых условиях, чтобы оценить, как задержки синхронизации или проблемы с подключением влияют на обнаружение ключей доступа.

  4. Тестирование сложных сценариев: Для кросс-устройственной аутентификации и крайних случаев потребуется ручное тестирование, чтобы в полной мере охватить все нюансы пользовательского опыта.

  5. Анализ логов и метрик: Соберите и проанализируйте логи, чтобы понять, как принимаются решения Passkey Intelligence, и выявить любые расхождения или сбои.

3.3.2.7 Передовые практики#
  • Держите пользовательский опыт на первом плане: Убедитесь, что процесс аутентификации остается плавным и интуитивно понятным, даже если Passkey Intelligence решает вернуться к альтернативным методам.

  • Будьте в курсе изменений провайдеров: Поставщики ключей доступа могут обновлять свои сервисы, что влияет на то, как хранятся или синхронизируются ключи доступа. Регулярно обновляйте свои сценарии тестирования, чтобы отразить эти изменения. Подпишитесь на наш Substack и присоединяйтесь к нашему сообществу в Slack.

  • Документируйте результаты: Ведите подробные записи о тестовых примерах, результатах и любых проблемах, с которыми вы столкнулись, чтобы помочь в устранении неполадок и будущих циклах тестирования.

Тестирование Passkey Intelligence жизненно важно для того, чтобы ваша система аутентификации обеспечивала наилучший возможный опыт для пользователей, особенно при использовании подхода с приоритетом идентификатора и автоматическим входом. Тщательно протестировав обнаружение доступности ключей доступа, взаимодействие с различными поставщиками, сценарии кросс-устройственной аутентификации и саму логику интеллекта, вы можете оптимизировать вашу систему для обеспечения плавной и безопасной аутентификации во всех пользовательских сценариях.

3.4 Как Corbado может помочь с корпоративным тестированием#

Внедрение и тестирование функциональности ключей доступа, включая Passkey Intelligence, может быть сложным и ресурсоемким. Corbado предлагает комплексные решения, которые упрощают этот процесс, обеспечивая надежную и удобную аутентификацию для вашего предприятия.

3.4.1 Хорошо протестированные компоненты для разных браузеров и устройств#

Corbado предоставляет готовые UI-компоненты и SDK, которые тщательно протестированы на широком спектре устройств, операционных систем и браузеров — включая как последние, так и более старые версии, поддерживающие JavaScript. Это всестороннее тестирование гарантирует, что ваша реализация ключей доступа работает стабильно для всех пользователей, снижая риск проблем, связанных с конкретным устройством, и повышая удовлетворенность пользователей.

  • Кроссбраузерная совместимость: Наши компоненты безупречно работают в основных браузерах, таких как Chrome, Safari, Firefox и Edge, обеспечивая единообразный интерфейс независимо от выбора браузера пользователем.

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

  • Адаптивный дизайн: Компоненты адаптируются к различным размерам экранов и разрешениям, обеспечивая оптимальное удобство использования на настольных компьютерах, планшетах и мобильных устройствах.

  • Состояния ошибок: Все компоненты были тщательно протестированы на работу в любых сетевых условиях, они имеют точные сообщения об ошибках и резервные обработчики для работы с пользователями, прерывающими церемонии.

3.4.2 Интеграция автоматизированного тестирования#

Понимая сложности автоматизации тестирования ключей доступа, компания Corbado разработала решения для автоматизированного тестирования, интегрированные в процессы разработки наших компонентов и конвейеры CI/CD. Наши компоненты не только тщательно тестируются внутри компании, но и поставляются с наборами автоматизированных тестов, которые мы можем применить в корпоративных установках.

  • Наборы автоматизированных тестов: У нас есть комплексные автоматизированные тесты, охватывающие ключевые функции, такие как регистрация, аутентификация и управление ключами доступа. Эти тесты предназначены для полной проверки наших компонентов.
  • Управляемые сервисы автоматизированного тестирования: Для корпоративных клиентов Corbado предлагает управляемое автоматизированное тестирование как часть нашего корпоративного пакета. Мы берем на себя все сложности по настройке и поддержанию автоматизированных тестов для ключей доступа, включая использование виртуальных аутентификаторов, гарантируя, что ваша система аутентификации останется надежной с течением времени.

Подробный обзор того, как мы тестируем наши компоненты, можно найти в отдельной записи блога.

3.4.3 Комплексный Passkey Intelligence#

Механизм Passkey Intelligence от Corbado — это тщательно протестированное решение, оптимизирующее процесс аутентификации. Используя передовые алгоритмы и данные в реальном времени, наш Passkey Intelligence точно определяет доступность ключей доступа и выбирает оптимальный метод аутентификации для каждого пользовательского сценария.

  • Не требуется дополнительного тестирования: Поскольку Passkey Intelligence полностью охвачен, протестирован и расширяется Corbado, вы можете полагаться на его эффективность без необходимости в масштабном внутреннем тестировании.

  • Адаптивное принятие решений: Наш механизм адаптируется к изменениям в возможностях устройств, поведению пользователей и обновлениям от поставщиков ключей доступа, гарантируя своевременность и актуальность запросов на аутентификацию.

  • Максимальная успешность: Интеллектуально решая, когда предложить аутентификацию с помощью ключа доступа, мы помогаем максимизировать количество успешных попыток входа и свести к минимуму разочарование пользователей от неудачных попыток.

  • Кастомизация: В случае, если вы хотите настроить Passkey Intelligence так, чтобы он был более консервативным или проактивным, вы можете в любое время сконфигурировать и изменить наборы правил.

Substack Icon

Подпишитесь на наш Passkeys Substack, чтобы получать новости.

Подписаться

3.4.4 Поддержка и услуги корпоративного уровня#

Для корпоративных клиентов Corbado предоставляет дополнительную поддержку, чтобы оптимизировать процесс внедрения и тестирования ключей доступа.

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

  • Консультации экспертов на местах: Наша команда экспертов готова помочь в решении любых проблем, с которыми вы можете столкнуться при внедрении или тестировании, предоставляя рекомендации и решения с учетом ваших конкретных потребностей. Крупные внедрения сопровождаются консультациями на месте, включая помощь в тестировании на вашей стороне.

  • Индивидуальные решения: Мы можем настроить и адаптировать наши компоненты и услуги в соответствии с конкретными требованиями вашего предприятия, корпоративным стилем и другими стандартами.

  • Сокращение усилий на разработку: Используя наши готовые и хорошо протестированные компоненты, вы значительно экономите время и ресурсы на разработку.

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

  • Оптимизированный пользовательский опыт: С помощью Passkey Intelligence пользователи получают удобный процесс аутентификации, что повышает удовлетворенность и уровень внедрения.

  • Ориентация на будущее: Мы постоянно обновляем наши компоненты, чтобы соответствовать последним достижениям в технологии ключей доступа и стандартам, обеспечивая долгосрочную совместимость и соответствие требованиям.

Сотрудничая с Corbado, вы получаете доступ к набору компонентов, инструментов и услуг, которые упрощают тестирование и реализацию ключей доступа. Наши хорошо протестированные компоненты, комплексный Passkey Intelligence и поддержка корпоративного уровня гарантируют, что ваша система аутентификации надежна, безопасна и готова к развертыванию в корпоративной среде. Это сотрудничество позволяет вашей команде сосредоточиться на предоставлении ценности вашим пользователям, в то время как мы решаем сложности технологии ключей доступа.

4. Нефункциональное тестирование реализаций ключей доступа#

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

  • Большие объемы пользователей: Большие базы пользователей и часто используемые потоки аутентификации означают, что даже незначительные проблемы с производительностью могут оказать существенное влияние на удовлетворенность пользователей и бизнес-результаты.

  • Надежность в условиях стресса: Корпоративные системы должны оставаться стабильными и производительными в периоды пиковых нагрузок при входе в систему, кампаниях по регистрации устройств и крупномасштабных волнах внедрения.

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

  • Другие нефункциональные тесты: Другие типы нефункционального тестирования также важны в зависимости от предприятия, но для сохранения фокуса мы сосредоточимся на наиболее важных для крупных предприятий — особенно в чувствительных к безопасности областях, таких как правительственные, регулируемые организации или здравоохранение.

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

4.1 Как проводить тестирование производительности реализаций ключей доступа#

Тестирование производительности и нагрузочное тестирование направлены на проверку того, что реализация ключей доступа может справляться с ожидаемыми (а иногда и непредвиденными) объемами аутентификации без снижения качества. Хотя операции с ключами доступа — такие как создание и проверка вызовов WebAuthn — обычно не очень ресурсоемки, тщательное тестирование производительности остается критически важным для развертываний корпоративного масштаба.

Прочтите нашу подробную техническую статью о тестировании производительности ключей доступа.

Ключевые соображения для тестирования производительности и нагрузочного тестирования:

  1. Установление реалистичного базового уровня:
    Начните с анализа исторических данных аутентификации, чтобы определить ваши модели пикового использования. Например, просмотрите статистику входов в систему за последние 12 месяцев и определите час с самой высокой нагрузкой при аутентификации. Используйте этот пиковый час в качестве базового уровня для расчета успешно завершенных аутентификаций в секунду и умножьте этот объем на коэффициент три (3x). Этот подход:

    • Учитывает рост и всплески: Утроив вашу самую высокую историческую нагрузку, вы создаете хороший запас производительности, который позволяет справляться с неожиданными всплесками (например, масштабный онбординг, одновременные входы во время запуска продуктов или сбросы настроек безопасности).

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

  2. Понимание сложности потока аутентификации:
    При использовании ключей доступа поток аутентификации может включать генерацию вызовов по запросу, обработку запросов Conditional UI и взаимодействие с бэкенд-службами для проверки учетных данных или управления состояниями MFA. Эти шаги могут создавать уникальные паттерны нагрузки, особенно если запросы на вход или вызовы (challenges) генерируются часто.

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

  4. Влияние Conditional UI:
    Conditional UI может вызывать непрерывную генерацию вызовов, если поля входа видны или отображаются в верхней части страницы, что может привести к непредвиденной нагрузке. Протестируйте эти шаблоны, чтобы убедиться, что вызовы могут обслуживаться быстро и надежно, не вызывая задержек или тайм-аутов.

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

  6. Инструменты и подходы для тестирования:
    Стандартные инструменты нагрузочного тестирования могут не полностью воспроизвести сложность потоков WebAuthn и не смогут завершить церемонию WebAuthn. Ищите плагины для популярных фреймворков измерения производительности, таких как Jmeter или K6 (используемых в Corbado).

  7. Мониторинг и метрики:
    Отслеживайте ключевые метрики, такие как время отклика, пропускная способность, количество вызовов API в секунду, количество завершенных транзакций/аутентификаций в секунду, уровень ошибок и загрузка ресурсов. Используйте эти данные для выявления узких мест и направления усилий по оптимизации.

  8. Итеративное тестирование и настройка:
    Тестирование производительности — это итеративный процесс. Выявляйте проблемы, внедряйте улучшения и проводите повторное тестирование, чтобы подтвердить, что изменения повышают емкость и надежность. Интегрируйте эти тесты в свой конвейер CI/CD, чтобы гарантировать стабильность производительности со временем.

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

4.2 Как провести тест на проникновение реализаций ключей доступа#

Тестирование безопасности — критически важный компонент для того, чтобы убедиться, что ваша реализация ключей доступа не только функционирует корректно, но и поддерживает высочайший уровень доверия и целостности. Хотя ключи доступа упрощают и усиливают процесс аутентификации, важно подтвердить, что ваши рабочие процессы WebAuthn и ключей доступа защищены от распространенных векторов атак, ошибок конфигурации и уязвимостей, характерных для аппаратной аутентификации.

Основные цели:

  • Убедиться, что все операции WebAuthn (генерация вызовов, аттестация, утверждение) реализованы правильно и безопасно.

  • Гарантировать, что скомпрометированные, измененные или удаленные ключи доступа не могут быть использованы для аутентификации.

  • Подтвердить, что проверка пользователя (если требуется) строго соблюдается и проверяется при каждом входе в систему.

  • Проверить интеграцию с существующей логикой MFA, подтвердив, что ключи доступа поддерживают или улучшают общую безопасность, а не ослабляют ее.

Рекомендуемые области и подходы к тестированию:

  1. Потребление вызовов WebAuthn (Challenge Consumption):

    • Уникальность и свежесть вызова: Убедитесь, что каждый вызов уникален и действителен только для одной попытки аутентификации. Это гарантирует, что повторно отправленные вызовы не приведут к успешной аутентификации.

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

  2. Удаленные, неизвестные или поддельные ключи доступа:

    • Удаленные ключи доступа: Попробуйте войти в систему, используя учетные данные, связанные с ключами доступа, которые были удалены. Система должна отклонить эти попытки и вернуть ошибку.

    • Неизвестные учетные данные: Предъявите учетные данные, которые никогда не были зарегистрированы в системе (например, другой закрытый ключ или неизвестный идентификатор учетных данных). Убедитесь, что систему нельзя обмануть, заставив ее проверить эти учетные данные.

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

  3. Принудительная проверка пользователя (UV):

    • Обязательная проверка пользователя: Если проверка пользователя установлена как обязательная (что указывает на сценарий, эквивалентный 2FA), подтвердите, что все попытки аутентификации без флага UV отклоняются. Биометрическая проверка или проверка с помощью PIN-кода не должны быть обходимыми (только присутствие пользователя).

    • Подделка флагов UV: Попробуйте смоделировать сценарий, при котором аутентификатор утверждает, что пользователь проверен, но фактическая проверка пользователя не проводилась. Убедитесь, что система отклоняет такие попытки.

  4. Интеграция с существующим MFA или элементами управления безопасностью:

    • Согласование состояний MFA: Убедитесь, что добавление или удаление ключей доступа не позволяет обойти существующие политики MFA. Например, если ключи доступа предназначены для замены паролей или служат вторым фактором, система не должна позволять пользователю со скомпрометированным ключом доступа обходить более высокие уровни управления MFA.

    • Резервные механизмы: Проверьте, что резервные методы (например, пароли, OTP) вызываются только тогда, когда ключи доступа законно недоступны или не поддерживаются. Злоумышленники не должны иметь возможности понизить уровень безопасного потока до более слабого.

  5. Обеспечение актуальных, соответствующих стандартам реализаций:

    • Последние спецификации WebAuthn: Убедитесь, что ваш сервер WebAuthn и компоненты обновлены до последних стандартов, а все известные уязвимости исправлены. Регулярно просматривайте рекомендации поставщиков и применяйте обновления безопасности.

    • OWASP Top 10: Согласуйте свое тестирование с признанными стандартами безопасности. Типичные области включают проверку ввода, управление сеансами и безопасные каналы связи (TLS). Убедитесь, что все конечные точки, обрабатывающие данные WebAuthn, защищены, не допускают утечки конфиденциальной информации и применяют надлежащие заголовки безопасности.

  6. Пентестинг против распространенных векторов атак:

    • Атаки повторного воспроизведения (Replay Attacks): Попробуйте повторно использовать известные действительные подписи или устаревшие вызовы. Подтвердите, что сервер их отклоняет.

    • Атаки "человек посередине" (MitM): Проверьте, может ли злоумышленник, перехватывающий запросы WebAuthn, изменить вызов или подписи. Убедитесь, что процесс аутентификации опирается на криптографические проверки, привязанные к закрытому ключу клиента, что делает атаки MitM невозможными.

    • Фаззинг и негативное тестирование: Вводите искаженные, отсутствующие или случайные данные для запросов аттестации и утверждения. Сервер должен корректно обрабатывать эти недействительные вводы, не давая сбоев и не допуская утечки конфиденциальных данных.

  7. Дополнительные соображения по угрозам, специфичным для ключей доступа:

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

    • Отзыв и восстановление: Убедитесь, что если пользователь или агент службы поддержки восстанавливает учетную запись или отзывает ключ доступа, он мгновенно аннулируется и не может быть использован в последующих попытках входа.

Практические примеры и тесты:

  • Тест на поддельную проверку пользователя: Попробуйте пройти аутентификацию с помощью ключа доступа, когда user verification=required, но заставьте аутентификатор представить uv=false. Убедитесь, что сервер отклоняет запрос.

  • Тест на повторное использование вызова: Повторно используйте ранее использованный вызов для входа. Сервер должен отклонить попытку, предотвращая атаки повторного воспроизведения.

  • Тест на недействительную подпись: Замените действительную подпись на случайную или неправильную. Убедитесь, что сервер возвращает ошибку.

Поддержание постоянного обеспечения безопасности:

  • Периодически проводите сторонние тесты на проникновение для выявления новых или пропущенных уязвимостей.

  • Будьте в курсе возникающих угроз, обновлений спецификаций WebAuthn и патчей от поставщиков аппаратных аутентификаторов и клиентского программного обеспечения.

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

4.3 Как Corbado может помочь в тестировании производительности и пентестинге реализаций ключей доступа#

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

4.3.1 Тестирование производительности с использованием реалистичных сценариев ключей доступа#

Corbado выходит за рамки традиционных, универсальных инструментов нагрузочного тестирования, используя расширенные сквозные тесты производительности с помощью K6 и среды виртуального аутентификатора. Этот подход имитирует реальные потоки аутентификации ключей доступа через наши компоненты (CorbadoConnectLogin), включая генерацию и управление сотнями или даже тысячами ключей доступа параллельно (CorbadoConnectAppend) и функциональность управления ключами доступа (CorbadoConnectPasskeyList). В отличие от стандартных нагрузочных тестов, которые могут измерять только конечные точки API, наша методология эмулирует полную церемонию WebAuthn от начала до конца, делая тесты гораздо более репрезентативными для реальных условий. Мы также проводим сложные тесты на параллелизм, чтобы убедиться, что ваша система способна справляться с пиковыми нагрузками — такими как крупномасштабные кампании по адаптации или внезапные всплески аутентификации — без снижения скорости отклика или ухудшения пользовательского опыта.

4.3.2 Тестирование безопасности и специализированные тесты на проникновение#

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

4.3.3 Обеспечение безопасности на корпоративном уровне#

Как расширенное тестирование производительности, так и режимы строгого тестирования безопасности являются частью нашего корпоративного пакета. Сотрудничая с Corbado, вы получаете доступ к проверенным методологиям, которые гарантируют, что ваша реализация ключей доступа отвечает требованиям высоконагруженных, критически важных корпоративных сред, обеспечивая не только бесшовный пользовательский опыт, но и надежную защиту от потенциальных уязвимостей.

5. Заключение#

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

  • Как проводить функциональное тестирование ключей доступа? Мы определили основные функциональные тесты, которые фокусируются на проверке регистрации ключей доступа, аутентификации, согласованности пользовательского интерфейса и надлежащей обработки ошибок. С помощью ручного пользовательского приемочного тестирования и автоматизированных подходов эти тесты подтверждают, что рабочие процессы с ключами доступа интуитивно понятны, надежны и соответствуют ожиданиям пользователей.

  • Как проводить пентестинг и тестирование производительности ключей доступа? Мы изучили стратегии, позволяющие убедиться, что ваша реализация ключей доступа соответствует строгим стандартам производительности и безопасности. Сюда входит нагрузочное тестирование для обработки пиковых объемов аутентификации, тестирование отказоустойчивости в условиях стресса и строгие проверки безопасности — такие как подтверждение того, что вызовы не могут быть воспроизведены повторно, поддельные ключи доступа отклоняются, а проверка пользователя строго соблюдается.

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

Corbado

О Corbado

Corbado — это Passkey Intelligence Platform для CIAM-команд, обеспечивающих аутентификацию пользователей в крупных масштабах. Мы показываем то, что не видят логи IDP и общие инструменты аналитики: какие устройства, версии ОС, браузеры и менеджеры учётных данных поддерживают passkey, почему регистрации не превращаются в логины, где сбоит WebAuthn-поток и когда обновление ОС или браузера тихо ломает вход — всё это без замены Okta, Auth0, Ping, Cognito или вашего собственного IDP. Два продукта: Corbado Observe добавляет наблюдаемость для passkey и любых других способов входа. Corbado Connect даёт managed passkey со встроенной аналитикой (рядом с вашим IDP). VicRoads использует passkey для более чем 5 млн пользователей с Corbado (+80 % активации passkey). Поговорить с экспертом по passkey

Узнайте, что на самом деле происходит при внедрении passkeys.

Открыть Console

Поделиться статьей


LinkedInTwitterFacebook