Studio ed implementazione di un protocollo di autenticazione mediante l’utilizzo di Cache Cookie

30
Introduzione Cookie e Cache Cookie Tecniche crittografiche a supporto Un nuovo protocollo di autenticazione Conclusioni e sviluppi futuri Studio ed implementazione di un protocollo di autenticazione mediante l’utilizzo di Cache Cookie Tesi di laurea di: Bettini Paolo F. A. - matricola 736488 Relatore: Prof. Stelvio Cimato UNIVERSITÀ DEGLI STUDI DI MILANO Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Magistrale in Scienze e Tecnologie dell’Informazione Anno Accademico 2008/2009 Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 1 / 15

Transcript of Studio ed implementazione di un protocollo di autenticazione mediante l’utilizzo di Cache Cookie

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

Studio ed implementazione di un protocollo diautenticazione mediante l’utilizzo di Cache Cookie

Tesi di laurea di: Bettini Paolo F. A. - matricola 736488Relatore: Prof. Stelvio Cimato

UNIVERSITÀ DEGLI STUDI DI MILANOFacoltà di Scienze Matematiche, Fisiche e Naturali

Corso di Laurea Magistrale in Scienze e Tecnologie dell’Informazione

Anno Accademico 2008/2009

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 1 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

Introduzione

1 Grande diffusione di Internet

2 Necessità di garantire autenticità a dati e messaggi trasmessi

3 Modalità di autenticazione via rete: cookie

4 Nuovi schemi di autenticazione che sfruttano i Cache Cookie

5 Protocollo 2C3S e valutazione delle performance

6 Conclusioni e sviluppi futuri

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 2 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

I Cookie HTTPI Cache Cookie

Definizione e utilizzi

DefinizioneI Cookie sono piccole porzioni di testo create da un Server di dominiosul client e rispedite da quest’ultimo senza modifiche, ogni volta che

si vuole accedere al dominio stesso

Autenticazione ‘‘debole’’ degli utentiAltri utilizzi: carrelli elettronici, pagine personalizzate, . . .

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 3 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

I Cookie HTTPI Cache Cookie

Definizione e utilizzi

DefinizioneI Cookie sono piccole porzioni di testo create da un Server di dominiosul client e rispedite da quest’ultimo senza modifiche, ogni volta che

si vuole accedere al dominio stesso

Autenticazione ‘‘debole’’ degli utentiAltri utilizzi: carrelli elettronici, pagine personalizzate, . . .

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 3 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

I Cookie HTTPI Cache Cookie

Definizione e utilizzi

DefinizioneI Cookie sono piccole porzioni di testo create da un Server di dominiosul client e rispedite da quest’ultimo senza modifiche, ogni volta che

si vuole accedere al dominio stesso

Autenticazione ‘‘debole’’ degli utentiAltri utilizzi: carrelli elettronici, pagine personalizzate, . . .

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 3 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

I Cookie HTTPI Cache Cookie

Privacy e vulnerabilità

I cookie consentono la tracciabilità dell’utente(third-party Cookie)

Possibilità di creare profili-utenti: minaccia alla privacy

L’utente può modificare le impostazioni dei browser(Cookie Manager)

Vulnerabilità dei cookie:

Cookie HijackingCookie PoisoningFurto di Cookie

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 4 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

I Cookie HTTPI Cache Cookie

Definizione e tipologie

DefinizioneI Cache Cookie (CC), come indicato da A. Juels e M. Jakobsson nel

documento ‘‘Cache Cookie for Browser Authentication’’,sono informazioni persistenti che un Server

può salvare nelle cache dei browser

History-Based CC

Informazioni memorizzate nel filedi History del browser

TIF-Based CCInformazioni memorizzate nellacartella Temporary Internet Files

Utilizzo di tecniche crittografiche unitamente aiTIF-based Cache Cookie come supporto

all’autenticazione degli utenti

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 5 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

