Robocikowo>ROBOCIKOWO
security-privacy

Passkey

2022AktywnyOpublikowano: 24 października 2026Aktualizacja: 24 października 2026Opublikowany
Bezhasłowe poświadczenie logowania oparte na kryptografii klucza publicznego, zgodne ze standardami FIDO2 / WebAuthn.
Kluczowa innowacja
Zastąpienie hasła parą kluczy kryptograficznych, w której klucz prywatny nigdy nie opuszcza urządzenia użytkownika, co z założenia eliminuje phishing, wycieki haseł i ataki powtórzeniowe.
Kategoria
security-privacy
Poziom abstrakcji
Standard
Poziom operacji
AplikacjaSystem
Zastosowania
Bezhasłowe logowanie do stron i aplikacjiUwierzytelnianie dwuskładnikowe odporne na phishingLogowanie w ekosystemach konsumenckich (iOS, Android, Windows)Dostęp enterprise i zgodność z wymogami bezpieczeństwaUwierzytelnianie administracji publicznej (e-usługi)

Jak działa

1) Rejestracja: podczas tworzenia poświadczenia authenticator generuje unikalną parę kluczy dla danej domeny serwisu. Klucz prywatny zostaje w bezpiecznym magazynie urządzenia, a klucz publiczny jest wysyłany i zapisywany przez Relying Party wraz z identyfikatorem poświadczenia. 2) Uwierzytelnienie: serwer wysyła losowe wyzwanie (challenge). Użytkownik odblokowuje klucz prywatny lokalnie — biometrią lub PIN-em urządzenia (weryfikacja użytkownika). Authenticator podpisuje wyzwanie kluczem prywatnym i odsyła podpis. 3) Weryfikacja: serwer sprawdza podpis przy użyciu zapisanego klucza publicznego. Klucz prywatny nigdy nie opuszcza urządzenia. Przeglądarka i system operacyjny wiążą poświadczenie z origin (domeną) serwisu, więc nie da się go użyć na stronie phishingowej. W WebAuthn poświadczenie umożliwiające logowanie bez podawania loginu nazywane jest discoverable credential (resident key).

Rozwiązany problem

Rozwiązuje systemowe słabości uwierzytelniania opartego na hasłach: podatność na phishing, masowe wycieki baz danych z hasłami, ponowne używanie tego samego hasła w wielu serwisach, ataki powtórzeniowe oraz słabe hasła. Ponieważ serwer przechowuje wyłącznie klucz publiczny, jego wyciek nie pozwala podszyć się pod użytkownika.

Komponenty

Klucz prywatnyPodpisuje wyzwanie uwierzytelniające; nigdy nie opuszcza urządzenia

Tajny klucz pary kryptograficznej przechowywany w bezpiecznym magazynie urządzenia; odblokowywany lokalnie biometrią lub PIN-em.

Klucz publicznyWeryfikuje podpis; przechowywany przez serwis

Jawny klucz pary, zapisywany przez serwis wraz z identyfikatorem poświadczenia. Jego wyciek nie pozwala podszyć się pod użytkownika.

AuthenticatorGeneruje i przechowuje klucze, wykonuje weryfikację użytkownika

Komponent sprzętowy lub programowy (platformowy, np. telefon/laptop, lub roaming, np. klucz sprzętowy) odpowiedzialny za generowanie kluczy i podpisywanie wyzwań.

Platform authenticatorWbudowany w urządzenie (telefon, laptop).
Roaming authenticatorZewnętrzny, np. sprzętowy klucz bezpieczeństwa (USB/NFC/BLE).

Oficjalna

WebAuthn APIInterfejs przeglądarki do tworzenia i używania poświadczeń

Ustandaryzowane przez W3C API przeglądarkowe pośredniczące między serwisem a authenticatorem (ceremonie create i get).

CTAPProtokół komunikacji klienta z zewnętrznym authenticatorem

Część FIDO2; definiuje komunikację między klientem (przeglądarką/OS) a roaming authenticatorem (np. kluczem sprzętowym).

Implementacja

Pułapki implementacyjne
Odzyskiwanie konta przy utracie urządzeniaWysoka

Przy passkeyach device-bound utrata urządzenia może odciąć dostęp do konta; wymagane są mechanizmy odzyskiwania lub dodatkowe poświadczenia.

Rozwiązanie:Rejestrować wiele authenticatorów, oferować synced passkeys i awaryjne ścieżki odzyskiwania.
Walidacja origin i RP IDWysoka

Odporność na phishing zależy od poprawnej weryfikacji origin i Relying Party ID po stronie serwera; błędna konfiguracja osłabia bezpieczeństwo.

Rozwiązanie:Ściśle walidować origin, RP ID i challenge zgodnie ze specyfikacją WebAuthn.
Niespójne wsparcie platform i UXŚrednia

Zachowanie passkeys różni się między systemami, przeglądarkami i menedżerami haseł, co komplikuje spójny UX i przenoszenie między ekosystemami.

Rozwiązanie:Testować na docelowych platformach i zapewniać ścieżki awaryjne logowania.

Ewolucja

Oryginalny paper · 2021 · W3C Recommendation
Web Authentication: An API for accessing Public Key Credentials Level 2
2019
WebAuthn Level 1 jako W3C Recommendation
Punkt przełomowy

4 marca 2019 W3C publikuje WebAuthn Level 1 — API do poświadczeń opartych na kluczu publicznym, techniczny fundament passkeys.

2021
WebAuthn Level 2 jako W3C Recommendation

8 kwietnia 2021 W3C publikuje WebAuthn Level 2, rozwijając specyfikację poświadczeń klucza publicznego.

2022
FIDO Alliance: Multi-Device FIDO Credentials (synced passkeys)
Punkt przełomowy

W marcu 2022 FIDO Alliance publikuje white paper o wielourządzeniowych poświadczeniach FIDO, zarysowując koncepcję synchronizowanych passkeys.

2022
Apple, Google i Microsoft ogłaszają wsparcie dla passkeys
Punkt przełomowy

W 2022 roku Apple, Google i Microsoft zadeklarowały rozszerzone wsparcie dla logowania passkey w swoich platformach i przeglądarkach, upowszechniając markę „passkey".

2026
WebAuthn Level 3 jako W3C Recommendation

25 sierpnia 2026 W3C publikuje WebAuthn Level 3, najnowszą wersję specyfikacji poświadczeń klucza publicznego.

Hiperparametry (konfigurowalne osie)

Typ authenticatoraWysoka

platform (wbudowany w urządzenie) lub cross-platform / roaming (zewnętrzny klucz sprzętowy).

platform
cross-platform
Discoverable credentialWysoka

Czy poświadczenie jest odnajdywalne (umożliwia logowanie bez podawania loginu): required / preferred / discouraged.

required
preferred
discouraged
Weryfikacja użytkownikaWysoka

Wymóg lokalnego potwierdzenia tożsamości (biometria/PIN): required / preferred / discouraged.

required
preferred
Algorytm podpisuŚrednia

Algorytm kryptograficzny poświadczenia zakodowany w COSE, np. ES256 (ECDSA P-256) lub RS256.

ES256
RS256
SynchronizacjaŚrednia

Czy poświadczenie jest synchronizowane między urządzeniami (synced passkey) czy związane z urządzeniem (device-bound).

synced
device-bound