Skip to content
AppVault

FILE G2 / KRİPTOGRAFİ

PBKDF2 Açıklaması: Kasanızı Koruyan Parola Tabanlı Anahtar Türetme Fonksiyonu

PBKDF2, dünyada en yaygın kullanılan parola tabanlı anahtar türetme fonksiyonudur. İnsanın hatırlayabileceği bir parolayı, kaba kuvvet saldırılarına dayanabilecek kriptografik bir anahtara dönüştürür. Bu makale, PBKDF2'nin nasıl çalıştığını, doğrudan hashlemenin neden yetersiz olduğunu, tuzların ve iterasyon sayılarının rolünü ve AppVault'un dosyalarınızı korumak için 600.000 iterasyonlu SHA-256 ile PBKDF2'yi nasıl kullandığını açıklar.

Cover illustration for: PBKDF2 Açıklaması: Kasanızı Koruyan Parola Tabanlı Anahtar Türetme Fonksiyonu
FILE COVER · / GUIDES / PBKDF2-EXPLAINED /

GÜNCELLENDİ · 2026-05-16 · APPVAULT TARAFINDAN İNCELENDİ

TL;DR

PBKDF2 (Parola Tabanlı Anahtar Türetme Fonksiyonu 2), RFC 2898'de tanımlanan bir anahtar germe algoritmasıdır. Bir parolaya ve bir tuza, genellikle HMAC-SHA256 olmak üzere bir sözde rastgele fonksiyonu birçok kez uygulayarak türetilmiş bir anahtar üretir. İterasyon sayısı, kaba kuvvet saldırılarını katlanarak daha pahalı hale getirir. OWASP, 2026 itibarıyla SHA-256 için 600.000 iterasyon önermektedir. AppVault, 600.000 iterasyonlu PBKDF2, kurulum başına 128 bitlik bir tuz kullanır ve çıktıyı donanıma bağlı koruma için Secure Enclave anahtarıyla sarar.

iPhone’unuzun kilidini her açtığınızda, bir web sitesine şifre girdiğinizde veya bir dosya kasasını açtığınızda, bir yazılım sırrınızı kriptografik bir anahtara dönüştürür. Bu dönüşüm basit bir hash değildir. Kaba kuvvet saldırılarını pahalı hale getiren, dikkatlice tasarlanmış bir fonksiyondur. Bu fonksiyonların en yaygın olanı PBKDF2’dir.

