eTamga
eTamga Dizin
Türkiye E-İmza & E-Dönüşüm Sağlayıcıları Kataloğu
eTamga Ansiklopedi 📅 Son Güncelleme: ⏱️ 4 dk okuma 🛡️ 2026 GİB / VUK Uyumlu

PBKDF2 (Password-Based Key Derivation Function 2)

Gelir İdaresi Başkanlığı teknik kılavuzları, Vergi Usul Kanunu ve UBL-TR standartları referans alınarak doğrulanmıştır.

Tanımı ve Standart Dokümanı (RFC 2898 / PKCS#5 v2.0)

PBKDF2 (Password-Based Key Derivation Function 2), kullanıcı tarafından belirlenen düşük entropili parolalardan kriptografik açıdan güçlü simetrik şifreleme anahtarları türetmek üzere tasarlanmış uluslararası bir anahtar türetme standardıdır. İlk olarak RSA Laboratories tarafından Public-Key Cryptography Standards #5 (PKCS#5 v2.0) dokümanında tanımlanmış, ardından İnternet Mühendisliği Görev Gücü (IETF) tarafından RFC 2898 ve ABD Ulusal Standartlar ve Teknoloji Enstitüsü (NIST) tarafından SP 800-132 standartlarıyla tescillenmiştir.

Düz metin parolaların veya doğrudan tek turlu hash özetlerinin (MD5, SHA-1, SHA-256) veri tabanlarında saklanması durumunda modern GPU ve ASIC donanımlarıyla saniyede milyarlarca deneme yapılabilmektedir. PBKDF2; kriptografik tuz (salt) kullanımı ve binlerce turluk yinelemeli çalışma faktörü (work factor) mekanizması ile bu saldırıların hesaplama maliyetini katlayarak parola güvenliğini temin eder.

Algoritmik Matematiksel Mimari ve Parametreler

PBKDF2 fonksiyonu beş temel girdi parametresi üzerinde deterministik olarak çalışır:

  • Parola (P): Kullanıcı tarafından girilen gizli metin dizisi.
  • Kriptografik Tuz (S - Salt): Kaba kuvvet ve gökkuşağı tablolarına karşı her kullanıcı için rastgele üretilen en az 128-bitlik (16 Bayt) tekil dizi.
  • İterasyon Sayısı (c): Algoritmanın iç döngüsünün kaç kez tekrarlanacağını belirleyen çalışma faktörü.
  • Türetilecek Anahtar Uzunluğu (dkLen): Elde edilmek istenen simetrik anahtarın bayt cinsinden uzunluğu (örneğin AES-256 için 32 Bayt).
  • Sözde Rastgele Fonksiyon (PRF): Genellikle HMAC-SHA-256 veya HMAC-SHA-512 tabanlı özetleme fonksiyonu.

Matematiksel olarak türetilen anahtar bloğu şu şekilde ifade edilir:

$$DK = \text{PBKDF2}(PRF, P, S, c, dkLen) = T_1 \parallel T_2 \parallel \dots \parallel T_l$$

Burada her bir $T_i$ bloğu, $c$ defa yinelenen XOR ($\oplus$) zinciri ile hesaplanır:

$$T_i = F(P, S, c, i) = U_1 \oplus U_2 \oplus \dots \oplus U_c$$

$$U_1 = PRF(P, S \parallel \text{INT\_32\_BE}(i)), \quad U_k = PRF(P, U_{k-1})$$

Kaba Kuvvet ve Gökkuşağı Tablolarına Karşı Güvenlik

PBKDF2'nin getirdiği iki katmanlı güvenlik bariyeri şunlardır:

  1. Gökkuşağı Tablosu (Rainbow Table) İflası: Her parola tekil bir rastgele tuz (salt) ile birleştirildiği için, önceden hesaplanmış milyarlarca hash değerini içeren saldırı tabloları tamamen işlevsiz hale gelir. Saldırgan her bir kullanıcı hesabı için baştan tablo oluşturmak zorunda kalır.
  2. Hesaplama Gecikmesi (Work Factor): 2026 yılı güncel OWASP ve NIST SP 800-132 rehberlerine göre; HMAC-SHA-256 kullanılan sistemlerde en az 600.000 iterasyon, HMAC-SHA-512 kullanılan sistemlerde ise en az 210.000 iterasyon tavsiye edilmektedir. Bu gecikme meşru bir kullanıcı için yalnızca 50-100 milisaniye sürerken, saniyede milyarlarca parola deneyen kaba kuvvet (brute-force) saldırganının hızını saniyede birkaç bin denemeye düşürerek saldırıyı imkansız kılar.

E-İmza, PKCS#12 ve Bilişim Güvenliğindeki Uygulamaları

PBKDF2 modern güvenlik altyapılarında yaygın olarak kullanılır:

  • PKCS#12 (.p12 / .pfx) Sertifika Dosyaları: E-İmza ve SSL sertifikalarının özel anahtarları (Private Key) dışa aktarılırken dosya şifrelemesi PBKDF2 ile türetilen AES anahtarıyla korunur.
  • Kablosuz Ağ Güvenliği (WPA2 / WPA3): Wi-Fi ağlarında paylaşılan parolanın (Pre-Shared Key - PSK) ağ anahtarına (Pairwise Master Key - PMK) dönüştürülmesinde 4096 iterasyonlu PBKDF2(HMAC-SHA1) kullanılır.
  • Tam Disk Şifreleme: Linux LUKS ve TrueCrypt/VeraCrypt mimarilerinde kullanıcı şifresinden ana şifreleme anahtarını çözmek için PBKDF2 uygulanır.

Modern Bellek Yoğun Alternatiflerle (Argon2, scrypt) Karşılaştırma

PBKDF2 CPU yoğun bir algoritmadır; bellek (RAM) gereksinimi çok düşüktür. Bu durum, ASIC ve özel FPGA donanımlarına sahip organize saldırganların paralel işlem üniteleriyle hızlanmasına kısmen zemin hazırlayabilmektedir. Bu nedenle günümüz modern sistemlerinde parola saklama için bellek-yoğun (memory-hard) Argon2id veya scrypt tercih edilmekle birlikte; FIPS 140-3 uyumluluğu, geniş donanım desteği ve RFC standartlarındaki köklü yeri nedeniyle PBKDF2 kurumsal sistemlerin anahtarı olmaya devam etmektedir.

Mevzuat İnceleme & Doğrulama: eTamga Editöryal Kurulu (17 Ekim 2026)
GitHub'da İyileştirme Öner