• Non ci sono risultati.

Protocolli che sfruttano la condivisione di chiavi crittografiche

N/A
N/A
Protected

Academic year: 2021

Condividi "Protocolli che sfruttano la condivisione di chiavi crittografiche"

Copied!
32
0
0

Testo completo

(1)

Università degli Studi “Gabriele d’Annunzio”

Università degli Studi “Gabriele d’Annunzio”

Facoltà di Economia Facoltà di Economia

Corso di Laurea in Economia Informatica Specialistica Corso di Laurea in Economia Informatica Specialistica

Sicurezza e Privacy Sicurezza e Privacy

Protocolli che sfruttano la condivisione di chiavi

crittografiche

5 dicembre 2007 Marco

Bottalico

(2)

Introduzione Introduzione

 La maggior parte dei protocolli per la La maggior parte dei protocolli per la

costituzione di chiavi ed entità di autenticazione, costituzione di chiavi ed entità di autenticazione, si concentrano sul caso in cui ci sono 2 user che si concentrano sul caso in cui ci sono 2 user che

vogliono comunicare o stabilire una chiave di vogliono comunicare o stabilire una chiave di

sessione: CASO DELLE 2 PARTI sessione: CASO DELLE 2 PARTI

 Qui discuteremo la creazione della “chiave delle Qui discuteremo la creazione della “chiave delle 2 parti” e i protocolli di autenticazione basati su 2 parti” e i protocolli di autenticazione basati su

algoritmi simmetrici.

algoritmi simmetrici.

(3)

Classificare la creazione di Classificare la creazione di protocolli “chiave delle 2 parti”

protocolli “chiave delle 2 parti”

 Chiavi crittografiche disponibili a priori Chiavi crittografiche disponibili a priori

I due soggetti condividono gia la chiave segreta I due soggetti condividono gia la chiave segreta

Ogni soggetto condivide una chiave con uno o più Ogni soggetto condivide una chiave con uno o più server di fiducia

server di fiducia

 Metodo di generazione di una chiave di Metodo di generazione di una chiave di sessione: problemi

sessione: problemi

Key transport Key transport Key agreement Key agreement Hybrid

Hybrid

(4)

Tre classi di protocolli Tre classi di protocolli

 Protocolli finalizzati a fornire entità di Protocolli finalizzati a fornire entità di autenticazione

autenticazione senza creazione di una chiave senza creazione di una chiave

 Protocolli che mirano a fornire la creazione di Protocolli che mirano a fornire la creazione di chiavi

chiavi senza l’appoggio di un server senza l’appoggio di un server , con , con

protocolli di trasporto e di accordo sulle chiavi protocolli di trasporto e di accordo sulle chiavi

 Protocolli che puntano a fornire la creazione di Protocolli che puntano a fornire la creazione di chiavi

chiavi usando un server usando un server , con protocolli di , con protocolli di

trasporto, di accordo e protocolli ibridi sulle trasporto, di accordo e protocolli ibridi sulle

chiavi

chiavi

(5)

Notazione Notazione

Denota che parte del messaggio è cifrato. Denota che parte del messaggio è cifrato. M M è il dato di input criptato è il dato di input criptato con algoritmo simmetrico che è stato parametrizzato per mezzo di una con algoritmo simmetrico che è stato parametrizzato per mezzo di una

chiave segreta

chiave segreta K K che prevede confidenzialità ed integrità che prevede confidenzialità ed integrità

Sarà ad indicare che la criptazione del messaggio Sarà ad indicare che la criptazione del messaggio M M con la chiave con la chiave K K fornisce solo la confidenzialità

fornisce solo la confidenzialità

Indicherà una trasformazione unidirezionale del messaggio Indicherà una trasformazione unidirezionale del messaggio M M con chiave con chiave K K che fornisce solo l’integrità che fornisce solo l’integrità

INTEGRITA’ :

INTEGRITA’ : protezione dei dati e delle informazioni nei confronti delle protezione dei dati e delle informazioni nei confronti delle modifiche del contenuto

modifiche del contenuto , accidentali oppure effettuate da una terza parte , accidentali oppure effettuate da una terza parte CONFIDENZIALITA’:

CONFIDENZIALITA’: protezione dei dati e delle informazioni scambiate tra un protezione dei dati e delle informazioni scambiate tra un mittente e uno o più destinatari

mittente e uno o più destinatari nei confronti di terze parti nei confronti di terze parti . Tale protezione . Tale protezione deve essere realizzata a prescindere dalla sicurezza del sistema di

deve essere realizzata a prescindere dalla sicurezza del sistema di comunicazione utilizzato

comunicazione utilizzato

M K

  M K

  M K

(6)

Prima classe di protocolli Prima classe di protocolli

Protocolli finalizzati a fornire entità di Protocolli finalizzati a fornire entità di

autenticazione senza creazione di una chiave autenticazione senza creazione di una chiave

 Protocolli che mirano a fornire la creazione di Protocolli che mirano a fornire la creazione di chiavi senza l’appoggio di un server, con

