uwierzytelnianie bez hasła
| Po angielsku | passwordless authentication |
|---|---|
| Którą formą pisać | obie formy Obie formy są w obiegu. Przy pierwszym wystąpieniu pisz „polski termin (english term)”, dalej sam polski. |
| Inne formy | uwierzytelnianie bezhasłowe · logowanie bez hasła · passwordless |
| Kategoria | Kryptografia, tożsamość i uwierzytelnianie |
Uwierzytelnianie bez hasła (passwordless authentication) to logowanie, w którym użytkownik nie wpisuje hasła. Tożsamość potwierdza kluczem sprzętowym, passkey zapisanym w telefonie lub komputerze, biometrią odblokowującą to urządzenie albo jednorazowym kodem lub linkiem. Najmocniejsze odmiany opierają się na standardzie FIDO2 / WebAuthn. W3C opisuje WebAuthn jako interfejs do tworzenia i używania silnych, poświadczonych kryptograficznych danych logowania opartych na kluczu publicznym, przypisanych do konkretnej witryny [2].
Jak działa
W odmianie opartej na FIDO urządzenie użytkownika tworzy parę kluczy dla każdej witryny osobno. Serwer dostaje tylko klucz publiczny. Przy logowaniu wysyła losowe wyzwanie, a urządzenie podpisuje je kluczem prywatnym po lokalnym potwierdzeniu, na przykład odciskiem palca albo kodem PIN. Tak działa kryptografia asymetryczna: serwer sprawdza podpis, ale nie przechowuje niczego, co pozwoliłoby się zalogować.
FIDO Alliance definiuje passkey jako dane logowania oparte na standardach FIDO, przechowywane w telefonie, komputerze albo sprzętowym kluczu bezpieczeństwa, pozwalające logować się tak, jak odblokowuje się urządzenie [3]. Dane biometryczne nie opuszczają urządzenia; serwer widzi tylko potwierdzenie, że sprawdzenie się udało [3]. Dane logowania są przypisane do witryny i inne witryny nie mogą nawet wykryć ich istnienia [2].
Odmiany
Pod nazwą logowania bez hasła kryją się metody o bardzo różnej odporności.
| Metoda | Co zastępuje hasło | Odporność na phishing |
|---|---|---|
| passkey zsynchronizowany | klucz w chmurze producenta [3] | tak [3] |
| passkey związany z urządzeniem, klucz sprzętowy | klucz, który nie opuszcza urządzenia [3] | tak [3] |
| kod jednorazowy lub powiadomienie | kod z SMS-a, e-maila albo aplikacji | nie [1] |
| link logujący wysłany e-mailem | dostęp do skrzynki | nie; NIST zakazuje e-maila jako kanału uwierzytelniania [1] |
Wytyczne NIST SP 800-63B w czwartej rewizji z sierpnia 2025 roku uznają za odporne na phishing metody, które wiążą wynik uwierzytelnienia z kanałem albo z nazwą weryfikatora; przykładem tej drugiej grupy jest WebAuthn [1]. Kod jednorazowy (OTP) wpisywany ręcznie i metody pozapasmowe takiej odporności nie mają [1]. Te same wytyczne zabraniają użycia poczty e-mail jako kanału pozapasmowego uwierzytelniania, dopuszczając ją do potwierdzania adresu i odzyskiwania konta [1]. Klucze synchronizowane między urządzeniami nie są dopuszczone na najwyższym poziomie AAL3, bo wymagają eksportowalnego klucza prywatnego [1].
W WordPressie
Rdzeń WordPressa loguje hasłem. Logowanie bez hasła dodają wtyczki.
- WP-WebAuthn pozwala zastąpić hasła urządzeniami: kluczami passkey, kluczami USB, czytnikami linii papilarnych, kamerami zgodnymi z Windows Hello, Face ID i Touch ID [6]. WebAuthn wymaga połączenia HTTPS albo adresu
localhost[6]. - Two Factor z katalogu wordpress.org dodaje drugi składnik obok hasła: aplikację TOTP, kody e-mailem i kody zapasowe [4]. Obsługę kluczy FIDO U2F usunięto z powodu utraty wsparcia w przeglądarkach [4].
- WebAuthn Provider for Two Factor rozszerza tę wtyczkę o WebAuthn i passkeys, w tym Windows Hello, Touch ID i klucze YubiKey [5]. Działa jednak jako drugi składnik, a nie zamiennik hasła [5].
Przy wdrożeniu trzeba pamiętać o innych drogach logowania. Hasła aplikacji (application passwords) dla REST API i XML-RPC to osobne drogi logowania, które omijają formularz, więc trzeba je wyłączyć albo objąć tą samą polityką. Po zalogowaniu stronę chroni już tylko token sesyjny w ciasteczku, więc logowanie bez hasła nie zastępuje ochrony sesji.
Znaczenie
Bez hasła znika to, co da się ukraść z bazy albo zgadnąć. Credential stuffing i atak siłowy (brute force) tracą sens, bo serwer nie przyjmuje hasła. Klucz FIDO jest przypisany do adresu witryny [2], więc fałszywa strona w ataku phishing nie dostanie od urządzenia ważnego podpisu [1].
Słabe odmiany nie dają tej ochrony. Kod z SMS-a czy link z e-maila można wyłudzić albo przechwycić, a powiadomienia push bywają zatwierdzane odruchowo, co wykorzystuje MFA fatigue. NIST nie uznaje metod wpisywanych ręcznie ani pozapasmowych za odporne na phishing [1].
Dobre praktyki
- Wybierać passkeys albo klucze sprzętowe; kody i linki traktować jako rozwiązanie przejściowe [1].
- Zarejestrować co najmniej dwa urządzenia uwierzytelniające na konto administratora, aby utrata jednego nie blokowała dostępu.
- Zabezpieczyć ścieżkę odzyskiwania konta tak samo mocno jak logowanie, bo to ona staje się celem ataku. Jeśli po utracie klucza wystarczy link z e-maila, cała ochrona sprowadza się do bezpieczeństwa skrzynki pocztowej.
- Przed wdrożeniem na stronie sprawdzić, czy działa HTTPS, bo bez niego WebAuthn nie zadziała [6].
- Wyłączyć logowanie hasłem dla kont, które mają już zarejestrowane klucze, jeśli wtyczka na to pozwala. Pozostawione hasło nadal da się wyłudzić.
- Tam, gdzie hasło zostaje, stosować bezpieczne hasła z menedżera haseł i drugi składnik.
Historia i przykłady
We wrześniu 2021 roku Microsoft zapowiedział logowanie bez hasła dla użytkowników Windows 10 i 11, wcześniej dostępne tylko dla kont firmowych; zastąpić je miały między innymi aplikacja Microsoft Authenticator, Windows Hello, klucze bezpieczeństwa albo kody z SMS-a lub e-maila [7]. Sekurak zauważył, że klucze sprzętowe są najbardziej odporne na phishing, ale kosztują i sprawiają kłopot po zgubieniu [7].
Według badania FIDO Alliance w 2024 roku 53 procent ankietowanych włączyło passkeys na co najmniej jednym koncie, a 22 procent na wszystkich kontach, na których było to możliwe [3]. W sierpniu 2026 roku W3C opublikował trzeci poziom specyfikacji WebAuthn jako rekomendację [2].
Przypisy
7- [1] NIST SP 800-63B-4: Digital Identity Guidelines — Authentication and Authenticator Management · NIST
- [2] Web Authentication: An API for accessing Public Key Credentials — Level 3 · W3C
- [3] Passkeys · FIDO Alliance
- [4] Two Factor · WordPress.org
- [5] WebAuthn Provider for Two Factor · WordPress.org
- [6] WP-WebAuthn · WordPress.org
- [7] Microsoft zamierza umożliwienie logowania bez hasła – do Windows 10 oraz 11 · Sekurak