Cerificati digitali: a cosa servono

Un certificato digitale è un documento elettronico che attesta l'associazione univoca tra una chiave pubblica e l'identità di un soggetto (una persona, una società, un computer, etc) che dichiara di utilizzarla nell'ambito delle procedure di cifratura asimmetrica e/o autenticazione tramite firma digitale (da https://it.wikipedia.org/wiki/Certificato_digitale).

In sostanza si tratta di un documento in forma elettronica che, opportunamente usato, è in grado di garantire sicurezza (riservatezza e integrità) nello scambio di informazioni e l'identità delle parti coinvolte.

Il certificato viene usato un diversi contesti:

  • Per firmare un documento elettronico (es. un contratto).
  • Per criptare il contenuto di un documento e renderlo accessibile solo al destinatario.
  • Per lo scambio sicuro e criptato di dati su un canale di comunicazione (integrità e riservatezza del messaggio).
  • … ed altro.

Il certificato digitale garantisce (a vari livelli) l’identità di un soggetto, identificato con un common name (un nome), la chiave pubblica associata a tale identità, oltre ad altre informazioni.

La crittografia a chiavi asimmetriche fa uso di due chiavi (sequenze di bit) associate univocamente una all’altra, denominate chiave pubblica e chiave privata. Per definizione, la chiave privata è mantenuta segreta dal proprietario delle chiavi, mentre la chiave pubblica può essere resa accessibile a chiunque.

Le chiavi sono usate per criptare un messaggio elettronico e garantirne l'integrità.
L’aspetto fondamentale è che un messaggio criptato con un a chiave pubblica può essere decifrato solo con la corrispondente chiave privata. Un entità A (Alice), per inviare un documento segreto a B (Beppe), può semplicemente usare la chiave pubblica di B per criptare un documento e recapitarglielo. Solo B, che possiede la chiave privata, potrà decifrare il documento.

Questo meccanismo, nella sua forma più semplice, presenta delle falle di sicurezza. Supponiamo che C, Caino, produca una coppia di chiavi e riesca a fornire ad Alice la pubblica creata spacciandola per quella di Beppe. In questo modo C può intercettare il messaggio di Alice, decriptarlo con la chiave privata in suo possesso, criptare nuovamente il messaggio con la vera chiave di Beppe e inviare a Beppe il messaggio. Ora Caino è in possesso di un segreto che solo A e B dovrebbero conoscere e, ne Alice, ne Beppe si accorgono dell'inganno.

Esistono diversi scenari simili, che coinvolgono la sicurezza nello scambio di informazioni. Questo, in particolare, si chiama Men in the Middle (persona nel mezzo).

Dall'esempio, si evidenzia la necessità di garantire l’autenticità della chiave pubblica.

Il certificato elettronico ha questo scopo. Attraverso la catena di autenticazioni, che fa capo ad una autorità di certificazione (CA, Certificate Authority), per definizione affidabile, attesta che la chiave pubblica appartiene effettivamente al soggetto o all'entità che sostiene di essere, cos' come una carta di identità garantisce l'identità, attraverso il comune che l'ha emessa, del soggetto che che ne è titolare..

Alice, prima di usare la chiave pubblica di Bob, deve accertarsi che questa corrisponda effettivamente a Bob, ovvero che il certificato che la contiene sia effettivamente firmato (signed) da una autorità di certificazione.

Il protocollo Transport Layer Security (TLS), e il suo predecessore Secure Sockets Layer (SSL), sono utilizzati per stabilire una sessione di comunicazione fra due nodi: un client e un server. Il caso più frequente è una connessione HTTPS fra un browser e il server WEB.

Il server dispone di un certificato elettronico utilizzato per confermare la propria identità e per definire una chiave simmetrica per cifrare i dati scambiati. Il meccanismo chiave pubblica/chiave privata non si presta a criptare efficacemente grossi flussi di dati, ma viene utilizzato per negoziare una chiave simmetrica. I meccanismi di cifratura a chiave simmetrica sono più efficienti di quelli a chiave asimmetrica, ma richiedono un segreto comune fra le due parti, la chiave. Il meccanismo a chiave pubblica/privata è usato per negoziare in sicurezza tale segreto.

Per garantire al client, con certezza, la connessione al server desiderato, questo controlla la catena di certificazione del certificato presentato dal server, in sostanza il browser verifica che la firma della CA, che ha rilasciato il certificato, sia vera.
Un po' come verificare presso il comune se la carta di identita numero xyz del gg/mm/aa è stata rilasciata al tizio che la presenta.
Se la verifica non va a buon fine il browser avvisa con un messaggio di allerta. Il traffico sarà cifrato, ma l’autenticità del server non è verificata Sta all’utente decidere se proseguire la navigazione o no.

 

 

 

Categoria: 

Tags: 

Mi piace: 

0
No votes yet