W poprzednim artykule na temat kluczy Yubikey przedstawiliśmy sposoby ich wykorzystania i scharakteryzowaliśmy motodę działania. Jest tego naprawdę dużo, dzięki czemu nie musimy ograniczać się tylko do posługiwania się kluczami w „warunkach domowych”. Na forum firmy Yubico można znaleźć wiele ciekawych sposobów integracji. Na przykład, możliwe jest logowanie się:

  • poprzez SSH do serwerów zdalnych Linux/Unix,
  • do systemów Windows, Mac OS, Linux, freeBSD,
  • do Windows RDP,
  • klucze Yubikey NEO, które wspierają NFC mogą być wykorzystane jako "karta korporacyjna" do otwierania drzwi, dostępu do wydruków,
  • do bazy z hasłami KeePass,
  • do stron internetowych WordPress, Joomla!, Drupal, phpBB3,

2FA vs U2F

2FA (Two-Factor Authentication) znane jest użytkownikom głównie jako dodatkowy składnik wymagany podczas logowania się do Facebooka, Google oraz potwierdzenia przelewów bankowych. Innymi słowy, osoba logująca się musi po raz drugi potwierdzić, że jest ona uprawniona do tej operacji / wykonania przelewu, np. poprzez SMS, kody autoryzacyjne generowane przez mobilną aplikację lub sprzętowy token.

U2F (Universal 2nd Factor) umożliwia bezpieczny dostęp do dowolnej liczby usług internetowych z jednego urządzenia, natychmiast i bez instalowania sterowników lub oprogramowania. U2F został stworzony przez Google i Yubico i pomyślnie wdrożony na dużą skalę, np. przez rząd Wielkiej Brytanii, Turcji, czy nawet Departament Obrony USA.

Zabezpieczenie dostępu do konta z wykorzystaniem dwuskładnikowej weryfikacji (2FA) to całkiem niezły sposób na powstrzymanie większości prób ataków. Jeśli użytkownik padnie ofiarą phishingu i mimo wszystko poda na fałszywej stronie swój e-mail, login i hasło, to jeszcze nie wszystko stracone – hacker będzie potrzebował kodu z potwierdzającej wiadomości SMS. Taki kod może być wyłudzony z wykorzystaniem mobilnego trojana lub na phishingowej stronie, ale trzeba przyznać – będzie to trudne. Co więcej, skuteczne pozyskanie danych w wyniku przestępstwa powinno być poprzedzone logowaniem do usługi, zanim zrobi to właściciel konta – lub przed czasem, kiedy autoryzacyjny kod SMS ulegnie przedawnieniu. Tak więc, stosowanie dwuskładnikowej weryfikacji jest bezpieczną metodą na obronę przed próbami phishingu, ale nie najbezpieczniejszą.

Klucze Yubikey rozwiązują problemy z phishingiem raz na zawsze

W kilku prostych krokach pokazujemy, w jaki sposób skonfigurować dostęp do usług Google z kluczem Yubikey 4 (wersja bez NFC):

Krok 1: Przechodzimy do ustawień weryfikacji dwuetapowej. Jeżeli nie jest włączona, należy to zrobić.
Krok 2: Dodajemy swój klucz Yubikey.
Krok 3: Czekamy krótką chwilę, aż Google zarejestruje klucz. W następnym etapie poprosi o dotknięcie złotego przycisku.
Klucz został dodany. W taki sam sposób możemy dodać kilka kluczy, na wypadek zgubienia jednego z nich. O problemach z logowaniem się po zgubieniu klucza piszemy poniżej.
Krok 4: Upewniamy się, czy klucz został dodany poprawnie.

Logowanie do usług Google (Gmail, Youtube, Dropbox, inne) odbywa się w taki sam sposób, jak poprzednio, ale z tą różnicą, że od momentu dodania klucza, zamiast kodu SMS, wystarczy dotknąć złoty przycisk:

Od tej chwili jesteśmy zalogowani.
Od niedawna logowanie z kluczem wspiera Facebook.

Najczęstsze pytanie, które pada przy pierwszym kontakcie z kluczami Yubikey, to:

„Co się stanie, jeśli zgubię klucz?”

Przypadek 1: Strona internetowa wspiera U2F, ale nie wspiera alternatywnych metod logowania:

W serwisach internetowych, które wspierają logowanie poprzez klucze „Yubi”, ale nie umożliwiają logowania z wykorzystaniem alternatywnej metody, będzie to ostatni raz, kiedy uzyskamy dostęp do swojego konta. Aby się zabezpieczyć przed taką sytuacją, należy ze stroną internetową sparować dwa klucze, co oczywiście generuje dodatkowy koszt.

