Che cos’è la crittografia?
Per comprendere la crittografia asimmetrica, è importante prima di tutto avere un’idea chiara di cosa sia la crittografia a livello generale e di cosa siano le chiavi crittografiche.
La crittografia è una tecnica che utilizza algoritmi matematici per trasformare un testo leggibile (noto come “testo in chiaro”) in un testo cifrato e incomprensibile, proteggendo così i dati da accessi non autorizzati. Scopri cosa sono i dati personali all’interno del nostro articolo di blog.
Per crittografare o de-crittografare i dati, si utilizzano delle regole specifiche che definiscono come avviene la trasformazione tra il testo in chiaro e quello cifrato. Queste regole sono rappresentate dalle chiavi crittografiche.
Le chiavi crittografiche sono sequenze di numeri e la loro lunghezza viene misurata in bit. Più lunga è la chiave, maggiore è la sicurezza che offre, poiché aumenta la complessità del processo di decifratura non autorizzata.
Come funziona la crittografia asimmetrica e a cosa serve? Spiegazione
La crittografia asimmetrica, conosciuta anche come crittografia a chiave pubblica, si basa sull’uso di due chiavi distinte: una chiave privata e una chiave pubblica, utilizzate rispettivamente per de-crittografare e crittografare i dati.
Queste chiavi sono collegate tra loro in modo tale che una chiave è necessaria per crittografare le informazioni e l’altra per decrittarle.
In genere, la chiave pubblica è resa disponibile a tutti, consentendo a chiunque di utilizzarla per crittografare i dati da inviare a un determinato destinatario.
La chiave privata, invece, è mantenuta segreta poiché viene usata per decifrare i dati ricevuti. Questo sistema assicura che un mittente non possa leggere i messaggi di un altro mittente, anche se entrambi utilizzano la chiave pubblica del destinatario. Inoltre, risalire alla chiave privata a partire dalla chiave pubblica è praticamente impossibile.
Un problema sorge però dalla condivisione pubblica delle chiavi: come si può essere sicuri che la chiave non sia stata alterata o sostituita da un hacker?
Non esiste una soluzione infallibile, ma alcune autorità rilasciano dei certificati che consentono di attestare l’autenticità delle chiavi pubbliche, utilizzati principalmente per verificare connessioni internet sicure e firme digitali (come nel caso di HTTPS).
Esistono anche dei sistemi decentralizzati, come OpenPGP, che utilizzano un modello chiamato “rete di fiducia” al fine di garantire l’autenticità delle chiavi crittografiche. In questo modello, gli utenti non fanno affidamento su una singola autorità centrale per verificare le chiavi. Le diverse entità, invece, si confermano reciprocamente l’autenticità delle chiavi attraverso un processo di firma.
Vediamo ora come funziona la crittografia a chiave pubblica nel dettaglio passo dopo passo:
- 1.Acquisizione della chiave pubblica: Nel momento in cui qualcuno desidera inviare un messaggio sicuro a un destinatario, deve prima ottenere la sua chiave pubblica. Questa informazione può essere recuperata da un database accessibile a tutti, oppure viene fornita direttamente dal destinatario stesso.
- 2.Crittografia del messaggio: Utilizzando la chiave pubblica del destinatario, il mittente crittografa il messaggio, i dati o il file che vuole inviare. Questo processo trasforma il contenuto leggibile in un testo cifrato, rendendolo incomprensibile per chiunque non possieda la chiave privata corrispondente.
- 3.Invio del messaggio crittografato: Una volta crittografato, il mittente invia il messaggio cifrato al destinatario. Anche se il messaggio viene intercettato durante il trasferimento, questo rimane illeggibile senza la chiave privata necessaria per la sua decifratura.
- 4.De-crittografia del messaggio: Quando il destinatario riceve il messaggio crittografato, utilizza la propria chiave privata per de-crittografarlo. La chiave privata è segreta e nota solo al destinatario stesso e consente di trasformare il testo cifrato nuovamente nel contenuto originale leggibile in chiaro.
In questo modo, la crittografia asimmetrica assicura che solo il destinatario possa leggere effettivamente il messaggio, proteggendo i dati da accessi non autorizzati durante la loro trasmissione.
Esempi di algoritmi di crittografia a chiave asimmetrica
Gli algoritmi di crittografia asimmetrica più conosciuti includono EIGamal, Rivest–Shamir–Adleman (RSA), Digital Signature Algorithm (DSA), Elliptic curve cryptography (ECC) e PKCS.
Attualmente, l’algoritmo RSA è il più comunemente utilizzato per la crittografia e si trova principalmente nei protocolli SSL/TLS, che sono fondamentali per stabilire connessioni sicure tra un utente e i siti web che visita. Questi protocolli garantiscono che i dati trasmessi tra l’utente e il sito web siano cifrati e protetti da intercettazioni.
Le chiavi RSA, che sono essenziali per questo tipo di crittografia, variano generalmente in lunghezza: possono essere di 1024, 2048 o 4096 bit. La lunghezza della chiave è direttamente correlata alla sicurezza dell’algoritmo. Infatti, chiavi più lunghe offrono una maggiore protezione, rendendo più difficile per un hacker decifrare i dati.
Recentemente, sia i governi che le industrie hanno iniziato ad adottare una lunghezza minima della chiave di 2048 bit. Questo cambiamento è dovuto al fatto che le chiavi di 1024 bit sono diventate vulnerabili ai progressi delle tecnologie di calcolo e ai metodi di attacco sempre più sofisticati. Utilizzando chiavi più lunghe, come quelle di 2048 bit, si aumenta notevolmente la sicurezza delle connessioni crittografate, proteggendo meglio i dati sensibili degli utenti.
Inoltre, l’algoritmo Elliptic curve cryptography (ECC) sta ottenendo un riconoscimento sempre maggiore tra gli esperti di sicurezza informatica. Questo è dovuto alla sua capacità di generare chiavi crittografiche che sono non solo più veloci da elaborare, ma anche più piccole ed efficienti rispetto a quelle prodotte da RSA. La complessità matematica alla base di ECC rende, inoltre, queste chiavi molto più difficili da violare.
ECC è particolarmente apprezzato perché, a parità di livello di sicurezza, le sue chiavi possono essere molto più corte delle chiavi RSA. Questo comporta un significativo risparmio di risorse computazionali, rendendo ECC una scelta ideale per dispositivi con potenza di elaborazione limitata o per applicazioni che richiedono alta efficienza.
Un esempio di utilizzo pratico di ECC è il nuovo protocollo VPN NordLynx, che sfrutta le potenzialità di questo algoritmo di crittografia a chiave pubblica al fine di garantire delle connessioni sicure e veloci. Anche la nuova app per la crittografia dei file, NordLocker, utilizza ECC per offrire una protezione più completa dei dati.
Alcuni esempi di utilizzo della crittografia a chiave asimmetrica includono:
- Protezione della connessione internet: La crittografia asimmetrica è essenziale per gli handshake SSL/TLS, ossia i protocolli utilizzati per stabilire connessioni HTTPS sicure. Nel momento in cui visiti un sito web, il protocollo SSL/TLS garantisce che la connessione tra il tuo browser e il server del sito web sia crittografata tramite un certificato SSL, proteggendo così i dati da eventuali intercettazioni da parte di terzi.
- Crittografia di messaggi ed e-mail: I protocolli come OpenPGP e S/MIME sfruttano la crittografia asimmetrica per crittografare i messaggi e le e-mail, assicurando che solo l’effettivo destinatario possa leggere il loro contenuto. Scopri di più sulle app di messaggistica più sicure, sulla crittografia end-to-end e se WhatsApp è sicuro nei post del nostro blog.
- Firma digitale di file e documenti: La crittografia asimmetrica permette di aggiungere firme digitali a file e documenti, offrendo un metodo per verificare l’integrità e l’autenticità dei dati. Una firma digitale consente di confermare che un documento non sia stato alterato durante il suo trasferimento e garantisce che il mittente non possa negare di aver inviato il messaggio, poiché la firma è univocamente legata alla sua chiave privata.
- Transazioni di criptovaluta: La sicurezza delle transazioni di criptovaluta si basa sulla crittografia asimmetrica. Questa tecnologia assicura che solo i legittimi proprietari possano accedere e spendere le loro criptovalute, proteggendo i fondi da eventuali frodi o furti.
- Infrastruttura a chiave pubblica (PKI): La crittografia asimmetrica è alla base della tecnologia PKI, la quale è utilizzata per garantire la sicurezza delle comunicazioni online e la protezione delle risorse digitali. PKI consente la gestione sicura delle chiavi crittografiche pubbliche e private ed è fondamentale per molte applicazioni, tra cui l’autenticazione degli utenti e la cifratura dei dati sia sulla rete internet pubblica che sulle reti aziendali.
Differenza tra crittografia simmetrica e asimmetrica
La differenza principale tra crittografia simmetrica e asimmetrica risiede nel tipo di chiavi utilizzate: la crittografia simmetrica impiega chiavi identiche, mentre la crittografia asimmetrica utilizza coppie di chiavi diverse, ma matematicamente correlate.
La crittografia simmetrica, che è stata sviluppata prima di quella asimmetrica, aveva un grande problema: la distribuzione delle chiavi. Nella crittografia simmetrica, infatti, la stessa chiave viene utilizzata sia per crittografare che per de-crittografare i dati.
Questo significa che entrambe le parti coinvolte nella comunicazione devono avere accesso alla stessa chiave. Ma come si possono scambiare queste chiavi in modo sicuro su internet se la connessione stessa non è sicura? Qualcuno potrebbe intercettare il traffico (tramite attacchi sniffing) e rubare le chiavi, permettendogli così di decifrare tutte le comunicazioni.
Questo problema è stato risolto con l’introduzione della crittografia asimmetrica e dell’infrastruttura a chiave pubblica (PKI).
In un sistema di crittografia asimmetrica, ogni parte ha due chiavi: una chiave pubblica e una chiave privata. La chiave pubblica viene condivisa con tutti, mentre la chiave privata è mantenuta segreta. Quando qualcuno vuole inviare un messaggio sicuro, utilizza la chiave pubblica del destinatario per crittografarlo. Solo il destinatario può, quindi, decrittare il messaggio, utilizzando la propria chiave privata.
In questo modo, non è necessario scambiare le chiavi di sessione segrete su una connessione non sicura, poiché la chiave pubblica può essere distribuita liberamente senza compromettere la sicurezza dello scambio di informazioni.
Tuttavia, anche la crittografia asimmetrica ha i suoi svantaggi. Richiede, infatti, una maggiore potenza di calcolo e più tempo per crittografare e de-crittografare i dati rispetto alla crittografia simmetrica.
Inoltre, le chiavi utilizzate nella crittografia asimmetrica devono essere molto più lunghe al fine di fornire lo stesso livello di sicurezza di quelle simmetriche. Ad esempio, una chiave simmetrica di 80 bit offre una sicurezza equivalente a una chiave RSA di 1024 bit.
Per questo motivo, alcuni protocolli come SSL/TLS combinano entrambe le tecniche con l’obiettivo di sfruttare al massimo i loro punti di forza: utilizzano la crittografia asimmetrica durante la fase iniziale per stabilire una connessione sicura e scambiare le chiavi di sessione simmetriche.
Una volta stabilita la connessione, viene impiegata la crittografia simmetrica per le comunicazioni successive. Questo approccio permette così di combinare la sicurezza della crittografia asimmetrica con l’efficienza della crittografia simmetrica.
I moderni algoritmi di crittografia asimmetrica, come ECC, sono stati progettati per ridurre la lunghezza delle chiavi necessarie pur mantenendo un elevato livello di sicurezza. Ad esempio, una chiave ECC di 160 bit offre una sicurezza equivalente a una chiave simmetrica di 80 bit, rendendola più efficiente in termini di risorse computazionali rispetto a RSA.
Tuttavia, anche se ECC è più efficiente di RSA, non è ancora veloce quanto la crittografia simmetrica, che rimane la scelta preferita per le comunicazioni in tempo reale una volta stabilita una connessione sicura.
Conclusione
In sintesi, la crittografia, sia essa simmetrica o asimmetrica, è fondamentale per garantire la sicurezza delle comunicazioni digitali.
La crittografia a chiave asimmetrica, sebbene richieda risorse computazionali maggiori e chiavi più lunghe, risolve il problema della distribuzione delle chiavi, rendendola una scelta sicura per lo scambio di informazioni sensibili. D’altro canto, la crittografia simmetrica, con la sua maggiore velocità ed efficienza, è ideale per le comunicazioni in tempo reale una volta stabilita una connessione sicura.
Algoritmi come RSA ed ECC dimostrano come la crittografia asimmetrica possa evolvere al fine di offrire maggiore sicurezza ed efficienza. L’integrazione di entrambe le tecniche, come avviene nei protocolli SSL/TLS, rappresenta il modo più efficace per combinare sicurezza e prestazioni.
La sicurezza online inizia con un semplice clic.
Resta al sicuro con la VPN leader a livello mondiale