Центр довіри
Методологія безпеки та генерації
Технічні деталі, межі загроз, робота з випадковістю та відтворювані перевірки для генератора паролів.
Джерело випадковості
Генератор запитує криптографічно стійкі значення з crypto.getRandomValues(). Він ніколи не використовує Math.random(), чий вихід не призначений для криптографічного використання. Специфікація Web Crypto описує CSPRNG, ініціалізований високоякісною ентропією, яку зазвичай надає операційна система. Браузер та операційна система обирають базового постачальника; PwdGen не стверджує, що кожен виклик безпосередньо зчитує апаратне джерело ентропії CPU.
Випадкові індекси використовують вибірку з відхиленням. Значення, що перевищують найбільше повне кратне розміру алфавіту, відкидаються перед операцією модуля, що дозволяє уникнути зміщення, яке внесло б пряме відображення randomValue % alphabetSize.
Покриття символів та перемішування
Генератор спочатку вибирає по одному символу з кожного активованого джерела. Він заповнює решту позицій з об’єднаного пулу, а потім виконує криптографічно кероване перемішування Фішера-Йетса. Фільтри для схожих та неоднозначних символів застосовуються перед вибором.
Потік даних
Згенеровані значення існують лише в пам’яті поточної сторінки та видимих вузлах результатів. Вони не записуються в URL, файли cookie, локальне сховище, сесійне сховище, журнали сервера або артефакти збірки. Налаштування мови є єдиним налаштуванням програми, що зберігається в локальному сховищі та функціональному файлі cookie.
Модель загроз та обмеження
Ця конструкція захищає від навмисного збору згенерованих паролів веб-сайтом. Вона не може гарантувати цілісність пристрою користувача, розширень браузера, буфера обміну, операційної системи або цільового сервісу. Вона також не може зробити повторно використаний пароль безпечним або запобігти введенню пароля на фішинговій сторінці.
Відтворюваний огляд
Браузер, публічний API та pwdgen-cli@1.0.0 використовують одне ядро вибірки з відхиленням Web Crypto. Автоматизовані тести перевіряють покриття активованих символів, виключені символи, некоректні конфігурації та відсутність Math.random(). Тести браузера перевіряють, що регенерація та копіювання не надсилають мережевих запитів, що містять паролі. Публічний вихідний код та результати CI посилані вище; це відтворювані інженерні докази, а не твердження про незалежний аудит безпеки.
Для глибшого пояснення на рівні протоколу прочитайте технічний документ про генерацію паролів на стороні клієнта.