Zapoznanie z Yubikey

Co to jest Yubikey?

YubiKey to niewielkie urządzenie sprzętowe (wyglądem przypominające pendrive), które służy do bezpiecznego uwierzytelniania. Produkowane przez firmę Yubico, stało się pewnego rodzaju standardem; jest bardzo rozpoznawalne i szeroko akceptowane/wspierane.

Do czego służy Yubikey?

YubiKey (np. 5C NFC) to sprzętowy klucz zabezpieczający (ang. security key) produkowany przez firmę Yubico. Jego głównym zadaniem jest zapewnienie bezpieczeństwa kont cyfrowych poprzez silne uwierzytelnianie dwuskładnikowe (2FA), wieloskładnikowe (MFA) oraz logowanie bezhasłowe (Passwordless).

Użyty właściwie może uchronić przed przejęciem konta, nawet jeśli ktoś pozna hasło lub dojdzie do ataku phishingowego.

Co oznacza nazwa "5C NFC"?

  • 5: Oznacza piątą generację kluczy YubiKey, która obsługuje najwięcej protokołów kryptograficznych.
  • C: Wskazuje na fizyczne złącze USB-C. Służy do wpinania klucza bezpośrednio do nowoczesnych laptopów, komputerów stacjonarnych (Mac/PC) oraz urządzeń mobilnych wyposażonych w ten port.
  • NFC: Oznacza obsługę Near Field Communication (komunikacji zbliżeniowej). Dzięki temu można użyć Yubikey na telefonie (lub tablecie) po prostu przykładając klucz do obudowy smartfona (z tyłu), bez konieczności jego wpinania (np. w USB-C).

Co potrafi YubiKey 5C NFC?

Ten mały klucz to w rzeczywistości zaawansowany minikomputer kryptograficzny. Oto jego główne możliwości i zastosowania:

1. Ochrona kont online (FIDO U2F / FIDO2 / WebAuthn)
To najważniejsza funkcja. Można przypisać klucz do swoich kont w takich usługach jak Google, Microsoft, Facebook, X (Twitter), GitHub, giełdy kryptowalut (np. Binance, Kraken) czy menedżery haseł (1Password, Bitwarden). Podczas logowania, po wpisaniu hasła, system poprosi o wpięcie klucza i dotknięcie jego złotego styku (lub przyłożenie go do telefonu - komunikacja NFC).

2. Logowanie całkowicie bez hasła (Passwordless)
W usługach, które w pełni wspierają standard FIDO2 (np. konta Microsoft), YubiKey pozwala na całkowite porzucenie tradycyjnych haseł. Wystarczy podać login, wpiąć klucz i wpisać jego kod PIN.

3. Zastąpienie aplikacji typu Google Authenticator (Yubico Authenticator)
Aplikacje mobilne generujące jednorazowe kody (TOTP) przechowują tzw. "sekrety" w pamięci telefonu. Utrata telefonu to utrata kodów. Korzystając z darmowej aplikacji Yubico Authenticator, sekrety są przechowywane bezpiecznie w chipie klucza YubiKey. Kody zaktualizują się na ekranie telefonu lub komputera dopiero w momencie, gdy zbliży lub wepnie się do nich fizyczny klucz.

4. Logowanie do komputera (Smart Card / PIV)
YubiKey może pełnić rolę wirtualnej karty inteligentnej. Można go skonfigurować tak, aby zabezpieczał logowanie do konta w systemach Windows, macOS lub Linux.

5. Szyfrowanie e-maili i plików (OpenPGP)
Klucz umożliwia bezpieczne wygenerowanie i przechowywanie kluczy kryptograficznych PGP. (Dzięki temu nikt nie wyciągnie klucza prywatnego z komputera). Służy to programistom do podpisywania kodu (np. commitów w Git) lub zaawansowanym użytkownikom do szyfrowania komunikacji mailowej.

6. Generowanie haseł statycznych
Klucz potrafi zachowywać się jak dodatkowa klawiatura USB. Można zaprogramować jeden z jego slotów tak, aby np. po długim dotknięciu złotego przycisku klucz automatycznie "wpisywał" bardzo długie, skomplikowane hasło (np. do zaszyfrowanego dysku).

Dlaczego YubiKey jest lepszy niż SMS-y czy kody z aplikacji?

Tradycyjne metody 2FA (kody SMS, e-mail, czy nawet kody z Google Authenticator) są podatne na phishing. Jeśli oszust stworzy fałszywą stronę logowania wyglądającą jak strona banku lub klienta e-mail i ktoś wpisze tam swoje hasło oraz kod z SMS-a, to haker natychmiast użyje ich na prawdziwej stronie, by przejąć konto.

YubiKey weryfikuje domenę sprzętowo. Gdy chcę się zalogować do usługi przez przeglądarkę i naciskam przycisk na kluczu to urządzenie sprawdza pod jakim adresem URL aktualnie jestem. Przykładowo jeśli strona to goggle.com zamiast google.com, klucz zorientuje się, że to oszustwo i nie wygeneruje prawidłowego podpisu kryptograficznego. Przejęcie konta staje się w ten sposób praktycznie niemożliwe.

Co to jest oszustwo na literówkę?

Typosquatting (znany również jako porywanie URL-i) to popularna technika cyberataku. Polega ona na rejestrowaniu przez oszustów domen internetowych, których nazwy są bardzo podobne do adresów popularnych stron, firm czy banków, ale zawierają drobne, łatwe do przeoczenia błędy.

Atak ten bazuje na zwykłym ludzkim pośpiechu i błędach, które popełniamy wpisując adres strony bezpośrednio w pasek przeglądarki.

Cyberprzestępcy rejestrują domeny wykorzystujące najczęstsze pomyłki użytkowników. Obejmują one:

  • Pominięcie litery: np. facebok.com zamiast facebook.com
  • Zamiana kolejności liter (czeski błąd): np. mircosoft.com zamiast microsoft.com
  • Zdublowanie litery: np. youtubee.com zamiast youtube.com
  • Zastąpienie znaków podobnymi wizualnie: np. użycie zera "0" zamiast litery "o" (g00gle.com), albo małej litery "l" zamiast dużego "I".
  • Błędne rozszerzenie domeny: np. zarejestrowanie amazon.co zamiast amazon.com, licząc na to, że ktoś nie dopisze ostatniej litery.

Kiedy ofiara pomyli się przy wpisywaniu adresu i trafi na fałszywą stronę, oszuści mogą to wykorzystać na kilka sposobów:

  1. Phishing (wyłudzanie danych): Strona wygląda identycznie jak prawdziwy bank czy poczta e-mail. Logując się na niej, dobrowolnie oddaje się hakerom swój login, hasło oraz kody SMS.
  1. Dystrybucja złośliwego oprogramowania (Malware): Sama wizyta na literówkowej stronie lub kliknięcie fałszywego komunikatu o "konieczności aktualizacji przeglądarki" może zainfekować komputer wirusem lub oprogramowaniem ransomware.
  1. Zarabianie na reklamach: Fałszywa strona może po prostu wyświetlać mnóstwo agresywnych reklam. Właściciel domeny zarabia na każdym wyświetleniu lub kliknięciu wygenerowanym przez zdezorientowanych użytkowników.
  1. Fałszywe sklepy internetowe: Sklep udający znaną markę, w którym po zapłaceniu za towar nigdy go się nie otrzyma (lub dostanie się tanią podróbkę).

Więc jak się przed tym bronić?

  • Można korzystać z zakładek: Należy dodać najważniejsze strony (np. banku, poczty) do ulubionych zakładek w przeglądarce i otwierać je stamtąd, zamiast wpisywać adres ręcznie.
  • Można używać wyszukiwarki: Zamiast wpisywać cały adres w pasku, trzeba wpisać nazwę firmy w Google lub innej wyszukiwarce. Zazwyczaj pierwszy (organiczny, niesponsorowany) wynik jest tym prawidłowy.
  • Warto korzystać z menedżera haseł: Programy takie jak Bitwarden, 1Password czy KeePass nie dadzą się oszukać literówce. Jeśli ktoś wejdzie na mircosoft.com, menedżer nie podstawi automatycznie Twojego hasła do Microsoftu, bo zauważy, że domena się nie zgadza.
  • Warto stosować klucze sprzętowe (np. YubiKey): Nawet jeśli wpisz się swoje dane na stronie z typosquattingiem, klucz sprzętowy zablokuje próbę logowania, bo sprzętowo zweryfikuje, że adres witryny jest fałszywy.

Co to są składniki uwierzytelniania (ang. authentication factors)?

Pojęcia takie jak "coś, co się wie", "coś, co się ma" oraz "kim się jest" to fundamenty w dziedzinie cyberbezpieczeństwa. Stanowią one tak zwane składniki uwierzytelniania (ang. authentication factors).

Koncepcja ta tłumaczy, w jaki sposób można udowodnić systemowi informatycznemu swoją tożsamość. Opiera się ona na trzech głównych filarach:

1. Coś, co się wie (Czynnik wiedzy / Knowledge Factor)

To informacja, która z założenia powinna znajdować się wyłącznie w ludzkiej pamięci.

  • Przykłady: Tradycyjne hasło do konta, kod PIN, odpowiedź na pytanie pomocnicze, wzór odblokowania ekranu.
  • Słabości: Wiedzę można stosunkowo łatwo wyłudzić (np. w atakach phishingowych), odgadnąć, podsłuchać lub ukraść z bazy danych serwisu internetowego.

2. Coś, co się ma (Czynnik posiadania / Possession Factor)

To unikalny, fizyczny przedmiot, którym dysponuje autoryzowana osoba.

  • Przykłady: Fizyczny klucz zabezpieczający (np. YubiKey), smartfon wyświetlający kody jednorazowe z aplikacji, token sprzętowy banku, czy karta inteligentna (Smart Card).
  • Słabości: Przedmiot fizyczny można zgubić lub może on zostać skradziony. Z tego powodu rzadko stosuje się go jako jedyną metodę dostępu.

3. Kim się jest (Czynnik cechy / Inherence Factor)

To unikalne właściwości biologiczne lub behawioralne człowieka (biometria).

  • Przykłady: Odcisk palca, geometria twarzy (Face ID, Windows Hello), skan tęczówki oka, a nawet unikalny sposób pisania na klawiaturze czy rozpoznawanie głosu.
  • Słabości: Danych biometrycznych w zasadzie nie da się zmienić. Jeśli skan odcisku palca ulegnie skompromitowaniu i trafi w niepowołane ręce, nie można go zresetować w taki sam sposób, jak zmienia się wyciekłe hasło.

Dlaczego ta kategoryzacja jest tak ważna?

Cała idea uwierzytelniania dwuskładnikowego (2FA) oraz wieloskładnikowego (MFA) polega na obowiązkowym wymieszaniu przynajmniej dwóch różnych kategorii.

Wymaganie podania dwóch haseł do jednego konta nie jest silnym zabezpieczeniem, ponieważ nadal opiera się wyłącznie na jednym składniku (wiedzy). Dopiero połączenie hasła ("coś, co się wie") z fizycznym kluczem ("coś, co się ma") tworzy wysoce odporną zaporę. Nawet jeśli haker pozna hasło, logowanie będzie niemożliwe bez kradzieży fizycznego nośnika z rąk ofiary.

Czy faktycznie hasła to przeszłość i można ich uniknąć?

FIDO2 i technologia Passkeys (klucze dostępu) całkowicie zmieniają podejście do procesu uwierzytelniania. Zamiast realizować logowanie wieloskładnikowe w dwóch oddzielnych, czasochłonnych etapach (najpierw podawanie hasła, a potem np. przepisywanie kodu z SMS-a), standardy te realizują wymogi MFA w ramach jednej, błyskawicznej operacji.

Podczas logowania bezhasłowego (Passwordless) wykorzystywane są dokładnie dwa z trzech opisanych wcześniej składników zabezpieczeń:

1. Składnik posiadania (Coś, co się ma)

Podstawą autoryzacji jest sam sprzętowy nośnik kryptograficzny. Może to być zewnętrzny klucz (np. YubiKey wpięty do portu USB) lub urządzenie z wbudowanym modułem bezpieczeństwa, takie jak smartfon z układem Secure Enclave. Wewnątrz tego nośnika zapisany jest unikalny klucz prywatny (Passkey). Sama obecność fizycznego urządzenia przy procesie logowania stanowi udowodnienie pierwszego wymogu: czynnika posiadania.

2. Składnik wiedzy lub cechy (Coś, co się wie / Kim się jest)