chiavi senza l’appoggio di un server, con

protocolli di trasporto e di accordo sulle chiavi protocolli di trasporto e di accordo sulle chiavi

 Protocolli che puntano a fornire la creazione di Protocolli che puntano a fornire la creazione di chiavi usando un server, con protocolli di

chiavi usando un server, con protocolli di

trasporto, di accordo e protocolli ibridi sulle trasporto, di accordo e protocolli ibridi sulle

chiavi

chiavi

(7)

Protocolli con autenticazione di Protocolli con autenticazione di

identità identità

 Nel 1993 IBM fu la prima a dimostrare un’amplia classe di Nel 1993 IBM fu la prima a dimostrare un’amplia classe di protocolli di autenticazione. Il primo fu proposto da

protocolli di autenticazione. Il primo fu proposto da Bird Bird : :

A invia a B la sua “nonce” ( A invia a B la sua “nonce” ( N N A A ) )

u u e e v v sono 2 funzioni tali che sono 2 funzioni tali che K K AB AB è neces- è neces- sario per calcolarle e non viene rilevato sario per calcolarle e non viene rilevato

Se Se I I (intruder) vuole attaccare il protocollo, e le funzioni u e v sono uguali, (intruder) vuole attaccare il protocollo, e le funzioni u e v sono uguali, comincia un protocollo con B mascherandosi da A e fa la stessa cosa con comincia un protocollo con B mascherandosi da A e fa la stessa cosa con

A mascherandosi da B (sessioni parallele). In questo modo I potrà A mascherandosi da B (sessioni parallele). In questo modo I potrà

sembrare agli occhi di B di essere A.

sembrare agli occhi di B di essere A.

L’attacco ha dimostrato che le L’attacco ha dimostrato che le funzioni funzioni u e v devono essere diverse. u e v devono essere diverse.

 

B AB AB BA

A

N K

v B A

N K

u N

A B

N B

A

, :

, ,

: :

 

 

AB B

A

B AB

A B

B B

I AB B

A

I A

N K

u B I

N K

u N I

A

N A I

N K

u N I

B

N B I

, :

, ,

: :

, ,

: :

(8)

Bellare-Rogaway MAP1 Bellare-Rogaway MAP1 è un protocollo di è un protocollo di

autenticazione reciproco dove si fornisce una definizione autenticazione reciproco dove si fornisce una definizione

formale di combinazioni di conversazioni. (

formale di combinazioni di conversazioni. ( K K AB AB è la chiave è la chiave condivisa da entrambi a priori)

condivisa da entrambi a priori)

EVE 1 Protocol EVE 1 Protocol è sostanzialmente uguale a MAP1 solo è sostanzialmente uguale a MAP1 solo che le identità di

che le identità di A A e e B B sono scambiate nelle righe. sono scambiate nelle righe.

I I mascherato da mascherato da B comincia sia il protocollo MAP1 con B comincia sia il protocollo MAP1 con A A e, in parallelo, e, in parallelo, inizia anche EVE1 sempre con

inizia anche EVE1 sempre con A. Il questo modo riuscirà ad avere le chiavi di A . Il questo modo riuscirà ad avere le chiavi di A A . .

 

B BK AB A B K AB

A

N A B A

N N

A B N

A B

N B A

, :

, ,

, , :

:

(9)

 Lo standard internazionale Lo standard internazionale ISO/IEC 9798 parte ISO/IEC 9798 parte 2 2 , specifica , specifica 6 protocolli 6 protocolli che usano algoritmi di che usano algoritmi di

criptazione simmetrica:

criptazione simmetrica:

4 forniscono solo entità di autorizzazione 4 forniscono solo entità di autorizzazione

2 realizzano scambio di chiavi che gia possiedono, 2 realizzano scambio di chiavi che gia possiedono,

oltre che fornire entità di autorizzazione oltre che fornire entità di autorizzazione

 I due ricercatori I due ricercatori Woo e Lam Woo e Lam crearono un protocollo crearono un protocollo di autenticazione unilaterale che fa uso di un server.

di autenticazione unilaterale che fa uso di un server.

Esso è solo centro per la traduzione delle chiavi:

Esso è solo centro per la traduzione delle chiavi: B B sceglie il suo

sceglie il suo N N B B e sfida e sfida A A a criptarlo con a criptarlo con K K AS AS . Alla . Alla ricezione della codifica,

ricezione della codifica, B B chiede a chiede a S S di crittarlo con di crittarlo con

K K BS BS che lui può decrittare e controllare che lui può decrittare e controllare

(10)

Comparazione tra protocolli Comparazione tra protocolli

Protocol

Protocol Entità di Entità di

autenticazione

autenticazione Prova di Prova di sicurezza?

sicurezza? Attacchi Attacchi provati provati

Bird Bird A + B A + B No No Si Si MAP1 MAP1 A + B A + B Si Si Si Si

