Token uwierzytelniający

Fizyczne urządzenie lub element oprogramowania generujący jednorazowe kody lub przechowujący klucze, używany jako jeden ze składników logowania.

Token uwierzytelniający to fizyczne urządzenie albo element oprogramowania, który dostarcza dodatkowy dowód, że to naprawdę Ty próbujesz się zalogować. W praktyce token generuje jednorazowe kody (OTP), przechowuje klucze kryptograficzne albo potwierdza Twoją tożsamość jednym dotknięciem. To jeden ze składników logowania w modelu MFA (uwierzytelnianie wieloskładnikowe), czyli ten przysłowiowy drugi czynnik obok hasła — coś, co masz, a nie tylko coś, co wiesz.

Jak to działa

Tokeny dzielą się na dwie główne rodziny. Pierwsza to tokeny OTP oparte na czasie (TOTP, opisane w RFC 6238) albo na liczniku (HOTP, RFC 4226). Serwer i token znają wspólny sekret; po obu stronach ten sam algorytm (HMAC + bieżący czas zaokrąglony zwykle do 30 sekund) wylicza ten sam 6-cyfrowy kod. Nic nie leci przez sieć poza tymi cyframi, a kod wygasa po chwili.

Druga rodzina to tokeny sprzętowe oparte na kryptografii klucza publicznego — standard FIDO2/WebAuthn. Token (np. klucz USB) przechowuje klucz prywatny, który nigdy go nie opuszcza, i podpisuje wyzwanie przysłane przez serwer. To rozwiązanie jest odporne na phishing, bo podpis jest powiązany z konkretną domeną.

Przykład z praktyki

Najprostszy software token to Google Authenticator albo Authy w telefonie — skanujesz kod QR, aplikacja zapisuje sekret i od tej pory pokazuje rotujące kody. Sprzętowy odpowiednik to YubiKey. Po stronie serwera zerknij na oathtool: komenda oathtool --totp -b SEKRETBASE32 wypluje dokładnie ten sam kod, który widzisz w aplikacji. Świetne do testowania integracji 2FA bez sięgania po telefon.

Częste błędy i mity

  • SMS to też token? Formalnie kod z SMS-a to OTP, ale to najsłabszy wariant — podatny na SIM swapping. Aplikacja TOTP lub klucz FIDO2 są wyraźnie bezpieczniejsze.
  • Brak kodów zapasowych. Zgubisz telefon z Authenticatorem bez backupu i zostajesz na lodzie. Zawsze zapisz recovery codes.
  • Rozjechany zegar. Jeśli TOTP „nie pasuje”, winny bywa czas na urządzeniu — algorytm jest oparty na zegarze, więc sekundy muszą się zgadzać.

Pojęcia powiązane

MFA i 2FA, OTP, TOTP i HOTP, FIDO2/WebAuthn, hardware security key (YubiKey), SIM swapping, HMAC, single sign-on (SSO).