{"id":352195,"date":"2024-09-05T15:26:48","date_gmt":"2024-09-05T15:26:48","guid":{"rendered":"https:\/\/www.ninjaone.com\/blog\/cos-e-handshake-tls\/"},"modified":"2024-11-08T23:34:55","modified_gmt":"2024-11-08T23:34:55","slug":"cos-e-handshake-tls","status":"publish","type":"post","link":"https:\/\/www.ninjaone.com\/it\/blog\/cos-e-handshake-tls\/","title":{"rendered":"Cos&#8217;\u00e8 l&#8217;handshake TLS e come funziona?"},"content":{"rendered":"<p>TLS (transport layer security) \u00e8 il protocollo di comunicazione sicuro utilizzato da gran parte dell&#8217;Internet. Dalla connessione criptata che il tuo browser utilizza per collegarsi ai siti web, alle connessioni sicure utilizzate dalle tue applicazioni bancarie, TLS \u00e8 lo standard del settore e il motivo per cui puoi trasferire con sicurezza informazioni sensibili online.<\/p>\n<p>Questa guida spiega cos&#8217;\u00e8 l&#8217;<strong>handshake TLS<\/strong>, come funziona e la sua importanza per la sicurezza della rete e per garantire che le tue comunicazioni siano private e non vengano intercettate o manomesse.<\/p>\n<h2>Che cos&#8217;\u00e8 un handshake TLS?<\/h2>\n<p>La crittografia TLS \u00e8 il protocollo crittografico standard utilizzato per proteggere le comunicazioni di rete, compresi i dati inviati su Internet.<\/p>\n<p>Prima di poter comunicare in modo crittografato, \u00e8 necessario stabilire la fiducia tra le due parti comunicanti (ad esempio, il server web che ospita un sito e il browser web che vi accede).<\/p>\n<p>Questo \u00e8 ci\u00f2 che realizza l&#8217;handshake TLS: stabilisce un canale sicuro tra il client e il server comunicando quali versioni TLS e quali suite di cifratura sono supportati da entrambi, autenticando l&#8217;identit\u00e0 del server utilizzando la sua chiave pubblica e il suo <a href=\"https:\/\/www.ninjaone.com\/it\/it-hub\/gestione-dei-servizi-it\/cos-e-il-monitoraggio-dei-certificati-ssl\/\" target=\"_blank\" rel=\"noopener\">certificato SSL<\/a>, e infine generando le chiavi di sessione che saranno utilizzate per crittografare in modo univoco la connessione.<\/p>\n<h2>TLS vs SSL<\/h2>\n<p>TLS \u00e8 il successore di <a href=\"https:\/\/www.ninjaone.com\/it\/it-hub\/sicurezza-degli-endpoint\/cos-e-ssl\/\" target=\"_blank\" rel=\"noopener\">SSL (Secure Sockets Layer)<\/a> e lo sostituisce come protocollo di crittografia alla base di <a href=\"https:\/\/www.ninjaone.com\/it-hub\/sicurezza-degli-endpoint\/what-is-https\/\" target=\"_blank\" rel=\"noopener\">HTTPS<\/a> (il protocollo HTTP sicuro che fornisce pagine web al browser e dati alle applicazioni). TLS \u00e8 utilizzato anche da altri software che richiedono comunicazioni di rete sicure, come le <a href=\"https:\/\/www.ninjaone.com\/it\/it-hub\/sicurezza-degli-endpoint\/cos-e-una-rete-privata-virtuale-vpn\/\" target=\"_blank\" rel=\"noopener\">soluzioni VPN<\/a>.<\/p>\n<h2>Elementi crittografici coinvolti<\/h2>\n<p>La crittografia TLS si basa su diversi elementi\/concetti crittografici:<\/p>\n<ul>\n<li><strong>La suite di cifratura<\/strong>: La <a href=\"https:\/\/venafi.com\/blog\/what-are-cipher-suites\/\" target=\"_blank\" rel=\"noopener\">suite di cifratura<\/a> \u00e8 l&#8217;algoritmo utilizzato per proteggere una connessione crittografata TLS. Ogni suite contiene un algoritmo di scambio di chiavi, un algoritmo di crittografia in blocco e un algoritmo MAC (message authentication code).<\/li>\n<li><strong>Crittografia simmetrica<\/strong>: Un&#8217;unica chiave crittografica viene utilizzata per proteggere la connessione sia dal server che dal client. Entrambe le parti devono conoscere la chiave e nessuna terza parte deve conoscerla o essere in grado di indovinarla, altrimenti la sicurezza della connessione \u00e8 compromessa.<\/li>\n<li><strong>Crittografia asimmetrica<\/strong>: Conosciuta anche come crittografia a chiave pubblica, in questo metodo di crittografia il server e il client utilizzano chiavi private e pubbliche separate per crittografare i dati e proteggere la connessione. La chiave privata \u00e8 necessaria per decifrare i dati criptati dalla chiave pubblica.<\/li>\n<li><strong>Autenticazione<\/strong>: Per connettersi in modo sicuro a un server (e non a un impersonatore), il server deve essere in grado di dimostrare la propria identit\u00e0 al di l\u00e0 di ogni dubbio attraverso l&#8217;autenticazione.<\/li>\n<\/ul>\n<h2>Versioni e compatibilit\u00e0 TLS<\/h2>\n<p>TLS 1.0 \u00e8 stato rilasciato nel 1999, TLS 1.1 nel 2006, TLS 1.2 nel 2008 e l&#8217;ultima versione TLS 1.3 \u00e8 stata rilasciata nel 2018. Ogni release ha apportato significativi miglioramenti alla sicurezza, tra cui suite di cifratura aggiuntive e protezione contro nuovi attacchi.<\/p>\n<p>La maggior parte dei server supporta sia TLS 1.3 che TLS 1.2 per la compatibilit\u00e0 con i client pi\u00f9 vecchi.<\/p>\n<h2>Processo passo dopo passo di un handshake TLS<\/h2>\n<p>TLS 1.3 semplifica e migliora notevolmente la sicurezza del processo di handshake rispetto alle versioni precedenti. Ecco in dettaglio il processo utilizzato per proteggere una connessione TLS 1.3:<\/p>\n<ul>\n<li><strong>\u2019Hello\u2019 del client<\/strong>: Il client invia un messaggio &#8220;hello&#8221; al server per avviare l&#8217;handshake TLS e la connessione. Questo include le versioni di TLS, le suite di cifratura, il metodo di condivisione delle chiavi e le estensioni supportate. Include anche il &#8220;client random&#8221;, che \u00e8 un dato casuale che verr\u00e0 utilizzato per generare il master secret. In molti casi, i parametri pre-master secret possono essere generati anche quando il client \u00e8 in grado di indovinare il metodo di condivisione delle chiavi che il server utilizzer\u00e0 (spesso a causa del numero ridotto di suite di cifratura supportate da TLS 1.3), riducendo il numero di round-trip necessari per il client e il server.<\/li>\n<li><strong>Master secret<\/strong>: Il server seleziona una versione TLS, una suite di cifratura e una condivisione di chiavi compatibile con il client e genera il suo &#8220;server random&#8221;. Una volta che il client e il server dispongono del client random, del pre-master secret e del server random, possono generare indipendentemente lo stesso master secret.<\/li>\n<li><strong>\u2019Hello\u2019 del server e comunicazione asimmetrica<\/strong>: Il server risponde all&#8217;hello del client inviando la versione TLS selezionata, la suite di cifratura e il certificato SSL\/TLS del server contenente la sua chiave pubblica e l&#8217;<a href=\"https:\/\/www.ninjaone.com\/it\/it-hub\/sicurezza-degli-endpoint\/autorita-di-certificazione\/\" target=\"_blank\" rel=\"noopener\">autorit\u00e0 di certificazione (CA)<\/a>. Il client pu\u00f2 verificare l&#8217;identit\u00e0 del server con la CA.<\/li>\n<li><strong>Generazione della chiave di sessione<\/strong>: Il client e il server generano chiavi di sessione corrispondenti dal master secret.<\/li>\n<li><strong>Messaggi &#8220;finished&#8221; e comunicazione simmetrica<\/strong>: Il client e il server si scambiano messaggi &#8220;finished&#8221; contenenti la chiave di sessione simmetrica e un <a href=\"https:\/\/www.ninjaone.com\/it-hub\/sicurezza-degli-endpoint\/what-is-sha-256\/\" target=\"_blank\" rel=\"noopener\">hash <\/a>del processo di handshake che ha avuto luogo per garantire che non sia stato interferito. L&#8217;handshake TLS \u00e8 completato quando i messaggi &#8220;finished&#8221; sono stati decifrati e convalidati da entrambe le parti.<\/li>\n<\/ul>\n<p>Una volta completato l&#8217;handshake TLS, la connessione pu\u00f2 essere utilizzata per trasmettere in modo sicuro i dati utilizzando le chiavi di sessione simmetriche.<\/p>\n<h2>Risoluzione dei problemi di handshake TLS<\/h2>\n<p>La causa pi\u00f9 comune dei problemi di handshake TLS \u00e8 l&#8217;impostazione errata dell&#8217;ora sul server o sul client (una soluzione semplice). Anche le CA non aggiornate sul client sono una potenziale causa se il sistema operativo non \u00e8 stato aggiornato da tempo.<\/p>\n<p>Per quanto riguarda il server, le connessioni TLS falliscono se non esistono versioni TLS o suite di cifratura supportate reciprocamente, se il certificato SSL\/TLS \u00e8 stato revocato dalla CA, se \u00e8 scaduto o se l&#8217;hostname del server non corrisponde a quello del certificato.<\/p>\n<p>Se incontri problemi di connettivit\u00e0 di rete o ti connetti a un server lento, gli handshake TLS possono fallire se vanno in timeout a causa della latenza.<\/p>\n<h2>I protocolli di comunicazione non sono completamente sicuri<\/h2>\n<p>TLS \u00e8 alla base della sicurezza di rete di quasi tutto ci\u00f2 che avviene online al momento. Tuttavia, solo perch\u00e9 \u00e8 in grado di trasmettere dati in modo sicuro (dopo l&#8217;importante handshake TLS), non significa che ci\u00f2 che trasmette non sia dannoso.<\/p>\n<p>Il fatto che tu abbia una connessione sicura a un sito web non significa che non possa ospitare un virus, quindi dovresti limitarti a scaricare software da siti web affidabili (o meglio ancora da app store ufficiali) e, se gestisci un&#8217;azienda, proteggere e mettere in sicurezza la tua infrastruttura con una solida <a href=\"https:\/\/www.ninjaone.com\/it\/gestione-endpoint\/\" target=\"_blank\" rel=\"noopener\">gestione degli endpoint.<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>TLS (transport layer security) \u00e8 il protocollo di comunicazione sicuro utilizzato da gran parte dell&#8217;Internet. Dalla connessione criptata che il tuo browser utilizza per collegarsi ai siti web, alle connessioni sicure utilizzate dalle tue applicazioni bancarie, TLS \u00e8 lo standard del settore e il motivo per cui puoi trasferire con sicurezza informazioni sensibili online. Questa [&hellip;]<\/p>\n","protected":false},"author":89,"featured_media":347834,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[4367],"tags":[],"class_list":["post-352195","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sicurezza"],"acf":[],"modified_by":null,"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/posts\/352195","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/users\/89"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/comments?post=352195"}],"version-history":[{"count":0,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/posts\/352195\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/media\/347834"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/media?parent=352195"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/categories?post=352195"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/tags?post=352195"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}