Che cos'è un checksum? Fondamenti di crittografia

Un'introduzione alle checksum crittografiche, al loro utilizzo e al modo in cui vi proteggono.

Cryptography Basics: What is a checksum?

Se volete fare una serata in città, potreste aver bisogno di un documento d'identità (almeno se sembrate giovani), ma quando si tratta di scaricare software la verifica è un po' diversa. Verificando le checksum crittografiche potete essere certi che il vostro download non sia stato manomesso durante il tragitto dagli sviluppatori a voi. Immergiamoci!


Che cos’è un checksum?

Una checksum è una stringa di dati, sia lettere che numeri, che viene ricavata da un file o da un programma attraverso una funzione di checksum hashing e viene utilizzata per verificare che i dati scaricati siano identici a quelli originali. Assicurarsi dell’integrità dei file e dei programmi che si scaricano sul proprio computer locale è una pratica di sicurezza fondamentale per tenersi al sicuro da programmi falsi condivisi che includono malware per la raccolta dei dati.

Ricordate che è sempre una buona pratica verificare la somma di controllo dei file e delle applicazioni scaricate ogni volta che è possibile.

Una caratteristica importante di una funzione di checksum è che se vengono apportate modifiche al file originale, queste risulteranno in un output diverso, ad esempio una checksum diversa. Senza questa caratteristica fondamentale, un soggetto malintenzionato potrebbe apportare modifiche ai dati attraverso un attacco man-in-the-middle o un attacco alla catena di distribuzione, senza che gli utenti se ne accorgano.

Le checksum devono anche garantire che non solo le modifiche ai dati portino a una nuova chiave, ma devono anche evitare la possibilità che due fonti di dati diverse creino checksum corrispondenti. Questi eventi sono noti come collisioni e la forza di una funzione di hashing crittografico si basa sulla resistenza alle collisioni.

Le checksum garantiscono l’integrità dei dati, non l’autenticità.

Le checksum sono utilizzate principalmente per verificare l’integrità dei dati. Come ricorderete dalla nostra introduzione alla modellazione delle minacce, l’integrità si riferisce al fatto che i dati sono stati trasferiti al vostro computer in un formato digitalmente identico. Ciò significa che l’utente riceve i dati, siano essi file o programmi eseguibili, come previsto dal creatore del contenuto. È importante notare che le checksum verificano solo che i dati ricevuti siano identici al 100%, ma non che la fonte sia autentica. Questo è un altro aspetto della sicurezza delle informazioni che può essere raggiunto attraverso l’impiego di una firma digitale.

Perché è importante l’integrità dei dati?

L’integrità dei dati è fondamentale a tutti i livelli delle operazioni IT. Dall’archiviazione dei dati aziendali, ai servizi di emergenza, ai servizi del settore pubblico, alle foto del cibo della vostra ultima vacanza. La corruzione dei dati, l’opposto dell’integrità dei dati, può portare a errori di programma o alla perdita di informazioni importanti. Mantenendo le checksum, si può essere certi che i dati che si stanno copiando, scaricando o condividendo siano identici senza doverli aprire e controllare manualmente.

Se non ci si può fidare dei dati, il loro utilizzo diminuisce notevolmente. Sfruttando le checksum, si può essere certi che un eventuale errore riscontrato con un nuovo programma abbia un’altra origine e non sia dovuto a un errore durante il download iniziale. Ciò consente di risparmiare tempo e denaro. Se si eseguono backup dei dati, la creazione e il monitoraggio delle somme di controllo di questi backup è un ottimo modo per tenere sotto controllo lo stato di tutti i dati archiviati. Se notate una differenza, senza aver apportato alcuna modifica, potete essere avvisati che qualcosa non va.

Quali sono le cause di checksum non identiche?

Ci sono diversi problemi che possono portare alla mancata corrispondenza delle checksum, sia banali che dolosi. Un’interruzione della connettività Internet o problemi di spazio di archiviazione possono essere la causa dei dati mancanti, che risulteranno in un checksum che non corrisponde a quello fornito dal corso originale. Una volta risolto, un nuovo download restituisce in genere il valore corretto.

Tuttavia, ci sono casi di malintenzionati che potrebbero essere motivo di allarme. La mancata corrispondenza delle somme di controllo potrebbe anche essere un’indicazione che qualche terza parte ha apportato modifiche ai dati originali. Potrebbe trattarsi di qualcosa di poco conto, ma potrebbe essere il segno che nel download è stato incluso del malware. Il problema diventa ancora più grave quando i programmi in questione vengono utilizzati per dati sensibili come la memorizzazione di password o criptovalute. I “gestori” di password dannosi riconfezionati possono inviare i dati direttamente a terzi, dove possono essere abusati. Nel caso di portafogli di criptovalute impostati, la ricaduta di checksum non corrispondenti potrebbe comportare la perdita completa delle risorse digitali.

