Uwierzytelnianie dwuskładnikowe
Samo hasło to jeden z czynników — „coś, co znasz”. Osoba atakująca, która kradnie lub zgaduje, jest właścicielem konta. Uwierzytelnianie dwuskładnikowe dodaje drugi, niezależny czynnik — „coś, co masz” lub „coś, czym jesteś” — który sprawia, że to samo skradzione hasło staje się bezużyteczne. Najtrudniejszą częścią nie jest to, czy użyć 2FA. Ważne jest, jakiej metody użyć, ponieważ metody nie są równie silne.
Poniżej znajduje się pełna treść artykułu w języku angielskim.
Tuwierzytelnianie dwuskładnikowe (2FA) lub uwierzytelnianie wieloskładnikowe (MFA) wymaga do zalogowania dodatkowych danych uwierzytelniających poza hasłem. Kategorie czynników to:
- Coś, co wiesz — hasło, PIN, bezpieczeństwo pytanie
- Coś, co masz — telefon, token sprzętowy, karta inteligentna
- Coś, czym jesteś — odcisk palca, twarz, siatkówka, głos
Tdwa czynniki z różne kategorie to standard. Hasło i pytanie zabezpieczające nie są prawdziwymi 2FA — oba są „czymś, co wiesz”.
Ranking współczynników
Od najsłabszego do najsilniejszego:
- SMS — oryginalne mainstreamowe 2FA. Podatny na wymianę karty SIM (osoba atakująca przekonuje operatora do przeniesienia numeru) i przechwycenie poprzez słabości SS7. To wciąż lepsze niż brak 2FA, ale najsłabsza i wciąż powszechnie stosowana opcja.
- Kody dostarczane e-mailem — tylko tak silne, jak samo konto e-mail, które często ma słabsze 2FA. Dopuszczalna jako ostatnia metoda odzyskiwania, a nie główny czynnik.
- TOTP (hasło jednorazowe oparte na czasie) — kody generowane przez aplikację uwierzytelniającą (Aegis, Authy, Google Authenticator, 1Password) co 30 sekund na podstawie wspólnego hasła. Wyłudzanie informacji, ponieważ osoba atakująca w czasie rzeczywistym, która nakłoni Cię do wprowadzenia kodu do fałszywej witryny, może go odtworzyć.
- Powiadomienia push — „zatwierdzić ten login?” powiadomienia na zaufanym urządzeniu. Wygodny, ale podatny na „zmęczenie MFA”, gdy napastnicy spamują zatwierdzenia, dopóki użytkownik nie kliknie „tak”.
- Sprzętowe klucze bezpieczeństwa (FIDO2/WebAuthn) — fizyczne tokeny USB/NFC, takie jak YubiKey, Solo, Google Titan. Klucz oznacza wyzwanie ze strony witryny, kryptograficznie wiążąc odpowiedź z pochodzeniem witryny, co oznacza, że wyłudzanie informacji jest niemożliwe, ponieważ fałszywa witryna nie może wyzwolić prawidłowego podpisu. To złoty standard.
Jak faktycznie działa TOTP
Po rejestracji na stronie wyświetlany jest kod QR zawierający wspólny 160-bitowy sekret. Twoja aplikacja uwierzytelniająca przechowuje go. Aby wygenerować kod, aplikacja:
- Tpodziela bieżący czas Uniksa przez 30 (daje licznik, który zwiększa się co 30 sekund).
- HMAC-SHA1 ze wspólnym sekretem przez licznik.
- Wyodrębnia 6 cyfr z wyjścia HMAC (dynamiczne obcięcie).
Serwer niezależnie oblicza tę samą wartość i akceptuje kod, jeśli jest zgodny. Protokół jest zdefiniowany w RFC 6238; jest symetryczny, w pełni offline i działa na każdej aplikacji uwierzytelniającej.
Dlaczego klucze sprzętowe są różne
FIDO2/WebAuthn wiąże uwierzytelnianie z pochodzeniem witryny internetowej w samym protokole. Klucz sprzętowy nigdy nie ujawnia swojego klucza prywatnego; potwierdza jedynie posiadanie, podpisując wyzwanie obejmujące domenę witryny. Jeśli witryna phishingowa pod adresem evil.com poprosi o podpis YubiKey, klucz stanowi wyzwanie dla evil.com — czego witryna prawdziwego banku nie zaakceptuje. Dzięki TOTP użytkownik może wpisać swój 6-cyfrowy kod na stronie evil.com, która w czasie rzeczywistym prześle go do prawdziwego banku. Klucze sprzętowe zamykają tę dziurę.
Kody odzyskiwania
Każde konto chronione 2FA powinno mieć wydrukowane i fizycznie zapisane kody odzyskiwania kopii zapasowych — w sejfie, z ważnymi dokumentami, gdziekolwiek z wyjątkiem tego samego urządzenia, na którym przechowywany jest drugi czynnik. Utrata drugiego czynnika bez kodów odzyskiwania powoduje trwałe zablokowanie dostępu do większości usług. Proces odzyskiwania jest różny: niektóre usługi akceptują weryfikację tożsamości przez pomoc techniczną, ale panuje tendencja do twardych blokad kont bez kodów odzyskiwania.
Klucze: 2FA za jednym dotknięciem
Klucze dostępu (dane uwierzytelniające FIDO2 przechowywane w pęku kluczy systemu operacyjnego lub w menedżerze haseł) zwijają hasło + drugi czynnik w pojedynczej kontroli biometrycznej lub PIN-u na urządzeniu, które przeszło już uwierzytelnianie na poziomie urządzenia. Są odporne na phishing z tego samego powodu, co klucze sprzętowe, i są synchronizowane za pomocą pęku kluczy iCloud, Menedżera haseł Google, 1Password itp. Średnioterminowy kierunek polega na zastąpieniu hasła + 2FA kluczami do nowych witryn, przy jednoczesnym zachowaniu hasła i klucza sprzętowego w przypadku starszych witryn.
Gdzie 2FA ma największe znaczenie
Konta o dużej wartości, które wymagają silnego 2FA: podstawowa poczta e-mail (wektor odzyskiwania do wszystkiego innego), menedżer haseł, bank, rejestrator domen, konta w chmurze (AWS/GCP/Azure) i repozytoria kodu (GitHub/GitLab). W tym przypadku klucz sprzętowy — najlepiej dwa na potrzeby kopii zapasowej — jest odpowiednią inwestycją. W pozostałych przypadkach praktycznym rozwiązaniem domyślnym jest TOTP za pośrednictwem aplikacji uwierzytelniającej.
Często zadawane pytania
- Czy warto korzystać z SMS 2FA?
- Tak, jeśli nie zaoferowano lepszej opcji. SMS 2FA jest zdecydowanie lepszy niż brak 2FA — zatrzymuje większość ataków polegających na upychaniu danych uwierzytelniających. Ale w przypadku każdego konta, na którym możesz zamiast tego użyć TOTP lub klucza sprzętowego, zrób to. Ataki typu SIM swap na konta chronione SMS-ami doprowadziły do realnych strat, szczególnie w przypadku kryptowalut i prestiżowych kont społecznościowych.
- Której aplikacji uwierzytelniającej powinienem używać?
- Aegis (open source, Android) i Raivo (open source, iOS) to czysty wybór. 1Password i Bitwarden mogą przechowywać sekrety TOTP wraz z hasłami. Unikaj aplikacji Google Authenticator, jeśli nie masz kopii zapasowej — do niedawna nie synchronizował się, a wielu użytkowników utraciło konta po utracie telefonu. Authy synchronizuje się, ale w 2024 r. doszło do naruszenia bazy danych kontaktów.
- Czy klucze sprzętowe są warte swojej ceny?
- W przypadku kont o dużej wartości tak. Para kluczy YubiKeys (jeden podstawowy, jeden zapasowy w sejfie) kosztuje łącznie około 90 dolarów i stanowi inwestycję w bezpieczeństwo o najwyższej dźwigni, jakiej większość ludzi kiedykolwiek dokona. Każde konto, które można skonfigurować tak, aby wymagało klucza sprzętowego – a wiele kont krytycznych – powinno tak być.
- Czy 2FA można ominąć?
- Powiadomienia TOTP i push można ominąć poprzez phishing w czasie rzeczywistym (atakujący przekazuje login do prawdziwej witryny). Klucze sprzętowe (FIDO2) nie mogą, ponieważ powiązanie pochodzenia powoduje, że podpis jest specyficzny dla witryny. Przepływy odzyskiwania konta również osłabiają 2FA — jeśli możesz zresetować 2FA za pomocą SMS-a, SMS staje się powierzchnią ataku.
- Dlaczego niektóre witryny obsługują tylko SMS 2FA?
- Koszt wdrożenia i dostępność. SMS działa na każdym telefonie bez instalacji aplikacji; TOTP/FIDO wymaga jednorazowej konfiguracji, która dla niektórych użytkowników jest myląca. Główne banki powoli wdrażają FIDO; usługi chmurowe i technologiczne przyjęły to wiele lat temu. Dobra wiadomość: każda witryna, która ma największe znaczenie dla Twojego bezpieczeństwa, obsługuje co najmniej TOTP, a większość obsługuje klucze sprzętowe.