it-swarm.com.de

Warum nicht Leerzeichen in einem Passwort zulassen?

"Ihr Passwort darf keine Leerzeichen enthalten." ist eine Nachricht, die ich von einigen Websites sehe, einschließlich 1 .

Warum? (Diese Frage ist sehr ähnlich zu Warum Sonderzeichen in einem Passwort nicht zulassen? , aber die Antworten dort scheinen nicht auf das Leerzeichen zuzutreffen.).

Einige Systeme entfernen anscheinend alle Leerzeichen , bevor das Kennwort gehasht wird. ( Wie kümmert sich Google nicht um "Leerzeichen" in anwendungsspezifischen Passwörtern? )

Warum nicht einfach Hash, was auch immer der Benutzer eingegeben hat, Leerzeichen und alles?

127
David Cary

Ich kann es nicht als etwas erklären, das über den alten Wahnsinn hinausgeht, oder das träge Kopieren von Benutzernamenbeschränkungen in Passwortbeschränkungen ohne Voraussicht.

Jeder druckbare oder sonstige Datenblock sollte akzeptabel sein wenn Sie Ihre Passwörter hashen. Die einzigen Einschränkungen sollten eine minimale Komplexität und eine maximale Länge für "Vernunft" sein, damit jemand nicht bei jeder Anmeldung 1 MB Bandbreite (und die entsprechende CPU-Zeit zum Hashing der Eingabe, da Sie einen langsamen Algorithmus verwenden, richtig?) Aufnimmt.

108
Jeff Ferland

Führende und nachfolgende Leerzeichen können für Personen, die sich mit Kopieren und Einfügen nicht auskennen, Probleme bereiten. Ansonsten mit den anderen Beiträgen einverstanden, kein guter Grund.

Aber welche anderen Charaktere blockieren wir? Tab, Cr, Lf, Rücktaste, Piepton ☻☺ ♪ ▬ ♣. ?

39
mgjk

Die einfache Antwort ist, dass es sich um eine falsche Passwortrichtlinie handelt.

Ich kann mir keinen besonders guten Grund vorstellen, den Weltraumcharakter zu verbieten. Dies ist wahrscheinlich nur eine willkürliche Anforderung, die von einer wohlmeinenden, aber falschen Person gestellt wird.

25
user10211

Ich kann mir keinen soliden Sicherheitsgrund vorstellen, der die Leute davon abhält, tatsächliche Sätze als Passwörter zu verwenden, die sehr unsicher wären, wenn sie eine tatsächliche Bedeutung hätten. Genau genommen ist ein Leerzeichen in einem Passwort nicht unsicher, wenn es eine gute Entropie beibehält. Daher ist es das einzig Reale, was ich sehen kann, wenn Leute "kreativ" sind.

Es kann auch Bedenken hinsichtlich der Benutzerfreundlichkeit geben, dass Leerzeichen visuell schwer zu überprüfen sind, ob das Kennwort sichtbar ist. (Ist das ein Leerzeichen oder 4, gewährt, wenn es als * erscheint, ist es leicht zählbar.)

10
AJ Henderson

Es ist eine sehr gute Richtlinie für die Bequemlichkeit, und nachdem ich dies von der Seite des Kundensupports gesehen habe, denke ich, dass dies überall implementiert werden sollte.

Sie können das Passwort wie folgt schreiben: "abc def ghi" und es auf ein Blatt Papier kopieren oder kopieren und einfügen.

Es ist einfach einfacher, alle Leerzeichen zu entfernen, als allen zu sagen:

  • "Stellen Sie sicher, dass Sie keine Leerzeichen kopieren und einfügen"
  • "Geben Sie das Passwort manuell ein, kopieren Sie es nicht und fügen Sie es nicht ein"

Welches ist in der Regel eine Antwort auf die Frage:

  • "Mein Passwort funktioniert nicht, obwohl ich es genau aus der E-Mail kopiert habe, die Sie mir gesendet haben"
7
sharp12345

es geht nur um programmatische Semantik. Fast alles behandelt das Leerzeichen '' oder "", das sich von anderen Symbolen wie 'a' oder 'dds' unterscheidet.

das Leerzeichen wird in andere seltsame Zeichen wie neue Zeilen - '\ n' oder Leerzeichen - '' zusammengefasst.

Es ist auch nicht eindeutig, da einige Sonderzeichen in bestimmten Computerumgebungen keine Darstellung haben und auf ein leeres Zeichen analysiert werden. ''

In einigen Computerumgebungen, in denen wir Dateien von MAc zu Windows zu Linux hin und her weitergaben, wurde manchmal ('' == '') ein FALSE-Ergebnis erzeugt (das doppelte Gleichheitszeichen bedeutet lediglich einen Vergleichsoperator). Es war falsch, weil in dem Raum versteckte Symbole vorhanden waren, die wir aufgrund der unterschiedlichen Computerkulturen in unserem Team nicht sehen konnten.

Ich bin mir nicht sicher, ob dieses Problem jemals auftreten würde, wenn ich streng mit Passwörtern spreche, aber es ist trotzig der bessere Weg, immer Leerzeichen in speziellen Bereichen wie Passwörtern, Funktionsnamen und Dateinamen zu haben. Das Parsen von Leerzeichen in Dateinamen ist eine ganz andere Geschichte. Einige Programme fügen einem Leerzeichen ein% hinzu, um das Leerzeichen zu entfernen, sodass der Name der% -Name ist

3
jordan

Bei den meisten Tastaturen erzeugt die Leertaste einen Klang, der sich geringfügig von dem jeder anderen Taste unterscheidet.

Stellen Sie sich das Szenario vor, in dem eine Person hört, wie eine andere Person ihr Passwort eingibt.

Wenn diese Person herausfinden kann, dass das Passwort beispielsweise aus 3 Zeichen + einem Leerzeichen + 4 Zeichen besteht, kann dies in einigen Fällen ein sehr nützlicher Hinweis sein.

2

Ich glaube, die meisten Nicht-Programmierer haben (bewusst oder nicht) das Gefühl, dass sich das Leerzeichen wesentlich von anderen Zeichen unterscheidet, da es nur dazu dient, Wörter voneinander zu trennen. nur Metadaten statt Daten.

Dieses Gefühl wird durch die Tatsache verstärkt, dass es keinen Ton gibt, der dem Raumcharakter entspricht. Die meisten Menschen erinnern sich an ihre Passwörter in ausgesprochener Form (wie sie klingen, wenn sie laut ausgesprochen werden) anstelle der visuellen Form (wie sie aussehen, wenn sie geschrieben werden).

Daher würden sie "Mein Passwort", "Mein Passwort" und "Mein Passwort" unbewusst als gleich betrachten, da sie gleich ausgesprochen werden und leicht erkennen können (danke für das Großbuchstaben "P"), wo ein Wort endet und das nächste beginnt - - auch ohne Leerzeichen. Wenn Sie sie fragen würden, ob diese drei gleich sind, würden Sie das Problem natürlich vom Unbewussten zum Bewusstsein heben und jeder würde mit "Nein" antworten. Aber solange niemand die Frage stellt ...

Das Problem beim Zulassen von Leerzeichen in Kennwörtern ist daher praktisch: Es hilft Benutzern, ihre Kennwörter zu vergessen, d. H. Zu vergessen, ob das Kennwort ein Leerzeichen (oder zwei oder drei oder ...) enthält oder nicht.

0
user11717468

Ich kann mir mehrere Gründe vorstellen, warum Leerzeichen ausgeschlossen werden sollten. Diese Gründe haben jedoch nichts mit Sicherheit zu tun, sondern mit Benutzerfreundlichkeit:

  • Wenn Sie ein Kennwort mit Leerzeichen übertragen, woher weiß der Empfänger, dass es sich um ein Leerzeichen oder eine Registerkarte handelt? Und sind es ein oder zwei Leerzeichen? Angenommen, Sie müssen es von Hand schreiben (es passiert), wie können diese Informationen angezeigt werden? Abhängig von der Schriftart ihres E-Mail-Clients besteht auch die Möglichkeit, dass sie die Leerzeichen nicht bemerken.

  • Wenn sich das Passwort beim Senden am Anfang oder Ende befindet, wird es leicht übersehen und muss in Anführungszeichen gesetzt werden. Aber selbst dann wird es seltsam aussehen und ich kann mir leicht vorstellen, dass Benutzer diesen letzten Bereich nicht einschließen und sich nicht anmelden können.

  • Leerzeichen (Zeilenumbrüche, Tabulatoren, Leerzeichen) werden häufig am Ende und am Anfang eines Felds abgeschnitten, um zu vermeiden, dass Personen falsche Daten kopieren und einfügen. Wenn die Leerzeichen signifikant wären, würde dies natürlich ein Problem verursachen.

Alles in allem denke ich, dass Leerzeichen alle Arten von Problemen und gespeicherten Supportanrufen vermeiden, also ist es eine gute Sache.

Edit :

So beantworten Sie die Kommentare zu den schlechten Praktiken beim Teilen von Passwörtern:

Nehmen wir an, wichtige Geschäftsdokumente sind auf Bobs Station gesperrt, der gerade im Urlaub ist. Was ist in diesem Fall zu tun? Warten Sie, bis Bob zwei Wochen später zurückkommt und in der Zwischenzeit potenzielle Geschäfte verliert? Oder bitten Sie ihn einfach, das Passwort zu senden? Es ist sicher schlecht, aber immer noch besser als die Alternative.

Wie Linus Torvald es ausdrückte (über etwas anderes, aber ich mag den Geist): "Sie sollten sich mit Realität befassen, nicht mit dem, was Sie sich wünschen, dass Realität ist".

0
laurent