Esempi di algoritmi utilizzati per la generazione di checksum.

Indipendentemente dall’algoritmo di hashing utilizzato per creare il checksum, tutti hanno in comune il fatto di essere funzioni unidirezionali. Il valore generato dalla funzione di checksum non può essere utilizzato in alcun modo per “ricreare” il file originale. Non si tratta di crittografia e non c’è nulla da decifrare, quindi non abbiamo a che fare con testi cifrati.

A visualization of the cksum utility when used to create a checksum Una visualizzazione dell’utility cksum in uso per creare checksum da parole e frasi.

Alcuni di questi algoritmi potrebbero risultare familiari e ne abbiamo già parlato in alcune voci precedenti di questa serie di Nozioni di base di crittografia.

MD5

Come per l’hashing delle password, l’MD5 non dovrebbe più essere usato perché può portare a collisioni, il che significa che un malintenzionato potrebbe creare una versione falsa del software che si desidera scaricare e un checksum non riuscirebbe ad avvisare di queste modifiche.

SHA-1

Questa funzione di hashing non è più considerata sicura dal 2005 e il NIST ne ha chiesto il completo ritiro entro il 2030. Nel 2017, Google e il gruppo di crittologia del Centrum Wiskunde & Informatica sono stati in grado di creare due diversi PDF che presentavano la stessa impronta digitale SHA-1.

SHA256

Lo standard attuale per il checksum hashing è SHA256 (o SHA-3 per i fan del nuovo). SHA256 è anche la funzione di checksum che utilizziamo per verificare l’integrità dei dati ogni volta che si scarica il client Tuta Desktop.

A screenshot of the latest release of the Tuta Desktop Client checksums. Un esempio di checksum per la versione 244.240913.1 del client desktop Tuta.

Come verificare la somma di controllo del client Tuta Desktop.

La verifica della somma di controllo di un download può sembrare un compito scoraggiante per chi non è molto esperto di tecnologia, ma si tratta di un’abilità rapida da imparare che può risparmiare molti grattacapi in futuro.

Con ogni nuova versione del client desktop Tuta pubblichiamo le checksum su Github in modo che possiate verificarle, indipendentemente dal sistema operativo del vostro dispositivo. Il primo passo consiste nel visitare la nostra homepage e scaricare il client desktop corrispondente al vostro sistema operativo. Avanti, posso aspettare…

Ottimo! Sei tornato! Ora potete passare al sistema operativo che state utilizzando e con pochi semplici passaggi potete verificare le checksum del vostro download. Per semplicità, scriverò queste istruzioni ipotizzando che il download sia stato salvato nella cartella Download.

Windows

In Windows, aprite il prompt dei comandi dal menu Start o eseguendo cmd nella finestra di dialogo Esegui. Una volta aperto il prompt dei comandi, digitate:

  1. cd Download
  2. certutil -hashfile tutanota-desktop-win.exe SHA256

Questo risultato può essere confrontato con il checksum fornito su GitHub.

How to verify the Tuta desktop client checksum on Windows I passaggi del prompt dei comandi per visualizzare il checksum del client desktop Tuta scaricato su Windows.

È possibile scaricare il client per Windows qui.

Mac

Su Mac è possibile aprire una finestra di terminale dal Launchpad. Una volta aperta, inserire quanto segue:

  1. cd Download
  2. shasum -a 256 ~/Downloads/tutanota-desktop-mac.dmg

Questo risultato può essere confrontato con il checksum fornito su GitHub.

How to verify the Tuta desktop client checksum on MacOS I comandi da terminale per verificare un checksum su macOS.

È possibile scaricare il client per Mac qui.

Linux

Infine, ma non certo per importanza, è possibile verificare il checksum del nostro client desktop gratuito per Linux aprendo un terminale e digitando

  1. cd Download
  2. sha256sum tutanota-desktop-linux.AppImage

È possibile confrontare questo risultato con il checksum fornito dal team di sviluppo di Tuta per confermare l’integrità del download.

How to verify the Tuta desktop client checksum on Linux I comandi da terminale per verificare le checksum su una macchina Linux.

Potete scaricare il client Linux qui.

Con questo nuovo asso nella manica, potete continuare il vostro percorso di sicurezza sul web. Includendo la verifica delle somme di controllo nella vostra igiene digitale, insieme all’utilizzo di un gestore di password, vi proteggete dalle minacce informatiche.

Se state cercando di migliorare la sicurezza del vostro account di posta elettronica, e vi consigliamo di farlo perché la posta elettronica è il fulcro della vostra vita digitale, date un’occhiata a Tuta Mail. Grazie alla crittografia Ende-zu-Ende predefinita, Tuta Mail semplifica la privacy e la sicurezza. Create subito il vostro account e-mail gratuito e utilizzatelo con i nostri client e-mail dedicati gratuiti per tutte le piattaforme.

E non dimenticate di verificare il checksum! 😉