• Aucun résultat trouvé

Security Models Lecture 3 Passive Intruder

N/A
N/A
Protected

Academic year: 2022

Partager "Security Models Lecture 3 Passive Intruder"

Copied!
93
0
0

Texte intégral

(1)

Security Models Lecture 3 Passive Intruder

Security Models Lecture 3 Passive Intruder

Pascal Lafourcade

2020-2021

(2)

Security Models Lecture 3 Passive Intruder

Outline of Today:

1 Logical Attacks

2 Diffie-Hellman 3 Needham Schroeder 4 Dolev Yao’s Intruder

5 Undecidability for unbounded number of sessions 6 Notion of Locality

7 Passive Intruder: Intruder Deduction Problem

2 / 50

(3)

Security Models Lecture 3 Passive Intruder

Outline of Today:

1 Logical Attacks 2 Diffie-Hellman

3 Needham Schroeder 4 Dolev Yao’s Intruder

5 Undecidability for unbounded number of sessions 6 Notion of Locality

7 Passive Intruder: Intruder Deduction Problem

(4)

Security Models Lecture 3 Passive Intruder

Outline of Today:

1 Logical Attacks 2 Diffie-Hellman 3 Needham Schroeder

4 Dolev Yao’s Intruder

5 Undecidability for unbounded number of sessions 6 Notion of Locality

7 Passive Intruder: Intruder Deduction Problem

2 / 50

(5)

Security Models Lecture 3 Passive Intruder

Outline of Today:

1 Logical Attacks 2 Diffie-Hellman 3 Needham Schroeder 4 Dolev Yao’s Intruder

5 Undecidability for unbounded number of sessions 6 Notion of Locality

7 Passive Intruder: Intruder Deduction Problem

(6)

Security Models Lecture 3 Passive Intruder

Outline of Today:

1 Logical Attacks 2 Diffie-Hellman 3 Needham Schroeder 4 Dolev Yao’s Intruder

5 Undecidability for unbounded number of sessions

6 Notion of Locality

7 Passive Intruder: Intruder Deduction Problem

2 / 50

(7)

Security Models Lecture 3 Passive Intruder

Outline of Today:

1 Logical Attacks 2 Diffie-Hellman 3 Needham Schroeder 4 Dolev Yao’s Intruder

5 Undecidability for unbounded number of sessions 6 Notion of Locality

7 Passive Intruder: Intruder Deduction Problem

(8)

Security Models Lecture 3 Passive Intruder

Outline of Today:

1 Logical Attacks 2 Diffie-Hellman 3 Needham Schroeder 4 Dolev Yao’s Intruder

5 Undecidability for unbounded number of sessions 6 Notion of Locality

7 Passive Intruder: Intruder Deduction Problem

2 / 50

(9)

Security Models Lecture 3 Passive Intruder Logical Attacks

Outline

1 Logical Attacks 2 Diffie-Hellman 3 Needham Schroeder 4 Dolev Yao’s Intruder

5 Undecidability for unbounded number of sessions 6 Notion of Locality

7 Passive Intruder: Intruder Deduction Problem

(10)

Security Models Lecture 3 Passive Intruder Logical Attacks

Attacks

Logical Attacks Perfect cryptography Computational vs symbolic

4 / 50

(11)

Security Models Lecture 3 Passive Intruder Logical Attacks

Simple Example

Replay message

(12)

Security Models Lecture 3 Passive Intruder Logical Attacks

Examples of kinds of attack

• Man-in-the-middle (or parallel sessions) attack: pass messages through to another session A ↔ I ↔ B .

• Replay (or freshness) attack: record and later re-introduce a message or part.

• Reflection attack: send transmitted information back to originator.

• Oracle attack: take advantage of normal protocol responses as encryption and decryption “services”.

• Type flaw (confusion) attack: substitute a different type of message field (e.g. a key vs. a name).

6 / 50

(13)

Security Models Lecture 3 Passive Intruder Diffie-Hellman

Outline

1 Logical Attacks 2 Diffie-Hellman 3 Needham Schroeder 4 Dolev Yao’s Intruder

5 Undecidability for unbounded number of sessions 6 Notion of Locality

7 Passive Intruder: Intruder Deduction Problem

(14)

Security Models Lecture 3 Passive Intruder Diffie-Hellman

The Diffie-Hellman protocol

g, p are public parameters.

(g

y

)

x

mod p = k = g

xy

mod p = (g

x

)

y

mod p

8 / 50

(15)

Security Models Lecture 3 Passive Intruder Diffie-Hellman

Man-in-the-middle attack

Compute X = g mod px

R

Compute Z = g mod pz

Compute Y = g mod py

Compute k = Z mod pR y

Compute k = Z mod pI x

Choose g, p Generate x

I A

Generate z (1) X [g,p]

(2) Z

(1’) Z [g,p]

(2’) Y Compute k = X mod pI z

Generate y

Compute k = Y mod pR z

(16)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Outline

1 Logical Attacks 2 Diffie-Hellman 3 Needham Schroeder 4 Dolev Yao’s Intruder

5 Undecidability for unbounded number of sessions 6 Notion of Locality

7 Passive Intruder: Intruder Deduction Problem

10 / 50

(17)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Messages Abstraction

• Names: A, B or Alice, Bob, ...

• Nonces: N

A

. Fresh data.

• Keys: K and inverse keys K

−1

• Asymmetric Encryption: : {M}

KA

• Symmetric Encryption: {M}

KAB

.

• Message concatenation: hM

