Introducing G2.ai, the future of software buying.Try now

Crittografia Simmetrica: Come Garantire la Sicurezza a un Ritmo Più Veloce

Agosto 25, 2021
da Sagar Joshi

La sicurezza a volte richiede velocità.

Mentre si cripta una grande quantità di dati, è necessario un metodo di crittografia che possa elaborare grandi volumi di dati senza causare un impatto significativo sulla rete, sull'energia o sulla memoria. La crittografia simmetrica è una di queste tecniche che può aiutarti a criptare i dati più velocemente fornendo al contempo una sicurezza sostanziale.

Le organizzazioni generalmente utilizzano software di crittografia per proteggere i loro dati in uso, in transito o a riposo. Questi software funzionano sia con la crittografia simmetrica che asimmetrica a seconda dei casi d'uso e delle necessità.

A differenza della crittografia asimmetrica, che utilizza una coppia di chiavi, la crittografia simmetrica utilizza una chiave segreta e ha un meccanismo di crittografia più semplice. Chiunque non possieda il segreto condiviso non può teoricamente decrittare il messaggio criptato con la chiave segreta. Ma praticamente, se un utente cripta informazioni con un meccanismo che utilizza algoritmi di crittografia deboli, può essere decodificato. Gli attaccanti possono condurre attacchi di forza bruta utilizzando sistemi con alta potenza di calcolo per ottenere accesso non autorizzato alle tue informazioni.

La crittografia simmetrica utilizza meno potenza computazionale ed è relativamente più semplice da eseguire e scalare nelle organizzazioni. Il principale svantaggio è che le due parti coinvolte nella comunicazione devono scambiarsi una chiave privata, che gli attaccanti possono intercettare.

La crittografia simmetrica è più veloce e utilizza meno potenza computazionale rispetto alla crittografia a chiave pubblica. Pertanto, è una scelta favorevole per gli utenti che devono eseguire crittografie in massa. Viene utilizzata per criptare e decrittare database. Poiché la chiave privata è disponibile per il database stesso, puoi usarla per criptare o decrittare grandi quantità di dati.

Prima di approfondire gli algoritmi di crittografia e i casi d'uso, affrontiamo una sfida significativa che gli utenti affrontano quando utilizzano la crittografia simmetrica: la gestione delle chiavi.

Crittografia simmetrica e gestione delle chiavi

La gestione delle chiavi è una sfida che non è del tutto nuova. Sebbene ci siano molti vantaggi nella crittografia simmetrica, una gestione impropria delle chiavi simmetriche è un problema che ne impedisce l'uso diffuso.

Ci sono molti altri problemi legati alla gestione delle chiavi che le persone affrontano nell'implementare la crittografia simmetrica:

  • Esaurimento delle chiavi: Quando si utilizzano le stesse chiavi di crittografia più volte, c'è la possibilità di perdita di informazioni. Gli attaccanti possono utilizzare queste informazioni per ricostruire la chiave. È necessario mantenere una gerarchia delle chiavi e garantire una corretta rotazione delle chiavi per proteggere le chiavi di crittografia dagli attaccanti. Implementare un sistema di gestione delle chiavi di crittografia ti aiuterà a conservarle mantenendo un backup se una chiave viene persa.
  • Attribuzione: Le chiavi simmetriche non contengono metadati incorporati che registrano informazioni come il controllo degli accessi o la data di scadenza. Lo standard ANSI X9-31 affronta questo problema allegando le informazioni d'uso prescritte con la chiave. Tuttavia, avrai bisogno di un sistema di gestione delle chiavi per avere il controllo completo su cosa può essere utilizzata una chiave e quando.
  • Scalabilità: Che ci siano decine o centinaia di chiavi, puoi gestirle manualmente. Ma quando c'è un'implementazione su larga scala, organizzare una rotazione efficace delle chiavi e tracciare la scadenza diventa un rompicapo.

Gestire la crittografia a chiave simmetrica su larga scala può essere impegnativo, specialmente quando si vuole garantire una robusta sicurezza informatica in un ambiente aziendale decentralizzato. Avrai bisogno di un potente software di gestione delle chiavi per ottenere una visibilità e un controllo adeguati sulle chiavi registrate. Puoi iniziare con una versione gratuita del software di gestione delle chiavi e scoprire quanto può diventare fluido il tuo processo di gestione delle chiavi.

