• Non ci sono risultati.

A Tutorial Introduction to Authentication and Key Establishment

N/A
N/A
Protected

Academic year: 2021

Condividi "A Tutorial Introduction to Authentication and Key Establishment"

Copied!
47
0
0

Testo completo

(1)

Corso di Sicurezza e Privacy Corso di Sicurezza e Privacy

Laurea Specialistica in Economia Informatica Laurea Specialistica in Economia Informatica

Università degli studi Università degli studi

“G. D’Annunzio“G. D’Annunzio” Pescara

Pescara

A.A. 2007-2008 A.A. 2007-2008

A Tutorial Introduction to Authentication and Key

Establishment

(2)

2

Indice Indice

Building a Key Establishment Protocol Building a Key Establishment Protocol

Protocol Architectures Protocol Architectures

Criptographic Propetries Criptographic Propetries

Freshness Freshness

Types of Attack on Protocols Types of Attack on Protocols

Design Principles For Cryptographic Design Principles For Cryptographic

Protocol (

Protocol ( Abadi and Needham Abadi and Needham ) )

(3)

Indice Indice

Building a Key Establishment Protocol Building a Key Establishment Protocol

Protocol Architectures Protocol Architectures

Criptographic Propetries Criptographic Propetries

Freshness Freshness

Types of Attack on Protocols Types of Attack on Protocols

Design Principles For Cryptographic Design Principles For Cryptographic

Protocol (

Protocol ( Abadi and Needham Abadi and Needham ) )

(4)

4

Building a Key Building a Key

Establishment Protocol Establishment Protocol

Set di Utenti Set di Utenti Session Key Session Key

Server Server

A B

S

KAB

(5)

Building a Key Building a Key

Establishment Protocol Establishment Protocol

A

B S

2:KAB

1: A,B

3: KAB, A

• L’obiettivo del protocollo è di stabilire una nuova chiave segreta KAB che possono usare per comunicare in modo sicuro.

• Il ruolo di S è di generare

KAB e trasportarlo da A a B.

• Il valore di KAB dovrebbe essere conosciuto da entrambi A e B e non a terze parti

• A e B dovrebbero sapere che KAB è appena generata.

1: A → S : A, B 2: S → A : KAB

3: A → B : KAB, A

(6)

6

Building a Key Building a Key

Establishment Protocol Establishment Protocol

A

B S

2:KAB

1: A,B

3: KAB, A

È incompleto:

• Sono specificati solo i passi di esecuzioni di successo.

• Non sono specificati le azioni interne dei mandanti.

• È implicito assumere che A e B “conoscono” che i messaggi ricevuti fanno parte del protocollo

(7)

Confidentiality Confidentiality

A

B S

2:KAB

1: A,B

3: KAB, A

Problema:

La session Key KAB deve essere trasportata da A a B e non da altre entità

Security Assumption 1: L’avversario è in grado di spiare tutti i messaggi in un cryptographic protocol

Al fine di fornire la riservatezza è necessario usare un algoritmo di crittografia e chiavi associate. Per ora sarà sufficientemente effettuare il presupposto che il Server S inizialmente condivide una chiave segreta per ogni utente del sistema.

KASA

(8)

8

Confidentiality Confidentiality

A

B S

2:{KAB}KAS , {KAB}KBS

1: A,B

3: {KAB}KBS, A

• A spedisce ad S le identità delle parti che condividono la session Key.

S genera la session Key KAB che lo cripta con le chiavi KAS e KBS e lo spedisce ad A.

• A spedisce la chiave di criptazione a B con la sua identità così che B conosce chi altro ha questa chiave.

(9)

Authentication Authentication

A

B S

2:{KAB}KAS , {KAB}KBS

1: A,B

3: {KAB}KBS, A

Problema: Il problema non è che si dà via la chiave segreta KAB. La difficoltà è che le informazioni non sono protetti da terze parti che hanno la chiave. Gli avversari sono in grado non solo a origliare sui messaggi spediti ma anche di catturare i messaggi e di alterarli.

