Poradnik bezpieczeństwa
Obsługa przeglądarek dla lokalnego generowania haseł
Dowiedz się, jak PwdGen działa w Chrome, Edge, Safari, Firefox i przeglądarkach mobilnych oraz co się dzieje, gdy Web Crypto jest niedostępne.
Podsumowanie
PwdGen został zbudowany dla nowoczesnych przeglądarek obsługujących Web Crypto API. Generowanie haseł, szacowanie ich siły, narzędzia do tworzenia fraz oraz lokalne narzędzia działają w przeglądarce, a nie na serwerze PwdGen. Taka konstrukcja działa w Chrome, Edge, Safari, Firefox i obecnych przeglądarkach mobilnych, gdy crypto.getRandomValues() jest dostępny.
Obsługa Chrome
Chrome obsługuje Web Crypto w bezpiecznych kontekstach i jest główną przeglądarką używaną do testów rozwojowych PwdGen. Pakiet rozszerzenia Chrome działa według tego samego lokalnego modelu: brak zdalnych skryptów, brak uprawnień do hosta i brak przechowywania haseł.
Obsługa Edge
Microsoft Edge jest oparty na Chromium i obsługuje te same prymitywy Web Crypto, które są używane przez PwdGen. W normalnym użytkowaniu użytkownicy Edge mogą lokalnie generować, kopiować i oceniać hasła w taki sam sposób jak użytkownicy Chrome.
Obsługa Safari
Safari obsługuje Web Crypto na nowoczesnych wersjach macOS i iOS. Użytkownicy mobilnego Safari powinni pamiętać, że skopiowane hasła mogą pozostać w schowku systemowym do czasu zastąpienia, a do długoterminowego przechowywania należy używać iCloud Keychain lub innego menedżera haseł.
Obsługa Firefox
Firefox obsługuje crypto.getRandomValues() i może uruchomić generator lokalnie. Niektóre zautomatyzowane lokalne środowiska testowe miały problemy z resetowaniem połączenia niezwiązane z zachowaniem strony, dlatego weryfikacja produkcyjna koncentruje się na API przeglądarki i granicy prywatności, a nie na lokalnym środowisku testowym.
Obsługa przeglądarek mobilnych
Przeglądarki mobilne mogą generować bezpieczne losowe hasła, o ile udostępniają Web Crypto. Układ PwdGen utrzymuje przyciski wystarczająco duże do interakcji dotykowej i zachowuje generowane hasła w kierunku od lewej do prawej nawet w ustawieniach regionalnych RTL.
Wymaganie Web Crypto
PwdGen wymaga kryptograficznego źródła losowości. Generator pobiera losowe bajty z crypto.getRandomValues() i mapuje je na wybory znaków za pomocą próbkowania z odrzucaniem. Pozwala to uniknąć użycia Math.random(), które nie jest przeznaczone do zastosowań wrażliwych na bezpieczeństwo.
Gdy Web Crypto jest niedostępne
PwdGen zawodzi w sposób bezpieczny. Strona pozostaje czytelna, ale kontrolki haseł są wyłączone, a ostrzeżenie wyjaśnia, że bezpieczne generowanie wymaga nowoczesnej przeglądarki. Lepiej nie pokazywać żadnego wygenerowanego hasła niż po cichu tworzyć słabe poświadczenia.
Oświadczenie o generowaniu lokalnym
Generowanie i sprawdzanie odbywa się w przeglądarce. PwdGen nie przesyła wygenerowanych haseł, istniejących haseł wprowadzonych do sprawdzarki, fraz ani wyeksportowanych wartości. Lokalne generowanie nie może chronić przed naruszonym urządzeniem, złośliwym rozszerzeniem, niebezpiecznym schowkiem, stroną phishingową ani usługą docelową ze słabym przechowywaniem haseł.
Szczegóły implementacji znajdziesz w metodologii bezpieczeństwa oraz dokumencie dotyczącym generowania haseł po stronie klienta.
Często zadawane pytania
Które przeglądarki obsługuje PwdGen?
PwdGen jest zaprojektowany dla nowoczesnych wersji Chrome, Edge, Safari, Firefox i obecnych przeglądarek mobilnych, które udostępniają Web Crypto API.
Co się dzieje, gdy Web Crypto jest niedostępne?
Kontrolki haseł są wyłączone i wyświetlane jest ostrzeżenie o zgodności. PwdGen nie korzysta z Math.random() do generowania haseł.
Czy obsługa przeglądarki zmienia model prywatności?
Nie. W obsługiwanych przeglądarkach generowanie i ocena odbywają się lokalnie. Główne ograniczenia prywatności to urządzenie, rozszerzenia przeglądarki, schowek i usługa docelowa.