Usare password fatte di parole

0

La gente dice che non usi le password nel dizionario, ma se usi due parole non va bene? I dizionari hanno almeno 10.000 voci, quindi solo due parole saranno 100.000.000 di possibilità (e ciò è dato se l'autore dell'attacco in qualche modo sa che è una parola inglese).

C'è qualcosa nel modo in cui le password sono memorizzate che le rendono più facili da decifrare se sono tutte numeriche o tutti i caratteri alfabetici?

    
posta Celeritas 27.06.2012 - 02:02
fonte

7 risposte

4

Una Nvidia GTX 560 Ti costa circa $ 250 USD, e con qualcosa come link ti permette di provare ad abbinare circa 1,5 miliardi NTLM password hash un secondo.

Questo varia a seconda dell'algoritmo di hash utilizzato, ma non fare affidamento sull'uso di due parole da un dizionario di 10.000 voci.

    
risposta data 27.06.2012 - 02:49
fonte
4

Una passphrase casuale è una buona idea, come è stato detto numerose volte qui. Due parole del dizionario casuale (da un dizionario di 10000 parole) sono approssimativamente sicure come una password di sei lettere minuscole casuali, in pratica questo è abbastanza debole (10000 * 10000 ~ 10 8 , mentre 26 6 ~ 3 x 10 8 ).

Se si ottiene l'hash e si tratta di un semplice hash con chiave non rafforzata (indipendentemente dal fatto che sia salato o meno) ci vorrà circa un secondo per craccare con una singola GPU moderna (che genera semplici hash (MD5, SHA-128 / SHA-256 / SHA-512, ecc.) Ad una velocità di ~ miliardi (10 9 ) hash al secondo, supponendo che conoscano il metodo con cui hai generato la password ( Principio di Kerckhoff - sempre una buona ipotesi prudente da fare quando si analizza un cripto-sistema).

Invece, suggerirei un minimo di una passphrase di quattro o cinque parole; e per cose sicure, ad esempio, la crittografia del disco rigido o un elenco di password crittografate qualcosa come da 7 a 9 parole :

A five-word Diceware passphrase has an entropy of at least 64.6 bits; six words have 77.5 bits, seven words 90.4 bits, eight words 103 bits, four words 51.6 bits. Inserting an extra letter at random adds about 10 bits of entropy. Here is a rough idea of how much protection various lengths provide, based on updated estimates by A.K. Lenstra (See www.kelength.com). Needless to say, projections for the far future have the most uncertainty.

(Sette parole da un dizionario di 10000 parole richiederebbero un miliardo di gpus moderni che attaccano a un miliardo di tentativi al secondo di 317 anni fino alla forza bruta).

Ma di nuovo attenti a riutilizzare passphrase memorizzate in posti casuali. Innanzitutto, non si dovrebbero mai riutilizzare le password tra entità diverse (qualsiasi entità a cui si attribuisce la propria password, in teoria potrebbe intercettare e registrare in testo in chiaro). Un'entità maligna può persino registrare password digitate in modo errato e riutilizzarle in altri luoghi. Anche un sito stupidamente configurato potrebbe non consentire lunghe passphrase (gli spazi non sono consentiti, o hai bisogno di caratteri maiuscoli + simboli) o potrebbe silenziosamente troncare la passphrase (ad esempio, devi solo ottenere le prime / ultime 12 lettere a destra e poi no t cura).

Ecco perché suggerisco di utilizzare solo passphrase memorizzate per cose locali, passphrase per cose che ho davvero bisogno di ricordare (ma ancora non condivido tra le entità) come la mia email, e quindi avere un elenco crittografato di password / passphrase univoche generate casualmente nel cloud su tutti i miei computer per tutto il resto (oltre a una passphrase debole per le cose non mi interessa essere hackerato). (Uso keepassx come dropbox del gestore password per mantenere il database crittografato condiviso tra i computer). Ho usato solo GPG e uno script bash, ma trovo che abbia alcune caratteristiche utili (come la generazione casuale di password).

    
risposta data 27.06.2012 - 06:49
fonte
2

Se la password è o meno in un dizionario importa se e solo se l'attaccante usa quel dizionario per dirigere il loro attacco. Se scelgo una parola Klingon per la mia password, andrà piuttosto bene se l'hacker eseguirà un dizionario di parole inglesi, ma cadrà abbastanza velocemente se invece cerca il dizionario Klingon.

