Bcrypt helyettesítésére hash md5

Miért kivonatolt jelszót?

Az elmúlt napokban, ügyéről számoltak be, hogy az adatbázist a jelszó hash népszerű szolgáltatások tartoznak illetéktelen kezekbe (1), (2). Tudomására jut, hogy linked.in szolgáltatás a SHA-1 hash módszer, és last.fm használ MD5. A legtöbb jelszavak szótári szavak rövidek, és a támadó így annak a hash lesz képes megtalálni a forrást jelszó nélkül is brute force, egyszerűen használja szivárványos táblákat.
Ez egy komoly biztonság megsértése, annak ellenére, hogy sok fejlesztő úgy vélik, hogy a megőrzése a jelszó hash jelszó helyett maga képes megvédeni a felhasználók a szolgáltatás a szivárgás esetén tárol. Persze, ez sokkal jobb, mint a jelszavak tárolása egyszerű szöveges, de nyilvánvalóan nem elég biztonságos. BCrypt módszer, ellentétben az MD5 és SHA-1 nem ismert az interneten, az orosz nyelvű Wikipedia szócikk még csak nem is róla. Milyen volt?

Mi BCrypt?

BCrypt egy kriptográfiai hash algoritmus segítségével Blowfish titkosítási módszer. Ez használ egy titkos kulcsot K (Key Factor), lehetővé teszi, hogy konfigurálja a titkosítás erőssége, és ez teszi stand közül más hash algoritmusok. Lehetőséget, hogy javítsa kriptográfiai ereje a jövőben, amikor a számítógépek lesz sokkal erősebb, azt jelenti, hogy ez az algoritmus lehet használni anélkül, hogy az egyre nagyobb feldolgozási teljesítmény és a méret a számítástechnikai gazdaságok.

Lassan nem jelenti azt, rossz

BCrypt fut sokkal lassabb, mint más módszerek tördelő, de az eredmény sokkal védett. Végtére is, amikor a tördelő és a titkosítást, ez nem jelenti a gyorsabb, annál jobb. Minél hosszabb a titkosítás, a visszafejtés tovább tart. MD5 népszerű módszer számítják olyan gyors, hogy egy normál laptop lehet számítani több tízezer hash másodpercenként. És egy nagy teljesítményű szerver - a több százezer és több millió! Minden szépségét és rövidsége ez a módszer tehetetlen előtt egy egyszerű nyers erő.

Miért nem használ sót?

Normál találni MD5 hash függvény a következő:
MD5 (jelszó)
A szó, amely a jelszó hash kiszámítani, amelyet egy adatbázisban tároljuk. Amikor egy felhasználó be akar jelentkezni, annak jelszó hash újra ki lesz számítva, és sravnon a tény, hogy fekszik az alapja. Ha az összeg egyezik, a jelszavak azonosak is, és a felhasználó nem léphet be. Ha egy támadó vezetne bázist jelszó hash, akkor a szivárvány táblázatok, hogy gyorsan megtalálja egy egyszerű jelszó hash, hogy már ott vannak.

MD5 hash függvény, hogy megtalálják a só, például a következő formában:
MD5 (MD5 (jelszó) + só)
Először is a hash szó, amelyet jelszóval védett. Ezzel hash csatolt só (véletlenszerű halmaza simolov egyedi minden felhasználó) és a kombinációja „jelszó hash + só” ismét egy hash, amely egy adatbázisban tároljuk. A sót tárolt ugyanabban az adatbázisban, és kiszámításához használt hash, minden alkalommal, amikor a felhasználó bejelentkezik.
Most, ha a behatoló visszavonja a bázis-kivonatok, szivárvány táblázatok nem fog segíteni, mert lehet, hogy csak a keresést kivonatainak szótári szavakat vagy számsorral. Ebben az esetben a támadó valószínűleg kihasználják a nyers erő. Miután a hash és a sót, felfegyverkezve egy gyors processzor, akkor vegye fel a hash-ig, amíg nem kap egy véletlen egybeesés.

Ez megoldja a problémát?