Quanto è sicura la password di Snowden's MargaretThatcheris110% SEXY?

29

In un extra da Intervista di Edward Snowden a John Oliver , Snowdon consiglia che una buona password da utilizzare è una come MargaretThatcheris110%SEXY. .

Inoltre, sul blog Errata Security, Robert Graham dice importa :

NSA leaker Edward Snowden recent suggested that a strong password would look like "MargaretThatcheris110%SEXY". he's been criticized for this, but actually, it indeed pretty strong. Yes, there are lots dictionary and Markov weakness, but they are compensated for by length. All else being equal, longer is better. Indeed, whatever password you have now, simply adding "xxxxxxxxxxx" onto the end of it it likely to make it unbreakable, and it's extremely easy for you to remember. A password like "MaThis110%SX" is a 12 character password such that even the NSA is unlikely to be able to break it if it were your Lastpass password -- Snowden's longer form doesn't make it worse. (Note, some people claim this Snowden example isn't so secure, but they are wrong).

Ora, nelle precedenti discussioni su questo sito abbiamo appreso che il cervello umano non funziona in modo casuale . Sappiamo anche che l'entropia della password non è basata su ciò che è nella password effettiva, ma come è stata generata la password . Ad esempio, la seguente password può essere considerata valida a prima vista:

zTzG5rUev2fBBkp6dEMJHNEQWWmFTSjBBn26cQCgkVXSydep3nUx6pF4uf6Pu59RYKDEwkwnTdFJht2n

Tuttavia, dì che Bob genera sempre le sue password combinando le seguenti parole nel suo file di testo di generazione password insieme in un ordine casuale, e l'attaccante lo sa , quindi la password non è così strong.

kVXSydep3nUx6pF4uf6P
zTzG5rUev2fBBkp6dEMJ
HNEQWWmFTSjBBn26cQCg
u59RYKDEwkwnTdFJht2n

Uno dei commenti sull'articolo Wired è:

if I was trying to crack a hash I wouldn't just assume from the beginning that all passwords follow a female_names+surnames+english_word+english_word+known_passwords pattern and then wait up to 7 days to see if I was correct. If I knew it was that pattern, then Snowden's password would have 33.041 bits of entropy. Otherwise, the entropy would be considerably higher (>100 bits).

Questo descrive il punto cruciale della mia domanda. Se ho creato una password come MargaretThatcheris110%SEXY. , un "misuratore di forza" come zxcvbn dà l'entropia a 39.6 (incluso il punto). Tuttavia, nessuno sa che ho generato il modo in cui zxcvbn lo suddivide. E anche se sapessero che in passato avevo usato quel metodo, potrei usare un metodo diverso per la mia prossima password (ad esempio male_name+number+english_word+french_word+known_password+diceword ).

Come tylerl note in un'altra risposta:

We can guess at what dictionaries will be available to the attacker, but we can't know for certain. Therefore, as a proxy for dictionary size, we instead use entropy. It's a poor substitute because it doesn't reflect the actual attack mechanics, but it's potentially better than nothing.

Se un utente malintenzionato sa che potrei usare definizioni di sequenza "cervello umano inventato", possibilmente con valori di "cervello umano inventato" per riempire quelle sequenze, questo in realtà li aiuta in qualche modo pratico? Quello che intendo è che il valore di entropia di 39.6 non significa in realtà che possa essere attaccato da un attacco di forza bruta che riempie lo spazio delle chiavi, perché l'attaccante non conosce la struttura. Mi rendo conto che in sicurezza le sole cose che dovrebbero essere segrete sono le password e le chiavi segrete, i meccanismi stessi dovrebbero essere considerati noti e pubblici. Tuttavia, il modo in cui viene generata la password può essere considerato privato perché sa che un altro conosce il metodo esatto . Ovviamente Snowden lo ha rivelato pubblicamente, ma per la sua prossima password lo farà in modo leggermente diverso. È per questo che Graham non è d'accordo sul fatto che l'esempio di Snowden sia più sicuro di quanto suggerisca l'analisi dell'entropia?

Anche correlato: L'entropia generata dall'uomo di sempre stato un vero problema?

    
posta SilverlightFox 30.06.2015 - 12:31
fonte

4 risposte

9

Poiché ha notato tylerl , l'entropia non è in realtà una misura della forza della password, ma è la migliore abbiamo:

The purpose of password complexity is to stand up against a brute-force attack. The size of the smallest available dictionary that contains your password determines the amount of time required to crack your password. We can guess at what dictionaries will be available to the attacker, but we can't know for certain. Therefore, as a proxy for dictionary size, we instead use entropy. It's a poor substitute because it doesn't reflect the actual attack mechanics, but it's potentially better than nothing.

Comparisons of passwords based on entropy calculations may potentially be fruitful, but you should be careful to avoid ascribing too much value to a number which is, in the end, only indirectly related to how well the password will hold up.

Anche se la password MargaretThatcheris110%SEXY. , quando analizzata, ha un'entropia di 39,6 bit, il metodo di generazione è randomizzato (anche se dal cervello umano). Ciò rende difficile valutare la sua reale forza. Questa finta randomizzazione renderà anche difficile per un utente malintenzionato mettere insieme una lista di parole senza conoscere la struttura stessa di quella particolare password. A meno che l'utente finale non stia usando la stessa struttura per più password (che potrebbero accidentalmente accadere se generassero abbastanza da doverle ricordare), allora questa mancanza di entropia non aiuta realmente l'aggressore. Questo è il motivo per cui Graham non è d'accordo sul fatto che la password di Snowden sia debole.

È impossibile giudicare se una determinata password singola sia "debole" o "strong".

DyZ29ZQ8JswmeKutXHDHh77YqpkmD

potrebbe essere una password sicura, tuttavia se si trova nel dizionario dell'attacker, non lo è. I parametri di "forza" della password come zxcvbn possono fornire una descrizione di come la tua password potrebbe essere costruito e, se cade in una sequenza comune, potrebbe suggerirti di utilizzarne uno diverso.

La sequenza di

female_names + surnames + english word + english word + digits + common password + character

che zxcvbn determina da MargaretThatcheris110%SEXY. non è probabile che sia molto comune, quindi un utente malintenzionato sceglierebbe solo di attaccare lo spazio delle chiavi di questa distribuzione entropica se ha una ragione specifica per farlo. Ciò significa che MargaretThatcheris110%SEXY. è probabilmente una prova NSA come suggerisce Graham.

    
risposta data 30.06.2015 - 12:47
fonte
1

Il problema con entropy come misura della forza della password è che deve essere applicato all'en input non all'emettitore .

Se base64 codifica la parola "password", ottengo qualcosa che sembra strong, ma in realtà non lo è.

Quindi misurare i bit di entropia è davvero un miglior caso . Se si guarda la generazione puramente casuale, l'entropia per simbolo per gli spazi delle chiavi anche relativamente piccoli non è poi così male come si potrebbe immaginare.

Con riferimento a: link

Le lettere maiuscole e minuscole sono 4,7 bit per simbolo. Tutto l'ascii è 6,5 per simbolo. Quindi fintanto che la mia password che usa solo "lettere normali" è lunga del 50%, è "più sicura".

Ma realisticamente - anche una password generata casualmente potrebbe non essere così casuale. Sembra buono, ma non lo è. Allo stesso modo, una password generata dal cervello umano ... non è casuale, ma c'è un avvertimento importante - a meno che non sappia come funziona il tuo cervello, non posso dire l'algoritmo che potresti aver usato.

I potrebbe essere in grado di indovinare - e in effetti, questo è il modo in cui gli attacchi di dizionario funzionano. Si crea un insieme di "regole per la password" guidate dal dizionario, che è molto semplicemente un caso di incollare simboli e provare a "indovinare" quelli. Questo riduce enormemente la tua entropia da un "best case" di personaggi casuali. Penso che XCKD citi "correcthorsebatterystaple" come porta circa 44 bit invece del teorico 122 che una stringa che potrebbe essere

.

Quindi ... risposta breve - è quasi impossibile dirlo. Non permettere alle persone di forzare le password anche se sei sicuro :).

    
risposta data 30.06.2015 - 18:14
fonte
1

