Trasparenza, Glasnost, Transparency

La sicurezza di una password

Data: 1 giu 2013


Sito on line dal 2003
Home page
email
Chi sono
Translation
ℒa sicurezza di una password dipende da quanto è disposto a pagare il nostro nemico per crakkarla, cioè per venire a conoscenza della sua forma esplicita. Spesso la password è sotto forma di un hash e spesso si usa lo sha256 che è un algoritmo di hash. È disponibile l'hash e da questo è molto difficile risalire alla password in quanto l'hash è un algoritmo non invertibile.

Vediamo qualche esempio:
echo -n "password123"|sha256sum
ef92b778bafe771e89245b89ecbc08a44a4e166c06659911881f383d4473e94f
abbiamo applicato l'algoritmo di hash sha256 alla parola segreta:
"password123"
e abbiamo ottenuto l'hash:
"ef92b778bafe771e89245b89ecbc08a44a4e166c06659911881f383d4473e94f"

Il problema del cracker è invertire l'hash ovvero lui ha a disposizione il numero esadecimale di 64 cifre qui sopra e deve trovare a che password corrisponde. L'unico modo di risolvere il problema è provare tutte le combinazioni di password, calcolare l'hash e poi vedere se l'hash calcolato corrisponde a quello che ha in mano. Se corrisponde allora ha trovato la parola segreta.

Poiché provare tutte le combinazioni è molto lungo si cercano delle scorciatoie e cioè si usa il fatto che le persone non sono dei computer e che tengono in mente solo parole segrete fatte in un certo modo. Per esempio la gente si ricorda una parola contenuta nei dizionari seguita da un numero oppure si ricorda uno schema di lettere che c'è nella tastiera, per esempio qwerty oppure qazwsxedc. La prima password, qwerty, non è altro che la prima riga delle lettere sulla tastiera, la seconda parola segreta, qazwsxedc, non è altro che le prime tre colonne delle lettere sulla tastiera.

I dizionari delle principali lingue contengono pochi termini, ogni uno circa 20 mila termini, quindi provando 100 mila password già si possono crakkare le parole segrete più facili. Aggiungendo alla fine della parola del dizionario tutti i numeri compresi tra 0 e 9999, si rende la ricerca un po' più difficile. In quest'ultimo caso i tentativi da fare ovvero gli hash da calcolare sono un po' di più ovvero 1 miliardo.

Nel caso si usi la forma della tastiera per inventarsi la parola segreta allora i tentativi da fare per il cracker non sono molti, probabilmente sotto i 10 mila considerando tutti i possibili schemi e anche con un numero finale di 4 cifre si sta sotto il miliardo.

Per il cracker il problema è quindi risolvibile con 2 miliardi di prove sia se usiamo una parola del dizionario sia se usiamo lo schema della tastiera. La domanda a questo punto è: ma quanto tempo impiega un computer per fare 2 miliardi di hash con l'algoritmo sha256? La risposta è: poco tempo.

Ci sono macchine che calcolano l'hash a miliardi in un secondo e comprando decine o migliaia di queste macchine (lo può fare lo Stato americano oppure la mafia o altre organizzazioni) si possono calcolare anche mille o più miliardi di hash al secondo. Quindi in un secondo la password che abbiamo visto sopra è scovabile.

Veniamo alla seconda domanda. C'è un limite a queste macchine che calcolano così tanti hash al secondo? La risposta è affermativa. Queste macchine che adesso si chiamano ASIC ma che in futuro si evolveranno in macchine più potenti, hanno un grosso limite ovvero consumano energia elettrica, ogni hash costa una certa energia spesa.

In Italia l'energia elettrica ha un prezzo all'utente finale di 20 centesimi di euro al chilowattora, a livello industriale costa meno della metà, quindi uno Stato può pagarla un po' meno ma ha comunque un costo ingente. All'estero la corrente si paga di meno ma comunque mai sotto il costo industriale di 6 centesimi di dollaro al chilowattora. L'energia costa dovunque.

Le migliori macchine di adesso, le ASIC, per calcolare mille miliardi di hash (1 Terahash) consumano 0.3 euro in corrente elettrica. Con gli ASIC la nostra password, quella vista sopra, ha un costo in termini energetici di meno di un centesimo di euro, quindi non è una parola segreta "sicura".

Veniamo alla domanda che mi ha ispirato per scrivere questo testo:
Esiste una password che abbia un costo in corrente veramente alto?
Certamente esiste, anzi si può determinare una password che abbia il costo energetico alto quanto si vuole. Detto questo la conseguenza è valutare cosa protegge la nostra password e che valore abbia l'informazione protetta dalla password. Se il valore fosse di 1 milione di euro allora il costo energetico per scovare la password deve essere pari ad almeno 1 milione di euro.




