Certificati Digitali e HTTPS

Minacce

Per poter capire che cosa sono i Certificati Digitali e il protocollo HTTPS, abbiamo bisogno di parlare di crittografia. Ma non vi preoccupate: sarà rapido e indolore. La cosa più importante da sapere è che la crittografia rappresenta oggi giorno la miglior garanzia di sicurezza e di privacy.

certificati digitali e HTTPS

In diverse occasioni, in particolare quando realizzate acquisti online, vi abbiamo consigliato di verificare la presenza del lucchetto verde o grigio nella parte superiore dei browser; esso sta ad indicare che la pagina web possiede la variante HTTP sicura, ovvero HTTPS –  HyperText Transfer Protocol over Secure Socket Layer. In altre parole, HTTPS è sinonimo di sicurezza. Dobbiamo sempre assicurarci della presenza di tale protocollo nel barra del browser prima di inserire informazioni sensibili in un sito, specialmente se si tratta di dati di pagamento o di banca online. Ma cosa significa HTTPS?

La sigla HTTPS sta per HyperText Transfer Protocol over Secure Socket Layer; è una varietà protetta del protocollo base utilizzato per la trasmissione di dati via web. Connettersi a una pagina web via HTTPS (piuttosto che HTTP) significa che qualsiasi dato trasmesso – informazioni di login, un commento in un blog o una trasferenza bancaria – passerà attraverso il Transport Layer Security (TLS) o il suo predecessore, Secure Sockets Layer (SSL).

Dunque, HTTPS significa crittografia e crittografia significa sicurezza. Tuttavia, crittografia a parte, come posso essere sicuro che sto comunicando con la persona o con il servizio giusto? Come possiamo assicurarci che il sito che stiamo visitando e in cui stiamo inserendo le credenziali di login non sia falso? Immaginiamo che stiamo comprando un antivirus Kaspersky. Come possiamo essere sicuri al 100% che le informazioni di pagamento che riceviamo siano sicure e che non ci sia di mezzo lo zampino di un hacker? Ed infine, come possiamo esser certi che terzi non stiano spiando la nostra transazione? Qui è dove entrano in gioco i certificati digitali.

Puoi verificarlo tu stesso digitando HTTPS nella barra del browser. Se il sito ha un certificato valido, il server che ospita il sito presenterà il certificato al browser (si tratta di una lista di distributori di certificati affidabili) e non accadrà nulla di particolare. In base al browser, puoi trovare un piccolo lucchetto sulla barra del browser (o un suo equivalente) su cui puoi cliccare e leggere le informazioni relative al certificato e ai distributori. Ad ogni modo, se cerchi di accedere alla versione HTTPS del sito e la pagina non ha un certificato valido, apparirà  un messaggio di avviso SSL come questo:

messaggio di avviso

Questo messaggio, è la forma che adotta il tuo browser per dirti che non ha potuto verificare l’identità del server del sito a cui stai cercando di accedere. È molto importante avere un sistema di certificati come questo per verificare che i siti e i servizi siano quelli che dicono di essere e non incorrere in attacchi man-in-the-middle.

Ora che sei in possesso di qualche concetto base in materia di HTTPS e Certificati Digitali, vediamo come i due elementi – HTTPS e certificati – sono collegati. In pratica, il protocollo HTTPS ti informa che le informazioni che stai inviando verranno criptate in itinere, in modo sicuro, e che i dati stanno andando nella giusta direzione.

Una volta compreso il funzionamento dei certificati e il loro scopo, è opportuno chiarire il concetto stesso di certificato, dato che non è un’idea astratta. Un certificato digitale è un documento firmato elettronicamente e vincola una pagina web o un servizio a un distrubuitore che ha confermato la sua identità. Contiene la firma algoritmica unica, le informazioni di identificazione, quelle relative al distributore del certificato e un periodo di validità che indica quando il certificato è stato rilasciato e per quanto tempo è valido. La firma è la parte finale di un certificato digitale e conferma che l’utente sta comunicando con chi realmente desidera e che la comunicazione viene crittografata in itinere.

