Kriptografi & Veri

Salt (Tuzlama)

👤 Güvenlik Uzmanı1/35 dk
İnteraktif sahne yükleniyor…
🎯 Neden önemli?

2012'de LinkedIn'in 6.5 milyon parola özeti sızdığında, parolalar SHA-1 ile özetlenmiş ama TUZLANMAMIŞTI — saldırganlar hazır gökkuşağı tablolarıyla milyonlarca parolayı saatler içinde çözdü; tek bir rastgele tuz bu felaketi önleyebilirdi.

Anlatım

NEDİR? Salt (tuzlama), bir parolanın özeti (hash) hesaplanmadan ÖNCE parolaya eklenen, her kullanıcı için benzersiz ve rastgele üretilen bir veri parçasıdır. Amaç, aynı parolayı kullanan iki kullanıcının bile veritabanında farklı özetlere sahip olmasını sağlamak ve önceden hesaplanmış saldırı tablolarını işe yaramaz hâle getirmektir. Tuz gizli bir anahtar DEĞİLDİR; özetin yanında açıkça saklanabilir — gücü gizliliğinden değil, benzersizliğinden ve rastgeleliğinden gelir. NASIL ÇALIŞIR? 1) Kullanıcı kaydolurken sistem kriptografik olarak güvenli bir rastgele tuz üretir (örneğin 16 bayt / 128 bit). 2) Tuz, kullanıcının parolasıyla birleştirilir: hash = HASH(tuz + parola). 3) Veritabanına parolanın kendisi değil, üretilen özet ile birlikte tuz saklanır. 4) Giriş sırasında sistem saklı tuzu alır, kullanıcının girdiği parolayla yeniden birleştirir, aynı özetleme işlemini yapar ve sonucu saklı özetle karşılaştırır. Eşleşirse parola doğrudur. Her kullanıcının tuzu farklı olduğu için, iki kullanıcı aynı parolayı seçse bile veritabanındaki özetleri tamamen farklı görünür. NEDEN ÖNEMLİ / İŞ YERİNDE Tuz olmadan, saldırganlar 'gökkuşağı tabloları' (rainbow table) denilen, milyonlarca parolanın önceden hesaplanmış özetini içeren listelerle bir veritabanı sızıntısındaki tüm özetleri toplu olarak çözebilir. Tuz, her parola için ayrı bir hesaplama zorunluluğu getirerek bu hazır tabloları işe yaramaz kılar; saldırganın her kullanıcı için ayrı ayrı uğraşması gerekir. Kurumsal bağlamda, bir veritabanı çalınsa bile tuzlanmış ve modern bir algoritmayla işlenmiş parolaların toplu olarak kırılması pratik olarak imkânsız hâle gelir — bu, KVKK/GDPR gibi düzenlemelerde 'uygun teknik tedbir' kapsamına da girer. DİKKAT / İYİ UYGULAMA • Tuz HER kullanıcı için benzersiz ve rastgele olmalı; sabit/ortak tek bir tuz kullanmak korumanın büyük kısmını yok eder. • Tuz, kriptografik güvenli bir rastgelelik kaynağıyla üretilmeli (örn. işletim sistemi CSPRNG'i). • Parolalar için düz SHA-256/MD5 yeterli değildir; bcrypt, scrypt veya Argon2 gibi tuzu içeren ve kasıtlı olarak yavaş (iş-faktörlü) algoritmalar tercih edilmelidir. • Pepper (biber), tuzdan farklı olarak gizli ve uygulama genelinde ortak tutulan, kodda/HSM'de saklanan ek bir sırdır; tuzun yerine değil tamamlayıcısı olarak kullanılır.

📌 Senaryolar
📌 Örnek 1 (Aynı parola, farklı özet): İki kullanıcı da parola olarak 'Yaz2024!' seçiyor. Açıklama: Kullanıcı A için tuz 'x9k2..', kullanıcı B için 'mq7p..' üretilir. HASH('x9k2..'+'Yaz2024!') ve HASH('mq7p..'+'Yaz2024!') tamamen farklı çıkar. Saldırgan veritabanına baktığında iki kullanıcının aynı parolayı kullandığını anlayamaz ve birini kırsa bile diğerine ücretsiz geçemez.
📌 Örnek 2 (Gökkuşağı tablosunu etkisizleştirme): Saldırgan elinde milyarlarca yaygın parolanın SHA-256 özetini içeren hazır bir tablo tutuyor. Açıklama: Tuzsuz bir sistemde sızan özetleri bu tabloda arayıp anında parolaları bulabilir. Ancak her özet rastgele bir tuzla hesaplandığında, saldırganın elindeki hazır tablo hiçbir kayda uymaz; saldırganın her kullanıcı için tuzu ekleyip tabloyu sıfırdan üretmesi gerekir ki bu ölçekte uygulanamaz.
📌 Örnek 3 (Modern parola saklama — bcrypt): Bir web uygulaması kayıt sırasında bcrypt kullanıyor. Açıklama: bcrypt tuzu kendisi üretir ve sonucun içine gömer; çıktı örneğin '$2b$12$' önekiyle başlar — buradaki '12' iş faktörünü (yavaşlatma derecesini), takip eden bölüm tuzu, kalan kısım ise özeti barındırır. Geliştirici tuzu ayrıca saklamak zorunda kalmaz; doğrulamada bcrypt aynı kaydı parse edip tuzu çıkarır.
Özet

• Salt (tuz), özet alınmadan önce parolaya eklenen, kullanıcıya özel rastgele değerdir. • Aynı parolaların farklı özetlere dönüşmesini sağlar; gökkuşağı tablolarını etkisizleştirir. • Gizli değildir — özetin yanında saklanabilir; gücü benzersizlik ve rastgelelikten gelir. • En iyi uygulama: bcrypt/scrypt/Argon2 gibi tuzu içeren, kasıtlı yavaş algoritmalar kullanmak.

✅ Mini-Test (3)
1.Parola tuzlamanın (salt) temel amacı aşağıdakilerden hangisidir?
2.Tuz (salt) gizli tutulması gereken bir sırdır ve veritabanında özetin yanında saklanması güvenlik açığıdır.
3.Aşağıdakilerden hangisi parola saklama için en uygun yaklaşımdır?
← Tüm sözlük terimleri · Farkındalık eğitimi