Come funziona SSL? | Certificati SSL e TLS

SSL, noto anche come TLS, utilizza la crittografia per proteggere i dati degli utenti, autenticare l'identità dei siti Web e impedire agli autori di attacchi di manomettere le comunicazioni Internet.

Obiettivi di apprendimento

Dopo aver letto questo articolo sarai in grado di:

  • Scoprire cosa significa SSL/TLS
  • Spiegare come SSL/TLS mantiene sicure le comunicazioni Internet
  • Scoprire come ottenere un certificato SSL e come i certificati SSL mantengono i dati degli utenti al sicuro

Argomenti correlati


Vuoi saperne di più?

Registrati per ricevere articoli didattici sulla sicurezza da Cloudflare.

Fai riferimento all'Informativa sulla privacy di Cloudflare per scoprire come raccogliamo ed elaboriamo i tuoi dati personali.

Copia link dell'articolo

Che cosa è l’SSL?

SSL sta per Secure Sockets Layer e si riferisce a un protocollo per la crittografia, la protezione e l'autenticazione delle comunicazioni su Internet. Sebbene SSL sia stato sostituito da un protocollo aggiornato chiamato TLS (Transport Layer Security) qualche tempo fa, "SSL" è ancora un termine comunemente usato per questa tecnologia.

Il caso d'uso principale di SSL/TLS è la protezione delle comunicazioni tra un client e un server, ma può anche proteggere e-mail, VOIP e altre comunicazioni su reti non protette.

Registrati
Migliora le prestazioni con la CDN di Cloudflare

Come funziona SSL/TLS?

Questi sono i principi essenziali da conoscere per comprendere il funzionamento di SSL/TLS:

  • La comunicazione sicura inizia con un handshake TLS, in cui le due parti comunicanti aprono una connessione sicura e si scambiano la chiave pubblica
  • Durante l'handshake TLS, le due parti generano le chiavi di sessione e queste ultime crittografano e decrittografano tutte le comunicazioni dopo l'handshake TLS
  • Diverse chiavi di sessione vengono utilizzate per crittografare le comunicazioni in ogni nuova sessione
  • TLS garantisce che la parte sul lato server, o il sito Web con cui l'utente sta interagendo, sia effettivamente chi afferma di essere
  • TLS garantisce inoltre che i dati non siano stati alterati, poiché nelle trasmissioni è incluso un codice di autenticazione dei messaggi (MAC, Message Authentication Code)

Con TLS, vengono crittografati sia i dati HTTP che gli utenti inviano a un sito Web (facendo clic, compilando moduli ecc.) sia i dati HTTP che i siti Web inviano agli utenti. I dati crittografati devono essere decrittografati dal destinatario utilizzando una chiave.

Whitepaper
Aumenta al massimo la potenza di TLS

L'handshake TLS

Le sessioni di comunicazione TLS iniziano con un handshake TLS. Un handshake TLS utilizza quella che viene definita crittografia asimmetrica, il che significa che due chiavi diverse vengono utilizzate alle due estremità della conversazione. Questo è possibile grazie a una tecnica chiamata crittografia a chiave pubblica.

Nella crittografia a chiave pubblica vengono utilizzate due chiavi: una chiave pubblica, che il server rende disponibile pubblicamente, e una chiave privata, che viene mantenuta segreta e utilizzata solo sul lato server. I dati crittografati con la chiave pubblica possono essere decrittografati solo con la chiave privata.

Durante l'handshake TLS, il client e il server utilizzano le chiavi pubbliche e private per scambiare dati generati casualmente, e questi dati casuali vengono utilizzati per creare nuove chiavi per la crittografia, chiamate chiavi di sessione.

Crittografia simmetrica con chiavi di sessione

A differenza della crittografia asimmetrica, nella crittografia simmetrica le due parti in una conversazione usano la stessa chiave. Dopo l'handshake TLS, entrambe le parti utilizzano la stessa chiave di sessione per la crittografia. Una volta che la chiave di sessione è in uso, le chiavi pubbliche e private non vengono più utilizzate. Le chiavi di sessione sono chiavi temporanee che non vengono utilizzate nuovamente una volta terminata la sessione. Verrà creato un nuovo set casuale di chiavi di sessione per la sessione successiva.

crittografia simmetrica

Autenticazione del server di origine

Le comunicazioni TLS dal server includono un codice di autenticazione dei messaggi, o MAC (Message Authentication Code), che è una firma digitale che conferma che la comunicazione ha avuto origine dal sito Web effettivo. Questo autentica il server, prevenendo gli attacchi di interposizione e lo spoofing del dominio. Garantisce inoltre che i dati non siano stati alterati durante il transito.

Cos'è un certificato SSL?

Un certificato SSL è un file installato sul server di origine di un sito Web. È semplicemente un file di dati contenente la chiave pubblica e l'identità del proprietario del sito Web, insieme ad altre informazioni. Senza un certificato SSL, il traffico di un sito Web non può essere crittografato con TLS.

Tecnicamente, qualsiasi proprietario di un sito Web può creare il proprio certificato SSL e tali certificati sono chiamati certificati autofirmati. Tuttavia, i browser non considerano attendibili i certificati autofirmati quanto il certificato SSL emesso da un'autorità di certificazione.

In che modo un sito Web ottiene un certificato SSL?

I proprietari dei siti Web devono ottenere un certificato SSL da un'autorità di certificazione e quindi installarlo sul proprio server Web (spesso un host Web può gestire questo processo). Un'autorità di certificazione è una parte esterna che può confermare che il proprietario del sito Web sia chi dice di essere. Conserva una copia dei certificati che emette.

È possibile ottenere un certificato SSL gratuito?

Molte autorità di certificazione addebitano un costo per i certificati SSL. Per contribuire a rendere Internet più sicuro, Cloudflare offre certificati SSL gratuiti. Cloudflare è stata la prima azienda di sicurezza e prestazioni di Internet a farlo. Cloudflare ha anche lavorato per ottimizzare le prestazioni SSL/TLS in modo che il passaggio dei siti Web da HTTP a HTTPS non abbia alcun impatto sulle prestazioni. Per ulteriori informazioni sulle opzioni SSL con Cloudflare, consulta la nostra documentazione per gli sviluppatori.

Qual è la differenza tra HTTP e HTTPS?

La S in "HTTPS" sta per "sicuro". HTTPS è solo HTTP con SSL/TLS. Un sito Web con un indirizzo HTTPS ha un certificato SSL legittimo emesso da un'autorità di certificazione, e il traffico da e verso tale sito Web viene autenticato e crittografato con il protocollo SSL/TLS.

Per esortare Internet nel suo insieme a passare al più sicuro HTTPS, molti browser Web hanno iniziato a contrassegnare i siti Web HTTP come "non sicuri" o "non protetti". Pertanto, HTTPS non solo è essenziale per mantenere gli utenti e i loro dati al sicuro, ma è anche diventato essenziale per creare fiducia presso gli utenti.