La manipolazione di una password casuale riduce significativamente la sua entropia?

5

Supponiamo di generare una password usando un generatore di numeri casuali sicuro e tutte le classi di caratteri disponibili. Ad esempio, c.hK=~}~$Nc!]vFp9CgE .

Considera che questa password potrebbe dover essere utilizzata in un ambiente in cui non può essere copiata / incollata; deve essere digitato manualmente su una tastiera ogni volta. C'è un sacco di pressione e rilascio del tasto Shift per digitarlo, il che diventa fastidioso velocemente.

Se i caratteri della password sono stati riorganizzati in modo che tutti i caratteri Shift ed erano raggruppati su un lato della password (quindi, K~}~$N!FCEc.h=c]vp9g o c.h=c]vp9gK~}~$N!FCE ), sarebbe significativamente ridurre l'entropia (e la sicurezza pratica) della password? Sarebbe un po 'più facile da digitare, perché metà della password potrebbe essere digitata pigramente ponendo il tasto Shift e l'altra metà senza. Ma c'è troppo di un compromesso in termini di sicurezza offerta?

    
posta smitelli 14.08.2015 - 16:53
fonte

4 risposte

7

Qualsiasi domanda sull'entropia della password deve iniziare con una discussione su cosa significhi realmente "entropia della password" e su che tipo di attacco stai cercando di proteggerti.

In breve, l'entropia della password è una stima del numero di tentativi errati che un utente malintenzionato dovrà effettuare prima di imbattersi nella tua password. Queste stime si basano su dizionari brute-forcing disponibili online standard.

Se si digita la password in uno stimatore di entropia della password e si ottiene un tempo di crack molto lungo, probabilmente si va bene contro i tentativi di cracking "drive-by". Per "drive-by" "Voglio dire che in particolare non sei stato preso di mira, sei solo parte di una vasta serie di account che vengono attaccati. (Come nota a margine, fai attenzione a digitare la password che stai per usare in uno stimatore di entropia online , a meno che tu abbia controllato il codice sorgente per quel sito non hai la garanzia che non aggiungeranno la tua password al dizionario!)