Aby uruchomić nośnik i wygenerować niezbędny do zalogowania podpis kryptograficzny, urządzenie musi zostać odblokowane przez jego prawowitego właściciela. Realizuje się to na jeden z dwóch sposobów:

  • Czynnik wiedzy: Poprzez wprowadzenie na klawiaturze dedykowanego kodu PIN (np. PIN do FIDO na kluczu YubiKey) lub kodu blokady ekranu smartfona.
  • Czynnik cechy: Poprzez użycie zabezpieczeń biometrycznych – przyłożenie palca do czytnika (Touch ID, Windows Hello, YubiKey Bio) lub zeskanowanie twarzy (Face ID).

Innowacja lokalnej weryfikacji

Największa zmiana architektoniczna polega na tym, że drugi składnik (PIN lub biometria) jest weryfikowany całkowicie lokalnie.

Serwer internetowy (np. bank lub poczta e-mail) nie otrzymuje kodu PIN ani odcisku palca. Otrzymuje jedynie matematyczny dowód (podpis cyfrowy) wygenerowany przez sprzęt. Ten podpis jest dla serwera gwarancją, że po drugiej stronie ekranu użyto prawidłowego urządzenia (czynnik posiadania) oraz że zostało ono skutecznie odblokowane przy użyciu wiedzy lub biometrii.

Dzięki temu jedno proste spojrzenie w kamerę telefonu lub dotknięcie czytnika w kluczu sprzętowym natychmiast załatwia kwestię silnego, wieloskładnikowego logowania. Proces ten nie wymaga pamiętania żadnych haseł do poszczególnych stron internetowych i z racji swojej budowy jest całkowicie odporny na ataki phishingowe.

Jakiego oprogramowania użyć do Yubikey?

Krótka odpowiedź brzmi: do podstawowych i najważniejszych funkcji nie potrzeba instalować żadnego dodatkowego oprogramowania.

YubiKey został zaprojektowany tak, aby w większości przypadków działać na zasadzie Plug & Play (podłącz i używaj). Jednak w niektórych sytuacjach nie wystarczy sam system i wtedy dedykowane aplikacje okażą się przydatne.

Kiedy oprogramowanie NIE jest potrzebne, aby użyć Yubikey?

Jeśli chce się po prostu zabezpieczyć swoje konta (np. Google, Facebook, Microsoft, giełdy kryptowalut) za pomocą najbezpieczniejszego standardu FIDO2 / U2F / WebAuthn, nie trzeba niczego pobierać.

  • Wbudowane wsparcie: Nowoczesne przeglądarki internetowe (Chrome, Edge, Firefox, Safari) oraz systemy operacyjne (Windows, macOS, Linux, Android, iOS) mają natywnie wbudowaną obsługę kluczy bezpieczeństwa.
  • Jak to działa?: Po prostu należy wejść w ustawienia bezpieczeństwa swojego konta na danej stronie, wybrać opcję dodania klucza sprzętowego, a przeglądarka sama przeprowadzi przez proces (poprosi o wpięcie klucza i dotknięcie go).

Również do nadania i zmiany kodu PIN klucza FIDO2 często wystarczą same ustawienia systemu (np. opcje logowania w systemie Windows).

Kiedy oprogramowanie do Yubikey jest wymagane lub przydatne?

Aby zacząć używać YubiKey 5C NFC jako najsilniejszego zabezpieczenia swoich kont internetowych, wystarczy wyciągnąć go z pudełka, podłączyć i postępować zgodnie z instrukcjami na stronach internetowych. Oprogramowanie instaluje się tylko wtedy, gdy chce się zarządzać zaawansowanymi funkcjami klucza lub generować kody czasowe.

Firma Yubico udostępnia dwa główne, całkowicie darmowe programy, choć funkcjonalności te zostały zasadniczo scalone w jednym (Yubico Authenticator).

Yubico Authenticator

To aplikacja (dostępna na komputery i smartfony), która jest potrzebna aby używać klucza do generowania jednorazowych, 6-cyfrowych kodów czasowych (TOTP). Jest to aplikacja, która może zastąpić aplikacje takie jak Google Authenticator.

Klucz YubiKey nie ma własnego ekranu, żeby wyświetlić kod. Aplikacja Yubico Authenticator służy jako "wyświetlacz".

Jednak sama aplikacja nie przechowuje żadnych danych – odczytuje je bezpiecznie z chipu klucza dopiero w momencie, gdy zbliży się go do telefonu (NFC) lub wepnie do gniazda USB.

YubiKey Manager

To "panel sterowania" dla klucza przeznaczony dla nieco bardziej zaawansowanych użytkowników. Nie jest wymagany do codziennego logowania, ale pozwala na konfigurację urządzenia. Przydaje się, gdy chce się:

  • Skonfigurować hasło statyczne: Zaprogramować klucz tak, aby wpisywał ciąg znaków po długim dotknięciu przycisku.
  • Zarządzać interfejsami: Wyłączyć określone funkcje klucza (np. wyłączyć moduł NFC lub nieużywane protokoły).
  • Zresetować klucz: Usunąć z niego wszystkie dane i przywrócić do ustawień fabrycznych.

Czy YubiKey Manager został “wchłonięty” przez Yubico Authenticator?

Graficzna wersja tego programu (YubiKey Manager GUI) oficjalnie osiągnęła status End of Life (EoL) w dniu 19 lutego 2026 roku. Firma Yubico zapowiedziała ten krok rok wcześniej w ramach uporządkowywania swojego portfolio oprogramowania. Oznacza to, że klasyczna, okienkowa aplikacja YubiKey Manager nie jest już aktywnie rozwijana i nie otrzymuje wsparcia technicznego.

Nie oznacza to jednak, że zostaje się bez narzędzi do konfiguracji. Yubico podzieliło te funkcje na dwa inne programy:

Dla większości użytkowników: Yubico Authenticator

Aplikacja Yubico Authenticator (szczególnie od wydanej jakiś czas temu wersji 7) całkowicie przejęła rolę głównego narzędzia graficznego (GUI). Została mocno rozbudowana i obecnie służy już nie tylko do wyświetlania kodów TOTP, ale stanowi kompleksowe centrum zarządzania kluczem. To właśnie w niej możesz teraz:

  • Ustawiać i zmieniać kody PIN dla FIDO2.
  • Zarządzać interfejsami klucza (wyłączać NFC lub wybrane protokoły).
  • Konfigurować certyfikaty PIV (Smart Card).
  • Zarządzać slotami Yubico OTP i hasłami statycznymi.
  • Wykonać całkowity reset klucza do ustawień fabrycznych.

Dla zaawansowanych użytkowników: YubiKey Manager CLI (ykman)

Status EoL dotyczy wyłącznie wersji graficznej (GUI). Narzędzie wiersza poleceń, znane jako YubiKey Manager CLI (lub po prostu polecenie ykman), nadal jest w pełni wspierane i rozwijane.

Jest to potężne narzędzie używane przez administratorów i zaawansowanych użytkowników do oskryptowania konfiguracji kluczy, masowego wdrażania czy wykonywania bardzo specyficznych operacji z poziomu konsoli w systemach Windows, macOS oraz Linux.

Ćwiczenie 1: Weryfikacja autentyczności klucza

Odwiedź https://www.yubico.com/genuine/ i postępuj zgodnie z instrukcjami przeglądarki po kliknięciu “Verify Device”.

O co chodzi z tym AAGUID?

AAGUID (skrót od Authenticator Attestation Globally Unique Identifier) to w dużym uproszczeniu po prostu cyfrowy numer modelu klucza sprzętowego lub innej metody logowania FIDO2.

Kiedy rejestruje się YubiKey (lub używa się np. Windows Hello czy Face ID) na jakiejś stronie internetowej, to urządzenie wysyła do serwera ten unikalny, 128-bitowy identyfikator (np. w formie ciągu znaków typu cbdb6d73-455a-4659-b1d7-21fb904a0818).

Dzięki AAGUID strona internetowa lub aplikacja dokładnie wie, o jaki sprzęt chodzi. Jeśli doda się do konta YubiKey 5C NFC, system może odczytać jego AAGUID, sprawdzić go w globalnej bazie danych (np. FIDO Metadata Service) i na tej podstawie wyświetlić na ekranie ładną ikonkę lub zdjęcie dokładnie tego modelu klucza, a także automatycznie nazwać go "YubiKey 5C NFC". To znacznie ułatwia zarządzanie wieloma kluczami na jednym koncie.

Z punktu widzenia firm i administratorów IT identyfikator AAGUID pozwala na precyzyjne kontrolowanie tego, jakich urządzeń mogą używać pracownicy:

  • Biała lista (Whitelisting): Korporacja może ustalić zasadę: "nasi pracownicy mogą logować się wyłącznie przy użyciu kluczy YubiKey posiadających certyfikat FIPS". Serwer po prostu odrzuci rejestrację każdego klucza, którego AAGUID nie znajduje się na liście zatwierdzonych modeli.
  • Czarna lista (Blacklisting): Jeśli na rynku pojawi się tani, wadliwy klucz sprzętowy no-name, w którym wykryto lukę bezpieczeństwa, serwisy internetowe mogą zablokować jego AAGUID, uniemożliwiając logowanie tym konkretnym, niebezpiecznym modelem.

AAGUID umożliwia ocenę poziomu zaufania (Risk Assessment). Dla przykładu - systemy bankowe mogą traktować różne metody logowania z różnym poziomem zaufania. AAGUID informuje serwer, czy logujesz się fizycznym, zewnętrznym kluczem na USB (najwyższe bezpieczeństwo), czy wbudowanym czytnikiem linii papilarnych w laptopie (nieco niższe, ale wciąż wysokie bezpieczeństwo), czy może oprogramowaniem emulującym klucz (najniższe bezpieczeństwo).

AAGUID identyfikuje model urządzenia, a nie (Twój) konkretny, fizyczny egzemplarz. Oznacza to, że konkretny (Twój) YubiKey 5C NFC wysyła dokładnie ten sam identyfikator AAGUID, co setki tysięcy innych kluczy tego samego modelu na całym świecie. Serwis internetowy wie, jaki to sprzęt, ale nie jest w stanie na tej podstawie powiązać różnych kont w sieci ze sobą, ani wyśledzić, że konkretny "klucz o numerze seryjnym X" logował się na różnych stronach (standard FIDO domyślnie w ogóle nie wysyła numerów seryjnych urządzenia podczas zwykłej rejestracji użytkownika).

Ćwiczenie 2: Próba użycia WebAuthn

Odwiedź https://demo.yubico.com/webauthn-technical/registration i postępuj zgodnie z instrukcjami na tej stronie.

Co to jest FIDO2?

FIDO2 to zestaw otwartych standardów uwierzytelniania, których celem jest wyeliminowanie tradycyjnych haseł na rzecz bezpieczniejszego i wygodniejszego logowania. Standard ten został opracowany przez organizację FIDO Alliance we współpracy z konsorcjum W3C.

FIDO2 umożliwia logowanie przy użyciu biometrii (np. odcisk palca, skan twarzy) lub zewnętrznych kluczy sprzętowych (takich jak YubiKey).

Kluczowe zalety standardu FIDO2 to:

  • Odporność na phishing: Urządzenie uwierzytelniające sprzętowo weryfikuje adres URL strony. Jeśli witryna jest fałszywa (np. w wyniku typosquattingu), logowanie zostanie zablokowane.
  • Logowanie bezhasłowe (Passwordless): Standard pozwala na całkowitą rezygnację z haseł, które są najsłabszym ogniwem bezpieczeństwa. Zamiast pamiętać ciągi znaków, wykorzystuje się fizyczny przedmiot lub cechę biometryczną.
  • Prywatność: Dane biometryczne (odciski palców, skany twarzy) są przetwarzane i przechowywane wyłącznie lokalnie na urządzeniu. Nigdy nie są one przesyłane do serwerów zewnętrznych.
  • Bezpieczeństwo serwerów: Ponieważ serwisy internetowe przechowują jedynie klucze publiczne (które są bezużyteczne bez klucza prywatnego), wyciek danych z bazy serwisu nie pozwala hakerom na przejęcie kont użytkowników.

Główne komponenty FIDO2

Standard ten opiera się na dwóch technicznych fundamentach:

  1. WebAuthn (Web Authentication): Jest to zestaw interfejsów programistycznych (API) wbudowanych w nowoczesne przeglądarki internetowe i systemy operacyjne. Pozwala on stronom internetowym na bezpośrednią komunikację z urządzeniem uwierzytelniającym.
  1. CTAP (Client to Authenticator Protocol): Jest to protokół umożliwiający komunikację między zewnętrznym urządzeniem (np. kluczem USB lub telefonem) a komputerem lub smartfonem, na którym odbywa się logowanie.

Zasada działania

