Table 2 shows the enhanced Needham-Schroeder Protocol as it has been published in [3]. The purpose of the modifications (which are underlined) is
Table 2: The enhanced Needham-Schroeder protocol
In the original proof, the authors derive from the message: P | Q |
The authors come to that conclusion by applying the following deduction rule:
However, this rule can not be applied. P does not believe that (,Q,K) is fresh! It could be a replay of a previous run! In the initial assumptions, S believes that K is a suitable key for P and Q (S | ). However, nowhere is mentioned that K should be freshly generated by S. Hence, a final modification is necessary (as shown in table 3; the modification is underlined twice). Another possibility is to let S generate a new key K for every run of the protocol (S | #(K)).
This short example proves clearly that a hand-made analysis is error-prone, and should be examined very cautiously.
Table 3: The correctly enhanced Needham-Schroeder protocol