Mennyire számít szakszerűtlennek ha hash használata nélkül tárolok jelszót adatbázisban?
#1 -el részben egyet értek, amíg nem tudják, nem kerülnek ki a jelszavak, a kutya se foglalkozik vele.
lásd pl. prog.hu és pcforum.hu -t, ott sima szövegként tárolják.
DE! Ha valaki feltöri, és kikerülnek a jelszavak, az már csúnya dolog.
Még alap md5() esetén is, csak idő kérdése mire vissza fejtik, és nem évszázadok, csak pár óra alatt meg van.
Én azt mondom, hogy minimum md5(), és mindent adjunk meg a biztonság érdekében!
Az a legbiztonságosabb ha meg is sózod a hash-t, tehát a szőveg után még raksz valami random generált adatot amit eltárolsz (és hogy ugyanaz legyen a hash mindig utána rakod később) hogy kivédd a szivárvány táblás támadásokat.
A hashelés nem bonyolult, bőven megéri az extra biztonságért cserébe, (legálisan) támadóként többször is gyűlt már meg velük a bajom. Tehát ebben ne vegyél példát a nemhashelőktől
#3 Ha normális jelszót használ a user, annak a hash-ből rainbow attack-el sem tudják visszafejteni a jelszavát. Egy abc123 persze pillanatok alatt megvan.
#4 A "Security by obscurity" sosem jó megoldás. Hiába nem tudják, hogy plain textben tárolod a jelszavakat, az nem biztonságos.
Kérdező:
Plain textben tárolni a jelszavakat olyan, mint a lakáskulcsot a lábtörlő alá tenni. Csak idő kérdése, mikor tör be valaki és akkor mindent visz. Manapság a jelszavakat illik salted hash-ben tárolni, a salt pedig legyen userenként eltérő és minden jelszóváltáskor generálj új saltot. MD5 helyett pedig érdemesebb valami erősebb függvényt használni, de egy salted MD5 is sokkal jobb, mint a plain text.
Elképesztően amatőr.
Megmondom őszintén én törvényileg börtönnel büntetném azt, aki ilyen oldalt csinál, mert hatalmas nagy gondatlanság és károkozás.
Ma meg már a saltnak is alapnak kéne lennie, nemhogy a hashnek.
HazugMondó barátunk pedig ismét bebizonyította, hogy mekkora elképesztő kontár.
Az alap manapság (ami eléggé elterjedt) - legalábbis úgy olvastam - máig az md5 és a SHA1, pedig ezek a leggyengébbek. Bár ezek inkább titkosítások, mintsem hashelés.
De igen, amatőr dolog, ahogy a többiek is írták. Ha betörne valaki az adatbázisba, ilyen érzékeny adatokat pillanatok alatt ellopna.
Használj bcryptet vagy egyszerűen a php password_hash függvényénél a PASSWORD_DEFAULT-at. Az mindig az éppen legerősebb algoritmust/hashelést használja, magyarul ha jön egy bcryptnél erősebb, azt (jelenleg a bcryptet).
Utolsó válaszoló:
Az, hogy az aktuális legfrissebbet használja, vissza is üthet. Mert ugye felépítesz egy adatbázist most, szépen bcrypt-tel lesznek hashelve a jelszavak. Jön egy PHP frissítés, amiben már egy új eljárás a default és hopp: senki sem tud belépni a rendszerbe, mert nem fognak egyezni a hash-ek.
Jobb módszer, ha eltároljuk a hash típusát is és akkor egy frissítésnél a régi usereket még a régi hash-el lehet ellenőrízni, az újak pedig már a frissebb eljárással lesznek hash-elve.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!