Mechanizm FIDO2 opiera się na kryptografii klucza publicznego:

  • Rejestracja: Podczas tworzenia konta urządzenie generuje parę kluczy: prywatny i publiczny. Klucz prywatny nigdy nie opuszcza urządzenia i jest zabezpieczony kodem PIN lub biometrią. Klucz publiczny jest przesyłany do serwisu internetowego i tam przechowywany.
  • Logowanie: Gdy następuje próba logowania, serwis przesyła do urządzenia wyzwanie (challenge). Urządzenie podpisuje je kluczem prywatnym (po potwierdzeniu tożsamości przez użytkownika) i odsyła z powrotem. Serwis weryfikuje podpis przy użyciu posiadanego klucza publicznego.

Co to jest U2F?

U2F (Universal 2nd Factor) to otwarty standard silnego uwierzytelniania dwuskładnikowego (2FA), opracowany pierwotnie przez firmy Google i Yubico, a obecnie zarządzany przez konsorcjum FIDO Alliance.

Jego głównym celem jest zastąpienie kodów jednorazowych przepisywanych z wiadomości SMS lub aplikacji uwierzytelniających fizycznymi kluczami sprzętowymi (podłączanymi przez USB lub komunikującymi się przez NFC/Bluetooth).

U2F jest bezpośrednim poprzednikiem standardu FIDO2. W nomenklaturze technicznej uważa się go za pierwszą generację tego rozwiązania (często określaną jako FIDO1 lub używającą protokołu CTAP1).

Najważniejsza różnica polega na zastosowaniu:

  • U2F służy wyłącznie jako drugi składnik logowania. Wymaga najpierw wpisania tradycyjnego loginu i hasła, a dopiero potem fizycznego dotknięcia klucza sprzętowego.
  • FIDO2 rozszerza te możliwości, pozwalając na całkowite porzucenie haseł (logowanie bezhasłowe), używając samego klucza zabezpieczonego np. kodem PIN lub biometrią.

Mechanizm opiera się na kryptografii asymetrycznej (kryptografii klucza publicznego), podobnie jak jego nowsza wersja.

Ćwiczenie 3: Próba użycia WebAuthn u innego dostawcy (webauthn.io)

Odwiedź stronę https://webauthn.io/.

Wymyśl dla siebie login i zarejestruj się. (Zauważ, że nie musisz wymyślać hasła).

Użyj tego login-u, aby się zalogować (a więc uwierzytelnić, czyli ”Authenticate”).

W innej przeglądarce (lub na innym komputerze) użyj tego login-u, aby się zalogować.

Co oznaczają opcje dostępne w "advanced settings" na https://webauthn.io/?

Opcje dostępne w sekcji Registration Settings i Authentication Settings na stronie webauthn.io służą do konfiguracji parametrów protokołu WebAuthn podczas procesu dodawania nowego klucza sprzętowego lub urządzenia biometrycznego. Umożliwiają one programistom i testerom symulowanie różnych scenariuszy logowania i wymagań bezpieczeństwa.

Attestation Type (Typ atestacji)

Parametr ten decyduje o tym, czy i w jaki sposób serwer internetowy weryfikuje pochodzenie sprzętu kryptograficznego.

  • None (Brak): Nie zbiera się żadnych danych o konkretnym modelu używanego sprzętu. Jest to opcja domyślna, zapewniająca najwyższy poziom prywatności.
  • Direct (Bezpośrednia): Sprzęt przesyła do serwera swój certyfikat atestacyjny oraz unikalny identyfikator AAGUID. Pozwala to na precyzyjne rozpoznanie modelu urządzenia (np. zidentyfikowanie, że jest to konkretnie YubiKey 5C NFC). Opcja ta jest często wykorzystywana w środowiskach korporacyjnych do wymuszania logowania tylko za pomocą certyfikowanych urządzeń.
  • Indirect (Pośrednia): Weryfikacja pochodzenia odbywa się z wykorzystaniem zaufanej usługi zewnętrznej. Jest to mechanizm rzadziej stosowany w praktyce.

Authenticator Type (Typ urządzenia uwierzytelniającego)

Służy do zawężenia rodzajów urządzeń, które mogą zostać zarejestrowane w systemie.

  • Unspecified (Nieokreślony): Dopuszcza się wykorzystanie każdego urządzenia zgodnego ze standardem FIDO2/WebAuthn.
  • Cross-platform (Wieloplatformowe): Rejestracja wymaga użycia zewnętrznego klucza bezpieczeństwa, który można przenosić między różnymi systemami (podłączanego przez USB, NFC lub Bluetooth).
  • Platform (Platformowe): Rejestracja ogranicza się wyłącznie do zabezpieczeń biometrycznych i sprzętowych wbudowanych w dane urządzenie (komputer lub smartfon), na którym przeprowadzana jest operacja. Należą do nich rozwiązania takie jak Windows Hello, Apple Touch ID czy Face ID.

User Verification (Weryfikacja użytkownika)

Określa, czy proces rejestracji (oraz późniejszego logowania) wymaga potwierdzenia tożsamości konkretnej osoby, a nie tylko faktu fizycznej obecności samego sprzętu. Zazwyczaj odbywa się to poprzez wprowadzenie kodu PIN lub zeskanowanie odcisku palca.

  • Discouraged (Niezalecana): Uwierzytelnienie następuje wyłącznie poprzez udowodnienie obecności (tzw. User Presence), co w przypadku zewnętrznych kluczy sprowadza się do fizycznego dotknięcia złotego styku. Weryfikacja PIN-em lub biometrią nie jest wymagana.
  • Preferred (Preferowana): Jeśli sprzęt ma skonfigurowaną opcję weryfikacji użytkownika (np. ustalony kod PIN na kluczu), jej użycie zostanie wymuszone. W przypadku braku takiej konfiguracji, proces będzie kontynuowany ze zmniejszonymi wymaganiami.
  • Required (Wymagana): Bezwzględnie wymaga weryfikacji lokalnej. Bez wprowadzenia prawidłowego kodu PIN lub pomyślnej autoryzacji biometrycznej operacja zostanie natychmiast przerwana. Jest to ustawienie niezbędne przy wdrażaniu logowania całkowicie bezhasłowego (Passwordless).

Discoverable Credential / Resident Key (Poświadczenie wykrywalne / Klucz rezydujący)

Parametr ten odpowiada za miejsce i sposób przechowywania danych kryptograficznych niezbędnych do uwierzytelniania.

  • Discouraged (Niezalecane): Tworzy się poświadczenie niewykrywalne. Informacje o koncie nie zajmują pamięci wewnętrznej urządzenia. Aby się zalogować, należy najpierw wprowadzić na stronie internetowej nazwę użytkownika, co pozwala serwerowi na odesłanie do urządzenia specjalnego pakietu danych powiązanego z tym kontem. Zaletą tego rozwiązania jest możliwość obsługi nieograniczonej liczby kont internetowych na jednym kluczu.
  • Preferred (Preferowane): Podejmuje się próbę utworzenia poświadczenia wykrywalnego. Jeśli użyty sprzęt nie obsługuje takiej funkcji lub brakuje w nim wolnego miejsca, awaryjnie tworzone jest poświadczenie niewykrywalne.
  • Required (Wymagane): Zmusza do utworzenia poświadczenia wykrywalnego (klucza rezydującego). Identyfikator użytkownika oraz inne metadane są trwale zapisywane w bezpiecznej, ale ograniczonej pamięci wewnętrznej sprzętu. Umożliwia to zalogowanie się na stronę bez wpisywania nazwy użytkownika — wystarczy użyć urządzenia i wprowadzić PIN, a klucz sam wskaże serwerowi odpowiednie konto. Fizyczna pamięć na kluczach Yubikey 5C NFC pozwala na zapisanie do 100 tego typu poświadczeń.

Ćwiczenie 4: Spis poświadczeń i PIN

Założenie: PIN do FIDO nie był ustawiony

W aplikacji Yubico Authenticator przejdź do zakładki “Passkeys”. Czy są tu widoczne jakieś poświadczenia (passkeys)? Jeśli nie to ustaw PIN.

Po ustaleniu PINu aplikacja wypisze poświadczenia zapisane na kluczu sprzętowym.

Do czego służy PIN do FIDO?

Kod PIN w standardzie FIDO pełni funkcję weryfikacji użytkownika (ang. User Verification). Jego głównym zadaniem jest potwierdzenie, że urządzenie kryptograficzne znajduje się w rękach osoby uprawnionej do jego użycia, a nie kogoś, kto weszło w jego posiadanie w sposób nieuprawniony.

Znaczenie i działanie kodu PIN można sprowadzić do kilku kluczowych aspektów:

1. Niezbędny element logowania bezhasłowego (Passwordless)

Aby całkowicie zrezygnować z przesyłania tradycyjnych haseł do serwisów internetowych, system musi mieć pewność co do tożsamości logującej się osoby. Samo fizyczne dotknięcie klucza udowadnia jedynie obecność człowieka przed ekranem (ang. User Presence). Wprowadzenie kodu PIN spełnia wymóg autoryzacji opartej na wiedzy ("coś, co się wie"), co w połączeniu z fizycznym kluczem ("coś, co się ma") pozwala na silne uwierzytelnienie bez konieczności wpisywania hasła do konta.

2. Architektura całkowicie lokalna

Fundamentalną różnicą między PIN-em FIDO a hasłem internetowym jest miejsce weryfikacji informacji.

  • Tradycyjne hasło jest wysyłane przez sieć do serwera i tam porównywane z zapisanymi danymi.
  • PIN w standardzie FIDO nigdy nie opuszcza urządzenia sprzętowego. Zostaje wprowadzony w oknie systemu operacyjnego (aplikacji pracującej lokalnie), a następnie przekazany bezpośrednio do wbudowanego w klucz, bezpiecznego czipu (Secure Element). Tam następuje weryfikacja. Serwer internetowy otrzymuje jedynie kryptograficzny dowód (podpis), potwierdzający, że proces lokalny zakończył się sukcesem.

3. Ochrona w przypadku utraty sprzętu

W sytuacji kradzieży lub zgubienia klucza zabezpieczającego, sam nośnik fizyczny nie pozwala na zalogowanie się do kont chronionych trybem Passwordless. Zabezpieczenia sprzętowe FIDO posiadają również rygorystyczne limity prób wprowadzenia PIN-u (zazwyczaj od 3 do 8, w zależności od producenta). Po przekroczeniu tego limitu urządzenie sprzętowe trwale blokuje możliwość uwierzytelniania. Dalsze korzystanie ze sprzętu wymaga jego całkowitego zresetowania (powrotu do ustawień fabrycznych), co prowadzi do bezpowrotnego usunięcia wszystkich przechowywanych w nim danych i kluczy, zapewniając tym samym bezpieczeństwo cyfrowej tożsamości.

4. Zapasowa metoda dla biometrii

W przypadku kluczy i urządzeń posiadających funkcje biometryczne (takich jak czytniki linii papilarnych w serii YubiKey Bio czy rozwiązania typu Windows Hello), PIN pełni rolę metody zapasowej (ang. fallback). Jest wykorzystywany wtedy, gdy autoryzacja biometryczna zawiedzie. Należy również zaznaczyć, że chociaż nazwa sugeruje użycie samych cyfr (Personal Identification Number), standard FIDO2 w pełni dopuszcza stosowanie złożonych haseł alfanumerycznych, zawierających litery i znaki specjalne.

Co jeśli PIN zostanie wpisany niepoprawnie zbyt wiele razy i urządzenie ulegnie zablokowaniu?

Mechanizm blokady z powodu zbyt dużej liczby błędnych prób wprowadzenia kodu PIN to fundamentalne zabezpieczenie przed atakami siłowymi (brute-force). Zapobiega to sytuacji, w której osoba niepowołana, po kradzieży sprzętu, mogłaby w nieskończoność zgadywać kod dostępu.