1

, M

2

i.

Example: {hA ⊕ N

B

, K

AB

i}

KB

.

(18)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Example: Needham-Schroeder Protocol 1978

Question

• Is N

B

a shared secret between A et B?

12 / 50

(19)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Example: Needham-Schroeder Protocol 1978

Question

• Is N

B

a shared secret between A et B?

(20)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Example: Needham-Schroeder Protocol 1978

Question

• Is N

B

a shared secret between A et B?

12 / 50

(21)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Example: Needham-Schroeder Protocol 1978

Question

• Is N

B

a shared secret between A et B?

(22)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Example: Needham-Schroeder Protocol 1978

Question

• Is N

B

a shared secret between A et B?

Answer

• In 1995, G.Lowe find an attack 17 years after its publication!

12 / 50

(23)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Lowe Attack on the Needham-Schroeder

so-called “Man in the middle attack”

(24)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Needham-Schroeder corrected by Lowe 1995

Question

• This time the protocol is secure?

14 / 50

(25)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Type flaw attacks

• A message consists of a sequence of sub-messages.

Examples: a principal’s name, a nonce, a key, ...

• Messages sent as bit strings. No type information.

1011 0110 0010 1110 0011 0111 1010 0000

• Type flaw is when A → B : M and B accepts M as valid but parses it differently. I.e., B interprets the bits differently than A.

• Example: two 16-bit nonces {N

A

, N

B

} could be mistaken as a 32-bit shared key.

Let’s consider several examples from actual protocols.

(26)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Type Flaw Attack on the Needham-Schroeder-Lowe

16 / 50

(27)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Another Type Flaw Attack: Otway-Rees Protocol

Otway-Rees

1 A → B : (M , A, B, (N

A

, M, A, B)

Kas

)

2 B → S : (M , A, B, (N

A

, M , A, B )

Kas

, (N

B

, M , A, B)

Kbs

) 3 S → B : (M , (N

A

, Kab)

Kas

, (N

B

, Kab)

Kbs

)

4 B → A : (M , (N

A

, Kab)

Kas

) where M is the session-identifier.

Attack

1 A → B : (M , A, B, (N

A

, M , A, B)

Kas

)

2 B → I (S ) : (M, A, B, (N

A

, M, A, B)

Kas

, (N

B

, M, A, B)

Kbs

)

3 I (S ) → B : (M, (N

A

, M , A, B)

Kas

, (N

B

, M , A, B)

Kbs

)

Kab = (M,A,B)4 B → A : (M, (N

A

, M , A, B )

Kas

)

(28)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Another Type Flaw Attack: Otway-Rees Protocol

Otway-Rees

1 A → B : (M , A, B, (N

A

, M, A, B)

Kas

)

2 B → S : (M , A, B, (N

A

, M , A, B )

Kas

, (N

B

, M , A, B)

Kbs

) 3 S → B : (M , (N

A

, Kab)

Kas

, (N

B

, Kab)

Kbs

)

4 B → A : (M , (N

A

, Kab)

Kas

) where M is the session-identifier.

Attack

1 A → B : (M , A, B, (N

A

, M , A, B)

Kas

)

2 B → I (S ) : (M, A, B, (N

A

, M, A, B)

Kas

, (N

B

, M, A, B)

Kbs

) 3 I (S ) → B : (M, (N

A

, M , A, B)

Kas

, (N

B

, M , A, B)

Kbs

) Kab = (M,A,B)4 B → A : (M, (N

A

, M , A, B )

Kas

)

17 / 50

(29)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Another Type Flaw Attack: Otway-Rees Protocol

Otway-Rees

1 A → B : (M , A, B, (N

A

, M, A, B)

Kas

)

2 B → S : (M , A, B, (N

A

, M , A, B )

Kas

, (N

B

, M , A, B)

Kbs

) 3 S → B : (M , (N

A

, Kab)

Kas

, (N

B

, Kab)

Kbs

)

4 B → A : (M , (N

A

, Kab)

Kas

) where M is the session-identifier.

Attack

1 A → B : (M , A, B, (N

A

, M , A, B)

Kas

)

2 B → I (S ) : (M, A, B, (N

A

, M, A, B)

Kas

, (N

B

, M, A, B)

Kbs

)

3 I (S ) → B : (M, (N

A

, M , A, B)

Kas

, (N

B

, M , A, B)

Kbs

)

Kab = (M,A,B)4 B → A : (M, (N

A

, M , A, B )

Kas

)

(30)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Another Type Flaw Attack: Otway-Rees Protocol

Otway-Rees

1 A → B : (M , A, B, (N

A

, M, A, B)

Kas

)

2 B → S : (M , A, B, (N

A

, M , A, B )

Kas

, (N

B

, M , A, B)

Kbs

) 3 S → B : (M , (N

A

, Kab)

Kas

, (N

B

, Kab)

Kbs

)

4 B → A : (M , (N

A

, Kab)

Kas

) where M is the session-identifier.

Attack

1 A → B : (M , A, B, (N

A

, M , A, B)

Kas

)

2 B → I (S ) : (M, A, B, (N

A

, M, A, B)

Kas

, (N

B

, M, A, B)

Kbs

)

3 I (S ) → B : (M, (N

A

, M , A, B)

Kas

, (N

B

, M , A, B)

Kbs

) Kab = (M,A,B)4 B → A : (M, (N

A

, M , A, B )

Kas

)

17 / 50

(31)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Another Type Flaw Attack: Otway-Rees Protocol

