Crittografia dei dati in transito
Db2® utilizza il protocollo Transport Layer Security (TLS) per trasmettere in modo sicuro i dati tra server e client. La tecnologia TLS utilizza sia la crittografia asimmetrica (ad esempio la crittografia a chiave pubblica) che la crittografia simmetrica per rendere questo lavoro.
È possibile utilizzare TLS per proteggere i dati in transito su tutte le reti che utilizzano TCP/IP. In altre parole, una connessione TLS è una connessione TCP/IP protetta.
Crittografia chiave pubblica per l'autenticazione del server
TLS utilizza algoritmi di chiave pubblica per scambiare informazioni chiave di codifica e informazioni sul certificato digitale. La crittografia a chiave pubblica viene utilizzata per garantire che un client possa fidarsi del certificato utilizzato da un server.
- Una chiave pubblica per criptare i dati.
- Una chiave privata associata per decodificarlo.
Gli algoritmi di chiave pubblica da soli non garantiscono una comunicazione sicura, devi anche verificare l'identità di chi comunica con te. Per effettuare questa autenticazione, TLS utilizza certificati digitali.
Distribuzione e utilizzo dei certificati digitali
- Un membro della tua organizzazione utilizza IBM Global Security Kit (GSKit) per creare una coppia di chiavi pubblica e privata.
- La chiave pubblica viene inviata a una CA (Certificate Authority) dove viene creato e firmato un certificato.
- Il certificato del server (che include la chiave pubblica del server) è distribuito a tutti i client Db2 (e server) all'interno della propria organizzazione per storage all'interno dei propri keystores locali.
Una volta che i certificati per ogni server sono stati distribuiti all'interno della tua rete, sono in vigore tutte le parti necessarie per far funzionare TLS.
Prima che i dati siano crittografati per la trasmissione tra i nodi Db2 nella tua rete, si verifica un handshake TLS . Ciò consente ad un client di verificare la validità del certificato di un server e, se il certificato è attendibile, creare una chiave di sessione utilizzando la chiave pubblica del server. Il tasto di sessione viene utilizzato per crittografare i dati che viaggiano tra il client e il server per la durata della connessione.