Uwierzytelnianie dwuskładnikowe – czym jest?

Uwierzytelnianie dwuskładnikowe, w skrócie 2FA, to pojęcie z zakresu cyberbezpieczeństwa oznaczające procedurę weryfikacji tożsamości użytkownika przy pomocy dwóch unikalnych metod jednocześnie. Od powodzenia takiej kontroli zależy umożliwienie sprawdzanemu użytkownikowi dostępu do zabezpieczonego systemu.

Jest to podejście odmienne od obecnego w tradycyjnych systemach uwierzytelniania, gdzie, aby dopuścić do zalogowania, wystarczyło hasło lub PIN dopasowane do identyfikatora takiego jak nazwa użytkownika, lub adres e-mail.

2FA zostało zaprojektowane, aby zwiększyć pewność, że logująca się osoba jest na pewno tą, za którą się podaje. W przypadku zastosowania weryfikacji dwuskładnikowej do tradycyjnych danych dodano konieczność podania jednorazowego, wygenerowanego dynamicznie tokena, którego wartość zna tylko odpytywany użytkownik. Inną metodą weryfikacji tożsamości użytkownika w drugim etapie może być pobranie danych biometrycznych, czyli np. struktury siatkówki oka lub odcisków palców.

Uwierzytelnianie dwuskładnikowe, czyli większe bezpieczeństwo systemów

Omawianą tu metodę weryfikacji tożsamości użytkowników opracowano już w latach 80 poprzedniego wieku. Jest to coraz częściej spotykany sposób na sprawdzenie danych osoby, która próbuje uzyskać dostęp do systemu informatycznego. Jest to spowodowane tym, że w codziennym życiu coraz częściej korzystamy z cyfrowych mediów i innych miejsc przechowywania wrażliwych danych, które są zagrożone atakiem przestępców. W wielu przypadkach uzyskanie dostępu do systemu informatycznego przez hakerów może oznaczać duże straty materialne.

Od dłuższego czasu wiele organizacji i firm wdraża rozwiązania zabezpieczające o większych wymaganiach. Są to coraz dłuższe hasła, dodatkowe znaki, wymóg częstej zmiany haseł czy zaawansowane algorytmy haszowania i solenia (salt) ukrywające hasła.

Jednak z czasem i tak okazało się, że metoda weryfikacji opierająca się tylko na haśle jest bardzo podatna na ataki. Zdarza się na przykład, że użytkownicy stosują te same hasła w wielu miejscach, a przestępcy są coraz bardziej sprawni w stosowaniu technik socjotechniki i phishingu, dzięki czemu sprawnie potrafią przejmować hasła ofiar. Te sposoby pozyskiwania haseł są coraz bardziej powszechne, a metod umożliwiających wykorzystanie przez włamywaczy złamanego hasła jest coraz więcej.

2FA zwiększa pewność weryfikacji osoby starającej się o dostęp do systemu, ponieważ, nawet jeżeli okaże się, że przestępcy przejęli hasło użytkownika, to jest mało prawdopodobne, żeby jednocześnie mieli możliwość wykorzystania drugiego elementu procedury kontrolnej.

2FA potwierdza, że jesteś tym za kogo się podajesz

Metoda uwierzytelniania dwuskładnikowego bazuje na dostarczeniu aplikacji kontrolnej systemu dwóch z trzech elementów weryfikacyjnych, którymi może jednocześnie dysponować tylko sprawdzany użytkownik. Są to:

  • hasło albo PIN do konta;
  • urządzenie w postaci smartfona lub tabletu, na którym generowane jest hasło jednorazowe (OTP);
  • unikalna cecha biologiczna organizmu, czyli na przykład odciski palców, obraz siatkówki albo tęczówki oka lub brzmienie głosu.

Hakerowi najłatwiej jest zdobyć hasło użytkownika lub PIN. W przypadku dostępu do fizycznego urządzenia, które użytkownik ma najczęściej przy sobie i które może być dodatkowo zabezpieczone hasłem, już sprawa nie jest taka prosta. Atak jeszcze trudniej wykonać wykorzystując cechy biologiczne ofiary. Dlatego uwierzytelnianie dwuskładnikowe jest bardzo skuteczne w zapewnianiu bezpieczeństwa kont i baz danych w systemach informatycznych.

Typy uwierzytelniania dwuskładnikowego

Dwuskładnikową kontrolę tożsamości użytkownika można wdrożyć na wiele sposobów. Każdy z nich ma swoje wady i zalety, jednocześnie wszystkie znacznie poprawiają bezpieczeństwo dostępu do serwisów i baz danych online. Najważniejszą właściwością systemu 2FA jest to, że po wprowadzeniu hasła do swojego konta, użytkownik musi podać drugi element uwierzytelniający, do którego tylko on ma dostęp i/lub który nieustannie się zmienia oraz zachowuje ważność przez krótki okres.