Facciamo qualche esempio. La password casuale VRnkgxqgTKoK è composta da sole lettere maiuscole e minuscole dell'alfabeto inglese e ha un numero di tentativi che il cracker deve fare per scovarla pari a 390877006486250192896. Il costo energetico è di 100 milioni di euro.

La password casuale iktpxmwritiw è composta da 12 lettere minuscole e ha un numero di hash che il cracker deve calcolare per scovarla pari a 95428956661682176 con un costo elettrico relativo pari a 30 mila euro.

Aggiungendo alla password qui sopra il numero finale casuale 7909 si aumenta il costo energetico e si arriva a 300 milioni di euro. La parola segreta complessiva è iktpxmwritiw7909.

In conclusione per proteggere una informazione che vale una decina di milioni di euro una password di 12 lettere minuscole casuali seguita da un numero di 4 cifre casuali è sufficiente.

Se si vogliono solo 12 lettere minuscole dell'alfabeto italiano seguito da un numero di 4 cifre si ha un "valore energetico" pari a 20 milioni di euro, abbastanza sicura per quasi tutti gli scopi pratici di sicurezza.

Per memorizzare una tale parola segreta si può sfruttare una particolarità della mente umana e cioè che è facile memorizzare una storiella. Quindi creiamo una storiella che abbia come prima lettera delle parole le lettere zgrvuhstmdtg5218. Per quanto riguarda il numero va imparato a memoria.

La storiella va scelta con cura, per esempio:
Zoe Grugniva Ruspando Velocemente Un Hash. Stava Timidamente Mangiando Del Tartufo Grigio. 5218
Questa storiella vale la bellezza di 20 milioni di euro ma una volta che è pubblica non vale più nulla quindi non rivelate a nessuno la vostra fiaba che protegge la password.

Per quanto riguarda creare la password generata in modo casuale ci sono moltissimi algoritmi che lo fanno: per Firefox ci sono addon che si installano con un click come pwgen.

Man mano che passano gli anni il costo energetico per hash diminuisce e si passa dagli attuali 0.3 euro per terahash a valori minori. È un processo lento in parte contrastato dal fatto che l'energia elettrica costa sempre di più. Tutte le organizzazioni e tutti i cracker sono sottoposti alla legge economica del costo dell'energia, nessuno escluso.

In particolare anche la NSA americana che si vocifera abbia mezzi potentissimi, non può scovare una password che abbia un valore pari all'intera ricchezza americana prodotta in un anno: il PIL USA. Lo stesso vale per la mafia ma entrambi hanno mezzi più efficaci per farci rivelare la parola segreta anche se non vogliamo rivelarla: Guantanamo per quanto riguarda gli americani e la lupara bianca per la mafia.

NOTA1: alcuni calcoli potrebbero essere errati. Li verificherò in seguito. Secondo: https://99bitcoins.com/2016-bitcoin-mining-hardware-comparison/
l'efficienza degli Asic è di 0.25 joule per Terahash (TH) che scende anche a 0.1 j.

La password di 12 caratteri e 4 cifre decimali ha un numero di combinazioni che richiedono 21^12*10^4 ovvero 73.6*10^6 TH.

Pare che abbia sbagliato il calcolo del costo energetico per TH:

0.25 j/TH = 0.25/(3600*1000) kwh/TH = 69.44*10^-9 kwh/TH

che al costo di 0.06 euro/kwh fanno:

4.17*10^-9 €/TH

Sembra quindi che la password di 12 caratteri minuscoli e 4 cifre abbia un costo molto più piccolo e pari a:

4.17*10^-9 * 73.6*10^6 = 0.30 euro

ovvero complessivamente:

21^12*10^4/10^12*0.250*0.06/(3600*1000)

Per avere costi un po' più alti occorre (se non sbaglio i calcoli) avere una combinazione di lettere maiuscole e minuscole:

42^12*10^4/10^12*0.250*0.06/(3600*1000) = 1255 euro

Invece con altri 6 caratteri (18 caratteri tutti minuscoli) si ha una cifra per la password pari a:

21^18*10^4/10^12*0.250*0.06/(3600*1000) =26 milioni di  euro

che comunque cala a 10 milioni di euro con l'ASIC che ha efficienza pari a 0.10 j/TH

NOTA2: ho trovato on line questo dispositivo per minare che costa €1.688,52 e che ha una efficienza di 0.1j/GH. Quindi questo dispositivo che non è proprio economico ha una efficienza 1000 volte inferiore rispetto ai dispositivi della NOTA1 dove i dati sono probabilmente sballati. Questo significa che i calcoli fatti nel mio testo originario non sono corretti ma anche che l'errore non è così enorme.