Otway-Rees

1 A → B : (M , A, B, (N

A

, M, A, B)

Kas

)

2 B → S : (M , A, B, (N

A

, M , A, B )

Kas

, (N

B

, M , A, B)

Kbs

) 3 S → B : (M , (N

A

, Kab)

Kas

, (N

B

, Kab)

Kbs

)

4 B → A : (M , (N

A

, Kab)

Kas

) where M is the session-identifier.

Attack

1 A → B : (M , A, B, (N

A

, M , A, B)

Kas

)

2 B → I (S ) : (M, A, B, (N

A

, M, A, B)

Kas

, (N

B

, M, A, B)

Kbs

) 3 I (S ) → B : (M, (N

A

, M , A, B)

Kas

, (N

B

, M , A, B)

Kbs

) Kab = (M,A,B)

4 B → A : (M, (N

A

, M , A, B )

Kas

)

(32)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Another Type Flaw Attack: Otway-Rees Protocol

Otway-Rees

1 A → B : (M , A, B, (N

A

, M, A, B)

Kas

)

2 B → S : (M , A, B, (N

A

, M , A, B )

Kas

, (N

B

, M , A, B)

Kbs

) 3 S → B : (M , (N

A

, Kab)

Kas

, (N

B

, Kab)

Kbs

)

4 B → A : (M , (N

A

, Kab)

Kas

) where M is the session-identifier.

Attack

1 A → B : (M , A, B, (N

A

, M , A, B)

Kas

)

2 B → I (S ) : (M, A, B, (N

A

, M, A, B)

Kas

, (N

B

, M, A, B)

Kbs

) 3 I (S ) → B : (M, (N

A

, M , A, B)

Kas

, (N

B

, M , A, B)

Kbs

) Kab = (M,A,B)4 B → A : (M, (N

A

, M , A, B)

Kas

)

17 / 50

(33)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Another Type Flaw Attack: Otway-Rees Protocol

Otway-Rees

1 A → B : (M , A, B, (N

A

, M, A, B)

Kas

)

2 B → S : (M , A, B, (N

A

, M , A, B )

Kas

, (N

B

, M , A, B)

Kbs

) 3 S → B : (M , (N

A

, Kab)

Kas

, (N

B

, Kab)

Kbs

)

4 B → A : (M , (N

A

, Kab)

Kas

) where M is the session-identifier.

Attack

1 A → B : (M , A, B, (N

A

, M , A, B)

Kas

)

2 B → I (S ) : (M, A, B, (N

A

, M, A, B)

Kas

, (N

B

, M, A, B)

Kbs

)

3 I (S ) → B : (M, (N

A

, M , A, B)

Kas

, (N

B

, M , A, B)

Kbs

)

Kab = (M,A,B)4 B → A : (M, (N

A

, M , A, B)

Kas

)

(34)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Another Type Flaw Attack: Yahalom Protocol

Yahalom

1 A → B : (A, N

A

)

2 B → S : (B, (A, N

A

, N

B

)

Kbs

)

3 S → A : ((B, Kab, N

A

, N

B

)

Kas

, (A, Kab, N

B

)

Kbs

) 4 A → B : ((A, Kab, N

B

)

Kbs

, (N

B

)

Kab

)

Attack

1 I(A) → B : (A, N

A

)

2 B → I (S ) : (B, (A, N

A

, N

B

)

Kbs

) 4 I (A) → B : ((A, N

A

, N

B

)

Kbs

, (N

B

)

NA

)

18 / 50

(35)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Another Type Flaw Attack: Yahalom Protocol

Yahalom

1 A → B : (A, N

A

)

2 B → S : (B, (A, N

A

, N

B

)

Kbs

)

3 S → A : ((B, Kab, N

A

, N

B

)

Kas

, (A, Kab, N

B

)

Kbs

) 4 A → B : ((A, Kab, N

B

)

Kbs

, (N

B

)

Kab

)

Attack

1 I(A) → B : (A, N

A

)

2 B → I (S ) : (B, (A, N

A

, N

B

)

Kbs

)

4 I (A) → B : ((A, N

A

, N

B

)

Kbs

, (N

B

)

NA

)

(36)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Another Type Flaw Attack: Woo Lam Protocol

Woo Lam 1 A → B : (A) 2 B → A : (N

B

)

3 A → B : (A, B, N

B

)

Kas

4 B → S : (A, B , (A, B , N

B

)

Kas

)

Kbs

5 S → B : (A, B , N

B

)

Kbs

Attack

1 I(A) → B : (A) 2 B → I (A) : (N

B

) 3 I (A) → B : (N

B

)

instead of (A, B , N

B

)

Kas

4 B → I (S ) : (A, B, N

B

)

Kbs

5 I (S ) → B : (A, B, N

B

)

Kbs

19 / 50

(37)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Another Type Flaw Attack: Woo Lam Protocol

Woo Lam 1 A → B : (A) 2 B → A : (N

B

)

3 A → B : (A, B, N

B

)

Kas

4 B → S : (A, B , (A, B , N

B

)

Kas

)

Kbs

5 S → B : (A, B , N

B

)

Kbs

Attack

1 I(A) → B : (A)

2 B → I (A) : (N

B

) 3 I (A) → B : (N

B

)

instead of (A, B , N

B

)

Kas

4 B → I (S ) : (A, B, N

B

)

Kbs

5 I (S ) → B : (A, B, N

B

)

Kbs

(38)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Another Type Flaw Attack: Woo Lam Protocol

