PBKDF2 Hash Üreteci
Ücretsiz çevrimiçi PBKDF2 Hash Üreteci aracı. %100 yerel işlem — verileriniz asla cihazınızı terk etmez.
Sonuç burada görüntülenecek...
Giriş → Karma Hesapla
Usage Guide
PBKDF2 Hakkında
PBKDF2 (Parola Tabanlı Anahtar Türetme Fonksiyonu 2), RFC 8018 (PKCS#5) ve NIST SP 800-132'de standartlaştırılmış bir anahtar türetme fonksiyonudur. Basit bir özet fonksiyonunun aksine, PBKDF2 bir paroladan kriptografik anahtar türetmek için tasarlanmıştır; bu işlemde bir sözde rastgele fonksiyon (HMAC-SHA256 veya HMAC-SHA512) yüz binlerce kez uygulanır. Bu durum, kaba kuvvet saldırılarını hesaplama açısından pahalı hale getirir. PBKDF2, FIPS 140-2 uyumludur ve LUKS disk şifreleme, WPA2/WPA3 Wi-Fi, iOS/Android güvenli depolama ve parola yöneticilerinde yaygın olarak kullanılmaktadır.
Kullanım Adımları
Bu araç iki işlemi destekler: anahtar türetme (Şifrele modu) ve parola doğrulama (Şifre Çöz modu):
Parametre Kılavuzu
PBKDF2'nin türetilen anahtarın güvenliğini ve çıktısını kontrol eden dört temel parametresi vardır:
PBKDF2 ile Argon2 / bcrypt Karşılaştırması
Diğer parola hash algoritmalarına kıyasla ne zaman PBKDF2 seçileceğinin anlaşılması:
FAQ
Q: PBKDF2'nin çıktı formatı nedir?
A: Bu araç kendi kendine yeterli bir hash dizesi çıktılar: {yineleme}:{algoritma}:{tuz_base64}:{türetilen_anahtar_hex}.
Örnek: 600000:sha256:abc123...==:d4e5f6....
Bileşenler:yineleme: Kullanılan HMAC tur sayısı (ör. 600000).algoritma: Hash fonksiyonu (sha256 veya sha512).tuz_base64: Base64 kodlu rastgele tuz.türetilen_anahtar_hex: Onaltılık kodlu türetilen anahtar.
Doğrulamak için Şifre Çöz moduna girin: parola|{tam hash dizesi}.
Q: PBKDF2 neden 600.000 yinelemeye ihtiyaç duyar?
A: PBKDF2 bellek yoğun değildir — GPU'larda ucuza paralelleştirilebilir. Modern bir GPU saniyede yaklaşık 1–2 milyar PBKDF2-SHA256 yinelemesi hesaplayabilir. Hash başına 600.000 yinelemeyle bu, GPU başına saniyede ~1.600 hash denemesine karşılık gelir. Yüksek yineleme sayısı temel savunma mekanizmasıdır — saldırgan maliyetini doğrudan çarpar. OWASP 2023, SHA-256 için 600.000'i minimum olarak belirler; SHA-512 için 210.000 kullanın. Bu değerleri zamanla artırın.
Q: PBKDF2 ile bcrypt veya Argon2 arasındaki fark nedir?
A: PBKDF2: Yalnızca hesaplama yoğun, bellek yoğun değil. GPU paralelleştirilebilir. FIPS 140-2 onaylı. Çok yüksek yineleme gerektirir. FIPS düzenlemeli ortamlar için idealdir. bcrypt: Hesaplama yoğun, ~4KB bellek, orta düzey GPU direnci. 72 baytlık parola sınırı. Rastgele uzunlukta anahtar türetemez. Argon2id: Bellek yoğun, GPU/ASIC dirençli, modern OWASP tercihi. FIPS onaylı değil. Eşdeğer güvenlikte performans: Bellek yoğunluğu sayesinde Argon2, aynı etkin güvenlik düzeyinde PBKDF2'den önemli ölçüde daha hızlıdır.
Q: PBKDF2 FIPS 140-2 uyumlu mu?
A: Evet. PBKDF2, NIST SP 800-132'de açıkça tanımlanmış ve FIPS 140-2 kapsamında onaylanmıştır. Bu durum onu ABD federal kurumları, yükleniciler, HIPAA kapsamındaki sağlık sistemleri ve PCI-DSS gereksinimleri olan finansal uygulamalar için zorunlu seçim haline getirir. Argon2 ve scrypt FIPS onaylı değildir. FIPS uyumluluğu gerekiyorsa, PBKDF2 şu anda yaygın olarak kullanılabilen tek seçenektir. PBKDF2 uygulamanızın FIPS doğrulamalı kriptografik modül kullandığını doğrulayın.
Q: Tuz neden önemlidir ve saklanması gerekir mi?
A: Tuz, iki aynı parolanın farklı türetilmiş anahtarlar üretmesini sağlamak için hash öncesinde parolaya eklenen rastgele bir değerdir. Tuz olmadan saldırganlar önceden hesaplanmış gökkuşağı tablolarını kullanarak birden fazla hash'i aynı anda kırabilir. Tuzun gizli olması gerekmez— yalnızca parola başına benzersiz olması yeterlidir. Tuz çıktı dizesine dahil edilmiştir ve doğrulama sırasında aynı hash'i yeniden oluşturmak için türetilen anahtarla birlikte saklanmalıdır. Parolalar arasında tuzları asla yeniden kullanmayın.
Q: PBKDF2'yi AES anahtar türetme için nasıl kullanırım?
A: Doğrudan AES-256 anahtarı türetmek için anahtar uzunluğunu 32 bayt (256 bit) olarak ayarlayın. SHA-256 ile 600.000 yineleme kullanın. Tuzu şifreli verilerle birlikte saklayın. Şifre çözme sırasında aynı parola, tuz, yineleme ve algoritmayla anahtarı yeniden türetin, ardından AES-256-GCM ile şifreyi çözmek için kullanın. LUKS disk şifreleme, iOS veri koruma ve birçok parola yöneticisi tam olarak bu şekilde çalışır. Türetilen anahtar deterministiktir — aynı girdiler her zaman aynı anahtarı üretir.
Use Cases
Önerilen: FIPS Uyumlu Parola Depolama
FIPS 140-2, NIST SP 800-131A, HIPAA veya PCI-DSS kapsamındaki kuruluşlar onaylı kriptografik algoritmaları kullanmak zorundadır. HMAC-SHA256 veya HMAC-SHA512 ile PBKDF2, bu gereksinimleri karşılayan yaygın olarak kullanılabilen tek parola KDF'sidir. SHA-256 için en az 600.000 yineleme kullanın ve tam çıktı dizesini saklayın. Düzenlenmiş ortamlarda Argon2id yerine PBKDF2 seçmenin temel nedeni budur.
- ✅ PBKDF2-HMAC-SHA256 (≥600.000 yineleme) — FIPS uyumlu
- ✅ PBKDF2-HMAC-SHA512 (≥210.000 yineleme) — FIPS uyumlu
- ❌ Argon2 / scrypt — FIPS 140-2 onaylı değil
- ❌ bcrypt — FIPS 140-2 onaylı değil
Önerilen: Disk Şifreleme Anahtar Türetme (LUKS)
LUKS (Linux Birleşik Anahtar Kurulumu), parola ifadesinden birim şifreleme anahtarı türetmek için varsayılan olarak PBKDF2 (LUKS1) ve PBKDF2/Argon2 (LUKS2) kullanır. PBKDF2, kullanıcının parolasından sabit uzunluklu bir anahtar (AES-256 için 32 bayt) türetir; bu anahtar daha sonra LUKS başlığında saklanan ana anahtarı şifrelemek için kullanılır. WPA2/WPA3 Wi-Fi güvenliği de Wi-Fi parolasından Çiftsel Ana Anahtar'ı (PMK) türetmek için PBKDF2 kullanır.
- ✅ PBKDF2-HMAC-SHA512 (LUKS1 standardı)
- ✅ Argon2id (LUKS2 tercihi — daha iyi bellek yoğunluğu)
- 💡 Hedef donanımda türetmenin 0,5–2 saniye süreceği kadar yüksek yineleme ayarlayın
- 💡 Tuzu disk/başlık meta verilerinde saklayın, asla ayrı olarak saklamayın
Kabul Edilebilir: Eski Sistemlerde Parola Doğrulama
Birçok mevcut sistem (eski Django sürümleri, .NET Membership, Java PBKDF2WithHmacSHA1) zaten PBKDF2 hash'leri saklamaktadır. Bu sistemler için PBKDF2 kullanmaya devam edin ve donanım geliştikçe yineleme sayısını kademeli olarak artırın. Doğrulama için saklanan yineleme sayısını kullanın (hash dizesine gömülüdür) ve yeni kayıtlar ve parola değişiklikleri için güncel OWASP önerilerine güncelleyin. Bu, zorla parola sıfırlama olmadan zamanla güvenliği artırır.
- ✅ PBKDF2 (mevcut hash'ler için koru — geçiş gerekmiyor)
- ✅ Yeni hash'ler için yinelemeyi güncel OWASP minimumuna artır
- 💡 Bir sonraki girişte yineleme sayısını şeffaf biçimde güncelle
- 💡 FIPS gerekmiyorsa yeni projeler için Argon2id'e geçişi değerlendirin
Kabul Edilebilir: Tek Paroladan Birden Fazla Anahtar Türetme
PBKDF2, rastgele uzunlukta anahtarlar türetebildiğinden, tek bir ana paroladan birden fazla anahtar gerektiğinde (ör. biri şifreleme, diğeri MAC kimlik doğrulama için) kullanışlıdır. Bağımsız anahtarlar türetmek için farklı tuzlar veya dizin sonekleri kullanın. Anahtar uzunluğunu 64 bayt olarak ayarlayın ve çıktıyı iki 32 baytlık anahtara bölün ya da farklı tuzlarla PBKDF2'yi iki kez çalıştırın. Bu model bazı parola yöneticisi mimarilerinde kullanılmaktadır.
- ✅ Türetilen anahtar amacına göre farklı tuzlar kullan
- ✅ İlk PBKDF2 türetmesinden sonra anahtar genişletme için HKDF kullan
- ❌ Farklı anahtar amaçları için asla aynı tuzu yeniden kullanma
- 💡 kimliği doğrulanmış şifreleme için AES-256-GCM ile birleştir
Önerilmez: Yeni Projelerde Argon2'nin Yerine Kullanmak
FIPS gereksinimleri olmayan yeni bir proje başlatıyorsanız, PBKDF2 Argon2id'ye kıyasla daha zayıf bir seçimdir. PBKDF2 bellek yoğun olmadığından GPU'lar saldırıları ucuza paralelleştirebilir. 600.000 yinelemeyle bile üst düzey bir GPU saniyede binlerce PBKDF2 tahmini deneyebilir. Argon2id varsayılan parametrelerle (47MB bellek, 1 yineleme) karşılaştırılabilir çalışma süresi elde ederken, bellek gereksinimi GPU paralelleştirmesini tamamen engeller.
- ❌ Argon2id kullanılabiliyorken yeni projelerde PBKDF2'den kaçının
- ✅ Argon2id (bellek yoğun, OWASP tercihi)
- ✅ scrypt (bellek yoğun, yaygın kullanılabilir)
- 💡 PBKDF2 yalnızca FIPS uyumluluğu zorunlu olduğunda tercih edilir
Önerilmez: Genel Veri Hash'leme
PBKDF2 bir anahtar türetme fonksiyonudur, genel amaçlı bir hash fonksiyonu değildir. Kasıtlı olarak yavaş tasarlanmıştır ve dosya içeriği, sağlama toplamları, ileti kimlik doğrulama veya tekilleştirme için hash'lemede asla kullanılmamalıdır. Veri bütünlüğü için SHA-256 veya SHA-512 kullanın. İleti kimlik doğrulama için HMAC-SHA256 kullanın. PBKDF2 çıktısını genel hash olarak kullanmak, hiçbir güvenlik faydası olmaksızın önemli CPU döngüsü israfına yol açar.
- ❌ Dosya sağlama toplamları veya veri bütünlüğü için PBKDF2 kullanmayın
- ❌ İleti kimlik doğrulama için PBKDF2 kullanmayın (HMAC-SHA256 kullanın)
- ✅ Genel veri hash'leme için SHA-256 / SHA-512
- ✅ Kimliği doğrulanmış ileti bütünlüğü için HMAC-SHA256
En İyi Uygulama Özeti
- FIPS uyumlu ortamlar için PBKDF2-HMAC-SHA256 (≥600.000 yineleme) veya HMAC-SHA512 (≥210.000) kullanın. Yineleme, algoritma ve tuzu içeren tam hash dizesini saklayın.
- FIPS gereksinimleri olmayan yeni projeler için Argon2id'yi tercih edin — bellek yoğundur ve karşılaştırılabilir performansla GPU saldırılarına karşı önemli ölçüde daha dirençlidir.
- Her parola için her zaman benzersiz rastgele tuz kullanın (bu araç tarafından otomatik oluşturulur). Tuzları uygulama kodunda asla yeniden kullanmayın veya sabit olarak kodlamayın.
- Donanım geliştikçe yineleme sayılarını zamanla artırın. Yineleme sayısı hash dizesinde saklandığından, eski ve yeni değerler bir arada var olabilir.
- PBKDF2'yi yalnızca giriş veya anahtar kurulumunda kullanın — her istekte asla kullanmayın. Yüksek frekanslı işlemler için kimlik doğrulamasından sonra token (JWT, oturum) verin.