BAN: A Logic of Authentication

1 / 33

# BAN: A Logic of Authentication - PowerPoint PPT Presentation

Concordia University . Design and Analysis of Security Protocols (INSE 7100) . BAN: A Logic of Authentication. Mourad Erhioui. Ahmed Gario. Sami Zhioua. October 27, 2003. Content. 1. Introduction. - Syntax. - Logical postulates (rules). 2. Protocol analysis. - Different steps.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'BAN: A Logic of Authentication' - Gabriel

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Concordia University

Design and Analysis of Security Protocols (INSE 7100)

BAN: A Logic of Authentication

Ahmed Gario

Sami Zhioua

October 27, 2003

Content

1. Introduction

- Syntax

- Logical postulates (rules)

2. Protocol analysis

- Different steps

- Detailed example (Kerberos protocol)

3. Conclusion

- Needham-Shroeder protocol (outline)

- Conclusion

Introduction

• BAN is the first logic to formally analyze authentication protocols (1990)
• It is named after its inventors : Mike Burrows, Martin Abadi and Roger Needham
• BAN is a belief logic: it concentrates on beliefs of principals and the evolution of these beliefs through the execution of the protocol.

BAN Objectives

• Prove whether a protocol does or does not meet its security goals.
• Make protocols more efficient:

- Does this protocol do anything unnecessary that could be left out without weakening it ?

- Does this protocol encrypt something that could be sent in clear without weakening it ?

• If Alice believes thatKAB is a good key to communicate with Bob,
• then we write : A | A B.

KAB

KAB

• If Alice believes that S can be trusted to create a good key to communicate with Bob, we write:
• A | S  A B

KAB

and we say that ‘A believes that S has a jurisdiction over good keys for A and B’.

Formalism (1)

• If Alice believes a proposition P, we writeA | Pand we say: ‘A believes P’
• A |~ P and we say: ‘A once said P’
• When a statement P is fresh, we write : #(P) and we say:
• ‘P is fresh’

Formalism (2)

• When Alice receives a message, we write : A Pand we say: ‘A sees P’

Formalism (Summary)

• P | X : PbelievesX
• P X : PseesX
• P |~X : Ponce saidX
• # (P) : Pis fresh
• P X : Phas jurisdiction overX

K

• P  Q : Kis a good key for communication between P and Q

K

• P : P has Kas a public key

BAN Logical postulates

P

Means: if P is true, then Q is true

Q

X

If Alice believes X and

, then Alice believes Y

Y

K

P | Q ,

P  {X}K -1

P | Q |~ X

Message significance rule

K

P | P  Q ,

P  {X}K

P | Q |~ X

Nonce verification

P | # (X) ,

P | Q |~ X

P | Q | X

Jurisdiction rule

P | Q X ,

P | Q | X

P | X

More rules

P | X ,

P | Y

1.

P (X,Y)

P | (X,Y)

5.

P  X

P | (X,Y)

2.

K

P | P  Q , P  {X}K

P | X

6.

P X

P | Q | (X,Y)

3.

P | Q |X

P | # (X)

7.

P | # (X,Y)

P | Q |~ (X,Y)

4.

P | Q |~X

BAN

• BAN cannot be used to prove that a protocol is flawed
• But, when we cannot prove that a protocol is correct, that protocol deserves to be treated with grave suspicion.

Content

1. Introduction

- Syntax

- Logical postulates (rules)

2. Protocol analysis

- Different steps

- Detailed example (Kerberos protocol)

3. Conclusion

- Needham-Shroeder protocol (outline)

- Conclusion

Message1: A  B : {A, }

k

k

k

bs

bs

ab

Kab

Kab

A B

A B

Idealized protocol
• BAN Logic transforms each step in a protocol in a idealized form.
• Principal A sends the message to principal B
• It is an informal notation
• Ambiguous presentation
• Obscure in meaning,
• Not appropriate for formal analysis

Message1: A  B : {A, }

B {A, }

Idealized protocol
• Transform each protocol into an idealized form
• Omit the parts of the message that do not contribute to the beliefs of the recipient
• Omit clear text communication because it can be forged
• The not encrypted messages will be removed during the steps of idealization
• Only encrypted fields are retained in the idealization
Protocol Analysis
• Derive the idealized protocol from the original one.
• Write assumptions about the initial state.
• Add a logical formulas to the statements of the protocol.
• Use the postulates and rules of the logic to deduce new predicates.
The Kerberos Protocol

S

2: {Ts, L, Kab,B, {Ts, L, Kab,A} Kbs} Kbs

1: A, B

3: {Ts, L, Kab, A} Kbs ,{A, Ta} Kab

A

B

4: { Ta+1} Kab

