İçeriğe geç
parazade

Salt Ne Demek?

Yayın: · Son güncelleme:

Salt Ne Demek? Kısaca

Salt, bir şifre özetlenmeden önce şifreye eklenen ve her kullanıcı için ayrı üretilen rastgele değerdir. Aynı şifrelerin farklı özetler üretmesini sağlayarak hazır tablolarla yapılan şifre kırma saldırılarını zorlaştırır.

Salt nedir?
İçindekiler
  1. Salt ne demek?
  2. Hangi saldırıları engeller?
  3. Tek başına yeterli mi?

Salt ne demek?

Salt, İngilizcede "tuz" anlamına gelir. Yemeğe tuz eklemek tadını değiştirdiği gibi, şifreye eklenen bu rastgele değer de şifrenin özetini tamamen değiştirir. Kriptografide kullanıcı şifrelerini güvenli saklamanın temel tekniklerinden biridir.

Sistem, bir kullanıcı kayıt olurken rastgele bir salt üretir. Şifre bu salt ile birleştirilir ve ardından özetlenir. Salt gizli değildir, genellikle özetin yanında veri tabanında saklanır.

Hangi saldırıları engeller?

Salt olmadan aynı şifre her zaman aynı özeti üretir. Bu iki soruna yol açar. Birincisi, saldırganlar yaygın şifrelerin özetlerini önceden hesaplayıp rainbow table adı verilen dev tablolarda saklayabilir. İkincisi, veri tabanında özetleri aynı olan kullanıcılar aynı şifreyi kullandıklarını ele verir.

Bir örnekle bakalım. Ayşe ve Mehmet'in ikisi de "Yaz2024" şifresini kullanıyor olsun. Salt kullanılmayan bir sistemde ikisinin özeti aynıdır ve biri çözülünce diğeri de açığa çıkar. Salt kullanıldığında Ayşe'nin şifresi "Yaz2024+k9F2", Mehmet'inki "Yaz2024+Qp7x" gibi farklı değerlerle birleştirildiği için özetleri tamamen farklı olur.

Tek başına yeterli mi?

Yeterli değildir. Salt hazır tabloları etkisiz kılar, ama saldırgan tek tek tahmin yapmaya devam edebilir. Bu yüzden salt, bcrypt ya da Argon2 gibi yavaş çalışan algoritmalarla birlikte kullanılmalıdır.

Bazı sistemler ek olarak "pepper" adı verilen ve veri tabanından ayrı saklanan gizli bir değer de kullanır. Kullanıcı tarafında ise kural değişmez: salt, zayıf bir şifreyi güçlü yapmaz, sadece kırılmasını zorlaştırır.

Sıkça Sorulan Sorular

Salt gizli tutulmak zorunda mı?

Hayır, salt genellikle özetin yanında veri tabanında açıkça saklanır. Görevi gizli olmak değil, her şifre için özeti benzersiz hâle getirmektir.

Salt ile pepper arasındaki fark nedir?

Salt her kullanıcı için ayrı üretilir ve veri tabanında saklanır. Pepper ise tüm şifrelere eklenen ve veri tabanından ayrı, gizli tutulan ek bir değerdir.

İlgili terimler

İlgili yazılar