Woo Lam 1 A → B : (A) 2 B → A : (N

B

)

3 A → B : (A, B, N

B

)

Kas

4 B → S : (A, B , (A, B , N

B

)

Kas

)

Kbs

5 S → B : (A, B , N

B

)

Kbs

Attack

1 I(A) → B : (A) 2 B → I (A) : (N

B

)

3 I (A) → B : (N

B

)

instead of (A, B , N

B

)

Kas

4 B → I (S ) : (A, B, N

B

)

Kbs

5 I (S ) → B : (A, B, N

B

)

Kbs

19 / 50

(39)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Another Type Flaw Attack: Woo Lam Protocol

Woo Lam 1 A → B : (A) 2 B → A : (N

B

)

3 A → B : (A, B, N

B

)

Kas

4 B → S : (A, B , (A, B , N

B

)

Kas

)

Kbs

5 S → B : (A, B , N

B

)

Kbs

Attack

1 I(A) → B : (A) 2 B → I (A) : (N

B

) 3 I (A) → B : (N

B

) instead of (A, B , N

B

)

Kas

4 B → I (S ) : (A, B, N

B

)

Kbs

5 I (S ) → B : (A, B, N

B

)

Kbs

(40)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Another Type Flaw Attack: Woo Lam Protocol

Woo Lam 1 A → B : (A) 2 B → A : (N

B

)

3 A → B : (A, B, N

B

)

Kas

4 B → S : (A, B , (A, B , N

B

)

Kas

)

Kbs

5 S → B : (A, B , N

B

)

Kbs

Attack

1 I(A) → B : (A) 2 B → I (A) : (N

B

) 3 I (A) → B : (N

B

)

instead of (A, B , N

B

)

Kas

4 B → I (S ) : (A, B, N

B

)

Kbs

5 I (S ) → B : (A, B, N

B

)

Kbs

19 / 50

(41)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Another Type Flaw Attack: Woo Lam Protocol

Woo Lam 1 A → B : (A) 2 B → A : (N

B

)

3 A → B : (A, B, N

B

)

Kas

4 B → S : (A, B , (A, B , N

B

)

Kas

)

Kbs

5 S → B : (A, B , N

B

)

Kbs

Attack

1 I(A) → B : (A) 2 B → I (A) : (N

B

) 3 I (A) → B : (N

B

)

instead of (A, B , N

B

)

Kas

4 B → I (S ) : (A, B, N

B

)

Kbs

5 I (S ) → B : (A, B, N )

(42)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Questions?

How can we find such attacks?

• Models for Protocols

• Models for Properties

• Theories

• Dedicated Techniques

• Tools

• Automatic

• Semi-automatic

20 / 50

(43)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Why is it difficult to verify such protocols?

• Messages: Size not bounded

• Nonces: Arbitrary number

• Channel: Insecure

• Intruder: Unlimited capabilities

• Instances: Unbounded numbers of principals

• Interleaving: Unlimited applications of the protocol.

(44)

Security Models Lecture 3 Passive Intruder Needham Schroeder

TMN Protocol: Distribution of a fresh symmetric key

[Tatebayashi, Matsuzuki, Newmann 89]:

O S I

→ : O, I , {N

O

}

PubS

→ : S, O

← : I, O, {N

I

}

PubS

← : S, I, N

O

⊕ N

I

Osiris retrieves N

I

:

Using x ⊕ x ⊕ y = y , knowing N

O

22 / 50

(45)

Security Models Lecture 3 Passive Intruder Needham Schroeder

Attack on TMN Protocol [Simmons’94]

With homomorphic encryption {a}

k

⊕ {b}

k

= {a ⊕ b}

k

B S C

→ : B, C, {N

I

}

PubS

⊕ {N

B

}

PubS

| {z }

{NI⊕NB}PubS

→ : S, B

← : C, B, {N

C

}

PubS

← : S, (N

I

⊕ N

B

) ⊕ N

C

(46)

Security Models Lecture 3 Passive Intruder Dolev Yao’s Intruder

Outline

1 Logical Attacks 2 Diffie-Hellman 3 Needham Schroeder 4 Dolev Yao’s Intruder

5 Undecidability for unbounded number of sessions 6 Notion of Locality

7 Passive Intruder: Intruder Deduction Problem

24 / 50

(47)

Security Models Lecture 3 Passive Intruder Dolev Yao’s Intruder

The Intruder is the Network (Worst Case)

Intruder Capabilities (Dolev-Yao Model 80’s)

• Encryption, Decryption with a key

• Pairing, Projection.

(48)

Security Models Lecture 3 Passive Intruder Dolev Yao’s Intruder

Dolev-Yao 1982

• Intruder controls the network and can:

• intercept messages

• modify messages

• block messages

• generate new messages

• insert new messages

• Perfect cryptography:

• Abstraction with terms algebra

• Decryption only if inverse key is known

• Protocol has

• Arbitrary number of principals

• Arbitrary number of parallel sessions

• Messages with arbitrary size

26 / 50

(49)

Security Models Lecture 3 Passive Intruder Dolev Yao’s Intruder

Proof System

A sequent is an expression of the form T ` u.

Definition

A proof of a sequent T ` u is a tree whose nodes are labeled by either sequents or expressions of the form “v ∈ T ”, such that:

• Each leaf is labeled by an expression of the form v ∈ T , and each non-leaf node is labeled by an sequent.

• Each node labeled by a sequent T ` v has n children labeled by T ` s

1

