Certificato SSL e siti HTTPS: come funzionano

 
 
 
 
 
Autore: Redazione ArgonavisLAB – 03/02/2022
 
 

Un certificato SSL è un certificato digitale che autentica l’identità di un sito web e consente di instaurare una connessione crittografata. SSL è acronimo di Secure Sockets Layer, un protocollo di sicurezza che crea un link crittografato fra un server web e un browser web.

SSL assicura che tutti i dati scambiati fra un client (il browser dell’utente) e un server web (o altro servizio, come ftp, ecc.), in generale fra due sistemi, rimangano impossibili da leggere. Utilizza algoritmi di crittografia allo scopo di rendere irriconoscibili i dati in transito, per impedire agli hacker di leggerli mentre vengono trasmessi sulla connessione.

Per stabilire una sessione tra client e server in modalità https , viene prima eseguita la fase di “handshake SSL” , che prevede

  • Scambio dei certificati pubblici
  • Scambio delle sequenze di byte necessarie per costruire la master secret
  • Verifica dell’autenticità dei certificati
  • Creazione della chiave “master secret” , univoca per ogni sessione e comune a entrambi i sistemi, e che verrà usata per crittografare tutta la sessione di navigazione del client sul server.
  • Messaggio di fine handshake, in cui viene verificato che tutto il processo sia stato regolare e la master secret sia utilizzabile.

Da questo momento può iniziare lo scambio dati tra client e server , tutto il traffico verrà crittografato , impedendo che un intruso sia in grado di leggere il traffico (sniffare), e possa introdursi nella sessione sostituendosi ad uno dei sistemi o di rubare delle informazioni.

Pertanto il certificato SSL assolve a tre funzioni

  • Autenticità: assicura che il server sia chi dice di essere , e non un clone falso.
  • Confidenzialità: definisce una chiave segreta comune ed unica per sessione , usata per crittografare il contenuto del messaggio.
  • Integrità: garantisce che i messaggi tra server e client sia integri e non modificati da un intruso.

La comunicazione SSL tra client e server avviene su quattro fasi

  1. Fase di hello : server e client si scambiano i certificati pubblici e delle sequenze di byte casuali ; il client verifica l’autenticità del certificato inviato dal server.
  2. Processo di costruzione della master secret , la chiave comune unica per ogni sessione, che sarà usata per cifrare il traffico.
  3. Fase di finished : client e server si scambiano il primo messaggio usando la master secret , verificano l’esito positivo e concludono la fase di handshake.
  4. Inizio trasmissione cifrata tra server e client , tramite protocollo SSL.

In conclusione:

Il canale definito durante la fase di SSL handshake è immune da attacchi attivi man-in-the-middle poiché il sistema Server viene autenticato con un certificato digitale.
Il client può comunicare la pre-master secret al sistema server in modo sicuro attraverso la chiave pubblica presente nel certificato del server.

Solo il client e il server , tra cui è iniziata la fase di handshake (tramite il meccanismo chiave pubblica-chiave privata) , possono costruire la stessa master secret, su cui poi si fonda la costruzione di tutte le chiavi segrete adottate nelle comunicazioni successive.

La sequenza corrispondente al pre-master secret viene generata dal client e comunicata per via cifrata al server.  La non predicibilità di questa sequenza è cruciale per la sicurezza del canale SSL.

Il messaggio di finished contiene tutte le informazioni scambiate nel corso dell’handshake. Lo scopo è effettuare un ulteriore controllo sulle comunicazioni precedenti per garantire che queste siano avvenute correttamente, che il client e il server dispongano della stessa Master Secret e che la comunicazione non sia stata oggetto di un attacco attivo.

