Vai al contenuto principale

Blog/L'ABC della sicurezza online/

Cos'è la crittografia e come funziona?

Lukas Grigas

Autore di contenuti sulla cybersicurezza

Cos'è la crittografia e come funziona

La crittografia è alla base di quasi ogni sistema digitale in uso oggi, dai siti web sicuri alle app di messaggistica, fino al vault delle password sui telefoni cellulari. È il meccanismo che trasforma le informazioni leggibili in dati protetti e le rende di nuovo accessibili quando sistemi autorizzati hanno bisogno di accedervi. Facciamo ora un passo indietro e vediamo cos'è in concreto la crittografia, come il testo in chiaro viene trasformato in testo cifrato, perché le chiavi sono fondamentali e dove possiamo trovare la crittografia nella tecnologia di tutti i giorni, oltre ai motivi per cui è diventata uno standard per la privacy, la sicurezza e la conformità.

Cos'è la crittografia?

La crittografia è il processo che trasforma i dati leggibili in un formato cifrato e illeggibile, per prevenire gli accessi non autorizzati. Durante il processo di crittografia, un algoritmo e una chiave segreta trasformano le informazioni in un formato illeggibile chiamato testo cifrato. Solo chi dispone della chiave di decrittazione corretta può riportare i dati allo stato originale leggibile (testo in chiaro).

Oggi, la crittografia dei dati viene utilizzata per proteggere le informazioni sensibili in due principali contesti:

  • I dati inattivi. I file su dispositivi di archiviazione, i record dei database, i backup e i vault delle password vengono salvati in forma criptata, in modo tale che un portatile rubato o un'immagine copiata di un server non espongano i dati interni.

  • I dati in transito. Quando si visita un sito web tramite HTTPS, si invia un messaggio criptato o ci si connette tramite una VPN, la crittografia di rete impedisce ai soggetti esterni di leggere i dati che viaggiano tra il dispositivo e il servizio.

Dato che la crittografia e la decrittazione sono due fasi dello stesso processo, si usa spesso il termine "metodo di crittografia" per descrivere l'intero ciclo.

Testo in chiaro, testo cifrato e chiavi

Il processo di crittografia segue in genere questo schema:

  1. Si parte dal testo in chiaro, che può essere ad esempio una password, un documento o i dati della carta di pagamento di un cliente.

  2. Un algoritmo di crittografia (ad esempio l'Advanced Encryption Standard o una tecnica moderna come l'XChaCha20) combina quindi quei dati in chiaro con una chiave crittografica.

  3. Ciò che si ottiene è un testo cifrato, ovvero dati criptati che appaiono sotto forma di stringhe casuali.

  4. In un secondo momento, la chiave di decrittazione corrispondente applica il processo inverso ai dati, decriptandoli e ripristinando le informazioni originarie.

Lo stesso principio si applica sia alla protezione di un singolo messaggio criptato, sia alla crittografia completa dei database su disco e ai sistemi di crittografia utilizzati dai provider di archiviazione sul cloud.

Cosa accade ai dati quando vengono criptati?

Quando i dati vengono criptati:

  • I bit effettivi presenti sul disco o in transito vengono trasformati in testo cifrato.

  • Le applicazioni che dispongono delle chiavi di crittografia corrette decriptano i dati in tempo reale quando ce n'è bisogno.

  • Anche qualora un aggressore riuscisse a copiare i file o intercettare il traffico, avrebbe comunque accesso esclusivamente ai dati criptati, non a informazioni sensibili come password, numeri di carte di pagamento o e-mail leggibili.

È per questo che oggi la crittografia è integrata nella maggior parte delle tecnologie, dai protocolli SSL (Secure Sockets Layer) e TLS (Transport Layer Security) utilizzati sul web, alla crittografia del disco degli smartphone e ai gestori delle password.

Perché la crittografia è importante?

Persino per chi ha competenze avanzate, è difficile rendersi conto di quanto la vita quotidiana si basi su meccanismi di crittografia invisibili. La crittografia è alla base di quattro aree fondamentali: privacy, sicurezza, integrità dei dati e conformità.

Privacy

