Pytanie:
Dlaczego nie zezwolić na spacje w haśle?
David Cary
2013-03-15 21:12:22 UTC
view on stackexchange narkive permalink

„Twoje hasło nie może zawierać spacji” to komunikat, który widzę na niektórych stronach internetowych, w tym na 1.

Dlaczego? (To pytanie jest bardzo podobne do Dlaczego nie zezwalać na znaki specjalne w haśle?, ale odpowiedzi tam nie dotyczą znaku spacji).

Niektóre systemy najwyraźniej usuwają wszystkie spacje przed zaszyfrować hasło. ( Dlaczego Google nie przejmuje się „spacjami” w hasłach aplikacji?)

Dlaczego nie po prostu zaszyfrować tego, co wpisał użytkownik, ?

Jest podobne pytanie z innego punktu widzenia na UX.SE: [Czy powinienem przyciąć spacje w hasłach?] (Http://ux.stackexchange.com/questions/8010/should-i-trim-spaces-in-passwords) .
Każde takie wyraźne ograniczenie może zostać użyte przez osobę atakującą w celu zmniejszenia przestrzeni wyszukiwania.To tak, jakby powiedzieć, że musi zaczynać się od cyfry lub mieć określoną długość.
Konta Microsoft Office 365 nie zezwalają na spacje i nawiasy ostre http://i.imgur.com/yxt96Jx.png.Jest rok 2017, sześć lat po spopularyzowaniu czterowyrazowych haseł XKCD, a Microsoft nadal nie radzi sobie ze spacjami.Wydaje mi się, że po prostu przechowują wszystkie hasła w ogromnym blobie XML, gdzieś w bazie danych dostępowych.
Generalnie spacje nie powinny być używane nigdzie w hasłach, adresach URL, nazwach plików.W każdym przypadku mogą powodować różne anomalie.
Ciekawostką jest to, że w `NIST 800-63B` należy zauważyć, że * spacja powinna być akceptowana w haśle *, patrz https://pages.nist.gov/800-63-3/sp800-63b.html#-5112-memorized-secret-verifiers Chyba nie wszyscy ich słuchają lol
Dziesięć odpowiedzi:
Jeff Ferland
2013-03-15 21:18:45 UTC
view on stackexchange narkive permalink

Nie mogę tego wytłumaczyć niczym innym niż starszym szaleństwem lub leniwie kopiowaniem ograniczeń dotyczących nazwy użytkownika do ograniczeń dotyczących hasła bez przemyślenia.

Każdy blok danych, do wydrukowania lub w inny sposób, powinien być akceptowalny jeśli haszujesz swoje hasła. Jedynymi ograniczeniami powinny być minimalna złożoność i „rozsądna” maksymalna długość, aby ktoś nie wchłaniał 1 MB przepustowości (i odpowiedniego czasu procesora na hashowanie danych wejściowych, ponieważ używasz powolnego algorytmu, prawda?) Za każdym razem, gdy się logują.

Czy czas haszowania nie jest nieistotny w przypadku korzystania z metod wyprowadzania klucza, nawet jeśli pierwsza runda trwa nieco dłużej?
Cóż, nie nazwałbym tego nieistotnym, ale masz rację, że złożoność czasowa jest taka sama dla wszystkich rund po pierwszej rundzie, bez względu na dane wejściowe.
Sprawdziłbym odpowiednie środowiska klienckie pod kątem ograniczeń w wprowadzaniu danych do pól. Na przykład usługa online musi zezwalać na logowanie z przeglądarek internetowych, więc ograniczenia wprowadzania danych powinny być skorelowane z ograniczeniami pól formularza przeglądarki (jeśli istnieją). Odrzucanie znaków nowej linii może również zapobiec problemom z niespójnością platformy klienckiej („\ r \ n” kontra „\ n”).
To patrzenie na to z punktu widzenia komputera. Jasne, komputerom nie przeszkadza, jaką sekwencję bajtów otrzymają. Ale co, jeśli musisz udostępnić to hasło między ludźmi?
Nie zapomnij zmusić przeglądarki do wysyłania UTF-8 przez cały czas, w przeciwnym razie będziesz mieć paskudne błędy.
@Laurent: to zadanie użytkownika, aby upewnić się, że tak. Ale szczerze, co tu robisz, jeśli myślisz o „udostępnianiu haseł”?
@jürgen A. Erhard, nie myślę o żadnej myśli, tylko przytaczam fakty. Użytkownicy czasami robią „coś złego” i nie powinniśmy udawać, że to się nigdy nie zdarza. Każda funkcja, którą wdrażamy, wiąże się z kosztem / korzyścią. W tym przypadku zezwalanie na spacje ma tylko niewielką korzyść, ale potencjalnie wysoki koszt (w przypadku wezwań do pomocy technicznej lub marnowania czasu na znalezienie „błędów”, podczas gdy w rzeczywistości to tylko użytkownicy wpisują nieprawidłowe hasło).
A co z zezwoleniem na „dowolny blok danych”, jak zasugerowano w tym pytaniu? To może być w porządku z twojego laptopa, ale pewnego dnia spróbujesz zalogować się z urządzenia mobilnego, które nie ma klawisza tabulatora ani specjalnych niedrukowalnych znaków, które wprowadziłeś, i utkniesz. Dlatego proponuję, aby było to proste - pozwolenie na więcej prowadzi tylko do większych problemów, z niewielkim dodatkowym zabezpieczeniem.
@this.lau_: Właśnie z tego powodu mam „klawiaturę hakerów” na moich urządzeniach z Androidem!
A co powiesz na to, że ktoś zapisze swoje hasło, które zawiera znak tabulacji w pliku tekstowym? Następnie umieszczają plik w terminalu i tabulator staje się spacjami. Nie mogą się zalogować i skontaktować z pomocą techniczną, tracić czasu, mówiąc im, że skopiowali i wkleili hasło, aby mieć pewność, że jest prawidłowe. Ponownie zmarnowano pieniądze i czas, i prawie bez dodatkowego bezpieczeństwa. Oczywiście nie podoba nam się, że użytkownicy zapisują swoje hasło w plikach tekstowych, ale to się zdarza (szczególnie, gdy superbezpieczny system wymusza zmianę hasła co dwa dni).
`i" rozsądna "maksymalna długość, aby ktoś nie wykorzystywał 1 MB przepustowości, po prawej: http://www.cvedetails.com/cve/CVE-2013-1443/
Prawdopodobnie nie powinieneś zezwalać na znak kontrolny o wartości null, ponieważ a) nie możesz go wprowadzić w Chrome i b) Postgres zgłosi wyjątek
_ i odpowiedni czas procesora na haszowanie danych wejściowych, ponieważ używasz powolnego algorytmu, prawda? _ Wolne KDF nie stają się wolniejsze, jeśli wejście jest duże.Na przykład PBKDF2 wstępnie haszuje duże hasło szybkim hashem przed wykonaniem na nim powolnego iterowanego HMAC.Algorytm bcrypt zajmuje tylko hasło o długości do 72 bajtów, więc większe hasła są zwykle najpierw szyfrowane szybkim algorytmem.Argon2 używa do tego BLAKE2.
Jak można oczekiwać, że użytkownik zapisze swoje hasło na posticie, jeśli zawiera spacje ?!Szaleństwo!
Usługi podziału czasu CALL / 360 IBM zezwalały nawet na ** backspace ** w hasłach.Miał na celu zwiększenie bezpieczeństwa podczas logowania się na terminalach, które drukowały to, co wpisałeś.
mgjk
2013-03-15 21:31:15 UTC
view on stackexchange narkive permalink

Początkowe i końcowe spacje mogą być problemem dla osób, które nie radzą sobie z kopiowaniem i wklejaniem. W przeciwnym razie, zgadzam się z innymi postami, bez powodu.

Chociaż, jakie inne postacie blokujemy? tab, cr, lf, backspace, beep ☻☺ ♪ ▬ ♣. ?

Nie byłoby trudno zignorować spacje początkowe i końcowe, jeśli jest to problem.
Założę się, że niezależnie od języka, w którym strona jest przetwarzana, ma standardowe funkcje biblioteczne do przycinania wiodących i końcowych białych znaków.
Tak, to moje przypuszczenie. Nie mogę powiedzieć, ile mam problemów ze spacjami początkowymi i końcowymi w przypadku adresów URL wprowadzanych przez użytkowników w witrynie, którą zarządzam.
ewanm89 - Jeśli usuniesz białe znaki zza kulis zamiast z góry na hasła, napotkasz problem z przypadkami, w których białe znaki były zamierzone. Zgoda, to prawdopodobnie zdarza się bardzo, bardzo rzadko.
@AndrewStevens Ale nawet jeśli został dodany celowo, użytkownik prawdopodobnie nie zauważyłby, że biały znak jest usuwany za kulisami (o ile jest usuwany za każdym razem, gdy jest wprowadzany, a nie tylko podczas tworzenia hasła).
@PeterOlson Co się stanie z użytkownikiem, którego hasło brzmi „_ _ _ _ _ _ _ _ hasło _ _ _ _ _ _ _ _ _ _”?
@Kevin Jeśli usuniesz spacje, to hasło jest nie do odróżnienia od hasła „hasło”.
@PeterOlson: Wydaje mi się, że nie przedstawiłem dobrze mojego punktu widzenia (słuszna moja wina - przepraszam = P) Chodziło mi o to, że nie sądzę, by dobrze było, gdyby użytkownik liczył na końcowe spacje, aby jego hasło było długie, ale nie jest informowany, kiedy odstępy są usuwane. Oznacza to, że hasło użytkownika jest potencjalnie znacznie mniej bezpieczne, ale użytkownik nie ma pojęcia.
@Kevin, Myślę, że jest to bardziej problem z UX, jeśli zauważysz w czasie tworzenia, że ​​w haśle są spacje końcowe, ostrzeż użytkownika, że ​​nie jest to zalecane. Nie powstrzymuj ich przed tym, ale powiedz im, że ich hasło nie będzie tak bezpieczne.
Kolejny powód, aby usunąć co najmniej końcowe spacje: na klawiaturach telefonicznych / tabletów bardzo łatwo jest uzyskać dodatkową spację po nazwie użytkownika i / lub haśle.
user10211
2013-03-15 21:17:00 UTC
view on stackexchange narkive permalink

Prosta odpowiedź jest taka, że ​​jest to zasada dotycząca złych haseł.

Nie przychodzi mi do głowy żaden szczególnie dobry powód, by zabraniać znaku spacji. To prawdopodobnie tylko jakiś arbitralny wymóg postawiony przez osobę mającą dobre intencje, ale niewłaściwą.

AJ Henderson
2013-03-15 21:16:38 UTC
view on stackexchange narkive permalink

Nie przychodzi mi do głowy żaden solidny powód dotyczący bezpieczeństwa, poza tym, że zniechęca ludzi do używania rzeczywistych zdań jako haseł, które byłyby bardzo niepewne, gdyby miały rzeczywiste znaczenie. Ściśle mówiąc, nie ma nic niepewnego w spacji w haśle, jeśli zachowuje dobrą entropię, więc ludzie "kreatywni" to jedyna prawdziwa rzecz, jaką widzę.

Może również wystąpić problem z użytecznością, który spacje są trudne do wizualnego upewnienia się, że wpisałeś poprawnie, jeśli hasło jest widoczne. (Czy to jedna spacja czy 4, przyznane, że pojawia się * s, to można je łatwo policzyć.)

Zdania związane z hasłami nie są aż tak niepewne, istnieje więcej możliwych sposobów łączenia w jeden łańcuch 5 słów ze słownika zawierającego ~ 250 000 słów niż 5 znaków z zestawu 128 znaków (ASCII). Nawet jeśli wybierzemy tylko kombinacje słów, które mają znaczenie w porównaniu z przypadkowymi pojedynczymi znakami, zdarza się, że jest więcej entropii, problem polega na tym, że niektóre frazy mogą być bardziej powszechne niż inne, jest również problem z ciągami znaków używanymi jako hasła. Wreszcie odmowa spacji nie zatrzymuje użycia zdania, po prostu nie wstawiaj spacji między słowami.
@ewanm89 - Masz rację, że przypadkowe słowa nie są niepewne, ale ludzie mają tendencję do tworzenia znaczących zdań, takich jak „to jest moje hasło”, które w żaden sposób nie są bezpieczne. Nie mówię też, że to DOBRY powód. Mówię tylko, że to może być powód. Osobiście nie blokowałbym spacji.
tak, ale to nie różni się od ludzi używających hasła jako hasła ... obowiązują te same problemy, zdania są łatwiejsze do zapamiętania i mogą mieć bardzo różne znaczenia z większą liczbą możliwości, w obu przypadkach użycie najczęściej używanych jest zawsze złe, ponieważ będzie to pierwszy atak, który spróbuje.
@ewanm89 W rzeczywistości bardzo różni się to od używania „hasła”. „To jest moje hasło” jest w rzeczywistości znacznie bezpieczniejsze niż „hasło”. Ponadto, jeśli wymaga cyfr i znaków specjalnych, prawdopodobnie skończysz z „1his is my p@ssword”, co jest co najmniej bezpieczniejsze niż „p@ssw0rd”. Wreszcie, jest to prawdopodobnie raczej pouczające: http://xkcd.com/936/
@PatrickM - zszywka do baterii dla koni działa, ponieważ są to przypadkowe słowa. Zdania niewiele dodają, ponieważ istnieje dość niewiele opcji ich łączenia. Nie mówiąc, że niczego nie dodają, ale w rzeczywistości mogą być destrukcyjne w porównaniu z dobrze dobranym hasłem innym niż angielski, które jest znacznie krótsze.
@PatrickM, który zależałby od tego, czy atakujący wiedział, że używasz frazy, czy nie. Jeśli atakujący miał słownik fraz z najczęściej używanymi frazami, jest on taki sam, jak słownik najczęściej używanych haseł.
Oczywiście we wszystkich przypadkach losowe, bezsensowne ciągi słów lub znaków o wystarczającej długości są bezpieczniejsze niż nielosowe. ale w przypadku postaci ludzie również nadają im sens i jest mniej kombinacji, które mają sens. w końcu są to spółgłoski, samogłoski, spółgłoski, samogłoski fonetycznie. Istnieje mniej sposobów na połączenie łańcucha, aby stworzyć niezapomniane słowo, zwłaszcza że uczymy się czytać / pisać fonetycznie.
@AJHenderson Tak, może być gorsze niż „dobrze dobrane” angielskie słowo, ale jeśli potrzebujesz polityki dotyczącej haseł, zakładasz, że większość użytkowników nie będzie „dobrze wybierać” swojego hasła. Zasadniczo twierdzę, że źle dobrane zdanie jest prawie zawsze lepsze niż równie źle dobrane hasło. Na przykład ludzie często wybierają to, co znajduje się przed nimi jako hasło. Mogę więc wybrać „koń” lub „na bladym koniu”. (Książka, która była losowo przede mną) Przyznaję, że to wyrażenie jest złym hasłem, ale często jest LEPSZE niż równoważnie źle dobrane słowo.
Zasadniczo w idealnym świecie ludzie wybieraliby dobre hasła, ale przesunięcie kogoś ze źle dobranej frazy do źle dobranego słowa jest błędem. (Ignoruję wymagania dotyczące liczb i symboli, ponieważ dodanie liczb i symboli do słowa zwykle nie poprawia go bardziej niż dodanie liczb i symboli do frazy)
Nie jestem pewien, czy zgadzam się z tym, że słowa-spacje są mniej bezpieczne niż słowa-bez-spacji. Jeśli znana jest zasada „bez spacji”, wszelkie próby użycia fraz ze spacjami byłyby wtedy wykonywane bez spacji. Chyba że liczysz na atakującego, który nie sprawdzi reguł haseł przed rozpoczęciem ataku, chyba ...
Podsumowując te komentarze: „Jestem małym czajnikiem” (entropia 4 ^ 250 tys.) Jest lepsze niż „czajniczek” (6 ^ 26), ale prawdopodobnie gorsze niż „T3@p0t45” (8 ^ 128), ponieważ jest * bardzo * dobrze znana fraza. Zdecydowanie nie jest gorsze (i może nieznacznie lepsze) niż „I'malittleteapot” (również 4 ^ 250 tys.), Ale „Naprawdę lubię pić herbatę, zwłaszcza jeśli pochodzi z wysokiej jakości imbryka”. jest lepszy niż wszystkie inne, ma 13 słów plus 3 znaki interpunkcyjne (przecinek, łącznik i kropka - apostrof w „to” nie dodaje do entropii) - więc 16 ^ 250k i chociaż ma znaczenie, nie jest szczególnie powszechne zdanie.
@DanHenderson - Nie, twoje obliczenia entropii są nieprawidłowe, ponieważ nie są to losowo wybrane słowa. Znaczące zdania mają dużo struktury, która drastycznie zmniejsza rzeczywistą entropię. Po prostu obliczenia entropii są ważne tylko dla prawdziwie losowych wyborów. Na przykład, jeśli masz „Jestem trochę ........”, wtedy jest znacznie mniej niż 250 000 słów, które prawdopodobnie wypełnią to miejsce. O ile nie jest to całkowicie przypadkowe, nie jest to prosta entropia. Podobnie jak twoje nazwisko ... :)
@PatrickM - nie przeczę, że to prawdopodobnie zła polityka. Jeśli jednak ktoś wybierze proste słowo, wie, że jest ono niepewne. Jeśli wydadzą zdanie, mogą pomyśleć, że jest ono bezpieczniejsze, ale w rzeczywistości nie jest znacznie bezpieczniejsze. Przypuszczam, że byłaby nadzieja, że ​​jeśli nie pozwolą im być „sprytnymi”, mogą stworzyć bezpieczne hasło, ale to też naprawdę nie jest szczególnie dobry pomysł, ponieważ mogliby po prostu upuścić spacje.
@AJHenderson no cóż, z tego samego powodu „czajniczek” nie jest tak naprawdę 6 ^ 26 z tego samego powodu - jest tylko około 10 liter, które logicznie następowałyby po początkowym ** t ** (w tym ** v **) i prawdopodobnie tylko jedna litera do śledzenia „teapo”. Jednak tak jak atakujący nie * wie *, że użyłeś „czajnika” bez wielkich liter i dlatego musisz uwzględnić w swoim ataku „Alpha” i „aLPhA” oraz „a! 3h ^” i zdecydować, które z nich pojawią się przed „czajnikiem „wpływa na efektywną siłę„ czajnika ”, on również nie * wie *, że nie użyłeś„ zszywki do baterii dla koni ”i musi zdecydować, czy trzywyrazowe bzdury powinny
... spróbuj przed znaczącymi frazami składającymi się z 4 wyrazów.
@DanHenderson - rzeczywiście, 4-wyrazowe wyrażenie jest z pewnością bezpieczniejsze niż tylko jedno słowo pod względem zgadywania. Istnieje ryzyko, że większość ludzi zda sobie sprawę, że „imbryk” nie jest bezpieczny, ale mogą nie zdawać sobie sprawy, że „Jestem małym czajniczkiem, niski i tęgi” naprawdę nie jest o wiele bardziej bezpieczny. Danie komuś iluzji bezpieczeństwa może być bardzo niebezpieczne z perspektywy użytkownika. To powiedziawszy, nie sądzę, aby polityka „braku miejsca” miała wiele do osiągnięcia, ale jest to dosłownie jedyny powód, dla którego przychodzi mi do głowy, że ktoś mógłby spróbować ją ograniczyć. Niestety nieskuteczna, ale dobra polityka jest powszechna
sharp12345
2013-03-17 07:40:20 UTC
view on stackexchange narkive permalink

To bardzo dobra zasada zapewniająca wygodę, a widząc to od strony obsługi klienta - myślę, że powinno być wdrożone wszędzie.

Możesz napisać hasło w ten sposób: „abc def ghi” skopiuj go na kartkę papieru lub skopiuj i wklej.

Po prostu łatwiej jest usunąć wszystkie spacje niż mówić wszystkim:

  • „Upewnij się, że nie kopiujesz i nie wklejasz spacji ”
  • „ Wpisz hasło ręcznie, nie kopiuj i nie wklejaj ”

Co zwykle jest odpowiedzią na pytanie:

  • „Moje hasło nie działa, mimo że skopiowałem je dokładnie z e-maila, który do mnie wysłałeś”
Albo można po prostu zapisać jako „abc def ghi” ...
Są w tym dwie duże wady. Po pierwsze, jeśli spacje są takim problemem, możesz po prostu usunąć je za kulisami przed zahaszowaniem hasła i po zalogowaniu się użytkownika. Po drugie, jeśli wysyłasz komuś swoje hasło, masz większe problemy niż spacje. Również usuwanie spacji w imieniu użytkownika przed haszowaniem i po zalogowaniu również rozwiązuje problem kopiowania i wklejania.
Jeśli musisz podać klientowi początkowe hasło, wygeneruj takie bez spacji, aby uniknąć wspomnianych problemów.Ale klient powinien mieć możliwość zmiany tego początkowego hasła na inne, które zawiera spacje.
jordan
2013-03-16 02:55:58 UTC
view on stackexchange narkive permalink

dotyczy tylko semantyki programowej. prawie wszystko obsługuje znak spacji „” lub „” inny niż inne symbole, takie jak „a” lub „dds”.

spacja jest łączona z innymi dziwnymi znakami, takimi jak nowe wiersze - „\ n” lub puste znaki - ''

To również nie jest unikalne, ponieważ niektóre znaki specjalne w niektórych środowiskach komputerowych nie mają reprezentacji i są przetwarzane do pustego znaku ''

W niektórych środowiskach komputerowych, w których przekazywaliśmy pliki tam iz powrotem z MAc do Windowsa do Linuksa, czasami kończyło się na ('' == ''), aby otrzymać wynik FAŁSZ (podwójny znak równości oznacza po prostu operator porównania). To było fałszywe, ponieważ w przestrzeni istniały ukryte symbole, których nie mogliśmy zobaczyć z powodu różnych kultur komputerowych w naszym zespole.

Nie jestem pewien, czy ten problem kiedykolwiek wystąpiłby podczas używania sztywnych haseł , ale brak spacji w specjalnych obszarach, takich jak hasła, nazwy funkcji i nazwy plików, jest zdecydowanie lepszym sposobem na zawsze. Przetwarzanie spacji w nazwach plików to zupełnie inna historia, z niektórymi programami dodającymi% do spacji, aby usunąć spację, aby nazwa była% name

Wszystko, o czym wspomniałeś, jest ściśle związane z kodowaniem, które nie powinno mieć wpływu na odpowiednio zaprojektowany system haszowania haseł.
no cóż, po prostu dodam trochę więcej lektur do wspólnej bazy wiedzy.
Odpowiedź Jordana jest przynajmniej istotna. Problemy z przestrzeniami, takie jak te, o których wspomniał, mogły przyczynić się do konstrukcji paradygmatu „brak spacji w hasłach” / „spacje”. Mimo że spacje nie powinny wpływać na odpowiednio zaprojektowane systemy haszowania haseł, ich tendencja do powodowania błędów w innym kodzie mogłaby wystraszyć niektórych ludzi do blokowania spacji z haseł w ich witrynach.
Cristian Lupascu
2013-03-20 15:15:34 UTC
view on stackexchange narkive permalink

Na większości klawiatur klawisz spacji wydaje dźwięk nieco inny niż w przypadku innych klawiszy.

Rozważmy scenariusz, w którym osoba słyszy, jak ktoś inny wpisuje swoje hasło.

Jeśli ta osoba jest w stanie dowiedzieć się, że hasło składa się na przykład z 3 znaków + spacja + 4 znaki, może to być bardzo przydatna wskazówka w niektórych przypadkach.

Ten sam argument może w wielu przypadkach liczyć się również z wieloma innymi rodzajami znaków niealfanumerycznych, szczególnie z akcentami, a także z użyciem mieszanej wielkości liter (ponieważ naciśnięcia klawiszy brzmią inaczej niż komunikaty prasowe, informacja prasowa jest inna z informacji prasowej).
laurent
2013-03-16 10:36:37 UTC
view on stackexchange narkive permalink

Przychodzi mi do głowy kilka powodów, dla których należy wykluczyć przestrzenie; te powody nie mają jednak nic wspólnego z bezpieczeństwem, ale z użytecznością:

  • Jeśli przesyłasz hasło zawierające spacje, skąd odbiorca wie, że jest to spacja lub tabulacja? Czy jest to jedna czy dwie spacje? Zakładając, że musisz to napisać ręcznie (zdarza się), jak pokazać te informacje? W zależności od czcionki ich klienta poczty e-mail istnieje również szansa, że ​​nie zauważą spacji.

  • Ponownie, podczas wysyłania hasła, jeśli spacje znajdują się na początku lub na końcu, można je łatwo przeoczyć i trzeba będzie je ująć w cudzysłów. Ale nawet wtedy będzie to wyglądało dziwnie i łatwo mogę sobie wyobrazić, że użytkownicy nie uwzględniają tej ostatniej spacji i nie mogą się zalogować.

  • Puste znaki (znaki nowej linii, tabulatory, spacje) są często przycinane od końca i początku pola, aby uniknąć kopiowania i wklejania nieprawidłowych danych. Oczywiście, gdyby spacje były znaczące, spowodowałoby to problem.

Podsumowując, myślę, że brak spacji pozwala uniknąć wszelkiego rodzaju problemów i zapisanych zgłoszeń do pomocy technicznej, więc tak jest dobra rzecz.

Edycja:

Aby odpowiedzieć na uwagi dotyczące złych praktyk udostępniania haseł:

Powiedzmy, że ważna firma dokumenty są zablokowane na stacji Boba, który jest obecnie na wakacjach. Co robić w takim przypadku? Zaczekać, aż Bob wróci dwa tygodnie później i w międzyczasie stracić potencjalny interes? Lub po prostu poproś go o przesłanie hasła? To na pewno złe, ale wciąż lepsze niż alternatywa.

Jak to ujął Linus Torvald (o czymś innym, ale ja lubię ducha): „powinieneś zajmować się rzeczywistością , a nie chciałbyś, żeby była rzeczywistość ”.

Cóż, wysyłanie haseł w postaci zwykłego tekstu to zły pomysł.
1) Jak wspomniano, wysyłanie haseł w postaci zwykłego tekstu to zły pomysł. Jeśli użytkownik zdecyduje się wstawić spację, a następnie spróbuje powiedzieć komuś, jakie jest jego hasło, to jego problem. Jeśli ma to na celu odzyskanie hasła, przestań przechowywać hasła w postaci zwykłego tekstu i pozwól użytkownikom zresetować swoje hasła. 2) Jeśli nie cytujesz poprawnie / nie unikasz haseł użytkowników, zasługujesz na kłopoty, które na Ciebie czekają. 3) Czy to ma znaczenie, jeśli hasło jest stale przycinane? W końcu, jeśli każde okno dialogowe wprowadzania hasła ogranicza spacje, nie przyniesie to większego efektu, który użytkownik może zobaczyć.
Myślę, że nie rozumiesz, jestem programistą, haszuję hasła, nie wysyłam ich e-mailem, wiem o dobrych praktykach, ale nie o to chodzi. Czasami hasła są wysyłane e-mailem, telefonicznie, zapisywane na kartkach itp. Wszystko jest źle, ok. Ale jako programista jeszcze bardziej pomylimy się, zezwalając na spacje w hasłach. Mogłyby to być potencjalnie godziny zmarnowanych połączeń / e-maili z pomocą techniczną dla bezużytecznej funkcji.
Ja tego nie kupuję. Jeśli ktoś zdecyduje się użyć spacji w haśle, może z łatwością po prostu powiedzieć komuś, aby uważał na tę spację. Zgodnie z logiką, wielkie litery również powinny być zabronione. Używam spacji w moich hasłach, kiedy tylko mogę, i wiele razy udostępniam hasła pocztą e-mail lub ustnie. Zawsze mówię „hasło to„ Moje hasło ”- pamiętaj o wielkich literach i odstępach między wyrazami. To nigdy nie był problem.
Pisanie i pismo odręczne ma konwencje dotyczące używania spacji (a nawet innych białych znaków).I zgodnie z tą logiką, należy również unikać dużego I i małego l.W tym bardzo wąskim przypadku użycia można by nie używać spacji.Nie przedstawiłeś argumentów za systematycznym zapobieganiem ich stosowaniu.
user11717468
2019-07-03 13:13:51 UTC
view on stackexchange narkive permalink

Uważam, że większość nie-programistów uważa (świadomie lub nie), że znak spacji zasadniczo różni się od innych znaków, ponieważ służy jedynie do oddzielenia słów od siebie; będąc tylko metadanymi zamiast danych.

To uczucie jest wzmocnione faktem, że nie ma dźwięku odpowiadającego znakowi spacji. Większość ludzi pamięta swoje hasła w wymowie (jak brzmią, gdy są wypowiadane na głos), zamiast w formie wizualnej (jak wyglądają, gdy są zapisane).

Dlatego nieświadomie rozważaliby „Moje hasło”, „Moje Password ”i„ MyPassword ”mają być takie same, ponieważ są wymawiane jednakowo i mogą łatwo zobaczyć (dzięki za wielką literę„ P ”), gdzie kończy się jedno słowo, a zaczyna następne - nawet bez spacji. Oczywiście, gdybyś zapytał ich, czy te trzy rzeczy są takie same, podniósłbyś sprawę z nieświadomego do świadomego umysłu i każdy odpowiedziałby „nie”. Ale dopóki nikt nie zadaje pytania ...

Zatem problem z dopuszczaniem spacji w hasłach jest praktyczny: pomaga użytkownikom zapomnieć o hasłach, tj. Pomaga im zapomnieć, czy jest spacja (lub dwie lub trzy lub ...) w haśle, czy nie.

_Jest zasadniczo inny_ Określenie to (nie jest zaskakujące) ** białe spacje **.
Steve Warnek
2018-03-28 04:16:56 UTC
view on stackexchange narkive permalink

Mam zamiar zakwalifikować ten komentarz, mówiąc, że jestem administratorem systemu od ponad trzydziestu lat ... i pisarzem przynajmniej tak długo.

Chociaż użycie spacji w haśle może być dozwolone w niektórych kręgach, i może być bezpieczniejsze w tym sensie, że masz większy zestaw znaków, aby wzmocnić swoje hasło… w ten sposób prosisz o kłopoty. Spacja to nie tylko znak, czy reprezentacja pustej przestrzeni, tak jak zero oznacza brak wartości liczbowej. W końcu nadejdzie dzień, w którym „zapomnisz” o miejscu i wyrwiesz sobie włosy z głowy, zastanawiając się, dlaczego hasło roota już nie działa i będziesz musiał przeładowywać serwer od zera. Z punktu widzenia użyteczności - mówię, trzymaj się z daleka od przestrzeni ... to jedna z tych „niepisanych zasad”, których możesz podać sto powodów, by nie być posłusznymi, ale twoje życie będzie łatwiejsze, jeśli będziesz ich przestrzegać. W ciągu trzydziestu lat spotkałem tylko jedną osobę, która użyła spacji w haśle i to była piekło, próbując to rozgryźć. Inni się nie zgodzą - i to jest ich prerogatywa. Nigdy nie użyłbym spacji.

Znak spacji nie reprezentuje „pustej spacji”.Poza niektórymi reprezentacjami Unicode jest to po prostu ciąg ośmiu bitów, tak jak litery i cyfry.Ponadto zero nie oznacza braku wartości liczbowej;to symbol zastępczy, który ma znaczenie.Jeśli w to wątpisz, zamień wszystkie '10000000'x na' 00000001'x w jednym z plików wykonywalnych binarnie i zobacz, co się stanie.:)
Jest rok 2018. Mamy Unicode 10.0 zawierający 1 114 112 wyliczonych grafemów.Spośród nich 136.690 jest przypisanych i nazwanych.To 17.061 bitów entropii na symbol (które można wykorzystać).Najwyższy czas, aby branża dotrzymała kroku technologii i przestała zwracać uwagę na politykę ostatnich trzech dekad.Mogły istnieć bardzo praktyczne i techniczne powody, aby zakazać punktu kodowego UTF-8 32, ale teraz one nie istnieją.Aby utworzyć hasło, użytkownicy powinni mieć możliwość korzystania z * dowolnego * punktu kodowego Unicode;w wyniku czego powstaje zasolony, zaszyfrowany, rozciągnięty (lub obrócony) klucz szyfrowania.


To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...