I Cookie HTTPI Cache Cookie

Definizione e tipologie

DefinizioneI Cache Cookie (CC), come indicato da A. Juels e M. Jakobsson nel

documento ‘‘Cache Cookie for Browser Authentication’’,sono informazioni persistenti che un Server

può salvare nelle cache dei browser

History-Based CC

Informazioni memorizzate nel filedi History del browser

TIF-Based CCInformazioni memorizzate nellacartella Temporary Internet Files

Utilizzo di tecniche crittografiche unitamente aiTIF-based Cache Cookie come supporto

all’autenticazione degli utenti

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 5 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

I Cookie HTTPI Cache Cookie

Definizione e tipologie

DefinizioneI Cache Cookie (CC), come indicato da A. Juels e M. Jakobsson nel

documento ‘‘Cache Cookie for Browser Authentication’’,sono informazioni persistenti che un Server

può salvare nelle cache dei browser

History-Based CC

Informazioni memorizzate nel filedi History del browser

TIF-Based CCInformazioni memorizzate nellacartella Temporary Internet Files

Utilizzo di tecniche crittografiche unitamente aiTIF-based Cache Cookie come supporto

all’autenticazione degli utenti

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 5 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

I Cookie HTTPI Cache Cookie

Definizione e tipologie

DefinizioneI Cache Cookie (CC), come indicato da A. Juels e M. Jakobsson nel

documento ‘‘Cache Cookie for Browser Authentication’’,sono informazioni persistenti che un Server

può salvare nelle cache dei browser

History-Based CC

Informazioni memorizzate nel filedi History del browser

TIF-Based CCInformazioni memorizzate nellacartella Temporary Internet Files

Utilizzo di tecniche crittografiche unitamente aiTIF-based Cache Cookie come supporto

all’autenticazione degli utenti

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 5 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

La steganografia, scrittura nascostaTecniche di secret sharing

Tecniche steganografiche

Le moderne tecniche steganografiche sono di tre tipologie:

Steganografia selettivaSteganografia costruttivaSteganografia sostitutiva

La steganografia sostitutiva mira ad inserire informazionesegreta in file grafici.

Algoritmo LSB (Least Significant Bit)

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 6 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

La steganografia, scrittura nascostaTecniche di secret sharing

Secret Sharing schema (2,2)

Metodo di condivisione delle informazioni attraverso share

Lo schema (2,2) consente a Client e Server di condividereinformazione segreta

Solo dall’unione delle due share si ricostruiscel’informazione condivisa

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 7 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

Protocollo 2C3SLe fasi del protocolloImplementazione del protocollo

Funzionalità e obiettivi

Nuovo protocollo di autenticazione 2C3S

Cache Cookie and Steganography Secret Sharing

TIF-based Cache cookieImmagini presenti nella cartella Temporary Internet Files

Condivisione di informazione segreta

Steganografia della share del client

Certificato digitale del Server di Autenticazione

Autenticazione di utenti con un buon livello di trasparenza

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 8 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

Protocollo 2C3SLe fasi del protocolloImplementazione del protocollo

Protocollo: fase 1

Registrazione dell’utente

Inserimento dati in una apposita form

Generazione del profilo utente

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 9 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

Protocollo 2C3SLe fasi del protocolloImplementazione del protocollo

Protocollo: fase 2

Generazione del Personal ID (PID)Generazione delle due share per la condivisione del PID

Steganografia della ‘‘clientShare’’ all’interno dell’immagine

Salvataggio della share del server:<ID client> - <Share Server> - <Hash dell’informazione condivisa>

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 10 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

Protocollo 2C3SLe fasi del protocolloImplementazione del protocollo

Protocollo: fase 3

Verifica dell’identità dell’utenteIl client invia il proprio ID al serverTramite l’ID il server ricava l’hash del PID (Hserver )Il client invia la propria share al serverIl server ricostruisce l’informazione condivisa e ne calcola l’hash (Hnew )

