Quindi ho notato una tendenza recente (e irritante) a richiedere che i nomi utente contengano numeri. C'è davvero un valore di sicurezza per questo?
Oltre al fatto che i nomi utente non sono sostituzioni di password, perché sono spesso pubblici (o almeno meno sicuri):
No, costringendo un utente ad avere un numero nell'input effettivamente diminuisce il numero di possibilità, rendendo così less sicuro contro l'ipotesi.
Come piccolo esempio, abbiamo una password di lunghezza 4, in cui ogni carattere può essere uno di 70 possibili (26 maiuscoli, 26 minuscoli, 10 cifre e alcuni segni come.,?! ecc.). Ecco 70 ^ 4 = 24010000 possibilità.
Se uno di questi 4 caratteri deve essere una cifra, ci sono 70 ^ 3 * 10 * 4 = 13720000 possibilità (il 4 è perché la cifra può essere una qualsiasi delle 4 posizioni).
Quindi, senza cifre, qui ci sono circa due volte più possibilità.
Ovviamente questo può essere generalizzato per qualsiasi insieme di possibili caratteri (purché sia significativamente superiore alle 10 cifre da solo) e a qualsiasi lunghezza della password.
E sì, il fatto che gli esseri umani non siano dei generatori casuali perfetti manca qui: forzare una cifra potrebbe impedire ad alcune persone di usare eg. il proprio nome. D'altra parte, altre persone useranno il loro nome con 1 aggiunto. Ciononostante, alcune persone usano effettivamente buoni RNG (gestori di password, ecc. Ecc.) E, come mostrato, la cifra consente valori meno possibili.
Ho notato anche questo. Molte volte da banche e amp; istituti di carte di credito.
La ragione per cui credo che applichi questo è
Per me, questo non lo rende intrinsecamente più sicuro . È più un caso di offuscamento. Come tutti sappiamo, l'oscurità non equivale alla sicurezza.
Al contrario, raccomando di avere il nome utente unico per ogni servizio online il più possibile e, naturalmente, lungo e strong password uniche anche per ciascuna.
Potrebbe essere di un certo valore contro i bot che tentano combinazioni comuni di nome utente / password garantendo che gli utenti scelgano nomi utente che non sono comuni. Inoltre, alcuni siti web rispondono in modo diverso nel caso in cui un utente esista o meno (o dirà che la password sbagliata o l'utente non esiste per esempio) e gli script cercano di scansionare i nomi utente più comuni in un secondo momento per forzare le loro password. Se rendi più difficile indovinare i nomi utente, guadagni almeno qualcosa.
Voglio dire ... per lanciare un attacco "stupido" contro qualche sito web è necessario indovinare sia il nome utente che la password correttamente. In questo scenario lo renderebbe più difficile richiedendo agli utenti di avere nomi utente complicati. Ovviamente, non aiuta gli scenari di attacco in cui l'autore dell'attacco conosce già il tuo nome utente.
Leggi altre domande sui tag user-names