Telegram 的短信验证让你的隐私聊天变得不安全

This article is translated from English: SMS verification is making Telegram insecure.

当你意识到互联网广告公司、政府、信用卡公司、互联网服务提供商 (ISP) 都非常想知道你(和千千万万的互联网用户)做什么的时候,这个世界真的是糟糕透了。你不是一个人,就连 Facebook 的马克·扎克伯格 都与你有同样的感受。

图片来自 9to5Mac

Pavel Durov,VK 的创始人,也有同感,而且看起来他很想帮马克的忙。他和他的一些朋友创建了 Telegram,一个大家非常喜欢的私密通讯服务,就连 ISIS 都在用这个软件


Screenshot of Telegram.org

我在 2015 年注册了 Telegram,现在还是我最常用的通讯软件之一。但是一件事最近引起了我的注意:

  • 中国想要监管虚拟货币交易。
  • 中国想要互联网上的聊天群主为成员的言论负责任。

于是,中国的虚拟货币投资者们一下子决定关闭他们的微信群聊,并开始使用国外的私密聊天工具 Telegram。等一下!用 Telegram 躲避老大哥的视线似乎不是一个很聪明的事情。问题出在这里:

任何人都可以用 5 位短信验证码登录进你的账户

如果一个人想登录进你的 Telegram 账户,只需知道:

  1. Telegram 绑定的手机号码;
  2. 这个手机号码收到的五位短信验证码。

像这样:

也就是说,只要某人能够看到你的 SMS 短信记录,你的 Telegram 帐号就可以被侵入。

谁能够看到?

Telegram Web 登录页面

  • SMS 虽然是安全的,但是并没有端到端加密。你的信息安全完全取决于运营商是如何加密内容的。因此,如果你的移动公司想去阅读你的短信,理论上是可行的。
  • 你的运营商可以读取你的私人讯息,并把你的私密 SMS 信息提供给政府机构。
  • 即便你的 SMS 短信传输是完全安全的,手机上的不良软件和后门一样可能把你的验证码提供给黑客。

我提到中国虚拟货币交易者这件事情,是因为中国似乎为此类攻击创造了完美的环境。

  1. 中国监管者可以从当地的运营商 「扫描」你的短信。曾经有先例,在中国,政府过滤和审查 SMS 信息,且中国的运营商协助了他们。
  2. 中国的手机厂商曾经通过预装软件把美国用户数据发送到中国的服务器

中国未必是此类事情唯一出现的地方(我觉得应该不是)。如果以上任意一项发生,骇客可以登录你的 Telegram 帐号并且看到你的隐私。

我应该怎么办?是不是不能用 Telegram 了?

这些方法可以用来保护你的隐私:

  • 启用云密码二次验证。在 Settings -> Privacy and Security,启用 2FA (二次验证)。当有人试图登录你的 Telegram 帐号时,Telegram 会在要求短信验证码的同时索取密码。 (这是 @telegram 在推特给我的回复)
  • 用 Secret chat。Secret chat 使用端对端加密,不保存聊天记录,且信息阅后即焚。就算有人骇进你的账户,你的聊天记录他们也不会看到。
    我给我的手机拍了张照片,因为 Secret chat 界面不可以截图。

  • 虽然我们理论上不能信任任何人,用一个你 [相对] 信任的国家和运营商的手机号码可能是明智之选。很多国家和地区要求手机用户登记真实姓名,甚至提交护照或证件的信息进行验证。

SMS 短信非常易受攻击

这可能不必多说,但是用短信验证码来作为二次验证其实非常普遍,虽然它们非常不安全。糟糕的是,像推特、谷歌、亚马逊和 Dropbox 等公司还在使用短信二次验证。我现在在用一个实体的验证钥匙,在亚马逊只要不到 20 美元就可以买到。它非常方便,虽然很多主流的服务还没有支持实体钥匙。

我依然爱 Telegram

我喜欢 Telegram。它非常极客友好,并且如果你是一位开发者那么你可以做很多有趣的事情。不过,如果你非常在意这些不安全的因素,我希望以上的那些方法可以给你一定的帮助。除此之外,用 PGP 来自己加密信息,似乎是个好方法。

有问题和建议?欢迎用 Telegram 联系我,或给我发 PGP 加密的邮件 (公钥: 8967BA14)。

分享这篇文章到