Centrum zaufania
Metodologia bezpieczeństwa i generowania
Szczegóły techniczne, granice zagrożeń, obsługa losowości i powtarzalne kontrole generatora haseł.
Źródło losowości
Generator żąda kryptograficznie silnych wartości z crypto.getRandomValues(). Nigdy nie używa Math.random(), którego wyniki nie są przeznaczone do zastosowań kryptograficznych. Specyfikacja Web Crypto opisuje CSPRNG zasilany wysokiej jakości entropią, zwykle dostarczaną przez system operacyjny. Przeglądarka i system operacyjny wybierają dostawcę; PwdGen nie twierdzi, że każde wywołanie bezpośrednio odczytuje sprzętowe źródło entropii CPU.
Losowe indeksy są wybierane metodą odrzucania. Wartości powyżej największej pełnej wielokrotności rozmiaru alfabetu są odrzucane przed operacją modulo, co eliminuje obciążenie, które wprowadziłoby bezpośrednie mapowanie randomValue % alphabetSize.
Pokrycie znaków i tasowanie
Generator najpierw wybiera jeden znak z każdego włączonego źródła. Wypełnia pozostałe pozycje z połączonej puli, a następnie wykonuje kryptograficznie sterowane tasowanie Fisher–Yates. Filtry dla podobnych i niejednoznacznych znaków są stosowane przed wyborem.
Przepływ danych
Wygenerowane wartości istnieją tylko w pamięci bieżącej strony i widocznych węzłach wyników. Nie są zapisywane w adresach URL, ciasteczkach, localStorage, sessionStorage, logach serwera ani artefaktach kompilacji. Preferencja językowa to jedyna preferencja aplikacji przechowywana w localStorage i funkcjonalnym ciasteczku.
Model zagrożeń i ograniczenia
Ten projekt chroni przed celowym gromadzeniem wygenerowanych haseł przez witrynę. Nie może zagwarantować integralności urządzenia użytkownika, rozszerzeń przeglądarki, schowka, systemu operacyjnego ani docelowej usługi. Nie może również sprawić, że ponownie użyte hasło będzie bezpieczne, ani zapobiec wprowadzeniu hasła na stronie phishingowej.
Powtarzalny przegląd
Przeglądarka, publiczne API i pwdgen-cli@1.0.0 współdzielą to samo jądro Web Crypto z metodą odrzucania. Testy automatyczne sprawdzają pokrycie włączonych znaków, wykluczone znaki, nieprawidłowe konfiguracje oraz brak Math.random(). Testy przeglądarkowe weryfikują, że regeneracja i kopiowanie nie wysyłają żądań sieciowych zawierających hasła. Publiczny kod źródłowy i wyniki CI są powiązane powyżej; to powtarzalne dowody inżynieryjne, a nie twierdzenie o niezależnym audycie bezpieczeństwa.
Aby uzyskać głębsze wyjaśnienie na poziomie protokołu, przeczytaj białą księgę generowania haseł po stronie klienta.