Jump to content

Needham–Schroeder protocol

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by IanHarvey (talk | contribs) at 10:34, 8 September 2006 (Two protocols discussed, symmetric cleaned up). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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 in a paper in 1978. These are:

  • The Needham-Schroeder Symmetric Key Protocol, which is based on a symmetric encryption algorithm, and forms the basis for the Kerberos protocol. This protocol aims to establish a session key between two parties on a network, typically to protect further communication.
  • The Needham-Schroder Public-Key Protocol, based on Public-key cryptography. This is intended to provide mutual authentication between two parties communicating on a network, but in its proposed form it is insecure.

The Symmetric Protocol

Here, Alice (A) initiates the communication to Bob (B). Also,

  • S is a server trusted by both parties
  • KAS is a symmetric key known only to A and S
  • KBS is a symmetric key known only to B and S
  • NA, NB, etc are nonces

The protocol can be specified as follows in security protocol notation:

Alice sends a message to the server identifying herself and Bob, telling the server she wants to communicate with Bob.

The server generates 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.

Alice forwards the key to Bob who can decrypt it with the key he shares with the server, thus authenticating the data.

Bob sends Alice a nonce encrypted under to show that he has the key.

Alice performs a simple operation on the nonce, re-encrypts it and sends it back verifying that she is still alive and that she holds the key.

The protocol is vulnerable to a replay attack. If an attacker records one run of this protocol, then subsequently learns the value KAB used, she can then reply 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.


See also

References

  • Roger Needham and Michael Schroeder. Using encryption for authentification in large networks of computers. Communications of the ACM, 21(12), December 1978.
  • Gavin Lowe. An attack on the Needham-Schroeder public key authentication protocol. Information Processing Letters, 56(3):131--136, November 1995.