Una password di 80 bit è sufficiente per tutti gli scopi pratici?

28

So che chiedere quanti bit di entropia comprendono una password complessa è come chiedere la lunghezza di un pezzo di corda. Ma supponendo che la NSA non sia a te, e che non vale la pena che qualcuno trascorra un bruto di dieci anni a forzare la tua email, allora saranno sufficienti 80 bit?

    
posta Peter 10.10.2014 - 13:54
fonte

6 risposte

42

Risposta breve: più sono e meglio, ma per ora (2014) questo è probabilmente sufficiente.

Esiste un'importante distinzione tra l'hacking nel tuo account Gmail e il cracking di una password offline. Se vuoi hackerare un account Gmail indovinando la password, puoi fare al massimo un paio di tentativi al secondo. Google bloccherà migliaia di tentativi di accesso a un singolo account in un lasso di tempo troppo breve.

Tuttavia, se stiamo parlando, ad esempio, di un accesso di Windows, allora viene memorizzato localmente. Windows ha un database con la password hash da qualche parte sul disco rigido (in parole povere: la password crittografata). Ciò significa che qualcuno che ha accesso al disco rigido può estrarre la password con hash e iniziare a scoppiare in qualunque modo il suo computer possa essere veloce, il che può essere di molti milioni di tentativi al secondo.

O quando un database viene violato (vedi: LinkedIn), la password hash viene spesso ottenuta e le persone possono iniziare a crackare localmente come con un login di Windows. È qui che la forza della password diventa davvero importante.

Modifica: come emory e JS. ha commentato, dovresti assumere che tutti i servizi vengano compromessi a un certo punto, quindi mentre adesso potresti non essere in grado di forzare la tua password di Gmail molto velocemente, potrebbe cambiare ogni giorno. E non tutte le società ammettono (o sanno) di essere state violate. Continuo a pensare che sia corretto usare password ragionevoli (se gli hacker non riescono a risolverlo in 5 minuti passeranno a una delle altre 90 milioni di password ottenute), ma è un punto valido che nessun servizio è perfettamente sicuro .

Informazioni sulla sicurezza della password

(Jargon: puoi pensare a "entropia" come a "veri dati casuali".)

Quindi 80 bit sono sufficienti? Considera la seguente password di 80 bit: 1111111111. Non sembra molto strong ... Che ne dici di questo, che è 160 bit: "punto batteria di cavallo" (20 byte di tempo 8). Meglio, ma in realtà sono 3 parole anziché 160 bit. Se ci sono 10'000 possibilità nella lingua inglese, allora puoi fare 1 trilione di combinazioni con 3 parole, che è molto, ma da nessuna parte vicino a 1 quindecillion possibilità che avresti con 160 bit di entropia. Infine, che ne dici di 0MxLrTm8Z1? Questo è generato da un generatore di numeri casuali sicuro. È di 10 caratteri e occupa 80 bit di spazio. Ma quanta entropia contiene davvero? È solo alfanumerico (a-z A-Z 0-9), o 62 possibilità, rendendo solo 8,39 * 10 ^ 17 possibilità, o 59,5 bit di entropia.

Quindi avere una password di 10 caratteri non significa che devi attraversare 80 bit di entropia prima di trovare l'originale. Per memorizzare 80 bit in caratteri stampabili (quelli che puoi digitare su una tastiera), che include caratteri speciali come *&$@ , avrai bisogno di una password di 13 caratteri.

Inoltrare il pensiero

Un altro problema è che i computer diventano sempre più veloci. 80 bit è sicuro per ora, ma se crittografate un file nel 2014 con una password ormai sicura, forse potrebbe esserci un crack nel 2017 quando 36 mesi * sono passati e i computer sono diventati circa 4 volte più veloci.

Mentre nel 1993 un passaggio di 6 caratteri word (preso direttamente da un dizionario) poteva essere ragionevole, nel 2014 discutiamo se 10 caratteri casuali siano sufficienti.

* I lettori attenti noteranno che è due volte la legge di Moore (anche i lettori più attenti noteranno che la legge di Moore riguardava i transistor su un chip, non la velocità di un computer).

Utilizzo della password

E finalmente abbiamo degli aspetti pratici da considerare: come gestisci le tue password? Se ti dico che probabilmente 80 bit sono sufficienti (cosa che ho appena fatto), hai intenzione di memorizzare una password casuale di 13 caratteri con molti caratteri strani, e quindi usarla per ogni account che hai?

Se un gestore di password è una buona idea è un altro argomento, ma l'utilizzo di password diverse è meglio che ricordare una password master strong. Sarebbe meglio usare ovunque una password strong e unica, ma non è fattibile senza scriverlo o utilizzare un gestore di password, che introduce altri rischi. Lascerò tali considerazioni a una domanda dedicata.

    
risposta data 10.10.2014 - 14:39
fonte
8

Il punto debole in ogni strategia di sicurezza è sempre la prevedibilità umana. Qualsiasi password intelligente che si possa pensare, e ricorda, sarà notevolmente simile a molte altre password intelligenti che le persone usano. Non siamo unici come crediamo di essere. Le persone essenzialmente pensano e memorizzano le cose in modi ben comprensibili e prevedibili.

