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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ресурсы