Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica SECURE PROGRAMMING Prof. Stefano Bistarelli SEMINARIO “Authentication and key Trasport Using Public Key Cryptography” Di Roberta Tittaferrante
5 Dicembre Indice argomenti Introduction Principles for public key protocols Entity Authentication protocols ISO/IEC SPLICE/AS Key trasport protocols ISO/IEC 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 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 certificati e liste certificati recovati. Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica
5 Dicembre 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 Indice argomenti Introduction Principles for public key protocols Entity Authentication protocols ISO/IEC SPLICE/AS Key trasport protocols ISO/IEC 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 Entity Authentication protocols: Protocols in ISO/IEC ISO/IEC autenticazione unilaterale (un passo). A B: T A, B, Sig A ( T A, B) ISO/IEC autenticazione unilaterale (due passi). B A: N B A B: N A, N B B, Sig A (N A, N B,, B) ISO/IEC mutua autenticazione (due passi). A B: T A, B, Sig A (T A, B) B A: T B, A, Sig B (T B, A) ISO/IEC mutua autenticazione (tre passi). B A: N B A B: N A, N B B, Sig A (N A, N B, B) CANADIAN ATTACK B A: N B ’, N A, A, Sig B (N B ’N A,, A) Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica timestamp Unione del primo protocollo diversi dalle Nb usate nei primi 2 passi
5 Dicembre “CANADIAN ATTACK” 1) C B A: N C 2) A C B : N A,N C, B, Sig A (N A, N C, B) 1’) C A B: N A 2’) B C A : N B, N A, Sig B (N B, N A, A) 3) C B A: N B, N A, Sig B (N B, N A, A) La modifica al protocollo consiste nell’autenticazione parallela dei messaggi 1 e 1‘. A B: N A B A: N B A B: N A, N B B, Sig A (N A, N B, B) B A: N B, N A, A, Sig B (N B, N A,, A) Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica 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.
5 Dicembre Indice argomenti Introduction Principles for public key protocols Entity Authentication protocols ISO/IEC SPLICE/AS Key trasport protocols ISO/IEC 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 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, T A, L, E B (N A ), Sig A (A, T A, L, E B, (N A )) B A : B, A, E A, (B, N A +1) Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica Tempo di vita del messaggio Quando A riceve il messaggio controlla la N al fine di autenticare B
5 Dicembre Attack of Clarck-Jacobe on SPLICE/AS protocol Un attaccante C può modificare la chiave pubblica del client o del server. 1) A C B :B, T A, L, E B (N A ), Sig A (A, T A, L, E B, (N A )) 1’) C B: C, B, T A, L, E B (N A ), Sig C (C, T A, L, E B, (N A )) 2’) B C: B, C, E C, (B, N A +1) 2) C B A: B, A, E A, (B, N A +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 Variante SPLICE/AS protocol of Clarck- Jacobe. A B: A,B,T A,L,E B (A, N A ),Sig A (A,T A,L,E B (A,N A )) B A : B, A, E A (B, N A +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 Indice argomenti Introduction Principles for public key protocols Entity Authentication protocols ISO/IEC SPLICE/AS Key trasport protocols ISO/IEC 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 Key Trasport Protocols ISO/IEC Meccanismo 1 Protocolli dove si sceglie una chiave di sessione. A B: E B (A, K AB,T A ) 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 Chiave si sessione Identità di A timestamp
5 Dicembre Key Trasport Protocols ISO/IEC Meccanismo 2 A B: B, T A, E B (A, K AB ),Sig A (B, T A, E B (A, K AB )) 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. 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 ATTACCO Anderson e Needham
5 Dicembre Key Trasport Protocols ISO/IEC Meccanismo 3 1) A B: E B (B, K AB T A, Sig A (B, K AB, T A )) 2) A B: E B (K AB T A, Sig A (K AB, T A )) 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 ATTACCO Abadi e Needham
5 Dicembre Key Trasport Protocols ISO/IEC Meccanismo 4 A B : N A B A : A, N A, N B, E A (B, K AB ), Sig B (A, N A N B, E A (B, K AB )) Nonce N A per conseguire una chiave freschezza per l’autenticazione di B. Meccanismo 5 A B : N A B A : N B N A A, E A (B, K BA ), Sig B ( N B N A A,E A (B, K BA )) A B : N A N B B, E B (A, K AB ), Sig A (N A N B B, E B (A, K AB )) Due chiavi di sessione K AB K BA scelti da A e B. Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica
5 Dicembre Key Trasport Protocols ISO/IEC 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: E B (A, K AB, N A ) B A: E A (B, K BA, N A, N B ) A B: N B Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica ATTACCO Helsinky
5 Dicembre 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: E C (A, K AB, N A ) C A B: E B (A, K AB ’, N A ) B C A :E A (K AB, N A, N B ) C A: E A (K AB, N A, N B ) A C: N B C A B: N B Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica L’attaccante C, parla con B, fingendosi A
5 Dicembre Indice argomenti Introduction Principles for public key protocols Entity Authentication protocols ISO/IEC SPLICE/AS Key trasport protocols ISO/IEC 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 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 Protocolli in the X.509 Standard: one- pass authentication. A B: T A, N A,B, E B (K AB ),Sig A (T A, N A, B, E B (K AB )) Manca dai dati crittografati l’identità di A 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 Meccanismo 2 Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica ATTACCO
5 Dicembre Protocolli in the X.509 Standard: two- pass authentication. A B: T A,N A,B,E B (K AB ),Sig A (T A, N A,B,E B (K AB )) B A: T B,N B,A,E A (K BA ),Sig B (T B,N B, A,E A (K BA )) Mutua Autenticazione. Protocolli in the X.509 Standard: three-pass authentication. A B: T A, N A, B, E B (K AB ), Sig A ( T A, N A, B, E B (K AB )) B A: T B, N B, A, E A (K BA ), Sig B ( T B, N B, A, E A (K BA )) A B: N B, Sig A (N B, B) Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica
5 Dicembre Indice argomenti Introduction Principles for public key protocols Entity Authentication protocols ISO/IEC SPLICE/AS Key trasport protocols ISO/IEC 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 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 K AB = MACPMK(N A, N B ). 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: N A B A: N B A B: E B (PMK),Sig A (MESS-SEQ1), (MESS_SEQ2)K AB B A: (MESS_SEQ3)K AB Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica
5 Dicembre Indice argomenti Introduction Principles for public key protocols Entity Authentication protocols ISO/IEC SPLICE/AS Key trasport protocols ISO/IEC 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 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. Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica MSR protocollo
5 Dicembre MSR protocol A B: A, K A B A: E A (K AB ),(B, SC B )K AB La chiave pubblica di K A, è utilizzata dal telefono cellulare per cifrare la chiave di sessione K AB, 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 secret certificate della stazione mobile, B, rilasciato da un’autorità centrale
5 Dicembre 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. A B: A, N A B A: E A (K AB ),(N A, B, SC B )K AB 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 STESSO VALORE A lo decifra utilizzando la chiave di sessione KAB.
5 Dicembre Indice argomenti Introduction Principles for public key protocols Entity Authentication protocols ISO/IEC SPLICE/AS Key trasport protocols ISO/IEC 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 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, K AB B A: E A (K AB ) A B: (N A )K AB A invia NA criptato con la chiave di sessione B A: (B,K B,Cert(B), Sig B (N A ))K AB A decifra il messaggio e verifica la firma sulla N A Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica NA firmato con la sua chiave privata identità certificatoChiave pubblica
5 Dicembre Attacco L’attaccante C inizia una sessione parallela con B, per ottenere la N A A accetta una chiave di sessione con B, mentre in realtà la condivide con C. 1) A C B : A, K A 2) C B A: E A (K AB ) 3) A C B : (N A )K AB 1’) C B: C, K C 2’) B C: E C (K AB ’) 3’) C B: (N A )K AB ’ 4’) B C: (B,K B,Cert(B), Sig B (N A ))K AB ’ 4) C B A: (B,K B,Cert(B), Sig B (N A ))K AB MODIFICA PROTOCOLLO B firmare la nuova chiave di sessione KAB, nel messaggio 2, insieme con la N A, che garantisce la freschezza e, le due entità, attraverso una funzione hash. A B: A, N A B A: E A (K AB ), (B,K B,CERT(B))K AB,Sig B (H(A,B,N A,K AB )) A B: (N A )K AB Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica
5 Dicembre Indice argomenti Introduction Principles for public key protocols Entity Authentication protocols ISO/IEC SPLICE/AS Key trasport protocols ISO/IEC 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 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 Indice argomenti Introduction Principles for public key protocols Entity Authentication protocols ISO/IEC SPLICE/AS Key trasport protocols ISO/IEC 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 Conclusion: comparision of key Trasport Protocols L'ISO / IEC 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