Kétfaktoros hitelesítés (2FA) - általános megoldás felhasználói oldalról

Fórumok

A kérdés: Létezik általánosan használható biztonságos megoldás a 2FA-ra?

Az eddigi tapasztalatim alapján általános megoldás az SMS-ben küldött kód, de biztosnági szempontból vannak vele aggályok, illetve már nem mindenhol elérhető. Azonban a biztonságosabbank gondolt megoldásokból egyik sem terjedt el széleskörben úgy, hogy ne kellejen sokféle külön megoldást használni. Ráadásul a sok egyedi megoldás tipikusan platformhoz (Android, ios) kötött.

A téma két okból is foglalkoztat:

1. Szeretnék linuxos (nem Android) telefont használni. Itt voszont az  Andoridra és ios-re specializált megoldások nem elérhetőek. Emulációból meg ki tudja, hogy mi működik.

2. Elég sok helyen olvasni az SMS-ben küldött kód biztonsági hiányosságairól, és hogy több helyen kezdik az SMS-t kivezetni.

Egy érdekes (de nem teljeskörű) összefolgaló:

https://nakedsecurity.sophos.com/2016/08/12/sms-or-authenticator-app-wh…

 

Személy szerint az SMS-t nem tartom (bizonyos egyéb használati feltételek mellett) nagyon kockázatosnak, illetve számomra mondjuk egy Androidos app, aminek még a mögöttes technológiáját sem feltételnül ismerem nem jelenet nagyobb biztonságot.

Hozzászólások

Van mondjuk egy adott bank (de lehetne bármley szolgáltató, intézmény, stb.), ami a következő lehetőségeket kínálja: SMS, vagy a bank által felajánlott _specifikus_ app telepítése. Ez egy tipikus felállás. Hogyan tudsz ebben a helyzetben egy saját (vagy 3rd party, de a megadottaktól eltérő) vagy egy nem felkínált általános megoldást használni?

Leginkább sehogyan, és ennek az az oka, hogy az adott cég végigtervezi, security analizálja, rizikózza az általa adott szolgáltatást. Bármilyen olyan szolgáltatást, amit nem ő ad, azzal nem igazán tud mit kezdeni, de az ügyfél nála fog reklamálni. Sőt, tovább megyek, az android verzió is szűkítve van, és ha rootolt a telefon, akkor azzal se engednek belépni.

Igen, én is ezt tapasztalom. És itt az SMS egy relatíve jó megoldás, hiszen a felahsználótól csak olyan infrastruktúrát vár el, amivel csak nagyon kevesen nem rendlekeznek, főleg, ha a számítógép felhasználók körét nézzük. A nem rootolt Android / ios (főleg előírt verziókkal) már egy sokkal rosszabb kényszer. Ráadásul a legtöbb szolgáltatás megrendelése / igénybevétele előt a legtöbbször ezek a technikai korlátok nem is nyilvánvalóak. (Ha működött, akkor meg gyakran utána sem, hiszen nem tudod, hogy milyen esetekben nem működne.)

Pontosan ez a problémám lényege. Szívesen vennék egy hardware kulcsot, vagy bármi olyan megoldást, ami nem köt engem nem rootolt Androidhot vag ios-hez. Pontosan úgy érzem, hogy rám akarnak valamit kényszeríteni, amit azzal indokolnak, hogy hát az SMS nem elég biztonságos. Ugyanakkor nincs általános biztonságos, gyártófüggetlen megoldás.

Ráadásul az okostelefonoknál sokkal rosszabb a jellemző biztonsági frissítettség, mint mondjuk az általános számítógépeken. (És ez nem elsősorban a felhasználókon múlik.) Ezen kívül egyre inkább erőltetik a bankok, hogy okostelefonról bankoljál, ami szintén egy érdekes dolog, hiszen az az eszköz, amivel belépsz és az amelyik a 2. faktort jelenti az autentikációban, nem különülnek el.

Ebbe a rootolt / nem rootolt kérdésbe a múltkor én is belefutottam, mert nem volt SMS autentikáció. Elég vicces, hogy mindenki szabadon garázdálkodhat a teleofnodon (Google, Amazon, Facebook, ....) csak te nem.

A magam részéről én szeretném, ha támogatnánk yubikey-t is, de igazából annyira kicsi az a felhasználóbázis, akit ez érdekelne, hogy nem is igazán érdemes vele szórakozni.

