MFA

Uwierzytelnianie wieloskładnikowe łączące co najmniej dwa różne czynniki: coś, co wiesz (hasło), coś, co masz (token) lub czym jesteś (biometria).

MFA (Multi-Factor Authentication, czyli uwierzytelnianie wieloskładnikowe) to mechanizm logowania, który wymaga od Ciebie potwierdzenia tożsamości za pomocą co najmniej dwóch różnych czynników z trzech kategorii: czegoś, co wiesz (hasło, PIN), czegoś, co masz (telefon, klucz sprzętowy, token) oraz tego, czym jesteś (odcisk palca, skan twarzy). Kluczowe słowo to „różnych” — hasło plus drugie hasło to nadal jeden czynnik, a nie MFA. 2FA (Two-Factor Authentication) to po prostu szczególny przypadek MFA z dokładnie dwoma składnikami.

Po co to całe utrudnianie

Sens jest prosty: nawet jeśli ktoś wykradnie Twoje hasło — z wycieku bazy, phishingu albo dlatego, że używasz qwerty123 wszędzie — to bez drugiego składnika i tak nie wejdzie na konto. Atakujący musiałby jednocześnie znać Twoje hasło i mieć fizyczny dostęp do telefonu albo klucza. To dramatycznie podnosi poprzeczkę i zatrzymuje gros automatycznych ataków typu credential stuffing.

Najczęstsze drugie składniki to: kody TOTP z aplikacji (Google Authenticator, Authy), powiadomienia push, SMS z kodem oraz klucze sprzętowe w standardzie FIDO2/WebAuthn (np. YubiKey). Nie wszystkie są równie mocne — o tym za chwilę.

Jak to wygląda w praktyce

Klasyk to TOTP (Time-based One-Time Password). Serwer i Twoja aplikacja dzielą sekret, a co 30 sekund obie strony liczą z niego ten sam 6-cyfrowy kod na podstawie aktualnego czasu. W Pythonie możesz to zasymulować biblioteką pyotp:

  • import pyotp
  • totp = pyotp.TOTP("JBSWY3DPEHPK3PXP")
  • print(totp.now()) — wypluje aktualny kod

Dokładnie tak działa to, gdy skanujesz QR kod podczas włączania MFA na GitHubie czy w panelu AWS. QR koduje właśnie ten sekret.

Częste błędy i mity

SMS to najsłabszy składnik. Podatny na SIM swapping (przejęcie numeru) i przechwytywanie. NIST od lat odradza SMS jako jedyny drugi czynnik — działa, ale traktuj go jak ostatnią deskę ratunku, nie jak bezpieczny domyślny.

MFA to nie magiczna tarcza. Phishing potrafi wyłudzić kod TOTP w czasie rzeczywistym (atak typu real-time relay), a „MFA fatigue” polega na bombardowaniu Cię powiadomieniami push, aż klikniesz „akceptuj” ze zmęczenia. Najodporniejsze są klucze FIDO2/WebAuthn, bo są kryptograficznie związane z domeną i nie da się ich tak po prostu „przekazać” oszustowi.

Zapisz kody zapasowe. Gubienie telefonu bez backup codes to klasyczna droga do utraty dostępu do własnego konta.

Pojęcia powiązane

2FA, TOTP, FIDO2, WebAuthn, passkey, SSO, phishing, SIM swapping, biometria, klucz sprzętowy (YubiKey).