As I'm currently playing around with cryptography, especially OTR, I'm wondering about its security against active MitM attacks.

Let's say Alice and Bob created an OTR session, but Eve is acting as a MitM, changing messages, so that she can decrypt Bobs messages to Alice, reads them(may even change something), encrypts them again and sends them to Alice (and vice versa).

In this case, Bob and Alice would not have each others public key, but instead Eve's, is this right?

So the Socialist Millionaire Protocol is used to verify, that A. and B. are talking to each other, without a MitM interfering.

How is this working? I understand the case in which they ask each other a question, but is there a way doing this or ensuring, that no MitM is interfering without extra user input or fingerprint checking?

  • You are asking the same question as this one, besides I find OTR specification detailed and very clear. – user45139 Jul 18 '15 at 11:51
  • You're right, I already read the question to this answer, but was still unsure whether a more or less pre-shared-secret is needed or not. But reading the second answer, this became clear now, and this question is solved, Thanks :-) – marius_linux Jul 18 '15 at 13:18