Vuoi saperne di più su Software di crittografia? Esplora i prodotti Crittografia.

Come funziona la crittografia simmetrica?

Prima di approfondire il processo tecnico, dovresti familiarizzare con alcuni componenti coinvolti nel processo.

Questi componenti della crittografia a chiave simmetrica sono:

  • Testo in chiaro: Un messaggio che vuoi criptare
  • Algoritmo di crittografia simmetrica: Un algoritmo matematico che converte un messaggio in un formato incomprensibile
  • Chiave segreta: Una chiave utilizzata per criptare o decrittare i dati
  • Testo cifrato: Un messaggio criptato che non si può comprendere quando lo si decripta con una chiave segreta

Prendiamo un esempio per capire un cifrario simmetrico (algoritmo). Supponiamo di dover criptare un messaggio che dice: "Ci incontriamo al centro commerciale." Ad esempio, utilizziamo un algoritmo di crittografia a spostamento di base, noto anche come cifrario di Cesare. Qui, il testo cifrato viene costruito scegliendo la terza lettera in ordine alfabetico dalla sequenza di caratteri data nel testo in chiaro.

Nel nostro esempio, "C" nel testo in chiaro diventerà "F" nel testo cifrato, "i" nel testo in chiaro diventerà "l" nel testo cifrato, e così via. Questo processo di crittografia verrà eseguito utilizzando una chiave segreta, che il destinatario utilizzerà per decrittare il messaggio.

Pertanto, quando utilizziamo l'algoritmo di spostamento (con tre spazi) per criptare "Ci incontriamo al centro commerciale", il testo cifrato diventa, "Fl lqfrqwuldpr do fhqwur frpphufldoh." Il destinatario del messaggio può ora utilizzare la stessa chiave segreta per convertire il testo cifrato in testo in chiaro.

Questo è come funziona la crittografia simmetrica. Abbiamo utilizzato un algoritmo di crittografia di base (cifrario) per aiutarti a comprendere rapidamente il processo. Gli algoritmi di crittografia simmetrica dell'industria richiedono calcoli più complessi per creare il testo cifrato e sono difficili da prevedere.

Casi d'uso della crittografia simmetrica

La crittografia simmetrica è piuttosto popolare in molte industrie e ha molteplici casi d'uso. Nel mondo reale, è comunemente utilizzata nel settore bancario, nel protocollo HTTPS (Hypertext Transfer Protocol Secure) e per eseguire la crittografia dei dati a riposo.

Puoi trovare la crittografia simmetrica come uno dei componenti vitali nei seguenti settori:

  • Bancario: La crittografia simmetrica è uno dei componenti chiave della conformità PCI (Payment Card Industry). Consente alle aziende di proteggere i dati a riposo.
  • Servizi di archiviazione dati: Molti servizi che memorizzano dati adottano la crittografia simmetrica per proteggere contro l'esposizione intenzionale o accidentale. Servizi come Microsoft Azure, Google Suite e altri utilizzano la crittografia simmetrica per proteggere i dati.
  • Sicurezza web tramite HTTPS: La crittografia simmetrica è una parte integrante della sicurezza dei siti web. Sebbene la crittografia asimmetrica esegua l'autenticazione per due parti, il processo di crittografia effettivo viene eseguito tramite crittografia simmetrica.

Molti casi d'uso impiegano insieme crittografia simmetrica e asimmetrica per garantire la massima sicurezza. Criptano i dati in massa utilizzando la crittografia simmetrica e poi criptano la chiave di crittografia simmetrica con la crittografia asimmetrica.

Crittografia simmetrica vs. crittografia asimmetrica

Entrambi i tipi di crittografia, simmetrica o asimmetrica, hanno i loro vantaggi e svantaggi. Gli utenti possono scegliere un particolare tipo di crittografia che meglio si adatta alle loro esigenze o combinare entrambi per realizzare una sicurezza robusta.

crittografia simmetrica vs. crittografia asimmetrica

Ci sono vari punti in base ai quali possiamo differenziare tra crittografia simmetrica e asimmetrica.

Aree di differenze

Crittografia simmetrica

Crittografia asimmetrica

Velocità

È veloce

È relativamente più lenta

Sicurezza

Offre meno sicurezza poiché gli utenti devono condividere la stessa chiave segreta

