Jak działa klucz U2F YubiKey? Sekret, przycisk i ochrona przed phishingiem

klucz U2F YubiKey zabezpieczający konto online podczas logowania

Klucz U2F YubiKey służy do bezpiecznego logowania. Po podłączeniu do urządzenia i dotknięciu przycisku generuje podpis kryptograficzny dla konkretnej witryny. Klucz prywatny pozostaje zapisany w YubiKey i nigdy nie jest przekazywany serwisowi. Z pomocą powiązaniu z adresem strony urządzenie chroni przed phishingiem. Może działać przez USB, NFC lub, w wybranych modelach, Bluetooth.

YubiKey działający w standardzie U2F (Universal 2nd Factor) jest fizycznym uwierzytelniaczem do kont internetowych. Korzystają z niego osoby chroniące pocztę, menedżery haseł, systemy firmowe i usługi administracyjne, przede wszystkim tam, gdzie samo hasło nie zapewnia wystarczającej ochrony.

Urządzenie nie przechowuje hasła użytkownika ani nie wysyła do serwisu jednego, uniwersalnego sekretu. Zamiast tego tworzy kryptograficzną parę kluczy dla konkretnej witryny. Logowanie wymaga obecności YubiKey i fizycznego dotknięcia jego przycisku, co ogranicza ryzyko użycia skradzionych danych uwierzytelniających oraz automatycznych prób przejęcia konta.

Klucz prywatny pozostaje wewnątrz YubiKey

Podczas rejestracji urządzenie generuje klucz prywatny i publiczny. Klucz prywatny opuszcza YubiKey wyłącznie w sensie operacyjnym – nie jest eksportowany ani udostępniany przeglądarce. Serwis zapisuje klucz publiczny oraz identyfikator pozwalający urządzeniu rozpoznać właściwy wpis. Dla każdej domeny powstaje odrębny materiał kryptograficzny, więc przejęcie danych jednego portalu nie daje bezpośredniego dostępu do innych kont. Przycisk nie odsłania sekretu – potwierdza fizyczną obecność użytkownika. Po otrzymaniu wyzwania z serwera YubiKey podpisuje je podstawą prywatnym, ale wykonuje tę operację dopiero po dotknięciu pola kontaktowego. Serwer sprawdza podpis przy użyciu klucza publicznego. Osoba atakująca nie może więc zdalnie uruchomić podpisu samym skryptem, nawet jeśli zna login i hasło.

Proces uwierzytelniania obejmuje sześć powiązanych elementów:

  1. Serwis generuje jednorazowe, losowe wyzwanie kryptograficzne.
  2. Przeglądarka przekazuje wyzwanie oraz dane witryny do YubiKey.
  3. Urządzenie rozpoznaje zarejestrowaną domenę i właściwy klucz.
  4. Użytkownik dotyka przycisku, potwierdzając obecność.
  5. YubiKey podpisuje wyzwanie i informacje o pochodzeniu żądania.
  6. Serwer weryfikuje podpis, licznik użyć oraz zgodność domeny.

Skąd bierze się odporność na phishing?

Klasyczna strona phishingowa może skopiować wygląd logowania i wyłudzić hasło, lecz nie uzyska poprawnego podpisu dla prawdziwej domeny. Mechanizm U2F wiąże odpowiedź z originem, czyli dokładnym źródłem żądania: protokołem, domeną i portem. Jeżeli użytkownik trafi na `atak.example`, YubiKey nie wygeneruje odpowiedzi przeznaczonej dla `example.com`.

rejestracja klucza U2F YubiKey w serwisie internetowym zabezpieczająca dane
Metoda Sekret po stronie serwisu Odporność na phishing Wymaga dotyku
Hasło Tak, najczęściej w postaci skrótu Niska Nie
Kod SMS Nie Ograniczona Nie
Aplikacja TOTP Nie Ograniczona Nie
YubiKey U2F Klucz publiczny Wysoka Tak

Przechwycenie odpowiedzi U2F także nie daje trwałej korzyści. Wyzwanie jest jednorazowe, a podpis nie zastępuje hasła w kolejnej sesji. Serwer może także kontrolować licznik podpisów, co pomaga wykrywać nieprawidłowe użycie lub odtworzenie starej odpowiedzi. U2F nie chroni jednak przed każdym zagrożeniem: złośliwe oprogramowanie może przejąć sesję już po poprawnym logowaniu, a użytkownik może ręcznie zatwierdzić logowanie na prawdziwej stronie po wcześniejszym wyłudzeniu danych. YubiKey eliminuje przede wszystkim możliwość zdalnego podrobienia drugiego składnika i wykorzystania go na fałszywej domenie.

Architektura sprzętowa i przepływ uwierzytelniania U2F

