Criteri password per generare password casualmente

1

Voglio generare una password in modo casuale. Ho iniziato utilizzando tutti i caratteri che sono tipizzabili su una tastiera QWERTY standard. Tuttavia, molti criteri password rifiutano le password con alcuni caratteri speciali (ad esempio ^ ~ '' "sono caratteri che sono comunemente rifiutati). Altre politiche richiedono caratteri speciali. Finora, ho usato una strategia che genera una password che include almeno una lettera maiuscola, una lettera minuscola, un numero e un carattere non così speciale (come un punto o una virgola), che non vengono spesso respinti. Naturalmente, la password è di lunghezza sufficiente.

Tuttavia, ho anche incontrato siti che accettano solo stringhe di lettere e numeri come password.

Quali sono i criteri ragionevoli per le password da supportare?

    
posta Ruben 19.05.2017 - 18:38
fonte

2 risposte

1

Posso garantirvi che potremmo facilmente trovare due siti che hanno politiche password completamente incompatibili. In realtà sarebbe facile: trovare un sito che richiede caratteri speciali e un altro sito che li mette al bando. Fatto. Quindi non esiste una soluzione adatta a tutti.

Penso che la cosa migliore da fare sia generare password casuali in un modulo che funzionerà principalmente per i siti: superiore, inferiore, numeri e una lunghezza ragionevole. Ho usato una stringa di tipo UUID o anche un MD5 / SHA1 troncato / qualsiasi hash di / dev / urandom in passato. Quindi dare agli utenti la possibilità di abilitare le opzioni "caratteri speciali richiesti [/ vietato]", lunghezza massima, ecc. Un'opzione più complessa è incorporare le politiche per i siti strani mentre vengono fuori, ma probabilmente sarebbe da incubo.

FWIW, sono fermamente convinto che le password univoche (ad esempio, utilizzando un gestore di password) siano ampiamente più importanti rispetto all'utilizzo di password complesse nella maggior parte dei casi (l'eccezione principale è quando l'utente malintenzionato può eseguire un attacco offline, come una password di crittografia su disco completo). Quindi mi preoccuperei di più di rendere l'integrazione facile (e di rendere il gestore di password stesso sicuro!) Che avere le password più forti possibili. Ne posso parlare per tutto il giorno, felice di espanderlo!

    
risposta data 19.05.2017 - 22:45
fonte
1

Potresti dare un'occhiata ai generatori di password negli strumenti esistenti di gestione password, come LastPass. Come dice @RonBowes, non esiste una politica valida per tutti, e il fatto triste è che molti siti hanno politiche che significano che non puoi usare una password molto strong (Fino a qualche anno fa fa, la banca Wells Fargo consentiva solo 6-8 caratteri alfanumerici maiuscoli e non sensibili al caso per il proprio sistema bancario online, per dare l'esempio più eclatante al di sopra della mia testa) in modo che non si riesca nemmeno a sfogliare un paio di politiche altamente sicure come come "molto lungo ma solo alfanumerico" vs. "relativamente breve ma selezionato tra tutti i caratteri tipizzabili".

In generale, le password più lunghe sono più sicure, soprattutto a prescindere dai set di caratteri utilizzati. Ad esempio, i caratteri alfanumerici insensibili al caso selezionato casualmente sono ancora più di 5 bit di entropia per carattere; una password di 20 caratteri da quel set è di 103 bit di entropia, circa 11 ordini di grandezza più difficili da decifrare di una password scelta casualmente da tutti i caratteri tipizzabili su una tastiera americana ma di soli 10 caratteri (66 bit di entropia).

D'altro canto, le password più lunghe possono essere più difficili da digitare manualmente (più posti per fare errori), specialmente quando i personaggi sono casuali, e anche più difficili da memorizzare (molto più difficile, per i personaggi casuali anche da un set limitato) . Pertanto, se è probabile che le persone inseriscano manualmente queste password, potresti voler utilizzare (o almeno offrire) impostazioni meno sicure.

Inoltre, anche le cattive norme sulle password possono essere abbastanza sicure se i personaggi sono scelti in modo veramente casuale. Per prendere la suddetta politica Wells Fargo, l'entropia totale massima delle loro password era quasi esattamente 41,4 bit, che è una miseria rispetto agli altri esempi che ho dato, ma ancora poco pratico per la forza bruta su una connessione Internet (in media, si dovrebbe devono fare circa 1.45 trilioni tentativi). Ciò non regge a un attaccante locale determinato, ma richiederebbe molto tempo su Internet anche se il sito non ha alcuna protezione anti-brute-forzante. Una tipica password generata da umani (e facilmente memorizzabile per l'umanità) generata da queste regole sarebbe molto meno sicura, però!

    
risposta data 20.05.2017 - 00:29
fonte

Leggi altre domande sui tag