YubiKey to sprzętowe urządzenie uwierzytelniające produkowane przez firmę Yubico, zaprojektowane w celu zapewnienia silnego uwierzytelniania dwu- i wieloskładnikowego. Działa ono poprzez generowanie unikalnych kodów jednorazowych (OTP) oraz wykorzystanie kryptografii klucza publicznego w ramach protokołów takich jak FIDO2, U2F oraz Yubico OTP. Urządzenie komunikuje się z hostem za pośrednictwem interfejsów USB lub NFC, emulując klawiaturę HID, co eliminuje konieczność instalacji dodatkowych sterowników. YubiKey charakteryzuje się odpornością na phishing oraz ataki typu man-in-the-middle dzięki zastosowaniu technik kryptograficznych, które uniemożliwiają przechwycenie wrażliwych danych. Jego architektura opiera się na bezpiecznych elementach (secure elements) chroniących klucze prywatne przed nieautoryzowanym dostępem.

Podstawowe Koncepcje i Architektura YubiKey

Historia i Cel Projektu

YubiKey został wprowadzony na rynek w 2007 roku przez Yubico, firmę założoną przez Stinę Ehrensvärd. Pierwotnym celem było zastąpienie tradycyjnych haseł tekstowych bardziej bezpiecznymi metodami uwierzytelniania. Obecnie urządzenie wspiera ponad 100 standardów kryptograficznych, w tym FIDO2, U2F, PIV oraz OATH-TOTP, co czyni je uniwersalnym narzędziem do zarządzania tożsamością w środowiskach korporacyjnych, rządowych i prywatnych.

Komponenty Sprzętowe

YubiKey opiera się na specjalizowanym mikrokontrolerze firmy Infineon, który integruje funkcje bezpiecznego przechowywania kluczy kryptograficznych oraz generowania kodów OTP. Urządzenie wykorzystuje technologię secure element, czyli izolowany układ scalony odporny na fizyczne i programowe próby naruszenia integralności. Wersje spełniające wymogi FIPS 140-2 (poziom 1 i 2) zapewniają dodatkową certyfikację dla instytucji rządowych. Obudowa wykonana z chemoodpornego tworzywa termoplastycznego zabezpiecza przed uszkodzeniami mechanicznymi, a konstrukcja płyty głównej z otworami wzmacniającymi minimalizuje ryzyko fizycznej manipulacji.

Protokoły Uwierzytelniania i Mechanizmy Działania

Protokół FIDO2 i Passwordless Authentication

FIDO2 to otwarty standard opracowany przez FIDO Alliance, łączący specyfikacje WebAuthn (W3C) oraz CTAP (Client to Authenticator Protocol). YubiKey wykorzystuje go do uwierzytelniania bezhasłowego, gdzie klucz prywatny jest generowany i przechowywany w bezpiecznym elemencie, a klucz publiczny rejestrowany na serwerze. Proces logowania składa się z:

  1. Generowania wyzwania kryptograficznego przez serwer.
  2. Podpisywania wyzwania kluczem prywatnym YubiKey po potwierdzeniu obecności użytkownika (dotknięcie przycisku).
  3. Weryfikacji podpisu przez serwer przy użyciu klucza publicznego.

W przeciwieństwie do tradycyjnych haseł, FIDO2 eliminuje ryzyko phishingowe, ponieważ klucz prywatny nigdy nie opuszcza urządzenia, a każde wyzwanie jest unikalne.

Universal 2nd Factor (U2F)

U2F to poprzednik FIDO2, wprowadzający koncepcję kluczy specyficznych dla aplikacji. Podczas rejestracji YubiKey generuje parę kluczy dla konkretnej domeny (np. google.com), uniemożliwiając użycie tego samego klucza na innej witrynie. Protokół wykorzystuje licznik autentykacji, który jest inkrementowany przy każdym logowaniu, co pozwala wykryć próby klonowania urządzenia. Dodatkowo, U2F integruje identyfikator kanału TLS, zabezpieczając przed atakami MITM.

Yubico OTP i ModHex

Yubico OTP to 44-znakowy kod generowany przy każdym dotknięciu przycisku, składający się z:

  • Unikalnego identyfikatora urządzenia (12-16 znaków).
  • Licznika sesji i czasu.
  • Losowego składnika.
  • Sumy kontrolnej.

Kod jest szyfrowany przy użyciu 128-bitowego klucza AES, a następnie konwertowany na format ModHex – system kodowania wykorzystujący 16 znaków (cbdefghijklnrtuv), który jest odporny na różnice w układach klawiatur. Serwer weryfikujący musi posiadać odpowiedni klucz AES do odszyfrowania OTP, co zapewnia odporność na ataki brute-force.

Interakcja Użytkownika i Tryby Operacyjne

Komunikacja przez USB i Emulacja Klawiatury

YubiKey emuluje urządzenie HID (Human Interface Device), co pozwala na wprowadzanie kodów OTP bezpośrednio jako sekwencji naciśnięć klawiszy. Dzięki temu działa na dowolnym systemie operacyjnym bez konieczności instalacji dodatkowego oprogramowania. W trybie FIDO2/U2F komunikacja odbywa się poprzez protokół CTAP, wykorzystujący kryptografię krzywych eliptycznych do wymiany kluczy.

