Felhasználói eszközök

Eszközök a webhelyen


oktatas:programozas:titkositas

< Programozás

Titkosítás

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
A hexa kódolás és a base64 nem titkosító algoritmusok!

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
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.

oktatas/programozas/titkositas.txt · Utolsó módosítás: 2024/12/06 10:30 szerkesztette: admin