30Aug

Cosa sono gli hash MD5, SHA-1 e SHA-256 e come posso controllarli?

A volte vedrai gli hash MD5, SHA-1 o SHA-256 visualizzati insieme ai download durante i tuoi viaggi su Internet, ma non conosci realmente cosa siano. Queste stringhe di testo apparentemente casuali consentono di verificare che i file scaricati non siano danneggiati o manomessi. Puoi farlo con i comandi integrati in Windows, macOS e Linux.

Come funzionano gli hash e come vengono utilizzati per la verifica dei dati Gli hash

sono prodotti da algoritmi crittografici progettati per produrre una stringa di caratteri. Spesso queste stringhe hanno una lunghezza fissa, indipendentemente dalla dimensione dei dati di input. Dai uno sguardo al grafico qui sopra e vedrai che sia "Fox" che "La volpe rossa salta sopra il cane blu" producono la stessa lunghezza.

Ora confronta il secondo esempio del grafico con il terzo, il quarto e il quinto. Vedrai che, nonostante un cambiamento molto piccolo nei dati di input, gli hash risultanti sono tutti molto diversi l'uno dall'altro. Anche se qualcuno modifica una parte molto piccola dei dati di input, l'hash cambierà drasticamente.

MD5, SHA-1 e SHA-256 sono tutte diverse funzioni hash. I creatori di software spesso eseguono il download di un file, come un file. iso di Linux o anche un file. exe di Windows, e lo eseguono tramite una funzione di hash. Poi offrono un elenco ufficiale degli hash sui loro siti web.

In questo modo, è possibile scaricare il file e quindi eseguire la funzione di hash per confermare che si dispone del file originale, e che non è stato danneggiato durante il processo di download o manomesso malintenzionato. Come abbiamo visto sopra, anche una piccola modifica al file cambierà drasticamente l'hash.

Questi possono anche essere utili se si dispone di un file che si ottiene da una fonte non ufficiale e si desidera confermare che è legittimo. Diciamo che hai un file. ISO di Linux che hai ricevuto da qualche parte e vuoi confermare che non sia stato manomesso.È possibile cercare l'hash di quel file ISO specifico online sul sito Web della distribuzione Linux.È quindi possibile eseguirlo tramite la funzione di hash sul computer e verificare che corrisponda al valore di hash che ci si aspetta che abbia. Ciò conferma che il file che hai è esattamente lo stesso file che viene offerto per il download sul sito Web della distribuzione Linux, senza alcuna modifica.

Come confrontare le funzioni hash su qualsiasi sistema operativo

Con questo in mente, diamo un'occhiata a come controllare l'hash di un file scaricato e confrontarlo con quello che ti è stato dato. Ecco i metodi per Windows, macOS e Linux. Gli hash saranno sempre identici se stai usando la stessa funzione di hashing sullo stesso file. Non importa quale sistema operativo usi.

Windows

Questo processo è possibile senza software di terze parti su Windows grazie a PowerShell.

Per iniziare, apri una finestra di PowerShell avviando il collegamento "Windows PowerShell" nel menu Start.

Eseguire il seguente comando, sostituendo "C: \ path \ to \ file.iso" con il percorso di qualsiasi file che si desidera visualizzare l'hash di:

Get-FileHash C: \ path \ to \ file.iso

SaràPrenditi del tempo per generare l'hash del file, a seconda della dimensione del file, dell'algoritmo che stai utilizzando e della velocità del disco su cui si trova il file.

Per impostazione predefinita, il comando mostrerà l'hash SHA-256 per un file. Tuttavia, è possibile specificare l'algoritmo di hashing che si desidera utilizzare se è necessario un MD5, SHA-1 o un altro tipo di hash.

Eseguire uno dei seguenti comandi per specificare un algoritmo di hashing diverso:

Get-FileHash C: \ path \ to \ file.iso -Algorithm MD5 Get-FileHash C: \ path \ to \ file.iso -Algorithm SHA1 Get-FileHashC: \ path \ to \ file.iso -Algorithm SHA256 Get-FileHash C: \ path \ to \ file.iso -Algorithm SHA384 Get-FileHash C: \ path \ to \ file.iso -Algorithm SHA512 Get-FileHash C:\ path \ to \ file.iso -Algorithm MACTripleDES Get-FileHash C: \ path \ to \ file.iso -Algorithm RIPEMD160

Confronta il risultato della funzione di hash sul risultato che ci si aspettava di vedere. Se è lo stesso valore, il file non è stato danneggiato, manomesso o alterato in altro modo dall'originale.

img_5894fdde80f06

macOS

macOS include i comandi per visualizzare diversi tipi di hash. Per accedervi, avvia una finestra di Terminale. Lo troverai su Finder & gt;Applicazioni & gt;Utilità & gt;Terminale.

Il comando md5 mostra l'hash MD5 di un file:

md5 /path/to/ file

Il comando shasum mostra l'hash SHA-1 di un file per impostazione predefinita. Ciò significa che i seguenti comandi sono identici:

shasum /path/to/ file shasum -a 1 /path/to/ file

Per mostrare l'hash SHA-256 di un file, eseguire il seguente comando:

shasum -a 256 /path/to/ file

Linux

Su Linux, accedere aTerminare ed eseguire uno dei seguenti comandi per visualizzare l'hash di un file, a seconda del tipo di hash che si desidera visualizzare:

md5sum /path/to/ file sha1sum /path/to/ file sha256sum /path/to/ file

Alcuni hash sono firmati crittograficamente per una maggiore sicurezza

Mentre hashespuò aiutarti a confermare che un file non è stato manomesso, c'è ancora una via d'attacco qui. Un utente malintenzionato può ottenere il controllo del sito Web di una distribuzione Linux e modificare gli hash che appaiono su di esso, oppure un utente malintenzionato può eseguire un attacco man-in-the-middle e modificare la pagina Web in transito se si accede al sito Web tramite HTTP anzichéHTTPS crittografato.

Ecco perché le moderne distribuzioni Linux spesso forniscono più degli hash elencati nelle pagine web. Firmano crittograficamente questi hash per proteggere gli aggressori che potrebbero tentare di modificare gli hash. Dovrai verificare la firma crittografica per assicurarti che il file hash sia effettivamente firmato dalla distribuzione Linux se vuoi essere assolutamente sicuro che l'hash e il file non siano stati manomessi.

La verifica della firma crittografica è un processo più complesso. Leggi la nostra guida per verificare che le ISO di Linux non siano state manomesse per le istruzioni complete.

Image Credit: Jorge Stolfi / Wikimedia