Security Assumption 2 : Gli avversari possono alterare tutti i messaggi spediti in un cryptographic protocol usando qualsiasi informazione disponibile. In aggiunta l’avversario può cambiare rotta di qualsiasi messaggio verso altri utenti. Questo include l’abilità di generare e inserire completamente nuovi messaggi.

(10)

10

Authentication

Authentication Attacco 1 Attacco 1

A

B S

2:{KAB}KAS , {KAB}KBS

1: A,B

3: {KAB}KBS, A

C 3’: {KAB}KBS, D

Attacco1: L’avversario C intercetta semplicemente il messaggio da A a B e lo sostituisce con l’identità di D al posto di A.

La conseguenza è che B crede che sta condividendo la chiave con D invece che con A.

Sebbene C ottiene KAB possiamo vedere il protocollo come spezzato dal momento che non soddisfa le nostre richieste. Quindi gli utenti devono sapere chi altro conosce la session Key

(11)

Authentication

Authentication Attacco 2 Attacco 2

A C

S

2:{KAC}KAS , {KAC}KCS

1: A,B

3: {KAC}KCS, A

C

1’: A,C

2’:{KAC}KAS , {KAC}KCS

Attacco 2: C altera il messaggio da A ad S così che genera KAC con la chiave di C KCS, invece che con la chiave di B. Poiché A non può distinguere tra i messaggi crittografati, A non rileverà nessuna alterazione e quindi accetta KAC. Inoltre C raccoglie anche il messaggio destinato a B così che B non noterà nessuna anomalia.

Il risultato di questo attacco è che A crede che il protocollo sia stato completato con successo con B non che conosce tutte le informazioni che A spedisce a B.

(12)

12

Authentication

Authentication Attacco 2 Attacco 2

A C

S

2:{KAC}KAS , {KAC}KCS

1: A,B

3: {KAC}KCS, A

C

1’: A,C

2’:{KAC}KAS , {KAC}KCS

Bisogna notare che questo tipo di attacco può avere successo solo se C è un utente legittimato e conosciuto da S (insiders)

Security Assumption 3:

L’ avversario può essere un partecipante legittimo del protocollo (insiders), o una parte esterna (outsiders), o una combinazione di entrambi.

(13)

Authentication Authentication

A

B S

2:{KAB,B}KAS, {KAB,A}KBS

1: A,B

3: {KAB,A}KBS

Per superare l’attacco, il nome degli utenti che condividono KAB hanno la necessità di essere vincolati crittograficamente al valore di KAB, utilizzando algoritmi di crittografia di S in modo da non alterare i messaggi.

Problema: La session Key KAB generata da S per ogni protocollo di esecuzione.

• Session Key sono vulnerabili da attacchi

• È possibile utilizzare vecchie Session Key da precedenti sessioni (replay)

(14)

14

Replay Replay

A

B C

2:{K’AB,B}KAS,{K’AB,A}KBS

1: A,B

3: {K’AB,A}KBS

Secutity Assumption 4:

Un avversario è in grado di ottenere il valore della session key KAB in qualsiasi precedente esecuzione del protocollo

C intercetta il messaggio da A ad S.

K’AB è una vecchia session Key utilizzata da A e B.

Dal SA.1 C può conoscere il messaggio crittografato tramite la chiave K’AB che era stata trasportata da A a B. Dalla SA.4 C può conoscere il valore di K’AB. Quindi A completa il protocollo con B, C è in grado di decriptare le seguenti informazioni crittografati con K’AB o inserire o alterare messaggi la cui integrità è protetta da K’AB.

C ripete (replay) i messaggi protetti da K’AB che sono stati inviati in un precedente sessione

(15)

Replay Replay

Il metodo più utilizzato per superare un attacco Replay è il Challenge-Response. In questo metodo A genererà un nuovo valore casuale NA, comunemente definita nonce, che può essere utilizzato una volta sola.

Definition 1.1 Una nonce è un valore casuale generato da un componente del protocollo restituito a questi componenti per mostrare che un messaggio è appena generato.

