Needham Schroeder

We now introduce a simplified version of the original symmetric key Needham-Schroeder protocol, which uses nonces and explicit identities for the sender and the recipient.

Knowledge: A:[s, KAS, A, B, NA], B:[KBS, A, B], S:[A, B, E, KAS, KBS, KES, K] E:[A, B, NE, KES, fake]
Steps:

  1. A -> S: A, B, #NA
  2. S -> A: {#NA, #K, B, {K, A}KBS}KAS
  3. A -> B: {K, A}KBS, {#s}K

This protocol should resist against confidentiality attacks (i.e., E should not be able to learn the current session secret). However, this protocol is still vulnerable against integrity attacks (i.e., E is still able to send a fake message spoofing A).

A

Knows: s, KAS, A, B, NA

B

Knows: A, B, KBS

S

Knows: KES, KAS, KBS, A, B, E

E

Knows: E, A, B, NE, fake, KES
Network stack
    Commands

    Attacks

    1. Can you find a sequence of commands such that E knows the session secret?
    1. Can you find a sequence of commands such that B knows fake?

    Last modified February 16, 2020