Da quando è nato Internet sono nate anche le minacce informatiche, le quali mettono a rischio i dati degli utenti. Per contrastare il fenomeno del cybercrimine si sono dovuti inventare metodi di protezione delle informazioni e in questo contesto si inserisce la crittografia.
Dopo aver visto un ottimo programma professionale crittografia dati, cerchiamo in questa guida di capire meglio cos’è la crittografia, a cosa serve ed alcuni esempi di tipologie di protezione dei dati.
Cos’è la crittografia e a cosa serve?
Per capire cos’è la crittografia è utile partire dall’etimologia della parola, la quale deriva dall’unione di kryptos, che significa nascosto, e graphia, che significa scrittura. L’etimologia di crittografia dà dunque un’idea del fatto che la crittografia consiste nel realizzare una scrittura nascosta, al fine della protezione dei dati.
Grazie alla cifratura informatica è possibile condividere informazioni, anche sensibili, senza il timore che esse possano essere lette da persone alle quali non sono destinate. Per decifrare il messaggio serve infatti la chiave di cifratura che è stata utilizzata per creare il messaggio crittografato, in assenza della quale non sarà possibile leggere le informazioni in chiaro.
Utilizzando la specifica chiave e attraverso un processo matematico le informazioni in chiaro vengono crittografate e diventano non più comprensibili, a meno che si utilizzi la chiave per decifrare il messaggio.
I cybercriminali cercano strategie sempre nuove per riuscire ad entrare in possesso di dati sensibili e per tentare di ingannare gli utenti, più o meno ignari, per trarne un beneficio. Per contrastare l’evolversi delle tecniche dei criminali informatici, anche la crittografia deve essere in continua evoluzione, per questo vi sono team di esperti informatici che lavorano ogni giorno a nuovi algoritmi.
Bisogna tenere in considerazione però un elemento: è preferibile affidarsi ad algoritmi sicuri e già ampiamente testati, piuttosto che agli ultimi algoritmi presentati. I nuovi algoritmi potrebbero determinare un cambiamento rivoluzionario nella crittografia dei dati, ma potrebbero anche nascondere delle insidie sconosciute, ecco perché è bene che vengano testati più volte prima di essere accolti come nuovi protettori delle informazioni sensibili.
Quali sono i tipi di crittografia?
Esistono differenti tipi di crittografia, i quali possono essere classificati in base alla tipologia di chiave che si sceglie di utilizzare. Si può parlare di crittografia a chiave segreta o di crittografia a chiave simmetrica se si opta per l’utilizzo di una sola chiave, oppure di crittografia a chiave pubblica o di crittografia a chiave asimmetrica se si hanno due chiavi.
Nel primo caso, ovvero nella crittografia a chiave segreta, vi è una sola chiave che è la stessa sia per il mittente del messaggio che per il destinatario dello stesso. La chiave di cifratura e la chiave per decifrare sono dunque le stesse.
Nel secondo caso, ovvero nella crittografia a chiave pubblica, vi sono due chiavi. La chiave per cifrare il messaggio è pubblica, mentre la chiave per decifrare il messaggio è privata e conosciuta solo dal destinatario dello stesso.
Alcuni esempi di crittografia: AES, RSA e algoritmo di hash
La crittografia simmetrica è più semplice da utilizzare rispetto a quella asimmetrica che richiede due chiavi diverse. L’esempio classico di crittografia a chiave segreta è l’algoritmo AES, acronimo di Advanced Encryption Standard.
Questo algoritmo matematico gestisce una serie di operazioni che vengono eseguite su dei blocchi di dati di 16 byte. Questa serie di operazioni prende il nome di round ed il numero di round varia a seconda dei bit della chiave di cifratura.
Per una chiave di cifratura di 128 bit sono necessari dieci round, per una chiave di 192 bit ne servono dodici e per una chiave di 256 bit ne sono necessari quattordici.
Lo svantaggio principale della cifratura a chiave segreta è che le chiavi devono essere distribuite al mittente delle informazioni ed al destinatario prima che avvenga lo scambio delle stesse informazioni. Questo implica che ci debba essere una distribuzione piuttosto elevata di chiavi e che esse debbano essere gestite in modo sicuro, onde evitare di consentire ai malintenzionati di decifrare il messaggio entrando in possesso della chiave.
Un esempio di crittografia asimmetrica è l’algoritmo RSA, acronimo di Rivest Shamir Adleman. In questo caso sono presenti due chiavi, una pubblica ed una privata. Conoscere la chiave pubblica non è sufficiente per scoprire la chiave privata e questo rende il protocollo sicuro.
Uno svantaggio dell’algoritmo RSA è che ha una velocità minore rispetto ad esempio all’algoritmo AES di crittografia simmetrica e questo diventa svantaggioso nel caso in cui il messaggio da crittografare sia piuttosto lungo.
Ciò che viene di frequente fatto è proteggere le informazioni con la crittografia simmetrica più veloce, per andare poi a crittografare anche la chiave di questo primo passaggio con un ulteriore processo crittografico, che impieghi in questo caso la crittografia asimmetrica.
Per concludere l’approfondimento sulla crittografia bisogna segnalare anche l’algoritmo di hash, il quale viene impiegato per accertarsi che le informazioni condivise non abbiano subito alcuna modifica durante il transito.
Nel caso in cui le informazioni dovessero cambiare si modificherebbe anche il valore di hash ed in questo modo sarebbe possibile capire che il messaggio non corrisponderebbe al vero. Lo standard attualmente utilizzato è lo SHA-2, ma molti team di esperti di sicurezza informatica stanno lavorando alla futura implementazione del nuovo standard SHA-3.
Negli anni scorsi, uno dei più famosi programmi per crittografare dati, Truecrypt ha avuto dei problemi, un articolo pubblicato tempo fa indicava alternative gratuite a Truecrypt.