Unilaterale, 1 passo

Unilaterale, 1 passo B B No No No No

Unilaterale, 2 passi

Unilaterale, 2 passi B B No No No No

Bilaterale, 2 passi

Bilaterale, 2 passi A + B A + B No No No No

Bilaterale, 3 passi

Bilaterale, 3 passi A + B A + B No No No No

Woo-Lam

Woo-Lam B B No No Si Si

(11)

Seconda classe di protocolli Seconda classe di protocolli

 Protocolli finalizzati a fornire entità di Protocolli finalizzati a fornire entità di

autenticazione senza creazione di una chiave autenticazione senza creazione di una chiave

Protocolli che mirano a fornire la creazione di Protocolli che mirano a fornire la creazione di chiavi

chiavi senza l’appoggio di un server senza l’appoggio di un server , con , con protocolli di trasporto e di accordo sulle protocolli di trasporto e di accordo sulle

chiavi chiavi

 Protocolli che puntano a fornire la creazione di Protocolli che puntano a fornire la creazione di chiavi usando un server, con protocolli di

chiavi usando un server, con protocolli di

trasporto, di accordo e protocolli ibridi sulle trasporto, di accordo e protocolli ibridi sulle

chiavi

chiavi

(12)

Protocolli per la creazione di chiavi Protocolli per la creazione di chiavi

senza server senza server

È necessario che due utenti condividano una È necessario che due utenti condividano una

chiave segreta (

chiave segreta ( K K AB AB ). Possono inoltre ). Possono inoltre

entrambi richiedere che un utente generi entrambi richiedere che un utente generi

una nuova chiave di sessione (

una nuova chiave di sessione ( K’ K’ AB AB ) o ) o

entrambi forniscano quote per stabilirla.

entrambi forniscano quote per stabilirla.

(13)

RPC Protocol RPC Protocol dove dove A A e e B B compiono prima un compiono prima un

handshacking usando una chiave che gia condividono (

handshacking usando una chiave che gia condividono ( K K AB AB ) ) e poi

e poi B B manda ad manda ad A A una nuova chiave di sessione una nuova chiave di sessione K’ K’ AB AB . Il . Il nonce

nonce N N A A ed il nonce ed il nonce N N B B +1 +1 sono scelti da sono scelti da A A , mentre , mentre N’ N’ B B è è scelto da

scelto da B B (non casualmente). (non casualmente).

ATTACCO su B

ATTACCO su B : un intruso registra il messaggio 2 e lo : un intruso registra il messaggio 2 e lo sostituisce al 4 forzando

sostituisce al 4 forzando A A ad accettare una chiave di ad accettare una chiave di sessione che lui gia possiede. In questo modo,

sessione che lui gia possiede. In questo modo, N N A A +1 +1 diventa la chiave di sessione (che

diventa la chiave di sessione (che I I sà) per scambiarsi sà) per scambiarsi messaggi con

messaggi con B B . Questo è possibile se il nonce è . Questo è possibile se il nonce è prevedibile come un contatore (

prevedibile come un contatore ( N N A A +1 +1 ) mentre se esso è ) mentre se esso è random, l’attacco è più difficile.

random, l’attacco è più difficile.

 

 

 

ABAB

AB AB

B K AB

B K

B K A

A K

N K

A B

N B

A

N N

A B

N B

A

'

' ,

:

1 :

, 1 :

:

  

 

 

ABAB

AB AB

B K A

B

B K

B K A

A K

N N

A I

N B

A

N N

A B

N B

A

, 1 :

1 :

, 1 :

:

(14)

2PKDP Protocol di Janson-Tsudik 2PKDP Protocol di Janson-Tsudik usa 2 usa 2

algoritmi di crittografia separati: uno garantisce algoritmi di crittografia separati: uno garantisce

confidenzialità (basato sullo XOR) ed uno confidenzialità (basato sullo XOR) ed uno

autenticazione (che usa algoritmi MAC) autenticazione (che usa algoritmi MAC)

Boyd Protocol Boyd Protocol consente ad entrambi (A & B) di consente ad entrambi (A & B) di aggiungere delle parti alla chiave stabilita. I

aggiungere delle parti alla chiave stabilita. I

messaggi che si scambiano, fanno uso di numeri messaggi che si scambiano, fanno uso di numeri

casuali.

casuali.

 

 

AB

AB

K AB K A

AB AB A

AB A

AUTH MASK

B K

N AUTH

K A K

N B A

K MASK

AUTH A

B

N A B A

, ,

, ,

:

, :

, :

' '

'

(15)

 Lo standard internazionale Lo standard internazionale ISO/IEC 11770-2 ISO/IEC 11770-2 specifica specifica 13 protocolli che usano algoritmi di criptazione

13 protocolli che usano algoritmi di criptazione simmetrici di cui

simmetrici di cui 6 6 sono senza l’appoggio di un server e sono senza l’appoggio di un server e altri 7 contano su un server di fiducia (trattati alla fine).