A

1. A,B,NA S

2. {KAB,B,NA,{KAB,A}KBS} KAS

(16)

16

Replay Replay

A

S 1. A,B,NA

2. {KAB,B,NA, {KAB,A}KBS } KAS

B 3. {KAB,A}KBS

4. {NB}KAB

5. {NB-1}KAB

C B

3. {KAB,A}KBS

4. {NB}K’AB

5. {NB-1}K’AB

(17)

Replay Replay

A

S

B 1. B,NB

2. A,B,NA,NB

3. {KAB,B,NA}KAS,{KAB,A,NB}KBS

4. {KAB,A,NB}KBS

• Il protocollo è iniziato da B che manda la sua nonce prima ad A.

• A aggiunge la sua nonce e la spedisce ad S che è in grado di generare KAB e spedirlo in due messaggi separati ad A e a B che a loro volta controllano che

KAB non sia riutilizzato (fresh)

(18)

18

Indice Indice

Building a Key Establishment Protocol Building a Key Establishment Protocol

Protocol Architectures Protocol Architectures

Criptographic Propetries Criptographic Propetries

Freshness Freshness

Types of Attack on Protocols Types of Attack on Protocols

Design Principles For Cryptographic Design Principles For Cryptographic

Protocol (

Protocol ( Abadi and Needham Abadi and Needham ) )

(19)

Protocol Architectures Protocol Architectures

Exsting Cryptographic Keys Exsting Cryptographic Keys

Method of Session Key Generation Method of Session Key Generation

Number of Users

Number of Users

(20)

20

Exsting Cryptographic Keys Exsting Cryptographic Keys

3 possibilità:

3 possibilità:

I.I. Le entità gia condividono una chiave segretaLe entità gia condividono una chiave segreta

II.II. Viene utilizzato un OViene utilizzato un Off-lineff-line ServerServer.. Questo significa Questo significa che le entità già posseggono una chiave pubblica che le entità già posseggono una chiave pubblica certificata. Al fine di verificare la autenticità di una certificata. Al fine di verificare la autenticità di una chiave pubblica potrebbe essere necessario chiave pubblica potrebbe essere necessario verificare una

verificare una Chain of CertificateChain of Certificate..

III.III. Viene utilizzato un Viene utilizzato un On-lineOn-line ServerServer.. Questo significa Questo significa che ogni entità condivide una chiave segreta con il che ogni entità condivide una chiave segreta con il Server

Server. Al fine di passare le informazioni tra le parti è . Al fine di passare le informazioni tra le parti è necessario che esso passi tramite una

necessario che esso passi tramite una ChainChain of on-of on- line Server

line Server..

(21)

Method of Session Key Method of Session Key

Generation Generation

Definition 1.2

Definition 1.2 Una Una KeyKey TransportTransport ProtocolProtocol è una Key è una Key Establishment Protocol in cui uno dei mandanti genera la Establishment Protocol in cui uno dei mandanti genera la chiave e questa chiave è poi trasferita a tutti gli utenti del chiave e questa chiave è poi trasferita a tutti gli utenti del protocollo.

protocollo.

Definition 1.3

Definition 1.3 Una Una Key Agreement ProtocolKey Agreement Protocol è una Key è una Key Establishment Protocol in cui la Session Key è una Establishment Protocol in cui la Session Key è una funzione di Input da tutti gli utenti del protocollo.

funzione di Input da tutti gli utenti del protocollo.

Definition 1.4

Definition 1.4 Un Un Hybrid ProtocolHybrid Protocol è una Key è una Key Establishment Protocol in cui la Session Key è una Establishment Protocol in cui la Session Key è una funzione di Inputs da più di un mandante, ma non da tutti funzione di Inputs da più di un mandante, ma non da tutti gli utenti. Questo significa che il protocollo è un

gli utenti. Questo significa che il protocollo è un Key Key Agreement Protocol

Agreement Protocol dal punto di vista di qualche utente, dal punto di vista di qualche utente, e un

