Otway-Rees protocol

From Wikipedia, the free encyclopedia

The Otway-Rees protocol is a computer network authentication protocol designed for use on insecure networks (eg. the Internet). It allows individuals communicating over such a network to prove their identity to each other while also preventing eavesdropping or replay attacks and allowing for the detection of modification.

The protocol can be specified as follows in security protocol notation, where Alice is authenticating herself to Bob using a server S (M is a session-identifier):

1. A \rightarrow B: M,A,B,\{N_A,M,A,B\}_{K_{AS}}

2. B \rightarrow S: M,A,B,\{N_A,M,A,B\}_{K_{AS}},\{M,A,B,N_B\}_{K_{BS}}

3. S \rightarrow B: M,\{N_A,K_{AB}\}_{K_{AS}},\{N_B,K_{AB}\}_{K_{BS}}

4. B \rightarrow A: M,\{N_A,K_{AB}\}_{K_{AS}}

One problem with this protocol is that a malicious intruder can arrange for A and B to end up with different keys. Here is how. After A and B execute the first three messages, B has received the key KAB. The intruder then intercepts the fourth message. S/he resends message 2, which results in S generating a new key K'AB, subsequently sent to B. The intruder intercepts this message too, but sends to A the part of it that B would have sent to A. So now A has finally received the expected fourth message, but with K'AB instead of KAB.

Another problem is that although the server tells B that A used a nonce, B doesn't know if this was a replay of an old message.

[edit] See also

Languages