La crittografia, intesa come la necessità di nascondere messaggi in testi segreti agli occhi dei nemici, è antica come l’uomo. Solo negli Anni 70, però, iniziarono ad essere resi pubblici i primi algoritmi crittografici moderni.
La crittografia perciò è uno strumento fondamentale per la sicurezza informatica. Proteggendo i dati da accessi non autorizzati, aiuta a prevenire furti di identità, frodi informatiche e altre violazioni della sicurezza.
Indice degli argomenti
Che cos’è la crittografia
La crittografia, detta anche criptografia, è la scienza che si occupa di rendere un messaggio incomprensibile a persone non autorizzate a leggerlo. In parole semplici, è la pratica di trasformare dati in testo cifrato, che può essere letto solo da chi possiede la chiave per decifrarlo.
In parole semplici, è trasformare un messaggio chiaro in un codice segreto, il “crittotesto”, che può essere decifrato solo da chi possiede la chiave giusta.
Per quale motivo si usa la crittografia
La crittografia è utilizzata in diversi ambiti per proteggere dati sensibili, come:
- comunicazioni online: e-mail, messaggi istantanei, transazioni online
- dati memorizzati: file su computer, smartphone, hard disk esterni
- pagamenti elettronici: transazioni con carta di credito, bonifici online
- password: Protezione degli account online
Le basi della crittografia
La crittografia si basa sull’assunto che i cifrari utilizzati non siano decifrabili, se non in tempi che rendano ragionevolmente vano un attacco, tramite le tecnologie attualmente disponibili.
I cifrari sono funzioni matematiche che permettono la cifratura del dato sfruttando algoritmi definiti e, in seconda battuta, la decifratura del dato stesso.
I cifrari moderni possono essere categorizzati:
- In base a come lavorano sui blocchi di bit:
- Block chipers – algoritmo di cifratura a blocchi: algoritmo a chiave simmetrica operante su un gruppo di bit di lunghezza definita organizzati in un blocco;
- Stream chipers – algoritmo a flusso: algoritmo a chiave simmetrica nel quale i bit che codificano il testo sono cifrati indipendentemente l’uno dall’altro e nel quale la trasformazione dei simboli successivi varia con il procedere della cifratura;
- In base alle chiavi utilizzate per la cifratura:
- Algoritmi a chiave simmetrica: la chiave di cifratura è la stessa utilizzata anche per la decifratura del dato;
- Algoritmi a chiave asimmetrica: vengono utilizzate due diverse chiavi per il processo di cifratura e decifratura, cioè chiave pubblica, che viene distribuita, e chiave privata che resta personale e segreta.
Principi fondamentali della sicurezza delle informazioni
I principi fondamentali della sicurezza delle informazioni sono:
- Autenticazione: qualsiasi processo che permetta di verificare che qualcuno sia effettivamente chi sostiene di essere. Ad esempio, username e password, smart card, impronte digitali;
- Riservatezza: solo chi ha diritto di accesso alle informazioni deve essere in grado di trattarle. Il dato deve essere protetto da accessi non autorizzati, garantendo la privacy dei soggetti coinvolti. La crittografia è il metodo migliore per fare sì che le informazioni rimangano confidenziali sia in transito che in archivio. Solo le persone autorizzate sono in grado di decodificare il dato e trattarlo;
- Integrità: l’integrità garantisce che non possano essere apportate modifiche a sistemi e dati senza avere il corretto permesso;
- Non repudiation: significa che un messaggio trasferito è stato inviato e ricevuto da coloro che affermano di aver inviato e ricevuto il messaggio stesso. Non repudiation è un metodo per garantire che il mittente non possa negare di aver inviato il messaggio e che il destinatario non possa negare di averlo ricevuto;
- Disponibilità: la disponibilità ha l’obiettivo di garantire che i sistemi informativi siano sicuri e che i dati siano accessibili.
Algoritmi di cifratura: DES, RSA, AES e crittografia quantistica
DES, RSA e AES sono algoritmi di crittografia ampiamente utilizzati. DES è considerato non sicuro per la maggior parte delle applicazioni. RSA e AES sono considerati sicuri per la maggior parte delle applicazioni.
DES (Data Encription Standard)
Era la metà degli Anni 70 quando il governo statunitense, attraverso il National Bureau of Standards, regolò il primo standard pubblico di cifratura, chiamato Data Encription Standard (DES).
DES è un block chiper che utilizza secret shared encryption, selezionato da NBS nel 1976 come FIPS ufficiale e che successivamente ha goduto di un uso diffuso a livello internazionale. Esso si basa su un algoritmo a chiave simmetrica che usa una chiave a 56 bit.
DES è stato lo standard di fatto per la crittografia sino alla fine degli Anni 90, quando cadde sotto i colpi di Deep Crak in poco più di 22 ore.
In seguito a tale evento è avvenuta la pubblicazione di Triple DES, testo in chiaro crittografato in tre iterazioni, standard sino al 2002, quanto è stato sostituto da AES.
La pubblicazione di DES aveva coinciso anche con il rilascio di RSA, nel 1977, primo standard di crittografia ad introdurre il concetto di firma digitale. RSA è un algoritmo per crittografia a chiave pubblica, il primo adatto sia per la firma che per la crittografia. RSA viene oggi utilizzato nei protocolli di commercio elettronico ed è ritenuto essere sufficientemente sicuro.
AES (Advanced Encryption Standard – Rijndael)
Rappresenta uno fra i più recenti capitoli della storia della crittografia ed è attualmente uno fra gli standard di encryption più diffusi. AES è uno standard di encryption a chiave simmetrica. Annunciato dal NIST nel novembre 2001 dopo un processo di standardizzazione di cinque anni che aveva visto lo studio di quindici diverse proposte, AES venne ufficialmente impiegato dal governo statunitense dal maggio 2002. Rijndael è inoltre il primo codice accessibile pubblicamente e approvato da NSA per il trattamento delle informazioni top secret.
RSA (Rivest-Shamir-Adelman)
È un sistema a chiave pubblico introdotto nel 1978 che a oggi è ancora ritenuto sicuro. Esso è stato oggetto di numerosi test e non sono mai state rilevate falle significative, nonostante da un punto di vista teorico esista la possibilità di decifrare un messaggio conoscendo la chiave pubblica. L’enorme potenza di calcolo necessaria per effettuare un tale attacco, rendono tuttavia la possibilità teorica di fatto impossibile nella realtà. RSA è basato infatti sull’elevata complessità computazionale della fattorizzazione dei numeri primi; ad esempio RSA-2048 utilizza due numeri primi con più di trecento cifre. Visto che il problema della fattorizzazione è stato irrisolto per molti anni, tale sistema è considerato come una solida base per un sistema di crittografia sicuro.
Public Key Encryption: l’uso delle chiavi nella crittografia
La crittografia a chiave pubblica si riferisce ad un tipo di architettura che utilizza una coppia di chiavi per cifrare e decifrare i dati. Una delle due chiavi è pubblica, che chiunque può utilizzare per crittografare il messaggio del proprietario della chiave stessa. Il messaggio crittografato viene inviato ed il destinatario utilizza la chiave privata per decifrarlo.
La crittografia a chiave pubblica viene chiamata crittografia asimmetrica, in quanto utilizza due chiavi diverse.
La crittografia a chiave pubblica viene utilizzata in svariati ambiti, in quanto è in grado di rispondere alle necessità di:
- riservatezza, attraverso il meccanismo di funzionamento della tecnologia di cifratura e la distribuzione delle chiavi;
- non repudiation, attraverso firme digitali.
Firma digitale: il metodo per autenticare messaggi e documenti
Una firma digitale è un protocollo che ha lo stesso valore di una firma reale, in quanto il mittente è in grado di apporre una marca che indichi in maniera inequivocabile come il messaggio sia stato prodotto da un individuo specifico. Una firma digitale inoltre è in grado di garantire che il messaggio non sia stato modificato in transito.
Certificati a chiave pubblica: rendere sicuri i siti Web
Un certificato a chiave pubblica è un documento che utilizza una firma digitale per collegare una chiave pubblica e una identità, come ad esempio il nome di un organizzazione.
Il certificato può essere utilizzato per vari scopi ed il più comune è certamente quello implementato nei siti HTTPS. Il browser Web è in grado di verificare il fatto che il Web server a cui ci si sta collegando sia effettivamente lecito, garantendo all’utente navigazione sicura ed al riparo da attacchi di varia natura come MTM (Man in the Middle).
I certificati sono ad oggi fondamentali per qualsiasi sito Web, in quanto sono in grado di impedire che i dati in transito tra client e server vengano intercettati e letti in chiaro, come avverrebbe in caso di protocollo HTTP. I certificati contengono generalmente tutte le informazioni relative all’entità che ha effettuato richiesta di emissione: nome, cognome, indirizzo, nome dell’azienda, authority emittente e validità. La validità è un parametro fondamentale in quanto indica il lasso di tempo in cui i browser dei client indicheranno il sito come sicuro.
Crittografia: a quali bisogni delle aziende risponde
La cifratura è in grado di rispondere ai seguenti bisogni:
- riservatezza delle informazioni in transito;
- riservatezza delle informazioni archiviate;
- limitazione dei danni in caso di fuga di dati per imperizia;
- certezza delle comunicazioni.
La cifratura nelle aziende si declina nei seguenti ambiti:
- cifratura delle comunicazioni in transito;
- cifratura del dato;
- cifratura del supporto/volume di archiviazione dati;
- non repudiation.
La crittografia per la riservatezza delle informazioni in transito
La riservatezza delle informazioni in transito è necessaria per qualsiasi tipo di dato trasferito, sia esso una comunicazione con un server web o un’e-mail.
Per quanto riguarda le comunicazioni con server Web, lo standard attuale è divenuto l’implementazione di un protocollo sicuro SSL/TLS. In seguito all’apertura di una connessione verso un server su canale HTTPS, il browser chiede al server di identificarsi ed il server stesso fornisce come credenziali il proprio certificato. Il browser è in grado di esaminarlo e validarlo con le CA che gli sono note. A questo punto il browser invia un messaggio al server contenente la chiave pubblica del server stesso. Il server risponde con un messaggio elaborato tramite la chiave privata; il browser è quindi in grado di iniziare una connessione cifrata con algoritmo simmetrico. Utilizzare tecnologie di questo tipo è essenziale in quanto esse garantiscono una buona protezione da attacchi Man in the Middle.
Tutti i protocolli che utilizzano TLS (IMAPS, SMTPS ecc.) basano il proprio funzionamento su una procedura analoga a quella indicata per HTTPS.
Le informazioni in transito, oltre che a livello di protocollo, possono essere protette anche a livello di dato. Esempio attuale è la generazione di messaggi e-mail che, al momento dell’invio, incapsulano il contenuto con tecnologia HTML5 e richiedono all’utente una password per procedere alla cifratura del messaggio. Il destinatario, per aprire l’e-mail incapsulata nel file HTML dovrà ricevere dal mittente la password utilizzata attraverso un altro canale (SMS, telefono).
GDPR e crittografia: alleanza per la protezione dei dati
Il Regolamento Generale sulla Protezione dei Dati (GDPR) e la crittografia sono due strumenti che, se utilizzati insieme, possono creare una sinergia formidabile per la protezione dei dati personali.
Il GDPR non obbliga esplicitamente l’uso della crittografia, ma la indica come una misura tecnica fondamentale per raggiungere un livello di sicurezza adeguato al rischio.
In effetti, la crittografia rappresenta uno dei modi più efficaci per garantire la riservatezza dei dati rendendoli illeggibili a chiunque non possieda la chiave di decrittografia per:
- proteggere i dati da accessi non autorizzati: in caso di violazione informatica, i dati criptati saranno inaccessibili ai cybercriminali.
- dimostrare la conformità al GDPR: l’adozione di misure di sicurezza adeguate, come la crittografia, può facilitare la dimostrazione della conformità al Regolamento. Esistono diverse tipologie di crittografia che possono essere applicate a vari livelli, a seconda delle esigenze specifiche.
Alcune delle opzioni più comuni includono:
- Crittografia dei file: per proteggere singoli file o cartelle
- Crittografia dell’intero disco: per proteggere tutti i dati memorizzati su un dispositivo.
- Crittografia end-to-end: per proteggere la comunicazione durante il trasferimento dati.
In definitiva, la crittografia rappresenta un alleato prezioso per la conformità al GDPR e la protezione dei dati personali.
Che cos’è la crittografia quantistica
La crittografia quantistica è una tecnologia che utilizza proprietà della meccanica quantistica nella fase di scambio della chiave, in modo da evitare che la stessa possa essere intercettata da un attaccante senza che le due parti coinvolte se ne possano accorgere. La crittografia quantistica risolve il problema di dover effettuare lo scambio della chiave su un canale sicuro, aprendo nuovi scenari nel campo della crittografia.
Articolo originariamente pubblicato il 01 Ott 2018