, . . . , T ` s

n

such that there is an instance of an inference rule with conclusion T `

E

v and hypotheses T ` s

1

, . . . , T ` s

n

.

• The root of the tree is labeled by T ` u.

(50)

Security Models Lecture 3 Passive Intruder Dolev Yao’s Intruder

Notions for Proof System

Definition

• Size of a proof P of T ` u is denoted by |P |, is the number of nodes in the proof.

• A proof P of T ` u is minimal if there does not exist a proof P

0

of T ` u such that |P

0

| < |P |.

28 / 50

(51)

Security Models Lecture 3 Passive Intruder Dolev Yao’s Intruder

Dolev-Yao Deduction System

Deduction System : T

0

`

?

s

(A)

u∈T0

T0`u

(UL)

T0` hu,vi

T0`u

(P)

T0`u T0`v

T0` hu,vi

(UR)

T0` hu,vi T0`v

(C)

T0`u T0`v T0` {u}v

(D)

T0` {u}v T0`v T0`u

(52)

Security Models Lecture 3 Passive Intruder Dolev Yao’s Intruder

Example: T 0 ` ? s

Example

T

0

= {k, {b}

c

, ha, {c }

k

i} and s = b

(D)

(A) {b}

c

∈ T

0

T

0

` {b}

c

(D) (UR)

(A) ha, {c}

k

i ∈ T

0

T

0

` ha, {c}

k

i T

0

` {c}

k

(A) k ∈ T

0

T

0

` k T

0

` c

T

0

` b

30 / 50

(53)

Security Models Lecture 3 Passive Intruder Dolev Yao’s Intruder

Example: T 0 ` ? s

Example

T

0

= {k, {b}

c

, ha, {c }

k

i} and s = b

(D)

(A) {b}

c

∈ T

0

T

0

` {b}

c

(D) (UR)

(A) ha, {c}

k

i ∈ T

0

T

0

` ha, {c}

k

i T

0

` {c}

k

(A) k ∈ T

0

T

0

` k T

0

` c

T

0

` b

(54)

Security Models Lecture 3 Passive Intruder Dolev Yao’s Intruder

Exercise: T 0 ` ? s

Is it possible from T

0

to deduce s

• T

0

= {a, k} and s = ha, {a}

k

i

• T

0

= {a, k} and s = hb, {k }

a

i

• T

0

= {{k}

a

, b} and s = h{b}

{k}a

, {k}

a

i

• T

0

= {ha, {k }

a

i} and s = {ha, {k }

a

i}

k

31 / 50

(55)

Security Models Lecture 3 Passive Intruder Undecidability for unbounded number of sessions

Outline

1 Logical Attacks 2 Diffie-Hellman 3 Needham Schroeder 4 Dolev Yao’s Intruder

5 Undecidability for unbounded number of sessions 6 Notion of Locality

7 Passive Intruder: Intruder Deduction Problem

(56)

Security Models Lecture 3 Passive Intruder Undecidability for unbounded number of sessions

Main Results

In general security problem undecidable [DLMS’99, AC’01]

Bounded number of session ⇒ Decidability [AL’00, RT’01]

33 / 50

(57)

Security Models Lecture 3 Passive Intruder Undecidability for unbounded number of sessions

Undecidability

Definition (Post Correspondence Problem (PCP)) Let Σ be a finite alphabet.

Input : Sequence of pairs hu

i

, v

i

i

1≤i≤n

u

i

, v

i

∈ Σ

, n ∈ N Question : Existence of k , i

1

, . . . , i

k

∈ N such that u

i1

. . . u

ik

= v

i1

. . . v

ik

?

Example

u

1

u

2

u

3

u

4

v

1

v

2

v

3

v

4

aba bbb aab bb a aaa abab babba Solution: 1431

u

1

·u

4

·u

3

·u

1

= aba· bb· aab ·aba = a ·babba ·abab·a = v

1

· v

4

·v

3

·v

1

But no solution for hu

1

, v

1

i, hu

2

, v

2

i, hu

3

, v

3

i

PCP is undecidable

(58)

Security Models Lecture 3 Passive Intruder Undecidability for unbounded number of sessions

Undecidability

Definition (Post Correspondence Problem (PCP)) Let Σ be a finite alphabet.

Input : Sequence of pairs hu

i

, v

i

i

1≤i≤n

u

i

, v

i

∈ Σ

, n ∈ N Question : Existence of k , i

1

, . . . , i

k

∈ N such that u

i1

. . . u

ik

= v

i1

. . . v

ik

?

Example

u

1

u

2

u

3

u

4

v

1

v

2

v

3

v

4

aba bbb aab bb a aaa abab babba Solution: 1431

u

1

·u

4

·u

3

·u

1

= aba ·bb · aab ·aba = a ·babba· abab·a = v

1

· v

4

·v

3

·v

1

But no solution for hu

1

, v

1

i, hu

2

, v

2

i, hu

3

, v

3

i

PCP is undecidable

34 / 50

(59)

Security Models Lecture 3 Passive Intruder Undecidability for unbounded number of sessions

Undecidability

Definition (Post Correspondence Problem (PCP)) Let Σ be a finite alphabet.

Input : Sequence of pairs hu

i

, v

i

i

1≤i≤n

u

i

, v

i

∈ Σ

, n ∈ N Question : Existence of k , i

1

, . . . , i

k

∈ N such that u

i1

. . . u

ik

= v

i1

. . . v

ik

?

Example

u

1

u

2

u

3

u

4

v

1

v

2

v

3

v

4