YubiKey obsługujący U2F łączy trzy elementy: bezpieczny obszar przechowujący sekret kryptograficzny, przycisk potwierdzający obecność użytkownika oraz interfejs komunikacyjny USB. Całość mieści się w niewielkiej obudowie, lecz jej funkcje są rozdzielone tak, aby komputer nie otrzymywał materiału pozwalającego odtworzyć klucz prywatny. Podczas rejestracji serwis przekazuje urządzeniu identyfikator aplikacji oraz losowe wyzwanie. YubiKey generuje parę kluczy dla konkretnej domeny: prywatny pozostaje pod kontrolą urządzenia, a publiczny trafia do serwera.

W implementacjach U2F klucz prywatny może być przechowywany w postaci zaszyfrowanego uchwytu klucza, zwracanego następnie serwisowi. Za pomocą tego urządzenie nie musi przechowywać osobnego, rozbudowanego wpisu dla każdej witryny, a serwer nadal otrzymuje element potrzebny do późniejszego uwierzytelniania.

Przy logowaniu serwer generuje nowe wyzwanie. Przeglądarka przekazuje je YubiKey wraz z informacją o originie, czyli rzeczywistym pochodzeniu żądania. Urządzenie odtwarza właściwy kontekst, odblokowuje odpowiedni klucz i podpisuje dane obejmujące między innymi wyzwanieidentyfikator aplikacji oraz licznik użyć. Serwer weryfikuje podpis podstawą publicznym zapisanym w czasie rejestracji. Sekret prywatny nie jest przesyłany przez USB ani ujawniany systemowi operacyjnemu. Licznik podpisów utrudnia ponowne wykorzystanie skopiowanej odpowiedzi. Jego wartość jest zwiększana przy kolejnych operacjach, a serwer może wykryć niezgodność sugerującą klonowanie urządzenia.

Ochrona zależy także od mikrokontrolera i wydzielonych mechanizmów pamięci; odczyt firmware’u czy danych kryptograficznych nie powinien umożliwiać eksportu kluczy.

podpis cyfrowy generowany przez klucz U2F YubiKey dla bezpieczeństwa konta

Po co potrzebny jest fizyczny przycisk?

Przycisk pełni funkcję potwierdzenia obecności użytkownika. Po otrzymaniu żądania podpisu YubiKey czeka na dotknięcie pola kontaktowego; dopiero wtedy wykonuje operację kryptograficzną. Nie jest to przycisk mechaniczny w klasycznym sensie, lecz element czujnika dotyku pojemnościowego, reagujący na kontakt palca. To ogranicza możliwość automatycznego użycia klucza przez złośliwy proces działający na komputerze. Samo podłączenie urządzenia nie wystarcza do zakończenia uwierzytelniania.

Jak urządzenie komunikuje się z komputerem?

W trybie U2F YubiKey używa USB HID, czyli standardu klawiaturowej klasy urządzeń interfejsu, choć nie wysyła znaków jako zwykła klawiatura. Przeglądarka lub systemowy komponent FIDO wymienia z podstawą ustandaryzowane komunikaty zawierające wyzwania, uchwyty kluczy i podpisy.

rejestracja klucza U2F YubiKey w panelu użytkownika serwisu zabezpieczająca dostęp

Interfejs HID zapewnia szeroką zgodność bez instalowania dedykowanych sterowników. Złącze USB dostarcza zasilanie oraz kanał danych, jednak logika U2F działa w firmware urządzenia. Nowsze modele mogą udostępniać także inne tryby, na przykład OTP, PIV lub OpenPGP, lecz ich protokoły i magazyny kluczy są od U2F ergonomicznie odseparowane. Klucz YubiKey korzystający z U2F wiąże uwierzytelnienie z konkretną domeną, za pomocą czego fałszywa strona nie otrzyma poprawnej odpowiedzi kryptograficznej.

Mechanizm ochrony YubiKey U2F przed phishingiem

Podczas rejestracji serwis zapisuje klucz publiczny, jednak YubiKey przechowuje prywatny materiał kryptograficzny. Przy logowaniu przeglądarka przekazuje urządzeniu identyfikator witryny.

Klucz podpisuje wyzwanie wyłącznie dla właściwego pochodzenia, czyli kombinacji protokołu, domeny i portu. Kopia strony pod adresem podobnym do prawdziwego nie może wykorzystać tego podpisu w oryginalnym serwisie. U2F nie przekazuje hasła ani kodu jednorazowego, dlatego phishing nie może przekierować poprawnego potwierdzenia logowania. Użytkownik powinien jednak sprawdzać domenę przed wpisaniem hasła, ponieważ YubiKey nie chroni przed podaniem danych logowania na stronie oszustów.

