Przez ostatnie miesiące pisaliśmy tu o hasłach z każdej strony: ile realnie znaczą bity entropii, jak generować hasła losowo, jak zapamiętać frazę metodą Diceware i jak sprawdzić, czy hasło nie wyciekło. Wszystkie te porady mają jedną wspólną słabość, o której trzeba powiedzieć wprost: nawet idealne hasło można wyłudzić.
Jeśli użytkownik wpisze swoje 90-bitowe cudo na stronie lm-netvvorks.pl, entropia nie ochroni go w żadnym stopniu. I właśnie ten problem - nie siłę, tylko sposób użycia - rozwiązują passkeys. Ten artykuł domyka naszą serię o hasłach: pokazuje, na czym passkeys naprawdę polegają, dlaczego są odporne na phishing i gdzie w firmie potrafią się wyłożyć.
Czym jest passkey (i czym na pewno nie jest)
Passkey to nie „hasło zapisane w telefonie”. To para kluczy kryptograficznych wygenerowana osobno dla każdego serwisu, w standardzie FIDO2/WebAuthn. Podczas rejestracji Twoje urządzenie tworzy dwa klucze:
- Klucz prywatny - zostaje na urządzeniu (w bezpiecznym module telefonu, w kluczu USB, w menedżerze haseł). Nigdy nie jest wysyłany do serwisu.
- Klucz publiczny - trafia na serwer i tam jest przechowywany. Sam z siebie jest bezużyteczny dla atakującego.
Logowanie wygląda tak: serwer wysyła losowe wyzwanie (challenge), urządzenie podpisuje je kluczem prywatnym, serwer weryfikuje podpis kluczem publicznym. W żadnym momencie nie przesyłasz sekretu, który dałoby się przechwycić i użyć ponownie.
Kluczowa różnica: hasło to sekret współdzielony - znasz je Ty i serwis. Passkey to sekret, którego serwis nigdy nie poznaje. Nie da się ukraść czegoś, czego druga strona nie ma.
Dlaczego to naprawdę zabija phishing
To jest sedno i powód, dla którego passkeys są jakościowym skokiem, a nie kolejnym wariantem hasła. Klucz jest przypisany do domeny, dla której powstał (tzw. origin binding), a sprawdzenie tego przypisania robi przeglądarka - nie użytkownik.
Gdy trafisz na podrobioną stronę lm-netvvorks.pl, przeglądarka po prostu nie znajdzie pasującego passkeya do tej domeny. Nie pokaże monitu, nie podpisze wyzwania, nie będzie czego wysłać. Nie ma tu miejsca na ludzki błąd, pośpiech ani „przecież logo się zgadzało”.
Dla porównania: hasło i kod TOTP można wyłudzić w czasie rzeczywistym. Atakujący stawia proxy między Tobą a prawdziwym serwisem, Ty wpisujesz hasło i sześciocyfrowy kod, on natychmiast przekazuje je dalej i przejmuje sesję. Kod z aplikacji nie ma pojęcia, na jakiej stronie go wpisałeś - passkey ma.
Co się dzieje, gdy serwis zostanie zhakowany
Drugi duży zysk widać dopiero po wycieku. Baza serwisu z passkeyami zawiera wyłącznie klucze publiczne. Nie ma tam hashy do łamania, nie ma soli, nie ma nic, co da się przepuścić przez farmę GPU.
Wyciek bazy haseł -> hashe do złamania offline, ryzyko dla
każdego konta z tym samym hasłem
Wyciek bazy passkeys -> klucze publiczne, czyli dane bez wartości
dla atakującego
Znika też cała klasa problemów z recyklingiem haseł. Passkey jest z definicji unikalny dla serwisu, więc „to samo hasło w dziesięciu miejscach” przestaje być możliwe technicznie, a nie tylko niezalecane.
Passkey synchronizowany czy przypisany do urządzenia
To jest decyzja, którą trzeba w firmie podjąć świadomie, bo różnica jest duża.
Passkey synchronizowany (Apple iCloud Keychain, Google Password Manager, Windows Hello z kontem Microsoft, Bitwarden, 1Password) jest kopiowany między Twoimi urządzeniami przez chmurę dostawcy. Wygoda jest ogromna: kupujesz nowy telefon, logujesz się na konto i passkeys są na miejscu. Cena: bezpieczeństwo Twoich kluczy zależy od bezpieczeństwa konta w tej chmurze. Przejęcie Apple ID czy konta Google to przejęcie wszystkich passkeys naraz.
Passkey przypisany do urządzenia (device-bound) żyje wyłącznie w jednym sprzęcie - najczęściej w kluczu sprzętowym typu YubiKey czy Nitrokey. Klucz prywatny fizycznie nie opuszcza układu. To najwyższy poziom kontroli, ale jeśli zgubisz klucz i nie masz zapasowego, tracisz dostęp.
Reguła kciuka: do kont pracowniczych i codziennych - passkeys synchronizowane z porządnie zabezpieczonym kontem dostawcy. Do kont administracyjnych, panelu domen i dostępu do infrastruktury - dwa klucze sprzętowe, jeden w użyciu, drugi w sejfie.
Dlaczego passkey to jednocześnie drugi składnik
Zanim urządzenie podpisze wyzwanie, żąda potwierdzenia: PIN-u, odcisku palca albo skanu twarzy. W nomenklaturze WebAuthn nazywa się to user verification i oznacza, że w jednym geście spełniasz dwa warunki jednocześnie: coś masz (urządzenie z kluczem prywatnym) i coś wiesz albo czymś jesteś (PIN lub biometria).
Warto tu rozwiać częsty niepokój: odcisk palca nie jest nigdzie wysyłany. Biometria służy wyłącznie do lokalnego odblokowania klucza prywatnego w Twoim urządzeniu. Serwis dostaje tylko podpis kryptograficzny i nigdy nie widzi Twoich danych biometrycznych.
Gdzie passkeys się wykładają
Teraz uczciwa część, bo marketing dostawców zwykle ją pomija. Passkeys nie są panaceum i w firmowej rzeczywistości mają cztery konkretne słabe punkty.
1. Odzyskiwanie konta. To jest największa dziura i to o nią rozbija się cała obietnica. Jeśli serwis pozwala „zalogować się inaczej”, gdy nie masz passkeya - kodem z SMS-a albo linkiem na e-mail - to atakujący po prostu zaatakuje tę furtkę i cała odporność na phishing przestaje mieć znaczenie. Sprawdzaj to zawsze: bezpieczeństwo konta równa się bezpieczeństwu najsłabszej metody logowania, jaką dopuszcza serwis.
2. Konta współdzielone. Passkey jest z natury przypisany do osoby i jej urządzenia. Wspólne konto do panelu operatora, z którego korzystają trzy osoby, kłóci się z tym modelem. Rozwiązaniem jest albo firmowy menedżer haseł z obsługą współdzielonych passkeys, albo - znacznie lepiej - rozbicie wspólnego konta na konta imienne.
3. Nierówne wsparcie. Duże platformy obsługują passkeys od dawna, ale panel Twojego operatora, hosting, system księgowy czy panel routera mogą nie obsługiwać ich jeszcze latami. W praktyce przez długi czas będziesz prowadzić dwa światy równolegle.
4. Offboarding i sprzęt. Passkey w prywatnym telefonie pracownika to firmowy dostęp na urządzeniu, którego nie kontrolujesz. Przy odejściu pracownika trzeba mieć procedurę wyrejestrowania jego kluczy po stronie serwisów - samo zabranie laptopa nic nie da.
Jak zacząć w małej firmie
Nie ma sensu ogłaszać „przechodzimy na passkeys”. Sensowna kolejność jest odwrotna - od kont, których utrata boli najbardziej:
- Zacznij od kont krytycznych: poczta administratora, panel rejestratora domen, konto w chmurze, bankowość, panel zarządzania siecią. To są konta, z których atakujący przejmuje resztę.
- Zawsze rejestruj co najmniej dwa passkeys na jedno konto - na przykład telefon i klucz sprzętowy. Jeden passkey to gwarantowana blokada przy zgubionym telefonie.
- Wyłącz słabe metody zapasowe tam, gdzie serwis na to pozwala. Zostawiony aktywny SMS jako fallback niweczy większość zysku.
- Wydrukuj i zabezpiecz kody zapasowe. Koperta w sejfie, nie plik na pulpicie.
- Zapisz, kto ma jaki klucz. Bez ewidencji nie przeprowadzisz porządnego offboardingu.
Czy hasła znikną?
Nie w tej dekadzie - i dlatego cała nasza seria o hasłach zachowuje wartość. Passkeys będą przejmować logowanie tam, gdzie są wspierane, ale hasła zostaną w panelach urządzeń, na serwerach, w systemach, których nikt nie zaktualizuje, i w dziesiątkach usług niszowych.
Praktyczny wniosek na dziś jest więc dwutorowy: passkey wszędzie, gdzie się da; mocne, losowe i unikalne hasło z menedżera wszędzie tam, gdzie się nie da. Do tej drugiej kategorii dalej używaj naszego generatora haseł, a hasła, które gdzieś już krążą, sprawdzaj w sprawdzarce wycieków.
To jest ostatni element układanki, którą składaliśmy przez pół roku: entropia mówi, jak mocny jest sekret, Diceware - jak go zapamiętać, menedżer - gdzie go trzymać, a passkey rozwiązuje problem, którego żaden z nich nie ruszał: komu ten sekret oddajesz.