e un Key Transport ProtocolKey Transport Protocol dal punto di vista di altri. dal punto di vista di altri.

(22)

22

Number of Users Number of Users

Non esiste un numero preciso Non esiste un numero preciso

Maggiore è l’estenzione del protocollo Maggiore è l’estenzione del protocollo

maggiore sarà la difficoltà di maggiore sarà la difficoltà di

comunicazione

comunicazione

(23)

Example

Example (Hybrid Key (Hybrid Key Establishment)

Establishment)

• On-line Server

• Hybrid Key Generation

• 2 Utenti

• Condividono KAS e KBS

KAB = f (NB, NS)

1. A → B : A, NA

2. B → S : {NB,A,B}KBS, NA

3. S → A : {KAB,A,B,NA}KAS,NS

4. A → B : NS, {A,B}KAB

5. B → A : {B,A}KAB

• S deve controllare che il valore dalla decriptazione del campo B è la stessa identità del mandante la quale chiave è usata per decriptare il messaggio.

• Se la stessa identità è ricevuta con l’identità di A, allora S può dedurre che A e B stanno condividendo una Session Key

(24)

24

Example

Example

(Hybrid Key (Hybrid Key Establishment)

Establishment)

A

S

B 1. A, NA

2. {NB,A,B}KBS, NA

3. {KAB,A,B,NA}KAS,NS

4. NS, {A,B}KAB

5. {B,A}KAB

(25)

Indice Indice

Building a Key Establishment Protocol Building a Key Establishment Protocol

Protocol Architectures Protocol Architectures

Criptographic Propetries Criptographic Propetries

Freshness Freshness

Types of Attack on Protocols Types of Attack on Protocols

Design Principles For Cryptographic Design Principles For Cryptographic

Protocol (

Protocol ( Abadi and Needham Abadi and Needham ) )

(26)

26

Cryptographic Properties Cryptographic Properties

Confidentiality Confidentiality

Data Integrity Data Integrity

Data Origin Authentication Data Origin Authentication

Non-Repudiation

Non-Repudiation

(27)

Cryptographic Properties Cryptographic Properties

E E A A (M) (M) La chiave pubblica di criptazione del La chiave pubblica di criptazione del messaggio

messaggio M M con la chiave pubblica con la chiave pubblica dell’entità

dell’entità A A

{M} {M}

KK

Criptazione Simmetrica del messaggio Criptazione Simmetrica del messaggio M M con una chiave condivisa con una chiave condivisa K K

MAC MAC k k (M) (M) Codice di autenticazione di Codice di autenticazione di M M usando una chiave condivisa

usando una chiave condivisa K K

Sig Sig

AA

(M) (M) Firma digitale del messaggio Firma digitale del messaggio M M generato dalla entità

generato dalla entità A A

(28)

28

Confidentiality Confidentiality

Definition 1.5 Uno schema di decriptazione consiste in 3 Uno schema di decriptazione consiste in 3 set:

set: K , K , MM , , CC

1.1. Un algoritmo di generazione delle chiaviUn algoritmo di generazione delle chiavi, , il cui outputs il cui outputs è una valida criptazione della chiave K

è una valida criptazione della chiave K єє K e una valida K e una valida decriptazione K

decriptazione K-1-1єєKK

2.2. Un algoritmo di criptazioneUn algoritmo di criptazione, , che prende un elemento m che prende un elemento m єє MM e una criptazione della chiave K e una criptazione della chiave K єє K e un outputs K e un outputs un elemento c

un elemento c єє CC definito come c= definito come c=

E E

kk{m}. L’algoritmo {m}. L’algoritmo di criptazione può essere randomizza

di criptazione può essere randomizzato così che un to così che un differente c risulterà dato dallo stesso risultato m

differente c risulterà dato dallo stesso risultato m

3.3. Un funzione di decriptazioneUn funzione di decriptazione, , prende un elemento c prende un elemento c є є CC e una chiave di decriptazione K e una chiave di decriptazione K-1-1 єє K K e output un e output un elemento m

