Scopri di più su TLS reciproco su Google Cloud

TLS reciproco (mTLS) è un protocollo standard di settore per l'autenticazione reciproca tra un client e un server. Il protocollo mTLS garantisce che il client e il server, a ciascuna estremità di una connessione di rete, siano quelli che dichiarano di essere verificando che entrambi possiedano la chiave privata associata al certificato client.

Che cos'è un certificato client?

Un certificato client, chiamato anche certificato Transport Layer Security (TLS), è un file che contiene informazioni importanti per verificare l'identità di un dispositivo. Le informazioni del certificato includono la chiave pubblica, una dichiarazione di chi ha emesso il certificato (i certificati possono essere emessi da autorità di certificazione o essere autofirmati) e la data di scadenza del certificato.

In che modo le API di Google convalidano l'identità del dispositivo

Il protocollo TLS utilizza una tecnica chiamata infrastruttura a chiave pubblica (PKI), che si basa su una coppia di chiavi asimmetriche: una chiave pubblica e una chiave privata. Qualsiasi dato criptato con la chiave privata può essere decriptato solo con la chiave pubblica. LeGoogle Cloud API utilizzano il protocollo TLS per verificare l'identità di un dispositivo decriptando il messaggio criptato dalla chiave privata con la chiave pubblica del certificato durante l'handshake mTLS. La decrittografia riuscita dimostra il possesso della chiave privata, che è disponibile solo da dispositivi attendibili.

Per attivare la procedura di handshake e convalida mTLS, un client deve:

  • Stabilisci una connessione mTLS con le API Google utilizzando endpoint API specifici per mTLS. Gli endpoint specifici per mTLS hanno il seguente formato: [service].mtls.googleapis.com

  • Individua e utilizza il certificato del dispositivo durante l'handshake mTLS. Se utilizzi la verifica degli endpoint per il deployment dei certificati, questo tipo di certificato viene rilevato e utilizzato automaticamente dai client supportati.

Il seguente diagramma illustra l'handshake mTLS tra un client e un server dell'API Google:

Handshake mTLS tra un client e un

server API di Google

Passaggi successivi