Létezik bármiféle módszer arra, hogy ellenőrizzük, milyen fajta hash algoritmussal lett hashelve egy string?
Az egy dolog, hogy fix hosszúságú stringet kapok vissza, de pusztán csak a length ellenőrzése elég gyér.
Én a php sha512 algoritmusát szoktam használni erre a célra.
Azért kérdezem ezt, mert van egy ajaxos regisztrációs scriptem, és szeretném biztonságossá tenni. Letöltöttem egy sha512 javascript library-t, de bárki ki tudja kapcsolni a jelszó hashelését javascriptben. Talán egy ügyes hacker másnak is ki tudja kapcsolni. :D
Nem létezik.
Kliens oldalon semmiféleképpen sem tudsz biztonságos beléptető/regisztrációs rendszert csinálni, ilyen random varázslásokkal sem.
A hosszon kívül más nem nagyon áll a rendelkezésedre. A hash algoritmus lényege pont az, hogy kapsz egy 32, 64, …, 1024, … bites adatot, az eredeti adat egyetlen bitének átfordulása átlagosan a bitek felét fordítja meg a hash-ben. Esetleg gyakran használt jelszavaknál, szótári szavaknál, egyszerűbb, rövidebb jelszavaknál szivárványtáblával akár az eredeti jelszó is visszanyerhető.
De ez tulajdonképpen lényegtelen is a kérdésed kifejtése tükrében. Azt nem tudod megakadályozni, hogy valaki egy keyloggerrel, vagy valami fishing technikával ellopja valakinek a jelszavát. Azt sem tudod megakadályozni, hogy egy kliens telepítsen valamilyen böngésző kiegészítőt, ami a form submit esetményét – ami mondjuk a jelszó hash-elését végezné – kikapcsolja, és a formot egy másik oldalra irányítsa. De nem is kell ezzel törődnöd.
Neked a saját váradat kell védened. Azt kell megakadályozni, hogy valaki – akár egy név, akár egy privát üzenet tárgy mezőjébe – egy scriptet becsempésszen. Minden – hangsúlyozom minden – felhasználótól érkező adatot úgy kell kezelni, mint erős biztonsági kockázatot.
Egy lehallgatásos, közbeékelődéses támadásra leginkább a https protokoll fog részlegesen gyógyírt nyújtani. Egy session hijacking ellen is csak részben tudsz védekezni, IP-hez kötéssel, httponly sütivel stb. Érdemes ezt a részt is tanulmányozni. Itt nem ártanak olyan óvintézkedések, mint: jelszót változtatni csak a jelenlegi jelszó ismeretében és/vagy email megerősítéssel lehessen. Vagy: email cím megváltoztatásához be kelljen írni újra a jelszót megerősítésként és/vagy a régi email címre kell megerősítő levelet küldeni. (Egy session hijacking esetén ugye úgy lehet belépni valakinek a nevében, hogy nem ismered a jelszavát, de akár az email címét sem. Ezért kell minden a fiók feletti uralom átvételéhez szükséges lépésnél ellenőrizni, hogy a felhasználó tudja-e a saját jelszavát, hozzáfér-e a felhasználó a regisztrációnál megadott email fiókhoz.)
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!