L’ultimo pezzo del puzzle è la parte relativa alle autorità che distribuiscono tali certificati. Una autorità o organizzazione che vende o distribuisce certificati si chiama Certificate Authority o, letteralmente, Autorità Certificativa. GoDaddy, VeriSign e Entrust sono le prime tre autorità certificative che mi vengono in mente. Io stesso potrei affermare di essere una autorità certificativa e iniziare a vendere certificati, se volessi. Il problema è che nessuno si fiderebbe dei miei certificati. Questo è il punto: i certificati sono validi solo se sono affidabili e attendibili, ovvero se gli viene data fiducia, se qualcuno garantisce per loro.

Come possiamo sapere se sono affidabili o no? Qui entrano in gioco i certificati root. I certificati root sono certificati che vengono considerati affidabili di default dalla maggior parte dei browser e hanno il potere di estendere la loro attendibilità ad altri certificati. Diciamo che qualcuno di nome Larry distribuisce certificati ed è una certificate authority di certificati root. Il tuo browser si fiderà di qualsiasi certificato di Larry, ma non solo; si fiderà anche di qualsiasi altro certificato per cui Larry garantisce. Esistono molte certificate authority sul mercato e questo è il loro modo di verificare l’autentiticità. Lasciamo quindi che le autorità certificative affidabili decidano quali siano le altre autorità certificative attendibili e tutti vivranno felici e contenti. Vi sembra giusto? Beh, non è così che dovrebbe funzionare.

È facile dedurre che l’attuale sistema di gestione dei certificati digitali è piuttosto controverso. I certificati digitali, le firme ivi contenute e le certificate authority che li rilasciano sono elementi importanti per la sicurezza della nostra navigazione, ma il sistema si basa su di un meccanismo contraddittorio e pieno di falle. Tuttavia, questo è il sistema attualmente in uso e su cui ci affidiamo quando realizziamo pagamenti o inviamo documenti e e-mail.

È evidente che abbiamo bisogno di un nuovo sistema. Le violazioni subite da diverse certificate authorithy, come DigiNotar e Comodo, o i casi che hanno visto, non uno, ma ben due certificati contraffatti, che hanno permesso la diffusione del virus Stuxnet, lo dimostrano. Ricercatori di sicurezza IT come Moxie Marlinspike hanno suggerito che il sistema ‘Convergence SSL’ potrebbe essere la soluzione al problema. Nonostante il debutto di ‘Convergence’ presso la conferenza Black Hat Security, risalente a due anni fa, e la sua positiva ricezione, tuttora ci affidiamo ad un sistema di certificati inadeguato, che fa acqua da tutte le parti. È importante utilizzare un sistema sicuro dato che ogni giorno in rete inviamo dati importati, realizziamo trasferenze e acquistiamo cose. Ogni volta che sentiamo parlare di una violazione di una certificate authority, ci lamentiamo ma non facciamo nulla per cambiare le cose.

Dunque cosa possiamo fare? Tutto quello che puoi fare è assicurarti che stai navigando in HTTPS quando inserisci dati importi in un sito, come informazioni di pagamento o credenziali di login e quando invii una e-mail. Oltre a questo, puoi cliccare sull’icona del lucchetto, o il suo equivalente, e esaminare il certificato stesso. Si consiglia, inoltre, di rimanere aggiornati circa le ultime novità in materia di sicurezza IT e revocare manualmente la ‘fiducia’ ad alcune autorità certificative quando e se compromesse. Revocarne l’attendibilità significa che il tuo browser non si fiderà più del suo certificato o dei siti per cui garantisce. Appena vieni a sapere di una certificate authority compromessa, la cosa migliore è revocarne immediatamente la fiducia dalle impostazioni del tuo browser. Ma non c’è bisogno di preoccuparsi eccessivamente perché Microsoft, Mozilla e Google hanno reagito velocemente e hanno già iniziato ad occuparsi della questione, revocando la fiducia a diverse authority compromesse (peccato non poter dire lo stesso di Apple). Il segreto è utilizzare soluzioni di sicurezza complete, rimanere aggiornati sulla ultime novità e sui patch per il tuo browser e per il tuo sistema operativo.