Please enable JavaScript.
Coggle requires JavaScript to display documents.
Lezione 31: protocolli TLS e HTTPS - Coggle Diagram
Lezione 31: protocolli TLS e HTTPS
Il protocollo
TLS
è un'evoluzione di
SSL* in una versione standard per
internet**
Costituito da una serie di protocolli che si appoggiano sul livello
TCP
Una differenza principale è che il
padding
non si fa soltanto fino alla quantità minima di multipli interi della dimensione del blocco, ma si può usare qualsiasi multiplo
La casualità della lunghezza dei messaggi rende più complessi gli attacchi di analisi della lunghezza
Funzione pseudo-random
Serve per generare dati segreti, come chiavi di sessione
Usa una funzione pseudocasuale per espandere i valori segreti in blocchi di dati per la generazione o la convalida della chiave
Basata su
HMAC
prende in input
Seed
: seme pubblico = client_random || server_random
Valore segreto
: condiviso tra client e server e generato con RSA o Diffie-Hellman
Si esegue HMAC passando in input
seed
e
secret
ottenendo A(1)
A(1) viene concatenato con
seed
Si esegue HMAC tra A(1) ||
seed
e
secret
, il risultato è il primo blocco del codice generato
A(1) va in input al primo HMAC per il calcolo del 2° blocco
A(i) = HMAC(secret,A(i-1))
Si può iterare più volte fino ad ottenere quantità di dati desiderata
Usa HMAC con SHA-1 (digest=20 byte) o MD5 (digest=16 byte)
Per aumentare la sicurezza si possono anche usare entrambi gli algoritmi di hash in modo combinato (uno nel primo step, l'altro nel secondo)
HTTPS
Combinazione di HTTP e SSL per implementare una comunicazione sicura tra un browser e un server web
All'avvio il client si connette al server sulla porta appropriata e invia un TLS client hello per iniziare la fase di TLS
handshake
Una volta terminato il client può inoltrare la prima richiesta HTTP
Tutti i dati HTTP sono inviati come dati dell'applicazione TLS
Si riconosce dall'inizio dell'URL = "https://" e dal lucchetto
Non ci sono differenze tra HTTP su SSL o su TLS, entrambe vengono chiamate HTTPS
Utilizza la porta 443 invece che la 80 di HTTP
Cifrato: URL, contenuti risorsa, contenuti form, cookies, header HTTP