Le password dovrebbero essere veramente casuali?

14

Quando si genera una password, dovrebbe essere "veramente casuale" o dovrei renderlo un po 'meno casuale applicando alcune regole?

Se una password viene generata in modo casuale, potrebbe uscire con lettere minuscole ("password") o contenere solo pochi caratteri ripetuti ("abababab"). Sto pensando che questo potrebbe essere un problema, dal momento che la forzatura bruta sarebbe più facile.

Quindi, assicurandoti che una password sia composta da almeno un carattere da diverse "classi", ad es. numeri minuscoli, maiuscoli e ? O assicurandoti che tutti i personaggi siano unici?

    
posta Christian Davén 23.08.2011 - 09:47
fonte

5 risposte

15

Il punto di casualità è raccogliere l'entropia.

Facciamo un esempio: Scelgo la mia password tra le prime 4 cifre del sito web e il personaggio! e un numero composto dal numero ASCII della prima lettera.

Esempio: PayPal - > payp! 70; amazon - > Amaz! 65

L'entropia di questa password è 0. Perché si presume che il metodo sia noto e nulla è casuale in questo schema.

Se si utilizzano alternativamente due password, l'entropia è 1 bit. (2 scelte possibili)

Al contrario, se utilizzo una password di 7 lettere con selezione casuale, l'entropia si alza per registrare 2 (26 7 ) ≃ 32.9

(26 caratteri possibili per ogni posizione, quindi riportati in termini di bit)

Più aggiungi possibili caratteri (che sono casuali) più aumenta l'entropia. Ogni selezione di lettere "guidata dalla regola" non aggiunge entropia (quindi per le stesse password di lunghezza, l'entropia è inferiore).

Quindi in teoria questa seconda password ha più forza rispetto alla precedente con caratteri non alfanumerici. Il problema della password è sempre lo stesso: ricordare la password. Ciò significa che devi abbassare l'entropia per te stesso. Tale algoritmo come il primo presentato sopra consente di ricordare una password complessa. La "sicurezza" data da questo approccio è una scommessa sulla conoscenza di questo algoritmo (chiamato anche "sicurezza per oscurità"). Questa è considerata una cattiva pratica di sicurezza: un attacco mirato a te stesso (con conoscenza del tuo schema) avrà successo. Ma di solito è una concessione che fai per uso pratico.

Assicurandosi che la password usi caratteri alfanumerici + cambiamenti di casi + caratteri alfanumerici + ... è una pratica guidata dall'obiettivo di creare una password con grande entropia per attacchi di forze brute, ovvero attacchi che non considerano alcun particolare schema nella generazione di password. Ma per ogni tipo di attacco la tua password avrà entropia diversa, possibilmente 0.

Per concludere, l'entropia rimane una misura teorica della forza della password, nella vita reale i cracker useranno un determinato metodo basato su ipotesi. Quindi, anche se una password di 6 caratteri veramente casuale è considerata ugualmente sicura se contiene solo lettere minuscole o entrambe, in pratica i cracker possono scegliere un metodo che lo abbassi.

    
risposta data 23.08.2011 - 11:56
fonte
5

Una password dovrebbe avere un grado sufficiente di entropia. Qualsiasi aspetto della password veramente casuale contribuisce all'entropia, mentre gli aspetti che non sono relativamente privi di valore in termini di entropia (sebbene possano aiutare a memorizzare la password).

Ad esempio, se si conosce una password che proviene da un dizionario di 1024 parole esistenti, allora si dispone di 10 bit di entropia (2 ^ 10 = 1024), anche se la password stessa contiene molti più bit. OTOH, se hai una password composta da 8 caratteri casuali da un set di 64, allora sono 48 bit di entropia (6 bit * 8 caratteri).

Si noti inoltre che per mantenere l'entropia completa, è necessario utilizzare un RNG crittograficamente strong (la maggior parte degli RNG generici sono parzialmente prevedibili, il che è sufficiente a ridurre drasticamente la forza delle password risultanti), e si deve accetta la prima password che produce: se continui a generare password finché non ne ottieni una che ti piace, stai di nuovo riducendo l'entropia.

E assicuratevi di leggere la discussione di Rory Alsop collegata a: spiega la forza della password e l'entropia in modo molto dettagliato.

    
risposta data 23.08.2011 - 10:13
fonte
3

Come affermato, il punto di "casualità" è aumentare l'entropia. La matematica lo supporta, ma non abbiamo bisogno di entrare in quello. Tratterò questo argomento semplicemente.

Le persone iniziano a dire "fai una password casuale" in quanto l'uso di Internet è aumentato in modo esponenziale e le persone utilizzano cose come il compleanno, password1 e altre parole e frasi comuni e facili da indovinare.

Casuale in questo senso significa parole e personaggi che non sono facili da dedurre attraverso una semplice ricerca su di te (o sulle cose che si trovano sulla tua scrivania), come nel fumetto XKCD così popolare ora ( correct horse battery staple significa letteralmente niente , quindi per motivi di password è "random").

Risposta diretta: probabilmente no. Se stai pensando di "generare caratteri casuali in una sequenza" va bene, ma avrai difficoltà a ricordarlo e probabilmente dovrai fare qualcosa di non interamente sicuro (come scriverlo). È importante ricordare che non lo fai, e la maggior parte delle persone probabilmente non dovrebbe, generare caratteri casuali e metterli insieme, ma creare una password il cui argomento non può essere indovinato ("casuale") e segue alcune regole (come la lunghezza e diversi tipi di caratteri) .

Se osservi il tag password troverai molti suggerimenti su come creare password.

    
risposta data 23.08.2011 - 14:05
fonte
3

La maggior parte delle password generate dall'uomo sono più che mediamente prevedibili, con alcuni personaggi e sequenze più frequenti o in sequenze più prevedibili come le parole del dizionario. Per questo motivo, gli hacker sviluppano algoritmi per sequenze ottimizzate per testare le password negli attacchi di forza bruta. In altre parole, provano prima le password più utilizzate, poi testano le parole del dizionario, quindi aggiungono numeri alla fine ecc.

Quindi la migliore password è Pseudo-Random. Ciò significa che viene generato da un generatore di numeri casuali e quindi sottoposto ad un algoritmo anti-algoritmico, ad es. nel caso in cui 123456 si presentino per puro caso e per assicurarsi che le tipiche strategie degli hacker siano inefficaci.

La maggior parte delle persone pensa che più una password è complessa, più difficile è ricordare. Ma qui non sono d'accordo, e ti invito a vedere di persona sul mio sito. www.passwordgear.com

    
risposta data 23.08.2011 - 14:45
fonte
0

Non so se questa è una soluzione o no, ma ho pensato molto alle mie password, e quello che tendo a fare è, avere un prefisso, questo non è casuale e può essere qualcosa come "kX =!" il "non è incluso, quello che faccio dopo è, la mia prima impressione di un sito, ad esempio, la tua prima impressione di Google può essere Lego (a causa forse dei colori ?!) quello che fai poi, è prendere il prefisso e aggiungere la parola "lego" quello che poi faccio è cambiare le lettere E e O con 3 e 0, lasciandolo su kX =! l3g0. Questo ha un prefisso, e se il prefisso è indovinato, devi solo indovinare quanto segue "Parola personale", penso che questa parola sia praticamente impossibile da indovinare e tu devi conoscere Lego.

Non è a prova di proiettile, ma per le password di Gmail, Facebook, ecc. è un buon modo per ricordare le tue password. :)

    
risposta data 05.09.2011 - 23:47
fonte

Leggi altre domande sui tag