Przypadek 2: Strona internetowa wspiera U2F i alternatywne metody logowania:

W przypadku Google, Dropbox’a, czy Facebooka, należy włączyć uwierzytelnianie dwuskładnikowe (za pomocą SMS, generatora kodów w aplikacji mobilnej Facebook lub kodów resetowania) i zwiększyć poziom bezpieczeństwa, aby uniemożliwić innym osobom zalogowanie się na swoje konto. Także po to, aby w razie zgubienia klucza nie stracić dostępu do konta.

Bez dostępu do klucza Yubikey, jeszcze nie wszystko jest stracone.

Przypadek 3: Strona internetowa wspiera klucze Yubikey jako składnik 2FA (zamiast U2F):

Administratorzy serwisów internetowych opartych o CMS Wordpress, Drupal lub Joomla mogą wdrożyć dodatkowy składnik logowania się, oprócz tradycyjnego loginu i hasła. W efekcie, użytkownicy otrzymają prawdziwe 2FA, ale zamiast znanej i popularnej metody potwierdzania tożsamości via SMS, zrobią to z wykorzystaniem klucza Yubikey i wspieranej przez klucz metody OTP, czyli jednorazowego hasła (One Time Password).

Po zainstalowaniu na stronie internetowej rozszerzenia wspierającego OTP, użytkownicy w ustawieniach swojego konta będą mogli dodać klucz oraz używać swojego wygenerowanego 44-znakowego hasła przy każdej próbie logowania.

OTP to nic innego, jak kolejny składnik uwierzytelnienia, który jest generowany dynamicznie. Dla administratorów stron WWW oznacza to, że bardzo skomplikowane hasła jednorazowe dostarczane są na klucze użytkowników za pomocą zewnętrznego API YubiCloud. Haseł nie trzeba manualnie wpisywać, wystarczy przytrzymać okrągły metalowy element na kluczu, a pole na hasło automatycznie zostanie wypełnione (jak w KeePass lub LastPass).

W tej kwestii niezwykle ważne jest bezpieczeństwo takiego rozwiązania, które realizowane jest w następujący sposób:

  • Yubikey na komputerze użytkownika rejestruje się jako klawiatura USB, więc może współpracować z dowolnym systemem operacyjnym,
  • Po dotknięciu przycisku generowany jest klucz OTP, który jest kodowany za pomocą ModHex - ten składa się z unikalnego identyfikatora zaszyfrowanego AES128,
  • Zaszyfrowany ciąg zawiera: statyczny identyfikator urządzenia oraz informacje o liczniku sesji, czyli ile razu Yubikey został podłączony do portu USB; znacznik czasu bazujący na zegarze procesora, licznik ilości kodów OTP wygenerowanych od czasu podłączenia klucza do USB, 2-bajtową informację o dwóch pseudo-losowych liczbach, sumę kontrolną CRC,
  • ModHex wysyłany jest za pośrednictwem API YubiCloud do serwera Yubico, gdzie jest rozszyfrowywany i sprawdzany pod kątem zgodności z kodem OTP, oraz: czy sesja nie jest starsza od poprzedniej, czy znacznik czasu nie jest starszy od poprzedniego, itd.
  • Dopiero po poprawnej weryfikacji wszystkich składników bezpieczeństwa, użytkownik może zalogować się do serwisu WWW. Trwa to oczywiście błyskawicznie, chociaż OTP i tak jest mniej bezpieczną metodą od U2F, ale bardziej bezpieczniejszą niż bez 2FA.

Czy Yubikey jest dla mnie?

Ceny kluczy Yubikey u autoryzowanego partnera, firmy InBase.pl (dystrybutorem w Polsce jest ePrinus.com), zaczynają się już od 100 zł za wersję podstawową (Yubikey FIDO U2F Security Key, który wspiera jedynie U2F). Już ten najtańszy kluczyk wystarczy, aby chronić konta (Google, Facebook, Dropbox, GitHub, GitLab, LastPass, KeePass, FastMail… pełna lista) przed nieautoryzowanym wykorzystaniem przez osoby postronne. Użytkownicy, którzy oczekiwaliby czegoś więcej od kluczy Yubikey, np. wsparcia dla różnych rodzajów uwierzytelnienia (One Time Password, przechowywania kluczy PGP lub SSH, logowania do systemu) oraz integracji z urządzeniem mobilnym, powinny wybrać wersję „4” lub „NEO”, która wspiera komunikację NFC.

Jeżeli czegoś nie rozumiecie, nie martwcie się – w praktyce wygląda to znacznie łatwiej. Zobaczcie sami:

AUTOR:

Adrian Ścibor

Podziel się