Informazioni sulla crittografia dei dati in transito

Puoi criptare in modo sicuro tutti i dati che si spostano tra le applicazioni client e Memorystore for Redis Cluster. Si tratta della crittografia dei dati in transito. Utilizzando la crittografia dei dati in transito, tutto il traffico Redis viene criptato tramite il protocollo TLS (Transport Layer Security). In questo modo, tutti i dati che si spostano tra le applicazioni e Memorystore for Redis Cluster rimangono riservati e non vengono manomessi.

Se la crittografia dei dati in transito è abilitata, i client Redis comunicano esclusivamente tramite una connessione sicura. I client Redis che non sono configurati per TLS vengono bloccati. Se scegli di utilizzare la crittografia dei dati in transito, è tua responsabilità assicurarti che il client Redis possa utilizzare il protocollo TLS.

Di seguito sono riportati alcuni esempi di casi d'uso della crittografia dei dati in transito:

  • Proteggere i dati sensibili memorizzati nella cache: se utilizzi Memorystore for Redis Cluster per archiviare informazioni di alto valore, come token di sessione, informazioni che consentono l'identificazione personale (PII) o chiavi API, la crittografia dei dati in transito impedisce agli autori di attacchi con accesso VPC di accedere ai tuoi dati.
  • Rispettare gli standard di settore: molti framework di sicurezza, tra cui HIPAA per i dati sanitari e PCI DSS per i dati finanziari, impongono che le informazioni sensibili vengano criptate sia a riposo sia in transito per scopi di conformità normativa e di settore.
  • Proteggere l'autenticazione di Identity and Access Management (IAM): quando utilizzi l'autenticazione IAM per gestire l'accesso ai tuoi dati, Memorystore for Redis Cluster richiede TLS per impedire l'esposizione o la perdita di token di autenticazione durante la trasmissione.
  • Prevenire gli attacchi man-in-the-middle: TLS autentica l'endpoint del server utilizzando le autorità di certificazione (CA). Le CA proteggono l'applicazione dallo spoofing del server e dalla modifica non autorizzata dei dati mentre questi si spostano tra l'applicazione e Memorystore for Redis Cluster.

Prerequisiti per la crittografia dei dati in transito

Per utilizzare la crittografia dei dati in transito con Memorystore for Redis Cluster, devi disporre di:

  1. Un client Redis che supporta TLS o un sidecar TLS di terze parti.

  2. Certificati CA installati sulla macchina client che accede al cluster.

TLS integrato era supportato solo per Redis, versioni 6.0 e successive. Di conseguenza, non tutte le librerie client Redis supportano TLS. Se utilizzi un client che non supporta TLS, ti consigliamo di utilizzare un plug-in di terze parti che abilita TLS per il client. Puoi vedere un esempio di come connetterti a un cluster in Memorystore for Redis Cluster con la crittografia dei dati in transito abilitata.

Autorità di certificazione (CA)

Un cluster che utilizza la crittografia dei dati in transito dispone di autorità di certificazione (CA) che autenticano i certificati delle macchine nel cluster. Memorystore for Redis Cluster ti consente di scegliere una modalità CA server. La modalità CA determina la gerarchia CA utilizzata per emettere i certificati digitali per un cluster.

Memorystore for Redis Cluster offre le seguenti modalità CA:

  • CA per istanza: Memorystore for Redis Cluster esegue il provisioning di ogni cluster con la propria infrastruttura CA univoca. Per accedere a un cluster in modo sicuro, devi configurare i client in modo che si fidino di questa gerarchia CA. Ciò comporta il download e l'installazione dei certificati CA su ogni client che accede al cluster.
  • **CA condivisa**: un'infrastruttura CA gestita, regionalizzata. Per ogni regione, puoi scaricare un singolo pacchetto di certificati CA. Questo pacchetto è valido per tutti i cluster che si trovano in una regione che hai configurato per utilizzare la CA condivisa. L'utilizzo di una CA condivisa riduce il numero di certificati che i client devono gestire.
  • CA gestita dal cliente: utilizza il tuo pool di CA ospitato su Certificate Authority Service. Se le applicazioni client sono configurate per considerare attendibile questa CA, possono connettersi a un cluster senza che tu debba scaricare e installare certificati CA aggiuntivi. In questo modo hai un maggiore controllo e puoi soddisfare i requisiti di conformità.

Rotazione dei certificati del server

Ogni settimana, Memorystore for Redis Cluster esegue la rotazione dei certificati lato server per i cluster che utilizzano le modalità CA per istanza, CA condivisa e CA gestita dal cliente. I nuovi certificati del server si applicano solo alle nuove connessioni, mentre le connessioni esistenti rimangono attive durante questa rotazione.

Oltre alla rotazione settimanale dei certificati lato server eseguita da Memorystore for Redis Cluster, per la modalità CA gestita dal cliente puoi ruotare i certificati on demand.

Impatto sul rendimento dell'abilitazione della crittografia dei dati in transito

La funzionalità di crittografia dei dati in transito cripta e decripta i dati, il che comporta un sovraccarico di elaborazione. Di conseguenza, l'abilitazione della crittografia dei dati in transito può ridurre il rendimento dei client. Inoltre, quando utilizzi la crittografia dei dati in transito, ogni connessione aggiuntiva comporta un costo delle risorse associato.

Per determinare la latenza associata all'utilizzo della crittografia dei dati in transito, confronta il rendimento dei client. A questo scopo, esegui il benchmark del rendimento di un cluster con la crittografia dei dati in transito abilitata rispetto a un cluster con la crittografia dei dati in transito disattivata.

Linee guida per migliorare il rendimento

Per migliorare il rendimento di un cluster, segui queste linee guida:

  • Se possibile, riduci il numero di connessioni client. Anziché creare connessioni di breve durata on demand, stabilisci e riutilizza le connessioni di lunga durata.

  • Aumenta le dimensioni del cluster.

  • Aumenta le risorse CPU della macchina host del client. Le macchine client con un numero di CPU più elevato offrono un rendimento migliore. Se utilizzi una VM Compute Engine, ti consigliamo di utilizzare cluster ottimizzati.

  • Riduci le dimensioni del payload associate al traffico del client. I payload più grandi richiedono più round trip.