I have a short question.

Besides PKI, Web of Trust or secure out of band communication. Is there any other way to verify the public key of a communicating party?

In other words, let's assume an active adversary with MiTM capabilities. When we are doing a public key exchange, you have to rely on a trusted third party or any other out of band secure channel to verify to authenticity of the public key. There is no way of using the same channel that you just exchanged the keys.


1 Answer 1


Authenticating somebody means verifying who they are. This always involves out-of-band information because otherwise you don't even know them.

If you like security games try to distinguish between two people without knowing anything about them. ;)

Even a PKI is a separate channel.

You can consider different authentication factors which are usually split into

  1. Something the person knows (Password-based key agreement)
  2. Something the person has (PKI, their private key)
  3. Something the person is (like a fingerprint)

but in any case you need to somehow be able to verify the information you get using some out-of-band information.

Maybe the 3rd factor "inheritence" deserves a litte more attention. It also includes things that the person does. So you could require that your communication partner behaves in a specific way. However if that behavior is not used to identify somebody you are actually doing fraud detection or intrusion detection and not really authentication.

I suppose you could consider the case where you only know somebody from in-band interactions and you just want to make sure that it's always the same person. In this case you should just do a key exchange on the first interaction.

  • $\begingroup$ I guess there might be typos somewhere. In 2. "(PKI, their private key)", whose "private key" "the person has"? $\endgroup$ May 6, 2017 at 7:56
  • $\begingroup$ What I mean is: They have their own. That's what identifies them. $\endgroup$
    – Elias
    May 6, 2017 at 8:00
  • $\begingroup$ Very often papers assume long term secrets for authentication. Or some sort of TTP for verification of keys. I was wondering if there is some sort of theorem about public key verification that shows you always need some out of band communication. $\endgroup$
    – Anonymous
    May 7, 2017 at 17:18
  • $\begingroup$ I'm not sure if we're talking about the same thing. If you don't know anything about Bob what could Bob do that Eve cannot? You essentially made up a name with nothing attached to it. Are you looking for a more formal proof of that? $\endgroup$
    – Elias
    May 7, 2017 at 23:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.