SORU
7 Aralık 2008, Pazar


&Quot;çift karma&; bir şifre sadece bir kez karma, daha az güvenli"?

Depolama önce iki kez şifre karma, herhangi bir sadece bir kez karma, daha fazla veya daha az güvenli?

Bahsettiğim şey bu yapıyor:

$hashed_password = hash(hash($plaintext_password));

bunun yerine:

$hashed_password = hash($plaintext_password);

Eğer daha az Güvenli ise, iyi bir açıklama (bağlantı) verebilir misiniz?

Ayrıca, karma işlevi kullanılan bir fark yaratır mı? Sana karışık eğer herhangi bir fark aynı hash fonksiyonunu tekrar yerine md5 ve sha1 (örneğin) yapar mı?

"Çift karma" iki kez şifre daha gizlenmiş yapmak için bir girişim karma bahsediyorum. dediğimde NOT 1: technique for resolving collisions bahsetmiyorum.

NOT 2: Gerçekten güvenli hale getirmek için rastgele bir tuz eklemek lazım, biliyorum. Soruyu iki kez aynı algoritma ile karma veya karma acıyor yardımcı olsun.

CEVAP
7 Aralık 2008, Pazar


Bir kez bir parola karma güvensiz

Hayır, birden fazla sağlamalarının daha az güvenli değil, güvenli bir parola kullanın vazgeçilmez bir parçasıdır.

Karma yineleme saldırgan adayların listesini her şifre denemek için gereken süreyi artırır. Kolayca sene saatler bir şifre saldırı için gereken süreyi artırabilir.

Basit yineleme yeterli değil

Sadece giriş çıkış için karma zincirleme güvenlik için yeterli değil. Yineleme şifre entropi koruyan bir algoritma kapsamında yer almalıdır. Neyse ki, kendi tasarımı güven vermek için yeterli inceleme vardı çeşitli yayınlanan algoritmaları vardır.

PBKDF2 anahtar türetme gibi iyi bir karma algoritma her yuvarlak içine şifre, hash çıktı çarpışmalar hakkında endişeleri hafifletici enjekte ediyor. PBKDF2 parola kimlik doğrulama olarak kullanılır. Bcrypt şifrelemesi bir adım ile anahtar türetme şöyle; eğer anahtar türetme tersine çevirmek için hızlı bir şekilde tespit edilirse, bir saldırganın hala bilinen düz metin saldırılarına tamamlamak için vardır.

Nasıl bir şifre kırmak için

Kaydedilen şifreler çevrimdışı bir saldırıya karşı koruma gerekir. Eğer şifreleri tuzlu değilse, önceden hesaplanmış sözlük saldırısı (örneğin, bir Gökkuşağı Tablo kullanarak) ile kırık olabilir. Aksi takdirde, saldırganın zaman her şifre için bir karma değeri hesaplamak için harcamak ve eğer saklı karma eşleşip eşleşmediğini görmek gerekir.

Tüm şifreleri aynı derecede olası değildir. Saldırganların etraflıca kısa şifreleri arama olabilir, ama kaba kuvvet başarı şanslarını keskin her bir ek karakter ile damla biliyorlar. Bunun yerine, büyük olasılıkla parola sıralı bir listesini kullanırlar. "Password123" ve daha az sık kullanılan şifreleri kavramalıdır. ile başlar

Hadi saldırganların bir liste uzun, 10 milyar adaylar; masaüstü bir sistem saniyede 1 milyon sağlamalarının hesaplamak da farz olduğunu söylüyorlar. Saldırgan yalnızca bir yineleme kullanılan tüm listesi üç saatten az bir süre test edebilirsiniz. Ama eğer sadece 2000 yineleme kullanılırsa, o zaman neredeyse 8 ay kadar uzanır. Daha sofistike bir saldırgan yenmek-için;bir GPU gücü, örneğin dokunun bir program indirme yeteneğine sahip-Daha fazla yineleme gerekir.

Ne kadarı yeterli?

Kullanmak için yineleme sayısı bir anlaşma güvenlik ve kullanıcı deneyimi arasında. Saldırganlar tarafından kullanılan özel bir donanım ucuz, ama it can still perform hundreds of millions of iterations per second. performansısaldırganınsistem bir şifre kırmak için ne kadar sürer yineleme sayısı verilen belirler. Ancak uygulama bu özel bir donanım kullanmak olası değildir. Kaç tekrarlamalar ağırlaştırıcı kullanıcılar bağlı olmadan gerçekleştirebilirsinizseninsistem.

Muhtemelen kullanıcıları ¾ ikinci ya da öylesine sırasında ekstra bir kimlik doğrulama bekleyelim. Hedef platform profil, göze mümkün olduğunca çok sayıda yineleme kullanın. Platformlar ettim test (bir kullanıcı bir mobil cihaz ya da birçok kullanıcı bir sunucu platformu) rahatça desteği PBKDF2 ile 60.000 ila 120,000 yineleme, ya da bcrypt maliyet faktörü 12 veya 13.

Daha fazla arka plan

Okumak salt rolünü yetkili bilgi için #5 AMAÇ ve karma yineleme. PBKDF2 parolalar, şifreleme anahtarları oluşturmak için bir anlamı olsa da, iyi bir-şekilde-karma bir parola kimlik doğrulama için çalışıyor. Bcrypt her tekrarında daha az yineleme kullanabilirsiniz SHA-2 karma daha pahalı, ama fikir aynı. Bcrypt da türetilmiş anahtar tanınmış bir düz metin şifrelemek için kullanarak PBKDF2 tabanlı en çözümlerinin bir adım ötesine geçiyor. Ortaya çıkan şifre metni "karma" meta-veri ile birlikte. depolanır Ancak, hiçbir şey PBKDF2 ile aynı şeyi yapıyor sizi durdurur.

Burada bu konuyla ilgili yazdığım diğer cevapları:

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • David Wills

    David Wills

    31 Aralık 2007
  • sinumatic

    sinumatic

    19 Aralık 2006
  • Chaîne de TheMoustic

    Chaîne de T

    5 Kasım 2006