altri 7 contano su un server di fiducia (trattati alla fine).

2 2 forniscono solo una chiave di autenticazione implicita forniscono solo una chiave di autenticazione implicita

passandosi messaggi ed una funzione di derivazione per passandosi messaggi ed una funzione di derivazione per

risalire alla nuova chiave di sessione.

risalire alla nuova chiave di sessione.

T T A A è un contatore inizializzato da è un contatore inizializzato da A A

K’ K’ AB AB = f (K = f (K AB AB ,T ,T A A ) )

4 4 sono una derivazione della specifica ISO/IEC 9798-2 sono una derivazione della specifica ISO/IEC 9798-2 aggiungendo una chiave per ogni messaggio criptato.

aggiungendo una chiave per ogni messaggio criptato.

(16)

Comparazione tra protocolli Comparazione tra protocolli

Protocol

Protocol Numero Numero di passi di passi Chi possiede Chi possiede la chiave di la chiave di

controllo controllo

Freschezza Freschezza della chiave

della chiave Autentica - Autentica - zione della zione della

chiave chiave

Confi Confi denzia denzia

lità lità

At At tac tac

co co

RPC Andrew

RPC Andrew 4 4 B B No No Si Si No No Si Si

Janson-Tsudik

Janson-Tsudik 3 3 B B Si Si Si Si Si Si No No

Boyd Boyd 2 2 A/B A/B Si Si Si Si No No No No

11770-2,1

11770-2,1 1 1 A A Si Si Si Si B B No No

11770-2,2

11770-2,2 1 1 A A No No Si Si No No No No

11770-2,3

11770-2,3 1 1 A A Si Si Si Si B B No No

11770-2,4

11770-2,4 2 2 B B Si Si Si Si B B No No

11770-2,5

11770-2,5 2 2 A/B A/B Si Si Si Si A A No No

11770-2,6

11770-2,6 3 3 A/B A/B Si Si Si Si A A No No

(17)

1. 1. La chiave di conferma deve essere La chiave di conferma deve essere

ottenuta per mezzo di un responsabile ottenuta per mezzo di un responsabile

poiché, il destinatario sa chi ne è in poiché, il destinatario sa chi ne è in

possesso: se il destinatario è

possesso: se il destinatario è I I , lui sa chi , lui sa chi ha la chiave, deve solo riuscire ad averla.

ha la chiave, deve solo riuscire ad averla.

2. 2. Nessuno di questi protocolli fornisce la Nessuno di questi protocolli fornisce la conferma della chiave.

conferma della chiave.

Considerazioni

Considerazioni

(18)

Terza classe di protocolli Terza classe di protocolli

 Protocolli finalizzati a fornire entità di Protocolli finalizzati a fornire entità di

autenticazione senza creazione di una chiave autenticazione senza creazione di una chiave

 Protocolli che mirano a fornire la creazione di Protocolli che mirano a fornire la creazione di chiavi senza l’appoggio di un server, con

chiavi senza l’appoggio di un server, con

protocolli di trasporto e di accordo sulle chiavi protocolli di trasporto e di accordo sulle chiavi

Protocolli che puntano a fornire la creazione Protocolli che puntano a fornire la creazione di chiavi

di chiavi usando un server usando un server , con protocolli di , con protocolli di trasporto, di accordo e protocolli ibridi sulle trasporto, di accordo e protocolli ibridi sulle

chiavi

chiavi

(19)

Protocolli per la creazione di chiavi Protocolli per la creazione di chiavi

con l’ausilio di un server con l’ausilio di un server

Molti protocolli, assumono implicitamente che gli Molti protocolli, assumono implicitamente che gli

utenti non sono capaci di generare ottime chiavi utenti non sono capaci di generare ottime chiavi

di sessione e lasciano fare questo lavoro ai di sessione e lasciano fare questo lavoro ai

server.

server.

A A & & B B sono due utenti che desiderano istituire una sono due utenti che desiderano istituire una chiave di sessione

chiave di sessione S S è il server condiviso è il server condiviso

K K AS AS , , K K BS BS sono le chiavi gia condivise tra sono le chiavi gia condivise tra A A ed ed S S e tra e tra B B ed ed S S

K K AB AB è la chiave di sessione che dovrà essere istituita è la chiave di sessione che dovrà essere istituita

tra tra A A & & B B

(20)

Needham-Schroedler Protocol Needham-Schroedler Protocol , realizza buone proprietà , realizza buone proprietà di chiave nel rispetto di

di chiave nel rispetto di A A ma non in quello di ma non in quello di B B poiché, il poiché, il secondo messaggio, crittato con la chiave segreta di

secondo messaggio, crittato con la chiave segreta di A A , , include sia il nonce di

include sia il nonce di A A ma anche l’identità di ma anche l’identità di B B , assicurando , assicurando ad ad A A una chiave di sessione nuova una chiave di sessione nuova K K AB AB (prima non la (prima non la

possedeva) ed una chiave di autenticazione

possedeva) ed una chiave di autenticazione K K BS BS nuova. nuova.

