La Crittografia nell’ambito del protocollo HTTP
• Classe: V istituto professionale (gestione aziendale)
• Obiettivo 1: Generazione di competenze e preparazione su argomenti
attuali da spendere anche nel mondo del lavoro nell’immediato, nella
gestione aziendale o per eventuale proseguimento studi
• Obiettivo 2: Creazione di stimoli esterni in ambito pratico che
incuriosiscano e motivino in maniera più elevata gli alunni in
informatica e in tutti i campi del mondo reale
• Prerequisiti: Algoritmi e Reti di computer
Chiave Asimmetrica
Simmetrica & Asimmetrica
Pericoli esterni
Emissione certificato
HTTP e sicurezza
• il protocollo HTTP è estremamente insicuro in quanto trasmette i dati
“in chiaro”
• Per quanto concerne confidenzialità e integrità dei dati, due sono i
protocolli di sicurezza di maggiore impiego:
• → SSL (Secure Socket Layer) : messo a punto da Netscape nel 1994, si
pone come strato intermedio tra il transport layer (TCP/UDP) e
l’application layer (FTP, Telnet, HTTP, SMTP) del protocollo TCP/IP
garantendo un canale di comunicazione sicuro.
• → S-HTTP (Secure HTTP): lavora a livello applicativo e in particolare
estende il protocollo HTTP mediante la definizione di attributi di
sicurezza.
SSL e porte logiche dedicate
E’ semplice verificare se la sessione è sicura, in quanto l’URL del sito cambia
da http in https (es. https://www.sito.it) e in un punto dello schermo appare
un lucchettino
Handshake connessione protetta SSL
• 1. Client Hello: il client invia al server alcuni random byte e comunica la scelta di un algoritmo a
chiave privata per lo scambio dei messaggi, di un algoritmo a chiave pubblica per lo scambio
delle chiavi di sessione e di un algoritmo di hashing.
• 2. Server Hello: il server invia al client il proprio server certificate, altri random byte e fornisce il
proprio acknowledgment ai protocolli scelti dal client. Il server termina la propria sessione
inviando al client un session identifier, utilizzabile in ogni altra sessione per evitare ulteriori
handshaking che rallenterebbero le performance del sistema.
• 3. Certificate request: il server chiede che il client presenti un valido client certificate.
• 4. Client certificate: il client invia al server il proprio certificato.
• 5. Client key exchange: il client verifica il server certificate inviatogli dal server; a questo punto
il server è autenticato. Genera poi un pre-master secret che, assieme i random byte, sarà usato
come "chiave generatrice" di una coppia di chiavi simmetriche e lo crittografa con la server
public key contenuta nel public server certificate; il tutto è inviato al server.
Handshake connessione protetta SSL
• 6. Server verifier: il server decrittografa il pre-master secret inviatogli con la propria server
private key, calcola il master secret e genera la coppia di chiavi simmetriche di sessione (lato
server).
• 7. Client finished: il client invia al server una checksum costruita crittografando, con la clientwrite-key, l’hash calcolato dall'unione dei precedenti messaggi con la chiave generatrice (il
master secret).
• 8. Server finished: ricevuti tutti i dati dal client, il server verifica che l'hash di controllo inviato
dal client sia corretto ed invia al client il proprio hash di controllo costruito in modo simile (ma
non identico).
• 9. Start communication sessions: una volta verificato anche quest'ultimo hash, ogni ulteriore
sessione client-server potrà essere instaurata utilizzando le chiavi di sessione e i relativi
algoritmi di crittografia simmetrici (più veloci di quelli asimmetrici) precedentemente definiti.
Esercitazione pratica ai PC di Laboratorio
Esercitazione pratica ai PC di Laboratorio
Esercitazione pratica ai PC di Laboratorio
Raccomandazioni conclusive
Quando si lascia l'area di sicurezza di un sito
appare una finestra di dialogo che ci avvisa che
si sta abbandonando una connessione protetta.
Altra cautela va tenuta quando, pur entrando in
un sito di cui si può anche conoscere l’origine, si
riceve il seguente avviso andando nella zona
protetta (certificato non attendibile).
Le informazioni che fornisce il Browser si
spiegano da sole, basta leggere!