Fornisce maggiore protezione con chiavi separate per crittografia e decrittografia

Volume di dati

Utilizzata nella trasmissione di grandi volumi di dati

Utilizzata nella trasmissione di bassi volumi di dati.

Consumo di risorse

Funziona con un minore utilizzo di risorse

Funziona con un alto consumo di risorse

Numero di chiavi

Utilizza una chiave per entrambe le crittografie simmetrica e asimmetrica

Utilizza due chiavi diverse per crittografia e decrittografia.

Lunghezze delle chiavi

128-bit o 256-bit

RSA 2048-bit o superiore

Algoritmi

DES, 3DES, AES, RC4 e altri

RSA, Diffie-Hellman, crittografia a curve ellittiche (ECC) e altri

I compromessi più significativi nella crittografia simmetrica e asimmetrica

Sebbene la crittografia asimmetrica sia una tecnica di crittografia avanzata, la crittografia simmetrica è ancora utilizzata oggi per i suoi benefici. A volte, gli utenti preferiscono adottare crittografia simmetrica e asimmetrica (ad esempio, Secure Socket Layers/Transport Layer Security o sistemi di chat mobile).

Quando si sceglie tra crittografia simmetrica e asimmetrica, ci si troverà di fronte a una situazione che richiederà di fare un compromesso tra sicurezza e velocità.

Sicurezza

La crittografia asimmetrica fornisce una migliore sicurezza rispetto alla crittografia simmetrica. Questo perché, nella crittografia simmetrica, è necessario condividere la chiave segreta con un destinatario poiché sia la crittografia che la decrittografia avvengono utilizzando la stessa chiave. Ciò apre opportunità per un attaccante di intercettare la chiave segreta durante la trasmissione e decrittare il messaggio.

A differenza della crittografia simmetrica, la crittografia asimmetrica utilizza due chiavi: chiave pubblica e chiave privata. Qui, il destinatario del messaggio genera la coppia di chiavi. La chiave pubblica è disponibile a tutti, ma la chiave privata è solo con il destinatario. Qualsiasi messaggio criptato con una chiave pubblica può essere decriptato solo dalla sua corrispondente chiave privata in custodia del destinatario. Poiché la crittografia asimmetrica non richiede la condivisione o la trasmissione delle chiavi, le possibilità che un attaccante interferisca con esse sono minori, rendendola un metodo di crittografia più sicuro.

Pertanto, nei luoghi in cui è necessaria una maggiore sicurezza e la velocità di crittografia non è una priorità elevata, la crittografia asimmetrica sarebbe una scelta favorevole.

Velocità

La crittografia simmetrica è molto più veloce della crittografia asimmetrica. La crittografia simmetrica funziona con dimensioni delle chiavi minori e una chiave segreta, il che le conferisce un vantaggio quando la velocità di crittografia è una priorità.

Al contrario, la crittografia asimmetrica è un processo più lento e talvolta inefficiente poiché può causare problemi di prestazioni in una rete. La crittografia asimmetrica funziona con dimensioni delle chiavi grandi che possono eventualmente comportare un maggiore consumo di energia e problemi di memoria.

In poche parole, se hai bisogno di lavorare con grandi volumi di dati e la velocità è una priorità, la crittografia a chiave simmetrica sarebbe la scelta favorevole.

Esempi di crittografia simmetrica

La crittografia simmetrica utilizza più algoritmi basati su complessità, potenza computazionale e altri fattori. Questi algoritmi convertono il testo in chiaro in testo cifrato utilizzando una chiave segreta.

Advanced Encryption Standard (AES)

AES appartiene alla famiglia Rijndael di algoritmi di cifratura a blocchi. Ha una dimensione di blocco fissa di 128 bit con dimensioni delle chiavi variabili di 128, 192 o 256 bit.

Lo sapevi? AES esegue tutti i suoi calcoli in byte anziché in bit. Pertanto, un blocco di testo in chiaro di 128 bit viene trattato come 16 byte.

Ci sono molti modi in cui viene utilizzata la crittografia AES. Puoi trovare il suo uso diffuso nella sicurezza dei processori, crittografia dei file, sicurezza wireless e in vari altri luoghi. La ragione principale della popolarità di AES è il livello di protezione con una velocità di calcolo rapida. Fornisce una forma di crittografia efficace ed efficiente che è favorevole a governi e aziende in tutto il mondo.