Un pratica con questo bitcoin miner da 0.1j/GH la password di 12 caratteri e 4 cifre decimali ha un numero di combinazioni che richiedono un costo in energia elettrica pari a 120 euro. Con altri 2 caratteri (14 caratteri+4 cifre) il costo sale a 50 mila euro, invece con 3 caratteri (15 caratteri+4 cifre) il costo è di 1 milione di euro.



Non dimenticatevi di mettere la vostra opinione: scrivete il commento, premete "Inserisci" e il commento è immediatamente pubblicato nell'area qui sotto: grazie!




Questo articolo è stato commentato 6 volte.

Ultimo commento inserito da kensan martedì 17 gennaio con il titolo: Calcolo.

Commento:

> Sarebbe stato interessante dettagliare il calcolo del numero di tentativi data
> una sequenza di caratteri.

Il calcolo è semplice. Se la password è casuale allora il numero di combinazioni coincide col numero di tentativi da fare per scoprire la password.

Il numero di combinazioni è un calcolo semplice. Nel caso dei numeri di 4 cifre il numero di combinazioni è pari al prodotto del numero di combinazioni della prima cifra (0-9 cioè 10 combinazioni) moltiplicato per quello della seconda (10) moltiplicato per quella della terza (10) e per quello della quarta (10): in totale fanno 10^4 combinazioni.

Analogamente per le lettere. Se l'alfabeto è quello italiano minuscolo allora ogni posto del carattere può assumere i valori dalla a alla z che sono 21. Una coppia di caratteri possono andare dalla aa alla zz: le combinazioni sono 21*21.

Per capire che le combinazioni sono 21*21 basta immaginare una matrice:

abc.z
a *
b
c
.
z

la matrice ha 21*21 caselle e ogni casella ha la combinazione dell'intestazione della riga con quella della colonna (riga a con colonna z fa la combinazione az)

Analogamente per tre caratteri le combinazioni sono 21*21*21 ovvero 21^3 in quanto in questo caso abbiamo a che fare con un cubo. E via dicendo.

Con 12 lettere le combinazioni sono 21^12 che aggiunte al numero di combinazioni date dai 4 numeri si ha:

21^12*10^4

Spero adesso sia chiaro.



Altri testi sullo stesso argomento li trovate elencati di seguito sotto l'argomento GnuPG

Diaspora* button
-
Facebook button
0
Twitter button
-
Google+ button
0
LinkedIn button
0
TzeTze button
voti: 0
Data: 1 giu 2013
Letture di questo articolo: 4533
argomento: GnuPG, articoli: Chiave Pubblica (di Sandro kensan), Palladium, Anonymous Remailer (GnuPG e la posta elettronica), Gestione delle password (Sicurezza), Anonymous remailer - manuale, Il nuovo BIOS ovvero UEFI

ball animated







Firefox: Riprenditi il web




Borsa valori della moneta Bitcoin (09/12/2023):

prezzo di 1 bitcoin:
BTC 40866 €
LTC 71.6 €
BCH 237.88 €


Fonte: kraken.com

Chart from bitcoincharts.com

Chart bitcon in Euro (Kraken) da BitcoinCharts


Sostieni Wikileaks!
Se hai qualche bitcoin fai una donazione a wikileaks all'indirizzo:
1HB5XMLmzFVj8ALj6 mfBsbifRoD4miY36v

Queste sono le donazioni fatte fin'ora: 4044 bitcoin.








IL TUO 5 PER MILLE PER GLI OSPEDALI DI EMERGENCY codice fiscale:
971 471 101 55




Uomo di Cheddar di 9'000 anni fa

Inglese di 9 mila anni fa ricostruito in base al DNA del Cheddar man il cui scheletro completo e ben conservato e stato ritrovato in Gran Bretagna. Aveva la pelle scura e gli occhi azzurri in base al DNA.

L’Uomo di Cheddar era un Homo Sapiens, era alto 166 centimetri e quando morì era intorno ai 20 anni. Faceva parte di una popolazione di cacciatori-raccoglitori, era intollerante al lattosio e agli amidi, aveva un sistema immunitario che lo difendeva da molte malattie. Quest'uomo è distante da noi solo 450 generazioni.

Lo spagnolo Uomo di La Braña, analogo a questo (pelle scura e occhi azzurri), era distante da noi solo 350 generazioni (7 mila anni).

Fonte: Nature
kensan logo Licenza Creative Commons 3.0
I miei testi sono sotto la Licenza "Creative Commons 3.0 Italia": se sei interessato a pubblicare i miei articoli leggi le note aggiuntive (Licenza di kensan.it) dove troverai anche le attribuzioni dei diritti per tutte le immagini pubblicate.
Questo sito memorizza sul tuo pc uno o più cookie di tipo tecnico, leggi l'informativa estesa.
Kensan geek site

e-mail
e-mail cifrata