SECURE PROGRAMMING Prof. Stefano Bistarelli SEMINARIO “Authentication and key Trasport Using Public Key Cryptography” Di Roberta Tittaferrante Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica Indice argomenti Introduction Entity Authentication protocols ISO/IEC 9798-3 SPLICE/AS Key trasport protocols Principles for public key protocols ISO/IEC 11770-3 Protocolli in the X.509 Standard TLS Protocol Beller-Chang-Yacobi Protocols MSR protocollo Beller-Yacobi Protocol Beller-Yacobi MRS+DH Protocol TMN Protocol Conclusion Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 2 Introduction Utilizzo chiave pubblica Vantaggi: 1) per rendere sicure applicazioni commerciali. 2) protocolli per la gestione delle chiavi. Svantaggi: 1) alto costo computazionale. 2) gestione di chiavi pubbliche. Soluzione Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica certificati e liste certificati recovati. 5 Dicembre 2007 3 Principles for public key protocols Anderson and Needham hanno proposto una serie di principi sui protocolli basati su chiave pubblica. 1) Se è apposta una firma ai dati, allora si presuppone che il firmatario ha conoscenza dei dati. 2) Evitare di utilizzare la stessa chiave per scopi diversi (firma e decriptazione). 3) Prestare attenzione al momento della firma e della decodifica. 4) Fare un account per tutti i bit. 5) Non inviare dati segreti se non alle Authority. 6) Non accettare messaggi in particolari forme. 7) Esplicitare i parametri crittrografati. Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 4 Indice argomenti Introduction Entity Authentication protocols ISO/IEC 9798-3 SPLICE/AS Key trasport protocols Principles for public key protocols ISO/IEC 11770-3 Protocolli in the X.509 Standard TLS Protocol Beller-Chang-Yacobi Protocols MSR protocollo Beller-Yacobi Protocol Beller-Yacobi MRS+DH Protocol TMN Protocol Conclusion Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 5 Entity Authentication protocols: Protocols in ISO/IEC 9798-3 ISO/IEC 9798-3 autenticazione unilaterale (un passo). A B: TA, B, SigA( TA, B) timestamp ISO/IEC 9798-3 autenticazione unilaterale (due passi). B A: NB A B: NA, NB B, SigA(NA, NB,, B) ISO/IEC 9798-3 mutua autenticazione (due passi). A B: TA, B, SigA(TA, B) B A: TB, A, SigB(TB, A) Unione del primo protocollo ISO/IEC 9798-3 mutua autenticazione (tre passi). B A: NB A B: NA, NB B, SigA(NA, NB, B) B A: NB’, NA, A, SigB(NB’NA,,A) Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica diversi dalle Nb usate nei primi 2 passi 5 Dicembre 2007 CANADIAN ATTACK 6 “CANADIAN ATTACK” 1) CB 2) A 1’) CA 2’) B 3) CB A: NC CB: NA,NC, B, SigA(NA, NC, B) B: NA CA: NB, NA, SigB(NB, NA, A) A: NB, NA, SigB(NB, NA, A) L’attacco l'avversario C si finge per A e B con B e A. La prima risposta da A è usato da C per completare la prima esecuzione con B. La modifica al protocollo consiste nell’autenticazione parallela dei messaggi 1 e 1‘. A B A B B: NA A: NB B: NA, NB B, SigA (NA, NB, B) A: NB, NA, A, SigB (NB,NA,,A) Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 7 Indice argomenti Introduction Entity Authentication protocols ISO/IEC 9798-3 SPLICE/AS Key trasport protocols Principles for public key protocols ISO/IEC 11770-3 Protocolli in the X.509 Standard TLS Protocol Beller-Chang-Yacobi Protocols MSR protocollo Beller-Yacobi Protocol Beller-Yacobi MRS+DH Protocol TMN Protocol Conclusion Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 8 Entity Authentication protocols: Protocols SPLICE/AS Ideato nel ‘90 da Yamaguchi, per fornire mutua autenticazione tra un client e un server attraverso chiavi pubbliche certificate. A B: A, B, TA, L, EB (NA), SigA(A, TA, L, EB, (NA)) B A : B, A, EA, (B, NA+1) Tempo di vita del messaggio Quando A riceve il messaggio controlla la N al fine di autenticare B Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 9 Attack of Clarck-Jacobe on SPLICE/AS protocol Un attaccante C può modificare la chiave pubblica del client o del server. 1) A CB:B, TA, L, EB (NA), SigA(A, TA, L, EB, (NA)) 1’) C B: C, B, TA, L, EB(NA), SigC(C, TA, L, EB, (NA)) 2’) B C: B, C, EC, (B, NA+1) 2) CB A: B, A, EA, (B, NA+1) L’attaccante C è in grado di intercettare il messaggio di A e sostituire la firma di A la propria firma. Nessuna delle due parti è certa dell’altra identità e, le conversazioni non possono essere garantite. Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 10 Variante SPLICE/AS protocol of ClarckJacobe. A B: A,B,TA,L,EB(A, NA),SigA(A,TA,L,EB(A,NA)) B A : B, A, EA (B, NA+1) Fornire mutua entità d’ autenticazione. Differenza dal protocollo SPLICE/AS (base) consiste che, l'identità di A è incluso nel primo messaggio in un campo cifrato ke non può essere modificata da C. Protocollo corretto solo se l'algoritmo di crittografia a chiave pubblica utilizzata non è non malleabile. Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 11 Indice argomenti Introduction Entity Authentication protocols ISO/IEC 9798-3 SPLICE/AS Key trasport protocols Principles for public key protocols ISO/IEC 11770-3 Protocolli in the X.509 Standard TLS Protocol Beller-Chang-Yacobi Protocols MSR protocollo Beller-Yacobi Protocol Beller-Yacobi MRS+DH Protocol TMN Protocol Conclusion Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 12 Key Trasport Protocols ISO/IEC 11770-3 Meccanismo 1 Protocolli dove si sceglie una chiave di sessione. timestamp A B: EB(A, KAB,TA) Identità di A Chiave si sessione Identità di A, il Ta (o in alternativa il contatore) e la chiave di sessione (scelta da A e B), sono inviati e cifrati con la chiave pubblica di B. La crittografia a chiave pubblica deve utilizzare parametri non malleabili, altrimenti un attaccante può modificare il valore dei campi "A" e "TA”. Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 13 Key Trasport Protocols ISO/IEC 11770-3 Meccanismo 2 A B: B, TA, EB(A, KAB),SigA(B, TA, EB (A, KAB)) Estende il meccanismo 1 con l'aggiunta di una firma del messaggio di A. Viola il primo principio di Anderson Needham: la firma non da garanzia che il firmatario conosce il testo del messaggio cifrato. Un attaccante C potrebbe rimuovere la firma di A e sostituirla con la propria. ATTACCO Anderson e Needham Algoritmi di cifratura che consentono ad un malintenzionato di ottenere la chiave pubblica di B. Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 14 Key Trasport Protocols ISO/IEC 11770-3 Meccanismo 3 1) A B: EB (B, KAB TA, SigA (B, KAB, TA)) 2) A B: EB (KAB TA, SigA(KAB , TA)) ATTACCO Abadi e Needham Un attaccante C può sostituirsi nel protocollo gestito da A come iniziatore. Intercetta il messaggio 1 cifrato. C ottiene la chiave per condividere i messaggi con A. Abadi e Needham suggeriscono di inserire l'identità di entrambi (A e B) nella firma del messaggio 1 per impedire questo attacco. Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 15 Key Trasport Protocols ISO/IEC 11770-3 Meccanismo 4 A B B : NA A : A, NA, NB, EA(B, KAB), SigB(A, NA NB, EA(B, KAB)) Nonce NA per conseguire una chiave freschezza per l’autenticazione di B. Meccanismo 5 A B : NA B A : NB NA A, EA (B, KBA), SigB( NB NA A,EA (B, KBA)) A B : NA NB B, EB (A, KAB), SigA(NA NB B, EB (A, KAB)) Due chiavi di sessione KAB KBA scelti da A e B. Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 16 Key Trasport Protocols ISO/IEC 11770-3 Meccanismo 6 La prima differenza consiste nell’ utilizzo della crittografia e non solo le firme. L'algoritmo di cifratura richiede non malleabilità, altrimenti i campi utilizzati per l'autenticazione possono essere alterati dall’ attaccante. Lo standard stabilisce che KAB KBA sono combinati per formare una singola chiave di sessione. A B: EB (A, KAB, NA) B A: EA(B, KBA, NA, NB) A B: NB ATTACCO Helsinky Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 17 Attacco Helsinky A pensa di condivide la chiave con C, mentre B pensa di condividerla con A. L‘ obiettivo implicito della chiave di autenticazione non è violato, perché C non conosce KBA e, non può calcolarlo. Mitchell e Yeun propongono di aggiungengere l'identità di messaggio 2. (soluzione adottata nello standard finale ISO / IEC 11770) A C: EC(A, KAB, NA) L’attaccante C, parla con B, fingendosi A CA B: EB(A, KAB’, NA) B CA:EA (KAB, NA, NB) C A: EA (KAB, NA, NB) A C: NB CA B: NB Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 18 Indice argomenti Introduction Entity Authentication protocols ISO/IEC 9798-3 SPLICE/AS Key trasport protocols Principles for public key protocols ISO/IEC 11770-3 Protocolli in the X.509 Standard TLS Protocol Beller-Chang-Yacobi Protocols MSR protocollo Beller-Yacobi Protocol Beller-Yacobi MRS+DH Protocol TMN Protocol Conclusion Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 19 Protocolli in the X.509 Standard Usa crittografia chiave pubblica e firma digitale. Serie di protocolli per l'autenticazione classificati: Simple e Strong. Simple utilizza l'autenticazione delle password inviate sia in chiaro o come input. Ci sono tre protocolli specificati, con una, due e tre, flussi di messaggio. Ogni protocollo estende il precedente con l'aggiunta di un ulteriore messaggio. Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 20 Protocolli in the X.509 Standard: onepass authentication. A B: TA, NA,B, EB(KAB),SigA(TA, NA, B, EB(KAB)) Manca dai dati crittografati l’identità di A ATTACCO Un avversario può rimuovere la firma sul messaggio e sostituirla con una nuova firma sullo stesso messaggio. Per risolvere questo problema si può utilizzare il Key Trasport Protocols ISO/IEC 11770-3 Meccanismo 2 Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 21 Protocolli in the X.509 Standard: twopass authentication. A B: TA,NA,B,EB(KAB),SigA(TA, NA,B,EB(KAB)) B A: TB,NB,A,EA(KBA),SigB(TB,NB, A,EA(KBA)) Mutua Autenticazione. Protocolli in the X.509 Standard: three-pass authentication. A B: TA, NA, B, EB (KAB), SigA( TA , NA, B, EB (KAB)) B A: TB, NB, A, EA (KBA), SigB( TB , NB, A, EA (KBA)) A B: NB, SigA (NB, B) Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 22 Indice argomenti Introduction Entity Authentication protocols ISO/IEC 9798-3 SPLICE/AS Key trasport protocols Principles for public key protocols ISO/IEC 11770-3 Protocols Blake Protocolli in the X.509 Standard TLS Protocol Beller-Chang-Yacobi Protocols MSR protocollo Beller-Yacobi Protocol Beller-Yacobi MRS+DH Protocol TMN Protocol Conclusion Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 23 TLS Protocol TLS è il protocollo successivo del Secure Socket Layer (SSL), sviluppato da Netscape Communications e implementato dai più diffusi browser web. Trasporta i 'premaster segreto', PMK, dal client al server. Il TLS standard specifica uso di crittografia a chiave pubblica RSA. La chiave di sessione è calcolata come KAB= MACPMK(NA, NB). Il messaggio di sequenza Mess_Seq1, Mess_Seq2 e Mess_SeQ3, consistono di un hash della sequenza di tutti i precedenti messaggi scambiati. A B A B B: NA A: NB B: EB (PMK),SigA(MESS-SEQ1), (MESS_SEQ2)KAB A: (MESS_SEQ3)KAB Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 24 Indice argomenti Introduction Entity Authentication protocols ISO/IEC 9798-3 SPLICE/AS Key trasport protocols Principles for public key protocols ISO/IEC 11770-3 Protocols Blake Needham-Schoeder Public Key Protocol Protocolli in the X.509 Standard TLS Protocol Beller-Chang-Yacobi Protocols MSR protocollo Beller-Yacobi Protocol Beller-Yacobi MRS+DH Protocol TMN Protocol Conclusion Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 25 Beller-Chang-Yacobi Protocols Questi protocolli sono stati progettati per soddisfare le esigenze di comunicazioni per dispositivi mobili. Sono stati esaminati da Carlsen che ha individuato alcune possibili attacchi e ha suggerito modifiche al protocollo di evitarli. MSR protocollo Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 26 MSR protocol A B: A, KA B A: EA (KAB),(B, SCB)KAB secret certificate della stazione mobile, B, rilasciato da un’autorità centrale La chiave pubblica di KA, è utilizzata dal telefono cellulare per cifrare la chiave di sessione KAB, e invia il messaggio cifrato ad A. Carlsen ha individuato due debolezze: 1) La chiave pubblica di A NON è certificata, consentendo in tal modo a chiunque di mascherarsi come A. 2) Non è possibile distinguere tra una nuova comunicazione ed una vecchia. Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 27 Miglioramento MRS (IMRS Protocol) La risposta di B è composta da una chiave di sessione, più una Nounce che consente la validità del messaggio, ed elimina la possibilità dell’ anonimato. STESSO VALORE A B: A, NA A lo decifra utilizzando B A: EA (KAB),(NA, B, SCB)KAB laKAB.chiave di sessione Un avversario può ottenere SC e mascherarsi come B. La soluzione a questo problema consiste in un ulteriore variazione del protocollo: l‘ MSR+DH Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 28 Indice argomenti Introduction Entity Authentication protocols ISO/IEC 9798-3 SPLICE/AS Key trasport protocols Principles for public key protocols ISO/IEC 11770-3 Protocols Blake Needham-Schoeder Public Key Protocol Protocolli in the X.509 Standard TLS Protocol Beller-Chang-Yacobi Protocols MSR protocollo Beller-Yacobi Protocol TMN Protocol Conclusion Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 29 Beller-Yacobi Protocol Protocollo per la telefonia mobile. La chiave privata del cellulare è utilizzata per la firma digitale usando l’ algoritmo EIGamal. Il vantaggio consiste nella generazione della firma prima di scegliere il messaggio, così si può eseguire la maggior parte del lavoro off-line, durante il tempo di inattività tra le chiamate. La differenza principale è negli ultimi due messaggi, che attuano una challenge-response basato su firme digitali. A B A B B: A, KAB A: EA (KAB) B: (NA)KAB A invia NA criptato con la chiave di sessione A: (B,KB,Cert(B), SigB (NA))KAB identità Chiave pubblica certificato NA firmato con la sua chiave privata A decifra il messaggio e verifica la firma sulla NA Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 30 Attacco 1) 2) 3) 1’) 2’) 3’) 4’) 4) L’attaccante C inizia una sessione parallela con B, per ottenere la NA A accetta una chiave di sessione con B, mentre in realtà la condivide con C. A CB : A, KA CB A: EA (KAB) A CB: (NA)KAB C B: C, KC B C: EC (KAB’) C B: (NA)KAB ’ B C: (B,KB,Cert(B), SigB (NA))KAB’ CB A: (B,KB,Cert(B), SigB (NA))KAB MODIFICA PROTOCOLLO A B A B firmare la nuova chiave di sessione KAB, nel messaggio 2, insieme con la NA, che garantisce la freschezza e, le due entità, attraverso una funzione hash. B: A, NA A: EA (KAB), (B,KB,CERT(B))KAB,SigB(H(A,B,NA,KAB)) B: (NA)KAB Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 31 Indice argomenti Introduction Entity Authentication protocols ISO/IEC 9798-3 SPLICE/AS Key trasport protocols Principles for public key protocols ISO/IEC 11770-3 Protocols Blake Needham-Schoeder Public Key Protocol Protocolli in the X.509 Standard TLS Protocol Beller-Chang-Yacobi Protocols MSR protocollo Beller-Yacobi Protocol TMN Protocol Conclusion Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 32 TMN Protocol Due stazioni mobili A e B si scambiano una chiave di sessione chiave per fornire sicurezza. KDP1 non contiene informazioni di autenticazione ed è vulnerabile ad alcuni attacchi, migliorato successivamente KDP2 Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 33 Indice argomenti Introduction Entity Authentication protocols ISO/IEC 9798-3 SPLICE/AS Key trasport protocols Principles for public key protocols ISO/IEC 11770-3 Protocols Blake Needham-Schoeder Public Key Protocol Protocolli in the X.509 Standard TLS Protocol Beller-Chang-Yacobi Protocols MSR protocollo Beller-Yacobi Protocol TMN Protocol Conclusion Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 34 Conclusion: comparision of key Trasport Protocols L'ISO / IEC 11770-3 standard specifica una serie di protocolli per il trasporto di chiavi utilizzando la crittografia asimmetrica. Il TLS protocol fornisce un'alternativa allo standard ISO/IEC protocolli. Lo studio di questi protocolli, tuttavia, può essere utile per comprendere tipici errori nella disegnazione dei protocolli. Le ultime ricerche si concentrano sull’utilizzo di key agreement piuttosto che key trasport, argomento del capitolo successivo. Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 5 Dicembre 2007 35