Wiele razy wspominaliśmy, że hasła nie są idealne. Nawet najbardziej skomplikowane hasło może zostać złamane przez hakera. Co gorsza, wykorzystane zostanie pewnie z sukcesem na kilku różnych serwisach, co doprowadzi do tragicznych dla użytkownika skutków. Odseparowywanie i pamiętanie haseł to bardzo trudne zadanie, a dotyczy przecież każdego z nas. Dlatego ostatnio zastanawialiśmy się, kiedy hasła zostaną całkowite wyparte i zastąpione przez bardziej niezawodne technologie. Być może właśnie przedstawiamy jedną z takich technologii. Chodzi o klucze Yubikey korzystające z technologii Universal 2nd Factor (U2F).


Klucz bezpieczeństwa U2F


Z pewnością wszystkim dobrze jest znany skrót 2FA (Two-Factor Authentication). Metoda ta wymaga od nas dodatkowego składnika podczas logowania do poczty czy banków czy innych popularnych portali. Osoba logująca się musi po raz drugi potwierdzić swoją tożsamość za pomocą kodu SMS, kodu autoryzacyjnego czy sprzętowego tokenu.

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. Wystarczy włożyć niewielkie urządzenie do portu USB i nacisnąć znajdujący się na nim przycisk, a cała magia dwuetapowego, bezpiecznego uwierzytelniania się wykona. Klucze U2F są więc jedną z realizacji polityki 2FA. Bardzo prostą i bardzo skuteczną. Pozwalają na pełne zabezpieczenie się przed atakami hakerskimi na hasła czy przejęciem sesji oraz przed popularnym phishingiem.

Yubikey to aktualnie bezkonkurencyjny klucz stworzony przez firmę Yubico, która jest też współtwórcą samej technologii U2F. Klucze z wyglądu przypominają pendrive i są dostępne w kilku opcjach, m.in. USB czy na urządzenia mobilne dzięki NFC.

Rodzaje kluczy U2F od firmy Yubico; www.yubico.com

O Technologii U2F


Projekt Yubikey został stworzony przez szwedzką firmę Yubico, a sam proces dwuetapowej weryfikacji U2F opracowany przy współpracy z Google. Tworząc technologię U2F autorzy stawiali na bezpieczeństwo oraz odporność na phishing przynajmniej na takim poziomie jak w przypadku smartcard’ów czy certyfikatów. Jednocześnie celem było stworzenie technologii wysoce użytecznej w Internecie oraz chroniącej prywatność użytkowników. U2F jest oficjalnie wspierana przez organizację FIDO (Fast IDentity Online) zrzeszającą technologie autoryzacji takie jak skany lini papilarnych, skany siatkówki czy rozpoznawanie głosu i twarzy.

Autoryzacja U2F korzysta ze znanej w kryptografii metody pary kluczy publiczny/prywatny w celu tworzenia unikalnych, zaszyfrowanych identyfikatorów dla każdej usługi logowania osobno. Przy chęci skonfigurowania U2F w danym serwisie, Yubikey generuje parę kluczy, które nie są przetrzymywane na samym urządzeniu, ale w serwisie w którym się rejestruje. Nie jest więc problemem to, że zgubimy nasz Yubikey. Oczywiście problem będzie taki, że nie będziemy w stanie się zalogować 🙂 Dodatkowo zastosowane jest dedykowane zabezpieczenie sprzętowe, które wymaga interakcji użytkownika gdy chce użyć klucza do zalogowania. Jeśli jeszcze za mało zabezpieczeń, to dzięki przypisaniu do tokenu konkretnego kanału komunikacyjnego (realizowane jest to w momencie programowania klucza przez producenta/dostawcę) niemożliwe jest przeprowadzenie ataku Man-in-the-Middle.

Aktualnie tylko przeglądarka Google Chrome w pełni wspiera U2F. Firefox ma wsparcie od 2016 poprzez wtyczkę i wkrótce doda obsługę natywną. Microsoft ogłosił, że pracuje nad obsługą natywną w Edge, a Opera od wersji 40 wspiera U2F już w pełni.

Technologia uwierzytelniania U2F jest bardzo łatwa do wdrożenia zarówno dla przedsiębiorstw, jak i dostawców usług internetowych. Yubico udostępnia darmową dokumentację, dzięki której deweloperzy za darmo mogą wdrożyć U2F na swoich portalach. Do tej pory logowanie w ten sposób wspierają tacy giganci jak: Google, Facebook, Dropbox, GitHub i wiele innych (pełna lista stron dostępna pod linkiem). Jeśli chodzi o organizacje to między innymi rząd Wielkiej Brytanii czy Departament Obrony Stanów Zjednoczonych korzysta z tej technologii 🙂 Świadczy to chyba o tym, że naprawdę jest to obecnie najbezpieczniejszy (i najprostszy) sposób dwuskładnikowej autoryzacji.