elemento m єє MM definito come m= definito come m=

D D

kk-1-1{c}. Si richiede {c}. Si richiede che che

D D

kk-1-1{Ek{m}}=m{Ek{m}}=m

(29)

Confidentiality Confidentiality

Symmetric Algorithm Symmetric Algorithm

K = K K = K

Asymmetric Algorithm Asymmetric Algorithm

K K ≠ ≠ K K

-1

-1

(30)

30

Confidentiality Confidentiality

Definition 1.6

Definition 1.6 Uno schema di criptazione fornisce un Uno schema di criptazione fornisce un semantic security

semantic security se se niente niente che che può può essere essere efficientemente calcolato dato il ciphertext, può anche efficientemente calcolato dato il ciphertext, può anche

essere efficientemente calcolato senza ciphertext.

essere efficientemente calcolato senza ciphertext.

INDISTINGUISHABILITY

Questo significa che il ciphertext corrispondente a uno dei due messaggi conosciuti, l’avversario può indovinare il plaintext con il 50% di possibilità

(31)

Confidentiality Confidentiality

Definition 1.7

Definition 1.7 Uno schema di criptazione fornisce la Uno schema di criptazione fornisce la non-non- malleabilità

malleabilità se esso è infattibile a prendere un esistente se esso è infattibile a prendere un esistente ciphertext e lo trasforma in un correlato ciphertext senza la ciphertext e lo trasforma in un correlato ciphertext senza la

conoscenza dell’input plaintext conoscenza dell’input plaintext

NON - MALLEABILITÁ

La non-Malleabilità è più forte della semantic security

(32)

32

Data Origin Authentication and Data Data Origin Authentication and Data

Integrity Integrity

Definition 1.8

Definition 1.8 Una funzione f : X Una funzione f : X → Y è → Y è one – way one – way se è se è computazionalmente facile da calcolare y = f(x) dato x

computazionalmente facile da calcolare y = f(x) dato x єє X, X, ma è computazionalmente difficile trovare qualsiasi x con ma è computazionalmente difficile trovare qualsiasi x con

f(x) = y per quasi tutti i valori di y

f(x) = y per quasi tutti i valori di y єє Y Y

Una funzione one – way che è allegato al messaggio prima della criptazione è conosciuto come un manipulation detection code (MDC). L’idea è che senza la conoscenza del messaggio o del MDC l’avversario non è in grado di alterare il messaggio senza distruggere la correttezza del MDC. Cioè, L’avversario non può creare alcun messaggio criptato che, quando decriptato, avrebbe un corretto MDC

(33)

Definition 1.9

Definition 1.9 Un codice di autenticazioneUn codice di autenticazione (MAC) è una famiglia di (MAC) è una famiglia di funzioni parametrizzati da una chiave K tale che

funzioni parametrizzati da una chiave K tale che MACMACk(m) prende k(m) prende un messaggio m di arbitraria lunghezza e l’output un valore di un messaggio m di arbitraria lunghezza e l’output un valore di lunghezza fissata che:

lunghezza fissata che:

1.1. È computazionalmente facile da calcolare È computazionalmente facile da calcolare MACMACk(m) dato K e m.k(m) dato K e m.

2.2. Dato un qualsiasi valore del Dato un qualsiasi valore del MACMAC per un dato K, è per un dato K, è computazionalmente difficile trovare qualsiasi valore

computazionalmente difficile trovare qualsiasi valore MACMAC per per qualsiasi nuovo messaggio.

qualsiasi nuovo messaggio.

Questa seconda definizione per fornire Data Origin Authentication e Data Integrity bisogna aggiungere un MAC al messaggi che potrebbe essere sia in plaintext o criptata. Al ricevimento del MAC, il destinatario che ha una corretta chiave è in grado di ricalcolare il MAC dal messaggio e verificare che esso è

Data Origin Authentication and Data Data Origin Authentication and Data

Integrity

Integrity

(34)

34

Non - Repudiation Non - Repudiation

