it-swarm-tr.com

Neden parola yeniden kullanımına karşı "koruma" olarak, göndermeden önce (ve sunucuda yeniden karma) istemcide neredeyse hiçbir web sayfası hash şifreleri?

İnternette giriş bilgileri gerektiren birçok site vardır ve parolaların yeniden kullanılmasına karşı korunmanın tek yolu, parolaların sunucuda her zaman doğru olmayacağı "vaadidir".

Yani merak ediyorum, yeniden hashed olacak sunucuya göndermeden önce, istemci bilgisayarda (Javascript ile) şifreleri karma bir web sayfası yapmak ne kadar zor? Teorik olarak bu ekstra bir güvenlik sağlamaz, ancak pratikte bu, şifrenizi sunucuda içermeyen "dolandırıcı siteler" e karşı korunmak için kullanılabilir.

46
Martín Fixman

Neden kullanılmıyor? Çünkü sıfır kazanç için çok fazla iş var. Böyle bir sistem daha güvenli olmazdı. Hatta daha az güvenli olabilir, çünkü daha güvenli olduğunun yanlış izlenimini verir, kullanıcıların daha az güvenli uygulamaları (şifre yeniden kullanımı, sözlük şifreleri vb.) Benimsemelerine yol açar.

46
Rein Henrichs

Teorik olarak bu ekstra bir güvenlik sağlamaz, ancak pratikte bu, şifrenizi sunucuda içermeyen "dolandırıcı siteler" e karşı korunmak için kullanılabilir.

Bu sizi tam olarak nasıl koruyor? Tek yapmanız gereken anlamsız bir şekilde hashed şifre hash olduğunu. Çünkü karma şifre daha sonra şifre olur.

İnternette giriş bilgileri gerektiren birçok site vardır ve parolaların yeniden kullanılmasına karşı korunmanın tek yolu, parolaların sunucuda her zaman doğru olmayacağı "vaadidir".

Birden fazla site için aynı şifreyi kullanmamaya ne dersiniz? Web sitelerinin teoride parolayı içermesinin nedeni, THEY'nin güvenliği ihlal edildiğinde hesabınıza erişimi önlemektir. Birden fazla web sitesi için aynı şifreyi kullanmak sadece aptalca.

Javascript kullandıysanız, "hacker" ın yapması gereken tek şey, karma-karma-parolalarda aynı yöntemi kullanmaktır. Karma bilgiye sahip olduğunuzda, veritabanında parola-> aynı karma değerini hesaplamak için gereken zaman sadece bir hesaba erişimi engelleyen bir faktördür.

14
Ramhound

Çünkü hiçbir değere çok az şey katmayacaktı. Bunun nedeni, veritabanınızın saldırıya uğraması durumunda, bilgisayar korsanının geçerli bir parola listesine sahip olmamasıdır. Bu nedenle herhangi bir kullanıcıyı taklit edemediler. Sisteminizin şifre hakkında bilgisi yoktur.

Güvenli, SSL sertifikalarından ve bir tür kimlik doğrulamasından gelir. Kullanıcılarımın bir şifre sağlamasını istiyorum, böylece hash değerini hesaplayabilirim.

Ayrıca, karma algoritması sunucuda daha güvenli bir alanda olacaktır. İstemciye koyduğunda, gizli başvurulan komut dosyaları olsa bile Javascript için kaynak kodunu almak oldukça kolaydır.

11
Jon Raynor

Çözüm bundan daha basit. İstemci sertifikaları. Makinemde bir istemci sertifikası oluşturuyorum. Bir web sitesine kaydolduğumda, istemci sertifikamı ve sunucunun sertifikasını kullanarak bir el sıkışma yaparız.

Parola değiştirilmez ve birisi veritabanını hacklese bile sahip oldukları tek şey istemci sertifikamın ortak anahtarıdır (daha fazla güvenlik için sunucu tarafından tuzlanması ve şifrelenmesi gerekir).

İstemci sertifikası bir akıllı kartta saklanabilir (ve ana parola kullanılarak güvenli bir çevrimiçi kasaya yüklenebilir).

Her şeyin güzelliği, kimlik avı kavramını ortadan kaldırmasıdır ... bir web sitesine asla şifre girmezsiniz, sadece bu web sitesiyle el sıkışırsınız. Sahip oldukları tek şey, özel bir anahtar olmadan işe yaramaz olan ortak anahtarınızdır. Tek duyarlılık bir el sıkışma sırasında bir çarpışma bulmaktır ve bu tek bir web sitesinde sadece bir kez çalışır.

