Passa al contenuto principale
Immagine
motivo esagonale viola

Il protocollo di trasferimento ipertestuale, HTTPS, è il principale protocollo utilizzato per inviare dati tra un browser e un sito web. HTTPS utilizza il TLS (transport layer security) per crittografare le richieste e le risposte HTTP, rendendo (da cui la "S") quindi lo stesso protocollo una versione sicura. Si utilizza in diverse applicazioni: ad esempio in accessi all'account, nell'e-commerce e nelle applicazioni di posta web, per citarne alcune.

NOTA: I certificati TLS si indicano spesso come certificati TLS/SSL.

Come funziona HTTPS? (Nozioni di base)

HTTPS è un'implementazione della crittografia TLS in aggiunta al protocollo HTTP. Pertanto, in termini di sicurezza, quando un utente visita un sito che supporta HTTPS, ottiene i seguenti vantaggi:

  • Autenticazione: contribuisce a verificare l'identità del sito web. Ad esempio, se la barra del browser mostra https://www.entrust.com, puoi avere la certezza che sia di proprietà di Entrust Corporation.
  • Crittografia: nasconde a terzi i dati in transito.
  • Integrità: verifica che i dati non siano stati manomessi.
Che cosa fa l'HTTPS

Perché l'autenticazione HTTPS è così importante?

L'autenticazione di un sito web è importante perché consente al visitatore del sito di verificare l'identità e la proprietà del sito web, aiutandolo a distinguere tra un sito web reale e uno potenzialmente falso o fraudolento.

Il visitatore può capitare su un sito web errato attraverso diversi vettori di attacco, ad esempio a causa del poisoning del DNS, malware o siti di phishing.

L'associazione di un'identità a un sito web è in genere eseguita da un'organizzazione di terze parti, come un'autorità di certificazione (CA) che segue rigorose linee guida del settore.

Come funziona l'identità in HTTPS?

Per autenticarsi su un sito web HTTPS, un browser che si connette a un sito utilizzerà un certificato TLS/SSL emesso da un'autorità di certificazione come Entrust.

Richiesta di un certificato TLS/SSL

Per aggiungere identità a un sito web, il proprietario del sito web deve richiedere un certificato TLS/SSL, che deve essere emesso da un'autorità di certificazione pubblicamente attendibile come Entrust. Per un'azienda, il certificato TLS/SSL è analogo a un passaporto digitale dato che include dettagli verificati come:

  • URL del sito web
  • L'organizzazione proprietaria del sito web
  • Le date di emissione e scadenza del certificato
  • Il nome dell'autorità di certificazione che ha emesso il certificato
  • La chiave pubblica (usata per crittografare i dati)

Il proprietario di un sito web, per ottenere un certificato TLS/SSL, deve seguire i seguenti passaggi:

  1. Genera una richiesta di firma del certificato (CSR), che include una coppia di chiavi pubblica/privata
  2. Dimostra all'autorità di certificazione il controllo dei domini da includere nel certificato TLS/SSL
  3. Dimostra l'identità dell'organizzazione e di avere l'autorizzazione a richiedere un certificato TLS/SSL per conto dell'organizzazione

Al termine del processo di verifica, viene emesso il certificato TLS/SSL, che può quindi essere installato dal proprietario del sito web nei siti relativi. ogni volta che un visitatore si collega all'URL del sito web tramite https://, viene presentato il certificato TLS/SSL

In che modo un sito web condivide la propria identità con i visitatori del sito

Quando un visitatore accede a un sito web HTTPS, al browser viene inviata una copia del certificato TLS/SSL. Cliccando sull'icona del lucchetto a sinistra della barra degli URL, quindi selezionando La connessione è sicura e Il certificato è valido si visualizzerà un certificato del sito simile alla seguente immagine.

Certificato Informazioni generali sul certificato

Per visualizzare ulteriori informazioni sull'organizzazione proprietaria del sito, un visitatore può aprire la scheda Dettagli in modo simile alla seguente immagine.

Dettagli del certificato Oggetto

Dettagli del certificato SSL per entrust.com

Se il certificato mostra i dettagli dell'azienda del proprietario del sito (nome dell'azienda, ubicazione), si tratta di un certificato di convalida estesa (EV) o di convalida dell'organizzazione (OV).

 

In che modo un browser verifica un certificato TLS/SSL

Per verificare che il certificato TLS/SSL presentato dal sito web sia accurato e legittimo, il browser eseguirà una sequenza di controlli. Il browser:

  1. Controlla la firma digitale dell'autorità di certificazione per verificare che il certificato sia stato emesso da un'autorità di certificazione presente nell'archivio radice attendibile del browser
  2. Verifica che il dominio del certificato SSL corrisponda a quello del sito web a cui sta accedendo il visitatore del sito
  3. Verifica che il certificato SSL sia valido e non sia scaduto o revocato

dopo aver completato questi controlli, il browser del visitatore del sito visualizzerà https:// e un'icona a forma di lucchetto davanti all'URL del sito web.

La seguente immagine mostra che il certificato del sito è stato emesso da Entrust e che include una firma digitale di Entrust. Il browser del visitatore del sito può utilizzare tale firma digitale per verificare che il certificato sia valido ed emesso da Entrust.

Dettagli del certificato Algoritmo di firma

Firma digitale su certificato SSL emesso dall'autorità di certificazione Entrust

Archivi radice

Il browser, per verificare il certificato TLS/SSL di un sito web, necessita di una copia della chiave pubblica dell'autorità di certificazione, conservata nell'archivio radice del browser stesso.

