TLS (Transport Layer Security) è un protocollo crittografico progettato per fornire comunicazioni sicure su una rete di computer. Garantisce la privacy e l’integrità dei dati tra due applicazioni comunicanti, come un browser Web e un server. TLS crittografa i dati scambiati, impedendo intercettazioni e manomissioni. Include anche meccanismi per l’autenticazione delle parti comunicanti, spesso utilizzando certificati emessi da autorità di certificazione (CA) affidabili.
Puoi sapere se TLS viene utilizzato cercando determinati indicatori nel tuo browser web o nella tua applicazione. Nei browser Web, l’icona di un lucchetto nella barra degli indirizzi e “https://” all’inizio dell’URL indicano che un sito Web utilizza TLS. Inoltre, puoi visualizzare i dettagli della connessione, incluso il tipo di certificato e crittografia utilizzata, facendo clic sull’icona del lucchetto. Molte applicazioni moderne forniscono anche impostazioni o registri in cui è possibile verificare se TLS viene utilizzato per comunicazioni sicure.
L’autenticazione TLS funziona attraverso un processo che coinvolge certificati digitali e crittografia a chiave pubblica. Quando un client si connette a un server utilizzando TLS, il server presenta il proprio certificato digitale, che contiene la sua chiave pubblica ed è emesso da una CA attendibile. Il client verifica il certificato rispetto al proprio elenco di CA attendibili. Se il certificato è valido, il client utilizza la chiave pubblica del server per stabilire una chiave di sessione sicura. Questa chiave di sessione viene quindi utilizzata per crittografare tutte le ulteriori comunicazioni. Facoltativamente, può verificarsi anche l’autenticazione client, in cui il client presenta il proprio certificato al server per l’autenticazione reciproca.