aba bbb aab bb a aaa abab babba Solution: 1431

u

1

·u

4

·u

3

·u

1

= aba ·bb · aab ·aba = a ·babba· abab·a = v

1

· v

4

·v

3

·v

1

(60)

Security Models Lecture 3 Passive Intruder Undecidability for unbounded number of sessions

Undecidability for Protocols

We construct a protocol such that decidability of secret implies decidability of PCP.

A : send ({hu

i

, v

i

i}

Kab

) (1 ≤ i ≤ n) B : receive({hx, y i}

Kab

)

send (h{hx · u

i

, y · v

i

i}

Kab

, {s }

h{hx·u

i,x·uii}Kabi

) (1 ≤ i ≤ n) We assume that K

AB

is a shared key between A and B.

Intruder can find s iff he can solve PCP.

35 / 50

(61)

Security Models Lecture 3 Passive Intruder Notion of Locality

Outline

1 Logical Attacks 2 Diffie-Hellman 3 Needham Schroeder 4 Dolev Yao’s Intruder

5 Undecidability for unbounded number of sessions 6 Notion of Locality

7 Passive Intruder: Intruder Deduction Problem

(62)

Security Models Lecture 3 Passive Intruder Notion of Locality

Syntactic Subterms

Equivalent definition for Dolev Yao model S(t ) is the smallest set such that:

• t ∈ S (t)

• hu, vi ∈ S(t) ⇒ u, v ∈ S (t)

• {u }

v

∈ S(t) ⇒ u, v ∈ S (t) Exercise:

• Let t = {ha, {b}

k2

i}

k1

37 / 50

(63)

Security Models Lecture 3 Passive Intruder Notion of Locality

Syntactic Subterms

Equivalent definition for Dolev Yao model S(t ) is the smallest set such that:

• t ∈ S (t)

• hu, vi ∈ S(t) ⇒ u, v ∈ S (t)

• {u }

v

∈ S(t) ⇒ u, v ∈ S (t) Exercise:

• Let t = {ha, {b}

k2

i}

k1

S (t) = {t, a, b, k

1

, k

2

, {b}

k2

, ha, {b}

k2

i}

(64)

Security Models Lecture 3 Passive Intruder Notion of Locality

Definition of S-Locality

A proof

P

of

T0`s

is S-local :

S-Local Proof:

A proof

P

of

T `w

is

S-local

if all nodes are in

S(T∪ {w}).

S-Locality :

A proof system is

S-local

if whenever there is a proof of

T `w

then there is also a S-local proof ofT

`w

.

38 / 50

(65)

Security Models Lecture 3 Passive Intruder Notion of Locality

Definition of S-Locality

A proof

P

of

T0`s

is S-local :

S-Local Proof:

A proof

P

of

T `w

is

S-local

if all nodes are in

S(T∪ {w}).

S-Locality :

A proof system is

S-local

if whenever there is a proof of

T `w

then there is

also a S-local proof ofT

`w

.

(66)

Security Models Lecture 3 Passive Intruder Notion of Locality

Definition of S-Locality

A proof

P

of

T0`s

is S-local :

S-Local Proof:

A proof

P

of

T `w

is

S-local

if all nodes are in

S(T∪ {w}).

S-Locality :

A proof system is

S-local

if whenever there is a proof of

T `w

then there is also a S-local proof ofT

`w

.

38 / 50

(67)

Security Models Lecture 3 Passive Intruder Notion of Locality

Locality Idea [MacAllester’93]

Intruder Deduction Problem : T

0

`

?

s

• S-locality

• One-step deductibility

(68)

Security Models Lecture 3 Passive Intruder Notion of Locality

Example: a local proof of T 0 ` s

Example

T

0

= {k, {b}

c

, ha, {c }

k

i} and s = b

(D) (D)

(UR)

(A) ha, {c}

k

i ∈ T

0

T

0

` ha, {c}

k

i T

0

` {c}

k

(A) k ∈ T

0

T

0

` k

T

0

` c (A) {b}

c

∈ T

0

T

0

` {b}

c

T

0

` b

S(T

0

∪ {s }) = T

0

∪ {a, b, c , {c }

k

}

40 / 50

(69)

Security Models Lecture 3 Passive Intruder Notion of Locality

Example: a local proof of T 0 ` s

Example

T

0

= {k, {b}

c

, ha, {c }

k

i} and s = b

(D) (D)

(UR)

(A) ha, {c}

k

i ∈ T

0

T

0

` ha, {c}

k

i T

0

` {c}

k

(A) k ∈ T

0

T

0

` k

T

0

` c (A) {b}

c

∈ T

0

T

0

` {b}

c

T

0

` b

S(T

0

∪ {s }) = T

0

∪ {a, b, c , {c }

k

}

(70)

Security Models Lecture 3 Passive Intruder Notion of Locality

Locality Theorem

Theorem of Locality [McAllester 93]

If a proof system P is SyntacticSubterm-local then there is a P-time procedure to decide the deductibility in P .

Restrictions:

• Deduction system must be finite

• Use just syntactic subterms

41 / 50

(71)

Security Models Lecture 3 Passive Intruder Notion of Locality

Locality Theorem

Theorem of Locality [McAllester 93]

If a proof system P is SyntacticSubterm-local then there is a P-time procedure to decide the deductibility in P .

Restrictions:

• Deduction system must be finite

• Use just syntactic subterms

(72)

Security Models Lecture 3 Passive Intruder Notion of Locality

Adapted McAllester Results

McAllester’s Algorithm Input : T

0

, w

T ← T

0

;

while (∃s ∈ S (T

0

, w ) such that T `