B B decripta il messaggio proveniente da decripta il messaggio proveniente da A A usando usando K K BS BS e poi e poi manda ad

manda ad A A il suo nonce per essere sicuro che il messaggio il suo nonce per essere sicuro che il messaggio non è una replica.

non è una replica.

ATTACCO

ATTACCO : l’handshake può essere sabotato da un intruso : l’handshake può essere sabotato da un intruso

 Per ovviare a questa situazione Per ovviare a questa situazione Demming & Sacco Demming & Sacco hanno hanno introdotto un contatore per permettere di verificare la

introdotto un contatore per permettere di verificare la freschezza della chiave mandata.

freschezza della chiave mandata.

 

 

 

 

 

AB AB

BS

BS AS

B K B K AB K

K K AB

AB A

A

N B A

N A B

A K

B A

A K

K B N A S

N B A S A

1 :

:

, :

, ,

, :

, , :

,

A,B,N A

K AB

A B

K AB , A N B

N B -1

(21)

Otway-Rees Protocol Otway-Rees Protocol fornice fornice

simmetriche assicurazioni di freschezza di simmetriche assicurazioni di freschezza di

chiave (sia per A che per B) per mezzo di chiave (sia per A che per B) per mezzo di

una seconda nonce generata da A.

una seconda nonce generata da A.

 Il protocollo è stato successivamente Il protocollo è stato successivamente modificato sia da

modificato sia da Barrows Barrows che da che da Abadi & Abadi &

Needhman

Needhman . .

(22)

Kerberos Protocol Kerberos Protocol fu sviluppato dal MIT per fu sviluppato dal MIT per

proteggere i fornitori dei servizi di rete nell’ambito proteggere i fornitori dei servizi di rete nell’ambito

del progetto ATHENA, a partire dai protocolli di del progetto ATHENA, a partire dai protocolli di

Needham-Schroeder & Denning-Sacco.

Needham-Schroeder & Denning-Sacco.

Kerberos Versione 4

Kerberos Versione 4 la cui debolezza è che i metodi di la cui debolezza è che i metodi di criptazione utilizzati, non forniscono un’adeguata criptazione utilizzati, non forniscono un’adeguata

protezione d’integrità dei messaggi. Usa il “Plaintext Cipher protezione d’integrità dei messaggi. Usa il “Plaintext Cipher

Block Chaining encryption”.

Block Chaining encryption”.

Kerberos Versione

Kerberos Versione 5 usa CBC e fissa una checksum nel 5 usa CBC e fissa una checksum nel messaggio prima di criptarlo per fornire protezione messaggio prima di criptarlo per fornire protezione

d’integrità.

d’integrità.

Le 2 principali versioni sono:

Le 2 principali versioni sono:

(23)

Il Il protocollo Kerberos protocollo Kerberos coinvolge : coinvolge :

 Un utente che desidera usufruire di certi servizi ( Un utente che desidera usufruire di certi servizi ( A A ) )

 Un server che fornisce questi servizi ( Un server che fornisce questi servizi ( B B ) )

 Un server di autenticazione ( Un server di autenticazione ( S S ) che viene contattato dall’utente prima di ) che viene contattato dall’utente prima di accedere al server

accedere al server B B . . L’utente

L’utente A A chiede al server chiede al server S S di poter contattare il server di poter contattare il server B B in sicurezza. in sicurezza.

S S gli rilascia tra le altre cose un “ticket” che non può aprire. gli rilascia tra le altre cose un “ticket” che non può aprire.

A A lo invia a lo invia a B B . .

le chiavi di sessione generate da le chiavi di sessione generate da S S per comunicare con per comunicare con B B l’identità dell’utente l’identità dell’utente A A

un timer dopo il quale le variabili di sessione non saranno più valide. un timer dopo il quale le variabili di sessione non saranno più valide.

L’autenticatore contiene: l’identità dell’utente L’autenticatore contiene: l’identità dell’utente

un marcatore orario che serve al server per capire severamente l’utente un marcatore orario che serve al server per capire severamente l’utente

è in possesso della chiave di sessione fresca, contenuta nel ticket è in possesso della chiave di sessione fresca, contenuta nel ticket

A

B S

A,B,N A

{K AB ,B,L,N A } K

AS

, {K AB ,A,L} K

BS

(ticket)

{A,T A } K

AB

, {K AB ,A,L} K

BS

(autenticatore) (ticket)

Esso contiene:

Esso contiene:

(24)

 Lo standard internazionale Lo standard internazionale ISO/IEC 11770-2 ISO/IEC 11770-2 specifica

specifica 7 7 protocolli basati su server. protocolli basati su server.

4 4 si basano sul fatto che il server sceglie la chiave si basano sul fatto che il server sceglie la chiave di sessione ed è considerato solo un

di sessione ed è considerato solo un centro per centro per la distribuzione delle chiavi

