lunedì 29 novembre 2010

L'hash MD5 e la sicurezza

Vi sarà capitato spesso di trovare accanto al file da scaricare una lunga stringa di caratteri dal nome sibillino MD5, i più curiosi si saranno anche chiesti che cosa è, e a cosa serve, oggi cercherò di spiegarlo. MD5(Message Digest 5) è un algoritmo di hashing,abbiamo già parlato di crittografia il processo che consente di criptare i file e poi decriptarli attraverso l' uso di chiavi, l' hash invece funziona in modo unidirezionale, ovvero è possibile  da un file ottenere un hash ma non è possibile risalire al file dall' hash (almeno da un punto di vista strettamente matematico).Il funzionamento di questo algoritmo è tale che qualsiasi sia la lunghezza del file esso restituisce sempre una stringa di 128 bit(32 caratteri), non è mia intenzione annoiarvi con la trattazione rigorosa dell' algoritmo, ma se volete approfondire potete trovare una buona buona descrizione del procedimento matematico a questo indirizzo http://fatmatt.wordpress.com/2007/09/16/algoritmo-md5-breve-descrizione-e-procedimento-matematico/. In sostanza MD5 può essere utilizzato come una sorta di "firma digitale", ecco il motivo per cui sempre più spesso viene postato vicino al file che intendete scaricare, dato che l' MD5 è unico per ogni file,se una volta fatto il  download, e calcolato l' MD5 , i due hash non corrispondono allora il file è un fake e potrebbe essere stato manomesso e contenere virus o trojan. Senza dubbio dal punto di vista della sicurezza è un valido aiuto, a questo indirizzo è possibile scaricare un software per il calcolo dell' MD5 di un file http://www.softonic.it/s/calcolo-md5. Gli utilizzi dell' MD5 non sono finiti, visto che si tratta di un algoritmo non invertibile è utilizzato anche per verificare le password degli account, in pratica si conserva in un file l' hash e quando un utente si deve autentificare viene calcolato l' hash della password che immette e confrontata col valore memorizzato nel file, in questo modo non è necessario conservare le password in chiaro in un file ,cosa che sarebbe estremamente rischiosa.Ma non è tutto oro quello che luccica, esistono siti che contengono database con milioni di MD5, quindi per decriptarla si procede confrontando l' hash con tutti quelli contenuti nel database come su questo sito http://md5.rednoize.com/. Se provate ad inserire nel sito questo hash:

c6698873b4f14b995c9e66ad0d8f29e3

Otterrete la parola che lo ha generato cioè "california", questo apre una falla nella sicurezza ,poichè molti amministratori di siti lasciano a disposizione i file contenenti gli hash delle password, quindi con una semplice ricerca su google è possibile impadronirsi delle credenziali di accesso degli utenti. Ad esempio mettendo come stringa di ricerca su google:

"c6698873b4f14b995c9e66ad0d8f29e3" and user

Trovate una serie di username e password...se fossi in voi farei un controllo sulle varie password che utilizzate nei vostri account...non si sa mai.

Nessun commento:

Posta un commento