Alapvetően a felhasználónév-jelszó valamit vagy SMS, vagy valamilyen TOTP kód a megoldás, esetleg remote authentikáció (ha egy eszközzel be vagy lépve, akkor a másik eszközödön történő belépést ezzel az eszközzel engedélyezed). De ennek az összerakása eléggé komplex, főleg úgy, hogy ne lehessen benne logikai hiba.

Pont ezt hoztam fel példának a legutóbbi cikkemben:

https://www.modeldriven.hu/konkurens-folyamatok-modellellenorzese/

Már úgy kicsi, hogy a magyar piacon, a magyar ügyfélkörben. Egyébként van ugye a webauthn (https://webauthn.io/) ami ezt támogatja, és pl. a keycloak támogatja a webauthn-t, szóóóóval lehet hogy majd egyszer össze fogjuk lőni.

Én is abban bízom, hogy az SMS-sel még sokáig el lehet lavírozni. Ami ezen kívül biztató, hogy vannak más általános megoldások, amik itt a topicban előkerültek, és van esély arra, hogy valamaleyik szélesebb körben elterjedjen.

Törvényhozés szintjén biztos lehetne rajta lendíteni. Egy általánosan használható digitális személyazonosságnak lenne szerintem értelme, minthogy pl. Ausztriában van mód egy állami (nem kötelező) digitális személyazaonosságot létrehozni. Néhény helyen be lehet vele logolni, meg lehet vele digitálisan aláírni. A probléma az, hogy nem általánosan elfogadott, még kifejezetten honos cégeknél sem jellemző, hogy elfogadnák. 

Igy van. A TOTP egy második faktor, ahol a tudást (shared secret) védeni kell, pont úgy, mint ahogy a jelszavunkat se írjuk fel sárga cetlire. Ennek a klasszikus védelme egyébként

a shared secret titkosítva tárolása az eszközön, a titkosításhoz használt kulcsot pedig biometrikusan védve szokták tárolni (erre mind ios, mind android ad megoldást).

Továbbá védeni kell a szerver oldalt kipörgetés ellen is, szóval az egész authentikáció egyébként nagyon-nagyon szívatós, és jól csinálni közel sem olyan egyszerű, mint ahogy

az ember gondolja.

A projecten amin dolgozok Duo -t kell használnunk 2FA -ra, Okta hitelesítéshez. Mobilon használjuk, arról nem tudok, hogy lehet iOS / Androidon kívül linuxos telón is használni. Szerintem rendben van ez a Duo, otthon a Google, Dropbox, Amazon, Microsoft Live, GitHub kétfaktoros hitelesítést is ezzel állítottam be. QR kódot be tud olvasni, így a 2FA -t gyorsan össze lehet lőni vele.

A cert csak arra alkalmas ebben az esetben, hogy az eszköz kiépítsen egy titkosított csatornát, azon belül természetesen ugyanúgy kell azonosítania magát a felhasználónak. Mivel MDM is van a képletben, meg kellően szigorú szabályozás, így a rootolás egyéb következményeket is vonhat maga után.

Igen, lehet egy gap a rootolás és a cert visszavonása között - meg kell még nézni, hogy az mdm lepucolása viszi-e a certet, illetve a nem compliant telefon esetén (rootolt) takarít-e, vagy sem? (Szerintem beállítható, hogy milyen eltérések esetén induljon a wipe).

Egyelőre jobb megoldást még nem látok arra, hogy vpn-kliens nélkül adott webes szolgáltatáshoz szűrten, csak meghatározott eszközökről lehessen hozzáférni úgy, hogy ne legyen harmadik félnél ssl-t bontő motyó kirakva "valahova a felhőbe".

Szerkesztve: 2021. 12. 23., cs – 07:33

Mindenkinek köszönöm az információkat.

Számomra úgy folgalható össze, hogy ugyan lenne ilyen megoldás mind szoftveres (pl. Authenticator, Authy, ...), mind pedig hardwares (pl. yubikey), de egyik sem terjedt el egyelőre odáig, hogy mindenhol használható legyen. Jellemzően a nagy tech szolgáltató cégek támogatják ezeket a szabványos megoldásokat, a bankok, állami intézmények, stb. pedig nem. Szigorúan az én konklúzióm: a törvényhozásnak lenne dolga.

Ami még ebben a kérdésben fontos, hogy a rootolt modbiltelefon illetve az általános számítógép azért nem minősül biztonságosnak mert a privát kulcs hozzáférhetősége nincs hardwaresen védve, tehét mindenképp valamilyen kiegészítés kell, pl. védett tárterület, külső vagy belső chip, stb.

Egyelőre marad az SMS (megfelelő használat mellett), amíg lehet. Aztán bízzunk abban, hogy a szabványos megoldások elterjednek.