Come funziona il protocollo SSL

SSL si basa sulle chiavi pubbliche e private del server, oltre a un certificato di chiave pubblica che collega l'identità del server alla relativa chiave pubblica.

  1. Quando un client si connette a un server, il client autentica il server con il certificato di chiave pubblica.
  2. Il client genera quindi un numero random, lo crittografa con la chiave pubblica del server e invia il messaggio crittografato al server.
  3. Il server decrittografa il numero random tramite la chiave privata.
  4. Dal numero random, sia il server sia il client creano le chiavi di sessione utilizzate per crittografare e decrittografare le informazioni successive.

Il certificato di chiave pubblica viene firmato solitamente da un'autorità di certificazione. Le autorità di certificazione, quali VeriSign e Thawte, sono organizzazioni che emettono, autenticano e gestiscono le credenziali di sicurezza contenute nei certificati di chiave pubblica. In sintesi l'autorità di certificazione conferma l'identità del server. Solitamente l'autorità di certificazione applica una tariffa per l'emissione di un certificato, ma è possibile generare anche certificati autofirmati.