Jelszavak biztonságos tárolása jó-e így? Lehet-e hátulütője?
Szeretném biztonságos módon tárolni a felhasználók jelszavát. Ehhez egy MD5 hash-t használok, melyet a megadott jelszóból, a regisztráció pontos idejéből (amelyet szintén tárolok) valamint egy salt összefűzéséből kapok meg. Ez garantálja, hogy a hash alapját képző string biztosan tartalmazzon mindenféle karaktert, valamint a regisztráció idejének közbeiktatásával azt is elkerülöm, hogy az azonos jelszót használó felhasználók kiszűrhetőek legyenek az adatbázisból.
Első blikkre ez nem is jelent semmiben sem problémát (minden adat ismert autentikációkor), viszont nem vagyok benne 100%-ig biztos. Lehet ennek valami hátulütője, ami nem szembeötlő?
"valamint a regisztráció idejének közbeiktatásával azt is elkerülöm, hogy az azonos jelszót használó felhasználók kiszűrhetőek legyenek az adatbázisból."
Miért akarod elkerülni, hogy az azonos jelszót használó felhasználókat ki lehessen szűrni?
---
Szerintem használj mondjuk SHA-512-t.
Szia.
Mint már fentebb irták az MD5 nem biztonságos (Ha az adatbázisod kikerül az internetre akkor hiába van "sózva" a dolog, bár modjuk a sózás algoritmusától is függ az egész) szivárványtáblákkal pillanatok alatt viszafejthetőek az MD5 HASH-ként tárolt jelszavak.
Ezt is irták fentebb : Használd a SHA512-es algoritmust.
Sok sikert.
Üdv.
MD5 nagyon nagyon nagyon rossz erre a célra, és az SHA sem jelszavak hash-elésére lett kitalálva.
Helyettük használd mondjuk a bcrypt algoritmust.
"bármilyen módon hozzáférnek az adatbázishoz"
Hát...ha így gondolkodsz, az már rossz.
#6
Az adatbázis nem általam menedzselt szerveren van, így semmilyen ráhatásom nincs. Ami tovább rontja a helyzetet, hogy nem egyedül használom a szervert, így ez némi plusz biztonsági kockázatot jelent.
Nem állambiztonsági anyagokat fogok tárolni, de azért azt sem szeretném, ha minden vérpistike képes lenne a dumpolt adatbázisból értékes anyagokat kinyerni.
Az MD5-öt lecseréltem SHA-512-re.
#7, #8:
Nos, szóval az előző üzenetemmel arra céloztam, hogy nem így kell kezdeni, hanem úgy, hogy az adatbázis már 100%-osan (na jó annyi úgysem lehet) védett, tehát minden ott megtehető intézkedés meg lett csinálva. És a PHP-ban már csak az arra vonatkozó biztonsági dolgokkal kell foglalkozni. De így, hogy nem saját, így tekintsd semmisnek az előző válaszom.
(Én arra gondoltam, hogy saját, esetleg VPS-en van a szerver.)
---
U.I.: Miért kell a dátum is? Miért nem elég a só? Attól nem lesz erősebb egy hash, hogy többféle karakter van benne.)
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!