所以想象下一个情况:
艾丽斯想与鲍勃启动OTR即时通讯会话,但乔是中间人物。
爱丽丝用迪夫-赫尔曼和乔(认为他是鲍勃)协商一个共同的秘密“X”。
乔与鲍勃(认为乔是爱丽丝)用迪夫-赫尔曼谈判另一个共同的秘密“Y”。
现在Alice和Bob都知道他们已经建立了所谓的“未经验证的OTR会话”,这意味着他们被加密了,但是没有一个验证了他们的身份(他们都不知道Joe的存在)。
据我所知,社会主义百万富翁议定书应该是这个问题的解决方案。爱丽丝必须把她分享的秘密“X”和鲍勃的“Y”相匹配,如果他们不匹配,他们就会知道他们中间有一个人(乔),不是吗?
不管怎样,…显然X != Y,因为乔在中间。
现在,我想我理解了“社会主义百万富翁议定书”中的步骤,但仍然是…我看不出是什么阻止了乔在爱丽丝面前假装他确实是鲍勃,并用SMP来与她的秘密“X”(他们都知道)相匹配。
我是不是遗漏了什么?是什么使带有SMP的OTR免受MitM的保护?
发布于 2013-08-20 18:27:40
据我所知,SMP本身并不能防止MitM。论文的作者清楚地指出,
假设Alice和Bob正在使用OTR在线聊天,并决定运行SMP,但以前没有选择一个秘密,也没有比他们当前的会话更安全的通道。在这种情况下,他们仍然可以选择一个合适的秘密,但是他们更容易受到攻击。
SMP协议用于比较该共享秘密,而不需要将其发送到清空,但共享秘密必须已经存在。
否则,在爱丽丝的眼里,鲍勃和乔就没有什么区别了。出于同样的原因,艾丽丝和乔会和鲍勃的眼睛完全一样。这将导致一个完美的中间人物场景。
https://security.stackexchange.com/questions/40915
复制相似问题