secure programming prof. stefano bistarelli

35
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

Upload: ashleigh-villarreal

Post on 03-Jan-2016

27 views

Category:

Documents


0 download

DESCRIPTION

SECURE PROGRAMMING Prof. Stefano Bistarelli. SEMINARIO “Authentication and key Trasport Using Public Key Cryptography” Di Roberta Tittaferrante. Indice argomenti. Introduction Principles for public key protocols Entity Authentication protocols ISO/IEC 9798-3 SPLICE/AS - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: SECURE PROGRAMMING Prof. Stefano Bistarelli

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

Page 2: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 2

Indice argomenti Introduction

Principles for public key protocols

Entity Authentication protocols ISO/IEC 9798-3 SPLICE/AS

Key trasport 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

Page 3: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 3

IntroductionUtilizzo 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

Page 4: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 4

Principles for public key protocolsAnderson 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

Page 5: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 5

Indice argomenti Introduction

Principles for public key protocols

Entity Authentication protocols ISO/IEC 9798-3 SPLICE/AS

Key trasport 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

Page 6: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 6

Entity Authentication protocols: Protocols in ISO/IEC 9798-3

ISO/IEC 9798-3 autenticazione unilaterale (un passo).A B: TA, B, SigA( TA, B)

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)

ISO/IEC 9798-3 mutua autenticazione (tre passi).B A: NB

A B: NA, NB B, SigA(NA, NB, B) CANADIAN ATTACKB A: NB’, NA, A, SigB(NB’NA,,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

Page 7: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 7

“CANADIAN ATTACK”1) CB A: NC

2) A CB: NA,NC, B, SigA(NA, NC, B)1’) CA B: NA

2’) B CA: NB, NA, SigB(NB, NA, A)3) CB A: NB, NA, SigB(NB, NA, A)

La modifica al protocollo consiste nell’autenticazione parallela dei messaggi 1 e 1‘.

A B: NA

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

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.

Page 8: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 8

Indice argomenti Introduction

Principles for public key protocols

Entity Authentication protocols ISO/IEC 9798-3 SPLICE/AS

Key trasport 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

Page 9: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 9

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)

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

Page 10: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 10

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

Page 11: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 11

Variante SPLICE/AS protocol of Clarck-Jacobe.

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

Page 12: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 12

Indice argomenti Introduction

Principles for public key protocols

Entity Authentication protocols ISO/IEC 9798-3 SPLICE/AS

Key trasport 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

Page 13: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 13

Key Trasport Protocols ISO/IEC 11770-3 Meccanismo 1

Protocolli dove si sceglie una chiave di sessione.

A B: EB(A, KAB,TA)

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

Page 14: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 14

Key Trasport Protocols ISO/IEC 11770-3 Meccanismo 2A 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.

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

Page 15: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 15

Key Trasport Protocols ISO/IEC 11770-3 Meccanismo 31) A B: EB (B, KAB TA, SigA (B, KAB, TA))

2) A B: EB (KAB TA, SigA(KAB , TA))

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

Page 16: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 16

Key Trasport Protocols ISO/IEC 11770-3 Meccanismo 4

A B : NA

B 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

Page 17: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 17

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

Università “G. d’Annunzio”Corso di Laurea Specialistica in

Economia Informatica

ATTACCO Helsinky

Page 18: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 18

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)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

L’attaccante C, parla con B, fingendosi A

Page 19: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 19

Indice argomenti Introduction

Principles for public key protocols

Entity Authentication protocols ISO/IEC 9798-3 SPLICE/AS

Key trasport 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

Page 20: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 20

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

Page 21: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 21

Protocolli in the X.509 Standard: one-pass authentication.

A B: TA, NA,B, EB(KAB),SigA(TA, NA, B, EB(KAB))

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 11770-3 Meccanismo 2

Università “G. d’Annunzio”Corso di Laurea Specialistica in

Economia Informatica

ATTACCO

Page 22: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 22

Protocolli in the X.509 Standard: two-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)) 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

Page 23: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 23

Indice argomenti Introduction

Principles for public key protocols

Entity Authentication protocols ISO/IEC 9798-3 SPLICE/AS

Key trasport 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

Page 24: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 24

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: NA

B A: NB

A B: EB (PMK),SigA(MESS-SEQ1), (MESS_SEQ2)KAB

B A: (MESS_SEQ3)KAB

Università “G. d’Annunzio”Corso di Laurea Specialistica in

Economia Informatica

Page 25: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 25

Indice argomenti Introduction

Principles for public key protocols

Entity Authentication protocols ISO/IEC 9798-3 SPLICE/AS

Key trasport 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

Page 26: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 26

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

Page 27: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 27

MSR protocol A B: A, KA

B A: EA (KAB),(B, SCB)KAB

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

secret certificate della stazione mobile, B,

rilasciato da un’autorità centrale

Page 28: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 28

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, NA

B A: EA (KAB),(NA, B, SCB)KAB

Un avversario può ottenere SC e mascherarsi come B.

La soluzione a questo problema consiste in un ulteriore variazione del protocollo: l‘ MSR+DHUniversità “G. d’Annunzio”

Corso di Laurea Specialistica in

Economia Informatica

STESSO VALORE

A lo decifra utilizzando la chiave di sessione KAB.

Page 29: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 29

Indice argomenti Introduction

Principles for public key protocols

Entity Authentication protocols ISO/IEC 9798-3 SPLICE/AS

Key trasport 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

Page 30: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 30

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, KAB

B A: EA (KAB)A B: (NA)KAB A invia NA criptato con la chiave di sessioneB A: (B,KB,Cert(B), SigB (NA))KAB

A decifra il messaggio e verifica la firma sulla NA Università “G. d’Annunzio”Corso di Laurea Specialistica in

Economia Informatica

NA firmato con la sua chiave privata

identitàcertificatoChiave

pubblica

Page 31: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 31

Attacco 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. 1) A CB : A, KA

2) CB A: EA (KAB)3) A CB: (NA)KAB

1’) C B: C, KC

2’) B C: EC (KAB’)3’) C B: (NA)KAB ’4’) B C: (B,KB,Cert(B), SigB (NA))KAB’ 4) CB A: (B,KB,Cert(B), SigB (NA))KAB

MODIFICA PROTOCOLLO 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.

A B: A, NA

B A: EA (KAB), (B,KB,CERT(B))KAB,SigB(H(A,B,NA,KAB))A B: (NA)KAB

Università “G. d’Annunzio”Corso di Laurea Specialistica in

Economia Informatica

Page 32: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 32

Indice argomenti Introduction

Principles for public key protocols

Entity Authentication protocols ISO/IEC 9798-3 SPLICE/AS

Key trasport 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

Page 33: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 33

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

Page 34: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 34

Indice argomenti Introduction

Principles for public key protocols

Entity Authentication protocols ISO/IEC 9798-3 SPLICE/AS

Key trasport 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

Page 35: SECURE PROGRAMMING Prof. Stefano Bistarelli

5 Dicembre 2007 35

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