Alcuni principi di base che uso per le password.

  1. Utilizza un gestore di password. I nostri cervelli semplicemente non sono attrezzati per memorizzare più password sicure. Se riesci a memorizzare le tue password, allora sono troppo semplici.
  2. Non utilizzare mai la stessa password per più di un servizio. Questo è straordinariamente importante, ma quasi sempre ignorato. Questo principio è facile con un gestore di password e praticamente impossibile senza.
  3. La tua identità è sicura quanto la tua password più debole. Per quanto non importante o banale, puoi credere che la tua e-mail o l'account dei social media sia ancora sicuro, poiché spesso può essere usato per accedere ai tuoi servizi più riservati.
  4. Se puoi evitarlo, non utilizzare i suggerimenti per la password. Se un servizio lo richiede, usa qualcosa di casuale e non identificabile personalmente. Detto questo, fallo solo se hai una solida strategia di gestione delle password. Non dovresti mai usare il recupero della password, perché non dovresti mai perdere le tue password.
  5. Utilizza la massima lunghezza possibile della password. Di nuovo, questo richiede l'uso di un gestore di password. La maggior parte dei servizi supporta ora almeno 16 caratteri. Usali tutti.
  6. Blocca e crittografa tutti i tuoi dispositivi mobili. Le tue informazioni personali (non importa quanto banali) sono preziose per i criminali informatici.
risposta data 11.10.2014 - 06:40
fonte
6

È stato affermato (per una fonte ragionevolmente autorevole, vedi Passphrase che puoi memorizzare - Ma anche l'NSA non può indovinare su L'intercettazione ) che l'NSA è capace (almeno) di "un trilione di ipotesi al secondo" nel contesto di passphrase PGP. Le passphrase PGP sono volutamente costose da controllare, e potrebbero aver aggiornato le loro capacità da allora, ma possiamo ancora usarlo come una sorta di baseline, perché è improbabile che siano più di pochi ordini di grandezza con qualsiasi sistema ragionevolmente progettato. p>

Un trilione di tentativi al secondo corrisponde a 2 40 ipotesi al secondo.

Una password con un vero 80 bit di entropia sarebbe quindi sicura per un massimo di 2 (80-40) = 2 40 secondi .

2 40 secondi è di circa 35.000 anni.

In media, ci aspetteremmo che un avversario indovini la password correttamente a metà di quel tempo. È ancora ben oltre 15.000 anni di tentativi.

Pur comprendendo i progressi della tecnologia informatica e supponendo che tu abbia bisogno della tua password per essere sicura per diverse migliaia di anni, possiamo quindi ragionevolmente affermare che una password entropia di 80 bit dovrebbe essere sufficiente contro persino un attacco offline focalizzato da un avversario altamente capace per centinaia o migliaia di anni.

Le probabilità sono piuttosto buone che si stancheranno di aspettare molto prima, e provare un altro, molto più probabile che abbia successo, metodo invece .

Anche tieni a mente la differenza tra l'entropia vera e la quantità di memoria necessaria per salvare i byte della password. Ad esempio, il mio gestore di password (KeePassX su Linux) insiste che il numero di "bit" della password è uguale al numero di caratteri nella password otto volte. Ciò porta a tali assurdità come un PIN a quattro cifre per una carta bancaria che si dice abbia 32 bit di forza (4,3 miliardi di valori possibili) invece del valore molto più accurato 13-14 bit di forza (perché 13 bit consentono la codifica 8192 possibile valori, e hai bisogno di circa 13,3 bit per codificare valori di 10000).

Un modo per ottenere 80 bit di vera entropia è generare un 6 o 7 (a 12.9 bit ciascuno, ovvero 77 e 90 bit rispettivamente) passphrase di parole usando Diceware metodo. Utilizzando uno dei elenchi di parole EFF (quello unico nel primo tre caratteri di ogni parola), questo può essere rappresentato in 18 o 21 caratteri; questo confronta abbastanza favorevolmente con una password alfanumerica single-case veramente casuale (minuscolo az, cifre 0-9), che avrebbe bisogno di 17 caratteri per codificare 80 bit di entropia (perché log 2 26 17 & circa; 80, o 26 17 e circa; 2 80 ), e potrebbe essere più facile da ricordare in quanto sarebbe possibile memorizzare la parole e digita solo le prime tre lettere di ciascuna.

    
risposta data 22.02.2016 - 16:08
fonte
5

Sì, in particolare alla luce degli "scopi pratici" per il tipo di aggressore non NSA.

Per le password online, la frequenza con cui gli attacchi alla password possono essere eseguiti è limitata. Inoltre, di solito esistono exploit di sicurezza (il servizio clienti è il singolo più grande exploit di sicurezza di progettazione) che sono spesso molto più vulnerabili della tua password. Perché sprecare centinaia di migliaia di dollari infrangendo la tua password di 80 bit se riesci a convincere CS a concederti l'accesso con pochi minuti di social engineering .
Sì, qualcuno che ruba il database delle password su un server potrebbe rovesciare la tua password con brute-force, ma è improbabile che accada con 80 bit, preferiranno i 10 milioni di altri utenti che hanno 20 bit password e fermarsi qui. Inoltre, non hai nulla da perdere poiché è una password casuale che non viene utilizzata altrove. Non ha valore.
Gli intrusi hanno già accesso root al server a quel punto, quindi qualunque cosa possano fare sul sistema compromesso, lo faranno comunque. Oltre a ciò, non c'è nulla che possano fare con la tua password.