Hserver = Hnew

Autenticazione avvenuta con successo

Hserver 6= Hnew

Autenticazione fallita

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 11 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

Protocollo 2C3SLe fasi del protocolloImplementazione del protocollo

Protocollo: fase 3

Verifica dell’identità dell’utenteIl client invia il proprio ID al serverTramite l’ID il server ricava l’hash del PID (Hserver )Il client invia la propria share al serverIl server ricostruisce l’informazione condivisa e ne calcola l’hash (Hnew )

Hserver = Hnew

Autenticazione avvenuta con successo

Hserver 6= Hnew

Autenticazione fallita

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 11 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

Protocollo 2C3SLe fasi del protocolloImplementazione del protocollo

Protocollo: fase 3

Verifica dell’identità dell’utenteIl client invia il proprio ID al serverTramite l’ID il server ricava l’hash del PID (Hserver )Il client invia la propria share al serverIl server ricostruisce l’informazione condivisa e ne calcola l’hash (Hnew )

Hserver = Hnew

Autenticazione avvenuta con successo

Hserver 6= Hnew

Autenticazione fallita

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 11 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

Protocollo 2C3SLe fasi del protocolloImplementazione del protocollo

Report, log e analisi delle prestazioni

Al termine di ogni run di simulazione, oltre ai log, vengono fornitireport di riepilogo di chi, fra i client registrati, si è autenticato

Nei log sono presenti:

Data e ora della simulazione

Dettaglio del caricamento parametri

Dettaglio delle operazioni eseguite

Tempo di simulazione

Analisi dei tempi

Da 0,654 sec. a 2,063 sec.

1 aut. ogni 0,85 sec. circa

v 1,18 authsec

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 12 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

Protocollo 2C3SLe fasi del protocolloImplementazione del protocollo

Report, log e analisi delle prestazioni

Al termine di ogni run di simulazione, oltre ai log, vengono fornitireport di riepilogo di chi, fra i client registrati, si è autenticato

Nei log sono presenti:

Data e ora della simulazione

Dettaglio del caricamento parametri

Dettaglio delle operazioni eseguite

Tempo di simulazione

Analisi dei tempi

Da 0,654 sec. a 2,063 sec.

1 aut. ogni 0,85 sec. circa

v 1,18 authsec

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 12 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

Alternativa al protocollo 2C3SDebolezze delle proposteSicurezza e trasparenza

Protocollo di light authentication

Salvataggio di immagini fittizie nella cartella TIF del client

Il nome di queste immagini costituirà la share del client

Processo di autenticazione:Il server interroga la TIF del clientVerifica la presenza dell’immagineSe presente, combina la ‘clientShare’ con la propriaInfine verifica la corretta ricostruzione dell’informazione condivisa (PID)

Vantaggi

Assenza di user-agent lato client

Trasparenza del 100%

Tempi di autenticazione ridotti

Svantaggi

Assenza della steganografia

Share di lunghezza ridotta

Assenza di certificazione del server

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 13 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

Alternativa al protocollo 2C3SDebolezze delle proposteSicurezza e trasparenza

Protocollo di light authentication

Salvataggio di immagini fittizie nella cartella TIF del client

Il nome di queste immagini costituirà la share del client

Processo di autenticazione:Il server interroga la TIF del clientVerifica la presenza dell’immagineSe presente, combina la ‘clientShare’ con la propriaInfine verifica la corretta ricostruzione dell’informazione condivisa (PID)

Vantaggi

Assenza di user-agent lato client

Trasparenza del 100%

Tempi di autenticazione ridotti

Svantaggi

Assenza della steganografia

Share di lunghezza ridotta

Assenza di certificazione del server

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 13 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

Alternativa al protocollo 2C3SDebolezze delle proposteSicurezza e trasparenza

Protocollo di light authentication

Salvataggio di immagini fittizie nella cartella TIF del client

Il nome di queste immagini costituirà la share del client