Zdarza się, że operatorzy chronionych systemów wdrażają zabezpieczenie dostępu przez 2FA tylko jako dodatkowe. Firma może też odstąpić od wymogu podania przez użytkownika drugiego czynnika uwierzytelniającego. Może nastąpić to w przypadku logowania z sieci wewnętrznej lub z urządzenia, które zostało dodane do listy bezpiecznych.

Jednorazowy kod dostarczony za pośrednictwem wiadomości tekstowej SMS

Kod SMS-owy to chyba najczęściej stosowana metoda stosowania 2FA. Po wprowadzeniu prawidłowej nazwy użytkownika oraz hasła, system posługujący się tą metodą wysyła do użytkownika wiadomość tekstową zawierającą unikalny kod zawierający od 5 do 10 cyfr. Aby użytkownik otrzymał zgodę na dostęp do chronionych zasobów, musi odebrany kod wprowadzić w odpowiednim miejscu witryny internetowej lub aplikacji mobilnej. Niewątpliwie plusem takiego rozwiązania jest wygoda i duża dostępność SMS-ów. Niski koszt takiej usługi też nie jest bez znaczenia.

Wadą tego rozwiązania jest konieczność zapewnienia ciągłej łączności, co oznacza, że użytkownik musi być w zasięgu sieci komórkowej, aby się uwierzytelnić. Dodatkowo transfer wiadomości tekstowych nie jest dostatecznie zabezpieczony przed ingerencją z zewnątrz. Innym minusem uwierzytelniania via SMS, jest konieczny dostęp do urządzenia (telefonu), co w przypadku jego utraty uniemożliwi uwierzytelnienie.

Uwierzytelnianie dwuskładnikowe za pośrednictwem wiadomości e-mail

Powszechnie stosowanym sposobem uwierzytelniania dwuskładnikowego są tokeny alfanumeryczne przesyłane w wiadomości e-mail. Zwierają one zwykle od 5 do 10 znaków, a po ich otrzymaniu należy je wpisać w miejscu wymaganym przez operatora zabezpieczanych zasobów. E-maile mogą zawierać także link, który użytkownik powinien kliknąć, aby potwierdzić swoją tożsamość. Innym składnikiem uwierzytelniającym dostarczanym w e-mailach są dynamicznie tworzone hasła jednorazowe.

Metoda wykorzystująca pocztę elektroniczną jest wygodna i przyjazna dla użytkownika. Wiadomości można odbierać zarówno na komputerach, jak i urządzeniach mobilnych. Kosztowo także ta droga dostarczania danych uwierzytelniających wydaje się bardzo korzystna.

Brak pewności dostarczenia wiadomości e-mail to z pewnością jeden z minusów tej metody. Może się na przykład zdarzyć, że list trafi do spamu, zostanie odrzucony przez serwer czy utknie na serwerze w kolejce do wysłania. Ryzyko przechwycenia wiadomości i naruszenia tokenów przez przestępców też jest bardzo duże. Na dodatek należy pamiętać, że jeżeli hakerzy zdobyli dane do logowania użytkownika, jest bardzo prawdopodobne, że mają także dostęp do jego skrzynki pocztowej.

Uwierzytelnianie dwuskładnikowe – tokeny generowane przy pomocy kluczy USB

Jest to metoda uniwersalna, chociaż w jej stosowaniu dominują duże organizacje. Jej działanie polega na dynamicznym generowaniu tokenów przez klucz USB lub podobne urządzenie, które jest przypisane do konkretnego użytkownika. Podaje on wygenerowaną wartość tokena i w ten sposób potwierdza swoją tożsamość w miejscu, gdzie jest to wymagane. Tokeny tworzone przez takie urządzenia są ważne przez krótki okres, co oznacza, że podlegają nieustannym zmianom.

Stosowanie niewielkich urządzeń elektronicznych generujących kody dostępu ma tę zaletę, że możemy ich używać bez konieczności nawiązywania łączności z zewnętrznymi dostawcami tokenów. Generatory tokenów cieszą się dużą niezawodnością i wysokim poziomem bezpieczeństwa, ponieważ skonstruowano je wyłącznie w jednym, konkretnym celu.

Klucze USB czy inne urządzenia dostarczające kody uwierzytelniania są jednak dość kosztowne oraz mogą być trudne w konfiguracji dla przeciętnego użytkownika. Taki niewielki sprzęt można też łatwo utracić – można go zgubić lub może być nam ukradziony. Ponadto używanie wielu generatorów tokenów do wielu usług może być uciążliwe i użytkownicy mogą niechętnie z nich korzystać.