NFC i Bezprzewodowa Autentykacja

Modele z obsługą NFC (np. YubiKey 5 NFC) umożliwiają uwierzytelnianie poprzez zbliżenie do kompatybilnego czytnika. Urządzenie wykorzystuje wtedy tag NDEF do aktywacji predefiniowanego slotu OTP, zwykle skonfigurowanego dla Yubico OTP w slocie 1. Proces generowania kodu jest zasilany polem elektromagnetycznym czytnika, eliminując konieczność fizycznego podłączenia.

Tryb Challenge-Response

W tym trybie YubiKey generuje odpowiedź kryptograficzną na podstawie przesłanego wyzwania. Używane są dwa algorytmy:

  1. HMAC-SHA1 – Klucz jest współdzielony między urządzeniem a serwerem.
  2. Yubico OTP – Wyzwanie jest przetwarzane przy użyciu wewnętrznego klucza AES.

Tryb ten często integruje się z menedżerami haseł (np. KeePass) jako drugi czynnik uwierzytelniania.

Bezpieczeństwo i Ochrona przed Atakami

Fizyczna Ochrona Danych

Klucze kryptograficzne są generowane i przechowywane w secure element, który uniemożliwia ich eksport poprzez:

  • Izolację pamięci na poziomie sprzętowym.
  • Szyfrowanie wszystkich operacji we/wy.
  • Mechanizmy wykrywania manipulacji (np. monitorowanie napięcia).

Testy FIPS 140-2 poziomu 2 potwierdzają odporność na ataki fizyczne, w iniekcje błędów i analizę poboru mocy.

Bezpieczeństwo Protokołów

  • FIDO2/U2F – Każda transakcja wymaga fizycznego potwierdzenia (dotknięcia przycisku), co chroni przed zdalnym nadużyciem.
  • CTAP2 PIN/UV – Protokół PIN/UV Auth używa AES-CBC i HMAC-SHA256 do zabezpieczenia komunikacji między klientem a YubiKey. PIN nigdy nie jest przesyłany w postaci jawnej, a token autoryzacyjny (pinUvAuthToken) jest generowany przy użyciu krzywych eliptycznych.
  • Liczniki i Attestation – Licznik autentykacji w U2F wykrywa próby replikacji urządzenia, podczas gdy certyfikaty attestation potwierdzają autentyczność modelu YubiKey.

Zarządzanie Ryzykiem

  • Blokada PIN/PUK – Po przekroczeniu liczby dozwolonych prób wprowadzenia PIN, YubiKey wymaga użycia kodu PUK (PIN Unblocking Key), co zapobiega atakom brute-force.
  • Automatyczne Zerowanie – Niektóre modele (np. FIPS) automatycznie kasują klucze po wykryciu próby fizycznej ingerencji.

Zastosowania i Integracja z Systemami

Uwierzytelnianie Wieloskładnikowe (MFA)

YubiKey integruje się z ponad 1,000 usługami, w tym Microsoft 365, Google Workspace i AWS, zapewniając:

  • 2FA – Logowanie poprzez połączenie hasła + dotknięcie klucza.
  • MFA – Dodanie biometrii (w modelach YubiKey Bio) lub PIN-u do uwierzytelniania FIDO2.

Passwordless Access

W środowiskach korporacyjnych YubiKey zastępuje hasła całkowicie, wykorzystując FIDO2 do logowania do systemów Windows Hello, macOS Keychain oraz aplikacji SaaS.

Podpis Cyfrowy i Szyfrowanie

Dzięki obsłudze PIV (Personal Identity Verification) i OpenPGP, YubiKey umożliwia:

  • Podpisywanie dokumentów prawnie wiążącymi certyfikatami.
  • Szyfrowanie dysków przy użyciu kluczy RSA-4096.

Wnioski i Kierunki Rozwoju

YubiKey reprezentuje obecnie złoty standard w dziedzinie sprzętowych metod uwierzytelniania, łącząc wygodę użycia z wojskowym poziomem bezpieczeństwa. Rozwój standardów FIDO2 oraz postęp w miniaturyzacji układów secure element sugerują dalsze upowszechnienie technologii passwordless. Wyzwania na przyszłość obejmują integrację z technologiami kwantowo-odpornymi oraz rozszerzenie zastosowań w IoT, gdzie uwierzytelnianie urządzeń staje się kluczowe dla bezpieczeństwa sieci.

Autor
Adam M.
Pasjonat cyberbezpieczeństwa z 20-letnim stażem w branży IT. Swoją przygodę rozpoczynał od legendarnego mks_vir, a dziś odpowiada za ochronę systemów w renomowanej polskiej instytucji finansowej. Specjalizuje się w analizie zagrożeń i wdrażaniu polityk bezpieczeństwa. Ceni prywatność, dlatego o szczegółach mówi niewiele – woli, aby przemawiały za niego publikacje i wyniki pracy.