✓Descrivere l’architettura di TLS distinguendo Handshake Protocol e Record Protocol, e spiegare la Perfect Forward Secrecy
✓Confrontare TLS 1.2 e TLS 1.3 indicando le differenze principali in termini di prestazioni e sicurezza
✓Spiegare come OpenVPN e WireGuard usano TLS/crittografia moderna per creare tunnel VPN a livello applicativo
✓Classificare i protocolli di sicurezza per livello OSI e spiegare come si combinano in scenari reali (sicurezza multilivello)
📄
Slides
TLS, OpenVPN, WireGuard e sicurezza multilivello
Sicurezza oltre il livello Network
Nelle lezioni precedenti abbiamo studiato come IPsec protegga il traffico al livello Network (livello 3 OSI), garantendo riservatezza e integrità di tutti i pacchetti IP indipendentemente dall’applicazione. Ma la sicurezza delle comunicazioni non si realizza solo a questo livello.
Esistono protocolli che proteggono le comunicazioni a livelli superiori dello stack OSI, ognuno con caratteristiche, ambiti di applicazione e modelli di fiducia diversi:
Livello OSI
Protocollo
Cosa protegge
3 — Network
IPsec
Tutti i pacchetti IP — tutti i protocolli superiori ne beneficiano automaticamente
4+7 — Tra Trasporto e Applicativo
TLS
Una specifica sessione applicativa (HTTPS, SMTP, IMAP, API REST)
7 — Applicativo
PGP, Kerberos
Il contenuto del messaggio o l’identità dell’utente — indipendente dal canale
📌 Il principio chiave della sicurezza a strati
Se un protocollo di livello inferiore protegge il traffico, tutti i protocolli di livello superiore che viaggiano su di esso beneficiano automaticamente di quella protezione. Ma l’opposto non vale: TLS protegge solo la sessione HTTP specifica, non l’intero traffico IP della macchina.
TLS — Transport Layer Security
TLS (Transport Layer Security) è il protocollo crittografico che oggi garantisce la sicurezza della stragrande maggioranza delle comunicazioni su Internet. Quando un browser mostra il lucchetto accanto all’indirizzo di un sito, quando invii un’email tramite un server moderno, quando un’app comunica con un’API REST — nella quasi totalità dei casi è TLS che protegge lo scambio.
Collocazione di TLS nello stack OSI
7 — Applicativo (HTTP, SMTP, FTP…)
TLS — si inserisce qui, tra Trasporto e Applicativo
4 — Trasporto (TCP)
3 — Network (IP)
TLS non sostituisce TCP ma si inserisce sopra di esso, creando un canale sicuro punto-punto tra due applicazioni specifiche.
I tre obiettivi fondamentali di TLS
🔒 Riservatezza
I dati vengono cifrati con algoritmi simmetrici (AES, ChaCha20). Anche intercettando tutto il traffico, il contenuto è illeggibile.
✅ Integrità
Ogni messaggio include un codice di autenticazione (MAC/AEAD). Qualsiasi alterazione — anche di un bit — causa il fallimento della verifica.
🪪 Autenticazione
Il client verifica l’identità del server tramite certificato digitale X.509 firmato da una CA fidata. Opzionalmente anche il server autentica il client.
TLS Handshake Protocol — la fase di negoziazione
L’handshake TLS è la fase iniziale della comunicazione. Client e server si presentano, si riconoscono e concordano come proteggere i dati. È il momento più critico: da qui dipende l’intera sicurezza della sessione.
TLS 1.2 — handshake in 2 round trip (2-RTT)
TLS 1.2 Handshake — sequenza messaggi
Client Hello versione TLS, cipher suites, client random
→
Server riceve
Client riceve
←
Server Hello + Certificato + Server Hello Done cipher scelto, server random, certificato X.509
Change Cipher Spec + Finished conferma parametri — ora entrambi usano la chiave di sessione
TLS 1.2 richiede 2 round trip prima di poter inviare dati applicativi — una latenza visibile specialmente su reti mobili.
TLS 1.3 — handshake in 1 round trip (1-RTT)
TLS 1.3 (RFC 8446, 2018) ha semplificato radicalmente l’handshake riducendolo a un solo round trip — dimezzando la latenza di connessione. È lo standard attuale.
TLS 1.3 Handshake — sequenza messaggi (1-RTT)
Client Hello versione TLS, cipher suites, key share DH, client random
→
Server riceve
Sessione stabilita ✅
←
Server Hello + Certificato + Finished tutto in un unico messaggio — il server calcola già la chiave di sessione
In TLS 1.3 il client include già i parametri DH nel primo messaggio. Il server può calcolare la chiave di sessione immediatamente e rispondere con dati cifrati dal primo round trip.
TLS 1.2 vs TLS 1.3 — confronto
Aspetto
TLS 1.2
TLS 1.3
Latenza handshake
2-RTT
1-RTT (0-RTT per resumption)
Cipher suites supportati
Molti, inclusi obsoleti (RC4, MD5)
Solo 5 — tutti sicuri e moderni
Perfect Forward Secrecy
Opzionale
Obbligatoria
Scambio chiavi
RSA o DH (incluso statico)
Solo ECDHE (sempre forward secrecy)
Cifratura handshake
Parziale (molti campi in chiaro)
Quasi tutto cifrato, incluso il certificato
TLS Record Protocol — la protezione dei dati
Terminato l’handshake, entra in funzione il TLS Record Protocol, che si occupa della protezione concreta di ogni messaggio scambiato tra le due applicazioni.
Cosa succede a ogni messaggio applicativo
1
I dati applicativi vengono suddivisi in blocchi di dimensione massima ~16 KB
2
Viene calcolato il codice di autenticazione del messaggio (AEAD: Authenticated Encryption with Associated Data)
3
Il blocco viene cifrato con la chiave simmetrica di sessione (AES-GCM o ChaCha20-Poly1305)
4
Viene aggiunta l’intestazione TLS Record e il messaggio viene inviato tramite TCP
!
Al destinatario avviene il processo inverso. Se anche un solo bit è stato alterato in transito, la verifica AEAD fallisce e la connessione viene terminata
Perfect Forward Secrecy in TLS
📌 Perfect Forward Secrecy (PFS)
In TLS 1.2 era possibile usare RSA per lo scambio delle chiavi: la chiave di sessione veniva cifrata con la chiave pubblica del server e inviata al client. Se un attaccante registrava tutte le comunicazioni cifrate e in futuro riusciva a ottenere la chiave privata del server, poteva decifrare tutto il traffico passato.
Con PFS (obbligatoria in TLS 1.3), le chiavi di sessione vengono generate con ECDHE (Elliptic Curve Diffie-Hellman Ephemeral): parametri temporanei che non vengono mai salvati. Anche compromettendo la chiave privata del server in futuro, le sessioni passate restano indecifrabili perché le chiavi temporanee usate non esistono più.
OpenVPN — VPN a livello applicativo
OpenVPN è una soluzione VPN open source che usa TLS per creare tunnel sicuri. A differenza di IPsec — che opera nel kernel del sistema operativo — OpenVPN opera nello spazio utente tramite un’interfaccia di rete virtuale (tun o tap).
⚠️ Correzione rispetto a descrizioni comuni
OpenVPN viene spesso descritto come un protocollo “di livello applicativo”. È più preciso dire che opera tra il livello Trasporto e il livello Network: usa TLS (livello tra Trasporto e Applicativo) per la negoziazione e la cifratura, ma crea un’interfaccia tun virtuale che opera a livello 3, instradando pacchetti IP attraverso il tunnel. È la sicurezza di TLS applicata al tunneling di rete.
✅ Vantaggi di OpenVPN
▸Funziona su qualsiasi porta TCP o UDP — inclusa la porta 443 di HTTPS. Difficilissimo da bloccare con firewall
▸Configurazione flessibile e molto documentata
▸Supporta certificati digitali X.509 per autenticazione
▸Ampiamente usato sia in ambito aziendale che nei servizi VPN commerciali
⚠️ Limiti di OpenVPN
▸Latenza superiore a IPsec e WireGuard (opera nello spazio utente)
▸Codebase ampia (~70.000 righe) — più difficile da auditare
▸Richiede installazione di client software dedicato
WireGuard — la nuova generazione
WireGuard è un protocollo VPN moderno, progettato con un obiettivo preciso: semplicità massima e prestazioni elevate. Integrato nel kernel Linux dal 2020 e in Windows/macOS dal 2021, sta rapidamente diventando lo standard per le VPN ad alte prestazioni.
WireGuard — caratteristiche principali
Codebase~4.000 righe di codice (vs ~70.000 di OpenVPN) — più facile da verificare e auditare
ProtocolloUDP soltanto — ottimizzato per prestazioni, gestisce la riconnessione automaticamente
ConfigurazioneEstrema semplicità: chiavi pubbliche/private + indirizzo peer — simile a SSH
PrestazioniOpera nel kernel — throughput 3-4x superiore a OpenVPN, latenza vicina a IPsec
Confronto tra le tre soluzioni VPN principali
Aspetto
IPsec
OpenVPN
WireGuard
Livello OSI
Network (L3)
Tra L3 e L7
Network (L3, kernel)
Protocollo transport
ESP/AH (IP 50/51)
TCP o UDP
Solo UDP
Complessità config.
Alta
Media
Bassa
Prestazioni
Ottime
Medie
Ottime
Integrazione Cisco IOS
✅ Nativa
❌ Non nativa
❌ Non nativa
Uso tipico
Enterprise, Cisco, FortiGate
VPN commerciali, PMI
Linux, cloud, nuovi servizi VPN
Sicurezza a livello Applicativo — PGP e Kerberos
Al livello applicativo la protezione viene integrata direttamente nel protocollo o nell’applicazione stessa, indipendentemente dal canale di trasmissione.
PGP — Pretty Good Privacy
Usato per proteggere messaggi di posta elettronica e file. A differenza di TLS o IPsec, PGP non protegge il canale di comunicazione ma il contenuto del messaggio stesso.
Il testo viene cifrato con la chiave pubblica del destinatario prima dell’invio. Può essere decifrato solo dal destinatario con la sua chiave privata — indipendentemente dal server di posta usato.
Usato in: ProtonMail, firma di pacchetti software, GPG su Linux
Kerberos — autenticazione distribuita
Kerberos non cifra il traffico ma gestisce l’autenticazione sicura in ambienti distribuiti. Si basa su un sistema di ticket rilasciati da un KDC (Key Distribution Center).
Un utente si autentica una sola volta con il KDC e riceve un ticket che gli permette di accedere a vari servizi senza reinserire la password — il fondamento del Single Sign-On aziendale.
Usato in: Windows Active Directory, MIT Kerberos, ambienti enterprise
Sicurezza multilivello — visione d’insieme
La sicurezza moderna non è mai affidata a un singolo meccanismo. Nella realtà i diversi livelli di protezione coesistono e si completano. Ecco come si presentano in uno scenario aziendale tipico:
Scenario: dipendente in smart working che accede al gestionale aziendale
L3
IPsec VPNCifra tutto il traffico tra il laptop del dipendente e il gateway aziendale — la rete aziendale è estesa fino a casa
TLS
HTTPSIl browser usa TLS per cifrare la sessione con il gestionale — anche se qualcuno fosse dentro la rete aziendale, non potrebbe leggere i dati
L7
Kerberos/SSOIl gestionale verifica l’identità del dipendente tramite Active Directory con Kerberos — autenticazione sicura senza password in chiaro
L7
PGP (email)I documenti riservati allegati alle email vengono firmati digitalmente con PGP — protezione del contenuto indipendente dal canale
Risultato: anche se un attaccante riuscisse a violare un livello, gli altri restano intatti. IPsec protegge il canale, TLS protegge la sessione applicativa, Kerberos protegge l’identità, PGP protegge i contenuti.
Riepilogo — sicurezza per livello OSI
Livello OSI
Protocollo/Tecnica
Cosa protegge
Esempi d’uso
3 — Network
IPsec (AH, ESP)
Tutti i pacchetti IP — tutti i livelli superiori
VPN Site-to-Site, Remote Access aziendale
Tra 4 e 7
TLS / SSL
Una specifica sessione applicativa
HTTPS, SMTPS, API REST, OpenVPN
7 — Applicativo
PGP / GPG
Il contenuto del singolo messaggio
Email cifrate, firma documenti
7 — Applicativo
Kerberos
L’identità dell’utente — non il traffico
Active Directory, SSO aziendale
📌 Riepilogo — Punti chiave
TLS opera tra il livello Trasporto e quello Applicativo: protegge una specifica sessione, non tutto il traffico IP come IPsec
TLS 1.3 vs TLS 1.2: handshake in 1-RTT invece di 2-RTT, PFS obbligatoria, solo cipher suite sicuri, handshake quasi completamente cifrato
OpenVPN usa TLS per cifrare un tunnel VPN operando nello spazio utente tramite interfaccia tun; WireGuard opera nel kernel con crittografia moderna, ~4.000 righe di codice
PGP protegge il contenuto del messaggio indipendentemente dal canale; Kerberos gestisce l’autenticazione distribuita tramite ticket — non cifra il traffico
La sicurezza moderna è multilivello: IPsec protegge il canale di rete, TLS protegge la sessione applicativa, Kerberos autentica l’identità, PGP protegge i contenuti — livelli complementari e non sostitutivi
Questo sito Web utilizza i cookie per migliorare la tua esperienza.Supponiamo che tu stia bene con questo, ma puoi rinunciare se lo desideri.
Read More
I cookie sono piccoli file di testo che possono essere utilizzati dai siti Web per rendere più efficiente l'esperienza dell'utente.La legge afferma che possiamo archiviare i cookie sul tuo dispositivo se sono rigorosamente necessari per il funzionamento di questo sito.Per tutti gli altri tipi di cookie, abbiamo bisogno del tuo permesso.Questo sito utilizza diversi tipi di cookie.Alcuni cookie sono collocati da servizi di terze parti che appaiono nelle nostre pagine.
I cookie necessari aiutano a rendere utilizzabile un sito Web consentendo funzioni di base come la navigazione di pagina e l\'accesso alle aree sicure del sito Web.Il sito Web non può funzionare correttamente senza questi cookie.
I cookie di marketing vengono utilizzati per tenere traccia dei visitatori sui siti Web.L\'intenzione è quella di visualizzare annunci pertinenti e coinvolgenti per il singolo utente e quindi più preziosi per gli editori e gli inserzionisti di terze parti.
I cookie di analisi aiutano i proprietari di siti Web a capire come i visitatori interagiscono con i siti Web raccogliendo e segnalando informazioni in modo anonimo.
I cookie di preferenza consentono a un sito Web di ricordare le informazioni che cambiano il modo in cui il sito Web si comporta o sembra, come la tua lingua preferita o la regione in cui ti trovi.
I cookie non classificati sono cookie che stiamo classificando, insieme ai fornitori di singoli cookie.
Cookie Settings
Gestisci Consenso
Per fornire le migliori esperienze, utilizziamo tecnologie come i cookie per memorizzare e/o accedere alle informazioni del dispositivo. Il consenso a queste tecnologie ci permetterà di elaborare dati come il comportamento di navigazione o ID unici su questo sito. Non acconsentire o ritirare il consenso può influire negativamente su alcune caratteristiche e funzioni.
Funzionale
Sempre attivo
L'archiviazione tecnica o l'accesso sono strettamente necessari al fine legittimo di consentire l'uso di un servizio specifico esplicitamente richiesto dall'abbonato o dall'utente, o al solo scopo di effettuare la trasmissione di una comunicazione su una rete di comunicazione elettronica.
Preferenze
L'archiviazione tecnica o l'accesso sono necessari per lo scopo legittimo di memorizzare le preferenze che non sono richieste dall'abbonato o dall'utente.
Statistiche
L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente per scopi statistici.L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente per scopi statistici anonimi. Senza un mandato di comparizione, una conformità volontaria da parte del vostro Fornitore di Servizi Internet, o ulteriori registrazioni da parte di terzi, le informazioni memorizzate o recuperate per questo scopo da sole non possono di solito essere utilizzate per l'identificazione.
Marketing
L'archiviazione tecnica o l'accesso sono necessari per creare profili di utenti per inviare pubblicità, o per tracciare l'utente su un sito web o su diversi siti web per scopi di marketing simili.