≤1

s and s 6∈ T ) T ← T ∪ {s};

Output :w ∈ T

Theorem

Let P be a proof system. If:

• the size of S (T ) is polynomial in the size of T ,

• P is S-local,

• one-step deducibility is P-time decidable,

then provability in the proof system P is P-time decidable.

42 / 50

(73)

Security Models Lecture 3 Passive Intruder Passive Intruder: Intruder Deduction Problem

Outline

1 Logical Attacks 2 Diffie-Hellman 3 Needham Schroeder 4 Dolev Yao’s Intruder

5 Undecidability for unbounded number of sessions 6 Notion of Locality

7 Passive Intruder: Intruder Deduction Problem

(74)

Security Models Lecture 3 Passive Intruder Passive Intruder: Intruder Deduction Problem

Locality Theorem

Theorem of Locality [McAllester 93]

If a proof system P is SyntacticSubterm-local then there is a P-time procedure to decide the deductibility in P .

Result:

Dolev Yao deduction system is S-local.

44 / 50

(75)

Security Models Lecture 3 Passive Intruder Passive Intruder: Intruder Deduction Problem

Locality Theorem

Theorem of Locality [McAllester 93]

If a proof system P is SyntacticSubterm-local then there is a P-time procedure to decide the deductibility in P .

Result:

Dolev Yao deduction system is S-local.

(76)

Security Models Lecture 3 Passive Intruder Passive Intruder: Intruder Deduction Problem

Example of necessity of S(T ∪ {s })

Example

T

0

= {k, {b}

c

, ha, {c }

k

i} and s = hb, k i

(P) (D)

(A){b}c∈T0

T0` {b}c

(D) (UR)

(A)ha,{c}ki ∈T0 T0` ha,{c}ki T0` {c}k

(A)k∈T0 T0`k T0`c

T0`b (A)k∈T0

T0`k T0` hb,ki

S(T

0

) = T

0

∪ {a, b, c , k, {b}

k

, {c }

k

} but hb, ki 6∈ S (T

0

) It is Not enough

Notice that hb, k i ∈ S (T

0

∪ {s})

45 / 50

(77)

Security Models Lecture 3 Passive Intruder Passive Intruder: Intruder Deduction Problem

Example of necessity of S(T ∪ {s })

Example

T

0

= {k, {b}

c

, ha, {c }

k

i} and s = hb, k i

(P) (D)

(A){b}c∈T0

T0` {b}c

(D) (UR)

(A)ha,{c}ki ∈T0 T0` ha,{c}ki T0` {c}k

(A)k∈T0 T0`k T0`c

T0`b (A)k∈T0

T0`k T0` hb,ki

S(T

0

) = T

0

∪ {a, b, c , k, {b}

k

, {c }

k

} but hb, ki 6∈ S (T

0

) It is Not enough

Notice that hb, k i ∈ S (T

0

∪ {s})

(78)

Security Models Lecture 3 Passive Intruder Passive Intruder: Intruder Deduction Problem

Example of necessity of S(T ∪ {s })

Example

T

0

= {k, {b}

c

, ha, {c }

k

i} and s = hb, k i

(P) (D)

(A){b}c∈T0

T0` {b}c

(D) (UR)

(A)ha,{c}ki ∈T0 T0` ha,{c}ki T0` {c}k

(A)k∈T0 T0`k T0`c

T0`b (A)k∈T0

T0`k T0` hb,ki

S(T

0

) = T

0

∪ {a, b, c , k, {b}

k

, {c }

k

} but hb, ki 6∈ S (T

0

) It is Not enough

Notice that hb, k i ∈ S (T

0

∪ {s})

45 / 50

(79)

Security Models Lecture 3 Passive Intruder Passive Intruder: Intruder Deduction Problem

Example non minimal proof is not S-local

GOAL: Find a good S . Example

T

0

= {k, {c}

k

} and s = c

(D) (UL)

(P)

(A){c}k ∈T0 T0` {c}k

(A){c}k ∈T0 T0` {c}k

T0` h{c}k,{c}ki T0` {c}k

(A)k∈T0

T0`k c

S(T

0

) = T

0

∪ {c} but h{c}

k

, {c}

k

i

It is Not in S (T

0

∪ {s})

(80)

Security Models Lecture 3 Passive Intruder Passive Intruder: Intruder Deduction Problem

Example non minimal proof is not S-local

GOAL: Find a good S . Example

T

0

= {k, {c}

k

} and s = c

(D) (UL)

(P)

(A){c}k ∈T0

T0` {c}k

(A){c}k ∈T0

T0` {c}k

T0` h{c}k,{c}ki T0` {c}k

(A)k∈T0

T0`k c

S(T

0

) = T

0

∪ {c} but h{c}

k

, {c}

k

i It is Not in S (T

0

∪ {s})

46 / 50

(81)

Security Models Lecture 3 Passive Intruder Passive Intruder: Intruder Deduction Problem

Example non minimal proof is not S-local

GOAL: Find a good S . Example

T

0

= {k, {c}

k

} and s = c

(D) (UL)

(P)

(A){c}k ∈T0

T0` {c}k

(A){c}k ∈T0

T0` {c}k

T0` h{c}k,{c}ki T0` {c}k

(A)k∈T0

