MD5: verifichiamo l'integrità dei file scaricati da Internet

In un contesto dove la sicurezza informatica non è più qualcosa di impermeabile anche agli utenti meno esperti, si nota sempre più spesso un prolificare di siti dove si scaricano applicazioni che espongono un checksum MD5 per la verifica dei file. Tuttavia non tutti sanno ne cosa questo MD5 sia, ne come fare per verificare quella che per molti sembra ancora una volgare stringa di numeri e testo buttata li a caso.

Mi è capitato giusto oggi, con un cliente non proprio esperto in materia. Quelli che prendono il mouse a zampe di falco, con la mano incurvata per capirci. Sto seduto al suo pc per fare un pò di tuning e mi domanda: Ma che cosa sono tutti quei caratteri senza senso li sotto?

Ok, di buona pazienza, sempre senza scendere troppo nel tecnico - vista la profilatura dell’utente - inizio con lo spiegargli cosa sia l’MD5. Riuncio a priori a far capire ad uno che fino al giorno prima non aveva l’antivirus cosa sia la sicurezza.

L’MD5 (Message Digest Algorithm 5) è un sistema crittografare dei dati a senso unico, realizzato da Ronald Rivest nel 1991 e standardizzato con la RFC 1321. Questo tipo di codifica prende in input una stringa di lunghezza variabile e ne produce in output un’altra a 128 bit, ovvero 32 valori esadecimali noti come MD5 Checksum o MD5 Hash.

Il principale uso che ne è stato quello di questo algoritmo è stato per la firma dei file, cioè fare in modo che lo sviluppatore verifichi a priori l’MD5 del file e pubblichi i 32 caratteri come stringa di testo in un punto ben visibile del sito, vicino al link per il download.

Chi scarica il file può - non è detto che debba - verificare che il file scaricato, durante il processo di ricomposizione dei pacchetti non sia stato alterato in alcun modo. Non mi soffermo a spiegare come funziona il protocollo IP, non è questa la sede.

Presupponendo che quello scaricato sia lo stesso file, il risultato dell’algoritmo deve produrre la stessa identica stringa, verificabile con un qualsiasi editor di testo, comando cerca/trova e chi più ne ha più ne metta. Si ritiene che la probabilità di ottenere con due diverse stringhe in input una stessa firma digitale in output sia estremamente bassa visto il numero di combinazioni possibili pari a 16 alla 32esima potenza.

Come verifico l’MD5 di un file.

A parte sistemi Unix - che possono contare sul comando md5, Windows non ha un tool per questa verifica (Magari in Windows 20 lo metteranno).

Indipendentemente da tutto, esiste una piccolissima applicazione tanto per Windows che per Mac, che in maniera grafica permette la selezione del file e dopo pochisismi secondi restituisce l’hash MD5 del file selezionato, che a quel punto è verificabile con quello presente sul sito da dove avete fatto il download. Questa applicazione la trovate su questo sito.