Crittografia: un tassello fondamentale della cybersecurity. Cosa prevede il GDPR e quali sono i migliori algoritmi di crittografia.
Che cosa si intende per crittografia?
Iniziamo dalle definizioni: la crittografia è una tecnica di sicurezza informatica che consiste nel convertire i dati da un formato intellegibile (detto anche “in chiaro”) ad un formato non intellegibile (detto anche “criptato” o “codificato”). E’ possibile leggere e modificare dati criptati soltanto dopo averli decriptati.
In pratica, la crittografia è una misura di sicurezza informatica posta a protezione dei dati. I dati infatti sono così consultabili soltanto da chi è autorizzato. In caso di data breach o data leak, o comunque in generale di accessi non legittimi ai dati, la criptazione impedisce al soggetto non autorizzato di visualizzarne il contenuto.
Per crittografare un file occorrono delle chiavi di criptazione, che altro non sono che un set di valori matematici concordati tra un mittente ed un destinatario. Il destinatario, per poter leggere dati criptati, deve decriptarli utilizzando la chiave in suo possesso. Più complessa è la chiave più sicura è la crittografia dei file, perché è meno probabile che soggetti terzi non autorizzati possano individuarla tramite attacchi di brute forcing.
Cosa afferma il GDPR sulla crittografia?
Per entrare nel vivo della questione citiamo l’art. 32 del GDPR, che afferma:
“Il titolare del trattamento e il responsabile del trattamento mettono in atto misure tecniche e organizzative adeguate per garantire un livello di sicurezza adeguato al rischio, che comprendono, tra le altre, se del caso:
- la pseudonimizzazione e la cifratura dei dati personali;
- la capacità di assicurare su base permanente la riservatezza, l’integrità, la disponibilità e la resilienza dei sistemi e dei servizi di trattamento;
- la capacità di ripristinare tempestivamente la disponibilità e l’accesso dei dati personali in caso di incidente fisico e tecnico;
- una procedura per testare, verificare e valutare regolarmente l’efficacia delle misure tecniche e organizzative al fine di garantire la sicurezza del trattamento”.
Inoltre, l’art. 34, che si concentra sulla notifica di un’eventuale violazione dei dati ai soggetti interessati, sottolinea che l’uso della cifratura può esonerare da responsabilità il responsabile del trattamento, purché siano state adottate adeguate misure per rendere i dati coinvolti nella violazione incomprensibili a chi non è autorizzato ad accedervi.
Crittografia dati: cos’è e quali sono gli algoritmi più usati
Con l’avvento dei regolamenti di protezione dei dati le aziende si stanno orientando verso solidi algoritmi che costruiscono soluzioni di crittografia per proteggere i dati aziendali. La crittografia è la base della protezione dei dati ed è il modo più semplice per garantire che le informazioni di un sistema informatico non possano essere rubate e lette da qualcuno che voglia utilizzarle per scopi malevoli. Questa tecnica contribuisce in modo significativo a preservare la sicurezza delle informazioni prevenendo il data breach. Inoltre, pur trattandosi di un’imposizione del GDPR, la cifratura dei dati va considerata anche come misura da implementare per rafforzare il principio di accountability, ovvero l’obbligo di resocontare quanto si è fatto in merito al trattamento dei dati personali raccolti.
Da una parte, implica le modalità con cui ci si è comportati per essere conformi al regolamento, dall’altra la capacità di aver pianificato quanto necessario per scongiurare il rischio di compromissione dei dati.
Ci sono diversi metodi di crittografia, ognuno sviluppato pensando a una diversa sicurezza o esigenza di sicurezza. I due tipi principali di crittografia dati sono: asimmetrica e simmetrica.
Per saperne di più > L’analisi del rischio e il principio di accountability
Metodi di crittografia asimmetrica:
La crittografia asimmetrica, conosciuta anche come crittografia a chiave pubblica, crittografa e decodifica i dati, utilizzando due chiavi crittografiche asimmetriche separate. Queste chiavi sono conosciute come “chiave pubblica” e “chiave privata”.
Metodi di crittografia asimmetrica più comuni:
- RSA: acronimo di Ron Rivest, Adi Shamir e Leonard Adleman, gli informatici che per primi spiegarono pubblicamente l’algoritmo nel 1977. E’ un popolare algoritmo utilizzato per crittografare i dati con una chiave pubblica e decifrarli con una chiave privata per garantire una trasmissione dati sicura. Un utente della crittografia RSA crea e pubblica il prodotto di due grandi numeri primi, insieme a un valore ausiliario, che rappresenta la chiave pubblica. I fattori primi devono essere tenuti segreti. Chiunque può utilizzare la chiave pubblica per cifrare un messaggio, ma solo chi conosce i fattori primi può decodificarlo.
- RC6: è un algoritmo proprietario brevettato da RSA Security, sviluppato per soddisfare i requisiti dell’Advanced Encryption Standard (AES), che citiamo di seguito. Venne pubblicato per la prima volta nel 1998, con un blocco di dimensioni di 128 bit e chiavi di supporto di 128, 192, 256 bit.
- Infrastruttura a chiave pubblica (PKI): è un sistema di processi, tecnologie e policy che consente di crittografare e firmare i dati. Con la PKI puoi emettere certificati digitali che autenticano l’identità di utenti, dispositivi o servizi. Tali certificati creano una connessione protetta sia per le pagine web pubbliche sia per i sistemi privati, come ad esempio le reti private virtuali (VPN), il Wi-Fi interno, le pagine Wiki e altri servizi che supportano l’autenticazione a più fattori (MFA).
- ECC (Elliptic Curve Cryptography): l’algoritmo di crittografia asimmetrica che si basa su curve ellittiche. È noto per offrire una sicurezza simile a quella dell’RSA usando chiavi più corte, rendendolo più efficiente dal punto di vista computazionale.
Metodi di crittografia simmetrica:
La crittografia simmetrica è un tipo di cifratura in cui per crittografare il testo e decrittare quello cifrato si usa soltanto una chiave simmetrica segreta.
Metodi di crittografia simmetrica più comuni:
- Serpent: è il sostituto dell’obsoleto Data Encryption Standard (DES). Ha un blocco di 128 bit e chiavi di supporto di 128, 192 e 256 bit. E’ un algoritmo di criptazione molto solido, ma è considerato più lento di altri. Dato che Serpent è di pubblico dominio, è gratuito e può utilizzarlo chiunque.
- DES triplo: esegue la crittografia tre volte, criptando, decrittando e poi criptando i dati ancora una volta.
- Advanced Encryption Standard (AES): standard di crittografia avanzata, è utilizzato in tutto il mondo come standard del governo USA e viene definito spesso come il gold standard per la crittografia dei dati. Esistono tre tipologie diverse di AES: AES-128, AES-192, AES-256. Indipendentemente dalla tipologia, il processo di criptazione è sempre lo stesso e consiste nei seguenti passaggi: divisione ed espansione, sostituzione, shifting, mescolatura, round key, ripetizione.
- Twofish: è considerato tra i più veloci algoritmi di criptazione ed è quindi tra i preferiti di aziende hardware e software. E’ inoltre disponibile gratuitamente e ciò lo rende molto popolare. Twofish è un cifrario a blocchi che utilizza una dimensione del blocco di 128 bit e una chiave di lunghezza variabile di dimensione 128, 192 o 256 bit.
- Blowfish: è un algoritmo a chiave simmetrica a blocchi, ideato nel 1993 da Bruce Schneier e implementato su molte piattaforme di e-commerce per vari scopi, ad esempio come tool di gestione password. E’ conosciuto per la sua velocità ed efficacia ed è considerato praticamente impossibile da violare. Inoltre, essendo di pubblico dominio, può essere utilizzato da chiunque.
Crittografia dei dati in transito e dei dati a riposo
I dati a riposo sono tutti quelli che sono stati memorizzati da qualche parte senza essere utilizzati da e/o trasmessi a terze parti. Anche se questi dati non vengono trasmessi né utilizzati, ci sono diverse ragioni per cui dovremmo crittografarli. I dati a riposo sono statisticamente quelli più a rischio, proprio perché vengono spesso trascurati. Ad esempio: i backup effettuati su supporti mobili, spesso a disposizione dei ladri che possono penetrare nella nostra abitazione (o ufficio); le foto presenti sul nostro cellulare, che può essere perso o rubato ecc. Tutte situazioni in cui, in mancanza di una adeguata protezione, rischiamo di trovarci in un istante vittime di un data breach di entità e gravità spesso elevate.
Quelli in transito, invece, sono i dati che vengono trasmessi a qualcuno o a qualcosa, diventando così oggetto di un data transfer. Un tipico esempio di dati in transito è dato dalle dinamiche che avvengono tra il nostro browser e un qualsiasi sito web che visitiamo durante una nostra sessione di navigazione. La tipologia di attacchi che possono essere usati per sottrarre dati che transitano attraverso un protocollo di trasmissione non sicuro come HTTP è molto ampia, ma generalmente riconducibile a due tipologie principali:
- Eavesdropping (intercettazione): un attacco che avviene a livello di rete, volto alla cattura di singoli pacchetti di trasmissione.
- Attacco basato sul tampering (manomissione) dei servizi o dell’infrastruttura di comunicazione, mediante il quale l’attaccante si intromette segretamente nella comunicazione tra due peer (ad es. il server e il client) guadagnando l’accesso ai dati trasmessi e, in alcuni casi, apportando persino delle modifiche alla comunicazione.
Cinque motivi per cui la cifratura dei dati è indispensabile:
- riservatezza: cifrare le informazioni garantisce la riservatezza dei dati in transito durante le comunicazioni. Solo il proprietario dei dati e/o il loro destinatario possono leggerli. In questo modo, se individui malintenzionati intercettano i messaggi, non riescono a leggerli.
- sicurezza: la cifratura permette di proteggere i dati da qualsiasi forma di violazione. Se un computer professionale viene rubato, i dati cifrati salvati al suo interno non sono accessibili e i dati sensibili dell’azienda non possono quindi essere divulgati.
- integrità dei dati: i messaggi inviati su Internet possono essere intercettati e modificati senza che il mittente e il destinatario ne siano a conoscenza. La cifratura è uno strumento che permette di garantire l’integrità dei dati evitandone l’alterazione lungo il percorso.
- autenticazione: la cifratura fa parte di alcuni controlli di accesso a un sistema. Autenticare una richiesta di accesso permette di verificare la legittimità della richiesta.
- ragioni legali: attualmente sono in vigore diversi regolamenti per far fronte agli attacchi malevoli e al rischio di perdita o divulgazione di dati sensibili. Alcuni operatori, di settore o governativi, impongono alle imprese la cifratura dei dati dell’utente prima di procedere all’archiviazione. Si pensi, ad esempio, al GDPR, relativo al trattamento dei dati personali nell’Unione Europea.
Contributo originale di GDPRlab.it