Przejdź do treści

Uwierzytelnianie dwuskładnikowe (2FA)

Cel artykułu

Wdrożenie drugiej warstwy ochrony dla kluczowych kont. Dokument wyjaśnia różnicę między metodami 2FA, wskazuje które rozwiązania są bezpieczne, a które stanowią iluzję ochrony, oraz definiuje procedurę zabezpieczenia głównej skrzynki pocztowej jako centrum całej cyfrowej tożsamości.

Menedżer haseł eliminuje ryzyko ponownego użycia poświadczeń, ale nie chroni przed najprostszym scenariuszem: hasło zostało przechwycone. Może to nastąpić przez phishing, wyciek z serwera, podsłuchiwanie w niezabezpieczonej sieci albo po prostu przez to, że ktoś stanął za Twoimi plecami i zapamiętał, co wpisałeś.

Bezpieczne hasło to tylko jedna warstwa. Drugą warstwę stanowi coś, co masz przy sobie i czego nie da się zgadnąć ani skopiować.

Trzy metody, trzy poziomy bezpieczeństwa

Nie każda metoda 2FA jest równa. Wybór między nimi determinuje, jak realnie chronisz swoje konto.

SMS-owe kody jednorazowe (najsłabsza)

Kod przychodzi jako zwykły SMS na numer telefonu. Metoda jest powszechna, bo wygodna, ale architektonicznie słaba.

Dlaczego SMS to iluzja ochrony

Kody SMS można przechwycić na kilka sposobów:

  • SIM swapping: napastnik przenosi Twój numer na własną kartę SIM, podszywając się pod Ciebie u operatora.
  • SS7 exploits: luki w protokole SS7 pozwalają na przechwycenie SMS-a bez fizycznego dostępu do karty.
  • Ataki na operatora: wyciek z systemu operatora może ujawnić kody jednorazowe.

Z tych powodów SMS jest lepszy niż brak 2FA, ale nie powinien być używany do ochrony kont krytycznych. Jeśli usługa oferuje tylko SMS, warto rozważyć jej wymianę albo przynajmniej nie wiązać z nią krytycznych danych.

Aplikacje TOTP (rekomendowane)

TOTP (Time-based One-Time Password) to standard, w którym aplikacja generuje kod na podstawie wspólnego klucza i aktualnego czasu. Kod zmienia się co 30 sekund i nie jest przesyłany przez sieć, więc nie da się go przechwycić.

To jest domyślny wybór dla zdecydowanej większości usług.

Klucze sprzętowe FIDO2 (najsilniejsza)

Klucz fizyczny (np. YubiKey) to urządzenie USB/NFC, które kryptograficznie potwierdza Twoją tożsamość. Metoda jest odporna na phishing, bo klucz weryfikuje domenę, do której się logujesz.

FIDO2 jest zalecany, jeśli chcesz chronić konta o najwyższej wartości (główna skrzynka, menedżer haseł, bank), jesteś celem ataków ukierunkowanych (dziennikarz, aktywista, osoba publiczna) lub chcesz mieć metodę, która nie wymaga pamiętania niczego ani noszenia telefonu. Dla większości użytkowników TOTP w dedykowanej aplikacji jest jednak wystarczające. FIDO2 to dodatkowa warstwa, nie zamiennik.

Wybór aplikacji TOTP

Aplikacja do generowania kodów TOTP to jedno z najbardziej wrażliwych narzędzi w Twoim telefonie. Zawiera klucze do wszystkich kont, więc musi być bezpieczna i niezależna od reszty ekosystemu.

Rekomendowane aplikacje FOSS:

  • Aegis Authenticator (Android) — otwartoźródłowa, z eksportem zaszyfrowanej bazy, wsparciem dla wielu profili i sortowaniem.
  • Ente Auth — otwartoźródłowa, z opcjonalną synchronizacją E2EE między urządzeniami.
  • 2FAS — otwartoźródłowa, prostsza w obsłudze, dobra dla początkujących.

