Tuzlar olmak kadar güçlü gerekiyor?

6 Cevap php

Tuzlar olmak kadar güçlü gerekiyor?

Şu anda ben kullanıcı kaydı üzerine bir "benzersiz" bir tuz üretmek için bu işlevi kullanın:

$salt = substr(str_shuffle('0123456789abcdefghijklmnopqrstuvwxyz'), 0, 12);

Ben o şifre ile birlikte sha1 ile karma.

Sen ne düşünüyorsun?

PS. Ben MySpace BÜYÜK alma konusunda planlama değilim.

6 Cevap

Rastgele tuzların amacı veritabanı tablosu sızdırılmış olması gerektiğini basit bir gökkuşağı tablo, şifreleri şifresini çalışmaz sağlamaktır. Her kayıt kendi tuzu varsa, yeni bir gökkuşağı tablo her satır için gerekli olacaktır.

Sizin karıştırma yaklaşımı gayet iyi. Tek bir gökkuşağı tablo şifreleri bütün tablo taviz vermeyecek, böylece tuzları, her kayıt için farklı olması için ana noktasıdır. Tuzların "gücü" olarak önemli değildir.

O gerçekten tuz ne kadar güçlü bir sorun değil güvenliği söz konusu olduğunda, karma işlevi nasıl hesaplama pahalı bir mesele. SHA1 ve MD5 ucuz. Hızlı (zayıf) bir özetleme fonksiyonları ile sopa gidiyoruz - ve bu küçük siteler için mükemmel kabul edilebilir, ben başka türlü ima etmek istemiyorum - o zaman ben tuz ne kadar şifreliyazımsal-rastgele dert olmaz. Sürece rastgele olduğu gibi, bu tam bir saldırı vektörü (gökkuşağı tabloları) ortadan kaldırılması amacına hizmet edeceğiz.

Karakterleri karıştırma ve ilk 12 alma yöntemi (tekrar olmadan) 12 karakterleri sipariş konularda toplama eşdeğerdir. Sen 36! / (36-12) var! ~ ~ 2 ^ Bunu yapmanın 59 olası yolları.

Eğer 36 harf kümesinden (mümkünse tekrar ile) 12 öğeleri almak ise, bunu yapmanın 36 ^ 12 ~ ~ 2 ^ 62 olası yolu vardır.

Yani kullanılan yöntem size entropi yaklaşık 59 bit ile sonuna kadar. Ben herhangi bir uygulama için yeterli ve sadece 8 kat daha az kombinasyonları vermektedir söyleyebilirim tekrarlar ile elemanları toplama.

Tuz nasıl güçlü tüm güvenlik konusunda ne kadar endişeli bağlıdır. Sadece kullanıcı adı (çok güçlü değil,) ile tuz olabilir ya da yaptığı gibi, her kullanıcı için benzersiz bir tuz oluşturabilir.

Eğer gerçekten endişeli iseniz, aynı zamanda bir şifreleme anahtarı oluşturun ve bu her şifreleyebilirsiniz.

Ona daha eklemek, daha güçlü o, tabii ki olacak. Bu ne kadar güvenlik konusunda endişeli hepsi.

Bunu tuz için bazı özel karakterleri eklemeyi deneyebilirsiniz ve çok daha güçlü olacaktır.

12 karakter veya daha fazla tuz uzunlukları kırılması zor ancak kolayca başka karakterler de yani harfler ve özel karakterler kullanarak tuzları güçlü yapabilirsiniz.

Zaten karma tuzlama ve her kaydı sağlamakta, bu very important olan kendi bireysel tuz kullanılmaktadır.

Herhangi yeterince rastgele tuz "yeterince" güçlü. Daha rasgelelik ve tuz vardır daha fazla karakter, karma, ancak birkaç karakter uzunluğunda ve rastgele işler var şey için daha iyi.

İşte şifre güvenliği ile ilgili bazı ilginç bağlantılar var: