Bazı siteler neden parolalardaki boşlukları engelliyor?


16

Daha yeni web sitelerinde daha az yaygın görünüyor, ancak bir hesaba ihtiyacım olan birçok web sitesi (fatura ödeme vb. Gibi) içinde boşluklar olan bir şifre oluşturmamı engelliyor. Bu sadece şeyleri hatırlamayı zorlaştırır ve şifreli, şifreli veya (cennet yasak) alanlardaki veritabanı veya programlama kısıtlamalarının farkında değilim. Öyleyse neden bir siteye kaydolma söz konusu olduğunda ara çubuğu bu kadar yaygın bir şekilde ayrımcılığa maruz kalıyor?


TOA'nın boş olmayan şifreler gerektirdiğini varsayarak bazı siteler Tek Oturum Açma özelliğini kullanıyor olabilir (emin değilim)!
NoChance

1
Beni gerçekten korkutan şey, sitelerin tek bir alıntıya özellikle izin vermemesidir. Etkinleştirmek dışında ne gibi bir nedeniniz olabilir "insert into USERS (..., password) values (..., '" + $POST['password'] + "');" : -S
Christian Klauser

Programcılara değil, güvenliğe gitmeliydim. Bu muhtemelen orada zaten var.
Dan McGrath

Yanıtlar:


20

Web sitelerinde şifreler söz konusu olduğunda çok fazla aptallık var .

  • Bazılarının sadece teknik nedenleri vardır (geçerli ya da değil, bu başka bir soru, ancak neredeyse hepsi değil):

Parolanız dört karakter uzunluğunda olmalı ve yalnızca rakam içermelidir.

(Bir parolayı 0001 .. 9999 aralığıyla sınırlandırarak, bunları veritabanında sayı, düz metin olarak saklayabilirsiniz)

  • Diğerleri, şifreleri daha güvenli hale getirecekleri bazı yanlış düşüncelerle açıklanmaktadır :

Parolanız büyük harfle başlamalı ve bir rakamla bitmelidir.

(Geliştirici veya yöneticisi Bunu yaparak, farz bu , aslında güvenli bir şifre seçin kullanmaya zorlayabilir olurken Parolanız en az bir büyük harf, küçük harf ve a. 6 karakter min içeren ve içermelidir" olarak kural haneli "sihirli bir şekilde bunu yapamaz)

  • Diğer, son olarak, parolaların düz metin olarak saklanması ve bunların nasıl saklandığı, işlendiği veya alındığı konusunda bazı belirsizlikler olduğu ve bunları test etmek için zaman olmadığı açıklanmaktadır.

Parolanız geçersiz bir karakter içeriyor é.

veya,

Şifreniz y$₯46¥*A'xD<7&฿=ᴙcN&sF5_Ở!dbazı geçersiz karakterler içeriyor. Yalnızca Latin alfabesindeki karakterleri ve rakamları kullanın.

veya,

Parolanız boşluk karakterleri içeremez.

Her üç durumda da, geliştirici böyle şifrelerin doğru bir şekilde saklanacağından emin olmuştur.

  • İlk durumda, gönderildiğinde édönüştürülürse ne olur %C3%A9? Ya da veritabanı éyanlış depolanırsa ?

  • İkinci durumda, PHP (neden PHP?) Unicode ile başa çıkamazsa ve böyle bir şifre alırken korkunç bir şey yaparsa ne olur? <Karakter sorun yaratırsa ne olur? Ya &karakteri bir URL'de ayırıcı olarak yorumlanır (nedense, şifre POST yerine GET yoluyla gönderildiğini varsayarak)? Ya 'veritabanı tarafından yorumlanırsa, çünkü tahmin edin, SQL Injection'ın ne olduğu ve nasıl önleneceği hakkında hiçbir fikrimiz yok? Ya 'dönüştürülürse ne olacak \'?

  • Üçüncü durumda, PHP (tekrar?) Bazı durumlarda boşlukları keser , bazılarında ise? Kullanıcı (birbirini izleyen üç boşluk alanı ayarlamışken ) yöneticiler (düz metin olarak kullanıcı parolalarına şaşırtıcı bir şekilde erişimi olan) kaybolursa , yalnızca bir boşluk görüyorlarsa ne olur ?

Her üç durumda da, bu belirsizlikler testlerle , özellikle birim testlerle kolayca çözülebilir . Ancak çok sayıda projede, hiçbir test ve test edilecek zaman yok (ancak daha sonra hata ayıklamak için hala bol zaman).

Bu, geliştiricinin boşluklara veya unicode karakterlere izin vermenin olası sonuçlarını veya sadece ASCII 48..57 ∪ 65..90 ∪ 97..122 dışındaki herhangi bir karakteri (rakamlar, küçük harfler, büyük harfler) düşünmeye çalışıp çalışmadığı anlamına gelir. , test yapmanın mümkün olmadığı en kolay yol, onları yasaklamaktır .

Bence boşlukları yasaklamak için tek sebep bu. Yannis Rizos, UX ile ilgili başka bir neden daha verdi. Teoride mantıklı bir neden olsa da, uygulamada hiç işe yaramaz: UX'u gerçekten önemseyen kişiler tarafından yapılan web siteleri aptal şifre kurallarını düzeltmez. Bunun yerine, beyaz alanın gerçekten yasak olduğu web siteleri çoğunlukla UX hakkında hiç duymamış kişiler tarafından yapılır . Bu özellikle doğrudur, çünkü herhangi bir karakterin UX açısından gerçekten can sıkıcı olması, faydalı karakterler de dahil olmak üzere şifre ile ilgili herhangi bir kısıtlamanın minimum karakter sayısı olarak gerçekten can sıkıcı olmasıdır.


Boşlukları ortadan kaldırdığınızda, hatırlanması kolay bir dizi uzun şifreyi ortadan kaldırdığınızı (ve uzunluğunun kırılmaya karşı karmaşıklıktan daha etkili olduğu kanıtlandığını) ve kullanıcıları uzun bir diziden çok daha az unutulmaz anlamsız şifreleri benimsemeye teşvik ettiğinizden bahsetmiyoruz. boşluk.
Lèse majesté

1
Okuduğum şeylerin çoğuna katılıyorum, ama "test mümkün olmadığında" en kolay yol ... "ifadesini sindirmek için gerçekten zor bir zamanım var. Test mümkün değil ??? Bunun gerçekleştiği bir projeyi kabul eden herkes: aptallık verimli bir şekilde en üst düzeye çıkarılır ... Evet Bunun olduğunu biliyorum: - |
Thomas

@Thomas: Bu, genel olarak bilgisizlik ve zaman kısıtlamaları ile genel olarak teori ve bilgi arasındaki farktır, birçok insan zaman testi harcamak istemez, en az iki kez daha sonra hata ayıklama yapacaklarını görmezden gelir.
Arseni Mourzenko

Otomatik telefon erişimi gibi şeyler için aynı parola gerekebiliyorsa , kullanıcıların yalnızca rakamlardan oluşan bir parola tanımlamaları istenebilir, ancak böyle bir parola, bilgisayar tabanlı erişim için ana kimlik doğrulama bilgisi olmamalıdır.
Supercat

3

Cevap Tarih

Bunun çoğunun temelinin, depolama alanının etkin bir şekilde serbest olmadığı (diskte veya bellekte), tüm bunları yönetme yeteneğimizin şimdikinden biraz daha az olduğu ve aynı zamanda otomatik sistemlerin yeteneğinin eşit olduğu bir zamandan geldiğini unutuyoruz. aynı şeyi kırmaya çalışmak da biraz daha azdı.

Şu anda bildiklerimize ve şimdi ne yapabileceğimize dayalı olarak parolalar hakkında birçok rant var, ancak basit gerçek şu ki, genellikle eski düşünme ve eski sistemlerin bir kombinasyonuyla uğraşıyoruz.

Şimdi yeni sistemlerde kısıtlamalar olmalı mı ? Umarım değil - şimdi çok daha az sebep


Orada söylüyorsun vardı önce orada değildi şifreleri boşluk olan teknolojik kısıtlamalar? Depolama tam olarak hangi rolü oynadı?
Ian Hunter

1
Teknolojik sınırların ve daha az karmaşık dış kısıtlamaların (ve muhtemelen "döşeme" nin kullanılmasının) insanların neyin uygun ve izin verilebileceği hakkında farklı düşündükleri anlamına gelmesini öneriyorum. Parolaları sıfırlamak daha zor olduğundan unutulmaz olmalarını sağlamak için parolalara sınırlamalar koyabilirsiniz. Onları şifreleyemeyebilirsiniz, çünkü onları okuyabileceğiniz bir yere ulaşmak (o zaman) nispeten çok zordur (ve her durumda sistemlere dış dünyadan erişilemez). Farklı zamanlar, miras bırakan tamamen farklı düşünce süreçleri
Murph

2

IMHO, Şifrelerde boşluklara izin vermemek için şifreleri saklamak için modern karma ve / veya tuzlama kullanan herhangi bir sitenin / uygulamanın açıkça aptaldır. Ancak, bazı eski sistemler (bunun hakkında bir yerde okuyun) hala şifreler düz metin olarak geçmektedir - bu nedenle boşluklara izin vermemek mantıklı olabilir . Ayrıca, bazı uygulamalar aldıkları tüm dize girdilerini "şeritleyebilir". Yani, bir alanla başlayan veya biten bir şifre iyi olmayacaktır (elbette, bu çok fazla tartışıldı, ancak kendi sitesiyle gelen hemen hemen hiç kimse ile ne olmayacağını hayal edebilirsiniz). Parolalardaki boşluklara izin vermede "kötü" hiçbir şey yoktur - işaret ettiğiniz gibi DB'ler karmaları veya düz metin sürümlerine izin vermeyecektir.

Aslında Windows arkadaşlarımın çoğu parolalarında boşluk kullanabileceğini bilmiyorlar - Bu nedenle, belki de Tim Medora'nın cevabına göre, site sahipleri lamah'larla (bu affediyor) veya belki de bazılarının kavram yanılgıları ve / veya mekanların sağlayabileceği avantajlardan habersizdir.


1
Parolalardan önde gelen / sondaki boşlukları sıyırmayı tercih ederim çünkü sorunlara neden olma eğilimindedirler, ancak onlara izin vermemek için bir neden yoktur - sadece hem ayar hem de test konusunda elimden gelecektir, sorun değil.
Loren Pechtel

Ve "problemler" tam olarak nedir? Cevapta boşluklara izin verilmesi gerektiğini vurguluyorum. "Hem kurulumda hem de testte soyulmaya başlayacaklar" - O zaman amaç ne? sonra "1 4m 1337" ve "1 4am 1337" her ikisi de aynı değere sahiptir (aslında, teoride sonsuz sayıda olasılık vardır).
yati sagade

What's the point then?Küçük nokta, parolanın kullanıcının istediği gibi daha az entropiye sahip olmasıdır. Bazı sistemlerde GET / POST düzeltmesi varsayılan olarak değişir, bu davranışta (olası olmayan) bir değişiklik daha ciddi sorunlara yol açar.
yannis

@Yati sagade: Ben değilim DEĞİL iç boşluk sıyırma bahsediyor. Önde gelen ve arkadaki boşluklardan bahsediyorum - insanlar alanın orada olduğunun farkında değil ve giriş hatalarına neden oluyor. Benzer şekilde, tüm büyük harflerin küçük harfe çevirdiği bir şifre görürseniz, büyük olasılıkla büyük harf kilidinin açık olduğunu fark etmeyen biri.
Loren Pechtel

-1

Aynı nedenden ötürü, birçok site , ABD'de bile çok yaygın uygulamalar olmasına rağmen, adların içinde tire, kesme işareti veya ASCII olmayan harflere izin vermiyor ve bu karakterlere izin vermekten daha fazla çalışma gerektiriyor onlar.

Aynı nedenden ötürü, birçok sitenin kelime filtreleri "ukala", "geciktirici" veya hatta "birikir" gibi kelimeleri kullanmanıza izin vermeyecektir (birçok yaygın ırk bulamacı mükemmel bir şekilde iyi olsa da).

Bunun nedeni, birçok geliştiricinin genel anlamda tamamen eksik olması veya olası kullanıcı girişlerini ve senaryolarını düşünürken en azından çok az hayal gücüne sahip olmasıdır. Bunların küçük bir yüzdesi yanlış bilgiler üzerinde çalışıyor olabilir (alfasayısal olmayan karakterleri hariç tutmak bir şekilde standart bir uygulamadır veya karma algoritması veya depolama yöntemi boşlukları veya özel karakterleri işleyemez). Diğerleri sadece tembel olabilir - karakter kümesi sorunları hakkında endişe duyarlar, böylece girişleri minimal bir karakter alanı ile sınırlarlar. Ve sonra, gerçek tehditlerin anlaşılmaması nedeniyle paranoya nedeniyle aşırı hevesli girdi doğrulama / sanitasyon uygulayanlar olabilir.


Belirli bir karakter kodlamasını zorlamanın ötesinde bir beyaz liste kullanmak için hangi nedeniniz olması gerekir? Kullanıcıların seçtiği şifreleri zayıflatırken keyfi karakterleri kısıtlamanın hiçbir faydası olmaması, bu fikre dayandığım şey. Verdiğim tüm örnekler, geliştiricilerin tasarım seçimlerini yeterince dikkatli düşünmeyen belirtileridir.
Lèse majesté
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.