Scendendo un poco nel dettaglio , abbiamo :

  1. Client hello
  • Il client manda al server un messaggio di “client hello”
  • richiede la creazione di una connessione SSL
  • specifica le prestazioni di “sicurezza” che desidera siano garantite durante la connessione (l’elenco delle cipher suite che e’ in grado di supportare)
  • invia una sequenza di byte casuali.
  1. Server hello
  • Il server manda al client un messaggio di “server hello”
  • seleziona la cipher suite che desidera
  • invia una sequenza di byte casuali
  • Se il client non riceve il messaggio di server hello , il client interrompe la comunicazione
  1. Invio certificato del server
  • Il server invia il suo certificato pubblico (il crt) e i certificati pubblici della catena di certificazione della CA (Intermedi e di root)
  1. Invio del messaggio server hello done
  • Il server invia il messaggio che definisce la conclusione dei messaggi per la definizione del tipo di protezione e relativi parametri.
  1. Verifica dei certificati
  • Il client verifica la data di validita’ del certificato , che la CA sia trust , che la firma apposta dalla CA sia autentica (controllo con la CA). Se il certificato non è stato emesso da una CA pubblica, viene segnalato l’errore e richiesto se accettare comunque il certificato.
  1. Costruzione della pre-master secret
  • Il client genera una sequenza di byte casuali
  • la cifra con la chiave pubblica del server ricevuta nei passi precedenti
  • spedisce la pre-master secret al server
  1. Server e client : Costruzione della master secret
  • Sia il server che il client conoscono le sequenze di byte casuali scambiate tra server e client durante le fasi di client hello e server hello ; e conoscono la pre-master secret
  • Server e client costruiscono la master secret (che sarà uguale per entrambi)
  • L’uso delle sequenze di byte casuali scambiate durante le fasi di hello , client e server) genera una master secret diversa per ogni sessione SSL ; un intruso non può riutilizzare i messaggi di handshake catturati sul canale per sostituirsi in una successiva comunicazione
  1. Message finished
  • E’ il primo messaggio protetto tramite master secret e cipher suite, che i due sistemi si scambiano
  • Il messaggio viene prima costruito dal client e mandato al server
  • Poi il server usando parte del messaggio inviato dal client , costruisce il proprio finished message e lo invia al client
  • nei due invii la struttura del messaggio è la stessa, ma cambiano le informazioni in esso contenute
  1. Fine della fase handshake
  • A questo punto la master secret è utilizzata dal client e dal server per costruire una propria tripla di dati
  • Le triple del client e del server sono diverse tra loro ma note a entrambi i sistemi: ciascuno usa la propria, il che aumenta la sicurezza delle comunicazioni.
  • Client e server sono pronti al colloquio cifrato e inizia la fase del protocollo SSL record
  1. Protocollo SSL record
  • Il canale sicuro approntato dal protocollo SSL handshake viene realizzato dal protocollo SSL record.
  • I dati sono frammentati in blocchi.
  • Ciascun blocco viene numerato, compresso e autenticato mediante l’aggiunta di un MAC cifrato mediate il cifrario simmetrico su cui client e server si sono accordati , trasmesso dall’SSL record utilizzando il protocollo di trasporto sottostante.
  • Il destinatario esegue un procedimento inverso sui blocchi ricevuti:
  1. decifra e verifica la loro integrità
  2. decomprime e riassembla i blocchi in chiaro
  3. consegna all’applicazione sovrastante.

 

Questo articolo, scritto da ArgonavisLAB , ha liberamente preso spunto da vari autori. Si ringraziano Kaspersky Lab e http://pages.di.unipi.it/bernasconi/CRI/ssl.pdf

3 Febbraio 2022

Cryptshare per inviare allegati di grandi dimensioni

Quando è nata la posta elettronica i file pesavano pochissimi kilobyte, con l’evoluzione tecnologica e cryptsharela conseguente riduzione dei costi, le dimensioni dei file sono aumentate ed anche l’esigenza di spedirli tramite posta elettronica.