Ciò che le altre persone stanno per rispondere è che se un utente malintenzionato conosce che ti piace raggruppare i caratteri maiuscoli e creare un dizionario personalizzato per te (o molte persone iniziano a farlo e l'unità -dopo "i dizionari iniziano a includere quel pattern), quindi la password perde circa metà della sua entropia. Bene, ma è davvero quello di cui dovresti preoccuparti?

Se stai facendo qualcosa di non standard (come il clustering della tua tomaia) e facciamo l'ipotesi che l'hacker lo sappia, allora siamo già fuori dal dominio degli attacchi "drive-by" e dovremmo anche considerare le cose Mi piace:

  • Qualcuno dei tuoi account è stato precedentemente violato? Le tue password vengono visualizzate nei database delle password persi [1] [ 2] ? In tal caso, quante informazioni possono ottenere sui "pattern" che usi?

  • Hanno accesso alle e-mail, agli sms, ai post dei blog, ecc. per vedere che tipo di parole usi?

  • Potranno creare e-mail di phishing mirate per te?

  • Verifica sempre le informazioni sul certificato di una pagina prima di digitare la password?

  • Scarichi software da Internet?

Come puoi vedere, una volta fuori dal dominio degli attacchi "drive-by", l'entropia teorica della tua password smette molto rapidamente di essere il punto importante.

Sono un strong sostenitore dell'idea che una volta che un utente malintenzionato si sforza di imparare cose su di te, l'intera idea di entropia della password non ha più senso.

Bottom line: Dal momento che stai iniziando da una password casuale e applichi solo uno schema molto delicato, hai ancora molta entropia. Se sei preoccupato per attacchi diversi dagli attacchi del dizionario drive-by, l'entropia della tua password è in gran parte irrilevante perché altri fattori diventano molto più importanti.

    
risposta data 14.08.2015 - 17:55
fonte
4

Dato che hai chiesto espressamente come entropia, inizierò col trattare gli aspetti oggettivi della tua domanda.

L'entropia è ridotta, perché stai portando via metà dello spazio delle chiavi da ciascun lato.

Per semplificare questo, se l'entropia di una password di 10 caratteri con caratteri minuscoli e maiuscoli è

log2(52^10) = ~ 57 bits of entropy

quindi rimuovi i caratteri maiuscoli della prima metà e i caratteri minuscoli dell'ultima metà, l'entropia è effettivamente

log2(26^10) = ~ 47 bits of entropy

Più 1 bit dato che può succedere anche il contrario fornisce 48 bit. Quanto sopra presuppone che le password vengano generate utilizzando un generatore di numeri pseudo casuali crittograficamente sicuro, ovvero è completamente casuale e non contiene modelli generati dal cervello umano che saranno inavvertitamente prevedibili in molti modi.

L'entropia di una password è basata sulla tecnica di generazione, quindi se questo è noto, hai ridotto l'entropia come sopra. Non fare affidamento sul metodo che rimane segreto.

Tuttavia, se vuoi farlo per comodità di inserimento, aggiungi semplicemente altri due caratteri alla tua password:

log2(26^12) = 56

Più il 1 bit e poi hai 57 bit per la sicurezza equivalente del tuo metodo originale.

Tuttavia, hai anche chiesto in che modo ciò influisce sulla sicurezza pratica della tua password. Come detto, a meno che l'hacker non conosca il metodo di generazione della password, in questo caso il numero X di caratteri che possono essere immessi senza il tasto Maiusc e il numero X di caratteri che richiedono il tasto Maiusc, qualsiasi attacco di indovinamento della password sarà generico. Cioè, non ti prendono di mira in particolare, e quindi non sanno nulla del tuo specifico metodo di generazione. Ciò significa che cercheranno elenchi di parole generiche e sequenze di caratteri comuni invece di sequenze che si adattano al modello di generazione. Pertanto, l'entropia del loro spazio di attacco non corrisponde all'entropia che detiene il metodo di generazione della password. Ciò rende la tua password praticamente più sicura dello spazio delle chiavi in cui viene generata in caso di attacchi non mirati.

Nel tuo caso, assumendo una password di 20 caratteri generata casualmente, questo dà normalmente ~ 131 bit e ~ 113 bit dividendolo come descritto. Entrambi sono al di sopra del NIST a 80 bit consigliati per la forza della password.

    
risposta data 14.08.2015 - 17:12
fonte
0

dimostrazione per una password di 15 caratteri (il valore è approssimativo):

prima password: entropy = log2 (90) * 15 = 100

15 caratteri in un set di caratteri di 90

seconda password: entropy = log2 (90/2) * 15 + 4 = 89 15 caratteri prendi un set di caratteri di 90/2 e tieni premuto Maiusc dopo il carattere N (N tra 1 e 15 quindi entropia = 4)

tempo per rompere p1 = tempo per rompere p2 * 2 ^ (100-89)

la tua password modificata è quasi la stessa di rimuovere tutto il char spostato

    
risposta data 14.08.2015 - 17:07
fonte
-2

No, non "riduce significativamente la sicurezza pratica" della password.

La password è un "tutto o nessuno" puzzle . L'utente malintenzionato non conosce i set di caratteri di ciascun lato della password. Quindi l'entropia è persino inutile qui. La lunghezza è ciò che conta (che a sua volta influenzerebbe l'entropia di più, comunque). Se un attaccante non ha quello nel Dizionario che sta usando, non lo otterrà mai. In Brute Force, l'attaccante dovrà tenere conto di tutti i set di Char che stai usando (presumendo che conosca quei set di Char). Quindi la sistemazione non farà molta differenza. Deve ancora iniziare Brute Forcing fino a quando non viene trovato.

    
risposta data 14.08.2015 - 17:11
fonte

Leggi altre domande sui tag