Zabezpieczenia fizycznych kluczy FIDO2 są niezwykle rygorystyczne i z założenia nieodwracalne w przypadku naruszenia limitów.

  • Limity prób: Standard FIDO2 dopuszcza maksymalnie 8 błędnych prób wprowadzenia kodu PIN. W przypadku urządzeń firmy Yubico mechanizm ten jest zabezpieczony dwuetapowo: po 3 nieudanych próbach następuje tak zwana "miękka blokada" (soft lock), która wymusza fizyczne odłączenie i ponowne podłączenie urządzenia do portu USB, zanim możliwe będzie wykorzystanie pozostałych 5 prób.
  • Trwała blokada: Po wyczerpaniu całego limitu 8 prób, aplikacja FIDO2 na urządzeniu zostaje trwale zablokowana. Jakiekolwiek dalsze próby uwierzytelnienia w tym standardzie kończą się odmową dostępu. Nie ma możliwości kontaktu z producentem w celu uzyskania "kodu odblokowującego" — mechanizm ten działa w pełni sprzętowo i lokalnie.
  • Rozwiązanie – Reset do ustawień fabrycznych: Zablokowanego modułu FIDO nie można już odblokować za pomocą żadnego hasła. Jedyną drogą do przywrócenia sprzętu do użyteczności jest wykonanie całkowitego resetu fabrycznego protokołu FIDO2 (np. poprzez narzędzie Yubico Authenticator, wbudowane opcje bezpieczeństwa systemu Windows lub komendy wiersza poleceń).
  • Konsekwencje resetu: Reset przywraca możliwość ustawienia nowego kodu PIN, ale operacja ta bezpowrotnie niszczy cały przypisany materiał kryptograficzny. Wszystkie zapisane klucze rezydujące (passkeys) oraz poświadczenia niewykrywalne zostają usunięte. Wyczyszczony sprzęt wymaga ponownego zarejestrowania we wszystkich dotychczas używanych serwisach internetowych (konieczne jest w tym celu użycie kodów zapasowych lub innych metod autoryzacji przypisanych do kont). Co istotne, resetuje to wyłącznie moduł FIDO – inne aplikacje na kluczu (np. kody TOTP czy wirtualna karta PIV) pozostają nienaruszone, o ile nie zresetuje się ich osobnymi procedurami.

Ćwiczenie 5: Logowanie bez loginu i hasła

Założenie: posiadasz zapisane na kluczu co najmniej jedno poświadczenie ze strony webauthn.io

Odwiedź stronę https://webauthn.io/.

NIE wpisuj loginu.

Kliknij “Authenticate” i postępuj zgodnie z instrukcjami przeglądarki.

Co się stanie jeśli na tym samym kluczu sprzętowym będę mieć poświadczenia dla kilku użytkowników (loginów)?

Przechowywanie wielu poświadczeń typu passkey (kluczy rezydujących) na jednym fizycznym nośniku dla tej samej witryny internetowej co do zasady nie jest problematyczne lub niewskazane, ale zmienia sposób interakcji z oknem logowania.

Konsekwencje użytkowe

  1. Zajęcie pamięci sprzętowej: Każde utworzone poświadczenie wykrywalne zajmuje osobny slot w ograniczonej pamięci bezpiecznego układu kryptograficznego (Secure Element). Posiadając na przykład trzy różne konta w jednym serwisie internetowym i tworząc dla nich trzy osobne dostępy bezhasłowe, zajmuje się odpowiednio trzy miejsca z dostępnej puli (wynoszącej najczęściej od 25 do maksymalnie 100 wpisów, w zależności od modelu urządzenia).
  1. Utrudnione zarządzanie z poziomu aplikacji: W przypadku chęci zrobienia porządków na urządzeniu – na przykład po skasowaniu jednego z kont w serwisie internetowym – konieczne staje się ręczne odnalezienie i usunięcie właściwego poświadczenia za pomocą oprogramowania (np. Yubico Authenticator). Jeśli serwis internetowy podczas rejestracji nie wymusił czytelnych identyfikatorów (np. adresów e-mail), a jedynie enigmatyczne nazwy użytkowników (tzw. User Display Name), rozróżnienie ich w menedżerze sprzętu może okazać się problematyczne.
  1. Zwiększone ryzyko w środowiskach współdzielonych: Jeśli z jednego klucza sprzętowego korzysta w trybie bezhasłowym więcej niż jedna osoba (co z zasady narusza dobre praktyki bezpieczeństwa, ale jest technicznie możliwe), po odblokowaniu urządzenia każdy użytkownik zobaczy listę wszystkich kont przypisanych do danej domeny.

Proces wyboru loginu (użytkownika) w przeglądarce

Logowanie w trybie bezhasłowym, gdy na urządzeniu znajduje się kilka kont dla danego serwisu, opiera się na mechanizmie obsługiwanym bezpośrednio przez system operacyjny i przeglądarkę internetową, a nie przez witrynę docelową. Przebiega to według określonego schematu:

  1. Inicjacja żądania: Na stronie internetowej wybiera się opcję logowania kluczem sprzętowym (często opisaną jako "Zaloguj się przy użyciu passkey", "Użyj klucza" itp.), z pominięciem wpisywania nazwy użytkownika. Serwis wysyła do przeglądarki żądanie uwierzytelnienia.
  1. Autoryzacja dostępu do urządzenia (PIN/Biometria): Przeglądarka lub system operacyjny przechwytuje żądanie i prosi o użycie fizycznego nośnika. Ponieważ odczytanie listy logików z pamięci wbudowanej stanowi operację wrażliwą z punktu widzenia prywatności, system najpierw wymaga odblokowania sprzętu. Należy wprowadzić lokalny kod PIN lub poprawnie zweryfikować odcisk palca na czytniku.
  1. Wyświetlenie okna wyboru (Picker UI): Po pozytywnej weryfikacji sprzęt komunikuje się z systemem operacyjnym, przesyłając mu listę wszystkich poświadczeń, które są przypisane do domeny żądającej dostępu (weryfikacja na podstawie tzw. Relying Party ID). W przeglądarce lub w natywnym oknie systemu pojawia się bezpieczne okno dialogowe z wykazem dostępnych loginów / adresów e-mail.
  1. Wskazanie tożsamości: Z wyświetlonej listy należy kliknąć odpowiednie konto. Dopiero po tym wyborze klucz sprzętowy generuje dowód kryptograficzny powiązany wyłącznie z tym jednym, konkretnym profilem i przekazuje go do serwera, co wieńczy operację logowania.

Taka konstrukcja procesu gwarantuje, że strona internetowa nie dowiaduje się o istnieniu pozostałych kont przypisanych do tego samego nośnika fizycznego. Serwis otrzymuje dane uwierzytelniające tylko dla tej tożsamości, która została ręcznie wskazana w lokalnym interfejsie systemu operacyjnego.

Ćwiczenie 6: Poświadczenie niewykrywalne

Odwiedź stronę https://webauthn.io/.

Rozwiń “Advanced Settings”, odnajdź “Discoverable Credentail” i wybierz “Discouraged”.

Wymyśl dla siebie login i zarejestruj się.

Użyj tego login-u, aby się zalogować (a więc uwierzytelnić, czyli ”Authenticate”).

W aplikacji Yubico Authenticator przejdź do zakładki “Passkeys”. Zauważ, że nie jest tu widoczne poświadczenie (passkeys) dla użytego przed chwilą loginu.

Jaki jest sens używania poświadczeń niewykrywalnych?

Stosowanie poświadczeń niewykrywalnych (ang. non-discoverable credentials), charakterystycznych dla standardu U2F i starszych implementacji FIDO2, posiada szereg istotnych zalet. Główne korzyści wynikają z faktu, że materiał kryptograficzny nie jest na stałe przechowywany w fizycznej pamięci klucza sprzętowego.

Choć poświadczenia niewykrywalne nie pozwalają na wdrożenie nowoczesnego, całkowicie bezhasłowego logowania (Passwordless), oferują niezrównaną skalowalność, niższe koszty utrzymania oraz maksymalną dyskrecję, pozostając najbardziej optymalnym mechanizmem przy stosowaniu kluczy sprzętowych jako drugiego składnika autoryzacji.

Zamiast zapisywać parametry konta w urządzeniu, bezpieczny czip tworzy zaszyfrowany pakiet danych (tzw. uchwyt klucza – key handle), który jest odsyłany i przechowywany na serwerze internetowym. Podczas logowania serwer przesyła ten pakiet z powrotem do urządzenia, które go weryfikuje, odtwarza z niego klucz prywatny i podpisuje żądanie.

Taka architektura systemu przekłada się na cztery główne korzyści:

1. Nielimitowana pojemność

Z racji tego, że klucz sprzętowy odsyła zaszyfrowane dane do serwera i nie magazynuje poświadczeń we własnej pamięci wbudowanej, jego przestrzeń dyskowa nigdy się nie zapełni. Umożliwia to zabezpieczenie tysięcy różnych kont internetowych przy użyciu jednego fizycznego nośnika. Dla porównania, w przypadku poświadczeń wykrywalnych (passkeys), ograniczona pojemność układu Secure Element wymusza limit wynoszący przeważnie od 25 do 100 kont na jednym kluczu.

2. Wyższy poziom prywatności sprzętu

Ponieważ na urządzeniu nie tworzy się żaden rejestr przypisanych usług ani kont, fizyczne przejęcie klucza przez osobę niepowołaną nie ujawnia żadnych informacji o jego właścicielu. Bez znajomości konkretnego loginu na konkretnej stronie internetowej, nie ma technicznej możliwości odczytania z pamięci urządzenia informacji o tym, jakie konta bankowe, adresy e-mail czy profile w portalach społecznościowych były za jego pomocą chronione.

3. Optymalizacja procesu dwuetapowej weryfikacji (2FA)

W klasycznym modelu logowania 2FA, proces autoryzacji rozpoczyna się od wprowadzenia nazwy użytkownika oraz hasła. W tym momencie serwer posiada już wiedzę, do jakiego konta przypisywana jest próba logowania, i może błyskawicznie odesłać do klucza sprzętowego odpowiedni key handle. Ponieważ weryfikacja tożsamości odbyła się na etapie loginu i hasła, konieczność przechowywania informacji o koncie na samym kluczu staje się bezcelowa.

4. Niższe koszty produkcji i wsteczna kompatybilność

Działanie w trybie niewykrywalnym nie wymaga skomplikowanych mechanizmów zarządzania wewnętrzną pamięcią ani tak zaawansowanych układów scalonych o dużej pojemności. Pozwala to na produkcję tańszych modeli kluczy zabezpieczających (skupionych wyłącznie na funkcji 2FA) oraz zapewnia pełną kompatybilność nowoczesnych systemów ze sprzętem starszej generacji, który obsługiwał wyłącznie standard U2F.

Ćwiczenie 7: Usunięcie poświadczenia

Założenie: posiadasz zapisane na kluczu co najmniej jedno poświadczenie ze strony webauthn.io

W aplikacji Yubico Authenticator przejdź do zakładki “Passkeys”. Wybierz poświadczenie dla webauthn.io, zapamiętaj login, usuń poświadczenie.

Odwiedź stronę https://webauthn.io/. Wpisz login z usuniętego poświadczenia.

Kliknij “Authenticate” i postępuj zgodnie z instrukcjami przeglądarki.

Czemu może służyć usuwanie poświadczeń passkey z klucza sprzętowego?

Usuwanie poświadczeń typu passkey (znanych technicznie w standardzie FIDO2 jako poświadczenia wykrywalne lub klucze rezydujące) z pamięci fizycznego klucza sprzętowego wykonuje się z kilku konkretnych powodów, wynikających z ograniczeń technologicznych oraz rygorystycznych zasad cyberbezpieczeństwa.

Oto główne cele przeprowadzania takich operacji:

1. Zwalnianie fizycznej pamięci urządzenia

W przeciwieństwie do poświadczeń niewykrywalnych (stosowanych w tradycyjnym standardzie U2F jako drugi składnik logowania), passkeys zajmują fizyczne miejsce w bezpiecznym układzie kryptograficznym (Secure Element) klucza sprzętowego. Ze względu na to, że pamięć ta musi spełniać najwyższe standardy izolacji, jej pojemność jest mocno ograniczona.

  • Standardowe klucze sprzętowe pozwalają na zapisanie od zaledwie 25 do maksymalnie około 100 poświadczeń typu passkey (w zależności od producenta i wersji oprogramowania układowego).
  • Po osiągnięciu tego limitu wygenerowanie nowego poświadczenia do logowania bezhasłowego staje się niemożliwe. Konieczne jest wtedy zidentyfikowanie i usunięcie starych wpisów w celu zwolnienia miejsca na nowe konta.

2. Porządkowanie nieużywanych dostępów

Zakończenie korzystania z danej usługi internetowej, usunięcie konta w portalu lub zakończenie współpracy z daną organizacją sprawia, że przechowywanie powiązanego z tymi zdarzeniami klucza passkey traci sens. Usunięcie nieaktualnych danych pozwala na utrzymanie porządku w pamięci sprzętowej, co ułatwia zarządzanie i uniemożliwia ewentualne pomyłki przy wyborze kont podczas logowania w miejscach, gdzie obsługiwanych jest kilka tożsamości na jednej domenie.

3. Rozwiązywanie problemów technicznych (Troubleshooting)

Sporadycznie dochodzi do problemów z synchronizacją pomiędzy serwerem internetowym a kluczem sprzętowym. Może się to zdarzyć w wyniku błędu po stronie serwera, wygaśnięcia sesji w trakcie rejestracji lub błędu przeglądarki.

  • Jeśli serwer "zapomniał" klucz publiczny, a urządzenie nadal posiada klucz prywatny (lub odwrotnie), proces uwierzytelniania zakończy się niepowodzeniem.
  • Usunięcie wadliwego poświadczenia z klucza fizycznego pozwala na wyczyszczenie stanu lokalnego i rozpoczęcie procesu rejestracji od nowa.

