it-swarm-eu.dev

Una password a 80 bit è abbastanza buona per tutti gli scopi pratici?

So che chiedere quanti frammenti di entropia comprende una password complessa è come chiedere la lunghezza di un pezzo di stringa. Ma supponendo che NSA non sia per te, e che non valga la pena che qualcuno passi un decennio a forzare la tua e-mail, allora saranno sufficienti 80 bit?

29
Peter

Risposta breve: meglio è, ma per ora (2014) probabilmente è abbastanza.

Esiste un'importante distinzione tra l'hacking di Gmail e il crack di una password offline. Se vuoi hackerare un account Gmail indovinando la password, puoi fare solo pochi tentativi al secondo. Google bloccherà migliaia di tentativi di accesso a un singolo account in un arco di tempo troppo breve.

Tuttavia, se stiamo parlando, diciamo, di un login di Windows, allora viene archiviato localmente. Windows ha un database con la password con hash da qualche parte sul disco rigido (in parole povere: la password crittografata). Ciò significa che qualcuno con accesso al disco rigido può estrarre la password con hash e iniziare a decifrare il più rapidamente possibile il proprio computer, il che può richiedere molti milioni di tentativi al secondo.

O quando un database viene violato (vedi: LinkedIn), spesso si ottengono password con hash e le persone possono iniziare a craccare localmente proprio come con un login di Windows. Questo è dove la forza della password diventa davvero importante.

Modifica: come emory e JS. commentato, dovresti supporre che tutti i servizi vengano hackerati ad un certo punto, quindi mentre proprio ora potresti non essere in grado di forzare la tua password Gmail molto velocemente, potrebbe cambiare in qualsiasi giorno. E non tutte le aziende ammettono (o sanno) di essere state hackerate. Penso ancora che sia corretto usare password ragionevoli (se gli hacker non riescono a decifrarlo in 5 minuti passeranno a uno degli altri 90 milioni di password che hanno ottenuto), ma è un punto valido che nessun servizio è perfettamente sicuro .


Informazioni sulla sicurezza della password

