Przejdź do treściHisnLabs
← Kryptografia, na której możesz polegać

Lekcja 4 z 4 · 8 min

Klucze i hasła: dlaczego utrata jednego psuje wszystko

Każda gwarancja z tego kursu opiera się na tym, że klucz albo hasło pozostają tajne. Zarządzanie kluczami to niepozorna dyscyplina, która decyduje o sukcesie lub porażce kryptografii.

Każda lekcja tego kursu po cichu zakładała to samo: że właściwy klucz pozostał we właściwych rękach. Szyfrowanie symetryczne zawodzi w chwili, gdy wycieka jego współdzielony klucz. Szyfrowanie asymetryczne zawodzi, jeśli klucz prywatny zostanie ujawniony. Podpis nic nie znaczy, gdy jego klucz prywatny zostanie skradziony — atakujący może teraz podpisać cokolwiek i zostanie to zweryfikowane jako autentyczne. Jednostka wiedzy NCAE-C Basic Cryptography wymienia zarządzanie kluczami, obok samych algorytmów, jako kwestię, którą „trzeba rozwiązać przed wdrożeniem” — a nie potraktować jako dodatek na później.

Dlaczego silny algorytm nie ratuje słabego klucza

AES z 256-bitowym kluczem jest, w praktyce, niemożliwy do złamania metodą zgadywania. Nic z tego nie ma znaczenia, jeśli sam klucz jest zapisany na karteczce samoprzylepnej, powtórnie użyty w wielu kontach albo chroniony czterocyfrowym kodem, który atakujący może odgadnąć w kilka sekund. Większość rzeczywistych awarii kryptograficznych to nie złamane algorytmy; to ujawnione klucze, powtórnie użyte hasła albo sekrety pozostawione jawnym tekstem tam, gdzie powinny być chronione. Dlatego gwarancje z poprzednich lekcji zawsze niosły ze sobą warunek — „jeśli współdzielony klucz pozostaje tajny”, „tylko posiadacz klucza prywatnego” — i właśnie w tym warunku żyje zarządzanie kluczami.

Co faktycznie mówią obecne wytyczne dotyczące haseł

Obecne wytyczne NIST dotyczące tożsamości cyfrowej (SP 800-63B) odwracają większość porad, jakich uczono wiele osób. Weryfikatorzy, jak stwierdza dokument, „NIE POWINNI wymagać od użytkowników okresowej zmiany haseł” i nie powinni narzucać reguł kompozycji wymuszających mieszanie typów znaków — obie praktyki, które skłaniały ludzi do małych, przewidywalnych wariacji zamiast naprawdę silniejszych haseł. Zamiast tego NIST zaleca dłuższe hasła (wytyczne wskazują na minimum w przedziale od ośmiu do piętnastu znaków, w zależności od kontekstu, z maksimum co najmniej 64 dozwolonych) oraz sprawdzanie nowych haseł względem list powszechnie wyciekłych lub oczekiwanych haseł, zamiast wymagać sztucznej złożoności. Wprost wymaga też, by weryfikatorzy „dopuszczali korzystanie z menedżerów haseł i funkcji autouzupełniania”, w tym zezwalali na wklejanie do pól haseł — uznając, że narzędzie generujące i przechowujące unikalne, długie hasła dla każdej strony robi więcej dla bezpieczeństwa niż jakakolwiek zasada, której można oczekiwać od kogoś zapamiętywanej na pamięć.

Klucze dostępu (passkeys): całkowite usunięcie współdzielonego sekretu

Hasło to współdzielony sekret: znasz je zarówno ty, jak i usługa, co dokładnie sprawia, że jest podatne na phishing — fałszywa strona logowania po prostu prosi o ten sam sekret. Klucz dostępu (passkey) unika tego, korzystając z omówionego wcześniej w tym kursie szyfrowania asymetrycznego. Dokumentacja wsparcia Apple opisuje ten proces: twoje urządzenie generuje „unikalną parę kluczy kryptograficznych” podczas tworzenia klucza dostępu — klucz publiczny trafia do usługi, a klucz prywatny nigdy nie opuszcza twojego urządzenia. Apple stwierdza, że klucze dostępu są odporne na phishing, ponieważ nie ma współdzielonego sekretu, który dałoby się wyłudzić: klucza prywatnego po prostu nie da się wydobyć przez fałszywą stronę, bez względu na to, jak przekonująco wygląda. Na urządzeniach Apple klucz prywatny jest chroniony i synchronizowany między twoimi urządzeniami przez iCloud Keychain, który Apple opisuje jako szyfrowany end-to-end, tak że sam Apple nie posiada klucza.

Hierarchia czynników CISA, w skrócie

Wytyczne amerykańskiej Agencji ds. Cyberbezpieczeństwa i Bezpieczeństwa Infrastruktury (CISA) dotyczące uwierzytelniania wieloskładnikowego szeregują metody według odporności na phishing. Stwierdzają, że „jedynym powszechnie dostępnym uwierzytelnianiem odpornym na phishing jest uwierzytelnianie FIDO/WebAuthn” — ten sam bazowy standard, na którym zbudowane są klucze dostępu. Jednorazowy kod wysyłany SMS-em jest, jak to ujęto, wciąż dużo lepszy niż całkowity brak drugiego składnika, ale może zostać przekierowany lub przechwycony w sposób, jakiemu metoda odporna na phishing nie podlega. Tam, gdzie usługa oferuje klucz dostępu albo sprzętowy klucz FIDO, jest to obecnie najsilniejsza powszechnie dostępna opcja; tam, gdzie oferuje tylko kody z aplikacji lub SMS, każde z nich nadal jest znacząco lepsze niż samo hasło.