Purtroppo non sempre è possibile inviarli, non esistendo un limite massimo standard alla dimensione degli allegati, ciascun amministratore può dare un proprio limite alla dimensione massima.
Questa dimosogeneità ha come conseguenza immediata l’impossibilità di prevedere con certezza se il messaggio verrà consegnato.

Questa situazione è particolarmente fastidiosa, perché dopo aver trascorso molto tempo nel tentativo di inviare il messaggio, potrebbe tornare indietro un messaggio che indica il rifiuto.

Il file sharing su Cloud ha ridotto in parte questo problema, ma ne ha introdotti di diverso tipo, l’operazione non è trasparente ma deve essere fatta in tre fasi: il caricamento, la concessione dei diritti e l’inserimento del link nel messaggio, ed inoltre non garantisce la privacy.11-0

Cryptshare invece è la soluzione ideale a questo problema, integrato nei più diffusi client di posta (ad esempio Outlook) permette di allegare il file di qualsiasi dimensione al messaggio.

Quando il messaggio viene inviato, i file in allegato vengono salvati sul proprio server Cryptshare e crittografati in modo da garantire la privacy.

Il destinatario potrà scegliere di scaricare direttamente dal server cryptshare i file di grandi dimensioni, utilizzando una password che verrà fornita dal mittente, senza dover necessariamente far recapitare il messaggio sul proprio mailserver.

Cryptshare è la soluzione completa per rendere moderna la posta elettronica.

argonavislab

Argonavis ed i suoi tecnici sono a tua disposizione. Contattaci per richiedere una demo del prodotto e rendere moderna la tua posta elettronica.

Richiedi Informazioni

22 Aprile 2016

Cryptshare

La posta elettronica nonostante alcune previsioni nel passato l’hanno data per obsoleta e che cryptsharein breve tempo sarebbe stata superata da nuovi strumenti: IM (whatsapp, telegram, facebook) e cloud storage su tutti, è ancora particolare presente e fondamentale nelle nostre abitudini, nonostante qualche limite emerga.

In particolare sono quattro le problematiche a cui si vorrebbe porre rimedio: privacy, allegati di grandi dimensioni, sicurezza e controllo del flusso del messaggio.

Cryptshare è una piattaforma che può essere utilizzata sia come servizio, sia installata sui propri server, che permette di inviare dei messaggi di posta elettronica crittografando sia il contenuto del messaggio che gli allegati presenti.

making_e-mail_better

Il messaggio anziché essere consegnato direttamente nella casella, viene conservato sul server

Cryptshare in maniera sicura e garantire la privacy del contenuto viene crittografato usando l’algoritmo AES a 256 bit, mentre al destinatario arriva una notifica che lo avvisa della presenza di un messaggio inviato in maniera sicura che attende di essere scaricato.

Quando l’utente preme sul link presente nella notifica, può accedere al contenuto del messaggio incluso l’allegato, e può scaricarlo direttamente dalla piattaforma Cryptshare oppure farsi consegnare il messaggio sulla propria casella. In questo modo non avremo difficoltà nello scambiare allegati di grandi dimensioni.

Le operazioni di consultazione del messaggio vengono loggate ed è così possibile superare un noto problema dei classici messaggi email, ovvero avere la certezza che il destinatario abbia anche letto il messaggio. In questo caso avremo evidenza di data ed ora in cui il messaggio è stato aperto.

Cryptshare può essere utilizzato anche per ricevere messaggi, utilizzando o strumenti automatici resi disponibili da API, oppure tramite interfaccia web. Su tutti gli allegati può essere effettuata una scansione anti-malware, per garantire maggior sicurezza.

Cryptshare è il prodotto giusto per dare una risposta efficace e migliorare il funzionamento della posta elettronica.

argonavislab

Argonavis ed i suoi tecnici sono a tua disposizione per rispondere a quesiti tecnici e/o commerciali, contattaci subito per avere informazioni.

Richiedi Informazioni

20 Aprile 2016