对于那些不知道的人:Telegram是一个部分开源的 Whatsapp 替代方案(服务器是封闭源代码),它提供秘密聊天和普通聊天。秘密聊天使用 Diffie-Hellman 密钥交换进行加密,并且是端到端加密的。可以使用条形码验证他的同伴的签名。普通聊天不是端到端加密的,但具有在一个设备之间同步的好处。
Telegram 因使用全新的协议MTProto而受到广泛批评。MTproto 是否真的安全不在这个问题的范围内,让我们假设它是不安全的。
由于 DH 用于秘密聊天,MTProto 的妥协是否会破坏秘密聊天?DH 和 MTproto 是否以这样一种方式耦合,即如果 MTProto 失败,DH 也会失败?或者它是分层的,因此两者必须失败才能使秘密聊天变得脆弱?
简而言之,如果一个人不信任 MTProto,那么感谢 DH,人们还能信任秘密聊天吗?
注意:MTProto 也使用 DH 进行设备注册,这是无关的。
有用的官方文件:
更新:
Anton Garcia Dosil 表示,DH 只是一种分发密钥的方式,本身并不是一种加密方法。这绝对是真的,我很抱歉在这里有点含糊。我的问题的一个更清晰的表述是:一旦两个对等方交换 DH 密钥并开始端到端加密,MTProto 是否使用已知安全的加密方法?还是它使用另一种自制的加密方案?如果它确实使用已知的加密方法 X 进行秘密聊天,那么 X 和 MTproto 是否以这样的方式耦合,即如果 MTProto 失败,X 也会失败?或者它是分层的,因此两者必须失败才能使秘密聊天变得脆弱?