uwierzytelnianie
| Po angielsku | authentication |
|---|---|
| Którą formą pisać | po polsku Polska nazwa przyjęła się w tekstach i w wyszukiwarce — używaj jej samodzielnie. |
| Inne formy | uwierzytelnienie (pojedynczy akt, forma dokonana) · weryfikacja tożsamości |
| Kategoria | Kryptografia, tożsamość i uwierzytelnianie |
Uwierzytelnianie to potwierdzenie, że użytkownik, urządzenie albo usługa są tym, za kogo się podają. NIST definiuje je jako proces sprawdzenia ważności jednego lub kilku uwierzytelniaczy, który ustala, że podmiot próbujący uzyskać dostęp do usługi cyfrowej kontroluje sekrety służące do uwierzytelnienia [1]. Uwierzytelnianie odpowiada na pytanie „kto to jest”. Pytanie „co mu wolno” należy już do autoryzacji. OWASP odróżnia też uwierzytelnianie od zarządzania sesją, które po zalogowaniu utrzymuje stan użytkownika za pomocą trudnego do odgadnięcia identyfikatora [2].
Jak działa
Proces ma kilka etapów. Najpierw identyfikacja: użytkownik podaje tożsamość, na przykład login. Potem uwierzytelnienie: przedstawia dane uwierzytelniające, które serwer sprawdza. Dopiero po nim następuje autoryzacja i wydanie tokenu sesyjnego, który zastępuje hasło w kolejnych żądaniach.
Serwer nie powinien przechowywać haseł w postaci jawnej. Zapisuje wynik funkcji skrótu z solą i przy logowaniu porównuje skrót podanego hasła z zapisanym. Hasło i sesja muszą też podróżować zaszyfrowanym kanałem: OWASP wymaga TLS lub równie silnego transportu na stronach logowania i w uwierzytelnionych sesjach, aby nie dało się przechwycić danych ani przejąć sesji [2].
Składniki
Klasycznie wyróżnia się trzy kategorie składników uwierzytelniania [1]. CERT Polska opisuje je jako to, co znasz, to, co posiadasz, i to, czym jesteś [4].
| Składnik | Przykłady | Typowe zagrożenie |
|---|---|---|
| coś, co znasz | hasło, kod PIN [4] | phishing, credential stuffing |
| coś, co posiadasz | token sprzętowy, telefon, karta [4] | kradzież lub przechwycenie kodu |
| coś, czym jesteś | odcisk palca, skan tęczówki [4] | nie da się go zmienić po wycieku |
Uwierzytelnianie dwuskładnikowe łączy dwa z tych trzech składników [4]. Dwa hasła to nadal jeden składnik, bo oba należą do kategorii „coś, co znasz”. NIST na poziomie AAL2 wymaga dowodu posiadania i kontroli dwóch różnych składników [1]. Szersze pojęcie to uwierzytelnianie wieloskładnikowe.
NIST wyróżnia trzy poziomy pewności uwierzytelnienia. AAL1 dopuszcza jeden składnik [1]. AAL2 wymaga dwóch różnych składników i dostępności metody odpornej na phishing [1]. AAL3 wymaga dowodu posiadania klucza w protokole kryptografii klucza publicznego i uwierzytelniacza odpornego na phishing [1]. OWASP wymienia protokoły FIDO obok OAuth, OpenID Connect i SAML wśród metod, które usuwają ryzyko ujawnienia hasła [2]. Na FIDO opierają się FIDO2 / WebAuthn i passkeys.
W WordPressie
Hasła. WordPress uwierzytelnia użytkowników domyślnie loginem i hasłem przez wp-login.php. Od wersji 6.8 hasła są haszowane algorytmem bcrypt zamiast przenośnego phpass, co zwiększa koszt łamania [7]. Hasła zapisane wcześniej nadal działają, a po zalogowaniu lub zmianie hasła skrót jest automatycznie przeliczany na bcrypt [7].
Hasła aplikacji. WordPress 5.6 wprowadził hasła aplikacji do uwierzytelniania programów korzystających z REST API i XML-RPC [6]. Mają 24 znaki, są generowane przez rdzeń i nie działają przy logowaniu interaktywnym przez wp-login.php [6]. Domyślnie wymagają HTTPS, a administrator może je w każdej chwili unieważnić na ekranie edycji użytkownika [6].
Drugi składnik. Rdzeń nie ma wbudowanego drugiego składnika. Dokumentacja WordPressa opisuje logowanie dwuetapowe jako użycie dwóch z trzech składników, zwykle hasła i telefonu, i wymienia wtyczki, które je wdrażają, między innymi Two-Factor i Wordfence [5]. Ostrzega też, że dodatkowe kroki mogą zniechęcać użytkowników i zablokować dostęp osobie, która zgubi urządzenie [5].
Zagrożenia i skutki
MITRE opisuje słabość CWE-287 jako sytuację, w której produkt nie dowodzi albo niewystarczająco dowodzi, że deklarowana tożsamość jest prawdziwa [3]. Skutkiem może być udostępnienie zasobów niepowołanym osobom, ujawnienie danych, a nawet wykonanie dowolnego kodu [3]. W praktyce oznacza to obejście uwierzytelniania albo przejęcie konta.
Najczęstsze ataki na uwierzytelnianie:
- Atak siłowy i credential stuffing, czyli zgadywanie haseł i próby z wyciekłych baz.
- Enumeracja użytkowników, gdy komunikat o błędzie zdradza, czy konto istnieje. OWASP zaleca jeden ogólny komunikat, na przykład „Login failed; Invalid user ID or password” [2].
- Phishing i kradzież sesji, które omijają hasło.
Dobre praktyki
NIST zaleca hasła o długości co najmniej 15 znaków, gdy są jedynym składnikiem, i co najmniej 8 znaków w ramach uwierzytelniania wieloskładnikowego [1]. Zabrania narzucania reguł składu hasła i okresowej wymiany, a nakazuje sprawdzać nowe hasła z listą haseł popularnych i wyciekłych [1]. CERT Polska zaleca co najmniej 14 znaków i hasła budowane z całych zdań [4]. Takie bezpieczne hasła najłatwiej przechowywać w menedżerze haseł [4].
OWASP uznaje uwierzytelnianie wieloskładnikowe za najsilniejszą obronę przed zautomatyzowanymi atakami i podaje, że może zapobiec 99,9% przejęć kont [2]. Przed zmianą hasła, adresu e-mail czy danych płatniczych należy ponownie uwierzytelnić użytkownika [2]. Uzupełnieniem jest limit prób logowania z rosnącym opóźnieniem [2].
Historia i przykłady
Błędy uwierzytelniania dotyczą także bibliotek podpisu elektronicznego. 25 maja 2026 roku CERT Polska opublikował informację o podatności CVE-2026-9058 w Szafir SDK Krajowej Izby Rozliczeniowej [8]. Przy niezaufanych certyfikatach SDK samo pobierało certyfikat nadrzędnego urzędu certyfikacji i mogło zwrócić sukces mimo nieudanej weryfikacji łańcucha [8]. Według CERT Polska umożliwiało to obejście mechanizmów uwierzytelniania i podszywanie się pod użytkownika, gdy aplikacja uwierzytelniała go certyfikatem innym niż kwalifikowany albo niepoprawnie zaimplementowała scenariusz z certyfikatem [8]. Poprawkę zawiera wersja 1.8.463.2 [8].
Przypisy
8- [1] NIST SP 800-63B-4: Digital Identity Guidelines — Authentication and Authenticator Management · NIST
- [2] Authentication Cheat Sheet · OWASP
- [3] CWE-287: Improper Authentication · MITRE
- [4] Kompleksowo o hasłach · CERT Polska
- [5] Two-Step Authentication — Advanced Administration Handbook · WordPress.org
- [6] Application Passwords: Integration Guide · Make WordPress Core
- [7] WordPress 6.8 will use bcrypt for password hashing · Make WordPress Core
- [8] Podatność w oprogramowaniu Szafir SDK (CVE-2026-9058) · CERT Polska
Hasła w tym artykule
21- autoryzacja
- dane uwierzytelniające
- token sesyjny
- funkcja skrótu (hashowanie)
- sól
- TLS
- phishing
- credential stuffing
- uwierzytelnianie dwuskładnikowe
- uwierzytelnianie wieloskładnikowe
- FIDO2 / WebAuthn
- passkey
- hasła aplikacji
- XML-RPC
- obejście uwierzytelniania
- przejęcie konta
- atak siłowy (brute-force)
- enumeracja użytkowników
- bezpieczne hasła
- menedżer haseł
- limit prób logowania
Linkują tutaj
27- autoryzacja
- tylna furtka
- nonce
- weryfikacja uprawnień
- Broken Access Control
- brak kontroli uprawnień (missing authorization)
- podatność wykorzystywana bez uwierzytelnienia
- zabezpieczenie katalogu hasłem
- hasła aplikacji
- role i uprawnienia użytkowników
- eskalacja uprawnień
- obejście uwierzytelniania
- session fixation
- dane uwierzytelniające
- Zero Trust
- tailgating
- NAC (network access control)
- powierzchnia ataku
- RBAC
- OAuth 2.0
- zarządzanie tożsamością i dostępem
- certyfikat cyfrowy
- identity provider (IdP)
- token sesyjny
- uwierzytelnianie biometryczne
- mObywatel / Profil Zaufany (mDowód)
- domyślne hasło