4. Przekazanie sprzętu lub zmiana właściciela

W przypadku zmiany przypisania sprzętu — na przykład zwrotu służbowego klucza do działu IT po zakończeniu zatrudnienia — usunięcie wszystkich poświadczeń jest podstawowym wymogiem bezpieczeństwa i ochrony prywatności. Passkeys zawierają metadane (często w tym nazwę użytkownika), które mogą zdradzić, do jakich usług logowano się za pomocą danego urządzenia. Choć w takich scenariuszach najbezpieczniejszą formą jest całkowite przywrócenie sprzętu do ustawień fabrycznych (reset), punktowe usuwanie passkeys również spełnia funkcję ochronną, gdy całkowity reset nie jest z jakichś powodów pożądany.

5. Cykliczna rotacja kluczy i wymogi bezpieczeństwa

W niektórych restrykcyjnych politykach bezpieczeństwa korporacyjnego wymusza się okresową rotację materiału kryptograficznego. Polega to na systematycznym usuwaniu starych poświadczeń i generowaniu nowych dla tych samych kont, aby zminimalizować ryzyko wynikające z długotrwałego posługiwania się pojedynczym, niezmiennym kluczem prywatnym.

Ważna uwaga techniczna: Należy pamiętać o asymetrycznej naturze tego procesu. Skasowanie poświadczenia wyłącznie z pamięci klucza sprzętowego uniemożliwia logowanie się nim na dane konto, ale nie informuje o tym fakcie samego serwera. Aby proces usunięcia metody logowania był kompletny, niezbędne jest również odpięcie klucza z poziomu ustawień bezpieczeństwa w panelu użytkownika danej usługi internetowej.

Ćwiczenie 8: Yubikey jako drugi składnik

Odwiedź stronę: https://demo.yubico.com/playground

Zarejestruj nowe konto używając linku “Click here” poniżej pola na hasło. Wymyśl login, wymyśl hasło.

Po zalogowaniu poniżej nagłówka “Multi-Factor Authentication” jest box “Security Keys”. Kliknij “ADD SECURITY KEY” i postępuj zgodnie z instrukcjami lecz NIE zaznaczaj opcji “Enable passwordless login with this key”.

Jeśli wszystko przebiegło pomyślnie w box-ie “Security Keys” widoczna jest teraz informacja o nowo dodanym kluczu. Nazwa ma pomóc z w identyfikacji, który to Yubikey, co ma znaczenie, gdy posiada się ich kilka. Być może warto je jakoś oznakować (np. czerwoną taśmą, markerem, lakierem) i wskazać to oznaczenie w nazwie (np. “czerwony yubikey”).

Wyloguj się. (Użyj ”SIGN OUT” w prawym górnym narożniku).

Zaloguj się ponownie i zaobserwuj, że po podaniu poprawnego loginu i hasła pojawia się prośba o użycie klucza (jako drugiego składnika).

Ćwiczenie 9: Yubikey jako pierwszy składnik

Założenie: wykonano ćwiczenie 8 (Yubikey jako drugi składnik) i skonfigurowano PIN do FIDO.

Usuń zarejestrowany wcześniej klucz korzystając z ikony ołówka.

Ponownie zarejestruj klucz (jak w ćwiczeniu 8) jednak tym razem ZAZNACZ opcję “Enable passwordless login with this key”. Zauważ, że tym razem pojawiło się pytanie o PIN.

Wyloguj się.

Zaloguj się ponownie i zaobserwuj, że po podaniu poprawnego loginu i hasła pojawia się prośba o użycie klucza (jako drugiego składnika, zupełnie jak w ćwiczeniu 8).

Wyloguj się.

Zamiast podawać login i hasło skorzystaj z linku “If you have enabled passwordless login, click here to sign in”. Postępuj zgodnie z instrukcjami przeglądarki. Zauważ pytanie o PIN i to, że nie było konieczności podawania ani loginu, ani hasła.

Zajrzyj do Yubico Authenticator, aby przekonać się, że poświadczenie dla tej strony (demo.yubico.com) jest widoczne w zakładce “Passkeys”.

Ćwiczenie 10: Telefon jako klucz

Założenie: jesteś w stanie zalogować się na telefonie na swoje konto na demo.yubico.com/playground

Uwaga: przebieg ćwiczenia może różny w zależności od konfiguracji użytego oprogramowania (systemu, przeglądarki); testowano na Android 16, skonfigurowane biometria (odcisk palca), Chrome 146.

Na telefonie odwiedź stronę https://demo.yubico.com/playground

Po zalogowaniu odszukaj box “Internal (Built-in) Authenticators”. Kliknij “ADD INTERNAL AUTHENTICATOR” i postępuj zgodnie z instrukcjami.

Wyloguj się.

Zamiast podawać login i hasło skorzystaj z linku “If you have enabled passwordless login, click here to sign in”. Postępuj zgodnie z instrukcjami przeglądarki.

Jeśli masz zarejestrowany Yubikey (patrz “Security Keys”) to usuń go.

Spróbuj zalogować się na komputerze i przekonaj się, że nie jest to możliwe, gdyż jedynym authentykatorem jest telefon.

Korzystając z telefonu usuń go z “Internal (Built-in) Authenticators”.

Jakie są ograniczenia wykorzystywania wbudowanego authentykatora FIDO2 np. telefonu?

Wbudowane urządzenia uwierzytelniające (określane w standardzie FIDO jako Platform Authenticators), do których zaliczają się czytniki w smartfonach (np. rozpoznawanie twarzy, odciski palców) czy systemy biometryczne w laptopach (np. Windows Hello), oferują ogromną wygodę. Ich stosowanie wiąże się jednak z kilkoma istotnymi ograniczeniami w porównaniu do zewnętrznych kluczy sprzętowych (tzw. Roaming Authenticators).

Oto najważniejsze bariery i słabe punkty tego rozwiązania:

1. Brak mobilności i przywiązanie do ekosystemu (Vendor Lock-in)

Największą wadą wbudowanych rozwiązań jest ich ścisłe powiązanie z konkretnym sprzętem lub dostawcą oprogramowania.

  • Poświadczenia (passkeys) wygenerowane w systemie operacyjnym komputera zazwyczaj pozostają trwale przypisane do tej jednej maszyny. Aby zalogować się na to samo konto z innej stacji roboczej, proces rejestracji należy przejść od nowa.
  • W przypadku urządzeń mobilnych klucze synchronizują się zazwyczaj w chmurze producenta (np. iCloud Keychain dla sprzętu Apple lub Google Password Manager dla systemu Android). Przeniesienie całego kompletu poświadczeń przy zmianie platformy mobilnej jest procesem wysoce utrudnionym, ponieważ konkurencyjne ekosystemy historycznie nie współpracowały ze sobą w zakresie płynnego eksportu materiału kryptograficznego.

2. Zależność od zasilania i stanu technicznego

Smartfon, aby spełniać funkcję klucza, wymaga naładowanej baterii oraz w pełni sprawnego interfejsu. Rozładowanie akumulatora, uszkodzenie ekranu uniemożliwiające wpisanie kodu PIN lub awaria modułu biometrycznego natychmiast odcinają dostęp do wszystkich kont chronionych danym urządzeniem. Fizyczne klucze na USB nie posiadają wewnętrznego zasilania – czerpią energię bezpośrednio z portu komputera lub pola NFC, co czyni je znacznie bardziej niezawodnymi w sytuacjach awaryjnych.

3. Zwiększona powierzchnia ataku (Security Surface)

Telefon komórkowy to skomplikowany system informatyczny z rozbudowanym systemem operacyjnym, stale podłączony do internetu i z możliwością instalacji oprogramowania zewnętrznych twórców.

  • Mimo że same sekrety kryptograficzne są izolowane w specjalnych, chronionych enklawach sprzętowych, złośliwe oprogramowanie na zainfekowanym telefonie potrafi przechwycić kod PIN odblokowujący urządzenie (np. poprzez nakładki systemowe) lub monitorować ekran podczas procesu autoryzacji.
  • Zewnętrzny klucz sprzętowy posiada jedynie prosty układ scalony i nie daje możliwości zainstalowania na nim jakiegokolwiek oprogramowania czy wirusa.

4. Ryzyko wynikające ze współdzielenia sprzętu

Mechanizmy uwierzytelniania w telefonie chronią dostęp do urządzenia jako integralnej całości. Udostępnienie kodu blokady ekranu innej osobie (np. członkowi rodziny) jest technicznie jednoznaczne z udzieleniem jej pełnego prawa do logowania się na wszystkie konta internetowe chronione za pomocą FIDO2 na tym urządzeniu. Rozdzielenie uprawnień logowania i dostępu do telefonu nie jest możliwe.

5. Niedogodności logowania na innych stacjach roboczych (Cross-Device Authentication)

Wykorzystanie smartfona do autoryzacji logowania na obcym komputerze stacjonarnym wymaga uruchomienia procedury komunikacji między urządzeniami (tzw. mechanizm caBLE). Obejmuje to zazwyczaj skanowanie kodu QR wyświetlanego na monitorze oraz nawiązanie połączenia Bluetooth w celu weryfikacji fizycznej bliskości urządzeń. Procedura ta bywa podatna na zakłócenia, wymaga włączonej geolokalizacji i łączności bezprzewodowej, co czyni ją wolniejszą i mniej niezawodną niż fizyczne umieszczenie klucza w złączu USB.

6. Ograniczenia w środowiskach korporacyjnych (Compliance)

Ze względu na wymienione wyżej ryzyka (zwłaszcza te związane z możliwością instalacji złośliwego oprogramowania oraz niekontrolowaną synchronizacją kluczy w prywatnych, konsumenckich chmurach), działy cyberbezpieczeństwa w wielu organizacjach całkowicie blokują możliwość stosowania prywatnych smartfonów jako metody logowania do zasobów służbowych. Systemy firmowe są często konfigurowane tak, aby wymagać użycia wyłącznie zatwierdzonych zewnętrznych kluczy sprzętowych posiadających odpowiednie certyfikaty (wymuszane np. za pomocą parametru AAGUID).

Czy można zaktualizować firmware na Yubikey?

Oprogramowania układowego (firmware) na kluczach YubiKey nie można zaktualizować.

Nie jest to brakiem funkcji, lecz celową decyzją projektową producenta, podyktowaną rygorystycznymi wymogami bezpieczeństwa. Klucze sprzętowe z założenia muszą być urządzeniami niezmiennymi (ang. immutable).

Dlaczego zablokowano możliwość aktualizacji?

  • Ochrona przed atakami na łańcuch dostaw (Supply Chain Attacks): Gdyby istniał mechanizm pozwalający na wgranie nowej wersji oprogramowania, stanowiłoby to ogromne wektor ataku. Złośliwe oprogramowanie (malware) mogłoby wykorzystać tę samą ścieżkę do nadpisania systemu klucza i wykradzenia kluczy prywatnych.
  • Fizyczna gwarancja integralności: Zablokowanie zapisu na poziomie sprzętowym (wypalenie oprogramowania w bezpiecznym czipie podczas produkcji) daje absolutną pewność, że urządzenie zachowuje się dokładnie tak, jak w momencie opuszczenia fabryki. Nawet w przypadku podłączenia sprzętu do skrajnie zainfekowanego komputera, modyfikacja jego wewnętrznego oprogramowania pozostaje fizycznie niemożliwa.

Ćwiczenie 11: Użycie Yubico OTP

Założenie: jesteś w stanie zalogować się na telefonie na swoje konto na demo.yubico.com/playground i nie masz zarejestrowanych innych authentykatorów

Odwiedź stronę https://demo.yubico.com/playground

Po zalogowaniu odszukaj box “Yubico One-Time Password”. Kliknij “ADD YUBICO OTP” i postępuj zgodnie z instrukcjami. Trzeba nacisnąć klucz, aby wypełnić pierwsze pole pewnym długim ciągiem znaków. Drugie pole to nazwa klucza, która ma służyć do jego identyfikacji (podobnie jak w przypadku każdego authentykatora).

Wyloguj się.

Zaloguj się ponownie i zauważ, że jako drugi składnik należy wypełnić pole “Yubico One-Time Password”. Ustaw tam kursor i przyciśnij klucz.

Spróbuj zalogować się na telefonie.

W tej sytuacji przydatne jest w aplikacji mobilnej Yubico Authenticator, w ustawieniach, w “Opcje NFC i USB” wybrać “Kopiuj kod OTP do schowka”. Gdy podczas logowania na telefonie pojawi się pole, w którym należy wpisać “Yubico One-Time Password” to wystarczy przyłożyć Yubikey z tyłu telefonu, a po chwili widoczna będzie znajoma ikona informująca o tym, że coś jest w schowku. Zawartość schowka można wygodnie skopiować w to pole.

