Give this mutual-authentication protocol (along with the attack) in which Alice wants to communicate with Bob, I can't understand how the attack works.
A chooses $N$ (nonce) and sends to C (trusted server): $A, B, N$
C chooses $K$ and sends to A: $Kac(N, K, B, Kbc(K,A))$
Now Trudy acts in place of Alice
A decodes, checks $N$ and $B$, and sends to B: $Kbc(K,A)$
T (as A) replays to B: $Kbc(K',A)$, where $K'$ is an older session key
B decodes, chooses nonce $N'$ and sends to A: $K'(this is B, N')$
B sends to T (not to A): $K'$ (this is $B, N'$)
A sends to B, $K$ (this is $A, N'-1$)
If $Kbc$ is the shared secret key between Bob and the trusted server C, how is it possible for Trudy compute $Kbc(K',A)$? Trudy does not have $Kbc$…