Microsoft, Windows'da Cardspace ile böyle bir şey sağlamaya çalıştı ve daha sonra açık bir standart olarak gönderdi. OAuth biraz benzer ama aracı bir "veren taraf" dayanmaktadır. Öte yandan InfoCards kendi kendine verilebilir.bu şifre sorunu için gerçek bir çözüm ... şifreleri tamamen kaldırmak.

OAuth doğru yönde atılmış bir adım.

6
Michael Brown

çoğu yanıt burada istemci tarafı şifre karma noktası tamamen kaçırmak gibi görünüyor.

oturum açtığınız sunucuya güvenli erişimi sağlamak için nokta not 'dır;.

asıl mesele gerçekten güvende olmaktır kullanıcının şifresi, çoğu kullanıcı şifrelerini birden çok site için tekrar kullanacağı için (genellikle olmamalı ama gerçek şu ki, bu yüzden el sallanmamalıdır).

sSL, mitm saldırılarına karşı koruma için mükemmeldir, ancak sunucuda bir oturum açma uygulamasının güvenliği ihlal edilirse, SSL kullanıcılarınızı korumaz. Birisi kötü niyetli olarak bir web sunucusuna erişim sağlamışsa, çoğu durumda parolalar yalnızca sunucudaki bir komut dosyası tarafından karma hale getirildiği için parolaları düz metin olarak yakalayabilir. saldırgan bu şifreleri benzer kullanıcı adlarını kullanan diğer (genellikle daha değerli) sitelerde deneyebilir.

güvenlik derinlemesine savunmadır ve istemci tarafındaki karma yalnızca başka bir katman ekler. kendi sitenize erişimi korurken önemli olduğunu unutmayın, diğer sitelerde şifre yeniden kullanımı nedeniyle kullanıcılarınızın şifrelerinin gizliliğini korumak çok daha önemlidir.

5
crutchy

Kesinlikle mümkündür ve aslında bir web sitesi beklemenize gerek yoktur.

SuperGenPass adresine bir göz atın. Bir yer imi.

Sadece şifre alanlarını tanır, web sitesi alanıyla yazdıklarınızı birleştirir, hash yapar, parolada yalnızca "kabul edilen" karakterleri almak için bir şekilde yönetir ve ancak o zaman karma parolanız kabloda gönderilir.

Süreçte site etki alanını kullanarak, her zaman aynı parolayı tekrar kullansanız bile site başına benzersiz bir parola alırsınız.

Son derece güvenli değildir (base64-MD5), ancak isterseniz sha-2 tabanlı bir uygulamayı mükemmel bir şekilde dağıtırsınız.

Tek dezavantajı etki alanı değişikliği ise, bu durumda web sitesinden şifrenizi sıfırlamasını istemeniz gerekir, çünkü kendiniz kurtaramazsınız ... sık sık gerçekleşmez, bu yüzden bir kabul edilebilir değiş tokuş.

1
Matthieu M.

X4u'nun cevabını seviyorum, ancak bence bunun gibi bir şey tarayıcıya/html spesifikasyonuna entegre edilmeli - şu anda cevabın sadece yarısı.

İşte bir kullanıcı olarak var bir sorun - benim veritabanında saklanırken diğer ucunda şifremi karma olup olmayacağı hakkında hiçbir fikrim yok. Ben ve sunucu arasındaki satırlar iyi şifrelenmiş olabilir ama hedefe ulaştığında şifreme ne olacağı hakkında hiçbir fikrim yok - belki de düz metin olarak saklanır. Veritabanı yöneticisi adam veritabanını satabilir ve siz bilmeden önce tüm dünya şifrenizi bilir.

Çoğu kullanıcı şifreleri tekrar kullanır. Teknik olmayan insanlar daha iyi bilmedikleri için. Teknik insanlar çünkü bir kez 15. şifreyi almak ya da böylece çoğu kişi onları yazmak sürece onları hatırlama şansı yok (ki hepimiz biliyoruz kötü bir fikir).

Chrome veya IE veya ne kullanıyordum) bana bir şifre kutusunun anında sunucu tarafından oluşturulan bir tuz kullanılarak istemci tarafında karma olacağını söyleyebilirdi ve etkili bir şekilde parolanın kendisini korumalı alan haline getirdim - o zaman bir kullanıcı olarak daha az riskli bir parolayı tekrar kullanabileceğimi bilecektim.

Kullanıcının, parolalarının sunucuya gönderilemediğini ve yalnızca karma olduğunu bilmesi gerekir. Şu anda X4U'nun çözümünü kullanarak bile, bunun böyle olduğunu bilmenin hiçbir yolu yoktur, çünkü bu teknolojinin kullanımda olup olmadığını bilmiyorsunuz.

0
Chris Nevill