L'handshake TLS

Durante un Handshake TLS, viene utilizzato un algoritmo chiave pubblica per scambiare in modo sicuro le firme digitali e le chiavi di codifica tra un client e un server. Queste informazioni di identità e chiave vengono utilizzate per stabilire una connessione sicura per la sessione tra il client e il server. Una volta stabilita la sessione sicura, la trasmissione dei dati tra il client e il server viene crittografata utilizzando un algoritmo simmetrico, ad esempio AES.

Il client e il server eseguono le seguenti operazioni durante l'handshake TLS :
  1. Il client richiede una connessione TLS ed elenca la serie predefinita di suite di cifratura supportate.
    Nota: mentre è possibile modificare la serie di suite di cifratura utilizzata dal server Db2® , il client utilizza sempre la serie predefinita.
    Il client invia la richiesta di connessione TLS al server Db2
  2. Il server risponde con una suite di cifratura selezionata.
  3. Il server invia il certificato digitale al client.
    Il server Db2 invia il certificato digitale al client
  4. Il client verifica la validità del certificato del server ('Questo certificato è stato firmato da qualcuno di cui mi è stato detto di fidarmi? ') confrontando un hash decodificato del certificato con uno simile nel relativo keystore.
    Il client verifica il certificato rispetto ai valori dell'archivio chiavi
  5. Se il certificato del server è considerato attendibile dal client, il client utilizza la chiave pubblica del server per codificare un numero casuale e inviarlo al server. Il server utilizza quindi la chiave privata per decodificare il numero, che diventa la chiave di sessione.
    Nota: i valori assegnati al parametro dbm cfg SSL_CIPHERSPECS influenzano la dimensione della chiave di sessione.
    Client e server concordano sulla chiave di sessione
  6. Il client e il server si scambiano informazioni in modo sicuro utilizzando la chiave di sessione negoziata.
    Dati di scambio client e server utilizzando la chiave di sessione negoziata
Attenzione: il sistema di database Db2 supporta l'autenticazione (facoltativa) del client durante l'handshake TLS solo quando ci si connette a un server Db2 for z/OS® .