Keresés

Új hozzászólás Aktív témák

  • Béééla

    őstag

    válasz szaszlaci #9 üzenetére

    >A token igénylésénél úgy tudom, a banki ügyintéző csinálja az egészet, innentől fogva neki konkrét, összekapcsolható adatai vannak.
    Ha hardveres tokent kapsz kézhez, akkor nem megy vele sokra:
    - a kiírt számokkal még mindig emberfeletti próbálkozás visszakeresni a seedet (amiből generálja az aktuális kódot): nagyon sok számot kell rögzíteni és nem két nap mire visszafejted
    - a ráírt sorozatszám alapján Gizike még mindig nem juthat információhoz, mert a sorozatszámból nem következik a seed, hanem valahol, "atombiztonságosan" van megőrizve hogy "Horvát Jenő a 4527482533-as sorszámú tokent kapta", a 4527482533-as token seedje pedig "piszok hosszú alfanumerikus sor".

    >Ha pedig nyilvános az algoritmus, a jelszó visszafejtése sem zárható ki.
    Még mindig a befektetett energia: vissza lehet fejteni mindent, legrosszabb esetben végigpróbálkozással. A doksi szerint http://www.ietf.org/rfc/rfc4226.txt : the shared secret MUST be at least 128 bits. This document RECOMMENDs a shared secret length of 160 bits
    Na most számoljunk a minimál 128 bittel és azzal, hogy egyenletes eloszlásúnak lehet venni a generált számokat. Egyszer elkapod a kódját Horvát Jenőnek, megvan mikor mi volt a kódja. 6 számjegy: 1 millió lehetőség, log2(1m) durván 20, tehát legrosszabb esetben, azaz a legkisebb kódot használva egyszerre 2^108, azaz legalább 1m*1m*1m*1m*1m kóddal van egyezés. Ezt szorozd meg 128 bittel, azaz 16 byte-tal: (10^6)^5=10^30*16 byte = 16*10^27 kB, 10^24 MB, 10^21 GB, 10^18 TB, 10^15 PB, 10^12 EB, 10^9 ZB, 10^6 YB, 10^3 BB, azaz 16 Geopbyte, csak hogy leírd az összes kódot, amivel egyezést mutat. Első kör. Megéri kiszámolni Horvát Jenő elkapott kódjából így a seedet? Nem, mivel még csak a 128 bites kódokról beszéltünk, az ajánlott 160 bites kódok nincsenek is közte.
    Ennél sokkal jobb ha sokszor kapod el a kódját. Ha tudod az időpillanatot és a kódot (ja, arról még nem is beszéltünk hogy nem plaintextben küldöd el, tehát minden alkalommal megtörted/megszerezted a kódot) akkor hány ilyen kell, hogy biztosan kijelentsd: biztos a seed-kód egyezés? Durván számolva legalább hétszer kéne megszerezni a kódot (ez nem tűnik keménynek) hogy legjobb esetben meglegyen a biztos találat. 160 bit esetén 8-9-szer, hogy szép kerek szám legyen, számoljunk 10-zel.
    Log2(10) kerekítve 3, azaz legrosszabb esetben 2^131-en szer kell ezt a számítást elvégezni (de lehet több, mert ugye ott vannak a legalább ajánlott 160 bitesek, és nincs maximalizálva):

    function GoogleAuthenticatorCode(string secret)
    key := base32decode(secret)
    message := floor(current Unix time / 30)
    hash := HMAC-SHA1(key, message)
    offset := last nibble of hash
    truncatedHash := hash[offset..offset+3] //4 bytes starting at the offset
    Set the first bit of truncatedHash to zero //remove the most significant bit
    code := truncatedHash mod 1000000
    pad code with 0 until length of code is 6
    return code

    És akkor nem is beszéltünk arról, hogy többször érdemes elkapni a kódot hogy biztos legyen az egyezés.
    Ez hány művelet? Kimondhatatlanul sok. Mekkora szerverfarm kéne hozzá? Állati. "Megéri" az ellopott kódokból visszafejteni a seedet? Jelenleg és a következő pár évben-évtizedben nem. Ha meg elérjük hogy megéri, akkor egyszerűen váltunk nagyobb jelszavakra és bithosszúságra.

    >Megoldás lehet a nem okostelefon. (Nekem alapból az van, de akár adhatna a bank egy SIM-et, esetleg csak erre jó GSM célkészülékkel
    Ha régi, 2G-s GSM telóról beszélünk, akkor hajrá, mondd merre laksz, kiteszek oda egy ebayről is beszerezhető kamu GSM adótornyot, és máris tudom az SMS tartalmát, amint átment rajtam. Márpedig át fog, mert az fogja a legerősebb jelet sugározni :)

    >Akár a tokent is ellophatja
    Meg fegyverrel is kényszeríthet a pénzed odaadására. Ha el/kinnhagyod a tokened, akkor te hibád.

    @iMaverick
    >Nem hiszem, hogy ki lehetne jelenteni, hogy az sms-es másodlagos kód atombiztonságos lenne, de már X éve ezzel tolják a bankok (és mi ügyfelek is), eddig azonban sosem volt problémám.
    Persze, és a bankos PH-zók is szokták mondani, hogy a kártyára írt adatokkal (szám, név, lejárat, ccv) sem szoktak visszaélni olyan gyakran. De ha meg lehet oldani biztonságosabban, miért ne? (plusz egyes bankok szeretnek sms díjat is felszámolni)
    A hülye júzertől pedig nem csak a hülye júzert, hanem a rendszert is védeni kell. Hülye júzer lehet alkalmazott is. Kap egy céges okostelefont és már megy is fel rá a Messenger meg minden. A megelőzésen van a hangsúly.

    Bélabá

Új hozzászólás Aktív témák