La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

HTTPS Sicurezza 2003/2004 Simone Vallarino. Sommario Introduzione Che cosè Perché è nato e chi lha creato HTTPS = HTTP+SSL/TLS Connessione (HTTP over.

Presentazioni simili


Presentazione sul tema: "HTTPS Sicurezza 2003/2004 Simone Vallarino. Sommario Introduzione Che cosè Perché è nato e chi lha creato HTTPS = HTTP+SSL/TLS Connessione (HTTP over."— Transcript della presentazione:

1 HTTPS Sicurezza 2003/2004 Simone Vallarino

2 Sommario Introduzione Che cosè Perché è nato e chi lha creato HTTPS = HTTP+SSL/TLS Connessione (HTTP over TLS) Fase di identificazione (HTTP over TLS) Formato dellURL e comportamento del browser Esempi di attacchi a HTTPS Considerazioni finali

3 Introduzione Abbiamo già visto: HTTP (Hyper text transfer protocol) Ricordiamo: Protocollo di trasmissione client-server di tipo request/response basato su: TCP-IP (Transmission Control Protocol)

4 Che cosè HTTPS Secure Hyper Text Transfer Protocol Come lHTTP ma… Sicuro! Perché le informazioni che viaggiano su internet passano attraverso un canale cifrato

5 Che cosè

6 Perché è nato e chi lha creato Successo dellHTTP che era però usato in chiaro su internet (limitativo !) Utilizzo di internet per applicazioni sensibili (commercio elettronico, banche, aziende,ecc.)

7 Perché è nato e chi l ha creato Quindi… Precisiamo le motivazioni base: Le informazioni scambiate tra 2 applicazioni su Internet passano per diverse organizzazioni, occorre un sistema per poter avere transazioni confidenziali. Molti servizi richiedono il supporto di alcune importanti proprietà come: autenticazione e integrità dei dati Occorre tener conto del concetto di non ripudiabilità delloriginale

8 Perché è nato e chi l ha creato Sviluppato da Netscape La prima implementazione pubblica nata come HTTP over SSL era in Netscape Navigator 2 nel 1995 Non sono stati pubblicati standard veri e propri Praticamente inalterato fino allRFC2818 (maggio 2000) con la sostituzione di SSL con il più evoluto TLS Da non confondersi con S-HTTP ! S-HTTP è una speciale versione di HTTP accresciuta in sicurezza proposta come standard dallEIT (Enterprise Integrated Technology). Si poneva come alternativa a SSL.

9 HTTPS = HTTP + SSL/TLS Per rendere sicuro il protocollo http(hyper text transfer protocol) si rende utile lutilizzo di un altro protocollo : Prima: SSL (Secure socket layer) introdotto da Netscape a partire dal 1994 come protocollo di gestione della sicurezza dei messaggi che transitano in internet Ora: TLS (Transport Layer Security) successore di SSL (basto sulla versione 3.0) nato nel 1999 ad opera dellIETF

10 HTTPS = HTTP + SSL/TLS Ricordiamo: TLS/SSL si tratta di protocolli che garantiscono la privacy delle comunicazioni su Internet Creati per prevenire le intrusioni, le manomissioni e le falsificazioni dei messaggi

11 HTTPS = HTTP + SSL/TLS tre funzionalità fondamentali: Privatezza del collegamento: La crittografia (simmetrica). è usata dopo un handshake iniziale per definire una chiave segreta. Autenticazione: L'identità nelle connessioni può essere autenticata, così i client sono sicuri di comunicare con il corretto server, prevenendo ogni interposizione (uso di crittografia asimmetrica, o a chiave pubblica). Affidabilità: si verifica che i dati spediti tra client e server non siano stati alterati durante la trasmissione (check basato su MAC e utilizzo funzioni Hash)

12 HTTPS = HTTP + SSL/TLS Quindi: HTTPS = HTTP + SSL/TLS Posizionamentro allinterno della pila del protocollo TCP/IP: viene introdotto un ulteriore livello che si colloca tra quello di applicazione e quello di trasporto Concettualmente: uso HTTPS attraverso SSL/TLS come si fa con HTTP attraverso TCP. HTTP SMTP FTP SSL o TLS TCP IP

13 HTTPS = HTTP + SSL/TLS il canale sicuro di cui parlavano è rappresentato da SSL/TLS

14 Connessione Inizio della connessione: Chi agisce da HTTP client deve anche essere in grado di agire come TLS client La connessione inizia su una determinata porta con il segnale SSL/TLS ClientHello Segue il SSL/TLS handshake Tutti i dati http devono essere inviati come SSL/TLS application data. Non viene spedito nessun dato riguardante il client finchè la connessione SSL/TLS non è attiva Per il resto vengono seguite le normali caratteristiche dellHTTP

15 Connessione Chiusura della connessione TLS fornisce una struttura per la chiusura di connessione sicura:Quando si riceve un valido segnale (alert) di chiusura sicuramente non si avranno ulteriori dati su quella connessione. Chiusura normale: le implementazioni di TLS devono aver portato a termine uno scambio di alert di chiusura prima delleffettiva chiusura Incomplete close: una implementazione tls, dopo aver spedito un segnale di chiusura può anche non aspettare la sua corrispettiva generando così una chiusura incompleta con il vantaggio che può riutilizzare questa sessione Premature close : Unimplementazione che riceve un connection close senza prima aver ricevuto un close alert valido non può riusare la sessione. Non indica la perdita della sicurezza dei dati ma soltanto che potrebbero essere troncati

16 Connessione Client hello Client hello Server hello Server Certificate serverHelloDone ClientKeyExchange E(Kserv, PK) ChangeCipherSpec FIN Handshake (MAC) ChangeCipherSpec Handshake

17 Connessione Application_data http request Application_data http response Alert : close_notify Alert : close_notify Alert : close_notify Data Close

18 Connessione Port number: Il primo dato che un server http si aspetta di ricevere da un client è il request line production. Il primo dato che si aspetta di ricevere un server tls(e quindi anche un server http/tls) è il clienthello, quindi per distinguerli: Se vengono usati su una connessione TCP/IP HTTP server attende su porta 80 HTTP/TLS server attende su porta 443 Poiché https e http sono differenti protocolli ed usano porte diverse, lo stesso sistema server può far girare contemporaneamente entrambi i tipi di server

19 Fase di identificazione Endpoint identification Server identity: Solitamente le richieste attraverso http/tls sono generate differenziando una url, di conseguenza lhostname per il server è conosciuto al client. Se lhostname è disponibile,il client deve controllarlo rispetto allidentità del server presentata nel server certificate message al fine di prevenire attacchi del tipo man in the middle Se il client ha informazione esterne sulla supposta identità del client il controllo dellhostname può essere omesso. In questi casi è importante restringere il dominio dei certificati accettabili il più possibile sempre al fine di prevenire attacchi del tipo man in the middle.

20 Fase di identificazione Vengono confrontati i nomi nel certificato con lhostname E concesso luso di wildcard (*) Se lhostname non corrisponde con il nome nel certificato il client è tenuto a lasciare la scelta allutente se continuare o meno Si noti che in molti casi lURI stesso proviene da una sorgente non verificata. Lidentificazione descritta non provvede protezione contro attacchi dovuti al fatto che questa sia compromessa.

21 Fase di identificazione Client identity tipicamente si sceglie di non autenticare i clienti. Se si sceglie di farlo si utilizzano dati esterni (ad es. il numero della carta di credito o la password) Lidentificazione del cliente non era supportata con i primi SSL ora lo è (era la differenza fondamentale con lS-HTTP).

22 Formato dellURI Il formato dellURl: si differenzia dal normale uso di http per luso di https: Sintassi: https://hosthttps://host [:port]/path [#fragment][?query] ad esempio: https://webmail.unige.it Indica che ci vogliamo/dobbiamo collegare in maniera sicura

23 Comportamento del browser Allentrata in modalità sicura il browser ci avverte con un messaggio Confermato successivamente (di solito) da un simbolo (lucchetto a dx su netscape, a sx su IE)

24 Comportamento del browser E anche possibile visualizzare una finestra con le informazioni relative al certificato che stabilisce delle credenziali sul web (solitamente cliccando sul lucchetto) Il certificato è emesso da una CA (certification autority) e contiene tutte le informazioni (nome, numero seriale, data di scadenza, una copia della chiave pubblica del proprietario)

25 Comportamento del browser

26

27 Esempi di attacchi Substitution attack Possibile se lattaccante ha la possibilità di sostituire la pagina Il riferimento a https://amazone.com viene rimpiazzato con https://amaz0ne.comhttps://amazone.comhttps://amaz0ne.com In html: … https://amaz0ne.com Click here to go to https://amazone.comhttps://amazone.com … Quando luser clicca sul link la richiesta viene spedita per: https://amaz0ne.comhttps://amaz0ne.com Il certificato corrisponde con lhost richiesto…

28 Esempi di attacchi Referrer attack Il referrer header contiene lurl della pagina che lutente stava visualizzando quando ha cliccato sul link per la pagina corrente Nelle form che utilizzano il metodo GET gli argomenti sono concatenati allURL: es:www.ebay.com/confirm.htm?visa=123&item=7 Quando lutente cliccherà sulla pagina aperta dal form submission questa stringa apparirà nel referrer header in richiesta alla nuova pagina Gli argomenti vengono passati nel referrer header: Se la nuova pagina è HTTP sono passati in chiaro !!! Se anche fosse HTTPS ma di un altro sito gli argomenti passati al primo sito saranno noti anche al secondo Soluzione: usare il metodo POST nei form in quanto, al contrario di GET passa gli argomenti nel body della richiesta

29 Considerazioni finali HTTPS è sostanzialmente semplice e ben funzionante Ha trovato uso comune nelle applicazioni web (online shop ecc.) Occorre tuttavia attenzione da parte dellutente (vedi attacchi tipo substitution) e da chi progetta servizi web (vedi attacchi tipo referrer) Un difetto ovvio: le prestazioni (intese come velocità nel tempo) sono inferiori al normale HTTP


Scaricare ppt "HTTPS Sicurezza 2003/2004 Simone Vallarino. Sommario Introduzione Che cosè Perché è nato e chi lha creato HTTPS = HTTP+SSL/TLS Connessione (HTTP over."

Presentazioni simili


Annunci Google