In assenza della crittografia, il traffico tra il dispositivo e il servizio risulterebbe leggibile da chiunque (a patto che disponga delle giuste competenze tecniche). Quando i siti web utilizzano il TLS anziché i protocolli SSL legacy e le app criptano i dati prima dell'invio, i soggetti esterni (inclusi gli utenti malintenzionati e i criminali informatici) vedono solo dei dati cifrati e non le informazioni sui messaggi, le ricerche o i dati di accesso.

Sui dispositivi, la crittografia del disco e dei database protegge i dati sensibili, quali gli appunti, le foto e le voci dei vault delle password. Se un telefono o un computer viene rubato, un sistema efficace di blocco dello schermo e la crittografia del dispositivo possono impedire l'accesso ai dati personali.

Sicurezza

La maggior parte delle violazioni più gravi riguarda i dati sensibili come gli hash delle password, i token di accesso, i dati personali o le informazioni relative alle carte di pagamento. La combinazione di una crittografia avanzata dei dati e di una gestione accurata delle chiavi riduce i fattori di rischio quando qualcosa va storto:

  • Anche una copia dell'immagine del server contiene solo dei dati criptati, anziché dei record in chiaro.

  • Il traffico che viene intercettato dalla crittografia di rete risulta inutilizzabile senza le chiavi giuste.

  • Gli attacchi di forza bruta diretti ad algoritmi di crittografia scelti ad hoc e chiavi lunghe diventano impraticabili.

Gli aggressori possono comunque tentare degli attacchi di forza bruta contro le password più deboli o dei cifrari obsoleti, ma adottando delle tecniche di crittografia moderne e gestendo correttamente le chiavi, le organizzazioni e gli utenti renderebbero il costo di questi attacchi di gran lunga superiore al valore dei potenziali dati sottratti.

Integrità dei dati

La crittografia, di per sé, nasconde i contenuti. Se affiancata a codici di autenticazione e a metodi moderni come la crittografia autenticata, permette inoltre di:

  • Rilevare se qualcuno ha modificato dei dati in transito.

  • Garantire che il messaggio inviato dal mittente e quello ricevuto dal destinatario coincidano.

  • Preservare l'integrità dei dati per i backup e la crittografia dei database.

Protocolli come il TLS utilizzano sia la crittografia sia l'autenticazione dei messaggi, in modo che il browser possa verificare se il testo cifrato è stato alterato prima di decriptare i dati.

Conformità

Oggi, nella maggior parte dei settori, l'adozione di una crittografia solida è ormai vista come un requisito essenziale per la sicurezza dei dati:

  • Le normative sui pagamenti richiedono alle organizzazioni di criptare i dati delle carte di pagamento dei clienti, in particolare quando sono inattivi.

  • In ambito sanitario e finanziario, i regolamenti prevedono che i dati sensibili presenti nei database, nei backup e nei registri di sistema vengano criptati.

  • Molti standard del National Institute of Standards and Technology (NIST) suggeriscono l'uso di cifrari moderni come l'Advanced Encryption Standard, invece di soluzioni più datate come il Data Encryption Standard e il Triple Data Encryption Standard.

Per le aziende, questo significa che la gestione delle chiavi di crittografia e delle pratiche generali a essa correlate non sono opzionali, ma parte integrante delle proprie iniziative per essere conformi alle normative e prevenire le sanzioni.

La crittografia è una forma di tutela o qualcosa di potenzialmente dannoso?

La crittografia, così come ogni tecnologia, di per sé è semplicemente uno strumento, che può essere usato a fin di bene o abusato, a seconda di come viene utilizzato. I criminali informatici possono nascondere il proprio traffico utilizzando lo stesso software di crittografia che viene impiegato per proteggere gli utenti. Nonostante ciò, per utenti e organizzazioni la crittografia rappresenta in larga misura una forza positiva: protegge i dati sensibili, supporta la gestione sicura delle informazioni e consente alle persone di avere un controllo concreto su chi può accedere a cosa.

Cos'è una chiave crittografica?

Una chiave di crittografia è una chiave crittografica, ovvero una lunga stringa random di bit generata da software o hardware, che controlla il processo di crittografia e decrittazione. Quando si fa riferimento a chiavi a 128 bit o 256 bit, quel numero indica la lunghezza della chiave espressa in bit.

