Scopri tutto sui certificati TLS/SSL, i file digitali che aiutano ad autenticare e proteggere il trasferimento di dati su internet.
Ogni volta che invii o ricevi informazioni su internet, queste passano attraverso una rete di più computer per raggiungere la destinazione. Storicamente, ciascuno di questi computer poteva leggere i tuoi dati perché non erano criptati.
Molti dei tuoi dati sono sensibili — e preziosi per gli hacker. Possono includere comunicazioni private che non sono crittografate end-to-end, informazioni finanziarie e persino credenziali di accesso (per app web che non utilizzano il protocollo Secure Remote Password).
Per proteggere i dati sensibili, gli esperti di sicurezza hanno sviluppato un protocollo standard per inviare e ricevere traffico internet: Secure Sockets Layer (SSL). SSL si è poi evoluto in Transport Layer Security (TLS), che ora ha ampiamente sostituito SSL.
Spieghiamo come funzionano TLS e i certificati TLS, le loro debolezze e i passaggi aggiuntivi che adottiamo in Proton per proteggere le connessioni crittografate con TLS.
Cos’è TLS?
Come funziona TLS?
Cos’è un certificato TLS?
Come funziona un certificato TLS?
Perché fidarsi delle autorità di certificazione?
Quali sono le debolezze dei certificati TLS?
Le precauzioni di sicurezza di Proton per TLS
Cos’è TLS?
Transport Layer Security (TLS) è un protocollo di crittografia che fornisce connessioni sicure tra server e applicazioni su internet.
Prima di TLS, siti web e app utilizzavano il Hypertext Transfer Protocol (HTTP)(nuova finestra) per trasferire dati su internet, che non era progettato per essere sicuro. Oggi, la maggior parte dei siti utilizza il Hypertext Transfer Protocol Secure (HTTPS), un’estensione di HTTP che utilizza la crittografia TLS.
Quando ti connetti a un sito che utilizza HTTPS, TLS verifica l’identità del server del sito e cripta la tua connessione, impedendo agli hacker di intercettare qualsiasi dato trasmesso tra il tuo dispositivo e il sito. In questo modo, TLS garantisce la privacy e la sicurezza dei dati trasmessi tra il tuo browser e il sito web, e puoi essere sicuro che i dati non siano stati manomessi.
Come funziona TLS?
TLS utilizza la crittografia a chiave pubblica(nuova finestra) per verificare l’autenticità di un sito web. Ogni sito web che utilizza HTTPS (TLS) genera una coppia di chiavi matematicamente correlate:
- Una chiave privata, che viene mantenuta segreta e utilizzata per firmare i dati
- Una chiave pubblica, che chiunque può utilizzare per verificare i dati
Quando il tuo browser tenta di connettersi a un sito web (un nome di dominio come proton.me), il server crea una firma digitale utilizzando la chiave privata, che il browser verifica usando la corrispondente chiave pubblica. Se la verifica ha successo, dimostra che ti stai connettendo a un server che appartiene al nome di dominio che stai visitando.
Ma come può il tuo browser essere sicuro che la chiave pubblica del server appartenga davvero a quel dominio? Per risolvere questo problema, TLS utilizza certificati TLS per aiutare a verificare l’identità del server a cui ti stai connettendo.
Cos’è un certificato TLS?
Un certificato TLS è un tipo di certificato digitale rilasciato da un ente di certificazione (CA) per certificare la proprietà di una chiave pubblica.
I certificati TLS contengono di solito le seguenti informazioni:
- Il nome di dominio soggetto (ad esempio, proton.me)
- Il nome dell’ente di certificazione emittente
- Ulteriori nomi di dominio soggetto, inclusi i sottodomini, se presenti
- La data di emissione
- La data di scadenza
- La chiave pubblica utilizzata per verificare i dati (l’organizzazione soggetto mantiene segreta la chiave privata)
L’ente di certificazione firma digitalmente il certificato, quindi se ti fidi dell’ente di certificazione, puoi essere sicuro che la chiave pubblica appartenga ai proprietari del nome di dominio soggetto.
Come funziona un certificato TLS?
Quando tenti di connetterti a un sito web utilizzando HTTPS, il server del sito invia al tuo browser il suo certificato TLS.
Il tuo browser verifica quindi che il certificato sia valido e firma digitale da un ente di certificazione di fiducia confrontandolo con le informazioni che memorizza sugli enti di certificazione di fiducia. Questo processo di verifica utilizza la crittografia a chiave pubblica come RSA(nuova finestra) o ECC(nuova finestra) per dimostrare che l’ente di certificazione ha firmato il certificato.
Il certificato firmato verifica la chiave pubblica del server del sito web, confermando che stai comunicando con il server autentico del sito web che stai visitando, come https://proton.me, e non con un hacker.
Il server autentica anche uno scambio di chiavi, risultando in una chiave di sessione unica che viene utilizzata per inviare dati criptati e autenticati tra i client e il server.
In termini semplificati, ecco come il tuo browser e un server di un sito web stabiliscono una connessione sicura utilizzando un certificato TLS.
La maggior parte dei browser mostra un lucchetto per indicare che la tua connessione è sicura e che il certificato TLS del sito è valido.
Per essere sicuro di essere connesso in modo sicuro a un sito web utilizzando HTTPS, controlla quanto segue:
- Il lucchetto è visualizzato: Questo indica che la connessione è sicura.
- L’URL è corretto: Verifica che sia https://proton.me, e non pr0ton.me, protan.me o qualche altro falso simile. Se ti stai connettendo a un sottodominio, come https://mail.proton.me(nuova finestra) per l’app web di Proton Mail, verifica che sia precisamente mail.proton.me, e non mail-proton.me o mail.proton.co.
Se tutti i punti sopra sono corretti, la tua connessione è sicura, a patto che tu possa fidarti dell’autorità di certificazione che ha rilasciato il certificato TLS.
Perché fidarsi delle autorità di certificazione (CA)?
Poiché le CA sono responsabili della verifica che i dati che hai ricevuto provengano dal server che ti aspettavi, svolgono un ruolo fondamentale in internet. Sono la colonna portante della comunicazione Internet sicura, aiutando a criptare miliardi di scambi di dati e transazioni emettendo milioni di certificati digitali ogni anno.
Ci sono molte precauzioni che le CA adottano per garantire la sicurezza del processo di emissione dei certificati. Ad esempio, le CA conservano le chiavi private in un modulo di sicurezza hardware(nuova finestra) così che non possano essere estratte (anche se questo non impedisce che i certificati vengano firmati erroneamente).
Inoltre, le CA seguono varie politiche stabilite dal CA/Browser Forum(nuova finestra) che stabiliscono e mantengono standard di sicurezza. Tutte queste misure contribuiscono a garantire che il processo di verifica del certificato TLS sia affidabile.
Il modello di fiducia di TLS si basa su due elementi principali:
- Certificati radice (noti anche come radici fidate)
- Il certificato del server
Il tuo browser si fiderà automaticamente di qualsiasi certificato emesso da una CA, purché il certificato radice della CA sia installato nel negozio di certificati del tuo dispositivo. Ogni dispositivo ha un negozio di certificati, una raccolta locale di certificati radice da CA fidate. Solo le CA che dimostrano di aderire alle politiche stabilite dal CA/Browser Forum sono fidate dai negozi di certificati radice.
Quali sono le debolezze dei certificati TLS?
Anche se i certificati TLS sono generalmente sicuri, ecco alcuni modi in cui gli hacker possono attaccare e potenzialmente compromettere il TLS.
Avvelenamento del negozio di certificati
Se un attaccante infetta il tuo computer con software malevolo (malware)(nuova finestra), potrebbe accedere ai certificati digitali memorizzati sul tuo dispositivo e inserire un certificato radice. Potrebbero poi impersonare un sito web rispondendo fraudolentemente alle tue richieste di navigazione.
Qualcuno potrebbe chiederti di installare un certificato radice sul tuo dispositivo, ad esempio, per accedere a un sito interno su una rete aziendale. Non installare mai un certificato radice su un dispositivo personale.
Allo stesso modo, non accedere mai a Proton o altri account importanti da un dispositivo con un certificato radice installato, o da un dispositivo pubblico o condiviso che non possiedi, specialmente se ti è stato dato da qualcuno di cui non ti fidi completamente.
Attacco diretto alle CA
Perché la certificazione TLS funzioni, la CA deve essere sicura. Qualsiasi violazione della CA potrebbe portare all’autorizzazione errata o fraudolenta delle chiavi.
Le CA sono state occasionalmente compromesse, come abbiamo visto nei data breach di Comodo e DigiNotar(nuova finestra) nel 2011, che hanno permesso agli attaccanti di emettere certificati fraudolenti.
Certificati rilasciati erroneamente
Gli utenti si affidano alle CA per autenticare il server a cui si connettono. Tuttavia, a volte le CA commettono errori nell’emissione dei certificati che presentano una vulnerabilità che gli hacker possono sfruttare.
Quando combinato con una connessione internet insicura, un attaccante potrebbe utilizzare un certificato emesso erroneamente o fraudolentemente per compromettere la tua connessione con un server.
Se esistono queste vulnerabilità, puoi fidarti delle CA? Sì, ma è prudente prendere precauzioni per minimizzare questi rischi.
Le precauzioni di sicurezza TLS di Proton
Anche se le CA e i metodi di crittografia basati su TLS sono relativamente sicuri, c’è sempre margine di miglioramento.
In Proton, puntiamo a migliorare la privacy e la sicurezza online per tutti. Ecco alcuni dei passaggi aggiuntivi che compiamo per proteggere le connessioni crittografate con TLS.
Autorizzazione dell’autorità di certificazione DNS (DNS CAA)
Con l’aumento della preoccupazione pubblica sulla sicurezza delle CA a seguito dei violazioni dei dati delle CA nel 2011(nuova finestra), si è accelerato il lavoro su nuove misure di sicurezza. Uno dei risultati di quel lavoro è stata l’autorizzazione dell’autorità di certificazione DNS (DNS CAA), che impedisce l’emissione di certificati errati.
Il DNS CAA consente ai proprietari di domini di specificare tramite un record di risorsa DNS quali CA sono autorizzate ad emettere certificati per un dato dominio. Se esiste un record CAA, solo le CA elencate in quel record possono emettere il certificato dell’host.
Anche se ciò fornisce una certa protezione contro l’uso non intenzionale dei certificati, è molto difficile per gli utenti rilevare se una CA ignora l’avviso CAA. Ecco perché utilizziamo la trasparenza dei certificati.
Trasparenza dei certificati (CT)
Per garantire la validità dei certificati e prevenirne l’emissione accidentale o fraudolenta, tutte le CA pubblicano i certificati che generano su server di log pubblici noti come log di Trasparenza dei Certificati (CT). Questi server inviano una firma alla CA promettendo di pubblicare il loro certificato.
Serviamo un’intestazione Expect-CT, che dice al browser di richiedere la presenza di questa firma. Abbiamo anche server di monitoraggio e audit che controllano il log CT per tutti i certificati promessi da pubblicare.
Insieme, tutte queste misure rendono estremamente improbabile che chiunque, inclusi gli attori statali, possa generare un certificato TLS per proton.me e usarlo per intercettare connessioni senza essere rilevato.
Fissaggio del certificato TLS
Il fissaggio del certificato è un processo che collega un servizio alla sua specifica chiave pubblica. Una volta stabilito un certificato per un particolare servizio, questo viene fissato permanentemente al servizio.
Se esistono più certificati validi per un dato servizio, i fissaggi vengono uniti in un pinset. Per convalidare un pinset, almeno un elemento del servizio deve corrispondere agli elementi nel pinset. Fissiamo la chiave pubblica dei nostri certificati in tutte le nostre app native.
In Proton, il nostro lavoro su TLS fa parte del nostro obiettivo di garantire privacy e sicurezza online a tutti. Ecco perché offriamo gratuitamente Proton Mail, Proton Calendar, Proton Drive, Proton Pass e Proton VPN(nuova finestra) crittografati end-to-end — così tutti possono essere liberi online.
I nostri account gratuiti sono finanziati dai membri paganti della comunità Proton, non sfruttando i tuoi dati personali. Se vuoi supportare la nostra missione di garantire privacy e sicurezza online a tutti, sottoscrivi un piano a pagamento.
Insieme, possiamo creare un internet migliore dove la privacy è la regola.