Definition 1.10 La firma digitale consiste di 3 sets: K , M , S

1. Un algoritmo di generazione delle chiavi, il cui outputs una valida firma con chiave K є K è una valida verificazione della chiave K-1 є K.

2. Un algoritmo di generazione delle firme, che prende una valida firma con chiave K є K e come outputs un elemento s є S. Potremmo scrivere s=SigA{m} dove K è la firma generata con la chiave dell’entità di A.

L’algoritmo di generazione delle firme potrebbe essere randomizzato così che un differente output risulterà dato lo stesso messaggio m.

3. Una funzione di verifica, che prende una firma s є S, un messaggio m є M, e

una chiave di verifica K-1 є K e come output un elemento v є {0,1}. Se v=1 allora diciamo che la firma è valida o Se v=0 diciamo che la firma non è valida.

L’algoritmo di firma digitale è considerato come sicuro se è computazionalmente difficile per gli avversari trovare una valida firma di qualsiasi messaggio che non è stata precedentemente firmato, anche dato alcuni messaggi precedentemente firmati.

(35)

Secret Sharing Secret Sharing

Il Secret Sharing è un meccanismo che consente al proprietario di un segreto di distribuire le parti del messaggio all’interno di un gruppo. Il proprietario di un segreto è spesso chiamato dealer.

Un (t,n) Threshold Scheme è un secret sharing per cui n parti sono distribuite, tale che qualsiasi set di t (o più) parti sono sufficienti per ottenere il segreto, mentre qualsiasi set di t-1 (o meno) parti non sono di aiuto per recuperare il segreto.

Problema : Il secret sharing non fornisce fresh keys e key

(36)

36

Secret Sharing Secret Sharing

Threshold Scheme è basato sull’uso di interpolazioni polinomiali. Consente a qualsiasi polinomio di grado d ad essere completamente recuperati una volta ogni d+1 punti sono conosciuti su di esso.

Le interpolazioni polinomiali lavorano su tutti i campi, ma nelle applicazioni criptografiche il campo è tipicamente Zp per qualche p primo

Al fine di condividere un segreto s є Zp nel threshold scheme (t,n) il dealer genera un polinomio di grado t-1 :

f(z)

=

a

0 +

a

1z +…….+

a

t-1zt-1

Con coefficienti casualmente scelti in Zp eccetto per

a

0 = s . Le parti sono valori f(x) con 1 ≤ x ≤ n.

(37)

Indice Indice

Building a Key Establishment Protocol Building a Key Establishment Protocol

Protocol Architectures Protocol Architectures

Criptographic Propetries Criptographic Propetries

Freshness Freshness

Types of Attack on Protocols Types of Attack on Protocols

Design Principles For Cryptographic Design Principles For Cryptographic

Protocol (

Protocol ( Abadi and Needham Abadi and Needham ) )

(38)

38

Freshness Freshness

La proprietà di verifica se una chiave può essere replicata o meno può essere estesa anche agli elementi del messaggio. 2 ways :

1. Key agreement protocol dove 2 utenti A e B entrambi scelgono un input rispettivamente NA e NB su una nuova sessione KAB. KAB sarà funzione di

NA e NB.

KAB = f (NA , NB)

Una proprietà desiderabile della funzione f non dovrebbe essere possibile per A o B a riutilizzare un altro valore di KAB anche se l’input dell’altro è conosciuto. Noto A non è possibile trovare NB tale che f (NA , NB) sia un valore già usato.

2. Il freshness dipende su qualcosa ricevuto con il messaggio. Supponiamo che a intende verificare il freshness di una session key KAB che è stata generata da qualche server S, ed inoltre che il messaggio ricevuto non sia un vecchio messaggio. Assumiamo che A riceve F( KAB , N ). F per essere freshness deve disporre delle proprietà di Data Origin Authentication and Data Integrity così che il destinatario può dedurre che sia KAB che N sono fresh.

(39)

Freshness Freshness

La proprietà di verifica se una chiave può essere replicata o meno può essere estesa anche agli elementi del messaggio. 2 ways :

