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
TOTP: https://datatracker.ietf.org/doc/html/rfc6238
HOTP: https://datatracker.ietf.org/doc/html/rfc4226
Aztán úgy implementálod, ahogy szeretnéd, vagy fogod a tengernyi implementáció valamelyikét és használod.
BlackY
"Gyakran hasznos ugyanis, ha számlálni tudjuk, hányszor futott le már egy végtelenciklus." (haroldking)
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/
Nem olyan kicsi az. A Google es az MS is tamogatja (O365 Admin-ba is azzal lepek be de akar user szinten is megkovetelheto)
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.
A helyzethez kell idomulnod. Ha nativ Linuxos telefont használsz/fogsz használni, akkor marad a web, meg az SMS. Valószinüleg az SMS-t még jóideig biztositani fogják, hiszen mindig lesz aki butatelefont használ.
É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.
Mellékszál: a telefon közben meglett.
Ha jól értem, ez akkor hatalmas bukta, ha a kulcs valamiért kompromittálódik. És mivel ez egy shared secret, bármelyik fél hanyag kulcskezelése kockázati tényező.
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.
Offtopic: nem kell ám kézzel tördelni. Irj sima folyó szöveget, majd a drupal letördeli. :)
Köszi :D
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.
https://apps.gnome.org/app/com.belmoussaoui.Authenticator/
google authenticator, etc helyett. persze bankok appja helyett nem fog menni ez sem.
Igen, ez egy lépés a jó irányba, csak általánossá kellene váljon.
Apró különbségek, hogy a pécén vagy titkosított a tárhely, vagy sem, meg ugye a pécén nincs olyan tárterület, amihez nem tudsz hozzáférni (gyakorlatilag a pécén futó authenticator az a rootolt telefonnal közel ekvivalens.
Pontosan így van, ezért nem is engedik sokan a root-olt telefonokat. Egyébként TPM chip lenne a barátunk, ami ellen mindenki kézzel-lábbal próbál tiltakozni, pedig egy nagyon hasznos dolog.
Én most olyasmit keresek, hogy android-os telefonon kulcs+certificate request generálás és utána a request-et adott ca-val aláíratni - mert jó lenne, ha nem kézzel kéne a key+cert párost rápakolni a telefonra...
Ha NFC képes a telefonod, akkor a yubikey-re nézz rá.
vegyes a "felhozatal" telefonok terén sajnos, és a https-ben klines cert alapon kéne azonosítást csinálni.
A cert alapú titkosításnál is ugyanaz a gond, hogy hol is tárolod a "titkot"? mert ha nincs egy védett tár, akkor pont ugyanolyan a biztonsága, mint bármilyen más tárolt "titoknak".
Nem rootolt telefon esetében a privát kulcsot tudomásom szerint nem tudod egyszerűen kinyerni a készülékből.
És mi történik, ha a kulcs letárolása után rootolod?
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.
Ha jól értem jogilag problémás lehet, de műszaki szempontból végső soron pont olyan mintha már rootolt telefonon tárolta volan le a titkos kulcsot.
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".
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.