Tartalomjegyzék
Titkosítás
- Szerző: Sallai András
- Copyright © 2024, Sallai András
- Szerkesztve: 2024
- Licenc: CC BY-SA 4.0
- Web: https://szit.hu
A titkosításokról
- egyirányú - hash algoritmusok
- két irányú
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 végső formája
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:
- hexa kimenet
- base64
Sózás és borsozás
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.
Tárolás
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.
Méretek
- A sózáshoz ajánlott min. 16 bájt, de jobb 32 bájt.
- A bors legalább 14 bájt.
Iterálás
A kivonatolást (titkosítást) érdemes többször elvégezni, több ciklusban.
Lehet például 1000.
UI követelmények
- Legyen másolható
- Legyen a láthatóság ki és bekapcsolható
Néhány algoritmus
- argon2
- PBKDF2
- bcrypt
Elfogadott jelszavak
Ajánlott:
- minimum 8 karakter
- maximum 64 karakter
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.