passkey
| Po angielsku | passkey |
|---|---|
| Którą formą pisać | po angielsku Polski odpowiednik istnieje, ale w praktyce nikt tak nie pisze. Zostaw angielski, polski trzymaj jako synonim. |
| Inne formy | klucz dostępu (glosa CERT Polska; też nazwa z polskich interfejsów Google i Apple) · poświadczenie odporne na phishing |
| Kategoria | Kryptografia, tożsamość i uwierzytelnianie |
Passkey to poświadczenie logowania oparte na standardach FIDO, przechowywane w telefonie, komputerze albo na sprzętowym kluczu bezpieczeństwa [2]. Zamiast hasła użytkownik potwierdza logowanie odciskiem palca, twarzą, kodem PIN albo wzorem odblokowania [2]. CERT Polska opisuje passkey jako zamiennik hasła, zapisany na urządzeniu, w menedżerze haseł albo na kluczu sprzętowym [1]. W polskich materiałach i interfejsach spotyka się też nazwę „klucz dostępu”, ale w branży dominuje forma angielska.
Jak działa
Passkey to para kluczy kryptograficznych, a więc zastosowanie kryptografii asymetrycznej. Przy rejestracji urządzenie tworzy parę: klucz publiczny trafia do serwisu, prywatny zostaje u użytkownika. Według FIDO Alliance klucz prywatny pozostaje na urządzeniu i nie jest wysyłany do serwerów [2].
Techniczną podstawą jest FIDO2 / WebAuthn. Specyfikacja W3C Web Authentication definiuje interfejs do tworzenia i używania silnych, poświadczonych poświadczeń opartych na kluczu publicznym, powiązanych z konkretnym serwisem [3]. Przy logowaniu urządzenie podpisuje kluczem prywatnym dane otrzymane od serwisu, a serwis sprawdza podpis kluczem publicznym. Przebieg logowania pokazuje schemat poniżej.
Odblokowanie urządzenia to biometria albo PIN sprawdzane lokalnie. Serwis nie otrzymuje odcisku palca ani PIN-u, tylko podpis.
Odmiany
FIDO Alliance rozróżnia dwie odmiany passkeyów [2].
| Odmiana | Gdzie jest klucz prywatny | Uwagi |
|---|---|---|
| synchronizowany | kopiowany między urządzeniami przez usługę chmurową [2] | nie do stosowania na poziomie AAL3 według NIST [4] |
| związany z urządzeniem | nigdy nie opuszcza jednego urządzenia, np. klucza sprzętowego [2] | utrata urządzenia to utrata poświadczenia |
NIST nazywa pierwszą odmianę uwierzytelniaczami synchronizowanymi (syncable authenticators). Pozwalają one skopiować sekret uwierzytelniający na kolejne urządzenia, zwykle przez usługę synchronizacji [4]. Ponieważ wymagają możliwości eksportu klucza prywatnego, NIST wyklucza je z najwyższego poziomu pewności uwierzytelniania, AAL3 [4]. Synchronizację zapewniają zwykle system operacyjny albo menedżer haseł.
Znaczenie
Najważniejszą cechą passkeyów jest odporność na phishing. Specyfikacja W3C stanowi, że poświadczenie może posłużyć do uwierzytelnienia tylko u tego podmiotu, u którego je zarejestrowano, identyfikowanego domeną (RP ID) [3]. CERT Polska ujmuje to prosto: passkey jest przypisany do konkretnej witryny, więc fałszywa strona nie ma jak go wyłudzić [1]. NIST opisuje ten mechanizm jako wiązanie z nazwą weryfikatora i podaje WebAuthn jako przykład uwierzytelniania odpornego na phishing [4].
Różnica względem hasła jest zasadnicza. Hasło można podać na fałszywej stronie, odgadnąć albo odzyskać z wycieku. Passkey nie istnieje w postaci, którą użytkownik mógłby przepisać, a serwis przechowuje tylko klucz publiczny. FIDO Alliance podaje, że passkeye ograniczają phishing, credential stuffing i inne ataki zdalne [2]. Wyciek bazy kluczy publicznych nie pozwala zalogować się na cudze konto.
Passkey należy do rodziny metod uwierzytelniania bez hasła (passwordless). Łączy przy tym dwa składniki: posiadanie urządzenia i jego odblokowanie. Różni się od kodu jednorazowego, który użytkownik przepisuje i który można przekazać oszustowi, na przykład w ataku phishing AiTM (adversary-in-the-middle). Szerszy kontekst wymagań dla serwisów daje NIST: weryfikatory mają oferować co najmniej jedną metodę odporną na phishing na poziomie AAL2 [4].
W WordPressie
Standardowy formularz logowania WordPressa przyjmuje nazwę użytkownika i hasło. Passkeye dodaje się wtyczkami. Wtyczka Two Factor, rozwijana przez współtwórców WordPressa, dodaje uwierzytelnianie dwuskładnikowe kodami TOTP, kodami e-mailowymi i kodami zapasowymi [5]. Obsługę WebAuthn i passkeyów zapewnia osobna wtyczka Two-Factor Provider: WebAuthn [5]. Starsza metoda FIDO U2F została z Two Factor usunięta, bo przeglądarki przestały ją obsługiwać [5].
Przy wdrożeniu warto pamiętać o trzech sprawach:
- passkey jest związany z domeną, więc zmiana domeny witryny wymaga ponownej rejestracji poświadczeń [3];
- WebAuthn działa tylko w bezpiecznym kontekście HTTPS [3];
- konto z passkeyem nadal ma zwykle hasło, więc bezpieczne hasła i limit prób logowania pozostają potrzebne.
Dobre praktyki
CERT Polska zaleca: jeśli serwis proponuje utworzenie passkeya zamiast hasła, warto to zrobić [1]. Według CERT Polska passkeye są wygodniejsze, bo nic nie trzeba wpisywać, i bezpieczniejsze, bo są odporne na phishing [1]. Klucze sprzętowe CERT Polska uważa za najbezpieczniejszą formę 2FA [1].
- Zarejestrować co najmniej dwa passkeye na różnych urządzeniach, aby utrata jednego nie blokowała konta.
- Dla kont administratorów rozważyć passkey związany z kluczem sprzętowym; NIST dopuszcza na AAL3 tylko poświadczenia bez eksportowalnego klucza [4].
- Chronić urządzenie, na którym jest passkey: blokada ekranu jest w praktyce jego drugim składnikiem.
- Zabezpieczyć ścieżkę odzyskiwania konta, bo słaby reset hasła omija nawet najlepszą metodę logowania.
Historia i przykłady
Passkeye wyrosły ze standardów FIDO i specyfikacji Web Authentication. Drugi poziom tej specyfikacji W3C opublikowało jako rekomendację 8 kwietnia 2021 roku [3]. Opisuje on interfejs przeglądarki, przez który strona tworzy poświadczenia oparte na kluczu publicznym i używa ich do silnego uwierzytelniania użytkowników [3].
Obok passkeyów związanych z jednym urządzeniem istnieją synchronizowane, których kopia trafia do usługi chmurowej i jest dostępna na kolejnych urządzeniach użytkownika [2]. Wymusiło to także zmianę wytycznych: nowa wersja NIST SP 800-63B opisuje uwierzytelniacze synchronizowane w osobnym dodatku i określa, na których poziomach pewności wolno ich używać [4]. Ta sama publikacja wymaga, by agencje federalne USA stosowały wobec swoich pracowników, wykonawców i partnerów uwierzytelnianie odporne na phishing [4].
W Polsce passkeye promuje CERT Polska w poradniku o hasłach, obok uwierzytelniania dwuskładnikowego i kluczy sprzętowych [1].
Przypisy
5- [1] Jak tworzyć bezpieczne hasła i chronić swoje konta · CERT Polska
- [2] Passkeys · FIDO Alliance
- [3] Web Authentication: An API for accessing Public Key Credentials, Level 2 · W3C
- [4] SP 800-63B-4: Authentication and Authenticator Management · NIST
- [5] Two Factor · WordPress.org
Hasła w tym artykule
15- kryptografia asymetryczna
- klucz kryptograficzny
- FIDO2 / WebAuthn
- uwierzytelnianie biometryczne
- menedżer haseł
- phishing
- credential stuffing
- wyciek danych
- uwierzytelnianie bez hasła
- kod jednorazowy
- phishing AiTM (adversary-in-the-middle)
- uwierzytelnianie dwuskładnikowe
- bezpieczne hasła
- limit prób logowania
- blokada ekranu
Linkują tutaj
25- phishing
- uwierzytelnianie
- przejęcie konta
- smishing
- kod jednorazowy
- ochrona przed atakami brute force
- uwierzytelnianie wieloskładnikowe
- atak siłowy (brute-force)
- spear phishing
- zmiana adresu logowania
- pharming
- atak homograficzny
- dane uwierzytelniające
- phishing AiTM (adversary-in-the-middle)
- MFA fatigue
- man-in-the-middle (MITM)
- wyłudzenie duplikatu karty SIM
- uwierzytelnianie dwuskładnikowe
- FIDO2 / WebAuthn
- kryptografia asymetryczna
- uwierzytelnianie bez hasła
- uwierzytelnianie biometryczne
- bezpieczne hasła
- cyberhigiena
- domyślne hasło