Dovrei preoccuparmi che la lunghezza della passphrase trapelhi informazioni? [duplicare]

-1

Ho pensato a come generare passphrase casuali da un dizionario pubblico di parole (simile alle passphrase XKCD / Diceware).

Una cosa in particolare a cui stavo pensando è che la lunghezza di tale passphrase perderà molte informazioni sulla frase (supponendo che il dizionario contenga parole di lunghezza variabile, come la maggior parte delle liste diceware sembrano fare). Supponiamo di avere una lista di 1024 parole, quindi generare una frase casuale di cinque parole dovrebbe fornire 50 bit di entropia se la lunghezza è nascosta. Tuttavia, supponiamo che la lunghezza non sia nascosta e che ci siano solo 128 parole di lunghezza tre (e nessuna di lunghezza una o due) nel dizionario. Ora dì che sappiamo che una passphrase è di 15 caratteri. Quindi una passphrase di cinque parole di lunghezza 15 potrebbe essere prodotta solo da quelle 128 parole di lunghezza tre che danno un'entropia molto più bassa di 35 bit.

Mi chiedo se questa perdita di entropia sia qualcosa di cui dovrei preoccuparmi.

In particolare, mi interessa sapere se è giusto ipotizzare che qualcuno che infrange una passphrase non conosca la lunghezza della frase? In altre parole è ragionevole presumere che nei sistemi più comuni la lunghezza della frase sia nascosta a un potenziale aggressore?

In caso contrario, i generatori di passphrase lo prenderanno in considerazione in qualche modo?

Dovrei aggiungere che chiedo perché non sono così familiare con il modo in cui le password / frasi sono protette. Tuttavia, presumo che vengano spesso inviati a un server in qualche forma crittografata e, per quanto ne so, la crittografia non protegge necessariamente la lunghezza del testo in chiaro.

Questo non è simile alle domande sulla rivelazione della lunghezza della password. Questo perché ogni carattere in una password ha la stessa lunghezza (in particolare 1). In una passphrase, tuttavia, l'equivalente di un carattere è una parola del dizionario. Supponendo che queste parole abbiano lunghezze diverse, la lunghezza dell'intera passphrase rivelerà quali tipi di parole sono stati usati. Nell'esempio sopra una password di lunghezza 15 rivela che solo le parole di lunghezza 3 sono state utilizzate. Per una password questo è equivalente a qualcosa di simile a rivelare che solo le lettere a, b, c, d, e, f, g, h, i e j dove usate nel generare la password.

Ho letto anche la domanda sulla sicurezza delle password in stile XKCD, ma per quanto posso vedere nessuna delle risposte risolve questo problema.

    
posta Guut Boy 18.08.2015 - 15:16
fonte

2 risposte

2

Domande su lunghezza della password e entropia e cose sono ben fatte su questo sito, quindi se cerchi un po 'e probabilmente troverai la risposta che stai cercando.

C'è una cosa che desidero affrontare direttamente dalla tua domanda. Hai detto:

Say I have a list of 1024 words then generating a random five word phrase should provide 50 bits of entropy if the length is hidden . . .

A meno che non lo stia interpretando male, l'intera premessa di questo paragrafo è che un utente malintenzionato che impara la lunghezza della tua password sa anche 1) che stai generando le tue password da un elenco di parole e 2) ha accesso a quella lista. Se questo è quello che stai ricevendo, allora dobbiamo fare alcune domande come: "come hanno ottenuto la lista?", "Hanno accesso a qualcosa di diverso dall'elenco?", "ne sanno abbastanza su di te per creare email di phishing personalizzate?", ecc. Come puoi vedere, non appena iniziamo a pensare che l'attaccante conosca informazioni aggiuntive, l'entropia (o punto di forza) o la tua password smettono di essere il punto più importante .

Ho dato una risposta a una domanda simile in cui ho creato un argomento che

Once an attacker is spending effort to learn things about you, the whole idea of password strength / entropy no longer makes sense.

    
risposta data 18.08.2015 - 15:46
fonte
0

Una risposta di math che risponde direttamente alla tua domanda sui passphrase generati da una lista di parole note (ad esempio la tecnica Diceware). Dato che sono al lavoro, farò un passaggio molto duro in matematica usando il diceware standard come modello e fare molte supposizioni. Qualcun altro può fare un lavoro più attento se lo desidera.

Senza conoscere la lunghezza della passphrase, una parola a 5 caratteri a caso ti dà log_2 ((6^5)^5) =~ 64 bits of entropy

La prima cosa che dobbiamo sapere è quante parole ci sono di ogni lunghezza nella lista di dizionari inglesi . Potrei scrivere una sceneggiatura per contarli, ma sono pigro quindi diciamo che le 7776 parole della lista sono equamente distribuite su lunghezze [2,10], dando 864 parole per ogni lunghezza.

Supponendo di seguire le best practice per diceware di inserire spazi tra le tue parole, la passphrase più corta che potresti avere è length 14 : 5xlen(2) + 4 spaces . Questo ti dà log_2 ((864)^5) =~ 49 bits of entropy . Ne hai persi alcuni, ma è ancora un bel po '.

Se la passphrase è lunghezza 15 , allora deve essere 1xlen(3) + 4xlen(2) + 4 spaces , dando 'log_2 (864 * 864 ^ 4) = ~ 49 bit di entropia' (lo lascio espandere in modo che se qualcuno effettivamente conta il numero di parole di ciascuna lunghezza, possono inserire numeri).

La lunghezza 17 è la prima che ha una scelta perché potrebbe essere 1xlen(5) + 4xlen(2) + 4 spaces o 1xlen(4) + 1xlen(3) + 3xlen(2) + 4 spaces , dando log_2 (864*864^4 + 864*864*864^3) =~ 50 bits of entropy

Se la mia matematica è anche lontanamente corretta, allora anche nel peggiore dei casi in cui hai solo parole di lunghezza 2 nella tua passphrase, hai ancora un strong 48 bit di entropia. (Supponendo che l'attaccante stia tentando di decifrare la tua passphrase, nota che molte delle passphrase generate dalla tecnica diceware possono avere un'entropia significativamente inferiore rispetto a una tabella standard dizionario / arcobaleno, poiché sono tutte parole comuni.)

Sarei molto arrabbiato se questo fosse accettato come risposta perché, mentre risponde alla domanda come richiesta, penso che sia una risposta molto ingenua che trascura alcune importanti domande di sicurezza come: "come ha fatto l'attaccante a sapere che sei usando diceware? "," come ha fatto l'hacker a sapere che stai usando esattamente 5 parole? "," se l'attaccante è disposto a lanciare una piccola server farm per rompere la passphrase, sei sicuro che questo sia l'anello più debole della tua sicurezza? ? ", ecc.

    
risposta data 18.08.2015 - 16:52
fonte

Leggi altre domande sui tag