1. K

AB

= f ( N

A

, N

B

)

5 = f ( 2 , 3 ) 5 = f (2 , N

B

) 2. F ( K

AB

, N)

• Data origin Authentication

• Data Integrity

(40)

40

Freshness Freshness

Timestamps

Timestamps : : timestamps sia dentro un timestamps sia dentro un intervallo di tempo accettato

intervallo di tempo accettato . . Nonce (Random Challenges) Nonce (Random Challenges)

1. A 1. A → B : → B : N N A A

2. B → A : f( 2. B → A : f( N N A A ,…) ,…) Counters

Counters : : sincronizzazione di un contatore sincronizzazione di un contatore

(41)

Indice Indice

Building a Key Establishment Protocol Building a Key Establishment Protocol

Protocol Architectures Protocol Architectures

Criptographic Propetries Criptographic Propetries

Freshness Freshness

Types of Attack on Protocols Types of Attack on Protocols

Design Principles For Cryptographic Design Principles For Cryptographic

Protocol (

Protocol ( Abadi and Needham Abadi and Needham ) )

(42)

42

Types of Attack on Types of Attack on

Protocols Protocols

Eavesdropping

Eavesdropping : : cattura le informazioni spedite cattura le informazioni spedite nel protocollo.

nel protocollo.

Modification

Modification : : alterare le informazioni spedite alterare le informazioni spedite nel protocollo.

nel protocollo.

Replay

Replay : : ripetere la session Key. ripetere la session Key.

Preplay

Preplay : : estenzione del replay, l’avversario si estenzione del replay, l’avversario si impegna in una esecuzione del protocollo prima impegna in una esecuzione del protocollo prima

dell’esecuzione di un utente legittimato . dell’esecuzione di un utente legittimato .

Reflection

Reflection : : l’avversario spedisce messaggi del l’avversario spedisce messaggi del protocollo che ritornano all’utente che li ha

protocollo che ritornano all’utente che li ha spediti.

spediti.

(43)

Types of Attack on Types of Attack on

Protocols Protocols

Denial of service

Denial of service : :

l’avversario sostituisce ed l’avversario sostituisce ed ostacola gli utenti dal completare il protocollo.

ostacola gli utenti dal completare il protocollo.

Typing Attacks

Typing Attacks : :

l’avversario sostituisce un campo l’avversario sostituisce un campo del messaggio di un tipo con un’altro campo di un del messaggio di un tipo con un’altro campo di un

altro tipo.

altro tipo.

Cryptanalysis

Cryptanalysis : :

l’avversario guadagna qualche utile l’avversario guadagna qualche utile leva dal protocollo per aiutare la cryptanalysis.

leva dal protocollo per aiutare la cryptanalysis.

Certificate Manipulation

Certificate Manipulation : :

l’avversario sceglie o l’avversario sceglie o modifica le informazioni dei certificati per attaccare modifica le informazioni dei certificati per attaccare

uno o più esecuzioni del protocollo.

uno o più esecuzioni del protocollo.

Protocol Interaction

Protocol Interaction : :

l’avversario sceglie un nuovo l’avversario sceglie un nuovo

protocollo per interagire con un protocollo conosciuto.

(44)

44

Indice Indice

Building a Key Establishment Protocol Building a Key Establishment Protocol

Protocol Architectures Protocol Architectures

Criptographic Propetries Criptographic Propetries

Freshness Freshness

Types of Attack on Protocols Types of Attack on Protocols

Design Principles For Cryptographic Design Principles For Cryptographic

Protocol (

Protocol ( Adabi e Needham Adabi e Needham ) )

(45)

Design Principle for Cryptographic Design Principle for Cryptographic

Protocol

Protocol ( ( Abadi and Abadi and

Needham Needham ) )

1.1. Ogni Ogni messaggio messaggio deve deve dire dire cosa cosa significa: significa:

l'interpretazione del messaggio deve dipendere solo sul l'interpretazione del messaggio deve dipendere solo sul

