Il certificato digitale attesta l’identità di un sito e cifra la connessione. Vediamo cos’è, come funziona e perché, da solo, non basta a rendere sicuro un sito web.

Firme digitali, siti web, dispositivi IoT, carta nazionale dei servizi: sono alcuni degli ambiti in cui si applica un certificato digitale, uno strumento che associa univocamente un soggetto — una persona, un’organizzazione, un sito o un dispositivo — a una chiave pubblica.
Ma cos’è esattamente, come si ottiene e, soprattutto, che ruolo ha nella sicurezza di un sito web?
Lo vediamo in questa guida, chiarendo anche un equivoco diffuso: avere un certificato valido è necessario, ma non sufficiente a rendere un sito davvero sicuro.

  1. Cos’è e come funziona un certificato digitale
  2. Certificati client e certificati server
  3. Quali dati contiene un certificato digitale
  4. Cos’è una Certification Authority
  5. Come si ottiene un certificato digitale
  6. Il certificato non basta: la sicurezza del sito web
Certificato digitale di un sito web: cos'è, come funziona e a cosa serve

Cos’è e come funziona un certificato digitale

Il certificato digitale è un documento elettronico che utilizza la crittografia asimmetrica per associare in modo univoco l’identità di un soggetto alla sua chiave pubblica. Il termine “soggetto” non indica solo individui, ma anche persone giuridiche, siti web o dispositivi IoT.

Nella crittografia asimmetrica ogni entità è associata a una coppia di chiavi, una pubblica e una privata. Per inviare un messaggio cifrato a un destinatario lo si cripta con la sua chiave pubblica, nota a tutti; il destinatario lo decifra con la propria chiave privata. Resta però un problema: come possiamo essere certi che la chiave pubblica che stiamo usando appartenga davvero al nostro interlocutore e non sia stata sostituita da un attaccante? È qui che entra in gioco il certificato digitale, che garantisce l’identità del soggetto associata alla chiave pubblica, contenendo al suo interno le specifiche della chiave, le informazioni sull’intestatario e la firma digitale dell’ente accreditato che l’ha emesso.

Certificati client e certificati server

Una distinzione fondamentale è quella tra certificati server e certificati client. Il tipo più conosciuto è quello lato server, associato ai certificati SSL dei siti web: è il proprietario di un portale a richiedere un certificato per attestare il proprio nome di dominio. Ogni volta che un browser tenta di connettersi al sito, richiede al server di mostrare il certificato; se questo è stato rilasciato da un’Autorità di certificazione riconosciuta e la chiave pubblica decifra correttamente la firma, si avvia una sessione di navigazione sicura in HTTPS.

I certificati client, meno noti ma diffusissimi, servono invece ad autenticare l’identità dell’utente: si trovano nelle VPN, nelle transazioni bancomat, nelle tessere e nei dispositivi di autenticazione. In questo caso è il server a verificare la validità del certificato di chi tenta di connettersi. A differenza del certificato server, non entrano in gioco autorità di certificazione ufficiali: si tratta di file (con estensioni come .p12, .pfx, .pem) installati direttamente sulla macchina client e associati a specifiche credenziali.

Quali dati contiene un certificato digitale

Lo standard internazionale che definisce formato e contenuto dei certificati digitali è l’ITU-T X.509, giunto alla sua terza versione e oggi il più diffuso. Secondo questo standard, un certificato contiene la versione e il numero seriale, l’identificativo dell’algoritmo, l’ente emittente, il periodo di validità, il nome dell’intestatario, le informazioni sulla chiave pubblica, le eventuali estensioni e la firma digitale del certificato stesso.

La firma digitale viene generata utilizzando la chiave privata della Certification Authority che ha rilasciato il certificato. Chiunque debba verificarlo può farlo con la chiave pubblica della CA, garantendo così che i dati contenuti non siano stati manomessi.

Cos’è una Certification Authority

Una Certification Authority (CA) è un’organizzazione che emette certificati digitali per autenticare l’identità di persone, dispositivi, software e altri soggetti. La CA svolge il ruolo di garante di attendibilità: attesta che un’entità è chi dichiara di essere, verificandone l’identità e l’idoneità a ricevere un certificato — dalla legittimità del richiedente alla proprietà del servizio a cui il certificato è destinato.

I certificati emessi dalle CA sono fondamentali per le tecnologie crittografiche come SSL/TLS, per la protezione delle transazioni online e per la sicurezza delle comunicazioni in rete: senza di essi, lo scambio di dati tra client e server potrebbe essere intercettato. In Italia è possibile consultare l’elenco delle Certification Authority accreditate sul sito dell’Agenzia per l’Italia Digitale (AgID).

Come si ottiene un certificato digitale

La procedura varia a seconda del fornitore, ma i passaggi principali sono costanti. Il richiedente genera una coppia di chiavi asimmetriche, quindi fornisce le proprie informazioni alla Certification Authority — nome a dominio, indirizzo e-mail, dati anagrafici — in una fase detta “enrollment”. La CA verifica la correttezza dei dati e, a seconda del tipo di certificato, può richiedere ulteriori documenti; completati gli accertamenti, genera il certificato e lo firma digitalmente con la propria chiave privata. Il certificato firmato viene infine inviato al richiedente, che lo installa sul proprio server. Da quel momento il sito può autenticare la propria identità e cifrare le comunicazioni con gli utenti.

Il certificato non basta: la sicurezza del sito web

Qui va chiarito l’equivoco più diffuso: il certificato digitale protegge la connessione, non l’applicazione. Un certificato SSL/TLS valido garantisce due cose — che il sito sia autentico e che i dati viaggino cifrati tra browser e server — ma non dice nulla su quanto sia sicuro il sito in sé. Un portale può avere un certificato perfetto ed essere al tempo stesso vulnerabile a SQL injection, cross-site scripting, errori di configurazione o falle nella logica applicativa. La cifratura protegge i dati in transito; non impedisce a un attaccante di sfruttare una debolezza dell’applicazione per accedere al database o prendere il controllo del sito.

certificato ssl vs penetration test

Per verificare la sicurezza reale di un sito, quindi, non basta controllare il certificato: occorre testare l’applicazione dal punto di vista di un attaccante. È lo scopo del Web Application Penetration Test (WAPT), che analizza il sito seguendo la metodologia OWASP — lo standard di riferimento per la sicurezza applicativa — per individuare le vulnerabilità che un certificato, per quanto valido, non può in alcun modo intercettare. In altre parole: il certificato è la porta blindata, il penetration test verifica che non ci siano finestre lasciate aperte.

Un certificato valido non mette al riparo dalle vulnerabilità dell’applicazione. Il nostro Web Application Penetration Test, condotto secondo la metodologia OWASP, analizza il vostro sito come farebbe un attaccante reale e individua le falle — da SQL injection a XSS — prima che vengano sfruttate.

Scoprite il servizio WAPT

In conclusione

Il certificato digitale resta uno strumento fondamentale: attesta l’identità di un sito e protegge la riservatezza delle comunicazioni, ed è oggi un requisito imprescindibile per qualsiasi attività online. Ma è importante inquadrarne il ruolo per quello che è — un tassello della sicurezza, non la sicurezza nel suo complesso. Un sito realmente protetto è quello che unisce un certificato valido a un’applicazione verificata e priva di vulnerabilità sfruttabili. Il primo lo garantisce una Certification Authority; la seconda si accerta solo testando il sito sul campo.


    Dichiaro di aver letto e compreso l'Informativa sul trattamento dei dati