Yubikey w praktyce


Korzystanie z klucza bezpieczeństwa U2F nie różni się zbytnio od innych popularnych metod uwierzytelniania dwuetapowego.

Pierwszym krokiem jest konfiguracja naszego konta w danej usłudze wspierającej logowanie za pomocą kluczy. Na przykładzie konta Google konfiguracja wygląda następująco:

Wchodzimy do opcji weryfikacji dwuetapowej i wybieramy “Klucz bezpieczeństwa”
Przechodzimy dalej.
Podłączamy klucz do urządzenia i naciskamy przycisk w celu wygenerowania unikalnej pary kluczy i przesłania ich na serwer usługi.
Klucz został zarejestrowany i od teraz możemy z niego korzystać logując się do konta Google.

Samo logowanie się za pomocą kluczy Yubikey jest banalne. Wystarczy podłączyć klucz portem USB do naszego urządzenia (lub nie, jeśli to klucz NFC na urządzenia mobilne) i nacisnąć przycisk na kluczu kiedy zostaniemy o to poproszeni przy logowaniu. W przypadku urządzeń mobilnych i kluczy NFC wystarczy zbliżyć klucz w odpowiednim momencie do urządzenia i nacisnąć przycisk. Dużo prostsze niż wpisywanie kodów z aplikacji autoryzacyjnych prawda?

źródło: yubico.com

Podsumowanie


Poniżej zalety kluczy Yubikey spisane w żołnierskich słowach:

  • Bezpieczeństwo – stosowanie kluczy Yubikey ochroni przed phishingiem, przechwyceniem sesji czy wyłudzeniem hasła. Dodatkowo uwierzytelnianie dwuetapowe pozwoli na zwiększenie bezpieczeństwa dostępu do konta, nawet w przypadku złamania hasła.
  • Prostota – klucze są małe i poręczne, dlatego możemy bez problemu zawsze mieć je przy sobie. Ich użycie również jest bardzo proste: wystarczy podpiąć klucz przez port USB i nacisnąć przycisk.
  • Prywatność – żadne hasła czy klucze nie są przechowywane na urządzeniu. Dzięki temu jeśli zgubimy klucz, nikt nie zdobędzie naszych poświadczeń. Dodatkowo, dla każdego serwisu generowana jest osobna para kluczy, co daje nam pełną anonimowość i bezpieczeństwo w sieci.
  • Zróżnicowanie – istnieje wiele rodzajów tokenów przystosowanych do różnych urządzeń oraz stosujących różne metody szyfrowania. Klucz możemy podpiąć pod port USB-A, USB-C, lightning czy użyć na urządzeniu mobilnym dzięki połączeniu NFC.
  • Niska cena – klucze Yubikey wprost od producenta zakupimy już za około 130zł. Taka cena za bezpieczeństwo naszych danych to chyba uczciwa propozycja.

Wytłumaczmy jeszcze o co chodzi ze wspomnianą ochroną przeciwko phishingowi. Cała magia kryptografii zaczyna się dopiero wtedy, gdy API naszej przeglądarki zweryfikuje adres strony WWW w celu poproszenia o użycie tokenu Yubikey. Oznacza to, że jeśli adres URL strony będzie fałszywy, to nieświadomy użytkownik nie będzie w stanie zalogować się do witryny podobnej do popularnych serwisów, oraz co istotne atakujący nie będą mogli wyłudzić kolejnego składnika potrzebnego do zalogowania się, tak jak dzieje się to w przypadku kodów SMS – pisaliśmy o tym tutaj.

Udało nam się znaleźć jeden minus rozwiązania. Mianowicie fakt, że w przypadku zgubienia klucza użytkownik nie będzie w stanie zalogować się do usługi. Można oczywiście zabezpieczyć się przed tym w dość prosty sposób – kupić drugi klucz i połączyć go z kontem i używać jako zapasowego. Są to jednak dodatkowe koszta. Jeśli rzeczywiście zgubimy klucz to w zależności od witryny możemy albo skorzystać z innej metody 2FA, którą skonfigurowaliśmy wcześniej, np. kod SMS, albo próbujemy skontaktować się z administratorem naszego konta i w jakiś sposób potwierdzić naszą tożsamość. Jeśli to nie jest możliwe i nie posiadamy drugiego, sparowanego klucza Yubikey, to możemy zapomnieć o naszym koncie w tym serwisie.

Klucze bezpieczeństwa U2F to stosunkowo mało popularna metoda, bardzo rzadko wdrażana w organizacjach do logowania się do systemów krytycznych. Dzięki popularyzacji tej technologii przez portale takie jak Google czy Facebook jest szansa na zwiększenie bezpieczeństwa i zainteresowania uwierzytelnianiem dwuetapowym U2F na przestrzeni najbliższych kilku lat.

Podziel się z innymi tym artykułem!