Mutual TLS (mTLS) è un tipo di autenticazione in cui di due parti coinvolte in una connessione vengono autenticate reciprocamente con il protocollo TLS.
Dopo aver letto questo articolo sarai in grado di:
Argomenti correlati
Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.
Copia link dell'articolo
Mutual TLS, o mTLS, è un metodo per l'autenticazione reciproca. mTLS garantisce che le parti a ciascuna estremità di una connessione di rete siano chi affermano di essere verificando che entrambe dispongano della chiave privata corretta. Le informazioni all'interno dei rispettivi certificati TLS forniscono un'ulteriore verifica.
mTLS viene spesso utilizzato in un framework di sicurezza Zero Trust* per verificare utenti, dispositivi e server all'interno di un'organizzazione. Può anche contribuire a mantenere le API sicure.
*Zero Trust significa che nessun utente, dispositivo o traffico di rete è attendibile per impostazione predefinita, un approccio che consente di eliminare molte vulnerabilità di sicurezza.
Transport Layer Security (TLS) è un protocollo di crittografia ampiamente utilizzato su Internet. TLS, precedentemente chiamato SSL, autentica il server in una connessione client-server e crittografa le comunicazioni tra client e server in modo che le parti esterne non possano spiare le comunicazioni.
Sono tre gli aspetti fondamentali da conoscere sul funzionamento di TLS:
TLS funziona utilizzando una tecnica chiamata crittografia a chiave pubblica, che si basa su una coppia di chiavi: una chiave pubblica e una chiave privata. Tutto quello che è crittografato con la chiave pubblica può essere decodificato solo con la chiave privata.
Pertanto, un server che decrittografa un messaggio crittografato con la chiave pubblica dimostra di possedere la chiave privata. Chiunque può visualizzare la chiave pubblica esaminando il certificato TLS del dominio o del server.
Un certificato TLS è un file di dati che contiene informazioni importanti per verificare l'identità di un server o di un dispositivo, inclusa la chiave pubblica, una dichiarazione di chi ha emesso il certificato (i certificati TLS sono emessi da un'autorità di certificazione) e la data di scadenza del certificato.
L'handshake TLS è il processo di verifica del certificato TLS e del possesso della chiave privata da parte del server. L'handshake TLS stabilisce anche come avverrà la crittografia una volta terminato l'handshake.
Normalmente, in TLS il server ha un certificato TLS e una coppia di chiave pubblica/privata, mentre il client no. Il tipico processo TLS funziona in questo modo:
In mTLS, tuttavia, sia il client che il server hanno un certificato ed entrambe le parti si autenticano utilizzando la loro coppia di chiave pubblica/privata. Rispetto al normale TLS, in mTLS sono presenti passaggi aggiuntivi per la verifica di entrambe le parti (passaggi aggiuntivi in grassetto):
L'organizzazione che implementa mTLS funge da propria autorità di certificazione. Questo contrasta con il TLS standard, in cui l'autorità di certificazione è un'organizzazione esterna che controlla se il proprietario del certificato possiede legittimamente il dominio associato (scopri di più sulla convalida dei certificati TLS).
Per mTLS è necessario un certificato TLS "root", consentendo a un'organizzazione di essere la propria autorità di certificazione. I certificati utilizzati dai client e dai server autorizzati devono corrispondere a questo certificato root. Il certificato root è autofirmato, il che significa che l'organizzazione lo crea autonomamente. (Questo approccio non funziona per il TLS unidirezionale su Internet pubblico perché un'autorità di certificazione esterna deve emettere tali certificati).
mTLS aiuta a garantire che il traffico sia sicuro e attendibile in entrambe le direzioni tra un client e un server, fornendo un ulteriore livello di sicurezza per gli utenti che accedono alla rete o alle applicazioni di un'organizzazione. Verifica inoltre le connessioni con i dispositivi client che non seguono un processo di accesso, come i dispositivi Internet of Things (IoT).
mTLS previene vari tipi di attacchi, tra cui:
Per gli scopi quotidiani, l'autenticazione unidirezionale fornisce una protezione sufficiente. Gli obiettivi del TLS nell'Internet pubblico sono 1) garantire che le persone non visitino siti Web contraffatti, 2) mantenere i dati riservati sicuri e crittografati durante il loro transito nelle varie reti che compongono Internet e 3) assicurarsi che i dati non venga alterati durante il transito. Il TLS unidirezionale, in cui il client verifica solo l'identità del server, raggiunge questi obiettivi.
Inoltre, la distribuzione dei certificati TLS a tutti i dispositivi degli utenti finali è un'operazione estremamente complessa. Generare, gestire e verificare i miliardi di certificati necessari a questo scopo è un'attività quasi impossibile.
Ma su scala più piccola, mTLS è molto utile e abbastanza pratico per le singole organizzazioni, soprattutto quando tali organizzazioni utilizzano un approccio Zero Trust alla sicurezza della rete. Poiché un approccio Zero Trust non ritiene attendibile alcun utente, dispositivo o richiesta per impostazione predefinita, le organizzazioni devono essere in grado di autenticare ogni utente, dispositivo e richiesta ogni volta che provano ad accedere a qualsiasi punto della rete. mTLS contribuisce a rendere possibile tutto questo autenticando gli utenti e verificando i dispositivi.
Cloudflare Zero Trust utilizza mTLS per la sicurezza Zero Trust. Cloudflare API Shield utilizza mTLS anche per verificare gli endpoint API, garantendo che nessuna parte non autorizzata possa inviare chiamate API potenzialmente dannose. Scopri come implementare mTLS con Cloudflare.
Introduzione
Informazioni sulla gestione degli accessi
Informazioni su Zero Trust