Un archivio radice contiene i certificati digitali e le chiavi pubbliche associate di ogni autorità di certificazione sicura.

Percorso di certificazione

Percorso di certificazione per il certificato SSL di Entrust.com

  1. Il certificato principale è il certificato di root. È precaricato nell'archivio radice del browser.
  2. Quello intermedio è il certificato intermedio. È firmato digitalmente dalla CA del certificato di root e quindi verrà considerato affidabile anche dal browser. Il browser verifica la firma utilizzando la chiave pubblica di Entrust dal certificato di root precaricato.
  3. Il certificato di livello inferiore è il certificato dell'entità finale ed è il certificato TLS/SSL di Entrust inviato dal server quando il browser si è connesso al sito. Il browser può verificare il certificato dell'entità finale utilizzando la firma digitale del certificato intermedio.

Come funziona la crittografia in HTTPS?

Il browser crittograferà i dati utilizzando la chiave pubblica dal certificato TLS/SSL del sito HTTPS sul quale un visitatore inserisce informazioni (dati della carta di credito, dati di accesso, compilazione di un modulo, ecc.) prima che i dati vengano inviati dal browser al server.

Il processo di crittografia rappresenta un sistema per codificare i dati in transito in modo che possano essere letti solo dalle parti autorizzate. La crittografia, quindi, traduce il testo normale, leggibile dalle persone, in un testo cifrato incomprensibile.

La crittografia sembra far apparire i dati in ordine casuale, tuttavia, i dati crittografati seguono uno schema logico e prevedibile. È necessario però che il sito web che riceve i dati disponga della chiave privata giusta per decrittografarli.

processo di crittografia e decrittografia

Panoramica di alto livello del processo di crittografia e decrittografia

Che cos'è una chiave in crittografia?

Una chiave crittografica è una stringa di caratteri utilizzata all'interno di un algoritmo di crittografia per alterare i dati di testo in chiaro in modo da farli sembrare casuali. La chiave crittografica si usa per crittografare e decrittografare i dati.

Quali sono i diversi tipi di crittografia?

Esistono due tipi principali di crittografia.

Crittografia simmetrica

La crittografia simmetrica prevede una sola chiave, che viene utilizzata e condivisa da tutte le parti comunicanti per criptare e decriptare le comunicazioni. La crittografia simmetrica, sebbene sia più veloce di quella asimmetrica, non è una forma adatta alla scalabilità a causa delle complessità associate alla distribuzione sicura della chiave.

Crittografia simmetrica

Crittografia asimmetrica

La crittografia asimmetrica (nota anche come crittografia a chiave pubblica) include due chiavi separate. Una chiave (la chiave pubblica) è accessibile a chiunque e si utilizza per la crittografia. Una seconda chiave (la chiave privata) è tenuta al sicuro dal destinatario e viene utilizzata per la decrittazione. La crittografia asimmetrica è più lenta di quella simmetrica, ma è più semplice la distribuzione delle chiavi tra più utenti.

Crittografia asimmetrica

Che cos'è un algoritmo crittografato?

L'algoritmo di crittografia è il metodo che converte il testo in chiaro in testo cifrato. Il testo in chiaro viene convertito in testo cifrato quando un algoritmo di crittografia altera i dati in modo prevedibile attraverso una chiave privata. Ciò consente di riconvertire il testo cifrato in testo in chiaro utilizzando una chiave di decrittazione.

Gli algoritmi di crittografia simmetrica più diffusi sono:

  • AES
  • 3-DES
  • NEVE

Gli algoritmi di crittografia asimmetrica più diffusi sono:

  • RSA
  • Crittografia a curva ellittica (Elliptic Curve Cryptography, ECC)

Che cos'è l'handshake TLS/SSL?

Una connessione TLS si avvia seguendo una sequenza definita spesso handshake TLS/SSL. Questa procedura si avvia quando un visitatore apre un sito web che utilizza un certificato TLS/SSL. Il processo inizia tra il dispositivo dell'utente e il sito web a cui si sta connettendo.

Handshake TLS/SSL

Passi 1-2: Negoziazione di Hello e Cipher Suite

Il browser del visitatore del sito e il server web si inviano il messaggio "hello" e concordano su quali Cipher Suite (algoritmi di crittografia) utilizzare.

Passi 3-4: Certificato e scambio di chiavi

Il server web invia una copia del proprio certificato TLS/SSL e del certificato intermedio, con la chiave pubblica, al browser del visitatore del sito. Il browser del visitatore del sito web verificherà, nell'archivio di root dei certificati del browser, la validità del certificato TLS/SSL in base alla sua firma digitale e al certificato di root.

Passo 5: Dopo il messaggio ServerHello

Se tutti i controlli del browser vengono superati, si stabilisce un canale di comunicazione sicuro unidirezionale tra il browser e il server web.

Passi 6-10: Scambio di chiavi client e modifica delle specifiche di crittografia

Il browser e il server web passano dalla crittografia asimmetrica a quella simmetrica impostando una nuova chiave di crittografia condivisa, utilizzando un canale di comunicazione unidirezionale sicuro perché è più veloce ed efficiente. La modalità di creazione di questa chiave di sessione condivisa dipende dalla suite di crittografia concordata dopo la negoziazione della suite di crittografia nel passaggio 2.

Una volta generata la chiave di sessione, il processo di handshake TLS è completato e il browser e il server web utilizzano la chiave di sessione per crittografare e decrittografare tutti i dati scambiati.