Руководство по безопасности
Поддержка браузеров для локальной генерации паролей
Узнайте, как PwdGen работает в Chrome, Edge, Safari, Firefox и мобильных браузерах, а также что происходит, если Web Crypto недоступен.
Краткий обзор
PwdGen создан для современных браузеров, поддерживающих Web Crypto API. Генерация паролей, оценка их надёжности, инструменты для создания кодовых фраз и локальные утилиты работают в браузере, а не на сервере PwdGen. Такая архитектура работает в Chrome, Edge, Safari, Firefox и современных мобильных браузерах при наличии crypto.getRandomValues().
Поддержка Chrome
Chrome поддерживает Web Crypto в защищённых контекстах и является основным браузером для проверок разработки PwdGen. Расширение для Chrome следует той же локальной модели: никаких удалённых скриптов, разрешений на доступ к сайтам и хранения паролей.
Поддержка Edge
Microsoft Edge основан на Chromium и поддерживает те же примитивы Web Crypto, которые использует PwdGen. В обычном использовании пользователи Edge могут генерировать, копировать и оценивать пароли локально так же, как пользователи Chrome.
Поддержка Safari
Safari поддерживает Web Crypto на современных версиях macOS и iOS. Пользователям мобильного Safari следует помнить, что скопированные пароли могут оставаться в системном буфере обмена до замены, а для долгосрочного хранения следует использовать iCloud Keychain или другой менеджер паролей.
Поддержка Firefox
Firefox поддерживает crypto.getRandomValues() и может запускать генератор локально. В некоторых автоматизированных локальных тестовых средах возникали проблемы с разрывом соединения, не связанные с поведением страницы, поэтому проверка в production сосредоточена на API браузера и границах конфиденциальности, а не на локальном окружении.
Поддержка мобильных браузеров
Мобильные браузеры могут генерировать безопасные случайные пароли, если они предоставляют Web Crypto. Макет PwdGen сохраняет кнопки достаточно большими для сенсорного взаимодействия и сохраняет сгенерированные пароли слева направо даже в локалях с направлением письма справа налево.
Требование Web Crypto
PwdGen требует криптографически стойкий источник случайности. Генератор запрашивает случайные байты из crypto.getRandomValues() и преобразует их в символы с помощью выборки с отклонением. Это позволяет избежать использования Math.random(), который не предназначен для задач, требующих безопасности.
Если Web Crypto недоступен
PwdGen безопасно отключается. Страница остаётся читаемой, но элементы управления паролями отключаются, и отображается предупреждение о том, что для безопасной генерации требуется современный браузер. Лучше не показывать сгенерированный пароль, чем молча создавать слабые учётные данные.
Заявление о локальной генерации
Генерация и проверка выполняются в браузере. PwdGen не загружает сгенерированные пароли, существующие пароли, введённые в проверщик, кодовые фразы или экспортированные значения. Локальная генерация не может защитить от скомпрометированного устройства, вредоносного расширения, небезопасного буфера обмена, фишинговой страницы или сервиса назначения с ненадёжным хранением паролей.
Подробнее о реализации читайте в методологии безопасности и документе о клиентской генерации паролей.
Часто задаваемые вопросы
Какие браузеры поддерживает PwdGen?
PwdGen предназначен для современных версий Chrome, Edge, Safari, Firefox и текущих мобильных браузеров, предоставляющих Web Crypto API.
Что произойдёт, если Web Crypto недоступен?
Элементы управления паролями отключаются, и отображается предупреждение о совместимости. PwdGen не использует Math.random() для генерации паролей.
Влияет ли поддержка браузера на модель конфиденциальности?
Нет. В поддерживаемых браузерах генерация и оценка выполняются локально. Основные ограничения конфиденциальности связаны с устройством, расширениями браузера, буфером обмена и сервисом назначения.