Bezpieczeństwo Haseł: Jak Generować, Przechowywać i Audytować Silne Hasła
Szybka odpowiedź
Generuj 16+ znakowe losowe hasła naszym Password Generator, nigdy ich nie reużywaj i przechowuj w password manager. Na serverze hashuj z bcrypt (work factor 12+), scrypt lub Argon2id —nigdy MD5 lub SHA-256. Audytuj breache przez Have I Been Pwned API.
Wstęp
Słabe, reużywane i niewłaściwie przechowywane hasła powodują większość przejęć kont. Ten przewodnik rozwiązuje cztery konkretne problemy: (1) generowanie haseł z wystarczającą entropią aby oprzeć się brute force, (2) hashowanie haseł powolnym KDF zamiast szybkim hash, (3) unikanie reużycia między serwisami i (4) audyt wyciekniętych credentials.
Krok po kroku
-
Wygeneruj hasło o wysokiej entropii
Użyj generatora haseł, aby utworzyć hasło składające się z ponad 16 znaków, składające się z górnych, dolnych, cyfr i symboli. Entropia = log2(rozmiar_znaku^długość); 16-znakowy alfabet składający się z 94 symboli daje ~ 105 bitów, co jest niewykonalne w przypadku brutalnej siły nawet przy 10^12 odgadnięć na sekundę.
-
Nigdy nie używaj ponownie haseł w różnych usługach
Ponowne użycie jednego hasła oznacza, że pojedyncze naruszenie zagraża każdemu kontu, które je udostępnia. Wygeneruj unikalne hasło dla każdej usługi i przechowuj je w menedżerze haseł (Bitwarden, 1Password, KeePassXC). Hasło główne to jedyne, które musisz zapamiętać — niech będzie długie.
-
Hashuj hasła za pomocą powolnego KDF na serwerze
Nigdy nie przechowuj haseł z MD5, SHA-1 lub surowym SHA-256 — są zbyt szybkie, a procesory graficzne mogą próbować miliardy na sekundę. Użyj bcrypt ze współczynnikiem pracy 12+, scrypt z N=2^17 lub Argon2id z 64MB pamięci. Te KDF są celowo powolne i wymagają dużej ilości pamięci, aby pokonać ataki GPU/ASIC.
-
Użyj soli, aby pokonać tęczowe stoły
Sól to unikalna losowa wartość każdego hasła, dodana na początku lub połączona przed haszowaniem. Zapewnia, że identyczne hasła generują różne skróty, przez co wstępnie obliczone tabele Rainbow są bezużyteczne. bcrypt i Argon2 automatycznie generują i osadzają sól — nie rzucaj własnej.
-
Audyt pod kątem złamanych haseł
Przed przyjęciem hasła sprawdź je względem Have I Been Pwned API przy użyciu protokołu k-anonymity: wyślij tylko pierwsze 5 znaków skrótu SHA-1, otrzymaj listę pasujących sufiksów i porównaj lokalnie. To nigdy nie ujawnia pełnego hasła do API.
Przykłady
Silnie wygenerowane hasło (16 znaków, entropia ~105 bitów)
Wejście: Długość 16, wszystkie klasy postaci
Wyjście: K9$mP2#vL7@nQ4!x (losowy, unikalny, nigdy nie używany ponownie)
Hasło do hasła głównego (zapadające w pamięć + mocne)
Wejście: 4 losowe, popularne słowa
Wyjście: correct-horse-battery-staple (~44 bits but easy to remember; use 5-6 words for ~60+ bits)
skrót bcrypt hasła (współczynnik pracy 12)
Wejście: hasło123 z bcrypt kosztuje 12
Wyjście: $2b$12$N9qo8uLOickgx2ZMRZoMy.MrqKQp7vqB4V1e5sTq7vqB4V1e5sTq (sól + koszt + osadzony skrót)
Typowe problemy
- Używanie MD5 lub SHA-256 do mieszania haseł: oba są szybkimi skrótami. Nowoczesny procesor graficzny oblicza ~10 miliardów SHA-256/s, łamiąc 8-znakowe hasło w ciągu kilku minut. Zawsze używaj bcrypt, scrypt lub Argon2id.
- Ponowne używanie jednego hasła w różnych witrynach: naruszenie w najsłabszej witrynie powoduje wyciek hasła do każdej witryny. Generuj unikalne hasła i przechowuj je w menedżerze.
- Przechowywanie haseł w postaci zwykłego tekstu lub z odwracalnym szyfrowaniem: w przypadku wycieku bazy danych każde konto zostaje natychmiast zagrożone. Haszowanie jest jednokierunkowe i nieodwracalne — nawet serwer nie jest w stanie odzyskać oryginału.
- Niski współczynnik pracy w bcrypt: koszt 4 był w porządku w 2002 r.; w 2026 r. koszt użycia wynosił 12+ (około 4096 iteracji). Powtórz hash przy logowaniu, aby zaktualizować stare skróty bez wymuszania resetowania hasła.
Porady
- Staraj się uzyskać co najmniej 100 bitów entropii w przypadku kont o dużej wartości — czyli 16 losowych znaków z alfabetu składającego się z 94 symboli lub 6 losowych słów z gry w kości.
- Włącz uwierzytelnianie dwuskładnikowe (TOTP lub klucz sprzętowy) dla każdego konta, które je obsługuje — samo silne hasło nie wystarczy, jeśli hasło zostanie wyłudzone.
- Użyj opcji „wyklucz znaki niejednoznaczne” w naszym generatorze haseł (0/O, 1/l/I), gdy hasła będą odczytywane na głos lub wpisywane z wydruku.
- Zmieniaj hasła dopiero po potwierdzeniu naruszenia, a nie według ustalonego harmonogramu — wymuszona rotacja kieruje użytkowników do przewidywalnych wzorców, takich jak Wiosna 2026!.