Czy jest Yubico OTP i kiedy jest używany?

Yubico OTP (One-Time Password) to autorski protokół uwierzytelniania opracowany przez firmę Yubico. W odróżnieniu od nowszych, otwartych standardów takich jak FIDO2 czy U2F, mechanizm ten opiera się na emulacji tradycyjnej klawiatury komputerowej (USB HID).

Zasada działania

Po podłączeniu klucza sprzętowego do portu i aktywowaniu go (zazwyczaj poprzez krótkie dotknięcie złotego styku), urządzenie zachowuje się tak, jakby systemowa klawiatura niezwykle szybko wpisała jednorazowe hasło i zatwierdziła je klawiszem "Enter".

Wygenerowany ciąg składa się zawsze z 44 znaków, zapisanych w specjalnym formacie alfabetu zwanym Modhex. Jest to zmodyfikowany system szesnastkowy, używający wyłącznie liter cbdefghijklnrtuv. Zapobiega to błędom wynikającym z różnic w regionalnych układach klawiatur (np. konfliktom między układami QWERTY, AZERTY czy QWERTZ).

Struktura wygenerowanego hasła

Każdy 44-znakowy ciąg znaków Yubico OTP dzieli się na dwie niezależne części:

  • Publiczne ID (pierwsze 12 znaków): Jest to statyczny, publiczny identyfikator konkretnego egzemplarza klucza. Ten fragment nigdy się nie zmienia przy kolejnych użyciach i służy systemom informatycznym do rozpoznania, z którym kontem w bazie danych należy powiązać próbę logowania.
  • Zaszyfrowany ładunek (pozostałe 32 znaki): To właściwe, jednorazowe hasło (OTP). Jest ono całkowicie unikalne przy każdym dotknięciu przycisku. Zawiera w sobie ukryte informacje, takie jak wewnętrzny licznik sesji, licznik użyć w danej sesji oraz pseudolosową wartość. Całość jest szyfrowana za pomocą symetrycznego, 128-bitowego klucza AES, który został wgrany na urządzenie na etapie produkcji.

Proces weryfikacji i ochrona przed atakami

Aby logowanie zakończyło się sukcesem, wygenerowany ciąg znaków musi zostać zweryfikowany przez niezależny system:

  1. Aplikacja docelowa przesyła 44-znakowy kod do serwera walidacyjnego. Domyślnie jest to usługa chmurowa YubiCloud zarządzana bezpłatnie przez firmę Yubico (choć organizacje mogą również utrzymywać własne, lokalne serwery weryfikacyjne).
  1. Serwer używa przypisanego do Publicznego ID klucza AES, aby zdekodować 32-znakową zaszyfrowaną końcówkę.
  1. Następuje weryfikacja liczników (tzw. counters). Jeśli odszyfrowana wartość licznika jest równa lub niższa od tej, którą odnotowano przy poprzednim pomyślnym logowaniu, autoryzacja jest natychmiast odrzucana.
  1. Ten mechanizm matematyczny jest fundamentem ochrony przed atakiem powtórzeniowym (Replay Attack). Przechwycenie wygenerowanego hasła i próba użycia go później jest nieskuteczna, ponieważ jego "ważność" została już wyczerpana.

Zastosowanie i ograniczenia technologiczne

Protokół Yubico OTP jest bardzo chętnie implementowany w korporacyjnych systemach VPN, menedżerach haseł oraz starszych rozwiązaniach logowania jednokrotnego (SSO). Główną zaletą z perspektywy programistycznej jest ekstremalna łatwość integracji — system operacyjny nie wymaga żadnych specjalistycznych sterowników ani obsługi protokołu WebAuthn, ponieważ traktuje klucz sprzętowy jako zwykłą klawiaturę.

Należy jednak brać pod uwagę ograniczenia tej technologii. W przeciwieństwie do nowszych standardów U2F oraz FIDO2, Yubico OTP nie zapewnia sprzętowego powiązania z domeną (Origin Binding). Brak wiedzy urządzenia o tym, na jakiej stronie internetowej aktualnie odbywa się logowanie, sprawia, że ta metoda uwierzytelniania pozostaje teoretycznie podatna na zorganizowane, zaawansowane ataki phishingowe przeprowadzane w czasie rzeczywistym.

Ćwiczenie 12: Użycie TOTP (aplikacji typu Authenticator)

Odwiedź stronę: https://demo.yubico.com/playground

Po zalogowaniu odszukaj box “Authenticator application”. Kliknij “ADD APPLICATION” i postępuj zgodnie z instrukcjami.

Gdy wyświetli się kod QR możliwe są dwie ścieżki - mobilna i desktopowa:

  • Jeśli korzystasz z mobilnej wersji Yubico Authenticator to zeskanuj kod QR w aplikacji. Nie ma konieczności podłączania Yubikey przez USB. Mając uruchomioną aplikację przyłóż klucz, aby uaktywniły się pozycje w menu głównym; wybierz “Konta”, “Dodaj konto”, zeskanuj QR i w razie potrzeby ponownie zeskanuj klucz.
  • Jeśli korzystasz z desktopowej wersji Yubico Authenticator to po podłączeniu Yubikey przejdź do “Konta” i wybierz “Dodaj konto”, a zamiast skanować QR wybierz “Dodaj ręcznie”. Pojawi się formularz, w który do wypełnienia są trzy pola. Na stronie demo.yubico.com skorzystaj z linku “Having problems scanning?”, aby wyświetlić wartości, które należy wprowadzić w formularzu w aplikacji Yubico Authenticator.

Niezależnie od wybranej ścieżki po dodaniu nowego konta w aplikacji mobilnej lub desktopowej pojawi się 6-cyfrowy kod, który zmieniać się będzie co 30 sekund. Aby dokończyć proces należy wpisać aktualny kod na stronie demo.yubico.com w pole widoczne po kliknięciu “Next” poniżej kodu QR.

Wyloguj się ze strony.

Zaloguj się ponownie na desktopie lub na telefonie. Zauważ, że strona poprosi o 6-cyfrowy kod. Można go odczytać w aplikacji Yubico Authenticator.

W czym użycie kodów TOTP w Yubico Authenticator jest korzystniejsze niż użycie do ich generowania innej aplikacji np. Google Authenticator lub Keepass?

Główna przewaga Yubico Authenticator nad rozwiązaniami czysto programowymi (takimi jak Google Authenticator czy KeePass) wynika z faktu, że oprogramowanie to współpracuje z fizycznym układem kryptograficznym. W tym modelu aplikacja pełni wyłącznie funkcję interfejsu (ekranu), natomiast najważniejsze dane – tzw. sekrety (ziarna) TOTP – przechowywane są w bezpiecznym elemencie (Secure Element) klucza sprzętowego.

Zastosowanie takiej architektury niesie za sobą cztery kluczowe korzyści z punktu widzenia cyberbezpieczeństwa i wygody użytkowania:

1. Odporność na złośliwe oprogramowanie i kradzież danych

  • W Google Authenticator i KeePass: Sekrety kryptograficzne zapisane są odpowiednio w strukturze plików systemu operacyjnego telefonu lub w pliku bazy danych na dysku. W przypadku infekcji urządzenia złośliwym oprogramowaniem (np. typu infostealer), hakerzy mogą potajemnie skopiować te pliki i samodzielnie generować kody autoryzacyjne.
  • W Yubico Authenticator: Sekrety TOTP nigdy nie opuszczają fizycznego czipu klucza sprzętowego. Niemożliwe jest ich zdalne skopiowanie, wyeksportowanie czy odczytanie przez wirusy komputerowe, nawet w przypadku całkowitego przejęcia kontroli nad zainfekowanym komputerem lub smartfonem.

2. Prawdziwa separacja składników uwierzytelniania (vs. KeePass)

Podstawą bezpieczeństwa wieloskładnikowego (MFA) jest wykorzystanie niezależnych od siebie metod – np. "czegoś, co się wie" (hasło) oraz "czegoś, co się ma" (urządzenie).

  • Umieszczenie zarówno hasła, jak i generatora kodów 2FA w jednej bazie danych menedżera haseł (np. KeePass) całkowicie łamie tę zasadę. Skutkuje to umieszczeniem "wszystkich jajek w jednym koszyku". Jeśli atakujący zdobędzie bazę i złamie hasło główne, uzyskuje natychmiastowy dostęp do obu składników logowania.
  • Trzymanie kodów na fizycznym kluczu gwarantuje, że przejęcie samego hasła w żaden sposób nie przybliża napastnika do przełamania drugiego etapu zabezpieczeń.

3. Niezależność sprzętowa i przenośność (vs. Google Authenticator)

Aplikacje mobilne silnie wiążą kody z konkretnym urządzeniem. Zgubienie, kradzież lub awaria smartfona z Google Authenticator (jeśli zrezygnowano z kontrowersyjnej pod kątem bezpieczeństwa synchronizacji w chmurze) oznacza trwałą utratę możliwości logowania.

  • Posiadając klucz sprzętowy, wystarczy podłączyć go (lub zbliżyć za pomocą NFC) do dowolnego innego komputera czy smartfona z zainstalowanym darmowym programem Yubico Authenticator. Pełna lista kodów pojawi się natychmiast, bez konieczności przeprowadzania procesu odzyskiwania kont czy skanowania kodów QR od nowa.

4. Wymóg fizycznej obecności (User Presence)

Podczas dodawania nowego konta TOTP do klucza sprzętowego za pomocą aplikacji Yubico, dostępna jest opcja wymuszenia fizycznego dotyku (ang. Require touch).

  • Powoduje to, że nawet przy wpiętym na stałe kluczu do portu USB i włączonej aplikacji, wygenerowanie 6-cyfrowego kodu jest niemożliwe bez fizycznego muśnięcia palcem złotego styku na obudowie.
  • Stanowi to absolutną blokadę przed atakami zdalnymi. Atakujący, który włamie się na dany komputer i uzyska podgląd ekranu, nie będzie w stanie odczytać kodów TOTP, ponieważ nie ma możliwości fizycznego zainicjowania ich wygenerowania. Systemy takie jak KeePass czy Google Authenticator nie posiadają tego typu fizycznej blokady autoryzacji.

Ćwiczenie 13: Użycie TOTP z opcją dotyku

Zrealizuj ćwiczenie 12, ale przy dodawaniu nowego konta zwróć uwagę na opcję “Wymagaj dotyku”.

W przypadku aplikacji mobilnej będzie to oznaczało, że trzeba będzie przyłożyć Yubikey z tyłu obudowy telefonu, aby wygenerowany został 6-cyfrowy numer. Nie wystarczy samo otwarcie aplikacji.

W przypadku aplikacji desktopowej będzie to oznaczało, że wybierając konto w aplikacji trzeba będzie kliknąć akcję “Pobierz nowy klucz z Yubikey” w prawym panelu “Szczegóły” (widocznym po wybraniu konta).

Ćwiczenie 14: Użycie kodów odzyskiwania (recovery codes)

Założenie: na stronie demo.yubico.com/playground masz zarejestrowany co najmniej jeden “drugi składnik” (klucz Yubikey, wewnętrzny authentykator (np. telefon), Yubico OTP, aplikacja typu authentykator).

Odwiedź stronę: https://demo.yubico.com/playground

Po zalogowaniu odszukaj u dołu strony box “Recovery Codes”. Kliknij “SHOW CODES”, skopiuj widoczne 8-znakowe kody i zapisz je w dowolnym miejscu (np. zwykłym pliku tekstowym). W praktyce pewne należałoby je np. przepisać lub wydrukować, a następnie schować w bezpieczne miejsce.

Wyloguj się i zaloguj ponownie.

Na ekranie z prośbą o użycie drugiego składnika zauważ ikonę w prawym dolnym rogu okna “Verify”. Po jej kliknięciu rozwija się lista drugich składników, które możesz próbować użyć. Wybierz “Recovery Codes” i wpis (wklej) dowolny z zachowanych wcześniej kodów.

Po zalogowaniu się ponownie odszukaj “Recovery Codes” u dołu strony i kliknij “SHOW CODES”. Zauważ, że wykorzystany kod oznaczony jako przekreślony. Kody są jednorazowe, ale zawsze można wygenerować nowy zestaw (unieważniając tym samym wszystkie wcześniejsze, które nie zostały użyte).

Czy warto mieć recovery codes, gdy zarejestruje się więcej niż jeden drugi składnik?

