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
 * $$K_{AS}$$ is a symmetric key known only to A and S
 * $$K_{BS}$$ is a symmetric key known only to B and S
 * $$N_A$$ and $$N_B$$ are nonces generated by A and B respectively
 * $$T_A$$ and $$T_B$$ are timestamps generated by A and B respectively
 * $$K_{AB}$$ is a generated symmetric key, which will be the session key of the session between A and B

$$A \rightarrow B: A, N_A$$
 * Alice notified Bob of intent to initiate secure communication.

$$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.

$$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.
 * $$A \rightarrow B: \{A, K_{AB}, T_B\}_{K_{BS}}, \{N_B\}_{K_{AB}}$$

Alice forwards the message and verifies $$N_A$$ is the same that she generated earlier. Bob will verify $$T_B$$ and $$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.

$$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.

$$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.

$$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. This attack and two more from are outlined in.