FIDO2 to otwarty standard uwierzytelniania, który pozwala logować się bez hasła — za pomocą kryptografii klucza publicznego i fizycznego lub wbudowanego urządzenia (klucza sprzętowego, telefonu, czytnika linii papilarnych w laptopie). Powstał z inicjatywy FIDO Alliance i W3C, a w praktyce składa się z dwóch elementów: WebAuthn (API przeglądarkowe, którym strona rozmawia z systemem) oraz CTAP2 (Client to Authenticator Protocol — protokół, którym przeglądarka gada z autentykatorem, np. kluczem USB). To właśnie na FIDO2 oparte są passkeys, o których słyszysz przy logowaniu do Google czy Apple.
Jak to działa
Sekret jest taki, że Twój sekret nigdy nie opuszcza urządzenia. Podczas rejestracji autentykator generuje parę kluczy: prywatny (zostaje na urządzeniu, w bezpiecznym module) i publiczny (trafia na serwer). Przy logowaniu serwer wysyła losowe wyzwanie (challenge), urządzenie podpisuje je kluczem prywatnym, a serwer weryfikuje podpis kluczem publicznym. Nigdzie nie leci hasło ani nic, co dałoby się ukraść z bazy danych.
Najważniejsze: podpis jest powiązany z konkretną domeną (origin). Dlatego FIDO2 jest odporny na phishing — nawet jeśli klikniesz w link do g00gle-login.com, klucz po prostu odmówi podpisania, bo origin się nie zgadza. Człowiek da się nabrać, kryptografia nie.
Przykład z praktyki
Masz klucz sprzętowy YubiKey i chcesz zabezpieczyć logowanie po SSH. Generujesz parę kluczy powiązaną z urządzeniem:
ssh-keygen -t ed25519-sk -O resident
Flaga -sk oznacza „security key” (FIDO2), a resident zapisuje klucz na samym YubiKeyu. Od teraz logowanie wymaga fizycznego dotknięcia klucza — bez niego nikt się nie zaloguje, nawet znając resztę danych.
Częste błędy i mity
- „FIDO2 to to samo co 2FA przez SMS” — nie. SMS i kody TOTP da się przechwycić phishingiem, FIDO2 nie.
- Brak backupu autentykatora — jeśli masz jeden klucz sprzętowy i go zgubisz, możesz stracić dostęp. Zawsze rejestruj drugi klucz zapasowy lub passkey w chmurze.
- Mylenie pojęć — FIDO2 to standard, WebAuthn to API, passkey to wygodna forma poświadczenia FIDO2. To nie konkurenci, tylko warstwy tego samego stosu.
Pojęcia powiązane
WebAuthn, CTAP2, passkeys, klucz sprzętowy (YubiKey), uwierzytelnianie wieloskładnikowe (MFA), kryptografia klucza publicznego, FIDO Alliance, phishing.