Below is an informal protocol narration of a simple authentication protocol. A sends to B a signed hash of message M, B's name and a nonce N. B knows that the message M is intended for him, that it originates from A and that it was sent as part of the same run.
A -> B: (M, A)
B -> A: N
A -> B: {| #(M,B,N) |}sA
But what will happen if we omit B's name?
A -> B: (M, A)
B -> A: N
A -> B: {| #(M,N) |}sA
I cannot think of a concrete scenario with a harmful attack. What attack could cause harm? A possible scenario is listed below:
A -> B: (M, A)
B -> A: N
A -> I: {| #(M,N) |}sA
I -> B: {| #(M,N) |}sA
There is no proof that the message was intended for B. So, intruder I can intercept the message signed by A and redirect it to B, authenticating I as A. But what is a harmful attack? For example in a bank-client interaction scenario?
Thank you.