In game-based security proof for key-exchange protocols, there is a Test query. The Test(U) query typically is only available to the adversary if the attacked instance U is fresh. (U represents either a participant or an oracle)
Fresh: Before the session expires, there is no SSReveal(U), SKReveal(U) or Corrupt(U) query that has been asked by the adversaries. Both U and its matching session are not locally exposed. Such session is called fresh.
SSReveal(U): this query allows the adversary to learn the session-specific state information held by U.
SKReveal(U): this query allows the adversary to learn the session key held by U.
Corrupt(U): this query allows the adversay to learn the long-term private key of U.
My questions is: if Test(U) can only be issued to fresh session, does that mean "the impersonation of the protocol participants (e.g, U) does not happen" is the premise of asking this query? If so, do we need to proof the mutual authenticity before we ask the Test(U) query?
Thank you.