L'algoritmo "password" di Sure Snowden è ora noto e riduce il potenziale spazio per le chiavi a un intervallo attaccabile. Ora Snowden è abbastanza intelligente da saperlo e presumibilmente non userebbe una password basata sullo stesso algoritmo o anche su una simile in futuro. Ci sono tuttavia due problemi da considerare.

Il primo è la perdita di informazioni quando si condividono segreti derivati. L'unico vantaggio dell'utilizzo di un algoritmo su parole solo casuali (diceware) sarebbe la generazione di più segreti sicuri dall'algoritmo. Un esempio potrebbe derivare due password che sarebbero più facili da memorizzare rispetto a due valori puramente casuali.

Supponiamo che senza conoscere l'algoritmo che entrambe le password derivate siano troppo complesse per essere interrotte dalla forza bruta. Il problema è che ci sono altri modi per ottenere una delle password e che riduce la forza dell'altro noe. Ad esempio se qualcuno una password per crittografare un documento e l'altro come il loro login di Facebook che sarebbe molto male. Le forze dell'ordine potrebbero utilizzare i poteri legali per intercettare la password di Facebook e sulla base dei risultati derivano l'algoritmo o una parte sostanziale dell'algoritmo e quindi tagliare l'entropia della password del documento segreto da > 100 bit fino a 40. Da infrangibile a debordabile a causa per perdite.

