Безопасные и простые пароли: контрольный список развертывания

Опубликовано: 5 июня 2025 г.

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

Как использовать этот контрольный список

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

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

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

Регистрация ключей доступа

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

✅ Укажите "platform" в качестве значения параметра аутентификации, которое будет передано в метод navigator.credentials.create() для создания продвигаемого ключа доступа.

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

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

  • Это важно для предотвращения создания злоумышленником пароля для взломанного аккаунта.

✅ Предотвратите создание дубликатов ключей доступа для одного и того же поставщика ключей доступа с помощью excludeCredentials .

  • Многие сервисы, предоставляющие ключи доступа, позволяют использовать только один ключ доступа на учетную запись и идентификатор RP. Избегайте создания дубликатов.

✅ Используйте AAGUID для идентификации поставщика пароля и для присвоения имени учетным данным пользователя.

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

✅ Если попытка зарегистрировать пароль не удалась, сообщите об этом с помощью PublicKeyCredential.signalUnknownCredential() .

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

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

  • Убедитесь, что пользователь осведомлен о создании пароля, особенно если это делает кто-то другой.

Аутентификация с помощью паролей

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

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

  • Если ваш веб-сайт переходит от паролей к ключам доступа, наилучший способ обеспечить удобство для обоих типов пользователей — использовать функцию автозаполнения форм в браузере.

✅ Если на бэкэнде не найдены соответствующие учетные данные для ключа доступа, используйте метод PublicKeyCredential.signalUnknownCredential() .

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

✅ Предложите пользователям создать пароль вручную, если они этого не сделали после входа в систему.

  • Если пользователь еще не создал пароль, предложите ему это сделать.

✅ Автоматическое создание пароля (условное создание) после входа пользователя в систему с помощью пароля (и второго фактора аутентификации).

  • Ускорьте внедрение пользовательских паролей.

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

  • Создание локального пароля позволяет пользователю входить в систему без сканирования QR-кода в следующий раз.

✅ После входа в систему отправьте провайдеру список доступных паролей и обновленные данные пользователя (имя пользователя, отображаемое имя).

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

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

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

✅ Предоставьте пользователям возможность управлять ключами доступа на странице управления ключами доступа .

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

✅ Поддерживается регистрация нескольких паролей .

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

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

✅ Отобразить имя пароля .

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

✅ Укажите, является ли пароль синхронизируемым или несинхронизируемым .

  • Уведомите пользователя, если пароль не синхронизирован.

✅ Предоставьте пользователям возможность удалять открытый ключ с сервера.

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

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

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

✅ Сообщайте пользователю об обновленных данных (имя пользователя, отображаемое имя) при их внесении.

✅ При возникновении ошибки «Забыли пароль» вместо нового пароля создайте новый ключ доступа .

Ресурсы