Allo stesso modo, se compongo una password con diverse parole inglesi, la mia password andrà bene se l'utente malintenzionato tenta tutte le singole parole inglesi nel dizionario, ma non prova a combinare le parole. In alternativa, se il suo dizionario di attacco è costituito da un insieme di parole che contiene la mia password esatta, carattere per carattere, allora la mia password verrà indovinata ogni volta che ci arriva.

Questo può sembrare ovvio e banale, ma il punto è che non c'è magia in esso. Volete assicurarvi che qualsiasi dizionario contenente la vostra password debba essere così grande che l'hacker non arriverà comunque alla vostra password. L'idea è di aggiungere molte lettere ed evitare schemi comuni e ovvi.

Ecco da dove provengono tutti i suggerimenti per le password - usa lettere maiuscole, evita nomi e parole, usa molte lettere, includi simboli - tutti questi suggerimenti riducono la probabilità che la tua password, lettera per lettera, simbolo- per-simbolo, apparirà nel dizionario dell'attaccante.

    
risposta data 27.06.2012 - 10:16
fonte
0

La forza della password è definita dalla sua entropia. Scegliendo le parole del dizionario, sei fuori da caratteri speciali / numerici, il che riduce il valore di tale entropia. Tuttavia, mediante la concatenazione di due parole del dizionario, la lunghezza della password viene aumentata, il che aumenta il valore dell'entropia.

Dovresti prendere in considerazione alcuni tipi di attacchi a forza bruta. Il primo è la forza bruta comune che tenta di indovinare il carattere della password dopo il carattere. Il secondo è l'attacco brute-force del dizionario. L'utente malintenzionato sa che la tua password è una parola dizionario. Perché dovrebbe cercare di scriverlo lettera dopo lettera? Il metodo più veloce è ovvio: prova ogni parola dal dizionario. Il terzo metodo è una forza bruta ibrida. L'autore dell'attacco conosce la struttura della tua password, ad esempio: {dictionary word}{3-digit number} . La conoscenza della tua struttura di password è un potente strumento per accelerare il suo metodo di cracking.

Per riassumere, la forza della password delle parole del dizionario è che è facile da ricordare e la sua struttura è sconosciuta per l'aggressore. Dovrebbe presumere che la tua password sia composta da lettere sconosciute e casuali, senza alcun modello. Tuttavia, se la tua politica di password è pubblica e tutti sanno come appare la tua struttura di password (che è una concatenazione di parole del dizionario), la forza della tua password è notevolmente inferiore, perché l'attaccante potrebbe accelerare il processo di cracking scegliendo metodo ibrido a forza bruta.

Avere qualche algoritmo senza casualità per generare le tue password è sbagliato. 'Perché è necessario tenere in segreto non solo le password, ma anche questo algoritmo. Se il tuo algoritmo perde, gli hacker sarebbero in grado di rompere le tue password più facilmente. Il tuo algoritmo consiste nel prendere N parole dal dizionario e concatenarle.

    
risposta data 27.06.2012 - 06:46
fonte
0

Le persone tendono a scegliere parole comuni, parole che sono categoricamente simili, parole disposte in modo tale da seguire una forma (ad esempio "I [verbo] [nome]" o "[aggettivo] [nome]"), e / o parole che compaiono sulla pagina di registrazione. Ciò riduce drasticamente il numero di tentativi necessari.

Se hai intenzione di prendere la strada di combinare le parole, vai con 4 o 5 non comuni parole non correlate e renditi conto che gli umani tendono verso i pattern, quindi pensa davvero a ciò che hai inventato.

    
risposta data 29.06.2012 - 15:52
fonte
0

Se il meccanismo di hashing della password è buono allora sì, costruire la password da parole scelte a caso è un buon metodo di generazione della password, anche se l'elenco delle parole possibili è breve. Alcune note, però:

  • " scelto a caso " è importante. Non selezionare le parole con la tua mente; il cervello umano non può fare casualità. Usa un generatore casuale (monete, dadi ...) per selezionare ogni parola e attenersi al risultato (non rilanciare i dadi se non ti piacciono le parole selezionate).

  • Dovrai scegliere più di due parole, piuttosto tre o quattro, perché l'hardware moderno è incredibilmente veloce nel provare molte combinazioni.