Jeśli to zostanie utracone lub ujawnioneKonsekwencja
Klucz szyfrowania symetrycznegoKażdy, kto go posiada, może odczytać wszystko, co chronił, w przeszłości i w przyszłości, chyba że system ma poufność wsteczną
Klucz prywatny używany do podpisywaniaAtakujący może tworzyć podpisy, które zweryfikują się jako naprawdę twoje
Powtórnie użyte hasłoKażde konto używające tego samego hasła staje się podatne w chwili, gdy którekolwiek z nich zostanie zaatakowane
Klucz prywatny klucza dostępu (rzadkie, bo nie ma opuszczać urządzenia)Samo urządzenie i jego własne zabezpieczenia (blokada ekranu, szyfrowanie dysku) stają się ostatnią linią obrony

Praktyczny wniosek

Używaj menedżera haseł, dzięki czemu każde konto otrzyma długie, unikalne hasło, którego nigdy nie musisz zapamiętywać. Włącz najsilniejszy dostępny drugi składnik — klucz dostępu albo fizyczny klucz bezpieczeństwa tam, gdzie są oferowane, w przeciwnym razie aplikację uwierzytelniającą. I traktuj każdą chwilę, w której hasło lub klucz mogły zostać ujawnione — kliknięcie w phishing, zgubione urządzenie, powiadomienie o wycieku — jako coś, na co trzeba zareagować natychmiast, a nie później: zmień dane uwierzytelniające i sprawdź, czy nie zostały użyte gdzie indziej.

Najważniejsze

  • Każda gwarancja kryptograficzna z tego kursu zależy od tego, że klucz lub hasło pozostają tajne; zarządzanie kluczami nie jest opcjonalne.
  • Obecne wytyczne NIST rezygnują z wymuszanych okresowych zmian haseł i reguł złożoności na rzecz długości, sprawdzania list wycieków i menedżerów haseł.
  • Klucze dostępu usuwają współdzielony sekret, na którym opiera się hasło, używając klucza prywatnego, który nigdy nie opuszcza twojego urządzenia — dlatego są odporne na phishing.
  • CISA uznaje FIDO/WebAuthn (standard stojący za kluczami dostępu) za najbardziej odporną na phishing spośród powszechnie dostępnych metod uwierzytelniania.
  • Traktuj każde możliwe ujawnienie hasła lub klucza — phishing, zgubione urządzenie, powiadomienie o wycieku — jako coś, na co trzeba zareagować natychmiast.

Sprawdź się

  1. 1. Dlaczego silny algorytm szyfrowania sam w sobie nie gwarantuje bezpieczeństwa?

    • Silne algorytmy są zawsze wolne
    • Gwarancja obowiązuje tylko wtedy, gdy klucz pozostaje tajny; ujawniony klucz pokonuje nawet najsilniejszy algorytm — Dobrze.
    • Algorytmy trzeba zmieniać co miesiąc
    • Złamać można tylko algorytmy symetryczne

    Siła kryptograficzna jest uwarunkowana tajnością klucza; wyciekły lub słaby klucz podważa nawet matematycznie solidny algorytm.

  2. 2. Co zalecają obecne wytyczne NIST (SP 800-63B) w sprawie zmiany haseł?

    • Hasła powinny być zmieniane co 30 dni
    • Weryfikatorzy nie powinni wymagać okresowej zmiany haseł — Dobrze.
    • Hasła powinny zawsze mieć mieszankę symboli i cyfr
    • Menedżery haseł powinny być zakazane ze względów bezpieczeństwa

    NIST wprost stwierdza, że weryfikatorzy nie powinni wymuszać okresowych zmian haseł i powinni zamiast tego sprawdzać hasła względem list wycieków oraz dopuszczać menedżery haseł.

  3. 3. Dlaczego klucze dostępu uznawane są za odporne na phishing?

    • Używają dłuższego hasła niż zwykle
    • Nie ma współdzielonego sekretu do wykradzenia; klucz prywatny nigdy nie opuszcza urządzenia i nie da się go wpisać na fałszywej stronie — Dobrze.
    • Wymagają odcisku palca za każdym razem, bez wyjątków
    • Kluczy dostępu nie można używać na telefonach

    Klucz prywatny klucza dostępu pozostaje na urządzeniu; strona phishingowa może co najwyżej zdobyć współdzielony sekret, a klucz dostępu go nie ma.

  4. 4. Co powinieneś zrobić, jeśli podejrzewasz, że hasło zostało ujawnione przez kliknięcie w phishing albo powiadomienie o wycieku?

    • Poczekać, czy stanie się coś złego, zanim zareagujesz
    • Natychmiast zmienić te dane uwierzytelniające i sprawdzić, czy nie zostały użyte gdzie indziej — Dobrze.
    • Zignorować, jeśli konto nie zawiera wrażliwych danych
    • Martwić się tylko, jeśli usługa wprost tego wymaga

    Ponieważ powtórnie użyte hasło naraża każde konto z niego korzystające, natychmiastowa reakcja — zmiana go i sprawdzenie ponownego użycia — ogranicza szkody.

Wypróbuj to z FireAI

Zastosuj tę lekcję w praktyce na swoim Macu.

Źródła

Zastosuj to na swoim Macu

Wypróbuj wszystkie funkcje za darmo przez 17 dni, bez karty.

Pobierz na Maca Dokumentacja