la distribuzione delle chiavi . .

3 3 fanno in modo che la chiave di sessione è scelta fanno in modo che la chiave di sessione è scelta da da A A o da o da B B ed il server è considerato un ed il server è considerato un centro centro

per la traduzione delle chiavi

per la traduzione delle chiavi facendo si che esse facendo si che esse siano disponibili per tutti i richiedenti.

siano disponibili per tutti i richiedenti.

(25)

Wide-Mouthed-Frog Protocol Wide-Mouthed-Frog Protocol dovuto a Burrows, non si dovuto a Burrows, non si basa sulla solita convinzione che gli utenti si fidino solo di basa sulla solita convinzione che gli utenti si fidino solo di

un server per scegliere la chiave di sessione ma, al un server per scegliere la chiave di sessione ma, al

contrario, è inteso per un ambiente in cui gli utenti si fidino contrario, è inteso per un ambiente in cui gli utenti si fidino

gli uni degli altri gli uni degli altri  

Yahalom Protocol Yahalom Protocol è usato come protocollo di riferimento è usato come protocollo di riferimento per fare ricerca sugli attacchi e testare nuove tecniche.

per fare ricerca sugli attacchi e testare nuove tecniche.

Questo perché, avendo una struttura particolare, è molto Questo perché, avendo una struttura particolare, è molto

soggetto ad attacchi subdoli.

soggetto ad attacchi subdoli.

Janson-Tsudik 3PKDP Protocol Janson-Tsudik 3PKDP Protocol usa 2 esecuzioni del usa 2 esecuzioni del protocollo di base 2PKDP: la prima tra

protocollo di base 2PKDP: la prima tra A A ed ed S S e la e la seconda tra

seconda tra B B ed ed S S . Il protocollo raggiunge sia per . Il protocollo raggiunge sia per A A che che per per B B , gli obiettivi di costituzione della chiave e quelli , gli obiettivi di costituzione della chiave e quelli

autenticazione dell’entità.

autenticazione dell’entità.

(26)

Bellare-Rogaway 3PKD Protocol Bellare-Rogaway 3PKD Protocol usa due usa due trasformazioni crittografiche diverse:

trasformazioni crittografiche diverse:

● ● un algoritmo di criptazione simmetrica un algoritmo di criptazione simmetrica

● ● un MAC algorithm un MAC algorithm

La funzione di criptazione è derivata da una funzione chiave pseudo- La funzione di criptazione è derivata da una funzione chiave pseudo-

random

random f f

K K

. La criptazione di un messaggio . La criptazione di un messaggio m m usando usando f f sotto una chiave sotto una chiave condivisa

condivisa K K , è , è dove

dove r r è un numero random. è un numero random.

L’algoritmo fornisce sia ad

L’algoritmo fornisce sia ad A A che a che a B B l’autenticazione della l’autenticazione della chiave e la sua freschezza, ma non dà entità di

chiave e la sua freschezza, ma non dà entità di autenticazione è conferma della chiave.

autenticazione è conferma della chiave.

 

A BK

AB AB

K B B

A AB

A A

AB B

B AB

A A

B A

A A

A N N B A

N B

N N K

MASK AUTH

A B

K MASK

AUTH K

MASK AUTH

B S

N N B A S B

N N A B A

, , :

, ,

, ,

, :

, ,

, :

, , , :

, , :

' '

' '

' '

 

r , m f K r

(27)

Woo-Lam Protocol Woo-Lam Protocol realizza una reciproca entità di realizza una reciproca entità di autenticazione e la costituzione delle chiavi:

autenticazione e la costituzione delle chiavi: A A e e B B si si

scambiano nonce prima di contattare il server. Questo permette scambiano nonce prima di contattare il server. Questo permette

ad entrambi di includerli nel messaggio criptato mandato ad ad entrambi di includerli nel messaggio criptato mandato ad S S . . ATTACCO

ATTACCO : : B B forza forza A A ad accettare due copie della stessa chiave ad accettare due copie della stessa chiave di sessione come una nuova.

di sessione come una nuova.

Gong Protocol Gong Protocol è basato sull’accordo delle chiavi. La chiave di è basato sull’accordo delle chiavi. La chiave di sessione è derivata dalle informazioni fornite da

sessione è derivata dalle informazioni fornite da A A e da e da B B e non e non dal server

dal server S S . La parte ciptata del messaggio, include marcatori . La parte ciptata del messaggio, include marcatori orari o delle nonce per garantire la freschezza della chiave.

orari o delle nonce per garantire la freschezza della chiave.

K K 1 1 e e K K 2 2 sono numeri random che servono per realizzare le chiavi sono numeri random che servono per realizzare le chiavi di sessione da parte di

di sessione da parte di A A e e B B . Essi la elaborano a partire da . Essi la elaborano a partire da f(K f(K 1 1 ,K ,K 2 2 ) ) dove dove f f è una funzione unidirezionale. è una funzione unidirezionale.

 

   

   

   

 