Vediamo alcuni aspetti importanti:

  • Le chiavi più lunghe rendono gli attacchi di forza bruta molto più difficili, perché il numero di combinazioni possibili aumenta enormemente.

  • Le chiavi di crittografia devono essere generate con un elevato livello di casualità, affinché non possano essere indovinate o riprodotte dagli utenti malintenzionati.

  • Nei sistemi di crittografia moderni, le chiavi non vengono quasi mai inserite manualmente e sono invece generate e archiviate da software.

I tipi di crittografia moderna

Esistono molti tipi di crittografia, ma la maggior parte delle tecniche moderne rientra in due grandi categorie: la crittografia simmetrica e la crittografia asimmetrica. Molti sistemi di crittografia le combinano entrambe.

Crittografia simmetrica (o crittografia a chiave privata)

crittografia simmetrica

La crittografia simmetrica utilizza la stessa chiave sia per la crittografia sia per la decrittazione. In questo contesto, la chiave, spesso, viene chiamata chiave segreta o chiave privata.

Le principali caratteristiche sono:

  • Velocità. Gli algoritmi di crittografia simmetrica sono rapidi ed efficienti, il che li rende ideali per i file di grandi dimensioni, lo streaming video o la crittografia del disco.

  • Segreto condiviso. Dato che mittente e destinatario devono conoscere in anticipo la stessa chiave privata, si parla anche di "crittografia a chiave simmetrica".

  • Algoritmi di crittografia comuni. Tra gli esempi rientrano l'Advanced Encryption Standard (AES), i più datati Data Encryption Standard e Triple Data Encryption Standard, oltre ai cifrari a flusso più recenti, come ChaCha20 e XChaCha20.

I cifrari a blocchi come l'AES rappresentano i classici modelli di crittografia simmetrica a blocchi e vengono spesso indicati come una famiglia di cifrari a blocchi a chiave simmetrica. I cifrari a flusso come il ChaCha20, invece, criptano i dati un elemento alla volta, anziché in blocchi fissi.

Quando si parla di un algoritmo AES sicuro o più sicuro, in genere ci si riferisce all'uso dell'AES con chiavi più lunghe e modalità operative moderne.

Crittografia asimmetrica (o crittografia a chiave pubblica)

crittografia asimmetrica

La crittografia asimmetrica, detta anche crittografia a chiave pubblica, utilizza chiavi separate:

  • Una chiave pubblica che può essere resa disponibile a chiunque.

  • Una chiave privata corrispondente, nota solo al proprietario.

Ciò che viene criptato con una chiave può essere decriptato esclusivamente con la chiave corrispondente. Questa caratteristica consente diversi schemi di utilizzo particolarmente efficaci:

  • La chiave pubblica può essere resa disponibile pubblicamente, così che chiunque possa inviare all'utente un messaggio criptato.

  • La chiave privata viene mantenuta al sicuro, così che solo chi la detiene possa decriptare i dati.

  • Dato che la chiave pubblica non può essere utilizzata per decriptare i dati, la sua condivisione risulta più sicura.

Tra gli algoritmi a chiave pubblica più diffusi rientrano l'RSA, la crittografia su curve ellittiche (ECC) e i meccanismi di scambio delle chiavi basati su Diffie-Hellman.

In termini pratici, la crittografia a chiave pubblica è più lenta degli algoritmi di crittografia simmetrica, motivo per cui viene raramente utilizzata per cifrare grandi volumi di dati. La crittografia a chiave pubblica viene invece impiegata per:

  • Consentire lo scambio sicuro di chiavi simmetriche su reti non attendibili.

  • Verificare le firme digitali.

  • Stabilire l'attendibilità nei protocolli come il TLS.

Crittografia ibrida nei protocolli moderni

La maggior parte delle forme di crittografia utilizzate online è in realtà basata sulla crittografia ibrida:

  1. Client e server utilizzano la crittografia asimmetrica per autenticarsi e concordare le chiavi simmetriche condivise.

  2. Una volta completato l'handshake, la comunicazione passa alla crittografia simmetrica veloce per il resto della sessione.

  3. I protocolli come il Transport Layer Security utilizzano quindi tali chiavi sia per la crittografia, sia per la decrittazione dei dati scambiati.

Questo modello combina i punti di forza di entrambi gli approcci: lo scambio flessibile delle chiavi unito a una sicurezza robusta e a cifrari simmetrici ad alte prestazioni.

