Tuz (Kriptografi) nedir?
Kriptografik tuz, özdeş girdilerin farklı çıktılar üretmesini sağlamak ve önceden hesaplanmış saldırı tablolarını etkisiz kılmak için bir karma fonksiyonu veya anahtar türetme fonksiyonu tarafından işlenmeden önce parola veya başka bir girdiyle birleştirilen rastgele değerdir.
Diğer adlarıyla: salt, cryptographic salt
Tuz olmadan, özdeş parolalar her zaman özdeş karmalar üretir. Yaygın parolaları karma değerleriyle eşleştiren önceden hesaplanmış tablosu (gökkuşağı tablosu) olan saldırgan, çalınan veritabanındaki her eşleşen karmayı anında arayabilir. Tuzlama, karma öncesinde her parolaya benzersiz rastgele değer karıştırarak bu saldırıyı engeller. İki kullanıcı aynı parolaya sahip olsa bile, farklı tuzlar farklı karma çıktıları sağlar.
Tuzun gizli olması gerekmez — genellikle karma veya türetilmiş anahtarla birlikte düz metin olarak depolanır. Amacı, saldırganı önceden hesaplanmış tablolar yerine her karmayı tek tek hesaplamaya zorlamaktır. 16 baytlık rastgele tuz, her parola için 2^128 olası varyasyon sağlar; bu da önceden hesaplamayı tamamen pratik dışı bırakır.
Tuzlar iki bağlamda vazgeçilmezdir: parola karma işlemi (veritabanlarında depolanan parola karmalarını korudukları yer) ve anahtar türetme (aynı parola cümlesinin farklı işlemler için farklı türetilmiş anahtarlar üretmesini sağladıkları yer). Her iki durumda da tuz, kriptografik güvenli rastgele sayı üreticisi kullanılarak üretilmeli ve işlem başına benzersiz olmalıdır — asla kullanıcılar veya şifreleme işlemleri arasında yeniden kullanılmamalıdır.
Vaulted Tuz (Kriptografi) nasıl kullanır
Bir Vaulted gizli bilgisine parola cümlesi eklendiğinde, Web Crypto API aracılığıyla istemci tarafında rastgele 16 baytlık tuz üretilir. Bu tuz, AES-KW sarmalama anahtarı türetmek için parola cümlesi ve 100.000 iterasyonla birlikte PBKDF2'ye beslenir. Tuz daha sonra alıcının tarayıcısının parola cümlesinden aynı sarmalama anahtarını yeniden türetebilmesi için URL parçasına dahil edilir. Parola cümlesine sahip her gizli bilgi kendi benzersiz tuzunu alır; bu, aynı parola cümlesinin farklı gizli bilgiler için kullanılmasının farklı sarmalama anahtarları üretmesini sağlar.