Posiadanie wygenerowanych kodów zapasowych (ang. recovery codes) jest powszechnie uznawane za absolutnie niezbędny element prawidłowej konfiguracji bezpieczeństwa, niezależnie od liczby zarejestrowanych kluczy sprzętowych czy aplikacji uwierzytelniających.

Nawet przy rygorystycznym stosowaniu metody głównej i zapasowej (np. posiadaniu dwóch fizycznych kluczy YubiKey), kody odzyskiwania pełnią funkcję ostatecznej polisy ubezpieczeniowej z kilku krytycznych powodów:

  • Ochrona przed utratą katastrofalną: Zawsze istnieje ryzyko jednoczesnej utraty wszystkich zarejestrowanych urządzeń uwierzytelniających. Może to nastąpić w wyniku kradzieży całego bagażu podczas podróży, w którym znajdował się zarówno komputer, jak i przypięte do kluczy breloki, lub w wyniku innych zdarzeń losowych. Kody wydrukowane i zdeponowane w innej lokalizacji zapobiegają w takiej sytuacji bezpowrotnej utracie cyfrowej tożsamości.
  • Asymetria konfiguracji: Rejestracja dodatkowego, zapasowego składnika zabezpieczeń na dziesiątkach kont internetowych wymaga żelaznej dyscypliny. W praktyce bardzo często zdarza się, że przy zakładaniu nowego konta konfiguruje się wyłącznie główny klucz, zapominając o wyciągnięciu z szuflady urządzenia zapasowego. Gdy klucz główny ulegnie zniszczeniu, okazuje się, że sprzęt rezerwowy nie posiada uprawnień do najnowszych usług.
  • Błędy oprogramowania i awarie protokołów: Sporadycznie występują sytuacje, w których aktualizacja systemu operacyjnego, błąd przeglądarki lub awaria po stronie serwisu internetowego tymczasowo uszkadza obsługę standardu WebAuthn/FIDO. W takich przypadkach prawidłowo działające klucze sprzętowe zostają zablokowane. Kody zapasowe polegają na znacznie prostszym i niezależnym mechanizmie tekstowym, pozwalając na ominięcie problemów technicznych.
  • Brak możliwości ręcznego odzyskania konta: Wiele platform o wysokich standardach bezpieczeństwa stosuje politykę całkowitego braku ingerencji administratorów w proces autoryzacji (tzw. ochrona przed inżynierią społeczną). W przypadku utraty metod dwuetapowej weryfikacji, pomoc techniczna odmówi zdjęcia blokady z konta, nawet po przedstawieniu dokumentów tożsamości. Wprowadzenie kodu zapasowego staje się jedyną możliwością odzyskania dostępu.

Jakie są sprawdzone metody na bezpieczne fizyczne i cyfrowe przechowywanie kodów zapasowych, aby nie stanowiły one luki ułatwiającej hakerom obejście zabezpieczeń sprzętowych?

Kody zapasowe (recovery codes) stanowią z definicji furtkę, która pozwala całkowicie ominąć zabezpieczenia sprzętowe podczas logowania. Oznacza to, że ich niewłaściwe zabezpieczenie natychmiast niweluje wszystkie korzyści płynące z posiadania zaawansowanego klucza FIDO2/U2F. Z tego powodu materiały te wymagają ochrony na poziomie równym lub wyższym niż same klucze.

Sprawdzone strategie dzielą się na dwa główne podejścia: fizyczne oraz cyfrowe.

1. Przechowywanie fizyczne (Analogowe)

Przeniesienie danych do świata fizycznego zapewnia całkowitą izolację od zagrożeń cybernetycznych (tzw. air-gap). Haker znajdujący się na innym kontynencie nie jest w stanie uzyskać dostępu do fizycznej kartki papieru.

  • Wydruk na papierze: Jest to najbardziej zalecana metoda. Po wygenerowaniu kodów na ekranie komputera należy je wydrukować. Kartkę warto zalaminować, aby uchronić tekst przed blaknięciem, zalaniem lub uszkodzeniami mechanicznymi w perspektywie wielu lat.
  • Bezpieczna lokalizacja: Zabezpieczony dokument należy umieścić w miejscu chronionym przed dostępem osób trzecich. Odpowiednim wyborem będzie sejf domowy, zamykana na klucz kasetka lub skrytka bankowa.
  • Rozdzielenie zasobów: Bezwzględnie nie należy przechowywać wydrukowanych kodów zapasowych w tym samym miejscu, co główne i zapasowe klucze sprzętowe (np. noszenie ich razem w portfelu lub torbie na laptopa). Kradzież bagażu skutkowałaby wtedy jednoczesną utratą wszystkich metod dostępu.

2. Przechowywanie cyfrowe (Zaszyfrowane)

Przechowywanie kodów w formie cyfrowej jest wygodniejsze, jednak wymaga zastosowania rygorystycznych metod kryptograficznych, aby zapobiec ich wyciekowi.

  • Menedżery haseł: Umieszczenie kodów jako "bezpiecznej notatki" w renomowanym programie typu KeePass, Bitwarden czy 1Password to optymalny kompromis między wygodą a bezpieczeństwem. Kluczowym i nienegocjowalnym warunkiem jest tu jednak to, aby baza menedżera haseł była zabezpieczona silnym, unikalnym hasłem głównym oraz wymuszała użycie klucza sprzętowego do odszyfrowania danych.
  • Zaszyfrowane kontenery: Inną metodą jest utworzenie wirtualnego, zaszyfrowanego wolumenu na dysku komputera (np. przy użyciu darmowego i otwartego oprogramowania VeraCrypt). Plik tekstowy z kodami znajduje się wewnątrz takiego kontenera, który można następnie bezpiecznie kopiować na nośniki typu pendrive i przechowywać w różnych lokalizacjach fizycznych.

Czego bezwzględnie unikać (Antywzorce)

Nieodpowiednie zarządzanie kodami to najprostsza droga do oddania dostępu do konta osobom niepowołanym. Do najpoważniejszych błędów należą:

  • Fotografowanie ekranu smartfonem: Zrobienie zdjęcia kodom i pozostawienie go w galerii telefonu to krytyczny błąd. Systemy operacyjne automatycznie synchronizują biblioteki zdjęć z chmurą (np. Google Photos, iCloud). Wystawia to kody na ataki zdalne i całkowicie łamie ideę wieloskładnikowego uwierzytelniania.
  • Zapisywanie w nieszyfrowanych plikach tekstowych: Pozostawienie na pulpicie pliku z nazwą w stylu kody_google.txt lub recovery.docx sprawia, że w przypadku infekcji komputera złośliwym oprogramowaniem (np. typu infostealer), kody te zostaną automatycznie wykryte i przesłane na serwery atakujących.
  • Przesyłanie kodów siecią: Wysyłanie kodów zapasowych do samego siebie na adres e-mail, w wiadomościach na komunikatorach czy SMS-ach pozostawia trwałe ślady na serwerach zewnętrznych dostawców usług, nad którymi nie ma się kontroli.

Czy Yubikey służy jedynie do zabezpieczania dostępu online? Czy może być użyty do aplikacji dekstopowych?

Klucze sprzętowe nie służą wyłącznie do ochrony tożsamości w internecie. Są one równie powszechnie wykorzystywane do zabezpieczania dostępu do lokalnych systemów operacyjnych oraz aplikacji desktopowych działających w trybie offline.

Zakres ich zastosowań w środowisku lokalnym jest bardzo szeroki i opiera się na kilku niezależnych protokołach:

1. Logowanie do systemów operacyjnych

Urządzenie można skonfigurować tak, aby zabezpieczało sam moment uruchamiania komputera lub wybudzania go z uśpienia.

  • Windows: Istnieje możliwość zabezpieczenia kont lokalnych za pomocą oficjalnego narzędzia (Yubico Login for Windows). W środowiskach korporacyjnych standardem jest natomiast logowanie do domen (Active Directory) z wykorzystaniem protokołu PIV (wirtualnej karty inteligentnej).
  • macOS: Systemy firmy Apple posiadają natywne, wbudowane wsparcie dla logowania za pomocą wirtualnych kart inteligentnych (Smart Card). Parowanie klucza z kontem użytkownika odbywa się z poziomu ustawień systemowych.
  • Linux: Dzięki integracji z modułami PAM (Pluggable Authentication Modules), zabezpiecza się nie tylko ekran logowania, ale również wykonywanie operacji wymagających uprawnień administratora (np. wymuszanie dotknięcia klucza przy każdej próbie użycia polecenia sudo).

2. Ochrona aplikacji desktopowych i menedżerów haseł

Wiele lokalnych programów potrafi komunikować się ze sprzętem kryptograficznym w celu dodatkowej autoryzacji dostępu do wrażliwych danych.

  • Lokalne menedżery haseł: Programy takie jak KeePassXC nie przechowują danych w chmurze, lecz w pliku na dysku. Aby zabezpieczyć taki plik, wykorzystuje się funkcję Challenge-Response (bazującą na algorytmie HMAC-SHA1). Program wysyła do klucza zagadkę matematyczną, a klucz, korzystając z zapisanego wewnętrznie sekretu, odsyła rozwiązanie. Bez fizycznej obecności sprzętu w porcie USB, rozszyfrowanie bazy haseł jest niemożliwe, nawet po podaniu prawidłowego hasła głównego.
  • Klienci VPN i oprogramowanie korporacyjne: Programy służące do łączenia się z wirtualnymi sieciami prywatnymi (np. Cisco AnyConnect, OpenVPN) potrafią odczytywać certyfikaty dostępowe wgrane bezpośrednio do pamięci urządzenia.

3. Narzędzia deweloperskie i administracyjne

Dla zaawansowanych użytkowników klucz pełni rolę bezpiecznego magazynu dla narzędzi programistycznych, które są używane na poziomie lokalnego terminala.

  • Logowanie SSH: Zamiast trzymać klucze prywatne SSH na dysku twardym (gdzie mogą zostać skradzione przez złośliwe oprogramowanie), generuje się je na urządzeniu sprzętowym. Nowoczesne wersje oprogramowania OpenSSH obsługują klucze typu ed25519-sk, które wymuszają fizyczne dotknięcie sprzętu przed nawiązaniem połączenia ze zdalnym serwerem.
  • Szyfrowanie i podpisywanie (GPG / OpenPGP): Urządzenie posiada dedykowany moduł OpenPGP (ang. OpenPGP Smart Card). Generowane w nim asymetryczne klucze kryptograficzne służą do szyfrowania lokalnych plików, odszyfrowywania poufnej komunikacji e-mail (np. w programach Thunderbird lub Outlook) oraz do cyfrowego podpisywania zmian w kodzie źródłowym (podpisywanie commitów w systemie kontroli wersji Git).

Z jakimi usługami lub aplikacjami mogę użyć Yubikey?

Warto zerknąć do spisu dostępnego na: https://www.yubico.com/works-with-yubikey/catalog

Wybierając konkretną usługę lub aplikację można odnaleźć instrukcje jak w tym konkretnym przypadku użyć Yubikey.

Do czego służą opcje "Certificates (PIV)” w aplikacji Yubico Authenticator?

Sekcja "Certificates" (wcześniej określana często jako moduł PIV) w aplikacji Yubico Authenticator odpowiada za obsługę funkcji wirtualnej karty inteligentnej (ang. Smart Card). Standard PIV (Personal Identity Verification) opiera się na infrastrukturze klucza publicznego (PKI) i certyfikatach X.509.

W praktyce oznacza to, że fizyczny klucz sprzętowy naśladuje działanie korporacyjnej karty mikroprocesorowej (spotykanej najczęściej w formie identyfikatorów pracowniczych). Opcje dostępne w tej zakładce służą do zaawansowanego zarządzania materiałem kryptograficznym przeznaczonym dla usług, które nie obsługują nowoczesnego standardu FIDO2/WebAuthn, ale polegają na tradycyjnych certyfikatach.

