Русский

Текстовые и повседневные инструменты · Генератор паролей

Как работает генератор паролей только для браузера (и как его проверить)

· Как это работает

пароли конфиденциальность инструменты браузера

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

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

Кто еще видел ваш новый пароль? — вопрос, на который каждый онлайн-генератор должен уметь ответить «никто».

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

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

Что репозиторий может доказать о том, кто получает сгенерированную ценность

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

Сохранение этих частей видимыми помогает проверяющему отличить загрузку данных от секретной передачи. Запрос `wordlists/eff-long.txt` содержит общедоступный словарь, а не собранную парольную фразу. Сгенерированное значение существует только после того, как локальные индексы выбирают и объединяют записи, а сквозные тесты проверяют, что собранная строка никогда не появляется в ответе списка слов.

Что вместо этого делает серверный генератор — и почему пароль, сгенерированный где-то еще, уже был однажды передан

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

Не превращайте этот контраст в утверждение, что все удаленные генераторы являются вредоносными или что локальное выполнение автоматически безопасно. Локальная страница по-прежнему выполняет код и отображает учетные данные на устройстве. Поддающееся проверке преимущество здесь уже: сервер приложений ToolAcre не получает сгенерированное значение во время действия Generate.

Чего избегает этот генератор только для браузера: отсутствие запроса генерации на сервер ToolAcre.

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

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

Проверка вторая: Политика безопасности контента — как строгая политика без сторонних скриптов ограничивает передачу данных.

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

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

Проверка третья: отключиться — после полной загрузки страницы выйти в автономный режим и сгенерировать заново; полностью браузерный инструмент должен продолжать работать

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

Таким образом, честный тест загружает страницу и нужный список, отключается, а затем снова нажимает «Создать». Успех демонстрирует, что сборка является локальной; он не показывает, что каждый ресурс был объединен или что страница может материализовать недоступный список. Загрузчик списков слов честно сообщает об ошибках загрузки, отсутствующих и пустых файлах, вместо того, чтобы заменять другой список.

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

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

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

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

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

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