Uwierzytelnianie dwuskładnikowe (2FA), czasami określane jako weryfikacja dwuetapowa lub uwierzytelnianie dwuskładnikowe, jest procesem bezpieczeństwa, w którym użytkownicy dostarczają dwa różne czynniki uwierzytelniające, aby się zweryfikować. Proces ten jest przeprowadzany w celu lepszej ochrony zarówno danych uwierzytelniających użytkownika, jak i zasobów, do których użytkownik może uzyskać dostęp. Uwierzytelnianie dwuskładnikowe zapewnia wyższy poziom bezpieczeństwa niż metody uwierzytelniania oparte na uwierzytelnianiu jednoczynnikowym (SFA), w których użytkownik dostarcza tylko jeden czynnik – zazwyczaj hasło lub kod dostępu. Metody uwierzytelniania dwuskładnikowego polegają na podaniu przez użytkownika hasła, a także drugiego czynnika, zazwyczaj tokena bezpieczeństwa lub czynnika biometrycznego, takiego jak odcisk palca lub skan twarzy.
Uwierzytelnianie dwuskładnikowe dodaje dodatkową warstwę zabezpieczeń do procesu uwierzytelniania, utrudniając atakującym uzyskanie dostępu do urządzeń lub kont internetowych danej osoby, ponieważ sama znajomość hasła ofiary nie wystarcza do przejścia kontroli uwierzytelniania. Uwierzytelnianie dwuskładnikowe od dawna jest wykorzystywane do kontrolowania dostępu do wrażliwych systemów i danych, a dostawcy usług online coraz częściej używają 2FA, aby chronić dane uwierzytelniające swoich użytkowników przed wykorzystaniem przez hakerów, którzy ukradli bazę danych haseł lub wykorzystali kampanie phishingowe w celu uzyskania haseł użytkowników.
- Co to są czynniki uwierzytelniające?
- Czym jest zarządzanie tożsamością i dostępem? Przewodnik po IAM
- Jak działa uwierzytelnianie dwuskładnikowe?
- Elementy uwierzytelniania dwuczynnikowego
- Typy produktów uwierzytelniania dwuskładnikowego
- Jak działają tokeny sprzętowe 2FA
- Uwierzytelnianie dwuczynnikowe dla uwierzytelniania za pomocą urządzeń mobilnych
- Czy uwierzytelnianie dwuskładnikowe jest bezpieczne?
- Wyższe poziomy uwierzytelniania
- Powiadomienia push dla 2FA
- Przyszłość uwierzytelniania
Co to są czynniki uwierzytelniające?
Istnieje kilka różnych sposobów, w jaki ktoś może zostać uwierzytelniony przy użyciu więcej niż jednej metody uwierzytelniania. Obecnie większość metod uwierzytelniania opiera się na czynnikach wiedzy, takich jak tradycyjne hasło, natomiast metody uwierzytelniania dwuskładnikowego dodają czynnik posiadania lub czynnik dziedziczenia.
Czynniki uwierzytelniania, wymienione w przybliżonej kolejności przyjmowania się w informatyce, obejmują następujące elementy:
- Czynnik wiedzy to coś, co użytkownik zna, np. hasło, PIN (osobisty numer identyfikacyjny) lub inny rodzaj współdzielonego sekretu.
- Czynnik posiadania jest czymś, co użytkownik posiada, takim jak dowód osobisty, token bezpieczeństwa, telefon komórkowy, urządzenie mobilne lub aplikacja na smartfona, do zatwierdzania wniosków o uwierzytelnienie.
- Czynnik inherencji, częściej nazywany czynnikiem biometrycznym, jest czymś nieodłącznym w fizycznym ja użytkownika. Mogą to być atrybuty osobiste odwzorowane z cech fizycznych, takie jak odciski palców uwierzytelnione przez czytnik linii papilarnych. Inne powszechnie stosowane czynniki dziedziczenia obejmują rozpoznawanie twarzy i głosu. Obejmują one również biometrię behawioralną, taką jak dynamika naciśnięć klawiszy, chód lub wzorce mowy.
- Czynnik lokalizacji, zwykle oznaczany przez lokalizację, z której podejmowana jest próba uwierzytelnienia, może być wymuszony przez ograniczenie prób uwierzytelnienia do określonych urządzeń w określonej lokalizacji lub, bardziej powszechnie, przez śledzenie geograficznego źródła próby uwierzytelnienia w oparciu o źródłowy adres protokołu internetowego (IP) lub inne informacje geolokalizacyjne, takie jak dane Globalnego Systemu Pozycjonowania (GPS), uzyskane z telefonu komórkowego użytkownika lub innego urządzenia.
- Czynnik czasowy ogranicza uwierzytelnianie użytkownika do określonego okna czasowego, w którym logowanie jest dozwolone, i ogranicza dostęp do systemu poza tym oknem.
Należy zauważyć, że zdecydowana większość metod uwierzytelniania dwuskładnikowego opiera się na pierwszych trzech czynnikach uwierzytelniania, chociaż systemy wymagające większego bezpieczeństwa mogą ich używać do wdrożenia uwierzytelniania wieloczynnikowego (MFA), które może polegać na dwóch lub więcej niezależnych poświadczeniach w celu zapewnienia bezpieczniejszego uwierzytelniania.
Ten artykuł jest częścią
Czym jest zarządzanie tożsamością i dostępem? Przewodnik po IAM
- W skład którego wchodzą również:
- Jak zbudować skuteczną architekturę IAM
- 4 niezbędne najlepsze praktyki zarządzania tożsamością i dostępem
- 5 trendów IAM kształtujących przyszłość bezpieczeństwa
Jak działa uwierzytelnianie dwuskładnikowe?
Oto, jak działa uwierzytelnianie dwuskładnikowe:
- Użytkownik jest proszony o zalogowanie się przez aplikację lub witrynę.
- Użytkownik wprowadza to, co zna – zwykle nazwę użytkownika i hasło. Następnie serwer witryny znajduje dopasowanie i rozpoznaje użytkownika.
- W przypadku procesów, które nie wymagają haseł, witryna generuje unikalny klucz bezpieczeństwa dla użytkownika. Narzędzie uwierzytelniające przetwarza klucz, a serwer witryny sprawdza jego poprawność.
- Następnie witryna prosi użytkownika o zainicjowanie drugiego kroku logowania. Chociaż ten krok może przybierać różne formy, użytkownicy muszą udowodnić, że mają coś, co tylko oni mogą mieć, np. token bezpieczeństwa, dowód osobisty, smartfon lub inne urządzenie mobilne. Jest to czynnik posiadania.
- Następnie użytkownik wprowadza jednorazowy kod, który został wygenerowany podczas kroku czwartego.
- Po podaniu obu czynników użytkownik zostaje uwierzytelniony i otrzymuje dostęp do aplikacji lub witryny.
Elementy uwierzytelniania dwuczynnikowego
Uwierzytelnianie dwuczynnikowe jest formą MFA. Technicznie, jest ono w użyciu za każdym razem, gdy dwa czynniki uwierzytelniające są wymagane do uzyskania dostępu do systemu lub usługi. Jednak użycie dwóch czynników z tej samej kategorii nie stanowi 2FA; na przykład, wymaganie hasła i współdzielonego sekretu jest nadal uważane za SFA, ponieważ oba należą do tego samego typu czynnika uwierzytelniania: wiedzy.
Jak chodzi o usługi SFA, identyfikator użytkownika i hasło nie są najbezpieczniejsze. Jednym z problemów uwierzytelniania opartego na hasłach jest to, że wymaga wiedzy i staranności, aby stworzyć i zapamiętać silne hasła. Hasła wymagają ochrony przed wieloma zagrożeniami wewnętrznymi, takimi jak niedbale przechowywane karteczki samoprzylepne z danymi logowania, stare dyski twarde i exploity socjotechniczne. Hasła są również ofiarą zagrożeń zewnętrznych, takich jak hakerzy wykorzystujący ataki typu brute-force, słownikowe lub tęczowe.
Dostatecznie dużo czasu i środków, napastnik może zazwyczaj złamać systemy zabezpieczeń oparte na hasłach i ukraść dane korporacyjne, w tym informacje osobiste użytkowników. Hasła pozostają najbardziej rozpowszechnioną formą SFA ze względu na niski koszt, łatwość wdrożenia i znajomość. Pytania wielokrotne typu challenge-response mogą zapewnić większe bezpieczeństwo, w zależności od sposobu ich wdrożenia, a samodzielne metody weryfikacji biometrycznej mogą również zapewnić bezpieczniejszą metodę SFA.
Typy produktów uwierzytelniania dwuskładnikowego
Istnieje wiele różnych urządzeń i usług do wdrażania 2FA — od tokenów do kart identyfikacji radiowej (RFID) do aplikacji na smartfony.
Produkty uwierzytelniania dwuskładnikowego można podzielić na dwie kategorie: tokeny, które są przekazywane użytkownikom do wykorzystania podczas logowania oraz infrastruktura lub oprogramowanie, które rozpoznaje i uwierzytelnia dostęp dla użytkowników, którzy prawidłowo używają swoich tokenów.
Tokeny uwierzytelniające mogą być urządzeniami fizycznymi, takimi jak breloczki lub karty inteligentne, lub mogą istnieć w oprogramowaniu jako aplikacje mobilne lub desktopowe, które generują kody PIN do uwierzytelniania. Te kody uwierzytelniające, znane również jako hasła jednorazowe (OTP), są zwykle generowane przez serwer i mogą być rozpoznane jako autentyczne przez urządzenie uwierzytelniające lub aplikację. Kod uwierzytelniający jest krótką sekwencją powiązaną z konkretnym urządzeniem, użytkownikiem lub kontem i może być użyty raz jako część procesu uwierzytelniania.
Organizacje muszą wdrożyć system do akceptowania, przetwarzania i zezwalania — lub odmawiania — dostępu użytkownikom uwierzytelniającym się za pomocą swoich tokenów. Może to być wdrożone w formie oprogramowania serwera, dedykowanego serwera sprzętowego lub dostarczane jako usługa przez dostawcę zewnętrznego.
Ważnym aspektem 2FA jest zapewnienie, że uwierzytelniony użytkownik otrzymuje dostęp do wszystkich zasobów, do których użytkownik jest zatwierdzony — i tylko tych zasobów. W rezultacie, jedną z kluczowych funkcji 2FA jest powiązanie systemu uwierzytelniania z danymi uwierzytelniania organizacji. Microsoft zapewnia pewną infrastrukturę niezbędną dla organizacji do obsługi 2FA w Windows 10 poprzez Windows Hello, które może działać z kontami Microsoft, jak również uwierzytelnianie użytkowników poprzez Microsoft Active Directory, Azure AD lub Fast IDentity Online (FIDO 2.0).
Jak działają tokeny sprzętowe 2FA
Dostępne są tokeny sprzętowe dla 2FA obsługujące różne podejścia do uwierzytelniania. Jednym z popularnych tokenów sprzętowych jest YubiKey, małe urządzenie USB (Universal Serial Bus), które obsługuje OTP, szyfrowanie i uwierzytelnianie kluczem publicznym oraz protokół Universal 2nd Factor (U2F) opracowany przez FIDO Alliance. Tokeny YubiKey są sprzedawane przez firmę Yubico Inc. z siedzibą w Palo Alto, Calif.
Gdy użytkownicy z kluczem YubiKey logują się do usługi online, która obsługuje OTP – takiej jak Gmail, GitHub lub WordPress – wkładają swój klucz YubiKey do portu USB urządzenia, wprowadzają swoje hasło, klikają w polu klucza YubiKey i dotykają przycisku klucza YubiKey. Klucz YubiKey generuje OTP i wprowadza go do pola.
OTP to 44-znakowe, jednorazowe hasło; pierwsze 12 znaków to unikalny identyfikator, który identyfikuje klucz bezpieczeństwa zarejestrowany na koncie. Pozostałe 32 znaki zawierają informacje, które są szyfrowane przy użyciu klucza znanego tylko urządzeniu i serwerom Yubico, ustalonego podczas początkowej rejestracji konta.
OTP jest wysyłany z usługi online do Yubico w celu sprawdzenia uwierzytelnienia. Po zatwierdzeniu OTP, serwer uwierzytelniania Yubico odsyła wiadomość potwierdzającą, że jest to właściwy token dla tego użytkownika. Uwierzytelnianie 2FA jest zakończone. Użytkownik dostarczył dwa czynniki uwierzytelnienia: Hasło jest czynnikiem wiedzy, a klucz YubiKey jest czynnikiem posiadania.
Uwierzytelnianie dwuczynnikowe dla uwierzytelniania za pomocą urządzeń mobilnych
Smartfony oferują wiele możliwości uwierzytelniania 2FA, umożliwiając firmom wykorzystanie tego, co działa dla nich najlepiej. Niektóre urządzenia są zdolne do rozpoznawania odcisków palców, wbudowana kamera może być użyta do rozpoznawania twarzy lub skanowania tęczówki, a mikrofon może być użyty do rozpoznawania głosu. Smartfony wyposażone w GPS mogą weryfikować lokalizację jako dodatkowy czynnik. Jako kanał uwierzytelniania pozapasmowego można również wykorzystać komunikaty głosowe lub krótką wiadomość tekstową (SMS).
Zaufany numer telefonu może być wykorzystywany do otrzymywania kodów weryfikacyjnych za pomocą wiadomości tekstowej lub automatycznego połączenia telefonicznego. Użytkownik musi zweryfikować co najmniej jeden zaufany numer telefonu, aby zapisać się do 2FA.
Apple iOS, Google Android i Windows 10 wszystkie mają aplikacje, które obsługują 2FA, umożliwiając sam telefon służyć jako fizyczne urządzenie do spełnienia czynnika posiadania. Duo Security, z siedzibą w Ann Arbor, Mich. i zakupiony przez Cisco w 2018 roku za 2,35 miliarda dolarów, jest dostawcą platformy 2FA, którego produkt umożliwia klientom korzystanie z ich zaufanych urządzeń do 2FA. Platforma Duo najpierw ustala, że użytkownik jest zaufany, zanim zweryfikuje, że urządzenie mobilne może być również zaufane do uwierzytelniania użytkownika.
Aplikacje uwierzytelniające zastępują potrzebę uzyskania kodu weryfikacyjnego za pośrednictwem tekstu, połączenia głosowego lub wiadomości e-mail. Na przykład, aby uzyskać dostęp do witryny lub usługi opartej na sieci Web, która obsługuje Google Authenticator, użytkownicy wpisują swoją nazwę użytkownika i hasło – czynnik wiedzy. Następnie użytkownicy są proszeni o wprowadzenie sześciocyfrowego numeru. Zamiast czekać kilka sekund na otrzymanie wiadomości tekstowej, Authenticator generuje dla nich ten numer. Numery te zmieniają się co 30 sekund i są inne przy każdym logowaniu. Wprowadzając poprawny numer, użytkownicy kończą proces weryfikacji i udowadniają posiadanie właściwego urządzenia – czynnik własności.
Te i inne produkty 2FA oferują informacje na temat minimalnych wymagań systemowych niezbędnych do wdrożenia 2FA.
Czy uwierzytelnianie dwuskładnikowe jest bezpieczne?
Choć uwierzytelnianie dwuskładnikowe poprawia bezpieczeństwo — ponieważ prawo dostępu nie zależy już wyłącznie od siły hasła — schematy uwierzytelniania dwuskładnikowego są tylko tak bezpieczne, jak ich najsłabszy komponent. Na przykład, tokeny sprzętowe zależą od bezpieczeństwa emitenta lub producenta. Jeden z najgłośniejszych przypadków naruszenia systemu dwuskładnikowego miał miejsce w 2011 r., kiedy firma RSA Security poinformowała, że jej tokeny uwierzytelniające SecurID zostały zhakowane.
Sam proces odzyskiwania konta może również zostać przechwycony, gdy jest wykorzystywany do pokonania dwuskładnikowego uwierzytelniania, ponieważ często resetuje on bieżące hasło użytkownika i wysyła pocztą elektroniczną hasło tymczasowe, aby umożliwić użytkownikowi ponowne zalogowanie się, omijając proces 2FA. W ten sposób włamano się na biznesowe konta Gmail dyrektora naczelnego Cloudflare.
Ale chociaż 2FA oparte na SMS-ach jest niedrogie, łatwe do wdrożenia i uważane za przyjazne dla użytkownika, jest podatne na liczne ataki. Narodowy Instytut Standardów i Technologii (NIST) odradza stosowanie SMS-ów w usługach 2FA w swojej publikacji specjalnej 800-63-3: Digital Identity Guidelines. NIST doszedł do wniosku, że OTP wysyłane za pośrednictwem SMS są zbyt podatne na ataki na przenośność numerów telefonów komórkowych, takie jak włamanie do Signaling System 7, wymierzone w sieć telefonii komórkowej oraz złośliwe oprogramowanie, takie jak Eurograbber, które może być wykorzystywane do przechwytywania lub przekierowywania wiadomości tekstowych.
Wyższe poziomy uwierzytelniania
Większość ataków pochodzi ze zdalnych połączeń internetowych, więc 2FA czyni te ataki mniej groźnymi. Uzyskanie haseł nie jest wystarczające do uzyskania dostępu i jest mało prawdopodobne, aby atakujący był również w stanie uzyskać drugi czynnik uwierzytelniania związany z kontem użytkownika.
Jednakże, atakujący czasami łamią czynnik uwierzytelniania w świecie fizycznym. Na przykład, uporczywe przeszukiwanie obiektów docelowych może przynieść identyfikator i hasło pracownika w koszu lub w niedbale porzuconych urządzeniach pamięci masowej zawierających bazy danych haseł. Jeśli jednak do uwierzytelnienia wymagane są dodatkowe czynniki, atakujący napotkałby co najmniej jedną dodatkową przeszkodę. Ponieważ czynniki są niezależne, kompromitacja jednego z nich nie powinna prowadzić do kompromitacji innych.
To dlatego niektóre środowiska o wysokim poziomie bezpieczeństwa wymagają bardziej wymagającej formy MFA, takiej jak uwierzytelnianie trójczynnikowe (3FA), które zazwyczaj obejmuje posiadanie fizycznego tokena i hasła używanego w połączeniu z danymi biometrycznymi, takimi jak skany odcisków palców lub odciski głosu. Czynniki takie jak geolokalizacja, typ urządzenia i pora dnia są również wykorzystywane do określenia, czy użytkownik powinien zostać uwierzytelniony czy zablokowany. Dodatkowo, behawioralne identyfikatory biometryczne, takie jak długość naciśnięcia klawisza przez użytkownika, szybkość pisania na klawiaturze i ruchy myszy, mogą być dyskretnie monitorowane w czasie rzeczywistym w celu zapewnienia ciągłego uwierzytelniania zamiast jednorazowego sprawdzania autentyczności podczas logowania.
Powiadomienia push dla 2FA
Powiadomienie push to bezhasłowe uwierzytelnianie, które weryfikuje użytkownika poprzez wysłanie powiadomienia bezpośrednio do bezpiecznej aplikacji na urządzeniu użytkownika, powiadamiając użytkownika, że ma miejsce próba uwierzytelnienia. Użytkownik może wyświetlić szczegóły próby uwierzytelnienia i zatwierdzić lub odmówić dostępu – zazwyczaj za pomocą jednego dotknięcia. Jeśli użytkownik zatwierdzi żądanie uwierzytelnienia, serwer odbiera to żądanie i loguje użytkownika do aplikacji internetowej.
Powiadomienia push uwierzytelniają użytkownika, potwierdzając, że urządzenie zarejestrowane w systemie uwierzytelniania — zwykle urządzenie mobilne — jest w posiadaniu użytkownika. Jeśli atakujący skompromituje urządzenie, skompromitowane zostaną również powiadomienia push. Powiadomienia push eliminują możliwości ataków typu man-in-the-middle (MitM), nieautoryzowanego dostępu oraz ataków phishingowych i socjotechnicznych.
Pomimo że powiadomienia push są bezpieczniejsze niż inne formy metod uwierzytelniania, nadal istnieją zagrożenia bezpieczeństwa. Na przykład, użytkownicy mogą przypadkowo zatwierdzić fałszywe żądanie uwierzytelnienia, ponieważ są przyzwyczajeni do zatwierdzania, gdy otrzymują powiadomienia push.
Przyszłość uwierzytelniania
Poleganie na hasłach jako głównej metodzie uwierzytelniania nie zapewnia już bezpieczeństwa ani doświadczenia użytkownika (UX), którego wymagają użytkownicy. I chociaż starsze narzędzia bezpieczeństwa, takie jak menedżer haseł i MFA, próbują radzić sobie z problemami związanymi z nazwami użytkowników i hasłami, zależą one od zasadniczo przestarzałej architektury: bazy danych haseł.
W związku z tym organizacje, które chcą poprawić bezpieczeństwo w przyszłości, badają wykorzystanie technologii uwierzytelniania bezhasłowego w celu poprawy UX.
Uwierzytelnianie bezhasłowe pozwala użytkownikom bezpiecznie uwierzytelniać się w swoich aplikacjach, bez konieczności wprowadzania haseł. W biznesie oznacza to, że pracownicy mogą uzyskać dostęp do swojej pracy bez konieczności wpisywania haseł — a dział IT nadal zachowuje całkowitą kontrolę nad każdym logowaniem.
Biometria i bezpieczne protokoły to kilka przykładów technologii uwierzytelniania bezhasłowego.
Użycie biometrii jako metody uwierzytelniania bezhasłowego na poziomie użytkownika, aplikacji i urządzenia może lepiej zapewnić firmy, że pracownicy logujący się do systemów są tymi, za których się podają.
Protokoły to kolejny przykład technologii uwierzytelniania bezhasłowego. Protokoły są standardami, które mają na celu ułatwienie komunikacji pomiędzy dostawcą tożsamości a dostawcą usług. Pracownik, który jest uwierzytelniony u dostawcy tożsamości, jest również uwierzytelniany u przypisanych mu dostawców usług, bez konieczności wpisywania hasła.
Bezhasłowe uwierzytelnianie przynosi korzyści organizacjom, ponieważ wyeliminowanie hasła skutkuje lepszym UX dla ich pracowników. Bezhasłowe uwierzytelnianie wprowadza nowe sposoby dla pracowników, aby łatwo i bezpiecznie zalogować się do swojej pracy bez konieczności polegania na hasłach. Eliminuje to potrzebę odzyskiwania kont, prośby o resetowanie haseł i ręczny proces rotacji haseł.
.