所以想象下一种情况:
Alice 想与 Bob 发起OTR即时消息会话,但 Joe 是中间人。
Alice 使用 Diffie-Hellman 与 Joe(认为他是 Bob)协商一个共享秘密“X”。
Joe 使用 Diffie-Hellman 与 Bob(认为 Joe 是 Alice)协商另一个共享秘密“Y”。
现在 Alice 和 Bob 都知道他们已经建立了所谓的“未验证 OTR 会话”,这意味着他们是加密的,但他们都没有验证他们的身份(他们都不知道 Joe 的存在)。
所以据我了解,社会主义百万富翁协议应该是这个问题的解决方案。爱丽丝必须将她共享的秘密“X”与鲍勃的“Y”匹配,如果它们不匹配 - 他们就会知道他们中间有人(乔),不是吗?
无论如何……显然 X != Y 因为乔在中间。
现在,我想我理解社会主义百万富翁协议中的步骤,但仍然……我看不出是什么阻止了乔在爱丽丝面前假装他确实是鲍勃并使用 SMP 与她匹配他们共享的秘密“X”(他们都知道)?
我错过了什么吗?是什么使带有 SMP 的 OTR 免受 MitM 的影响?