Quindi sì, in un'analisi astratta è molto sicuro, ma il mondo reale è complesso. Dobbiamo considerare dove verranno utilizzate le password derivate. Quando due valori sono collegati, c'è più rischio perché la perdita di informazioni può compromettere l'algoritmo sottostante. Se stai assumendo che l'algoritmo rimarrà un segreto, allora questo è un problema. Se si assume che l'algoritmo non rimarrà un segreto, saranno necessarie password più complesse e si perde il valore dell'algoritmo, per esempio, basta usare più password casuali.

Quando passiamo un segreto a una terza parte (ad esempio un accesso a un sito Web) perdiamo il controllo su di esso e questo è il problema in poche parole. Ho usato l'esempio delle forze dell'ordine che costringono Facebook a registrare il prossimo accesso ma potrebbe essere il sito Web ha cattiva sicurezza e lo memorizza in testo normale, o uno dei dipendenti in malizioso e registra tutti gli accessi mentre accadono, o il sito viene violato non lo sa e una terza parte (forse una w / 3 lettere) sta registrando segretamente i login.

Se non riesco a controllare la sicurezza di un segreto, non voglio che quel segreto sia legato ad altri segreti. Non riesco a controllare se Facebook comprometterà la sicurezza di quel segreto, ma posso dividere in compartimenti il danno. Un gestore di password protetto da una password complessa che memorizza le password del sito generate casualmente garantisce che non vi sia alcun collegamento a monte. Un compromesso della password principale, compromette tutte le password memorizzate, ma non c'è modo per la password di Facebook trapelata, può compromettere la password del documento segreto.

Ancora con una "password principale" mentre non c'è il collegamento a monte c'è il collegamento di tutti i segreti e la password principale che è potenzialmente negativa per ragioni simili. Per un livello di sicurezza più elevato può essere utile isolare segreti di sicurezza più elevati da segreti di sicurezza inferiori usando un algoritmo più un valore casuale memorizzato nel gestore di password per i segreti di alto livello. Pertanto un compromesso della password principale comprometterebbe tutti i segreti di basso livello ma non necessariamente quelli di livello superiore.

    
risposta data 30.06.2015 - 17:10
fonte
1

Penso che il componente più importante per provare ad analizzare questo quantitativamente è

"a "strength meter" such as zxcvbn gives the entropy as 39.6 (including the full stop). However, nobody knows that I generated the way zxcvbn breaks it down."

Quindi con questo in mente, le permutazioni degli algoritmi di generazione della password devono essere incluse come bit di entropia poiché è possibile che l'attaccante stia mettendo insieme una scuderia di forzanti brute per ogni possibile schema di generazione (lo schema xkcd, il schema zxcvbn, lo schema schneier, ecc. che scambiano una certa quantità di entropia per facilitare il richiamo della memoria) e alla fine li allineeranno tutti e li licenzieranno al tuo hash se ne avessero la possibilità.
Un uso intelligente di Google probabilmente rivelerebbe i primi 6 o 8 metodi per "la creazione di password memorabili" e sarebbe il punto da cui partire se volessi ottenere un'analisi di entropia più completa.

    
risposta data 30.06.2015 - 19:08
fonte

Leggi altre domande sui tag