(Gergo: puoi pensare all '"entropia" come ai "veri dati casuali".)

Quindi bastano 80 bit? Considera la seguente password a 80 bit: 1111111111. Non sembra molto forte ... Che ne dici di questa, che è di 160 bit: "pinza batteria a cavallo" (20 byte per 8 volte). Meglio, ma in realtà sono 3 parole invece di 160 bit. Se ci sono 10'000 possibilità in lingua inglese, puoi creare 1 trilione di combinazioni con 3 parole, il che è molto, ma in nessun posto vicino alle possibilità 1 quindecilione che avresti con 160 bit di entropia. Infine, che ne dici di 0MxLrTm8Z1? Ciò è generato da un generatore di numeri casuali sicuro. È composto da 10 caratteri e richiede 80 bit in memoria. Ma quanta entropia contiene davvero? È solo alfanumerico (a-z A-Z 0-9), o 62 possibilità, facendo solo 8,39 * 10 ^ 17 possibilità, o 59,5 bit di entropia.

Quindi avere una password di 10 caratteri non significa che hai 80 bit di entropia da attraversare prima di trovare l'originale. Per memorizzare 80 bit in caratteri stampabili (quelli che è possibile digitare su una tastiera), che include caratteri speciali come *&[email protected], avrai bisogno di una password di 13 caratteri.

Avanzamento

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

Mentre nel 1993 un passaggio di 6 caratteri Word (preso direttamente da un dizionario) potrebbe essere una sicurezza ragionevole, nel 2014 discutiamo se 10 caratteri casuali sono sufficienti.

* I lettori attenti noteranno che è la doppia 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 infine abbiamo questioni pratiche a cui pensare: come gestisci le tue password? Se ti dico che 80 bit sono probabilmente sufficienti (cosa che ho appena fatto), hai intenzione di memorizzare una password casuale di 13 caratteri con molti caratteri strani, e poi utilizzarla per ogni account che hai?

Se un gestore di password è una buona idea è un altro argomento, ma usare password diverse è meglio che ricordare una password principale solida. Sarebbe meglio usare una password forte e unica ovunque, ma ciò non è fattibile senza scriverla o utilizzare un gestore di password, che introduce altri rischi. Lascerò tali considerazioni a una domanda dedicata.

43
Luc

Il punto debole di qualsiasi strategia di sicurezza è sempre la prevedibilità umana. Qualsiasi password intelligente che puoi pensare e ricordare sarà notevolmente simile a molte altre password intelligenti che le persone usano. Non siamo così unici come crediamo di essere. Le persone essenzialmente pensano e memorizzano le cose in modi ben compresi e prevedibili.

Alcuni principi di base che utilizzo per quanto riguarda le password.

  1. Usa un gestore di password. I nostri cervelli semplicemente non sono attrezzati per memorizzare più password sicure. Se riesci a memorizzare le tue password, 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 solo come la tua password più debole. Per quanto non importante o banale potresti ritenere che la tua e-mail o account di social media sia, deve comunque essere sicuro, poiché spesso può essere utilizzato per ottenere l'accesso 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 disponi di una solida strategia di gestione delle password. Non dovresti mai usare il recupero della password, perché non dovresti mai perdere le tue password.
  5. Utilizzare la lunghezza massima possibile della password. Ancora una volta, questo richiede l'uso di un gestore di password. La maggior parte dei servizi ora supporta 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 cyber criminali.
9
user1751825

È stato dichiarato (per una fonte ragionevolmente autorevole, vedi Passphrases che puoi memorizzare - Ma che anche il NSA Can't Guess on The Interccept ) che NSA è in grado di (almeno) "un trilione di ipotesi al secondo" nel contesto delle passphrase PGP. Le passphrase PGP sono deliberatamente costose da controllare e possono da allora hanno aggiornato le loro capacità, ma possiamo ancora usarlo come una sorta di linea di base, perché è improbabile che si tratti di più di qualche ordine di grandezza con qualsiasi sistema ragionevolmente progettato.

Un trilione di ipotesi al secondo corrisponde a 240 ipotesi al secondo.

Una password con un true 80 bit di entropia sarebbe quindi sicura fino a 2(80-40) = 240 secondi.

240 secondi è di circa 35.000 anni.

In media, ci aspetteremmo che un avversario indovini correttamente la password in metà tempo. Sono ancora oltre 15.000 anni di tentativi.

Anche calcolando i progressi della tecnologia informatica e supponendo che sia necessaria la password per essere sicuri per diverse migliaia di anni, possiamo quindi ragionevolmente affermare che una password entropia a 80 bit dovrebbe essere sufficiente anche contro un attacco offline mirato di un avversario altamente capace da centinaia a migliaia di anni.

Le probabilità sono abbastanza buone che si stanchino di aspettare molto prima e prova qualche altro metodo, molto più probabile per avere successo, invece .

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

Un modo per ottenere 80 bit di vera entropia è generare una passphrase di parole 6 o 7 (rispettivamente a 12,9 bit, rispettivamente 77 e 90 bit) usando il metodo Diceware . Usando uno di gli elenchi di parole EFF (quello che è unico nei primi tre caratteri di ogni Parola), questo può essere rappresentato in 18 o 21 caratteri; questo si confronta in modo abbastanza favorevole con una password alfanumerica a caso singolo davvero casuale (a-z minuscola, cifre 0-9), che avrebbe bisogno di 17 caratteri per codificare 80 bit di entropia (perché log2 2617 ≈ 80 o 2617 ≈ 280), e potrebbe essere più facile da ricordare in quanto sarebbe possibile memorizzare le parole e digitare solo le prime tre lettere di ciascuna.

8
a CVn

Sì, in particolare alla luce di "scopi pratici" per l'attaccante di tipo non NSA.

Per le password online, la velocità con cui è possibile eseguire attacchi alla password è limitata. Inoltre, di solito esistono exploit di sicurezza (il servizio clienti è il più grande exploit di sicurezza in base alla progettazione) che sono spesso molto più vulnerabili della tua password. Perché sprecare centinaia di migliaia di dollari rompendo la tua password a 80 bit se riesci a ottenere CS per concederti l'accesso con pochi minuti di ingegneria sociale .
Sì, qualcuno che ruba il database delle password su un server potrebbe invertire la password con forza bruta, ma è improbabile che accada a 80 bit , preferiranno fare gli altri 10 milioni di utenti che dispongono di password a 20 bit e si fermeranno qui. Inoltre, non hai nulla da perdere poiché è una password casuale che non viene utilizzata altrove. È inutile.
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'è niente che possano fare con la tua password.

Per la password di Windows, anche 80 bit sono di gran lunga abbastanza buoni. Certo, qualcuno potrebbe eseguire un attacco a forza bruta, ma per quanto sia NTLM, anche la famosa macchina da 25 GPU da 348 miliardi di NTLM al secondo richiederebbe 110.000 anni per una ricerca esaustiva.
D'altra parte, puoi semplicemente collegare il disco rigido a un altro computer e leggere comunque il filesystem, senza conoscere la password. Ci vogliono circa 5 secondi e non è nemmeno necessario aprire la custodia se si dispone di un adattatore SATA-USB. Cosa farà probabilmente un attaccante?

Per la crittografia dell'intero disco, d'altra parte, la chiave (o la password) non viene normalmente memorizzata, ma viene utilizzato un complicato schema di derivazione della chiave per derivare la chiave di decrittografia per la tabella delle chiavi di decrittazione. Ciò limita la velocità con cui può verificarsi un attacco. TrueCrypt utilizzava 2.000 iterazioni in passato, Veracrypt utilizza attualmente circa 320.000 iterazioni. È ragionevole supporre che tutti i sistemi di crittografia dell'intero disco utilizzino una serie di iterazioni (anche se alcuni ne useranno di più, altri di meno - suppongo che Bitlocker sia piuttosto all'estremità inferiore).
Il fatto che sia necessario leggere e decrittografare almeno 2 settori (dopo aver eseguito alcune migliaia di iterazioni) al fine di verificare se una password corrisponde a ulteriori ritardi di attacchi massicci paralleli. Una password casuale a 80 bit è quindi un ostacolo non trascurabile per l'attaccante medio non NSA.

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

5
Damon

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

Una parola nel dizionario in qualsiasi lingua può essere pensata come un personaggio, simile a un carattere cinese. E ci sono parole comuni e parole non comuni. Le parole non comuni possono essere pensate come avere un alfabeto molto grande, parole comuni che hanno un alfabeto molto più piccolo, ma comunque molto più grande dell'insieme inglese.

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

Una password di stringa: "el1zabeth267" Un computer lo indovinerà sostanzialmente come due caratteri, non dodici.

4
Andrew Hoffman