SORU
26 Ocak 2009, PAZARTESİ


BCrypt C kullanmak için iyi bir karma algoritma#? Nerede bulabilirim?

Bir şifre karma, birçok programcı BCrypt algoritması kullanarak tavsiye okudum.

C programlama I am ve eğer biri BCrypt için iyi bir uygulama biliyor acaba? this page ama eğer gerçekten sahte olup olmadığını bilmiyorum buldum.

Ben parola karma bir düzen seçerken nelere dikkat etmelisiniz? BCrypt " iyi " bir uygulama mı?

CEVAP
14 Aralık 2010, Salı


İlk olarak, bazı şartlar önemli

Hashing- Bir dize almak ve özgün dizeye geri alınamaz bir karakter dizisi üreten bir hareket.

Symmetric Encryption- (Genellikle sadece'') - bir dize almak ve bir karakter dizisi üretme hareket şifreleme . sevk ^strong>olabilirbu şifreli aynı şifreleme anahtarını kullanarak özgün dizeye şifresi.

Rainbow Table- tüm karakterler varyasyon içeren bir arama tablosu belirli bir karma algoritma sağlaması.

Saltbilinen bir rasgele bir dize sağlaması için önce özgün dize eklenir.

İçin .NET Çerçeve, Bcrypt henüz yokdoğrulandıreferans uygulama. Bu, varolan bir uygulama ciddi hatalar olup olmadığını bilmek yolu yoktur, çünkü bu önemlidir. BCrypt for .NET here uygulaması alabilirsiniz. İyi ya da kötü bir uygulama olup olmadığını söylemek kriptografi hakkında yeterince bilgim yok. Kriptografi çok derin bir alandır.Kendi şifreleme algoritması oluşturmak için çalışmayın. Cidden.

Eğer kendi şifrenizi güvenlik (iç çekiş) uygulamak için gidiyoruz eğer, o zaman birkaç şey yapmanız gerekir:

  1. relatively secure hash algorithm kullanın.
  2. Tuz sağlaması için önce şifre her.
  3. * *7, ve bir mağaza parola ile tuz kullanın.
  4. Güçlü bir parola gerektirir.

Ne yazık ki, eğer bunu yaparsanız bile, kararlı bir hacker hala şifrelerini çözmek olabilecek, onu gerçekten uzun bir zaman alacaktı. Baş düşman:Zaman.

bcrypt algorithm works because it takes five orders of magnitude longer to hash a password than MD5; (ve hala AES daha uzun veya SHA-512). Hacker bir sürü şifrelerinizi arama için bir gökkuşağı tablo, şifreleri bilgisayar korsanlarından tehlikeye girecek o kadar daha az Olası hale oluşturmak için daha fazla zaman harcamak için zorlar.

Ve şifrelerinizi tuzlama karma sensin, ve her tuz farklı ise, then a potential hacker would have to create a rainbow table for each variation of salt, sadece bir tuzlu için bir gökkuşağı tablo için parola karma. Eğer 1 milyon kullanıcı varsa, bir hacker 1 milyon gökkuşağı tablo oluşturmak demektir. Eğer her kullanıcı için aynı tuz kullanıyorsanız, o zaman hacker sadece 1 gökkuşağı tablo oluşturmak için başarıyla sistemini çökertmek için var.

Değilsen tuzlama şifrelerinizi, sonra da bir saldırganın vardır yapmak için yukarı çekin mevcut bir Gökkuşağı tablo için her uygulama orada (AES, SHA-512, MD5) ve sadece eğer bir kibrit karma. Bu has already been done saldırganbu Gökkuşağı tabloları hesaplamak için gereken kendileri değil.

Tüm bu ile, you've got to be using good security practices bile. Eğer başarılı bir şekilde sitenizde başka bir saldırı yöntemi (XSS, SQL Enjeksiyon,, et. al. CSRF) kullanabilirsiniz, iyi şifre güvenliği önemli değil. Bu sesler gibi tartışmalı bir deyim, ama şöyle düşünün: Eğer ben tüm kullanıcı bilgileri ile bir SQL enjeksiyon saldırısı, ya da alabilirim kullanıcılara ver bana kurabiye ile XSS, then it doesn't matter how good your password security is.

Diğer kaynaklar:

  1. Jeff Atwood: .NET Encryption Simplified () karma bir bakış için harika
  2. Jeff Atwood: I just logged in as you
  3. Jeff Atwood: You're probably storing passwords incorrectly
  4. Jeff Atwood: Speed Hashing

Not:Diğer iyi kaynakları tavsiye lütfen. Yazarlar onlarca düzine makale okumuş oldum, ama az Jeff kadar yalın bir konu üzerinde yazmak. Onları bulmak gibi makaleler düzenleyin lütfen.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Kat Krazy

    Kat Krazy

    12 Kasım 2010
  • Numberphile

    Numberphile

    15 EYLÜL 2011
  • Paste Magazine

    Paste Magazi

    28 AĞUSTOS 2008