key stretching
Megjelenés
Főnév
key stretching (tsz. key stretchings)
- (informatika) Key stretching (kulcshosszabbítás) egy kriptográfiai technika, amelynek célja, hogy gyenge jelszavakból erősebb kriptográfiai kulcsot állítson elő — azaz lassítsa a brute-force és szótár-alapú jelszótörési támadásokat.
🔑 Miért van rá szükség?
A felhasználók gyakran rövid, kis entrópiájú jelszavakat választanak (pl. „password123”). Ezek nem megfelelőek titkosítási kulcsnak, mert könnyen feltörhetők.
Key stretching célja:
- növelni a jelszóval kapcsolatos számítási költséget,
- így megnehezíteni a támadónak, hogy rövid idő alatt sok próbálkozást végezzen.
⚙️ Hogyan működik?
A folyamat lényege, hogy egy jelszóból (P) és sóból (salt, S), többszöri ismétléssel egy hosszú, erős kulcsot generálunk.
Általános képlet:
ahol:
P= jelszóS= só (véletlenszerű, a rainbow table ellen)iterations= több ezer vagy millió iteráció (pl. 100 000)K= kinyert kulcs, amit a titkosításhoz használnak
🔄 Főbb algoritmusok
| Név | Leírás |
|---|---|
| PBKDF2 | Password-Based Key Derivation Function 2; RFC 8018 |
| bcrypt | Beépített salting, fix számú kör, lassított feldolgozás |
| scrypt | Memóriaigényes is, nem csak CPU-igényes → ASIC/FPGA ellen hatékony |
| Argon2 | Legmodernebb, memóriára és időre is paraméterezhető; 2015 Password Hashing Competition győztese |
🔐 Példa: PBKDF2 (Python)
import hashlib
import os
password = b"my_weak_password"
salt = os.urandom(16)
key = hashlib.pbkdf2_hmac("sha256", password, salt, 100000)
🚫 Támadás elleni védelem
| Támadás típusa | Hogyan véd ellene a key stretching |
|---|---|
| Brute-force | Lassítja minden próbálkozás számítását |
| Szótár-alapú | A só miatt minden jelszóhoz más hash |
| Rainbow table | A salt kizárja az előre generált táblák használatát |
💡 Összefoglalás
| Fogalom | Magyarázat |
|---|---|
| Key stretching | Gyenge jelszavakból erős kulcs készítése számításigényes művelettel |
| Célja | Brute-force és szótáralapú támadások lassítása |
| Kulcselemek | Só (salt), iterációs szám, KDF algoritmus |
| Használat | Titkosítás, digitális aláírás, kulcsmenedzsment |
- key stretching - Szótár.net (en-hu)
- key stretching - Sztaki (en-hu)
- key stretching - Merriam–Webster
- key stretching - Cambridge
- key stretching - WordNet
- key stretching - Яндекс (en-ru)
- key stretching - Google (en-hu)
- key stretching - Wikidata
- key stretching - Wikipédia (angol)