Najbezpieczniejsza konfiguracja obejmuje:

  1. Rejestrację YubiKey w ustawieniach konta, po ręcznym wpisaniu adresu serwisu lub użyciu zakładki.
  2. Dodanie drugiego, zapasowego klucza przechowywanego oddzielnie, aby awaria lub utrata urządzenia nie wymusiła słabszej procedury odzyskiwania.
  3. Wyłączenie SMS jako podstawowej metody odzyskiwania oraz zabezpieczenie adresu e-mail osobnym podstawą bezpieczeństwa.
  4. Natychmiastowe usunięcie zgubionego klucza z listy zarejestrowanych urządzeń i zmianę haseł w przypadku podejrzenia przejęcia sesji.

Ograniczenia YubiKey U2F przy przejęciu konta

U2F blokuje phishing poświadczeń, ale nie usuwa wszystkich scenariuszy ataku. Złośliwe oprogramowanie może przejąć aktywną sesję przeglądarki, a atakujący może wykorzystać skradzione ciasteczko sesyjne bez ponownego pytania o klucz.

Ryzyko ograniczają krótki czas sesji, wylogowanie z nieznanych urządzeń, aktualny system oraz ochrona przeglądarki.

Metoda Odporność na phishing Typowe ryzyko Rekomendowane działanie
Hasło Niska Wyłudzenie lub ponowne użycie Unikalne hasło i menedżer haseł
SMS OTP Ograniczona Przekierowanie lub SIM swap Traktować jako awaryjne
TOTP Średnia Przechwycenie kodu na fałszywej stronie Preferować klucz sprzętowy
YubiKey U2F Wysoka Utrata klucza lub kradzież sesji Zapasowy klucz i kontrola sesji

Przy nowych wdrożeniach należy preferować FIDO2/WebAuthn, ponieważ umożliwia użycie PIN-u urządzenia i passkeys, zachowując powiązanie z domeną.

Ochronę fizyczną zapewnia przechowywanie YubiKey przy sobie, unikanie pożyczania oraz rejestracja wyłącznie w zaufanych serwisach. Domena serwisu wpływa na podpis U2F YubiKey poprzez wartość application parameter, czyli skrót SHA-256 identyfikatora aplikacji. W klasycznym U2F identyfikator ten jest związany z adresem HTTPS określonym przez serwis, najczęściej z jego domeną lub skonfigurowanym adresem AppID. YubiKey nie podpisuje więc samego tekstu domeny, lecz dane zawierające jej kryptograficzny skrót. Podczas rejestracji serwer przekazuje przeglądarce wyzwanie oraz identyfikator aplikacji. Przeglądarka wylicza parametr aplikacji, a klucz generuje parę kluczy przypisaną do tej konkretnej przestrzeni domenowej. Podczas logowania podpis obejmuje między innymi application parameter, challenge parameter, znacznik obecności użytkownika i licznik użycia.

Serwer weryfikuje podpis za pomocą klucza publicznego zapisanego przy rejestracji. Zmiana domeny zmienia dane wejściowe podpisu, dlatego podpis wygenerowany dla innego serwisu nie przejdzie poprawnej weryfikacji. Właśnie wiązanie poświadczenia z domeną ogranicza skuteczność phishingu.

Fałszywa witryna może przekazać YubiKey własne wyzwanie, ale nie uzyska podpisu ważnego dla prawdziwego identyfikatora aplikacji.

Jak domena serwisu wpływa na podpis klucza U2F YubiKey?

Mechanizm nie opiera się na porównaniu adresu URL zapisanym w urządzeniu. YubiKey przechowuje lub wykorzystuje dane pozwalające odnaleźć właściwy klucz prywatny, jednak w czasie każdej operacji podpisuje konkretny zestaw bajtów. Jeżeli domena, schemat albo skonfigurowany AppID nie odpowiadają wartości użytej przy rejestracji, zmienia się application parameter, a podpis staje się kryptograficznie niezgodny. Port numeru nie stanowi najczęściej niezależnej części identyfikacji aplikacji, lecz znaczenie ma kontekst originu narzucony przez przeglądarkę i reguły U2F.

Serwer nie powinien samodzielnie traktować dowolnych hostów jako równoważnych.

Czy zmiana subdomeny unieważnia poświadczenie U2F?

Nie zawsze. Wiele zależy od konfiguracji AppID oraz reguł przeglądarki. Poświadczenie zarejestrowane dla `login.example.pl` może nie działać dla `konto.example.pl`, jeśli serwis używa identyfikatora ograniczonego do konkretnego hosta. Jeżeli aplikacja została świadomie skonfigurowana z nadrzędnym AppID obejmującym określony zakres domen, wybrane subdomeny mogą korzystać z tego samego poświadczenia. Przeniesienie usługi z `example.pl` do `example.com` oznacza jednak inny identyfikator aplikacji i wymaga ponownej rejestracji YubiKey. Ten sam skutek może wywołać zmiana konfiguracji AppID, migracja między środowiskami lub błędne ustawienie domeny po stronie reverse proxy.

Licznik podpisów i klucz publiczny pozostają wtedy poprawne, lecz nie pasuje domenowy składnik weryfikowanego komunikatu.