Co je to MFA?
Co je to MFA - Multifactor authentication (MFA/2FA)?
Přihlašování pomocí hesla je známé jako jeden faktor - jediné, co je potřeba k přihlášení znát/mít, je heslo. Tento způsob přihlašování je však považován za nedostatečný.

Přihlašování pomocí hesla je známé jako jeden faktor - jediné, co je potřeba k přihlášení znát/mít, je heslo. Tento způsob přihlašování je již považován za nedostatečný. Nejčastějším ohrožením uživatelských účtů jsou právě slabá, opakovaně používaná nebo ukradená hesla.
Pokud vyvíjíme nějakou aplikaci nebo implementujeme nový IS, měli bychom vyžadovat podporu multifaktorové přihlašování, abychom zajistili dostatečnou bezpečnost. V opačném případě můžeme předpokládat, že hesla uživatelů budou někdy prozrazena/ukradena.
Při MFA přihlašování je uživatel povinen zadat víc než jeden faktor, aby se mohl přihlásit.
Existují 4 typy faktorů:
- Co známe = heslo, PIN, bezpečnostní otázka.
- Co vlastníme = HW / SW token, certifikát, e-mail, SMS, volání.
- Kdo jsme = otisk prstů, sken rohovky, rozpoznávání obličeje.
- Kde jsme = poloha, rozsah zdrojových IP adres, geolokace.
Přidáním dalšího faktoru do procesu přihlášení ztěžujeme hackerovi získat identitu uživatele. MFA je nejlepší obranou proti útokům souvisejícím s hesly.
Kdy MFA vyžadovat?
Vyžadujte MFA nejen na webu, ale i při přihlašování přes API. Kromě přihlašování je potřeva vyžadovat MFA i při provádění citlivých operací a akcí jako je:
- změna hesla nebo bezpečnostních otázek,
- změna e-mailové adresy,
- zakázání MFA,
- přepnutí účtu z uživatelského do administrátorského,
- atd.
Jak na reset MFA?
Je nutné dávat si pozor na to, aby mechanismus pro reset hesla neumožňoval útočníkovi zmocnit se uživatelského účtu. Implementaci mechanismu vždy posuzujte podle kontextu aplikace!
Doporučení
- Poskytněte uživateli několik jednorázových kódů pro obnovení MFA při prvním nastavení.
- Požadujte, aby si uživatel nastavil více MFA (digitální certifikát + telefonní číslo).
- Umožněte zaslání jednorázového kódu pro obnovení.
- Požadujte, aby uživatel kontaktoval podporu a ověřil svou totožnost.
- Požadujte, aby se za uživatele zaručil jiný důvěryhodný uživatel.
FAQ
- Stačí k heslu přidat bezpečnostní otázky?
- Obecně ne. Heslo a bezpečnostní otázka je stejný faktor (něco, co známe) a bezpečnostní otázky jsou považovány za slabší než hesla. Odpovědi jsou často předvídatelné a snadno zjistitelné.
- Mám použít SMS kódy nebo implementovat aplikace jako je Google authenticator?
- Pokud to jde, SMS nepoužívejte, protože jde o nešifrovaný kanál. Podporujte v aplikaci TOTP (Time-based One Time Password), které vyžadují aplikace jako je Google authenticator. Z uživatelského hlediska je dobrá aplikace Authy, která má lepší zabezpečení a TOTP je šifrovaný.
- Co passwordless login?
- Obecně aplikace bez hesel je dobrá aplikace. Osobně se rád přihlašuju pomocí Facebooku, Googlu nebo jiných providerů. Přihlášení pomocí kliknutí na odkaz v e-mailu taky nemusí být špatná volba, vyžaduje to ale bezchybnou implementaci.
- Passwordless login ale nevylučuje přidání dalšího faktoru do přihlašovacího procesu. Záleží na tom, jak riziková vaše aplikace je. MFA je v dnešní době standard, nebo by aplikace měla alespoň nabízet možnost si MFA zapnout.
- Co když moji uživatelé neumí TOTP aplikace používat?
- Při zavádění bezpečnostních opatření děláme kompromis mezi bezpečnostní a použitelností aplikace. Zajistěte tedy tak bezpečné přihlášení, aby to zvládli vaši uživatelé. Nicméně berte v potaz riziko plynoucí z případného nežádoucího přístupu k dané aplikaci.