PBKDF2, Parola Tabanlı Anahtar Türetme Fonksiyonu 2 anlamına gelir. RFC 2898’de (PKCS #5 v2.0) tanımlanmıştır ve yirmi yılı aşkın süredir NIST tarafından önerilen bir standarttır. Bir parola, bir tuz, bir iterasyon sayısı ve istenen bir anahtar uzunluğu alır ve şifreleme, kimlik doğrulama veya diğer kriptografik işlemler için kullanılabilecek türetilmiş bir anahtar üretir.

Bu makale, PBKDF2’nin nasıl çalıştığını, doğrudan hashlemenin neden yetersiz olduğunu, tuzların ve iterasyon sayılarının rolünü, OWASP 2026’nın SHA-256 için 600.000 iterasyon önerisini ve PBKDF2’nin Argon2id, bcrypt ve scrypt gibi modern alternatiflerle nasıl karşılaştırıldığını açıklar. Ayrıca AppVault’un şifreleme yığınının bir parçası olarak PBKDF2’yi nasıl kullandığını da açıklar.

Doğrudan Hashleme Neden Başarısız Olur

Bir parolayı alıp SHA-256 hash’ini hesaplarsanız, 256 bitlik bir değer elde edersiniz. Bu değer bir anahtar olarak kullanılabilir. Sorun hızdır. Modern bir GPU saniyede milyarlarca SHA-256 hash’i hesaplayabilir. Tek bir tüketici GPU’suna sahip bir saldırgan, her 8 karakterli küçük harf parolasını birkaç dakika içinde deneyebilir.

Doğrudan hashleme ayrıca ön hesaplamaya karşı yerleşik bir korumaya sahip değildir. Bir tuz olmadan, aynı parola her zaman aynı hash’i üretir. Saldırganlar gökkuşağı tabloları (önceden hesaplanmış hash zincirleri) oluşturabilir ve parolayı anında kurtarmak için hash’i arayabilir.

PBKDF2 her iki sorunu da çözer. Hash’i binlerce kez tekrarlayarak her denemeyi hesaplama açısından pahalı hale getirir. Bir tuz gerektirir, böylece aynı parolalar farklı anahtarlar üretir. İterasyon sayısı ve tuzun kombinasyonu, hızlı bir hash’i yavaş, benzersiz bir türetmeye dönüştürür.

PBKDF2 Nasıl Çalışır

PBKDF2, tipik olarak HMAC-SHA256 veya HMAC-SHA1 olan bir sözde rastgele fonksiyon (PRF) üzerine kuruludur. Algoritma şu şekilde çalışır:

  1. Parola ve tuz birleştirilir.
  2. PRF, bir blok sayacıyla birleştirilmiş tuza uygulanır (PRF çıktısından daha uzun anahtar uzunlukları için).
  3. Çıktı, önceki iterasyonun sonucuyla XOR’lanır (ilk iterasyon için önceki sonuç, PRF çıktısının kendisidir).
  4. 2-3. adımlar belirtilen iterasyon sayısı kadar tekrarlanır.
  5. Nihai çıktı, türetilmiş anahtardır.

İterasyon sayısı kritik parametredir. Her iterasyon sabit miktarda iş ekler. Bir saldırgan bir parolayı test etmek isterse, tüm iterasyon zincirini çalıştırmalıdır. 600.000 iterasyonla, tek bir parola denemesi, tek bir SHA-256 hash’inden kabaca 600.000 kat daha uzun sürer.

Tuz, kullanıcı başına veya örnek başına benzersiz olmalıdır. NIST tarafından önerilen minimum 128 bitlik (16 bayt) bir tuzdur. Tuz, kimlik doğrulama sırasında türetmenin tekrarlanabilmesi için türetilmiş anahtarın (veya kasa meta verilerinin) yanında saklanır.

OWASP 2026 Önerisi

OWASP, çeşitli anahtar türetme fonksiyonları için iterasyon sayısı önerileri sağlayan bir Parola Depolama Hile Sayfası yayınlar. 2026 itibarıyla, PBKDF2-HMAC-SHA256 için öneri 600.000 iterasyondur. PBKDF2-HMAC-SHA1 için öneri 1.300.000 iterasyondur, çünkü SHA1 160 bitlik bir çıktı üretir ve iterasyon başına biraz daha hızlıdır.

Bu sayılar keyfi değildir. Modern tüketici donanımında tek bir parola denemesinin yaklaşık 0,1 saniye sürmesi için kalibre edilmişlerdir. Bu gecikme meşru bir kullanıcı için fark edilemez, ancak kaba kuvvet saldırılarını aşırı derecede yavaşlatır. 100 GPU’lu bir kümeye sahip bir saldırgan, saniyede milyarlarca değil, yalnızca birkaç yüz parola deneyebilir.

Donanım geliştikçe iterasyon sayısı zamanla artırılmalıdır. OWASP önerilerini periyodik olarak günceller. AppVault, 2026 kılavuzuna uygun olarak PBKDF2-HMAC-SHA256 için 600.000 iterasyon kullanır.

İterasyon Sayısının Ödünleşimleri

Daha yüksek iterasyon sayıları kaba kuvvet saldırılarını zorlaştırır, ancak meşru cihazda anahtarı türetmek için gereken süreyi de artırır. Bir iPhone’da, 600.000 iterasyonluk HMAC-SHA256 yaklaşık 0,2 saniye sürer. Bu, bir kasa açma için kabul edilebilir. Ancak iterasyon sayısı 10 milyona çıkarılırsa, açma süresi 3 saniyeyi aşar ve kullanıcı deneyimini bozar.

Ayrıca bir güç tüketimi ödünleşimi de vardır. Mobil cihazların sınırlı pili vardır. Her iterasyon CPU döngüsü tüketir. AppVault, pili tüketmeden veya kullanıcıyı rahatsız etmeden güçlü koruma sağlayan bir iterasyon sayısı seçerek güvenlik ve kullanılabilirliği dengeler.

Diğer bir ödünleşim de bellek kullanımıdır. PBKDF2 bellek yoğun değildir. İterasyon sayısından bağımsız olarak küçük, sabit miktarda bellek kullanır. Bu, onu birçok parola denemesini paralel hale getirebilen GPU ve ASIC saldırılarına karşı savunmasız hale getirir. Argon2id ve scrypt gibi bellek yoğun fonksiyonlar, deneme başına büyük miktarda bellek gerektirir ve bu da paralel saldırıları çok daha pahalı hale getirir. PBKDF2, bellek yoğunluğu eksikliğini yüksek bir iterasyon sayısıyla ve AppVault durumunda Secure Enclave aracılığıyla donanım bağlamayla telafi eder.

PBKDF2 vs. Argon2id, bcrypt ve scrypt

PBKDF2, parola tabanlı tek anahtar türetme fonksiyonu değildir. Yaygın olarak kullanılan diğer üç fonksiyon şunlardır: bcrypt, scrypt ve Argon2id. Her birinin farklı tasarım hedefleri ve güvenlik özellikleri vardır.

Bcrypt, 1999’da tasarlanmıştır ve Blowfish tabanlı bir anahtar programı kullanır. Sabit miktarda bellek (4 KB) gerektirdiği ve yerleşik bir maliyet faktörüne sahip olduğu için GPU saldırılarına karşı dirençlidir. Bcrypt yaygın olarak desteklenir, ancak maksimum parola uzunluğu 72 bayttır. CPU’larda Argon2id’den daha yavaş olduğu ve değişken bellek kullanımını desteklemediği için yeni sistemler için önerilmez.

Scrypt, 2009’da tasarlanmıştır ve bellek yoğundur. Büyük miktarda bellek (yapılandırılabilir) ve CPU süresi gerektirir. Scrypt, ASIC ve GPU saldırılarına karşı dirençlidir çünkü bellek bant genişliği darboğaz haline gelir. Bazı kripto para cüzdanlarında ve dosya şifreleme araçlarında kullanılır. Bununla birlikte, scrypt PBKDF2’den daha az yaygın olarak uygulanır ve bir NIST standardı yoktur.

Argon2id, 2015 Parola Hashleme Yarışması’nın galibidir. Yeni sistemler için en modern ve önerilen KDF’dir. Argon2id bellek yoğun, CPU yoğun ve yan kanal saldırılarına karşı dirençlidir. Üç çeşidi vardır: Argon2d (veriye bağımlı), Argon2i (veriden bağımsız) ve Argon2id (hibrit). OWASP, yeni uygulamalar için Argon2id’i önerir.

PBKDF2, basit, standartlaştırılmış ve her büyük kriptografik kütüphanede mevcut olduğu için en yaygın kullanılan KDF olmaya devam etmektedir. iOS’un CommonCrypto’sunda, Android’in KeyStore’unda ve birçok kurumsal sistemde varsayılandır. Platform sınırlamaları veya uyumluluk gereksinimleri nedeniyle Argon2id’i kullanamayan uygulamalar için, yüksek iterasyon sayısı ve donanım bağlamalı PBKDF2 güçlü bir seçimdir.

AppVault PBKDF2’yi Nasıl Kullanır

AppVault, 600.000 iterasyon ve kurulum başına 128 bitlik bir tuz ile PBKDF2-HMAC-SHA256 kullanır. Tuz, ilk kurulum sırasında oluşturulur ve cihazın Secure Enclave’inde saklanır. Türetilmiş anahtar daha sonra Secure Enclave içinde oluşturulan ve çipi asla terk etmeyen bir anahtar tarafından sarılır. Bu, donanıma bağlı koruma sağlar: bir saldırgan PBKDF2 çıktısını çıkarsa bile, Secure Enclave anahtarı olmadan kullanamaz.

AppVault’un 5×5 ızgarasındaki Desen Kilidi, bir parola dizisine dönüştürülür. Bu dizi, tuzla birlikte PBKDF2’ye beslenir. Ortaya çıkan türetilmiş anahtar, kasanın kataloğunu ve her dosyayı ayrı ayrı AES-256-GCM kullanarak dosya başına benzersiz bir 96 bitlik nonce ile şifrelemek için kullanılır.

AppVault’un sıfır bilgi mimarisi, parolanın cihazdan asla ayrılmadığı anlamına gelir. PBKDF2 türetmesi tamamen iPhone’da gerçekleşir. AppVault’un sunucuları (ki yoktur) parolayı veya türetilmiş anahtarı asla görmez. Tehdit modeli, bir saldırganın cihaza fiziksel erişim sağlayabileceğini varsayar, ancak parola ve Secure Enclave anahtarı olmadan kasa mühürlü kalır.

Bu kategorideki diğer kasa uygulamaları, anahtar türetme için farklı yaklaşımlar benimser. Mimari dökümler — iterasyon sayıları, tuz işleme, donanım bağlamaya karşı yalnızca yazılım anahtar saklama — özel karşılaştırma sayfalarında yer alır: AppVault vs Vaultaire ve AppVault vs Keepsafe. AppVault, bağımsız doğrulama için ön koşul olan birincil kaynak alıntılarıyla tam kriptografi yığınını yayınlar.

Geliştiriciler için Pratik Hususlar

PBKDF2 uyguluyorsanız, şu yönergeleri izleyin:

  • PRF olarak HMAC-SHA256 kullanın. SHA1 kabul edilebilir ancak daha fazla iterasyon gerektirir.
  • Kullanıcı başına veya örnek başına en az 16 baytlık rastgele bir tuz oluşturun.
  • İterasyon sayısını mevcut OWASP önerisine (2026 itibarıyla SHA-256 için 600.000) ayarlayın.
  • Türetmenin tekrarlanabilmesi için tuzu ve iterasyon sayısını türetilmiş anahtarın (veya kasa meta verilerinin) yanında saklayın.
  • Cihaz tehlikeye girse bile türetilmiş anahtarı korumak için donanım bağlamayı (örneğin, Secure Enclave, TPM) düşünün.
  • Argon2id mevcutsa, kimlik doğrulama sistemlerinde parola depolama için PBKDF2 kullanmayın. PBKDF2, yerel şifreleme senaryolarında anahtar türetme için en uygunudur.

Sonuç

PBKDF2, yirmi yılı aşkın süredir parolaları ve şifreleme anahtarlarını koruyan, savaşta test edilmiş bir anahtar türetme fonksiyonudur. En modern KDF değildir, ancak en yaygın desteklenendir ve doğru yapılandırıldığında kaba kuvvet saldırılarına karşı güçlü koruma sağlar. OWASP 2026’nın SHA-256 için 600.000 iterasyon önerisi, her parola denemesinin saldırganları caydıracak kadar pahalı olmasını sağlar.

AppVault, dosyalarınızı korumak için 600.000 iterasyon, kurulum başına bir tuz ve Secure Enclave sarma ile PBKDF2 kullanır. Yüksek iterasyon sayısı ve donanım bağlamanın kombinasyonu, kasayı hem yazılım hem de fiziksel saldırılara karşı dirençli hale getirir. Parola sıfırlama yok, arka kapı yok, sunucu tarafında anahtar kurtarma yok. Verilerinizin güvenliği, parolanızın gücüne ve PBKDF2 türetmesinin bütünlüğüne bağlıdır.

AppVault’un kriptografiyi nasıl uyguladığına dair daha derin bir bakış için şifreleme genel bakışına ve tehdit modeline göz atın.

DIAGRAM · 03

DOSSIER

VAULT CATALOG · ENCRYPTED SEALED FILE COUNT UNKNOWABLE WITHOUT KEY
VAULT CONTAINER — sealed catalog, indistinguishable from random data

QUESTIONS

10 sharp answers.

  1. 01 PBKDF2 ne için kullanılır?
    PBKDF2, bir paroladan kriptografik bir anahtar türetmek için kullanılır. Disk şifreleme, parola yöneticileri, dosya kasaları ve kimlik doğrulama sistemlerinde yaygın olarak kullanılır.
  2. 02 Neden bir parolayı doğrudan hashleyemiyorsunuz?
    Doğrudan hashleme (örneğin, parolanın SHA-256'sı) hızlıdır. Bir saldırgan, bir GPU ile saniyede milyarlarca hash hesaplayabilir. PBKDF2, hash'i binlerce kez tekrarlayarak türetmeyi yavaşlatır ve kaba kuvvet saldırılarını pratik olmaktan çıkarır.
  3. 03 PBKDF2 nasıl çalışır?
    PBKDF2, bir parola, bir tuz, bir iterasyon sayısı ve istenen bir anahtar uzunluğu alır. HMAC'ı (örneğin, HMAC-SHA256) tekrar tekrar uygular ve her iterasyonun çıktısını bir sonrakine besler. Nihai çıktı, türetilmiş anahtardır.
  4. 04 PBKDF2'de tuz nedir?
    Tuz, hashlemeden önce parolayla birleştirilen, en az 16 baytlık rastgele bir değerdir. Aynı parolanın farklı kullanıcılar veya örnekler için farklı anahtarlar üretmesini sağlayarak gökkuşağı tablosu saldırılarını etkisiz hale getirir.
  5. 05 2026'da PBKDF2 için önerilen iterasyon sayısı nedir?
    OWASP, PBKDF2-HMAC-SHA256 için 600.000 iterasyon önermektedir. PBKDF2-HMAC-SHA1 için, SHA1'in daha küçük çıktısı nedeniyle öneri 1.300.000 iterasyondur.
  6. 06 PBKDF2, bcrypt'ten daha mı iyidir?
    İkisi de anahtar germe fonksiyonlarıdır ancak tasarım açısından farklılık gösterirler. Bcrypt, sabit miktarda bellek gerektirdiği için GPU saldırılarına karşı daha dirençlidir. PBKDF2 daha yaygın olarak desteklenir ve daha yüksek iterasyon sayılarıyla ayarlanabilir. Yeni sistemler için Argon2id tercih edilir, ancak donanım hızlandırması mevcut olmadığında PBKDF2 sağlam bir seçenek olmaya devam eder.
  7. 07 PBKDF2, Argon2id ile nasıl karşılaştırılır?
    Argon2id, Parola Hashleme Yarışması'nın galibidir ve GPU ve ASIC saldırılarına karşı dirençli olacak şekilde bellek yoğun olarak tasarlanmıştır. PBKDF2 bellek yoğun değildir, bu nedenle paralel saldırılara karşı daha savunmasızdır. Ancak PBKDF2 daha basittir, daha yaygın olarak uygulanır ve yüksek iterasyon sayıları ve donanım bağlamayla (örneğin, Secure Enclave) birleştirildiğinde yeterlidir.
  8. 08 PBKDF2 GPU'larla kırılabilir mi?
    Evet, ancak iterasyon sayısı onu yavaşlatır. 600.000 iterasyonla, tek bir GPU saniyede yalnızca birkaç yüz parola deneyebilirken, tek bir SHA-256 hash'i için bu sayı milyarları bulur. Bununla birlikte, özel ASIC'ler PBKDF2'ye bellek yoğun fonksiyonlardan daha hızlı saldırabilir.
  9. 09 AppVault PBKDF2 kullanıyor mu?
    Evet. AppVault, 600.000 iterasyon ve kurulum başına 128 bitlik bir tuz ile PBKDF2-HMAC-SHA256 kullanır. Türetilmiş anahtar daha sonra iPhone Secure Enclave içinde oluşturulan bir anahtar tarafından sarılarak donanıma bağlı koruma sağlar.
  10. 10 Kasa parolamı unutursam ne olur?
    AppVault'un parola sıfırlama özelliği yoktur. Kasa mühürlü kalır. Kurulum sırasında, anahtarı yeniden türetmek için kullanılabilecek isteğe bağlı bir yazılı kurtarma ifadesi oluşturabilirsiniz. Bu olmadan veriler kurtarılamaz.

BAŞLAYIN

Kasayı mühürleyin.

İndirmesi ücretsiz. İlk kasa sonsuza kadar ücretsiz. Yalnızca onu aştığınızda yükseltin.