Quale tipo di crittografia è più sicuro?

Invece di chiedersi quale sia il tipo di crittografia "più sicuro", è più corretto valutare quale metodo sia il più adatto in un dato contesto.

  • Per volumi di dati elevati, come nel caso di backup, streaming di video di lunga durata o della crittografia dei database, la crittografia simmetrica rappresenta la scelta più pratica. La crittografia a chiave simmetrica con AES o XChaCha20 è veloce e, se implementata correttamente, offre un elevato livello di sicurezza.

  • Per l'identità, lo scambio delle chiavi e le firme digitali, la crittografia asimmetrica e la crittografia a chiave pubblica sono fondamentali. Consentono a soggetti che non si conoscono di stabilire canali sicuri su Internet senza doversi prima incontrare di persona.

Nella pratica, i sistemi di crittografia non impongono quasi mai una scelta esclusiva tra crittografia simmetrica e asimmetrica. Gran parte dei metodi di crittografia moderna impiegano:

  • La crittografia asimmetrica per instaurare la fiducia e scambiare le chiavi.

  • I cifrari simmetrici per proteggere i dati per il resto della sessione.

  • Meccanismi aggiuntivi per garantire l'integrità dei dati e una gestione sicura delle chiavi.

Per gli utenti più esperti, la scelta più sicura è quasi sempre quella di affidarsi ad algoritmi di crittografia ampiamente testati e diffusi, come l'Advanced Encryption Standard o i moderni cifrari a flusso, invece di crearne di nuovi.

In che modo la crittografia di NordPass contribuisce a incrementare la tua sicurezza online?

Password, passkey e dati delle carte di pagamento rientrano tra le informazioni più sensibili che possiedi. Se un utente malintenzionato riesce ad accedere agli account protetti da questi dati è in grado di reimpostare le credenziali, sottrarre fondi o assumere la tua identità. Un gestore delle password offre un modo semplice e affidabile per proteggere i dati sensibili, senza doverli memorizzare tutti.

NordPass si basa su tecniche di crittografia moderne, in modo tale che il vault rimanga protetto anche qualora i dati criptati venissero copiati da un dispositivo o da un server.

XChaCha20: crittografia moderna per il tuo vault delle password

NordPass utilizza l'algoritmo XChaCha20 per criptare il tuo vault delle password. XChaCha20 è un algoritmo a chiave simmetrica:

  • Utilizza un'unica chiave simmetrica per codificare e decodificare i dati, proprio come l'AES.

  • Si tratta di un cifrario a flusso a 256 bit, non di un cifrario a blocchi, che crittografa ogni dato in modo continuo.

  • Estende il nonce, ovvero il valore che non deve mai ripetersi nella stessa chiave, riducendo il rischio di errori che possono indebolire la crittografia di rete.

Nella pratica, ciò significa che gli elementi del vault, come i dati di login, gli appunti sicuri, le informazioni sulle carte di pagamento e altri segreti, vengono archiviati come dati criptati impiegando un metodo di crittografia moderno, progettato per offrire velocità e sicurezza. Inoltre, la password principale non viene mai memorizzata sotto forma di chiave crittografica. Viene invece utilizzata per derivare una chiave crittografica che sblocca il vault in locale. Di conseguenza, anche se il file del vault viene sottratto, gli aggressori dovranno comunque violare una crittografia altamente avanzata e ricorrere ad attacchi di forza bruta diretti alle chiavi e alle password.

Prova NordPass, non te ne pentirai

Se vuoi proteggere i tuoi dati sensibili, come le credenziali di accesso, gli appunti personali e le informazioni di pagamento, con una crittografia all'avanguardia, un gestore delle password rappresenta uno degli aggiornamenti più semplici che puoi adottare.

Il gestore delle password di NordPass offre funzionalità come la condivisione sicura degli elementi, oltre a strumenti aggiuntivi che aiutano a individuare le password deboli o riutilizzate prima che lo facciano gli aggressori. Abbinato a tecniche di crittografia moderne come l'XChaCha20, ti offre un metodo pratico da implementare nella tua routine di ogni giorno per proteggere la tua vita digitale, evitando sia la gestione manuale attraverso i fogli di calcolo, sia lo sforzo di dover memorizzare decine di password complesse.