Ho finito per chiedere la mailing degli sviluppatori di OTR ed ecco il risposta che ho ricevuto:
On Wed, Apr 08, 2015 at 02:51:14PM +0200, Jacek Wielemborek wrote:
Hello,
Here's something that keeps bugging me for a moment. It's a hypothetical
situation, so please refrain from question like "how did you send the FP
to your friend?".
My friend receives my OTR fingerprint over a secure channel (e.g.
meeting in person), but he doesn't give the fingerprint to me and
destroys the channel,
Me and my friend establish a perfectly secure channel that has two
limitations: my friend can only send messages to me (not the other way)
and only one bit of information can be transferred.
We agree that over this channel, he will tell me during a future OTR
session whether my fingerprint matched what he received from me during
step 1,
We go back home, establish an OTR session over the internet, which
isn't secure yet. My friend verifies my fingerprint based on what we got
during step 1 and tells me whether it matched over channel from step 2,
If the fingerprint he sees on the screen matches the thing he got from
step 1, can I assume that there can be no man in the middle? In other
words, is it possible to perform a one-way OTR MITM where my friend
actually sees my real fingerprint, but when he responds, I can't see
his, but one from the MITM?
Hopefully I explained this clearly. Cheers,
Jacek Wielemborek
Jacek,
Tornando in OTRv1, questo era effettivamente possibile. Tuttavia, il MITM
non sarebbe in grado di leggere, scrivere o modificare i messaggi; il problema
era che il tuo amico avrebbe visto la tua chiave come partner nella
conversazione, mentre vedresti il MITM come il tuo partner
la conversazione. (I messaggi in realtà dovrebbero essere indirizzati al tuo
vero amico, però.)
Abbiamo aggiornato il protocollo di scambio delle chiavi nel 2005 per risolvere questo problema,
e non credo che un MITM potrebbe estrarlo con OTRv2 o OTRv3
(a meno che uno degli endpoint non sia stato compromesso, ovviamente).
[Ancora meglio è scambiare un segreto condiviso nel tuo passo 1, invece,
quindi utilizzare SMP per l'autenticazione reciproca delle chiavi a lungo termine.
Ma questo richiede un canale sicuro nel senso della segretezza , mentre
la tua versione richiede solo un canale sicuro nell'autenticità
senso; quest'ultimo è a volte più facile da mettere in pratica.]
- Ian Goldberg Professore associato e ricercatore universitario Cheriton School of Computer Science, Università di Waterloo Visiting
Professore, ESAT / COSIC, KU Leuven