Mi az MFA és a 2FA?
Az „MFA” a multifactor authentication rövidítése, magyarul többfaktoros vagy többtényezős authentikáció. A „2FA” pedig a two-factor authentication rövidítése, magyarul kétfaktoros authentikáció.
De mi is az a „faktor”? Van egyáltalán lényegi különbség az MFA és 2FA között?
Az azonosításhoz, összesen három féle faktort különböztethetünk meg:
- valami amit tudsz, ismersz (pl. jelszó, PIN kód)
- valami amit birtokolsz (pl. telefon, USB-s hardver kulcs)
- valami amid van (pl. ujjlenyomat, arc, írisz)
Az egyfaktoros belépés / authentikáció azt jelenti, hogy a fentiek közül egy faktort használsz a belépéshez: ez jellemzően jelszót jelent vagy egyre többször biometrikus azonosítást (ujjlenyomat- vagy arcfelismerés). A kétfaktoros authentikáció azt jelenti, hogy két különböző tényező szükséges a sikeres hitelesítéshez, a multifaktoros authentikáció pedig azt, hogy legalább két faktor szükséges a belépéshez (igen, létezik három faktoros authentikáció is).
Tehát a fentiek alapján kijelenthető, hogy van különbség a két fogalom között, de felhasználói oldalról, a gyakorlatban tekinthetők szinonímának. És ha rákeresel az interneten, akkor láthatod is, hogy szokszor tényleg szinonímaként használják a két fogalmat: az egyik szolgáltató MFA-ról beszél, a másik 2FA-ról, de a végén a te szempontból, igazából ugyanaz lesz az eredmény.
Nem elég csak a jelszó?
Szerintem erre a kérdésre már tudod is választ, hiszen ha elég lenne, akkor most nem olvasnád ezt a cikket… 🙂
A jelszavakkal (és főleg a kezelésükkel) rengeteg probléma van, de a legnagyobb az, hogy a megfelelő biztonsághoz bonyolult jelszavak szükségesek (ideális esetben minden rendszerhez egyedi), amiket így nehéz megjegyezni. Az ember nem erre lett kitalálva, így a felhasználók nagy része gyenge és/vagy egyforma jelszavakat használ sok helyen, ha pedig rákényszerítik erős jelszavak használatára és időszakos megváltoztatására, akkor jó eséllyel felírja azokat valahova (kifejezetten rossz esetben a monitorára vagy a billentyűzete alá ragasztva), ezáltal pont a biztonságot aláásva.
Ezt a témát jobban is körbejártuk az egyik bejegyzésünkben, ha még nem olvasdtad, akkor itt megteheted:
A jelszavak problémáira egy remek megoldás lehet, ha bevezetünk melléjük még egy faktort a sikeres authentikáció érdekében. Ezzel módszerrel a hátrányok egy jó része kiküszöbölhető: a feltört / ellopott jelszavak sem jelentik automatikusan azt, hogy illetéktelenek bejutnak egy rendszerbe, illetve a felhasználók is egy kényelmesebb módszerrel találkoznak ahhoz képest, mintha folyamatosan egyre hosszabb és bonyolultabb jelszavakat követelnének meg a rendszerek tőlük.
Az MFA típusai
A fentiekben láttuk, hogy milyen faktorok vannak és eljutottunk oda is, hogy a jelszó mellé kell valami… Na de pontosan mi? Erre csak annyi a válasz, hogy a felsoroltak közül egy „valamilyen” másik faktor. 🙂 Ez már az adott faktortól függ, hogy pontosan hogy lehet és célszerű megvalósítani.
A következőkben a leggyakrabban használt megoldásokat vesszük sorra, megnézzük röviden hogyan működnek és mit érdemes tudni róluk.
SMS / e-mail kódok
Bátran lehet mondani, hogy ezek a legrégebbi módszerek, és hogy ezek valamelyikével már biztos találkozott mindenki. Maximum nem MFA megoldásként minden egyes belépéskor, hanem regisztrációkor, annak visszaigazolásaként hogy valódi e-mail címet és telefonszámot adtunk meg.
Nade, ha ez regisztrációkor megoldható, akkor belépéskor miért is nem? Ezzel el is jutottunk oda, hogy miért ez volt az első MFA megvalósítás, ami széles körben elterjedt: pofon egyszerű volt a bevezetése, hiszen a regisztrációkor már működő megoldást kellett kiterjeszteni a belépésekre is. Plusz, a felhasználók alapvetően ismerték már miként működik, nem kellett elmagyarázni, alkalmazásokat letölteni, stb… Emellett hagyományos „butamobilokkal” is tökéletesen használható.
De akkor miért nem állt itt meg a történet? Ha ennyire jó, akkor miért nem ebbe az irányba halad a világ? Hát azért, mert sajnos vannak vele gondok is:
- Bár nem egyszerű feladat, de az e-mail és az SMS is lehallgatható / eltéríthető az authentikáció folyamán. Tömegesen ez nem jelent problémát, de egy-egy célzott támadás során igen.
- Csak az e-mail cím vagy telefonszám érvényessége ellenőrizhető, de az hogy tényleg legitim személy próbál belépni, az nem. Magyarul, aki ismeri a jelszót és hozzáfér az e-mailhez / telefonszámhoz, az be tud lépni.
És itt rögtön meg is jelenik valós példaként, hogy miért nem jó azonos jelszavakat használni: ha ugyanaz a jelszavam a netbankomhoz mint az e-mail címemhez, akkor ha megszerzik a jelszavam és a netbankom e-mailben küld kódot a belépésemhez, akkor úgy tudnak belépni a netbankomba illetéktelenek, hogy még csak észre sem veszem…
Tehát kijelenthetjük, hogy sokkal jobb megoldás mint a semmi, de nem hozza meg azt az átütő biztonsági szint növekedést, amit szeretnénk.
Mobil alkalmazások
Az okostelefonok elterjedésével egészen új, kényelmes és biztonságos megoldások láttak napvilágot. Különösen azóta, hogy a biometrikus azonosítás (újjlenyomat- és/vagy arcfelismerés) alapfelszereltséggé vált. Így akár, kvázi három faktoros belépés is megvalósítható, viszonylag egyszerűen: egyszer beírjuk a felhasználónevet és jelszót a weboldalon, aztán ujjlenyomattal be kell lépni egy alkalmazásba, ahonnan beírjuk az MFA kódot a weboldalra. Ebben a felállásban mind a 3 faktor szerephez jut, ennél nem nagyon tud már biztonságosabb lenni egy belépés. 🙂
De nézzük meg pontosan, hogy milyen lehetőségek terjedtek el a gyakorlatban a mobil alkalmazásokkal megvalósított MFA esetén.
Push értesítések
Ez az egyik legkényelmesebb módja az MFA megvalósításának, felhasználói szemszögből. A működése annyiból áll, hogy amikor megpróbálunk belépni az adott szolgáltató weboldalára a felhasználónevünkkel és jelszavunkkal, akkor a szolgáltató mobilalkalmazása megjelenít egy értesítést, hogy hagyjuk jóvá a belépést. Nem kell beírni semmit sehova, egyszerűen csak rá kell bökni, hogy engedélyezzük-e vagy tiltjuk-e a belépést.
Előnye ennek a módszernek a nagyfokú kényelem, hátránya hogy nincs univerzális megoldás: minden szolgáltató csak a saját alkalmazásval tudja ezt megvalósítani, tehát a bankunk weboldala csak a banki appal, a Microsoft csak az Authenticator alkalmazással, a Google pedig csak Androiddal (vagy Google Authenticator alkalmazással). További hátránya, hogy aktív internet kapcsolatot igényel hozzá a mobiltelefonunk, enélkül nem tudnak működni a push üzenetek.
Kód beírás (OTP, TOTP)
Míg a push értesítések rendkívül kényelmesek, nem univerzálisak és nem is minden szolgáltatás tud ilyet (hiszen saját mobil alkalmazás is kell hozzá). Az OTP (one-time password) vagy TOTP (time-based one-time password) megoldás sokkal univerzálisabb és biztos vagyok benne, hogy szinte mindenki találkozott már vele: mikor megpróbálunk belépni egy weboldalra a felhasználónevünkkel és jelszavunkkal, utána meg kell nyitni az MFA alkalmazásunkat (leggyakrabban Microsoft Authenticator vagy Google Authenticator) és az ott megjelenő 6 számjegyű kódot beírni a weboldalon. Ezek a kódok bizonyos időközönként cserélődnek (általában 30 másodperc), egy algoritmus alapján.
Nagy előnye ennek a megközelítésnek, hogy elég egy MFA mobilalkalmazás is amit szeretnénk használni, széleskörű a kompatibilitása mindenféle szolgáltatással (sőt, ki merem jelenti, hogy az a szolgáltatás amiben MFA beállítható, az mind támogatja ezt a megoldást). További előnye, hogy nem igényel internet kapcsolatot, tehát akkor is használható, ha nincs a mobilon internet kapcsolat. Hátránya, hogy kissé kényelmetlenebb, mint a push üzenet használata.
Hardver kulcsok
Ez a megoldás az okostelefonok elterjedésével kissé veszített a jelentőségéből, de az okostelefonok előtti időkben gyakorlatilag csak ezekkel lehetett megvalósítani teljesen biztonságosan MFA-t. Ettől függetlenül ma is van létjogosultsága, leginkább akkor ha olyan igények jelennek meg amit az okostelefonok nem tudnak kezelni (pl. USB-s kulcsot szeretnénk) vagy nem megoldott a céges okostelefonok használata (pl. egy munkahely nem írhatja elő magántelefonra semmilyen alkalmazás telepítését).
Ezek a hardver kulcsok sokféle konkrét megoldást támogatnak (pl. jellemzűen a fenti TOTP megoldást is), sőt több olyat is, ami csak hardverkulcssal valósítható meg. A mi MFA témánk szempontjából a lényeg az, hogy ezek a kulcsok is a „valami amit birtokolsz” faktorba tartoznak.
A hardverkulcsok előnye, hogy nagyon sokoldalúan használhatóak és biztonságosabbak mint egy telefon (mivel célhardverek, nem pedig csak egy alkalmazás egy eszközön), hátrányuk hogy viszonylag költségesek.
Ha jobban felkeltette az érdeklődésedet ez a téma, akkor a „Yubikey” szóra érdemes rákeresned, ez manapság egy kifejezetten népszerű és sokoldalú hardverkulcsos megoldás.
Az MFA árnyoldalai
A fentiek alapján azt gondolhatnád, hogy révbe értünk, van MFA és minden szuper. Sajnos ez csak részben igaz… A biztonsági szintet valóban nagyban növeli az MFA, de ettől még nem mindenható, vannak olyan problémás dolgokat, amiket érdemes megemlíteni. A következőkben ezeket vesszük sorra.
Értesítés spam (push fatigue) és phising
Nézzünk meg egy (abszolút valós és megtörtént) példát:
Egy irodai adminisztrátor vagy egy kereskedelmi cégnél. Folyamatosan ajánlatkéréseket kapsz. Jön egy e-mail amiben ajánlatot kérnek, de mivel sok mindenre szeretnének ajánlatot, ezért a küldő inkább megosztotta veled a „felhős excelt”, amiben a tételek vannak. Kicsit furcsállod, hogy miért nem csatolmányként küldte, de mindegy rákattintasz. Megnyílik egy weboldal ami egy az egyben a Onedrive bejelentkező felülete, az URL-t meg se nézed, hiszen semmi nem piros, nem riasztott a vírusírtó sem, és különbenis ismerős a felület, hiszen a cég ahol dolgozol szintén Microsoft szolgáltatásokat használ, láttad már ezerszer. Beírod a felhasználónevedet és a jelszavadat (esetleg az MFA kódodat is ha kéri, mert push üzenet nem jött), megjelenik valami üres excel. Azt gondolod, hogy valami hiba van amiért nem tölt be. Hagyod az egészet a fenébe, nincs neked erre időd, amúgyis ha komolyan gondolja, elküldi majd e-mailben normálisan, hogy mit szeretne… Vagy esetleg válaszolsz is neki, hogy küldje el, mert nem látod mit akar.
Eltelik egy hét, rég nem emlékszel az egészre, amikoris épp rohansz a gyerekért az oviba és jön egy push üzenet, hogy engedélyezed-e a belépést a fiókodba. Először kinyomod, hogy nem. Majd jön megint. Baromira kezd idegesíteni, hogy épp a kocsiban vagy, figyelnél a vezetésre, késésben vagy, ez meg itt állandóan csipog és üzeneteket dobál… Az 5. alkalommal eleged lesz és azzal a felkiáltással, hogy már megint szarul működik valami a telefonon, rányomsz a jóváhagyásra és nem jön több üzenet. Megnyugszol, hogy megoldottad a dolgot. Viszont 2 órával később a céged rendszergazdája vagy a főnököd hív, hogy spameket küldözgetsz az ügyfeleknek…
Összeraktad mi történt?
Sajnos egy jól megtervezett phising áldozata lettél: te adtad meg önszántadból a felhasználónevedet és jelszavadat egy hamis oldalon. Viszont, hogy ne legyen gyanús, csak 1 hét múlva használták a belépési adataidat és kihasználták azt is, hogy előbb-utóbb úgyis rá fogsz nyomni az MFA push értesítésre és engedélyezni fogod a belépést (push fatigue).
Fontos tudnod, hogy az MFA nem véd meg attól, hogy önként kiadd a belépési adataidat illetékteleneknek. Az MFA csak addig véd, amíg tudatosan használod, és csak a saját bejelentkezésedet hagyod jóvá. Ha gyanús bejelentkezési kísérleteket észlelsz, SOHA ne hagyd jóvá egyiket sem, hanem azonnal szólj a céges rendszergazdának!
MFA kódok megosztása másokkal
A „hagyományos” OTP alapú MFA beállítása során többféle kóddal találkozhatsz:
- A mobilos alkalmazás beállításához használatos kód, ami sokszor QR kódként jelenik meg és a telefonnal csak be kell olvasni. Ezzel a kóddal történik meg a telefonodon és weboldalon levő algoritmusok szinkronizálása. Aki ezzel a kóddal rendelkezik, az be tudja állítani az MFA belépést a telefonján, a fiókodhoz (igen, akár több eszközön beállíthatod te is).
- Beállításkor sok weboldal generál neked „vész kódokat” (jellemzően 10 darabot) vagy biztosít erre neked lehetőséget. Ezek hasznosak, ha elhagyod / ellopják a telefonod vagy újratelepíted. De ezeket is bizalmasan kell kezelni, hiszen aki ezeket ismeri, az ezeket fel tudja használni MFA kódként.
A fentiekből láthatod, hogy az MFA kódokat is bizalmasan kell kezelni. Hiába változik 30 másodpercenként a kód, ha a beállításhoz használt kódot vagy a „vész kódjaidat” megszerzi valaki, akkor meg tudja kerülni az MFA védelmet.
Lecserélt vagy elveszett telefon...
Az MFA-val kapcsolatos legtöbb bonyodalmat az tudja okozni, hogy az ember elfelejti, hogyha letörli az alkalmazást a telefonjáról, elveszti / ellopják a telefonját vagy csak egyszerűen lecseréli a telefonját, akkor bizony az MFA beállítások elveszhetnek. Ha megvan az a kód, amivel anno beállítottad az MFA-t, akkor egyszerű a helyzet, mert újra be tudod állítani a fiókot a telefonodon. Ha ez nincs meg, csak a „vész kódjaid”, akkor is be tudsz lépni az adott szolgáltatás webes felületén és újra be tudod állítani az MFA-t.
Ha nincs meg egyiksem vagy push üzeneteket használtál, nem kódbeírós OTP módszert, akkor bizony csak az „elfelejtettem a jelszavam” funkció maradt és az MFA beállítása előbb, új jelszót is be kell állítanod az adott szolgáltatásnál. Ez elég körülményes tud lenni, főleg ha sok ilyen szolgáltatásod van…
Épp ezért, érdemes a „vész kódokat” és akár magát a beállító kódot is biztos helyen tárolni, hogy meglegyen ha kell, ez meg tudja könnyíteni az ember életét.
A gyenge jelszó még mindig nem oké...
Így a cikk végére biztos látod már, hogy az MFA hasznos tud lenni és általánosságban nagyban növeli a biztonságot és igen, részben gyenge jelszavaknak is ad egy „második esélyt”, azaz ha megszerzik a jelszavadat illetéktelenek, akkor sem tudnak belépni MFA kód nélkül. Ugyanakkor az MFA sem mindenható: ha te magad kiadod az MFA kódjaidat vagy beleesel az értesítési spam (push fatigue) csapdájába, akkor sajnos az MFA ellenére is beléphetnek a fiókodba illetéktelenek.
Épp ezért, az MFA egy hatékony kiegészítő védelemnek tekinthető, de nem érvényteleníti a biztonságos jelszavakra vonatkozó ajánlásokat. Az igazi védelmet a kettő együtt adja: biztonságos jelszavak és beállított MFA védelem.




