Curious TechieDev Toolbox
Tutte le Guide/Crittografia9 min read

Cos’è SSL/TLS e come funzionano i certificati HTTPS?

Guida tecnica su TLS 1.3, handshake crittografici, catene di certificati X.509 e registri Certificate Transparency.

Punti Chiave
  • TLS (Transport Layer Security) è il moderno successore di SSL e protegge le comunicazioni web sotto protocollo HTTPS.
  • Garantisce tre proprietà essenziali: Riservatezza (cifratura simmetrica), Integrità (MAC) e Autenticità (certificati X.509).
  • TLS 1.3 (RFC 8446) ottimizza l’handshake a 1-RTT ed elimina suite di cifratura obsolete e vulnerabili.
  • L’infrastruttura PKI si basa su catene di fiducia ancorate ad Autorità di Certificazione (CA) radice.
  • Certificate Transparency (CT, RFC 6962) impone la registrazione pubblica su alberi di Merkle di tutti i certificati.

1. Differenza tra SSL e TLS

Sebbene il termine SSL sia ancora usato nel linguaggio comune, le versioni 2.0 e 3.0 sono state deprecate anni fa per gravi falle di sicurezza.

Tutte le connessioni web cifrate moderne sfruttano TLS (Transport Layer Security 1.3, RFC 8446).

2. L’Handshake TLS 1.3 (1-RTT)

TLS 1.3 riduce la negoziazione a un singolo round-trip (1-RTT) grazie a ECDHE:

1. Client Hello: Il client invia le cipher suite supportate e la chiave ECDHE.
2. Server Hello: Il server sceglie la suite e restituisce certificato X.509, chiave e firma.
3. Segreto Derivato: Entrambe le parti calcolano la chiave di sessione simmetrica.
4. Dati Cifrati: Ha inizio immediato lo scambio sicuro di pacchetti HTTP.

3. Certificati X.509 e Catena di Fiducia CA

L’autenticità del server viene accertata attraverso una catena gerarchica di firme digitali:

  • Root CA: Certificato radice autofirmato preinstallato nel trust store del sistema.
  • Intermediate CA: Autorità delegata a rilasciare certificati senza esporre la chiave Root.
  • Certificato Server (Foglia): Certificato finale che lega il dominio alla chiave pubblica del server.

4. Registri di Certificate Transparency (CT)

La norma RFC 6962 impone l’iscrizione di ogni certificato pubblico in registri Merkle tree verificabili.

I browser rifiutano le connessioni HTTPS prive di timestamp SCT validi.

5. Checklist di Hardening TLS per la Produzione

1. Imporre solo TLS 1.3 / 1.2: Disabilita completamente TLS 1.0, 1.1 e cipher suite obsolete.
2. Abilitare HSTS con Preload: Invia Strict-Transport-Security: max-age=31536000; includeSubDomains; preload.
3. Automatizzare i rinnovi ACME: Impiega client automatici (Let’s Encrypt) per rinnovare i certificati ogni 60 giorni.