{"id":31,"date":"2026-06-10T12:34:46","date_gmt":"2026-06-10T12:34:46","guid":{"rendered":"https:\/\/shattered.io\/it\/2026\/06\/10\/https-e-tls\/"},"modified":"2026-06-10T13:35:45","modified_gmt":"2026-06-10T13:35:45","slug":"https-e-tls","status":"publish","type":"post","link":"https:\/\/shattered.io\/it\/2026\/06\/10\/https-e-tls\/","title":{"rendered":"HTTPS e TLS: come viene protetta una connessione web"},"content":{"rendered":"<h2 id=\"che-cosa-significano-https-e-tls\">Che cosa significano HTTPS e TLS<\/h2>\n<p>Quando un indirizzo web inizia con &#8220;https&#8221; anzich\u00e9 con &#8220;http&#8221;, la connessione tra il browser e il sito \u00e8 protetta. La &#8220;s&#8221; finale sta per &#8220;secure&#8221;, e la protezione \u00e8 fornita da un protocollo chiamato TLS (Transport Layer Security), evoluzione del pi\u00f9 datato SSL, nome che per abitudine si sente ancora usare. HTTPS, in sostanza, \u00e8 il normale protocollo del web (HTTP) fatto passare dentro un canale cifrato da TLS.<\/p>\n<p>L&#8217;obiettivo \u00e8 semplice da enunciare ma fondamentale: fare in modo che ci\u00f2 che si invia e si riceve da un sito non possa essere letto n\u00e9 alterato da chi si trova nel mezzo della comunicazione, e al tempo stesso garantire di stare parlando davvero con il sito giusto e non con un impostore. Senza queste garanzie, ogni rete pubblica (il Wi-Fi di un bar, di un aeroporto, di un hotel) sarebbe un luogo in cui chiunque potrebbe leggere password e dati altrui.<\/p>\n<h2 id=\"le-tre-protezioni-offerte-da-tls\">Le tre protezioni offerte da TLS<\/h2>\n<p>TLS lavora su tre fronti contemporaneamente, e tenerli distinti aiuta a capire cosa il protocollo protegge e cosa no.<\/p>\n<h3 id=\"riservatezza\">Riservatezza<\/h3>\n<p>I dati scambiati vengono cifrati. Chi intercetta il traffico vede solo una sequenza incomprensibile, non il contenuto reale. Questo impedisce a un intermediario di leggere ci\u00f2 che si trasmette, dalle credenziali ai messaggi ai dettagli di pagamento.<\/p>\n<h3 id=\"integrita\">Integrit\u00e0<\/h3>\n<p>TLS verifica che i dati non siano stati modificati durante il transito. Se un attaccante tentasse di alterare anche un solo frammento della comunicazione, la manomissione verrebbe rilevata e la connessione interrotta. Questa garanzia si appoggia a funzioni crittografiche di verifica, parenti delle funzioni hash trattate nella sezione sulla <a href=\"https:\/\/shattered.io\/it\/cryptography\/\">crittografia<\/a>.<\/p>\n<h3 id=\"autenticazione\">Autenticazione<\/h3>\n<p>TLS permette al browser di verificare l&#8217;identit\u00e0 del sito a cui si connette, attraverso un certificato. \u00c8 la garanzia che, scrivendo l&#8217;indirizzo di una banca, si stia davvero parlando con i server di quella banca e non con un sito clonato che si finge tale. Senza autenticazione, la sola cifratura sarebbe poco utile: si potrebbe parlare in modo riservato con l&#8217;interlocutore sbagliato.<\/p>\n<h2 id=\"come-si-stabilisce-una-connessione-sicura\">Come si stabilisce una connessione sicura<\/h2>\n<p>Quando il browser apre una pagina in HTTPS, prima ancora di scambiare contenuti avviene una fase di negoziazione, chiamata handshake. In quei pochi istanti accadono diverse cose.<\/p>\n<p>Il browser e il server si accordano sugli algoritmi da usare. Il server presenta il proprio certificato, che il browser verifica (vedremo tra poco come). Le due parti generano quindi un insieme di chiavi segrete condivise, valide solo per quella sessione, usando tecniche di scambio delle chiavi che permettono di concordare un segreto comune senza mai trasmetterlo in chiaro sulla rete. Da quel momento tutto il traffico viene cifrato con quelle chiavi.<\/p>\n<p>Un aspetto importante delle versioni moderne del protocollo \u00e8 la cosiddetta segretezza in avanti (forward secrecy). Le chiavi di sessione sono temporanee e vengono scartate al termine della comunicazione. Questo significa che, anche se in futuro qualcuno riuscisse a ottenere la chiave privata del server, non potrebbe usarla per decifrare il traffico registrato in passato, perch\u00e9 quelle chiavi di sessione non esistono pi\u00f9.<\/p>\n<h2 id=\"certificati-e-autorita-di-certificazione\">Certificati e autorit\u00e0 di certificazione<\/h2>\n<p>L&#8217;autenticazione del sito si regge sui certificati digitali. Un certificato \u00e8 un documento elettronico che lega un nome di dominio a una chiave crittografica, ed \u00e8 firmato da un&#8217;entit\u00e0 di cui il browser si fida: un&#8217;autorit\u00e0 di certificazione (Certificate Authority, o CA).<\/p>\n<p>Il meccanismo funziona cos\u00ec. Il browser e il sistema operativo includono un elenco di autorit\u00e0 di certificazione considerate affidabili, con le rispettive chiavi pubbliche. Quando un sito presenta il proprio certificato, il browser controlla che sia stato firmato da una di queste autorit\u00e0 e che il dominio indicato corrisponda a quello che si sta visitando. Se la firma \u00e8 valida e il dominio coincide, il browser accetta il certificato; altrimenti mostra un avviso di sicurezza.<\/p>\n<p>Qui entra in gioco la crittografia in modo diretto. La firma di un certificato non viene calcolata sull&#8217;intero documento, ma sulla sua impronta prodotta da una funzione hash. La validit\u00e0 del certificato dipende quindi dalla solidit\u00e0 della funzione hash impiegata: se quella funzione fosse vulnerabile, un attaccante potrebbe in teoria costruire un certificato falso con la stessa impronta di uno legittimo, e farlo passare per autentico. \u00c8 esattamente questo il motivo per cui gli algoritmi hash deboli sono stati dismessi dall&#8217;ecosistema dei certificati, tema approfondito nella sezione sulla <a href=\"https:\/\/shattered.io\/it\/cryptography\/\">crittografia<\/a>.<\/p>\n<p>I certificati hanno inoltre una scadenza e possono essere revocati prima del termine, ad esempio se la chiave privata associata viene compromessa. I browser tengono conto sia della scadenza sia dello stato di revoca quando decidono se fidarsi.<\/p>\n<h2 id=\"che-cosa-significa-davvero-il-lucchetto\">Che cosa significa davvero il lucchetto<\/h2>\n<p>L&#8217;icona a forma di lucchetto nella barra degli indirizzi indica una cosa precisa: la connessione \u00e8 cifrata e il certificato del sito \u00e8 valido. Non significa, per\u00f2, che il sito sia onesto o legittimo nei contenuti.<\/p>\n<p>Questa distinzione \u00e8 spesso fraintesa. Anche un sito truffaldino pu\u00f2 ottenere un certificato valido e mostrare il lucchetto, perch\u00e9 ottenere un certificato di base richiede solo di dimostrare il controllo del dominio, non di essere un&#8217;azienda affidabile. Il lucchetto garantisce che nessuno stia intercettando o alterando la comunicazione con quel sito, e che il sito sia davvero quello indicato dal dominio. Non garantisce che quel dominio appartenga a chi si crede, n\u00e9 che dietro vi sia un&#8217;attivit\u00e0 onesta.<\/p>\n<p>In pratica, il lucchetto va letto cos\u00ec: &#8220;la connessione con questo indirizzo \u00e8 protetta&#8221;, non &#8220;questo sito \u00e8 degno di fiducia&#8221;. La verifica dell&#8217;identit\u00e0 reale dietro il dominio resta compito dell&#8217;utente, soprattutto di fronte a indirizzi simili a quelli legittimi ma non identici, una tattica tipica del <a href=\"https:\/\/shattered.io\/it\/security\/phishing\/\">phishing<\/a>.<\/p>\n<h2 id=\"i-limiti-di-tls\">I limiti di TLS<\/h2>\n<p>TLS protegge la comunicazione tra il browser e il server, ma non va oltre. Conoscerne i confini evita un falso senso di sicurezza.<\/p>\n<p>In primo luogo, TLS protegge i dati in transito, non i dati a riposo. Una volta che le informazioni arrivano sul server, sono il server e la sua organizzazione a doverle custodire. Se quel server viene violato, la cifratura del trasporto non offre alcuna protezione: i dati sono gi\u00e0 stati consegnati a destinazione. \u00c8 per questo che le <a href=\"https:\/\/shattered.io\/it\/security\/violazioni-di-dati\/\">violazioni di dati<\/a> avvengono nonostante l&#8217;uso diffuso di HTTPS.<\/p>\n<p>In secondo luogo, TLS autentica il dominio, non l&#8217;intenzione. Come detto, un sito malevolo pu\u00f2 avere un certificato perfettamente valido. La cifratura impedisce a un terzo di interferire, ma se \u00e8 la controparte stessa a essere fraudolenta, TLS non pu\u00f2 accorgersene.<\/p>\n<p>Infine, TLS non protegge dagli attacchi che colpiscono gli estremi della comunicazione: un dispositivo infettato da software malevolo, un browser compromesso o un utente indotto con l&#8217;inganno a digitare i propri dati su un sito falso restano vulnerabili, perch\u00e9 il problema non \u00e8 il canale ma ci\u00f2 che accade alle sue estremit\u00e0. La cifratura del trasporto \u00e8 una condizione necessaria della sicurezza online, non sufficiente da sola.<\/p>\n<h2 id=\"in-sintesi\">In sintesi<\/h2>\n<p>HTTPS e TLS rendono il web utilizzabile in modo sicuro: cifrano la comunicazione, ne garantiscono l&#8217;integrit\u00e0 e autenticano il sito tramite certificati firmati da autorit\u00e0 di certificazione, che a loro volta poggiano su funzioni hash crittografiche. Il lucchetto conferma che la connessione \u00e8 protetta e che si sta parlando con il dominio indicato, ma non certifica l&#8217;onest\u00e0 di chi sta dietro a quel dominio. TLS protegge il viaggio dei dati, non la loro custodia a destinazione n\u00e9 la buona fede della controparte: per questo va affiancato dalle altre difese descritte in questa sezione.<\/p>\n<div class=\"shat-sources\">\n<h2 id=\"fonti\">Fonti<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc8446\" rel=\"noopener\" target=\"_blank\">RFC 8446: TLS 1.3<\/a><\/li>\n<li><a href=\"https:\/\/csrc.nist.gov\/pubs\/sp\/800\/52\/r2\/final\" rel=\"noopener\" target=\"_blank\">NIST SP 800-52 Rev. 2: Guidelines for TLS<\/a><\/li>\n<\/ul>\n<\/div>\n<div class=\"shat-related\">\n<h2 id=\"articoli-correlati\">Articoli correlati<\/h2>\n<ul>\n<li><a href=\"https:\/\/shattered.io\/it\/security\/\">Sicurezza online: violazioni, password, HTTPS e phishing<\/a><\/li>\n<li><a href=\"https:\/\/shattered.io\/it\/security\/sicurezza-delle-password\/\">Sicurezza delle password: lunghezza, hashing e secondo fattore<\/a><\/li>\n<li><a href=\"https:\/\/shattered.io\/it\/security\/phishing\/\">Phishing e ingegneria sociale: riconoscerli e difendersi<\/a><\/li>\n<li><a href=\"https:\/\/shattered.io\/it\/security\/violazioni-di-dati\/\">Violazioni di dati: come avvengono e come proteggersi<\/a><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Che cosa significano HTTPS e TLS Quando un indirizzo web inizia con &#8220;https&#8221; anzich\u00e9 con &#8220;http&#8221;, la connessione tra il browser e il sito \u00e8 protetta. La &#8220;s&#8221; finale sta\u2026<\/p>\n","protected":false},"author":3,"featured_media":40,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-31","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-security"],"_links":{"self":[{"href":"https:\/\/shattered.io\/it\/wp-json\/wp\/v2\/posts\/31","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/shattered.io\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/shattered.io\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/shattered.io\/it\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/shattered.io\/it\/wp-json\/wp\/v2\/comments?post=31"}],"version-history":[{"count":1,"href":"https:\/\/shattered.io\/it\/wp-json\/wp\/v2\/posts\/31\/revisions"}],"predecessor-version":[{"id":46,"href":"https:\/\/shattered.io\/it\/wp-json\/wp\/v2\/posts\/31\/revisions\/46"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/shattered.io\/it\/wp-json\/wp\/v2\/media\/40"}],"wp:attachment":[{"href":"https:\/\/shattered.io\/it\/wp-json\/wp\/v2\/media?parent=31"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/shattered.io\/it\/wp-json\/wp\/v2\/categories?post=31"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/shattered.io\/it\/wp-json\/wp\/v2\/tags?post=31"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}