Ecco come funziona in poche parole:
1) Il client si connette al server. Il server pubblicizza i protocolli SSL / TLS che supporta e invia il certificato SSL al client. Il certificato include una chiave pubblica RSA e il certificato è (presumibilmente) firmato da una CA riconosciuta
che il cliente si fida.
2) Il client verifica la firma della CA del certificato e (presumibilmente) ritiene che il certificato sia valido. Il client e il server accettano di utilizzare ECDHE.
3) Il client e il server generano un insieme di chiavi ECDHE effimere utilizzate per facilitare la sessione sicura. Le chiavi inviate dal server al client sono firmate dal server utilizzando la chiave privata del server (che corrisponde alla chiave pubblica precedentemente inviata come parte del certificato nel precedente passaggio 1). Il client convalida che la firma è valida utilizzando la chiave pubblica del server ricevuta in precedenza (che in precedenza era stata determinata per essere considerata attendibile). Pertanto, il client può fidarsi che le chiavi effimere che ha ricevuto dal server siano state effettivamente inviate dal server e non da un utente malintenzionato.
4) Il client e il server procedono con la sessione sicura usando l'insieme di chiavi effimere. Queste chiavi vengono scartate dal client e dal server alla fine della sessione (e non riutilizzate) per facilitare la perfetta segretezza in avanti.