Generowanie tokenów przy pomocy aplikacji instalowanych na komputerze lub smartfonie

Programowe generowanie jednorazowych tokenów uwierzytelniających oznacza dla użytkownika konieczność zainstalowania specjalnej aplikacji. Program następnie będzie tworzył jednorazowe kody dostępu, które musimy wprowadzić w miejscu, w którym są wymagane dla uzyskania dostępu. Tego typu technologia tworzenia kodów dostępowych rozwinęła się wraz ze wzrostem popularności smartfonów.

Programowa metoda OTP (one time password) działa podobnie do generatorów sprzętowych. I tu, i tu tokeny są tworzone losowo i na krótki czas. Deweloperzy tych aplikacji mają jednak dużą swobodę w wyborze metod implementacji w zależności od wymagań danego zastosowania.

Generatory programowe są zazwyczaj przyjazne dla użytkownika. Wyposażone są w proste interfejsy, na których zwyczajnie wyświetlane są tokeny. Konfiguracja aplikacji też jest bardzo łatwa – aby program podawał token uwierzytelniający, należy podać specjalny kod znaków dla danego systemu/konta, w którym hasło ma być użyte. Użytkownikom nie powinna też sprawić trudności aktualizacja oprogramowania, a także wprowadzanie koniecznych poprawek. Omawiane tu programy OTP da się też w razie konieczności rozszerzać o nowe funkcjonalności, np. o żądanie kodu PIN przed uruchomieniem aplikacji.

Słabym punktem rozwiązań programowych w uwierzytelnianiu może być wysoki koszt wdrożenia i utrzymania aplikacji, chociaż istnieją darmowe programy OTP. Problem dla użytkownika może stanowić też konieczność instalowania dodatkowego programu na urządzeniu. Może się też zdarzyć, że działanie programu generującego tokeny zostanie zakłócone przez przestępców.

Dostarczenie tokena uwierzytelniającego przy pomocy połączenia głosowego

Podawanie tokena uwierzytelniającego za pomocą usługi głosowej następuje po wprowadzeniu przez użytkownika nazwy i hasła dostępu. Automatyczny system połączeń głosowych dzwoni do użytkownika i podaje mu jednorazowy kod. Być może nie jest to metoda zbyt wygodna, ale dość powszechna w użyciu.

Ten sposób odebrania tokena oznacza dla użytkownika tylko konieczność odebrania telefonu. Koszty korzystania z takiej usługi są minimalne. Jest to też metoda dość niezawodna, jeżeli chodzi o ewentualne problemy z transmisją danych. Wymagana przepustowość sieci dla połączeń głosowych i wiadomości tekstowych SMS jest minimalna. Inaczej wygląda sytuacja, jeżeli chodzi o wiadomości e-mail czy aplikacje OTP.

Za to poziom bezpieczeństwa dostarczania w ten sposób tokenów pozostawia wiele do życzenia. Kody mogą być przechwytywane na różne sposoby, np. podsłuchiwane albo przekazywane na pocztę głosową. Konieczna też tu jest niezakłócona łączność z siecią komórkową oraz oczywiście posiadanie fizycznego urządzenia – telefonu.

Uwierzytelnianie dwuskładnikowe – weryfikacja biometryczna

Trudno na koniec nie wspomnieć o wyjątkowej w porównaniu do poprzednich metodzie 2FA mianowicie o weryfikacji biometrycznej. Polega ona na porównaniu m.in. zapisu odcisków palców albo obrazu siatkówki lub tęczówki oka z danymi pobranymi z ciała użytkownika. W tej szczególnej sytuacji to fizyczny użytkownik stanowi unikalny token i jeżeli ww. porównanie się powiedzie, będzie to dowodem na to, że jest on tym, za kogo się podaje.

Uwierzytelnianie za pomocą biometrii ma wiele zalet, a jedną z nich jest różnorodność możliwych czynników weryfikujących tożsamość. Są to wspomniane unikalne cechy odcisków palców, budowa siatkówki lub tęczówki oka, rysunek ludzkiej twarzy albo brzmienie jego głosu. Przyjazność dla użytkownika systemów biometrycznych również stoi na wysokim poziomie. W przypadku ich stosowania użytkownik nie musi posiadać żadnej technicznej wiedzy na ich temat.

Minusem biometrii uwierzytelniającej jest zagrożenie dla prywatności użytkowników związane z przesyłaniem i przechowywaniem danych. W przypadku zmiany lub uszkodzenia zapisanych danych biometrycznych wystąpi poważny problem z uwierzytelnieniem użytkownika. Dodatkowym mankamentem tej metody jest konieczność posiadania urządzeń do skanowania części ciała.

Piotr H. Bogucki

Piotr H. Bogucki

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *