In genere sono contrario a regole troppo rigide o complesse per accettare password (regole come "Deve contenere almeno un carattere maiuscolo, un numero e un simbolo" e cose simili, vedi anche XKCD # 936: password complessa breve o passphrase lunga del dizionario? ). Di solito preferisco calcolare una metrica strengthness (basata su caratteri speciali inclusi e lunghezza) e se è sopra una soglia give accetto la password, non importa se è strong perché è un testo in minuscolo di 32 caratteri o perché è composto da 10 caratteri ma contiene anche caratteri in caratteri cinesi).
Mi piace questo approccio perché è facile per gli utenti finali e, presumendo che gli utenti con una buona formazione scelgano frasi d'accesso , Tendo a considerare le loro password ragionevolmente sicure.
Tuttavia:
-
Gli utenti potrebbero erroneamente usare frasi incredibilmente comuni ( il mio nome è adriano o cose del genere). Non appena saranno disponibili statistiche valide (forse sono disponibili anche ora ma non sono a conoscenza), un utente malintenzionato che ha ottenuto un elenco di password con hash può utilizzare tali statistiche per le passphrase guess .
-
Non posso essere sicuro della sicurezza di altri siti e vorrei impedire agli utenti di riutilizzare la stessa password per ogni sito che hanno una registrazione.
Ho pensato di chiedere loro di includere una determinata parola casuale nella loro password, qualcosa del tipo: Digita la tua password, assicurati di includere la parola "miele" in essa . È ragionevole? AFAIK non dovrebbe indebolire l'hashing con parole / pattern ripetitivi perché la parola viene scelta casualmente da un dizionario abbastanza grande (e specifico per una lingua).
Sì, possono semplicemente aggiungere la parola richiesta al testo esistente (ad esempio "il mio nome è adriano, miele" ) ma dal punto di vista del cracker non dovrebbe avere importanza perché la parola è casuale e alla fine anche i separatori aggiuntivi miglioreranno la sicurezza.