Itt most a hash algoritmusokkal foglalkozunk, amit jelszavak titkosításához használunk.
A hash algoritmusok valójában egy kivonatot képeznek az eredeti tartalomból. A kivonat mérete a tartalom méretétől függetlenül mindig ugyanakkora.
Az első hash algoritmusok egyike volt az md5, amit nagyon sokáig használtak. Használata ma már erőteljesen ellenjavallott.
A hash függvénnyel előállított (titkosított) bájt sorozatot át szokás alakítani nyomtatható karakterekké. Ez lehet hexa kimenet, de gyakrabban használt a base64 kódolás.
Lehetőségek:
Mit jelent a sózás és borsozás? Tegyük fel, hogy van egy jelszavunk, például „titok”. A titok szót nem önmagában titkosítjuk, hanem megsózzuk, megborsozzuk, ami azt jelenti, hogy véletlenszerű karakterek teszünk elé és vagy mögé.
jelszó | titok |
só | aaaaaaaaa |
bors (alkalmazás kulcs) | bbbbbbbbb |
A só és a bors mérete a gyakorlatban nagyobb méretű kell legyen, és véletlenszerű karakterekből kell álljon. A borost sok helyen úgy ismerik, hogy alkalmazás kulcs vagy APPY_KEY.
Ha a fenti táblázatban használható jelszót, sót és boros használjuk, akkor például ezt titkosítjuk le:
aaaaaaaaatitokbbbbbbbbb
De nem tiltott egyéb variációk megvalósítása:
* aaaaaaaaatitokaaaaaaaaabbbbbbbbb * bbbbbbbbbaaaaaaaaatitokaaaaaaaaabbbbbbbbb * stb.
A sót mindig a jelszó mellett tároljuk. Minden egyes jelszóhoz külön só tartozik.
A bors az alkalmazáshoz tartozik. Egy alkalmazás egy borsot tartalmaz. Jellemzően az alkalmazás beállító állományában helyezzük el. Elterjedt elnevezések a beállítófájlokban: APP_KEY, APP_SECRET.
A kivonatolást (titkosítást) érdemes többször elvégezni, több ciklusban.
Lehet például 1000.
Ajánlott:
A 64 karakternél hosszabb jelszavak értelmetlenek.
Havonta jelszó változtatás nem ajánlott. Annak eredménye, hogy a felhasználók könnyen hozzáférhető teszik saját maguknak, például monitorral teszik.
Érdemes egy listát összeállítani a visszautasítandó jelszavakról.
Az entrópiát követeljük meg, de nem kell túlzásba vinni (kis- és nagybetű, szám stb).
A jelszó emlékeztetőt a biztonság miatt a nem ajánlott kategória.