Parola Hashleme & KDF
PBKDF2, bcrypt, scrypt, Argon2 (parola hashleme) ve HKDF (anahtar türetme) algoritmaları
Parola hashleme, kullanıcı parolalarını güvenli bir şekilde saklamak için kullanılan özel bir hashleme türüdür. Normal hash algoritmalarından farklı olarak, parola hashleme algoritmaları kasıtlı olarak yavaştır ve "salt" (tuz) adı verilen rastgele veri ekler. Bu sayede, bir saldırgan parola veritabanını çalsa bile, parolaları kırması çok zor ve zaman alıcı olur. Modern parola hashleme algoritmaları, brute-force saldırılarına karşı koruma sağlar ve güvenli parola saklama için kritik öneme sahiptir.
Kullanım Alanları
- Web uygulama parola saklama
- Kullanıcı kimlik doğrulama sistemleri
- Veritabanı güvenliği
- Mobil uygulama güvenliği
- API kimlik doğrulama
- Parola yönetim sistemleri
- Kasıtlı yavaşlık (brute-force koruması)
- Tuz zorunlu, pepper opsiyonel
- Tek-yönlüdür
- Yapılandırılabilir zorluk
- Bellek zorlu algoritmalar (Argon2)
- Güvenli parola saklama
- Yeni sistemler için Argon2id önerilir; minimum parametreler: m≥64–128 MiB, t≥2–3, p≥1
- Uyumlulukta PBKDF2-HMAC-SHA256, iterasyon ≥100k+
| Algoritma | Güvenlik | Hız | Kullanım Alanları |
|---|---|---|---|
| PBKDF2 (HMAC-SHA256/512 seçilebilir) | Yüksek | Yavaş | Genel amaçlı parola hashlemeUyumluluk gerektiren sistemlerUyumlulukta PBKDF2-HMAC-SHA256, iterasyon ≥100k+ |
| bcrypt | Yüksek | Yavaş | Web uygulamalarıOrta seviye güvenlik gereksinimleri |
| Argon2id | Çok Yüksek | Yavaş | Yeni sistemler için önerilirYüksek güvenlik gerektiren uygulamalarModern sistemlerMinimum parametreler: m≥64–128 MiB, t≥2–3, p≥1 |
* Karşılaştırmalar 64-bit CPU'da referans/donanım hızlandırmasına göre
PBKDF2
NIST tarafından önerilen, yaygın kullanılan parola hashleme algoritması. HMAC-SHA256/512 seçilebilir.
bcrypt
Blowfish tabanlı parola hashleme algoritması.
scrypt
Bellek zorlu parola hashleme algoritması.
Argon2
Modern, bellek zorlu parola hashleme algoritması. Yeni sistemler için önerilir.
HKDF (Anahtar Türetme)
Parola hashleme için değil, zaten güvenli anahtar malzemesinden anahtar türetmek için kullanılan KDF. TLS, IPsec ve protokol tasarımında kullanılır.
- • NIST SP 800-132
- • RFC 8018
- • RFC 2898
- • Password Hashing Competition