Processo di autenticazione:Il server interroga la TIF del clientVerifica la presenza dell’immagineSe presente, combina la ‘clientShare’ con la propriaInfine verifica la corretta ricostruzione dell’informazione condivisa (PID)

Vantaggi

Assenza di user-agent lato client

Trasparenza del 100%

Tempi di autenticazione ridotti

Svantaggi

Assenza della steganografia

Share di lunghezza ridotta

Assenza di certificazione del server

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 13 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

Alternativa al protocollo 2C3SDebolezze delle proposteSicurezza e trasparenza

Minacce alla sicurezza

Man in The MiddleQuando l’attaccante si inserisce nella connessione fra client e server

Cache del browser non protetteQuando è possibile la copia dei dati presenti nelle cache del browser

Obiettivo dell’attaccanteImpersonificare uno dei client registrati

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 14 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

Alternativa al protocollo 2C3SDebolezze delle proposteSicurezza e trasparenza

Minacce alla sicurezza

Man in The MiddleQuando l’attaccante si inserisce nella connessione fra client e server

Cache del browser non protetteQuando è possibile la copia dei dati presenti nelle cache del browser

Obiettivo dell’attaccanteImpersonificare uno dei client registrati

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 14 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

Alternativa al protocollo 2C3SDebolezze delle proposteSicurezza e trasparenza

Minacce alla sicurezza

Man in The MiddleQuando l’attaccante si inserisce nella connessione fra client e server

Cache del browser non protetteQuando è possibile la copia dei dati presenti nelle cache del browser

Obiettivo dell’attaccanteImpersonificare uno dei client registrati

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 14 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

Alternativa al protocollo 2C3SDebolezze delle proposteSicurezza e trasparenza

Ulteriori sviluppi

Scelta del protocolloIn base all’applicazione cui l’utente accederà dopo il processo di autenticazione

Alta sicurezza −→ Minore trasparenza

Minor sicurezza −→ Trasparenza 100%

Effettivo deployment per una valutazione di efficienza sul campo

Meccanismi di backup dei cache cookie

Metodi di rigenerazione automatica dei cache cookie

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 15 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

Alternativa al protocollo 2C3SDebolezze delle proposteSicurezza e trasparenza

Ulteriori sviluppi

Scelta del protocolloIn base all’applicazione cui l’utente accederà dopo il processo di autenticazione

Alta sicurezza −→ Minore trasparenza

Minor sicurezza −→ Trasparenza 100%

Effettivo deployment per una valutazione di efficienza sul campo

Meccanismi di backup dei cache cookie

Metodi di rigenerazione automatica dei cache cookie

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 15 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

Alternativa al protocollo 2C3SDebolezze delle proposteSicurezza e trasparenza

Ulteriori sviluppi

Scelta del protocolloIn base all’applicazione cui l’utente accederà dopo il processo di autenticazione

Alta sicurezza −→ Minore trasparenza

Minor sicurezza −→ Trasparenza 100%

Effettivo deployment per una valutazione di efficienza sul campo

Meccanismi di backup dei cache cookie

Metodi di rigenerazione automatica dei cache cookie

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 15 / 15

IntroduzioneCookie e Cache Cookie

Tecniche crittografiche a supportoUn nuovo protocollo di autenticazione

Conclusioni e sviluppi futuri

Alternativa al protocollo 2C3SDebolezze delle proposteSicurezza e trasparenza

Ulteriori sviluppi

Scelta del protocolloIn base all’applicazione cui l’utente accederà dopo il processo di autenticazione

Alta sicurezza −→ Minore trasparenza

Minor sicurezza −→ Trasparenza 100%

Effettivo deployment per una valutazione di efficienza sul campo

Meccanismi di backup dei cache cookie

Metodi di rigenerazione automatica dei cache cookie

Bettini Paolo F. A., matricola 736488 Cache Cookie e Autenticazione 15 / 15