T0`k c

S(T

0

) = T

0

∪ {c } but h{c}

k

, {c}

k

i

It is Not in S (T

0

∪ {s})

(82)

Security Models Lecture 3 Passive Intruder Passive Intruder: Intruder Deduction Problem

Example :

Shamir 3-Pass Protocol

1 A → B : {m}

KA

47 / 50

(83)

Security Models Lecture 3 Passive Intruder Passive Intruder: Intruder Deduction Problem

Example :

Shamir 3-Pass Protocol

1 A → B : {m}

KA

(84)

Security Models Lecture 3 Passive Intruder Passive Intruder: Intruder Deduction Problem

Example :

Shamir 3-Pass Protocol

1 A → B : {m}

KA

47 / 50

(85)

Security Models Lecture 3 Passive Intruder Passive Intruder: Intruder Deduction Problem

Example :

Shamir 3-Pass Protocol

1 A → B : {m}

KA

(86)

Security Models Lecture 3 Passive Intruder Passive Intruder: Intruder Deduction Problem

Example :

Shamir 3-Pass Protocol

1 A → B : {m}

KA

2 B → A : {{m}

KA

}

KB

47 / 50

(87)

Security Models Lecture 3 Passive Intruder Passive Intruder: Intruder Deduction Problem

Example :

Shamir 3-Pass Protocol

1 A → B : {m}

KA

Commutative

2 B → A : {{m}

KA

}

KB

= {{m}

KB

}

KA

Encryption

(88)

Security Models Lecture 3 Passive Intruder Passive Intruder: Intruder Deduction Problem

Example :

Shamir 3-Pass Protocol

1 A → B : {m}

KA

Commutative

2 B → A : {{m}

KA

}

KB

= {{m}

KB

}

KA

Encryption 3 A → B : {m}

KB

47 / 50

(89)

Security Models Lecture 3 Passive Intruder Passive Intruder: Intruder Deduction Problem

Logical Attack on Shamir 3-Pass Protocol (I)

Perfect encryption one-time pad (Vernam Encryption) {m}

k

= m ⊕ k

XOR Properties (ACUN)

• (x ⊕ y) ⊕ z = x ⊕ (y ⊕ z ) Associativity

• x ⊕ y = y ⊕ x Commutativity

• x ⊕ 0 = x Unity

• x ⊕ x = 0 Nilpotency

(90)

Security Models Lecture 3 Passive Intruder Passive Intruder: Intruder Deduction Problem

Logical Attack on Shamir 3-Pass Protocol (I)

Perfect encryption one-time pad (Vernam Encryption)

{m}

k

= m ⊕ k

XOR Properties (ACUN)

• (x ⊕ y) ⊕ z = x ⊕ (y ⊕ z ) Associativity

• x ⊕ y = y ⊕ x Commutativity

• x ⊕ 0 = x Unity

• x ⊕ x = 0 Nilpotency

Vernam encryption is a commutative encryption :

{{m}

KA

}

KI

= (m ⊕ K

A

) ⊕ K

I

= (m ⊕ K

I

) ⊕ K

A

= {{m}

KI

}

KA

48 / 50

(91)

Security Models Lecture 3 Passive Intruder Passive Intruder: Intruder Deduction Problem

Logical Attack on Shamir 3-Pass Protocol (II)

Perfect encryption one-time pad (Vernam Encryption) {m}

k

= m ⊕ k

Shamir 3-Pass Protocol

1 A → B : m ⊕ K

A

2 B → A : (m ⊕ K

A

) ⊕ K

B

3 A → B : m ⊕ K

B

Passive attacker : m ⊕ K

A

m ⊕ K

B

⊕ K

A

m ⊕ K

B

= m

(92)

Security Models Lecture 3 Passive Intruder Passive Intruder: Intruder Deduction Problem

Logical Attack on Shamir 3-Pass Protocol (II)

Perfect encryption one-time pad (Vernam Encryption) {m}

k

= m ⊕ k

Shamir 3-Pass Protocol

1 A → B : m ⊕ K

A

2 B → A : (m ⊕ K

A

) ⊕ K

B

3 A → B : m ⊕ K

B

Passive attacker :

m ⊕ K

A

⊕ m ⊕ K

B

⊕ K

A

⊕ m ⊕ K

B

= m

49 / 50

(93)

Security Models Lecture 3 Passive Intruder Passive Intruder: Intruder Deduction Problem

Thank you for your attention.

Questions ?

Références

Documents relatifs

Security Models Lecture 4 Active Intruder NP-Hardness for Bounded Number of

Show that the secret data s is preserved by one single session between A and

• XOR-ProVerif and DH-ProVerif: are two tools developed by Kuesters et al for analyzing cryptographic protocols with Exclusive-Or and Diffie-Hellman properties, using ProVerif PC

Security for Data Scientists Lecture 1 RGPD Apr` es le 25 mai 2018.. R` eglement G´ en´ eral sur la Protection des Donn´ ees GDPR : General Data

Security for Data Scientists Lecture 2 La s´ ecurit´ e et vous4. Devenir acteur de sa s´ ecurit´ e

Exp´ erience classique de Held &amp; Hein (1963) (chats) I L’apprentissage est optimal lorsque l’enfant alterne. apprentissage et test r´ ep´ et´ e de

I Strat´ egies de d´ efense et d’attaques sont diff´ erentes.. I Cyberattaques ont des cons´

Classical Asymmetric Encryptions Classical Symetric Encryptions Modes de chiffrement symm´ etriques Hash Functions.. MAC Signature Elliptic Curves Propri´ et´ es de s´ ecurit´