为什么你不应该信任telegram

qwerty
·
·
IPFS

Telegram因为其宣称具有“端对端加密”(E2EE)特性而广为人知,很多用户正是被这一特性吸引。

所谓E2EE,是指通过建立直接连接通信两方的加密信道进行通信,这样的加密信道可以保证通信的中间节点无法看到通信明文,因此被认为具有相对于点对点加密(P2PE)更高的安全性。

目前宣称提供E2EE的通信/IM方案有很多,其中不乏市场占有量较大的IM软件,而telegram就是其中之一。

然而这些宣称提供E2EE的软件存在一些经常被忽视,但至关重要的问题。最重要的两个是,该软件是不是真的提供了E2EE信道,以及软件提供的E2EE信道是否足够安全。

而为了确定这两点,对软件的审计是必须的,而如果用户本人需要审计软件,那么软件就必须是开源而且可审计的。

但很遗憾,telegram不仅是专有软件,而且其E2EE功能使用了未经审计的加密算法。确定加密算法的的安全性所需的审计比一般的代码审计要严格和复杂的多,因为加密算法不仅需要一般意义上的安全性,更需要密码学安全性。

所以,我们并不知道telegram的加密是否具有密码学安全性。这是一点。

宣称提供E2EE的软件所面临的另一个严重问题,是“密钥被存储在何处”。通信双方建立加密信道是为了避免通信明文被中间节点看到,但如果中间节点持有解密密钥,那么这一切就没有意义了。我们并不知道telegram服务器是否会存储解密密钥,但telegram的确支持某些只有服务器存储了解密密钥才能实现的功能。

另一个问题,身份验证问题,即“如何知道通信的对方是你要通信的人”,telegram也并不能保证这一点。


那么,你可以信任什么?openpgp,或者gnupg(gpg)是目前最好的加密软件之一,gpg只提供加密,解密和签名功能,因此,你依然需要通过某些途径将加密后的信息发送出去。但gpg可以保证,无论你的加密信息在什么样的平台上传输,能看到明文的人只有你指定的接收者;无论你提供什么渠道接受到消息,只要签名正确,发送者一定持有对应的私钥。

那么,选择什么途径发送信息比较好呢?实际上,通过邮件或者短信就可以了。XMPP和Matrix网络也是很好的渠道。

CC BY-NC-ND 2.0 授权

喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!

qwerty除特殊说明外,本账号所有原创作品依cc-by-nc-sa 3.0或更高版本开放授权。
  • 来自作者
  • 相关推荐

论当前多元文化主义的陷阱和“真正的多元文化主义”

(并不)面向新手的JavaScript类型系统(踩坑)指南

面向新手的HTTP介绍