L'Advanced Encryption Standard si basa su una rete di sostituzione-permutazione. Il testo in chiaro passa attraverso un numero specifico di iterazioni basato sulla dimensione della chiave per generare il testo cifrato.

Come funziona AES

Approfondiamo le basi per capire come funziona AES. Il processo di crittografia simmetrica coinvolge la miscelazione del testo in chiaro in informazioni incomprensibili e una chiave per decrittare i dati miscelati. Quando inserisci il testo in chiaro in AES, esso subisce quattro operazioni di miscelazione in un round. Basato sulla lunghezza della chiave di crittografia, il numero di round varierà.

Il numero di round in cui avviene un processo di miscelazione in AES sono:

  • 10 round per chiave di crittografia AES a 128 bit
  • 12 round per chiave di crittografia AES a 192 bit
  • 14 round per chiave di crittografia AES a 256 bit

In poche parole, se il testo in chiaro è X, l'algoritmo AES produrrà Y nel primo round, Z nel secondo round. Miscelerà l'output fino a quando non avrà completato il numero totale di round, producendo l'output finale come testo cifrato. Ricorda che in ogni round, esegue quattro operazioni di miscelazione.

Con le capacità di calcolo moderne, ci vorrebbe quasi un'eternità per un attaccante per decifrare la crittografia AES a 256 bit.

Data Encryption Standard e Triple Data Encryption Standard

Data Encryption Standard (DES) ha svolto un ruolo fenomenale nello sviluppo iniziale della crittografia. Aveva una lunghezza della chiave corta di 64 bit, che ora è insicura, ma era piuttosto favorevole nel recente passato (gli anni '70).

DES è un algoritmo di cifratura a blocchi che utilizza una dimensione di blocco di 64 bit. Prende una stringa di testo in chiaro a lunghezza fissa e la converte in una stringa di testo cifrato della stessa lunghezza, utilizzando funzioni matematiche complesse.

Sebbene DES avesse una lunghezza della chiave di 64 bit, l'algoritmo di crittografia utilizzava solo 56 bit. Gli 8 bit rimanenti fungevano da bit di controllo. La crittografia DES non offriva una sicurezza sufficiente contro gli attacchi di forza bruta ed è stata successivamente sostituita dal Triple Data Encryption Standard (3DES) e poi da AES.

3DES è stato introdotto per combattere l'aumento degli attacchi di forza bruta su DES. Gli utenti di DES precedenti non erano favorevoli a cambiare l'algoritmo di crittografia, considerando l'alto costo e il tempo esteso che ci sarebbe voluto per effettuare la transizione. 3DES ha permesso a tali utenti di proteggere meglio i loro dati senza apportare un cambiamento completo nel cifrario.

3DES applica la crittografia DES tre volte per aumentarne la forza utilizzando una lunghezza totale della chiave di 168 bit.

Oltre ad AES, DES e 3DES, altri algoritmi di crittografia simmetrica popolari sono Twofish, Blowfish, IDEA, RC4 e molti altri.

Velocità vs. sicurezza: Qual è la tua scelta?

La crittografia simmetrica è favorevole dove la velocità di crittografia è una priorità, e la crittografia asimmetrica è adatta per scopi in cui la sicurezza rivendica una priorità più alta rispetto alla velocità.

Criptare un messaggio fornisce sicurezza indipendentemente dal tipo di crittografia che usi, simmetrica o asimmetrica. È solo che il livello di sicurezza (difficoltà nel decifrare la chiave di crittografia) può variare.

Puoi utilizzare sia la crittografia simmetrica che asimmetrica per proteggere meglio le informazioni. Ad esempio, in SSL/TLS, la crittografia asimmetrica viene utilizzata per verificare le firme digitali, e il processo di crittografia effettivo avviene tramite crittografia simmetrica.

Scopri di più sui software di certificati SSL e TLS e su come puoi sfruttarli per garantire una sicurezza robusta e conformarti agli standard attuali dei motori di ricerca.

Sagar Joshi
SJ

Sagar Joshi

Sagar Joshi is a former content marketing specialist at G2 in India. He is an engineer with a keen interest in data analytics and cybersecurity. He writes about topics related to them. You can find him reading books, learning a new language, or playing pool in his free time.