AB

AB AS

BS AS

BS AS

AS

B K

B K K A

AB B

A

AB K B

K A AB B

A

B K K A

B A

B K A B

A

N B A

N N K

N N B A B

K N N A K

N N B B S

N N B A N

N B A S B

N N B A B A

N A B

N B A

:

, ,

, , , :

, , , , ,

, , :

, , , , ,

, , :

, , , : : :

  

 

 

 

AS BS BS

AS

S K B K S K

A K

T A K

B A S A

S

T A K

B S B S

B

T B K

A B S B

S

T B K

A S A B

A S

A

, , ,

, , :

, , ,

, , :

, , ,

, , :

, , ,

, , ,

, :

2 2 1

1

(28)

Boyd Protocol Boyd Protocol fornisce autenticazione, freschezza e conferma fornisce autenticazione, freschezza e conferma di chiave in soli 4 messaggi. Sia gli utenti che il server,

di chiave in soli 4 messaggi. Sia gli utenti che il server, contribuiscono al valore della chiave.

contribuiscono al valore della chiave.

● ● N N A A & & N N B B sono generati da sono generati da A A e e B B come input per la come input per la funzione MAC che determina le chiavi di sessione.

funzione MAC che determina le chiavi di sessione.

● ● S S genera un genera un K K S S che serve per la chiave MAC che serve per la chiave MAC

● ● A A & & B B calcolano la chiave di sessione come calcolano la chiave di sessione come K K AB AB =MAC =MAC K K

SS

(N (N A A ,N ,N B B ) )

Gong Hybrid Protocol Gong Hybrid Protocol nel quale si hanno 2 funzioni nel quale si hanno 2 funzioni unidirezionali :

unidirezionali :

● ● g g è usata per l’autenticazione è usata per l’autenticazione

● ● f f è usata per la chiave di derivazione (divisa in 3 componenti) è usata per la chiave di derivazione (divisa in 3 componenti)

ATTACCO

ATTACCO : Se : Se A A ha cominciato il protocollo con B e registra la ha cominciato il protocollo con B e registra la risposta dal server a

risposta dal server a B B , entra in possesso del valore , entra in possesso del valore

   

   

 

AB AS AB

BS AS

B K

K B K A

S

K A K S

S A

N B A

N N

K B A A B

N K

B A K

B A B S

N B A S A

:

, ,

, , :

, ,

, , ,

, :

, , :

     

A B S

BS B

A AB B

A AB BS

B S S

B A

A

H B A

H N A B

K H H K

g H H K

K A N N f N B S

N N B A S B

N B A B A

: , :

, , , ,

, , ,

, , ,

:

, , , :

, , :

Output di

f ( N S , N A ,B,K BS ) = g ( K ’ AB ,H’ A ,H’ B ,K BS )

(29)

Terza classe di protocolli Terza classe di protocolli

 Protocolli finalizzati a fornire entità di Protocolli finalizzati a fornire entità di

autenticazione senza creazione di una chiave autenticazione senza creazione di una chiave

 Protocolli che mirano a fornire la creazione di Protocolli che mirano a fornire la creazione di chiavi senza l’appoggio di un server, con

chiavi senza l’appoggio di un server, con

protocolli di trasporto e di accordo sulle chiavi protocolli di trasporto e di accordo sulle chiavi

Protocolli che puntano a fornire la creazione Protocolli che puntano a fornire la creazione di chiavi

di chiavi usando più di un server usando più di un server , con , con

protocolli di trasporto, di accordo e protocolli protocolli di trasporto, di accordo e protocolli

ibridi sulle chiavi.

ibridi sulle chiavi.

(30)

Protocolli per la creazione di chiavi Protocolli per la creazione di chiavi

con l’ausilio di più server con l’ausilio di più server

Ci sono essenzialmente due benefici Ci sono essenzialmente due benefici

nell’utilizzo di più server per nell’utilizzo di più server per

l’autenticazione di utenti:

l’autenticazione di utenti:

1. 1. Se uno o più server non sono disponibili, Se uno o più server non sono disponibili, può comunque essere possibile per

può comunque essere possibile per

l’utente stabilire una chiave di sessione.

l’utente stabilire una chiave di sessione.

2. 2. Se uno o più server sono inaffidabili, gli Se uno o più server sono inaffidabili, gli utenti possono comunque istituire una utenti possono comunque istituire una

buona chiave di sessione con gli altri buona chiave di sessione con gli altri

rimasti.

rimasti.

(31)

Gong Gong propose molti protocolli basati su multi server propose molti protocolli basati su multi server ma tutti con le stesse caratteristiche:

ma tutti con le stesse caratteristiche:

A A & & B B scelgono come comporre le loro chiavi (K scelgono come comporre le loro chiavi (K

A,iA,i

) & (K ) & (K

B,iB,i

) e le ) e le condividono con i loro rispettivi server.

condividono con i loro rispettivi server.

