Sózott jelszó
Sózott jelszó
Sózott jelszó???
Gyakran lehet találkozni azzal a kifejezéssel a biztonságtechnikai oldalakon, hogy: salted password. De mit is jelent ez?
Normál esetben egy jelszót tisztán nem ment le a szoftver, web oldal, hanem készít belőle egy kódolt szöveget. Ez lehet egy- vagy kétirányú.
Kétirányú esetén a szövegből elkészül a kód, és a kódból visszanyerhető a szöveg. Egyirányú kódolás esetén a jelszóból egy speciális szöveg (string) készül.
Példa kétirányú kódolásra
Jelszó: papa -> elkódolva qbqb mint látszik, a kódolás során minden karaktert egy byte -al elcsúsztattunk jobbra. Ha vissza kellene fejteni, akkor egy byte -al balra el kell csúsztatni a karaktereket, és vissza kapjuk az eredeti jelszót.
Példa egy irányú kódolásra
Jelszó: papa -> elkódolva: 0ac6cd34e2fac333bf0ee3cd06bdcf96
A jelszóból az MD5 (Message Digest 5) algoritmus segítségével egy hash kódot (szó szerint darálék) készítettem. A hash kódból nem lehet egyértelműen visszanyerni a jelszót, csak próbálgatással lehetséges az eredeti jelszó visszaállítása.
Miért is jó a sózott jelszó?
Egy normál jelszónak mindig ugyanaz lesz a hash kódja. Azaz a „papa” jelszóhoz mindig „0ac6cd34e2fac333bf0ee3cd06bdcf96” lesz a kód. Ha valaki ügyes, akkor a jellemző jelszavakat (nevek, állat nevek) hash kódjait legenerálja, és eltárolja egy adatbázisban. Lesz egy jó vaskos adatbázisa, amiben könnyen és gyorsan tud keresni, kevésbé terhelve a processzort!
Ha a mi papa jelszavunkat letárolják, és megkapják a hash kódot, akkor pár másodperc alatt megtalálják az eredeti jelszót! Ez bizony rossz!
A sózással azt érjük el, hogy a papa jelszavunk hash kódja nem lesz ugyanaz, mint amit az adatbázisban eltárolnak!
De hogyan tudjuk ezt elérni?
Nagyon egyszerűen! A jelszóhoz hozzá kell csapni egy olyan konstans adatot, ami a felhasználóra jellemző. Pl. Teszt Elek 1976. január 14 -én született. A jelszava papa. tegyük a jelszó mögé vagy elé a születési idejét!
Az új jelszava így fog kinézni: papa19760114 ennek a hash kódja pedig c1badd8d0f01c9590af8e04409bfa85e!
A papa jelszavát szépen használja a felhasználó, és a háta mögött a belépéskor hozzácsapjuk a születési idejét. Így biztosítva van az, hogy a papa jelszavához tartozó hash kódot soha nem fogják feltörni előre legenerált kódokkal!