Główne funkcje dostępne w sekcji Certificates:

  1. Generowanie par kluczy: Z poziomu interfejsu inicjuje się tworzenie klucza prywatnego i publicznego. Bezpieczeństwo tego rozwiązania polega na tym, że klucz prywatny jest generowany bezpośrednio w bezpiecznym czipie sprzętu i nigdy go nie opuszcza.
  1. Zarządzanie certyfikatami: Na podstawie wygenerowanego klucza publicznego tworzy się żądanie podpisania certyfikatu (CSR), które następnie przesyła się do urzędu certyfikacji (CA) – najczęściej wewnętrznego serwera w organizacji. Otrzymany od administratorów gotowy certyfikat wgrywa się z powrotem na urządzenie. Istnieje również możliwość importu całej pary (klucza prywatnego i certyfikatu) z gotowego pliku (np. w formacie .pfx lub .p12).
  1. Zarządzanie kodami dostępu (PIN, PUK, Management Key): Moduł wirtualnej karty jest całkowicie odseparowany od innych funkcji klucza (np. FIDO2), dlatego stosuje własną hierarchię zabezpieczeń:
    • PIN: Krótki kod używany na co dzień w celu autoryzacji operacji (np. podczas logowania).
    • PUK (PIN Unlock Key): Kod awaryjny, służący wyłącznie do odblokowania urządzenia po kilkukrotnym błędnym wpisaniu podstawowego kodu PIN.
    • Management Key (Klucz zarządzania): Specjalny, domyślnie 48-znakowy klucz kryptograficzny. Wymaga się go tylko do przeprowadzania administracyjnych modyfikacji struktury karty (np. wgrywania nowych certyfikatów lub czyszczenia pamięci slotów). Zwykłe użytkowanie klucza nie wymaga jego podawania.
  1. Zarządzanie slotami pamięci: Certyfikaty rozmieszcza się w predefiniowanych, wirtualnych "przegródkach" (zwanych slotami). Każdy z nich ma przypisaną w standardzie określoną funkcję:
    • Slot Authentication: Główny slot uwierzytelniający. Służy do logowania do systemów operacyjnych czy sieci VPN.
    • Slot Digital Signature: Przeznaczony do składania podpisów cyfrowych (np. pod plikami PDF lub kodem oprogramowania). Domyślnie wymusza podanie kodu PIN przy absolutnie każdym użyciu.
    • Slot Key Management: Dedykowany do operacji szyfrowania i deszyfrowania (wykorzystywany najczęściej do odczytywania zaszyfrowanej poczty e-mail w standardzie S/MIME).
    • Slot Card Authentication: Używany do fizycznej autoryzacji karty w zautomatyzowanych procesach.

Praktyczne zastosowania certyfikatów PIV

Wykorzystanie opcji "Certificates" znajduje zastosowanie głównie w środowiskach biznesowych oraz rozwiązaniach serwerowych. Wśród najczęstszych zastosowań wymienia się:

  • Logowanie do systemów operacyjnych: Zabezpieczanie dostępu do stacji roboczych Windows zintegrowanych z firmową usługą Active Directory. W ekosystemie Apple umożliwia to również natywne, wbudowane logowanie do systemu macOS za pomocą profilu Smart Card.
  • Infrastruktura korporacyjna: Uwierzytelnianie dostępu do sieci wirtualnych (VPN, np. Cisco AnyConnect), środowisk chmurowych czy platform wewnętrznych wymagających obustronnego certyfikowania (mTLS kliencki).
  • Podpisywanie dokumentów cyfrowych: Zabezpieczanie umów i dokumentacji (np. za pośrednictwem oprogramowania Adobe Acrobat) podpisem kryptograficznym, który technicznie gwarantuje tożsamość wystawcy i nienaruszalność pliku.
  • Autoryzacja dostępu SSH: Wykorzystanie modułu wirtualnej karty (za pomocą bibliotek programistycznych PKCS#11) do wysoce bezpiecznego logowania na zdalne serwery w środowisku Linux, stanowiące alternatywę dla starszych metod autoryzacji.

Gdzie mogę użyć OATH-HOTP?

OATH-HOTP (HMAC-based One-Time Password) to otwarty standard generowania jednorazowych kodów autoryzacyjnych. W przeciwieństwie do powszechniejszego standardu TOTP (opartego na czasie), HOTP opiera się na liczniku zdarzeń. Nowy kod generuje się wyłącznie w momencie zainicjowania konkretnej akcji (np. po fizycznym naciśnięciu przycisku), a nie co określoną liczbę sekund.

Ze względu na swoją specyfikę, rozwiązanie to znajduje zastosowanie w konkretnych środowiskach i scenariuszach technologicznych:

1. Urządzenia bez wbudowanego zegara (Tokeny sprzętowe)

Najbardziej klasycznym obszarem wykorzystania HOTP są proste tokeny sprzętowe (np. breloki z wyświetlaczem wydawane do kont bankowych lub korporacyjnych VPN-ów), które nie posiadają baterii podtrzymującej zegar czasu rzeczywistego (RTC). Zbliżona zasada dotyczy wielu fizycznych kluczy zabezpieczających. Brak wiedzy urządzenia o aktualnej godzinie wymusza obliczanie kodu na podstawie wewnętrznego licznika, który inkrementuje się przy każdym fizycznym użyciu (dotknięciu styku).

2. Środowiska bez synchronizacji czasu (Offline / Air-gapped)

W zamkniętych sieciach przemysłowych, laboratoriach lub wysoce zabezpieczonych systemach izolowanych (air-gapped), komputery i serwery nie posiadają dostępu do internetowych serwerów czasu (NTP). W takich warunkach kody czasowe (TOTP) stają się zawodne z powodu zjawiska rozjeżdżania się zegarów systemowych. Użycie HOTP całkowicie eliminuje ten problem, opierając autoryzację wyłącznie na zgodności wartości licznika.

3. Logowanie do systemów i serwerów (Linux / SSH)

Protokół ten jest powszechnie stosowany w zabezpieczaniu dostępu do infrastruktury serwerowej:

  • Wykorzystanie wbudowanych modułów (takich jak pam_oath w systemach Linux) pozwala na wymuszenie weryfikacji kodem HOTP podczas logowania lokalnego lub nawiązywania zdalnych sesji SSH.
  • Klucz sprzętowy zaprogramowany do emisji kodu HOTP potrafi działać jak klawiatura (USB HID) – po dotknięciu przycisku automatycznie wpisuje 6- lub 8-cyfrowy kod bezpośrednio do terminala tekstowego.

4. Otwarta alternatywa dla Yubico OTP

W organizacjach tworzących własną infrastrukturę autoryzacyjną często poszukuje się otwartych standardów, aby uniknąć zależności od zewnętrznych usług weryfikacyjnych (jak chmurowe serwery YubiCloud) oraz od specyficznych formatów (np. 44-znakowych ciągów Yubico OTP). OATH-HOTP oferuje podobny mechanizm "wstrzykiwania" jednorazowego hasła przez złącze USB, operując na uniwersalnym, czysto numerycznym formacie.

5. Starsze infrastruktury korporacyjne (Legacy Systems)

Wiele dojrzałych wdrożeń bram sieciowych (VPN), systemów kontroli dostępu oraz środowisk logowania jednokrotnego (SSO), zaprojektowanych przed popularyzacją smartfonów i kodów czasowych, opiera swoją architekturę natywnie na standardzie HOTP. Obsługa tego protokołu pozwala na płynną migrację ze starszych form autoryzacji na nowoczesne, wieloprotokołowe nośniki kryptograficzne z zachowaniem pełnej kompatybilności wstecznej.

Potencjalne wyzwania

Zasadniczym powodem, dla którego na rynku konsumenckim dominują obecnie kody czasowe (TOTP), jest ryzyko desynchronizacji licznika. Przypadkowe, wielokrotne naciśnięcie przycisku generującego kod (np. podczas przenoszenia urządzenia w kieszeni), bez wykorzystania go do logowania, powoduje przesunięcie licznika sprzętowego względem wartości zapisanej na serwerze. Przekroczenie ustalonego okna tolerancji (tzw. look-ahead window) na serwerze skutkuje blokadą autoryzacji i wymusza ręczną procedurę ponownej synchronizacji liczników.

Czy użycie Yubikey przez NFC różni się od użycia przez USB?

Pod względem kryptograficznym i poziomu oferowanego bezpieczeństwa, użycie interfejsu NFC nie różni się od połączenia przez USB. W obu przypadkach operacje uwierzytelniania są przetwarzane przez ten sam, fizycznie odizolowany układ bezpieczny (Secure Element) znajdujący się we wnętrzu klucza.

Występują jednak istotne różnice w mechanice działania, sposobie zasilania oraz środowisku pracy.

1. Metoda potwierdzania obecności (User Presence)

Każda operacja uwierzytelniania wymaga udowodnienia fizycznej obecności człowieka, jednak interfejsy realizują to w odmienny sposób:

  • Przez USB: Urządzenie musi być wpięte do portu, a wygenerowanie podpisu kryptograficznego następuje dopiero po fizycznym dotknięciu palcem złotego styku pojemnościowego na obudowie.
  • Przez NFC: Proces ten nie wymaga dotykania złotego styku. Samo zbliżenie klucza do czytnika NFC (np. na plecach smartfona) generuje pole elektromagnetyczne, które aktywuje układ i jest traktowane przez sprzęt jako jednoznaczne z fizycznym potwierdzeniem obecności.

2. Zasilanie urządzenia

  • USB: Klucz pobiera stałe zasilanie bezpośrednio z portu komputera lub smartfona. Pozwala to na długotrwałą, stabilną pracę (np. w przypadku wirtualnych kart inteligentnych PIV) bez ryzyka przerwania połączenia.
  • NFC: Klucz sprzętowy nie posiada własnej baterii. Przy użyciu bezprzewodowym wykorzystuje się zasilanie indukcyjne z czytnika. Komunikacja i zasilanie trwają tylko ułamek sekundy — dokładnie tyle, ile klucz znajduje się w odpowiednim zasięgu pola NFC.

3. Kompatybilność i profil sprzętowy

Systemy operacyjne rozpoznają podłączony klucz w różny sposób w zależności od użytego interfejsu.

  • Połączenie USB: Sprzęt melduje się w systemie jednocześnie jako kilka niezależnych urządzeń: klawiatura USB (HID), czytnik kart mikroprocesorowych (CCID) oraz urządzenie FIDO (WebAuthn). Zapewnia to pełną kompatybilność na wszystkich komputerach stacjonarnych i laptopach.
  • Połączenie NFC: Interfejs ten wykorzystuje się niemal wyłącznie ze smartfonami i tabletami (Android, iOS). Komputery stacjonarne zazwyczaj nie posiadają wbudowanych czytników NFC. Choć można dokupić zewnętrzny czytnik USB z obsługą NFC, jest to rozwiązanie rzadko stosowane.

4. Działanie protokołu Yubico OTP (Hasła jednorazowe)

Największa różnica użytkowa pojawia się przy korzystaniu z autorskiego protokołu Yubico OTP (generującego 44-znakowe ciągi znaków).

  • W trybie USB: Klucz działa jak klawiatura — po dotknięciu przycisku system błyskawicznie "wpisuje" kod w aktywnym polu tekstowym i zatwierdza go przyciskiem Enter.
  • W trybie NFC: Zbliżenie klucza do telefonu nie wpisuje samego kodu. Zamiast tego urządzenie emituje kod w formie specjalnego linku url (znacznik NDEF). Przesyła on polecenie do systemu operacyjnego telefonu, aby ten otworzył przeglądarkę internetową i skierował żądanie do serwera walidacyjnego YubiCloud. Wymaga to odpowiedniego dostosowania aplikacji docelowej do obsługi takich linków.

5. Niezależna konfiguracja bezpieczeństwa

Oba interfejsy posiadają w pełni rozdzieloną konfigurację. Przy pomocy odpowiedniego oprogramowania administracyjnego można wyłączyć obsługę określonych protokołów oddzielnie dla USB i NFC.

W środowiskach o podwyższonych rygorach bezpieczeństwa powszechną praktyką jest całkowite wyłączanie modułu NFC w kluczach pracowników. Zapobiega to teoretycznym atakom polegającym na próbie potajemnego sczytania klucza specjalnym skanerem o wysokiej mocy, na przykład podczas przebywania w zatłoczonym miejscu.

Ćwiczenie 15: Poświadczenia z USB przez NFC

Na desktopie wykonaj ćwiczenie 9. Przejdź dalej tylko jeśli masz pewność, że logowanie z użyciem Yubikey działa zgodnie z oczekiwaniami.

Odwiedź stronę demo.yubico.com/playground na TELEFONIE i spróbuj się zalogować tak jak przed chwilą na desktopie.

Jakim rezultatem kończy się próba użycia klucza przez NFC? Czy ostatecznie trzeba podłączyć klucz przez USB?

Ćwiczenie 16: Poświadczenia z NFC przez USB

W aplikacji Yubico Authenticator usuń wcześniejsze poświadczenia dla strony demo.yubico.com/playground

Wykonaj ćwiczenie 9 ale NA TELEFONIE. Użyj Yubikey przez NFC zamiast podłączać go przez USB. Przejdź dalej tylko jeśli masz pewność, że logowanie z użyciem Yubikey działa zgodnie z oczekiwaniami.

Odwiedź stronę demo.yubico.com/playground na DESKTOPIE i spróbuj się zalogować podobnie jak przed chwilą na desktopie (z oczywistych względów) podłączając Yubikey przez USB.

Jakim rezultatem kończy się próba użycia klucza przez USB, gdy początkowo został użyty przez NFC?