Uwierzytelnianie dwuskładnikowe (2FA): czym jest i dlaczego warto je wdrożyć
Hasła zawodzą nieustannie – i rzadko dlatego, że są za krótkie. Zawodzą, bo ludzie używają tego samego hasła w dziesiątkach serwisów, bo dają się nabrać na przekonująco podrobioną stronę logowania albo bo hasło wycieka przy włamaniu do zupełnie innej, niezwiązanej usługi. Uwierzytelnianie dwuskładnikowe powstało właśnie po to, żeby samo skradzione hasło było dla atakującego bezużyteczne.
Podstawowa idea
Uwierzytelnianie dwuskładnikowe (2FA) wymaga potwierdzenia tożsamości dwoma różnymi rodzajami dowodów zamiast jednym. W bezpieczeństwie mówi się zwykle o trzech możliwych składnikach: czymś, co wiecie (hasło), czymś, co macie (telefon, klucz sprzętowy), i czymś, czym jesteście (odcisk palca, twarz). Samo hasło to tylko jeden składnik. 2FA dodaje drugi, z innej kategorii – więc atakujący, który ukradnie hasło, i tak nie wejdzie na konto, bo nie ma jeszcze waszego telefonu.
Najpopularniejsze formy 2FA i ich porównanie
- Kody SMS. Jednorazowy kod wysyłany SMS-em na telefon. Proste w użyciu i dużo lepsze niż nic, ale to najsłabsza z popularnych opcji – podatna na ataki typu SIM swapping, w których atakujący namawia operatora, by przeniósł wasz numer na kontrolowane przez niego urządzenie.
- Aplikacje uwierzytelniające. Aplikacje, które co 30 sekund generują nowy sześciocyfrowy kod na podstawie wspólnego sekretu ustalonego raz między kontem a aplikacją. Wyraźnie bezpieczniejsze niż SMS, bo w całym procesie nie ma operatora, którego można by oszukać – i to dziś najczęściej zalecane minimum.
- Powiadomienia push. Aplikacja zamiast kodu do przepisania wyświetla prośbę o zatwierdzenie w stylu „Czy to ty?”. Wygodne, choć wiąże się ze znanym ryzykiem tzw. zmęczenia powiadomieniami (prompt fatigue) – atakujący ponawiają próby logowania w nadziei, że zmęczony użytkownik w końcu odruchowo którąś zatwierdzi.
- Sprzętowe klucze bezpieczeństwa. Fizyczne urządzenie, które podłącza się do komputera lub przykłada do telefonu. Najsilniejsza z powszechnie dostępnych opcji, praktycznie odporna na phishing, bo klucz – zanim w ogóle odpowie – sprawdza, czy komunikuje się z prawdziwą stroną. Fałszywa strona logowania po prostu nie jest w stanie dokończyć tej wymiany.
Przed czym 2FA naprawdę chroni
Scenariusz, z myślą o którym powstało 2FA, jest w praktyce niezwykle częsty: hasło użytkownika wycieka gdzieś zupełnie poza waszym produktem – przy włamaniu do innej firmy, przez e-mail phishingowy, przez złośliwe oprogramowanie na jego komputerze – a to samo hasło jest używane także na waszej platformie. Bez 2FA oznacza to natychmiastowe przejęcie konta w chwili, gdy atakujący spróbuje się zalogować. Z 2FA samo skradzione hasło nie wystarcza i próba przejęcia kończy się niepowodzeniem.
Jak wdrożyć 2FA, nie psując doświadczenia użytkownika
Najczęstszy zarzut wobec 2FA brzmi: dodaje tarcia. To uzasadniona obawa, jeśli wdrożenie jest kiepskie. Kilka praktycznych rozwiązań, dzięki którym 2FA pozostaje wygodne:
- Zapamiętujcie zaufane urządzenia. Gdy użytkownik zweryfikował już urządzenie, nie proście o drugi składnik przy każdym logowaniu z tego samego sprzętu – tylko wtedy, gdy coś się zmieni, na przykład pojawi się nowe urządzenie lub nowa lokalizacja.
- Wymagajcie 2FA przy operacjach wrażliwych, a w pozostałych przypadkach zostawcie je jako opcję (ale mocno zachęcajcie). Niektóre produkty wymagają 2FA tylko dla kont administratorów lub przy operacjach wysokiego ryzyka, takich jak zmiana hasła czy danych płatniczych, a wszystkim innym udostępniają je opcjonalnie. To rozsądny kompromis w przypadku mniej ryzykownych produktów konsumenckich.
- Zapewnijcie realną ścieżkę awaryjną. Kody zapasowe generowane podczas konfiguracji sprawiają, że użytkownik, który zgubi telefon, nie traci na zawsze dostępu do własnego konta. Utrata dostępu do 2FA bez możliwości odzyskania konta to spore obciążenie dla supportu – a jednocześnie realne ryzyko, jeśli sam proces odzyskiwania jest zbyt łatwy do nadużycia przez atakującego.
Kto naprawdę tego potrzebuje
Jeśli wasza aplikacja przechowuje cokolwiek, czego utrata zmartwiłaby użytkownika – dane osobowe, dane płatnicze, dokumentację firmową – 2FA nie jest już miłym dodatkiem. To niemal podstawowe oczekiwanie i coraz częściej coś, o co klienci korporacyjni pytają wprost przed podpisaniem umowy, zwłaszcza gdy w rozmowie pojawiają się wymogi zgodności, takie jak SOC 2.
Poprawne wdrożenie 2FA – z odpowiednimi metodami dla waszych użytkowników, rozsądnymi ustawieniami domyślnymi i ścieżką odzyskiwania, która jest wygodna, ale sama nie staje się luką w zabezpieczeniach – to standardowy element wzmacniania uwierzytelniania, które Burncode realizuje w ramach szerszego przeglądu bezpieczeństwa aplikacji.