# Neuman–Stubblebine protocol

The Neuman–Stubblebine protocol is a computer network authentication protocol designed for use on insecure networks (e.g., the Internet). It allows individuals communicating over such a network to prove their identity to each other. This protocol utilizes time stamps, but does not depend on synchronized clocks.

## The protocol

If Alice (A) initiates the communication to Bob (B) with S is a server trusted by both parties, the protocol can be specified as follows using security protocol notation:

• A and B are identities of Alice and Bob respectively
• M is a session identifier
• ${\displaystyle K_{AS}}$ is a symmetric key known only to A and S
• ${\displaystyle K_{BS}}$ is a symmetric key known only to B and S
• ${\displaystyle N_{A}}$ and ${\displaystyle N_{B}}$ are nonces generated by A and B respectively
• ${\displaystyle T_{A}}$ and ${\displaystyle T_{B}}$ are timestamps generated by A and B respectively
• ${\displaystyle K_{AB}}$ is a generated symmetric key, which will be the session key of the session between A and B

${\displaystyle A\rightarrow B:A,N_{A}}$

Alice notified Bob of intent to initiate secure communication.

${\displaystyle B\rightarrow S:B,N_{B},\{A,N_{A},T_{B}\}_{K_{BS}}}$

Bob generates a times stamp and a nonce, and sends this to the trusted Server.

${\displaystyle S\rightarrow A:\{B,N_{A},K_{AB},T_{B}\}_{K_{AS}},\{A,K_{AB},T_{B}\}_{K_{BS}},N_{B}}$

The trusted Server generates a session key and a message for Alice to forward to Bob.
${\displaystyle A\rightarrow B:\{A,K_{AB},T_{B}\}_{K_{BS}},\{N_{B}\}_{K_{AB}}}$

Alice forwards the message and verifies ${\displaystyle N_{A}}$ is the same that she generated earlier. Bob will verify ${\displaystyle T_{B}}$ and ${\displaystyle N_{B}}$ have not changed when he receives the message.

## Subsequent communications

An advantage provided by this protocol is that Alice can utilize the trusted Server's message to initiate authentication with Bob within some predetermined time limit without utilizing the trusted Server. The protocol proceeds as follows using the same definitions as above.

${\displaystyle A\rightarrow B:\{A,K_{AB},T_{B}\}_{K_{BS}},N'_{A}}$

Alice sends the message the trusted Server sent her previously when communication with Bob.

${\displaystyle B\rightarrow A:N'_{B},\{N'_{A}\}_{K_{AB}}}$

Bob sends Alice a new nonce and her new nonce encrypted with session key that Alice resent from previous communication.

${\displaystyle A\rightarrow B:\{N'_{B}\}_{K_{AB}}}$

Alice returns Bob's nonce encrypted with the session key to allow him to verify the communication is successful.

## Attack

Using the theorem prover SPASS it has been shown that this protocol can be attacked.[1] This attack and two more from [2] are outlined in [1].