TLS 1.2 vs TLS 1.3 — Come capire quale usa il tuo certificato SSL
Oggi quasi tutti i siti web usano HTTPS, ma pochi sanno quale versione di TLS (Transport Layer Security) è realmente attiva sul proprio server.
La differenza tra TLS 1.2 e TLS 1.3 non è solo una sigla: influenza sicurezza, compatibilità e velocità di caricamento.
In questo articolo vediamo come scoprirlo e come interpretare i dettagli del certificato.
Perché è importante la versione TLS
Ogni connessione HTTPS si basa su un protocollo TLS che protegge i dati tra browser e server.
Le versioni più vecchie, come TLS 1.0 e TLS 1.1, sono ormai deprecate e insicure.
Oggi gli standard principali sono:
- TLS 1.2: stabile, compatibile con quasi tutti i dispositivi e software.
- TLS 1.3: più moderno, rapido e sicuro grazie a handshake semplificato e cifrari aggiornati.
Se il tuo sito o server supporta TLS 1.3, stai già garantendo un livello di sicurezza e performance superiore.
Come verificare la versione TLS del tuo server
1️⃣ Con openssl s_client
(metodo rapido)
Da terminale o shell, puoi testare manualmente la connessione forzando la versione TLS:
# Test TLS 1.2
openssl s_client -connect nomehost:443 -tls1_2
# Test TLS 1.3
openssl s_client -connect nomehost:443 -tls1_3
Se la connessione va a buon fine (vedrai “CONNECTED”), quella versione è supportata.
Se ricevi un errore come handshake failure
o unsupported protocol
, quella versione non è abilitata.
Per scoprire quale versione TLS viene negoziata di default:
openssl s_client -connect nomehost:443 | grep "Protocol"
Output tipico:
Protocol : TLSv1.3
2️⃣ Con nmap
(analisi completa)
Se vuoi un report dettagliato di tutte le versioni TLS e cipher supportate, usa:
nmap --script ssl-enum-ciphers -p 443 nomehost
Il risultato mostrerà le versioni supportate (1.0, 1.1, 1.2, 1.3) e i relativi algoritmi di cifratura.
È un ottimo modo per avere una panoramica di compatibilità e sicurezza.
3️⃣ Dal browser
Apri il sito, clicca sull’icona del lucchetto accanto all’URL e scegli Ispeziona connessione o la scheda Sicurezza.
Troverai una riga come questa:
The connection uses TLS 1.3 (AES_256_GCM_SHA384)
È il metodo più immediato per verificare la versione TLS senza usare la riga di comando.
Capire l’algoritmo di firma del certificato
Un’altra informazione importante riguarda la firma del certificato.
Puoi verificarla con questo comando:
openssl x509 -in certificato.crt -text -noout | grep "Signature Algorithm"
Otterrai un risultato come:
Signature Algorithm: sha256WithRSAEncryption
Ecco cosa significa:
- sha1WithRSAEncryption → deprecato e insicuro (non più accettato dai browser moderni).
- sha256WithRSAEncryption → standard attuale, compatibile e sicuro.
- sha384WithRSAEncryption → ottimo livello di sicurezza.
- ecdsa-with-SHA256 → moderno e molto efficiente (usa chiavi più leggere e handshake rapido).
Attenzione: l’algoritmo di firma del certificato non determina la versione TLS, ma solo come il certificato è stato firmato.
La versione TLS effettiva dipende dalla configurazione del server (es. ssl_protocols
in Nginx o SSLProtocol
in Apache).
⚙️ Esempi di configurazione sicura
Nginx
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:
ECDHE-RSA-AES256-GCM-SHA384:
ECDHE-ECDSA-CHACHA20-POLY1305:
ECDHE-RSA-CHACHA20-POLY1305:
ECDHE-ECDSA-AES128-GCM-SHA256:
ECDHE-RSA-AES128-GCM-SHA256';
ssl_session_cache shared:SSL:50m;
ssl_session_timeout 1d;
ssl_stapling on;
ssl_stapling_verify on;
Apache
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE+AESGCM:ECDHE+CHACHA20:!aNULL:!MD5:!RC4
SSLHonorCipherOrder off
SSLUseStapling on
Entrambe le configurazioni abilitano TLS 1.2 e 1.3, disabilitando le versioni obsolete.
❓ Domande frequenti
La versione TLS dipende dal certificato?
No. La versione TLS dipende dal server e dal browser, non dal certificato.
Il certificato influenza solo identità, catena e tipo di firma.
Posso forzare solo TLS 1.3?
Sì, ma solo se tutti i tuoi utenti e dispositivi lo supportano.
In caso contrario, mantieni anche TLS 1.2 per compatibilità.
Il mio certificato mostra “sha1WithRSAEncryption”. Cosa faccio?
Rigenera subito il certificato con firma sha256WithRSAEncryption o, meglio ancora, ecdsa-with-SHA256.
SHA-1 è considerato obsoleto e insicuro.
Conclusione
Verificare la versione TLS e la firma del certificato è un passaggio semplice ma essenziale per chi gestisce siti web o server.
Un piccolo controllo con openssl
o nmap
ti permette di sapere se stai offrendo il massimo livello di sicurezza ai tuoi utenti.
Se il tuo sito usa ancora TLS 1.0 o certificati SHA-1, è tempo di aggiornare.
Parole chiave SEO:
TLS 1.2, TLS 1.3, verifica TLS, certificato SSL, OpenSSL, nmap, sha256WithRSAEncryption, ecdsa, configurazione Nginx, sicurezza HTTPS
Descrizione SEO:
Scopri come verificare se un server usa TLS 1.2 o 1.3 con OpenSSL e Nmap, e come interpretare la firma del certificato (SHA256, RSA, ECDSA).
Frase chiave:
verificare se il server usa TLS 1.2 o TLS 1.3 con OpenSSL