A method is provided for authenticating communication partners utilizing communication flows which are passed over an insecure communication channel. The method includes a number of method steps. A trusted intermediary is provided which is capable of communication with the communication partners over the insecure communication channel. A plurality of long-lived secret keys are provided, one for each communication partner. The plurality of long-lived secret keys are distributed to a particular one of the communication partners, and to the trusted intermediary. Therefore, the long-lived secret key is known only by the particular communication partner to which it is assigned, and the trusted intermediary. A request for communication between communication partners is provided to the trusted intermediary. The trusted intermediary is utilized to generate a short-lived secret key for utilization in a communication session between the communication partners. The short-lived secret key for each particular partner is masked in a manner which is dependent upon that particular partner's long-lived secret key. The masked short-lived secret keys are distributed in a plurality of communication flows to the communication partners. Finally, the trusted intermediary and communication partners exchange authentication proofs with one another in a plurality of communication flows. Preferably, the communication flows between the trusted intermediary and the communication partners accomplish substantially concurrently the tasks of authenticating the identity of the trusted intermediary and the communication partners, as well as distribute a short-lived secret key to the communication partners which can be utilized by them in a particular communication session.