Aplikacje typu Google Authenticator, Microsoft Authenticator czy Authy mają jedną wspólną wadę: są tworzone przez firmy, których model biznesowy opiera się na zbieraniu danych. Wybieraj aplikacje niezależne, które nie wymagają konta i nie mają dostępu do sieci, jeśli nie muszą.

Kolejność wdrażania

Nie zabezpieczaj wszystkiego naraz. Zacznij od kont, których utrata oznacza katastrofę.

  1. Główna skrzynka pocztowa — najważniejsze konto w całym systemie. To na nią przychodzą linki resetujące hasła do wszystkich innych usług. Jeśli ktoś przejmie Twoją skrzynkę, może przejąć wszystko inne.
  2. Usługi finansowe — bank, broker, karty płatnicze.
  3. Tożsamość cyfrowa — Profil Zaufany, konta w usługach państwowych.
  4. Menedżer haseł — jeśli korzystasz z modelu chmurowego (np. Bitwarden), zabezpiecz go 2FA jako priorytet.
  5. Pozostałe konta — komunikatory, portale społecznościowe, sklepy z zapisaną kartą.

Separacja kodów TOTP od menedżera haseł

To jeden z najczęściej popełnianych błędów.

Nie trzymaj haseł i kodów 2FA w jednym miejscu

Jeśli przechowujesz hasła i kody TOTP w tym samym menedżerze, to w momencie jego kompromitacji oddajesz napastnikowi oba klucze do swoich kont. To całkowicie łamie sens uwierzytelniania dwuskładnikowego, które ma wymagać dwóch niezależnych czynników.

Zasada jest prosta: hasła w jednej aplikacji, kody TOTP w innej. Obie aplikacje powinny być zabezpieczone osobnymi mechanizmami.

Kody zapasowe (Backup Codes)

Przy konfiguracji 2FA każda usługa wygeneruje zestaw jednorazowych kodów zapasowych. To Twoja ostatnia linia obrony, jeśli zgubisz telefon lub klucz sprzętowy.

Kody zapasowe są wyświetlane tylko raz, podczas konfiguracji. Jeśli ich nie zapiszesz, a później stracisz dostęp do aplikacji TOTP, odzyskanie konta może być niemożliwe lub bardzo utrudnione.

Zapisz je w sposób trwały:

  • Wydrukuj i schowaj w fizycznie bezpiecznym miejscu (sejf, skrytka bankowa). To najprostsza i najskuteczniejsza metoda.
  • Zapisz w oddzielnym menedżerze haseł, który nie jest tym samym, w którym trzymasz główne hasła.
  • Nigdy nie zapisuj ich w notatkach systemowych, w chmurze czy w wiadomości e-mail do samego siebie.

Ciągłość działania (Disaster Recovery)

Utrata dostępu do aplikacji TOTP to scenariusz, który zdarza się częściej, niż się wydaje. Rozbita klawiatura, kradzież telefonu, przypadkowe usunięcie aplikacji. W każdym z tych przypadków musisz mieć plan B.

Aplikacje takie jak Aegis czy Ente Auth pozwalają na eksport zaszyfrowanej kopii bazy z wszystkimi tokenami. Wykonaj eksport teraz, zanim będzie potrzebny:

  1. Otwórz ustawienia aplikacji i znajdź opcję eksportu.
  2. Zabezpiecz eksportowaną bazę silnym hasłem.
  3. Zapisz plik na zaszyfrowanym nośniku offline (pendrive, karta SD) i schowaj razem z kodami zapasowymi.
  4. Powtarzaj eksport po każdej zmianie kluczowych kont.

Uwaga na pułapkę: jeśli wrzucisz eksport bazy TOTP do chmury, która sama jest chroniona przez 2FA z tej samej bazy, to w scenariuszu utraty telefonu nie odzyskasz ani chmury, ani kodów. Kopia w chmurze może być uzupełnieniem, ale nigdy nie zastąpi kopii offline. Kod zapasowy do chmury trzymaj osobno, najlepiej razem z eksportem na tym samym nośniku fizycznym.

Bez tej kopii, w przypadku utraty telefonu, stracisz dostęp do wszystkich kont chronionych 2FA jednocześnie.