Message1: A  S : A, B

Message2: S  A : {Ts, L, Kab, B, {Ts, L, Kab, A} Kbs}Kas

Message3: A  B : {Ts, L, Kab, A} Kbs, {A, Ta}Kab

Message4: B  A : { Ta+1} Kab

Kab

Kab

Kab

Kab

Kab

A B

A B

A B

A B

A B

Confusion

Idealized protocol

Message1: A  S : A, B

Message2: S  A : {Ts, L, Kab, B, {Ts, L, Kab, A} Kbs}Kbs

Message3: A  B : {Ts, L, Kab, A} Kbs, {A, Ta}Kab

Message4: B  A : { Ta+1} Kab

Message2: S  A : {Ts, , {Ts, } Kbs }Kas

Message3: A  B : {Ts, } Kbs, {Ta, }Kabfrom A

Message4: B  A : { Ta, } Kabfrom B

Kas

Kas

Kas

Kas

Kas

A |

B |

B S

B S

A B

A S

A S

S |

S |

K

K

S |

A B

A B

B | (S | )

A | (S | )

Protocol Analysis
• Initial assumptions :

A |#(Ta)

B |#(Ts)

B |#(Ta)

Goals of Authentication
• Authentication rests on communication protected by shared session key, so the goals of authentication may be reached between A and B if there is a K such that:
• Authentication between A and B is compete once there is a K such :

K K

A |AB B |AB

• Some authentication protocols achieve this final goal:

K K

A |B |AB B |A |AB

Kab

A |

A B

Goal of authentication
• Prove from the postulats of BAN and assumptions, the goal of the protocol

A  { }Kas

A |

Kas

S A

A | S A, A  {X}k

A | S |~ X

A |#( )

Kab

Kab

Kab

Kab

Kab

Kab

A |#(X), A | S |~ X

__________________________

A | S | X

A B

A B

A B

A B

A B

A B

B | (S | )

A | S | , A | S |

A |

Verification

Content

1. Introduction

- Syntax

- Logical postulates (rules)

2. Protocol analysis

- Different steps

- Detailed example (Kerberos protocol)

3. Conclusion

- Needham-Shroeder protocol (outline)

- Conclusion

Needham-Schroeder Analysis
• Original version without idealization

S

Message 1 A  S: A, B, NA

Message 2 S  A:{NA, B, KAB, {KAB, A}KBS} KAS

1

2

Message 3 A  B: {KAB, A}KBS

Message 4 B  A:{NB}KAB

3

B

A

4

Message 5 A  B:{NB – 1}KAB

5

• Corresponding idealized protocol

Kab Kab KabMessage 2 S  A: {NA, (AB), # (AB), {AB}Kbs} Kas

Kab Message 3 A  B: {AB}Kbs

Kab Message 4 B  A: {NB, (AB)}Kab from B

KabMessage 5 A  B: {NB, (AB)}Kab from A

Needham-Schroeder Analysis (Con.)
• The original Needham-Schroeder is worth idealization because so much work has been based on it, since too many authentication protocols have been derived from it.
• The goal of this idealization is to see if both principals A & B can be convinced of each other’s presence.

KK

A | A  B B | A  B and

KK

A | B | A  B B | A | A  B

Needham-Schroeder Analysis (Con.)

Initial assumptions:

What client trust the server to do

Kab

A | (S | AB)

Kab

B | (S | AB)

Kab

A | (S | #(AB))

Keys already known to the principals

Kas

A |AS

Kbs

B |BS

Kas

S |AS

Kbs

S |BS

Kab

S |AB

A | #(Na) Ka

B | #(Nb)

Kab

S | #(AB)

Kab

B | #(AB)

Needham-Schroeder Analysis (Con.)

• Now we can apply the logical postulate rules to each message with assumptions to see if we can achieve our goal.
• There are too many steps to achieve the goal, unfortunately, there is no enough time to state them.

Conclusions of Analysis

Finally, this has been achieved: The goals of the Needham-Schroeder protocol are that A and B each believe that they share a secret key Kab and they each believe that the other believes it.

K K B | A  B A | A  B

the final goal has also been achieved:

KK

A | B | A  B B | A | A  B

BAN finds that this authentication protocol has an extra assumption, which is that B assumes the key it receives from A is fresh

BAN limitations

• Conversion to idealized form
• Lack of ability to state something a principle does not know
• BAN does not catch all protocol flaws.
• - False-positives can result.
• A principal’s beliefs cannot be changed at later stages of the protocol
• - No division of time in protocol run.
• Provides a proof of trust on part of principles, but not a proof of security
• -Final beliefs can be believed only if all original assumptions hold true.
• BAN does not account for improper encryption.