it-swarm-eu.dev

Perché non consentire spazi in una password?

"La tua password non può contenere spazi." è un messaggio che vedo da alcuni siti Web, incluso 1 .

Perché? (Questa domanda è molto simile a Perché non consentire caratteri speciali in una password? , ma le risposte non sembrano valere per il carattere spaziale).

Apparentemente alcuni sistemi eliminano tutti gli spazi prima che includa la password. ( Come fa Google a non preoccuparsi degli "spazi" nelle password specifiche dell'applicazione? )

Perché non semplicemente hash qualunque cosa l'utente abbia digitato, gli spazi e tutto il resto?

127
David Cary

Non posso spiegarlo come qualcosa al di là della follia legacy, o copiare pigramente le restrizioni del nome utente in restrizioni della password senza previdenza.

Qualsiasi blocco di dati, stampabile o meno, dovrebbe essere accettabile se si esegue l'hashing delle password. Le uniche restrizioni dovrebbero essere una complessità minima e una lunghezza massima di "sanità mentale" in modo che qualcuno non assorba 1 MB di larghezza di banda (e il tempo CPU corrispondente per eseguire l'hash dell'input perché si utilizza un algoritmo lento, giusto?) Ogni volta che effettuano l'accesso.

108
Jeff Ferland

Gli spazi iniziali e finali potrebbero essere un problema per le persone che sono allentate con copia e incolla. Altrimenti, d'accordo con gli altri post, nessuna buona ragione.

Tuttavia, quali altri personaggi stiamo bloccando? tab, cr, lf, backspace, beep ☻☺ ♪ ▬ ♣. ?

39
mgjk

La semplice risposta è che si tratta di una politica password errata.

Non riesco a pensare a nessuna ragione particolarmente valida per vietare il personaggio spaziale. Questo è probabilmente solo un requisito arbitrario stabilito da una persona ben intenzionata ma sbagliata.

25
user10211

Non riesco a pensare a una solida ragione di sicurezza diversa da quella che scoraggia le persone dall'utilizzare frasi reali come password che sarebbero molto insicure se avessero un significato reale. A rigor di termini, non c'è nulla di insicuro in uno spazio in una password se mantiene una buona entropia, quindi la gente che è "creativa" è l'unica cosa reale che posso vedere.

Potrebbe anche esserci il problema dell'usabilità che gli spazi sono difficili da verificare visivamente se si digita visivamente la password corretta. (È uno spazio o 4, concesso se appare un * s, allora è facilmente numerabile.)

10
AJ Henderson

È un'ottima politica per praticità, e visto questo dal lato dell'assistenza clienti, penso che dovrebbe essere implementato ovunque.

È possibile scrivere la password in questo modo: "abc def ghi" e copiarla su un pezzo di carta oppure copiare e incollare.

È semplicemente più semplice rimuovere tutti gli spazi che continuare a dire a tutti:

  • "Assicurati di non copiare e incollare caratteri di spazi bianchi"
  • "Digita la password manualmente, non copiarla e incollarla"

Che di solito è una risposta alla domanda:

  • "La mia password non funziona, anche se l'ho copiata esattamente dall'email che mi hai inviato"
7
sharp12345

si tratta solo di semantica programmatica. quasi tutto gestisce lo spazio "" o "" diverso da altri simboli come "a" o "dds".

il carattere dello spazio vuoto viene inglobato in altri strani caratteri come nuove righe - '\ n' o caratteri vuoti - ''

Inoltre, non è unico, in quanto alcuni caratteri speciali in determinati ambienti informatici non hanno una rappresentazione e vengono analizzati in un carattere vuoto ''

In alcuni ambienti informatici in cui passavamo i file avanti e indietro da MAc a Windows a Linux, a volte finivamo con ('' == '') per produrre un risultato FALSO (il segno di doppio uguale significa semplicemente un operatore di confronto). Era falso perché nello spazio c'erano simboli nascosti che non potevamo vedere a causa delle culture dei computer che differivano nel nostro team.

Non sono sicuro che questo problema si verifichi o meno quando si parla di password rigorosamente, ma non avere spazi in aree speciali come password, nomi di funzioni e nomi di file è sicuramente il modo migliore di andare sempre. L'analisi degli spazi nei nomi dei file è una storia completamente diversa, con alcuni programmi che aggiungono una% a uno spazio per rimuovere lo spazio in modo da avere il nome come% name

3
jordan

Sulla maggior parte delle tastiere, il tasto Spazio produce un suono leggermente diverso da quello di qualsiasi altro tasto.

Considera lo scenario in cui una persona sente qualcun altro digitare la propria password.

Se quella persona è in grado di capire che la password è composta, ad esempio, da 3 caratteri + uno spazio + 4 caratteri, in alcuni casi potrebbe essere un suggerimento molto utile.

2
Cristian Lupascu

Credo che la maggior parte dei non programmatori ritenga (consapevolmente o meno) che il personaggio spaziale sia essenzialmente diverso dagli altri personaggi in quanto serve solo a separare le parole l'una dall'altra; essendo solo metadati anziché dati.

Questa sensazione è rafforzata dal fatto che non esiste alcun suono corrispondente al carattere spaziale. La maggior parte delle persone ricorda le proprie password in forma pronunciata (come suonano quando pronunciate ad alta voce) invece che in forma visiva (come appaiono quando vengono scritte).

Pertanto considererebbero inconsciamente "La mia password", "La mia password" e "La mia password" come gli stessi perché sono pronunciati equamente e possono facilmente vedere (grazie per la "P" maiuscola) dove una parola termina e inizia la successiva - - anche senza uno spazio. Naturalmente, se chiedessi loro se quei tre sono uguali, solleveresti il ​​problema dall'inconscio alla mente cosciente e tutti risponderebbero "no". Ma finché nessuno fa la domanda ...

Quindi il problema nel consentire spazi nelle password è pratico: aiuta gli utenti a dimenticare le loro password, cioè li aiuta a dimenticare se c'era uno spazio (o due o tre o ...) nella password o meno.

0
user11717468

Posso pensare a diversi motivi per cui gli spazi dovrebbero essere esclusi; questi motivi non hanno nulla a che fare con la sicurezza ma con l'usabilità:

  • Se si trasmette una password che contiene spazi, come fa il destinatario a sapere che è uno spazio o una scheda? Ed è uno o due spazi? Supponendo che tu debba scriverlo a mano (succede), come mostrare queste informazioni? A seconda del carattere del loro client di posta elettronica, c'è anche una possibilità, che non noteranno gli spazi vuoti.

  • Ancora una volta, quando si invia la password, se gli spazi sono all'inizio o alla fine, si perderanno facilmente e dovranno essere racchiusi tra virgolette. Ma anche allora sembrerà strano e posso facilmente immaginare gli utenti che non includono questo ultimo spazio e non riescono ad accedere.

  • I caratteri vuoti (newline, tab, spazi) sono spesso tagliati dalla fine e dall'inizio di un campo, per evitare che le persone copino e incollino dati errati. Ovviamente se gli spazi fossero significativi, ciò causerebbe un problema.

Tutto sommato, penso che non avere spazi eviti tutti i tipi di problemi e le chiamate di supporto salvate, quindi è una buona cosa.

Edit:

Per rispondere ai commenti sulla cattiva pratica della condivisione delle password:

Supponiamo che importanti documenti aziendali siano bloccati sulla stazione di Bob, che è attualmente in vacanza. Cosa fare in questo caso? Aspettare che Bob ritorni due settimane dopo e nel frattempo perdano potenziali affari? O semplicemente chiedergli di inviare la password? Di certo è male ma è ancora meglio dell'alternativa.

Come diceva Linus Torvald (riguardo a qualcos'altro, ma mi piace lo spirito): "dovresti affrontare la realtà , non ciò che desideri che la realtà fosse".

0
laurent