suo contenuto suo contenuto

2.2. Processo di esecuzione del messaggio, devono essere Processo di esecuzione del messaggio, devono essere chiaramente indicati in modo che qualcuno nel chiaramente indicati in modo che qualcuno nel ricontrollare la progettazione può vedere se sono ricontrollare la progettazione può vedere se sono

accettabili o meno accettabili o meno

3.3. Se l'identità di uno degli utenti è essenziale per il Se l'identità di uno degli utenti è essenziale per il significato di un messaggio, è prudente citare il nome significato di un messaggio, è prudente citare il nome

degli utenti esplicitamente nel messaggio degli utenti esplicitamente nel messaggio

4.4. Essere chiaro sul perché la crittografia è stata fattaEssere chiaro sul perché la crittografia è stata fatta

5.5. Quando uno degli utenti firma un messaggio che è già Quando uno degli utenti firma un messaggio che è già stato cifrato, non dovrebbe essere dedotto che l’utente stato cifrato, non dovrebbe essere dedotto che l’utente

conosce il contenuto del messaggio conosce il contenuto del messaggio

(46)

46

Design Principle for Cryptographic Design Principle for Cryptographic

Protocol

Protocol ( ( Abadi and Abadi and Needham’s

Needham’s) )

6. Essere chiari su quali proprietà si sta assumendo circa le

6. Essere chiari su quali proprietà si sta assumendo circa le noncesnonces.. 7. Se una quantità è prevedibile per essere effettiva, dovrebbe 7. Se una quantità è prevedibile per essere effettiva, dovrebbe essere protetto in modo tale che un intruso non può simulare un essere protetto in modo tale che un intruso non può simulare un cambiamento e poi ripetere una risposta

cambiamento e poi ripetere una risposta

8.8. Se sono utilizzati i timestamps come garanzie di freshness, allora Se sono utilizzati i timestamps come garanzie di freshness, allora la differenza tra gli orologi locali e delle varie macchine devono la differenza tra gli orologi locali e delle varie macchine devono essere molto inferiore a quello consentito dall’età di un essere molto inferiore a quello consentito dall’età di un messaggio.

messaggio.

9.9. Una chiave potrebbe essere stato usato di recente, ad esempio Una chiave potrebbe essere stato usato di recente, ad esempio per cifrare una

per cifrare una nonce, e ancora essere vecchio e forse nonce, e ancora essere vecchio e forse compromessa.

compromessa.

10.10. Dovrebbe essere possibile dedurre che il protocollo, e quale Dovrebbe essere possibile dedurre che il protocollo, e quale esecuzione di tale protocollo, il messaggio appartiene, e per esecuzione di tale protocollo, il messaggio appartiene, e per conoscere il suo numero nel protocollo.

conoscere il suo numero nel protocollo.

11.11. Le relazioni di fiducia in un protocollo deve essere esplicito e ci Le relazioni di fiducia in un protocollo deve essere esplicito e ci dovrebbero essere buone ragioni per la necessità di tali relazioni.

dovrebbero essere buone ragioni per la necessità di tali relazioni.

(47)

FINE

Riferimenti

Documenti correlati

Descriptors: basic skills, minimum competences, mathematics, natural sciences, civics, computer literacy, cross-curricular competences, curriculum, learning difficulty, evaluation

Questo modello è stato usato per trovare un attacco previsto sconosciuto sul protocollo della chiave pubblica Needham-Schroeder.

It corresponds to the total production of goods and services, evaluated at basic prices, less intermediate consumptions, plus vat and indirect taxes on products and imports net

• Data reported by EU/EEA countries to the European Surveillance System (TESSy) on the number of weekly doses of COVID-19 vaccines distributed by manufacturer to each country

selective administration route 255 serine protease inhibitor 119 sinusoidal endothelial cell 129 SNARF-1 89. S-Nitrosoalbumin 275 sodium chloride 93 sol-gel

[r]

The primary care clinician is in an excellent position to recognize these training errors and use this knowledge to prevent and treat the associated problems..

[r]