The term Needham–Schroeder protocol can refer to one of two communication protocols intended for use over an insecure network, both proposed by Roger Needham and Michael Schroeder.[1] These are:
|
Contents
|
Here, Alice (A) initiates the communication to Bob (B). S is a server trusted by both parties. In the communication:
The protocol can be specified as follows in security protocol notation:


and sends back to Alice a copy encrypted under
for Alice to forward to Bob and also a copy for Alice. Since Alice may be requesting keys for several different people, the nonce assures Alice that the message is fresh and that the server is replying to that particular message and the inclusion of Bob's name tells Alice who she is to share this key with.

to show that he has the key.
The protocol is vulnerable to a replay attack (as identified by Denning and Sacco[2]). If an attacker uses an older, compromised value for KAB, he can then replay the message
to Bob, who will accept it, being unable to tell that the key is not fresh.
This flaw is fixed in the Kerberos protocol by the inclusion of a timestamp. It can also be fixed with the use of nonces as described below.[3] At the beginning of the protocol:




The protocol then continues as described through the final three steps as described in the original protocol above. Note that
is a different nonce from
.The inclusion of this new nonce prevents the replaying of a compromised version of
since such a message would need to be of the form
which the attacker can't forge since she does not have
.
This assumes the use of a public-key encryption algorithm.
Here, Alice (A) and Bob (B) use a trusted server (S) to distribute public keys on request. These keys are:
The protocol runs as follows:







At the end of the protocol, A and B know each other's identities, and know both NA and NB. These nonces are not known to eavesdroppers.
Unfortunately, this protocol is vulnerable to a man-in-the-middle attack. If an impostor I can persuade A to initiate a session with him, he can relay the messages to B and convince B that he is communicating with A.
Ignoring the traffic to and from S, which is unchanged, the attack runs as follows:






At the end of the attack, B falsely believes that A is communicating with him, and that NA and NB are known only to A and B.
The attack was first described in a 1995 paper by Gavin Lowe.[4] The paper also describes a fixed version of the scheme, referred to as the Needham–Schroeder–Lowe protocol. The fix involves the modification of message six, that is we replace:

with the fixed version:

This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)