Davies and Price proposed the use of the Interlock Protocol for authentication in a book titled Security for Computer Networks. But an attack on this was described by
Steven M. Bellovin & Michael Merritt. A subsequent refinement was proposed by Ellison. The Bellovin/Merritt attack entails composing a fake message to send to the first party. Passwords may be sent using the Interlock Protocol between A and B as follows: A B Ea,b(Pa)-------> Ea,b(Pa)-------> where Ea,b(M) is message M encrypted with the key derived from the Diffie–Hellman exchange between A and B, / denote first and second halves, and Pa/Pb are the passwords of A and B. An attacker, Z, could send half of a bogus message—P?--to elicit Pa from A: A Z B Ea,z(Pa)------> Ea,z(Pa)------> Ez,b(Pa)------> Ez,b(Pa)------> At this point, Z has compromised both Pa and Pb. The attack can be defeated by verifying the passwords in parts, so that when Ea,z(P?) is sent, it is known to be invalid and Ea,z(Pa) is never sent (suggested by Davies). However, this does not work when the passwords are hashed, since half of a hash is useless, according to Bellovin. including using a
shared secret in addition to the password. The forced-latency enhancement can also prevent certain attacks. ==Forced-Latency Interlock Protocol==