W ostatnim czasie zgłębiam trochę wiedzy na temat internetowych zabezpieczeń oraz ochrony kont. Popularne serwisy oferują pod tym względem całkiem sporo, ale jako ich użytkownik trzeba jeszcze być ich świadomym, by odpowiednio aktywować ich potencjał. Jednym z dzisiejszych standardów jest dwustopniowa weryfikacja, która mocno utrudnia hakerom przejmowanie naszych danych. Najskuteczniejszym sposobem jej wykorzystania jest klucz U2F. To o nim dzisiaj krótki materiał.
Zamówiłem sobie taki kluczyk osobiście, by sprawdzić jego rzeczywiste możliwości. Oczywiście zgłębiłem wcześniej wiedzę na temat dwuetapowego uwierzytelniania, co ułatwi mi porównanie efektywności metody two-factor authentication (2FA) z Universal 2nd Factor (U2F), czyli wspomnianym kluczem. Podjąłem też działania związane z dodatkowym zabezpieczeniem, bo faktycznie ataki na internetowe konta się zintensyfikowały, a widać też, że mnóstwo użytkowników po prostu nie dba o zabezpieczenia. Ten materiał kieruję też pod ich rozwagę.
Dwustopniowa weryfikacja – jak to działa?
Żeby w ogóle zrozumieć cały temat należy poznać sposób działania podwójnego zabezpieczenia przy logowaniu do internetowych kont. Dwustopniowa weryfikacja to nic innego jak dodatkowy etap weryfikacji naszej tożsamości. Po podstawowym logowaniu loginem i hasłem pojawia się drugie, ale już z polem do wpisania kodu, który przychodzi na tylko nam znane urządzenie. Najczęściej w formie powiadomienia lub SMSa na smartfon. Wystarczy go przepisać, by serwis potwierdził użytkownika i pozwolił mu wejść jego konta.
Część platform oferuje takie zabezpieczenie jako opcjonalne, część stara się to wdrażać już jako normę. Niech najlepszym przykładem będzie tutaj apka McDonald’. Zajrzałem do niej ostatnio i zaskoczył mnie komunikat na temat obligatoryjnego zastosowania dwuetapowego zabezpieczenia. 2FA kojarzył się dotąd głównie z bankami, gdzie stosowanie podwójnej bariery wymusiły unijne dyrektywy. Tu akurat ochrona w postaci dwóch etapów weryfikacji jest całkowicie zrozumiała. Chciałem tymi przykładami pokazać, że dwustopniowe weryfikowanie konta to naprawdę powoli już standard ochrony.
Dwustopniowa weryfikacja – jakie korzyści?
Korzyści są jasne. Drugi etap weryfikacji to dodatkowa bariera dla cyberprzestępcy i poczucie lepszej ochrony naszych prywatnych danych. Podwójna zapora utrudnia hakerom włamywanie na konta, ponieważ nie wystarczy odgadnięcie samego hasła (np. metodą brute force), bo potrzebne jest też potwierdzenie kolejnego etapu kodem. Dostęp do niego mamy wyłącznie my, więc jeśli przyjdzie do nas powiadomienie z kodem to przy okazji otrzymujemy sygnał, że ktoś właśnie loguje się naszymi danymi. Można dzięki temu również wykryć ataki i zmienić podstawowe hasło na nowe i silniejsze.
Dwuetapowa weryfikacja 2FA vs U2F
Dwuskładnikowa weryfikacja ma też swoje wady. W ogólnym bilansie są oczywiście mniej istotne, gdyż zwiększona skuteczność ochrony zachęca do zastosowania 2FA. Pierwszą jaką bym wymienił jest uciążliwość wprowadzania kodu. Zniechęca do stosowania dłuższego logowania, ale warto się tu „przemęczyć” i mieć poczucie lepszego zabezpieczania swoich danych. Jest też ryzyko, że po logowaniu pierwszym hasłem z jakiegoś powodu nie uda nam się potwierdzić drugiego etapu weryfikacji. Wtedy blokujemy sobie konto, przynajmniej na czas odratowania sytuacji jakimś kołem ratunkowym (najczęściej są to inne numery telefonu, adresy e-mail itd.).
W skrajnych sytuacjach, które również są możliwe, przez dwuetapową weryfikację 2FA możemy całkowicie stracić dostęp do konta. To już naprawdę rzadkie przypadki, ale możliwe. Stanie się tak, gdy cyberprzestępcom uda się w jakiś sposób dotrzeć zdalnie również do kodu weryfikującego (przez sprytne działania wyłudzające, np. phishingowe). I tutaj, niczym na białym koniu, wkracza nasz klucz USB w technologii Universal 2nd Factor (U2F). Nie dość, że jest skuteczniejszy od 2FA to jeszcze niweluje wszystkie przed chwilą wymienione wady. Zaraz napiszę jak działa.
Dwuetapowa weryfikacja kluczem U2F
Czym różni się klucz U2F od dwuskładnikowej weryfikacji 2FA? W głównym schemacie dwuetapowe uwierzytelnianie działa tu bardzo podobnie. Również bazuje na dodatkowej ochronie, czyli autoryzacji dokonywanej zaraz po podstawowym logowaniu loginem i hasłem. Inaczej wygląda jednak kwestia uwierzytelniania. Zamiast wpisywania kodu mamy fizyczny klucz przypominający pamięć w postaci pendrive’a na USB. Wtykamy go w port komputera lub przykładamy do czytnika NFC w smartfonie (jeśli klucz posiada taką opcję) i dalsza autoryzacja działa już automatycznie. Trzeba oczywiście nosić taki gadżet przy sobie i lepiej go nie zgubić.
Nie wchodząc zbytnio w szczegóły, zaznaczę tylko, że fizyczny klucz generuje dwa klucze szyfrujące (prywatny i publiczny) i będąc fizycznie w kontakcie z urządzeniem, na którym się logujemy, dodatkowo go zabezpiecza. Ma w sumie kilka przewag nad dwustopniową weryfikacją 2FA. Zaletami klucza U2F są:
- brak zdalnej możliwości przechwycenia kodu (co jest możliwe w 2FA), czyli zniechęcenia hakera do dalszych działań (musiałby mieć fizycznie dostęp do klucza, więc phishing w praktyce nie jest możliwy)
- brak uciążliwości w logowaniu kodem (wystarczy klucz w porcie lub przy NFC)
- klucz nie da zalogować się na spreparowanej stronie internetowej
- żadne hasła nie są przechowywane bezpośrednio na urządzeniu (w razie zgubienia klucza)
- relatywnie tanie rozwiązanie przy oferowanych korzyściach
Klucz U2F – konfiguracja i instalacja
Konfigurowanie klucza U2F jest bardzo proste. Jeśli usługa, w której się logujemy, posiada wsparcie dwuetapowej weryfikacji przy zastosowaniu klucza to cały proces łączenia jest szybki i nieskomplikowany. W zasadzie wystarczy w momencie aktywacji wskazać metodę przy użyciu fizycznego klucza 2FA, by zarejestrować go w usłudze. Oczywiście musi on być podłączony do urządzenia, na którym konfigurujemy usługę. Przyciśnięcie generacji unikalnej pary kluczy (wspomnianych już wcześniej prywatnych i publicznych) prześle je na serwer internetowej platformy. Ja zrobiłem to na przykładzie Facebooka. To wszystko. Od tej pory przy logowaniu do serwisu możemy korzystać z kluczyka. Zamiast kodu wystarcza wtedy naciśnięcie przycisku na kluczu lub jego zbliżenie do smartfona z chipem Near Field Communication.
Klucz U2F – czy warto korzystać?
W swoim teście korzystałem z klucza U2F oferowanego przez oficjalnego polskiego dystrybutora. Modelu posiadającego w sobie również współpracę ze smartfonem, czego w moim przypadku zabraknąć przecież nie mogło. Pierwszym portalem, w którym zarejestrowałem klucz był Facebook, ale lista kompatybilności klucza jest o wiele dłuższa. Jeden gadżecik w formie breloczka do kluczy może służyć jako „wejściówka” do wielu różnych serwisów i usług. Z czasem będę dodawał kolejne platformy. To faktycznie bardzo wygodne, a przecież nie komfort jest tu na pierwszym miejscu, a zwiększona ochrona kont.
Oczywiście drobną wadą będzie konieczność posiadania klucza zawsze przy sobie, no i jego pilnowanie (by nie zablokować sobie niepotrzebnie dostępu do ważnych danych), ale to podobnie jak z kluczem do drzwi. Najlepiej posiadać drugi, zapasowy klucz (co jest jak najbardziej możliwe do zrealizowania).
Całość jest banalna w użyciu, jak i konfiguracji. Szybsza od standardowego 2FA. Do metody U2F przekonają się szczególnie ci, którzy aktywowali dwuskładnikową weryfikację na wielu swoich kontach. Wtedy aż prosi się o zastosowanie wygodniejszej i silniejszej w ochronie opcji z fizycznym kluczem. A jak z kosztami? Nie jest drogo. Za klucz zapłaciłem poniżej 300 zł (a obecnie jest promocja z darmową przesyłką). Biorąc pod uwagę korzyści, jakie płyną z jego stosowania, to wręcz „drobne”. Najlepiej odnieść się do ewentualnych kosztów odzyskiwania dostępu do kont po atakach. Kwoty zaczynają się tam od ok. 2000 zł i rosną, więc zakup klucza brzmi jak promocja 😉 .