Entropia delle passwords


Solitamente nell’industria informatica per specificare la forza di una password si usa l’entropia.

Il grado di entropia di una password si misura in bit ed è data dal logaritmo in base due di tutte le sombinazioni possibili create dai caratteri che compongono la password. La formula sarà la seguente:

log2(Cx)

C = numero di caratteri di quel set di caratteri (per esempio 26 per le lettere minuscole, 52 per le lettere maiuscole e minuscole, 10 i numeri)

X = numero di caratteri che compongono la password

Cx = in sintesi sono tutte le combinazioni possibili di quella password

Vediamo un esempio:

Una password solo di lettere minuscole di 12 caratteri produce la seguente formula:

log2(2612) = 56,4 bit (entropia della password)

Il numero minimo di bit di entropia necessari a rendere una password quantomeno inviolabile, dipende dal tipo di minaccia.

Questi sono i bit di entropia consigliati per una paswoord:

  • <90 bit = debole; l'unico possibile uso per le password di accesso al desktop
  • 90 - 127 bit = forte; può essere utile per proteggere le informazioni più riservate, ma non così forte da non essere cambiata con una certa frequenza per motivi di sicurezza.
  • 128 - 255 bit = molto forte, adatto a proteggere informazioni importanti. Non è indecrittabile.
  • 256+ bit = protezione molto forte usata a livello militare e negli istituti bancari. Attualmente indecrittabile.

Come probabilmente sai, dovresti sempre usare passwords diverse e sicure per ogni sito.

Ma siccome le tecnologie usate dagli hackers migliorano così velocemente che passwords considerate sicure poco tempo fa potrebbero non esserlo più a distanza di qualche mese.

Servono quindi passwords sempre più lunghe, complesse e casuali, al limite della capacità di memorizzazione. Infatti una password per essere sicura dovrebbe essere di almeno 42 caratteri (per avere una protezione uguale o superiore a 256 bit) che comprendono lettere maiuscole e minuscole, numeri e simboli.

Ma l'ideale, secondo il NIST (National Institute of Standards and Technology) è che la password debba essere di almeno 64 caratteri che comprendono lettere maiuscole e minuscole, numeri e simboli.


Decrittare una password


Per decrittare si intende interpretare una scrittura segreta o cifrata. In questo caso vuol dire arrivare a conoscere le password altrui.

La capacità di decriptare una password dipende dalla capacità di elaborazione dei computer di testare tutte le possibili combinazioni delle chiavi che vogliamo arrivare a conoscere.

Nel 1998 la Electronic Frontier Foundation creò EFF-DES Cracker ("Data Encryption Standard") soprannominato “Deep Crack”, un algoritmo di cifratura che usava una chiave a 64 bit in grado di decriptare fino a 256 differenti chiavi, ovvero, 7,205759403816 chiavi.

Un super computer moderno riesce a testare 90 miliardi di chiavi in un secondo.

Ma spesso più computer lavorano insieme per decrittare una password e quindi le password tes- tate in un secondo sono un numero molto più alto e quindi i tempi di decrittazione si accorciano notevolmente.

Google ha costruito il primo computer quantistico che ha eseguito in 200 secondi un lavoro che un supercomputer esegue in 10.000 anni. Quindi è 1.577.880.000 volte più veloce di un supercomputer.

Per essere sicura quindi una password dovrebbe essere di almeno 42 caratteri (per avere una protezione uguale o superiore a 256 bit che comprendono lettere maiuscole e minuscole, numeri e simboli. Tutti questi caratteri devono essere casuali. Altrimenti l'entropia della password è molto inferiore.

Per esempio una password di caratteri alfabetici minuscoli di 24 caratteri ha una entropia di:

log2(2624) = 112,8 bit (entropia della password)

Siccome un vocabolario ha circa 7000 vocaboli ricorrenti il nostro PC la decritterà cercando tutte le possibili combinazioni delle parole esistenti. Quindi essendo di 4 parole la sua entropia risulterà molto inferiore:

log2(70004) = 51 bit (entropia della password)

Quindi le password per essere sicure devono essere complesse e casuali.

Complesse perchè l’uso misto di lettere maiuscole e minuscole, numeri e simboli aumenta enormemente le possibili combinazioni necessarie per indovinare la password e quindi i tempi necessari per decriptarla ai programmi usati dagli hackers.

Casuali perchè gli hackers conoscono tutti i più frequenti patterns di costruzione delle passwords e li hanno integrati negli algoritmi usati per decifrare le passwords, quindi devi aggiungere elementi casuali.

Oppure puoi usare una frase molto lunga composta da almeno 50 caratteri divisi in almeno 12 parole affinché l'entropia della password sia comunque alta.

Per esempio la password: "pasquale entra a vienna in trionfo con la sua amante carlotta vestita di rosso" è una password composta solo di lettere minuscole di 78 caratteri divisi in 14 parole.

Quindi una password una password di caratteri alfabetici minuscoli di 78 caratteri ha una entropia di:

log2(2678) = 366,63 bit (entropia della password)

Siccome un vocabolario ha circa 7000 vocaboli ricorrenti il nostro PC la decritterà cercando tutte le possibili combinazioni delle parole esistenti. Quindi essendo di 14 parole la sua entropia risulterà molto inferiore:

log2(700014) = 178,82 bit (entropia della password)

Si tratta comunque sempre di una password molto forte.