Per la password di Windows, 80 bit sono anche abbastanza buoni. Certo, qualcuno potrebbe eseguire un attacco a forza bruta, ma come lo è NTLM, anche la famosa macchina da 258 GPU a 348 miliardi di NTLM impiegherebbe 110.000 anni per una ricerca esaustiva.
D'altra parte, puoi semplicemente collegare l'hard disk in un altro computer e leggere comunque il filesystem, senza conoscere la password. Occorrono 5 secondi e non è nemmeno necessario aprire la custodia se si dispone di un adattatore SATA-USB. Che cosa può fare un aggressore?

Per la crittografia a disco intero, d'altra parte, la chiave (o password) non è normalmente memorizzata, ma un complicato schema di derivazione della chiave viene utilizzato per derivare la chiave di decrittografia per la tabella delle chiavi di decrittografia. Questo limita la velocità con cui può accadere un attacco. TrueCrypt utilizzato per utilizzare 2000 iterazioni una volta, Veracrypt attualmente utilizza 320.000 iterazioni. È ragionevole supporre che tutti i sistemi di crittografia a disco completo utilizzino un numero di iterazioni (anche se alcuni ne useranno di più, di meno - presumo che Bitlocker sia piuttosto all'estremità inferiore).
Il fatto che sia necessario leggere e decrittografare almeno 2 settori (dopo aver fatto alcune migliaia di iterazioni) per verificare se una password corrisponde a ritardi ulteriori di attacchi paralleli. Una password casuale a 80 bit è quindi un ostacolo abbastanza non negabile per l'aggressore medio non NSA.

Una password a 256 bit ti darà più sicurezza? Certo, ma devi anche colpire tre volte più tasti ogni volta. È qui che la parte "pratica" entra nell'equazione dall'angolo opposto. Non importa solo se è pratico per qualcuno attaccarti, ma anche se il sistema rimane pratico da usare tutti i giorni.

    
risposta data 10.10.2014 - 16:50
fonte
4

Penso di sì, ma è importante capire la vera entropia quando si tratta di come i computer fanno la forza bruta.

Una parola nel dizionario in qualsiasi lingua può essere pensata come un personaggio, simile a un personaggio cinese. E ci sono parole comuni e parole insolite. Le parole rime possono essere considerate come aventi un alfabeto molto grande, le parole comuni hanno un alfabeto molto più piccolo, ma ancora molto più grande del set inglese.

Detto questo, i calcolatori di entropia della password non lo prendono nell'equazione, trattano una password a stringa come se fosse una password casuale, il che non è il caso.

Una password a stringa: "el1zabeth267" Un computer lo indovina come fondamentalmente due caratteri, non dodici.

    
risposta data 10.10.2014 - 14:38
fonte
-1

EFF pubblica una tabella di 7776 (6 ^ 6) parole con la proprietà speciale che nessuna parola è un prefisso di un'altra. Scaricalo, poi prendi un dado singolo (dadi) di cui ti fidi non è di parte e fallo rotolare sei volte. Annota i numeri di ogni rotolo nell'ordine in cui appaiono (ad esempio "123456"), e usalo come chiave per cercare una parola e scriverla.

Ripeti 6 volte. Questa è la tua passphrase che puoi usare per proteggere il tuo database di password principale o il tuo account di posta elettronica.

Ricordare sei parole casuali non dovrebbe essere molto più difficile della memorizzazione di uno o due versi di una canzone. Potresti anche mettere le parole in musica se ti aiuta!

Ogni parola ha circa 12,9 bit di entropia (log2 (7776)). Sei parole ti danno un po 'sotto gli 80 bit di entropia discussi qui. Sette parole ti mettono oltre 90 bit.

Scrivi le parole, portali con te nel tuo portafoglio (così saprai immediatamente se scompare) e inizia a usarle per accedere al tuo database di password principale o all'account di posta elettronica. Tra qualche giorno non dovresti più tenerli scritti e puoi distruggere il pezzo di carta (o chiuderlo in un posto sicuro se temi di dimenticarlo più tardi).

OPPURE, puoi scaricare e installare Diceware fare in modo che il grugnito lavori per te e generare (pseudo-) frasi a frase casuale all'istante. È molto più facile che tirare i dadi e cercare le parole su un lungo tavolo. Le sequenze non saranno veramente casuali, come i dadi effettivi, ma a meno che l'attaccante non abbia accesso al tuo computer e sappia esattamente che ore erano nel tuo orologio quando le hai generate, dovrebbero essere altrettanto buone.

    
risposta data 29.12.2017 - 00:03
fonte

Leggi altre domande sui tag