Quindi si finisce con lo stesso metodo di quello descritto in questo famoso fumetto e va bene. Ha lo svantaggio che una lunga password, beh, è lunga; in quanto tale, potresti trovarlo fastidioso durante la digitazione (a seconda della velocità di digitazione e del dispositivo di input, ovviamente). Alcune interfacce per l'immissione della password limitano arbitrariamente la dimensione della password a valori bassi (ad esempio 16 caratteri al massimo), per nessuna buona ragione, ma lo fanno comunque, e questo li rende incompatibili con le password di lista di parole.

Esistono meccanismi di hashing delle password errate . In particolare, l'infame lanman hash nel vecchio sistema Windows "blocca" una password di 14 caratteri come due parole separate di 7 caratteri e i due hash sono indipendenti l'uno dall'altro. Ciò consente di romperli uno alla volta, il che è ovviamente molto più facile che cercare di trovare subito la combinazione corretta. Vedi questa risposta per ulteriori analisi su questo argomento.

Se il meccanismo di hashing della password funziona davvero come una funzione di hash crittografica , come dovrebbe, quindi utilizzare le lettere minuscole e Le parole inglesi non offrono scorciatoie per l'aggressore.

    
risposta data 17.01.2013 - 15:50
fonte
0

People say don't use passwords in the dictionary but if you use two words isn't it alright?

Facciamo un backup un po '. Non c'è niente di sbagliato nell'usare diverse parole del dizionario per creare una passphrase. Dopotutto, il sistema Diceware utilizza solo parole di dizionario. Tuttavia, tutto è sbagliato quando quelle parole del dizionario non vengono selezionate casualmente . E a caso, non intendo che stai sognando 7 parole fuori di testa.

Ora, se hai preso un dizionario e ...

  • scegli a caso un numero di pagina,
  • ha scelto in modo casuale una colonna nella pagina e
  • ha scelto in modo casuale una voce nella colonna

allora la passphrase, creata dal tuo elenco di parole, avrà la massima entropia (incertezza, caos, fattore di congettura) possibile.

Password / passphrase forti sono forti perché hanno molta entropia. Entropia è un prodotto del meccanismo di creazione, non del contenuto della passphrase! Ecco perché ogni password che hai mai inventato nella tua testa è praticamente inutile, perché ha così poca entropia, perché il meccanismo di creazione non è casuale.

Non convinto? Proviamo un esempio con un analizzatore online che può misurare la differenza di entropia tra una password creata casualmente e una password "umana". Analizziamo Cool Super Password .

E poiché siamo così intelligenti, lo cambieremo un po 'a k0Ol suP @ h p4 $$ wUrd .

Ora, sul suo volto, se questo fosse creato al 100% in modo casuale, questa passphrase con tastierino 19 avrebbe un clock intorno a 112,34529 bit , perché ogni simbolo avrebbe circa 6.5699 bit di entropia (grafi di 6.5699 × 19). Questo è un max. (Impostare l'analizzatore sull'incertezza calcolata per vedere questo.)

Ma ... ho appena fatto questa passphrase; non è affatto veramente casuale. Quindi, non posso assegnare in modo oggettivo ogni simbolo che ha molta entropia. Devo andare con qualcosa di più vicino alla realtà come 2,3 bit di entropia per simbolo (Shannon, 1948) . E se mi sentissi senza pietà, sceglierei 1,1 bit di entropia (Takahira, 2016) , ma usiamo la metrica 2.3. (L'analizzatore ti consente di scegliere.)

A 2,3 bit per simbolo, non ho più di 39,33 bit di entropia totale. La mia passphrase di 19 caratteri è spazzatura e prenderei un Brutalis per circa 987 millisecondi!

La differenza tra una password casuale e una umana non può essere abbastanza accentuata. Il problema non è se si usano parole del dizionario nella passphrase, il problema è come queste parole sono selezionate. Riguarda il meccanismo di creazione, non i contenuti.

[DISCLAIMER] Ho creato la passphrase.Life analyzer [/ DISCLAIMER]

    
risposta data 04.12.2017 - 05:07
fonte

Leggi altre domande sui tag