Gli n server (

Gli n server ( S S

11

, , S S

22

, , … … , , S S

nn

) sono un centro di trasferimento chiavi per ) sono un centro di trasferimento chiavi per consentire che esse siano disponibili tra i vari utenti.

consentire che esse siano disponibili tra i vari utenti.

Il concetto fondamentale è che la chiave può essere

Il concetto fondamentale è che la chiave può essere recuperata se recuperata se qualche server risulta non disponibile.

qualche server risulta non disponibile.

Questo è possibile perché

Questo è possibile perché A A & & B B scelgono x e y rispettivamente scelgono x e y rispettivamente private, le dividono in quote e le distribuiscono ai vari server.

private, le dividono in quote e le distribuiscono ai vari server.

Alla ricezione da parte di tutti i server, A è capace di ritrovare la Y Alla ricezione da parte di tutti i server, A è capace di ritrovare la Y

segreta di B e viceversa. Per prevenire che un server maligno venga segreta di B e viceversa. Per prevenire che un server maligno venga

in possesso delle chiavi, A & B realizzano una

in possesso delle chiavi, A & B realizzano una checksum incrociata checksum incrociata per tutte le condivisioni e la comparano con quella ricevuta dal per tutte le condivisioni e la comparano con quella ricevuta dal

server incriminato. Se il risultato è uguale, allora danno al server un server incriminato. Se il risultato è uguale, allora danno al server un

credito e alla fine trattiene soli i server con i più alti crediti. In credito e alla fine trattiene soli i server con i più alti crediti. In

sostituzione si possono usare anche le nonce.

sostituzione si possono usare anche le nonce.

Il numero di messaggi mandati in totale è 2n+3.

Il numero di messaggi mandati in totale è 2n+3.

X=(x 1 ,x 2 A ,x 3 ,x 4 ,x 5 ) B

Y=(y 1 ,y 2 ,y 3 ,y 4 ,y 5 )

(32)

Chen-Gollmann-Mitchell Protocol Chen-Gollmann-Mitchell Protocol : :

● ● La scelta delle chiavi viene effettuata dai server (in Gong erano gli La scelta delle chiavi viene effettuata dai server (in Gong erano gli utenti a scegliere come comporle)

utenti a scegliere come comporle)

● ● I server scelgono anche un valore segreto indipendente (in Gong lo I server scelgono anche un valore segreto indipendente (in Gong lo condividevano.

condividevano.

● ● Gli utenti impiegano una checksum incrociata per avere garanzie Gli utenti impiegano una checksum incrociata per avere garanzie sull’operato dei server.

sull’operato dei server.

● ● Si usa un metodo di crediti per la valutazione dei server onesti. Si usa un metodo di crediti per la valutazione dei server onesti.

Il numero di messaggi mandati in totale è 2n+4.

Il numero di messaggi mandati in totale è 2n+4.

Protocollo a cascata Protocollo a cascata : : la richiesta non viene trasferita dal server 1 al la richiesta non viene trasferita dal server 1 al prossimo tramite l’utente ma direttamente tramite server (tipo gNutella).

prossimo tramite l’utente ma direttamente tramite server (tipo gNutella).

Anche le risposte seguono questo percorso.

Anche le risposte seguono questo percorso.

Alla fine, l’ultimo server manda le risposte totali degli altri direttamente Alla fine, l’ultimo server manda le risposte totali degli altri direttamente all’utente iniziale.

all’utente iniziale.

Il numero di messaggi mandati in totale è n+5.

Il numero di messaggi mandati in totale è n+5.

Richiesta chiavi

Riferimenti

Documenti correlati

• Con una linea ISDN é possibile comunicare liberamente con un qualsiasi abbonato della rete telefonica tradizionale fissa o mobile ed usufruire delle forme di comunicazione (quali

 I pacchetti Link State Update Link State Update sono inviati allo scadere di un timer (ogni 30 minuti) o per rispondere ad una richiesta. Numero di LSA

Ciascun nodo di una rete di calcolatori deve disporre di una tabella interna, detta tabella di routing, che indica verso quale nodo inoltrare i pacchetti in modo che possano

Rapporto annuale regionale INAIL: Dati statistici - Contributo INAIL Toscana alla prevenzione sui luoghi di lavoro Giovanni Asaro - Direttore Regionale INAIL Toscana. Il

 Quando un router riceve un aggiornamento da un vicino che gli indica che una rete prima accessibile adesso non lo è più, il router marca la rete come tale e fa partire un

 IGP: protocolli di routing utilizzati per trasportare informazioni di instradamento tra i router interni a un AS.  EGP: protocolli di routing utilizzati per

Valutazione dell’impatto della formazione e del supporto alla ricerca delle professioni.. sanitarie sulla produttività scientifica in diversi

Gli aspetti di sicurezza sono anch’essi trasver- sali nel senso che possono essere introdotti in protocolli di tutti gli strati: si pensi alla cifratu- ra a livello fisico,