文章
技术

为什么俺不用 Telegram,兼谈墙外聊天工具的隐私问题

Resistance 技术宅
Resistance  ·  2020年9月6日 编程随想读者|会点IT技术|爱好信息安全|关注隐私保护

本文首发于品韭。如今已过去大半年,有些部分可能已发生变化,俺决定在这边重新发一遍。

    ★写在前面

    大伙儿应该都用过聊天工具(为了打字省力,以下简称 IM)。由于墙内的 IM 都是【实时监控】滴,加上天朝 IT 公司的屎性,不可能保护用户隐私,因此本文聊的都是【墙外】的 IM 软件。本文主要讨论的是——有没有办法【匿名】使用 IM。
    在墙外的 IM 中,各方面评价比较好的,应该是 WhatsApp 和 Telegram,很多人都拿这两个 IM 进行对比。在 6 月份香港爆发“反送中”抗议活动后,大量香港人从 WhatsApp 换成了号称“注重安全和隐私”的 Telegram。
    那么,Telegram 真的像它所宣传的那样“注重隐私”吗?其他墙外 IM 软件又有哪些问题?

    ★Telegram 介绍

    俺偷个懒,直接贴出维基百科的介绍:
   
       Telegram 是跨平台的即時通訊软件,其客户端是自由及开放源代码软件,但服务器是专有软件。使用者可以相互交換加密與自毁訊息,傳送相片、影片等所有類型檔案。官方提供手機版(Android、iOS、Windows Phone)、桌面版(Windows、macOS、Linux)和網頁版等多種平台用戶端;同时官方开放应用程序接口(API),因此擁有許多第三方的客户端可供選擇,其中多款內建中文。
    ★Telegram 的缺点

    Telegram 的【易用性】做得非常好,安全性也比较高。但是 Telegram 没有【隐匿性】。

    ◇需要【绑定手机】

    编程随想在[《近期安全动态和点评(2019年2季度)》](https://program-think.blogspot.com/2019/07/Security-News.html)提到:
       编程随想注:

俺以【匿名身份】开博已经十多年。期间有很多热心读者建议俺开通 Telegram 或 WhatsApp,以便更好地与读者交流。每次都被俺婉言谢绝了。 如今香港的这个案例,再次凸显出 Telegram 在【隐匿性】方面的风险——因为 Telegram 需要【绑定手机】。说得更直白一些:任何需要绑定到手机的网络工具(不管是 IM 还是邮箱),都会大大降低你的【隐匿性】。 正是由于这方面的风险,当俺以“编程随想”这个身份进行网络活动时,【绝不】使用任何需要绑定手机的网络服务。

    由于 Telegram 需要绑定手机,因此只要你拥有这个手机号,你就可以【完全控制】这个 Telegram 帐号。包括换绑、设置“两步验证”、注销帐号等。一定要保证拥有对绑定的手机号的控制权!在下面还会聊到手机号与匿名的问题。

    ◇自动获取联系人

    (本文发出后一段时间,有人提到墙内有 Telegram 群主被抓,补充这一小节)
    由于 Telegram 要求绑定手机,它自然也会扫描你的【联系人列表】,并自动导入他们的号码,方便你通过 Telegram 联系他们。
    这样的直接风险是:一旦有某个联系人绑定的是墙内手机号,而你没有隐藏自己的号码,那么你的号码也就暴露了。
    俺之所以没有聊到这一点,主要原因是因为大伙儿的安全意识不至于太差,应该会意识到这个问题。不过捏,既然下面有同学提出来,俺就补充进来。

    ◇难以隐藏时间信息

    Telegram 默认显示你的【最后上线时间】,别人可以通过【在线时间】推测你的活动规律,这也会构成某种信息量。
    有的同学可能会说:Telegram 可以设置隐藏自己的最后上线时间。
    首先,你需要手动设置。其次,“最后上线时间”仅对“私聊”和“个人资料”有效,在某些群组里,可以看到有人正在输入的提示,仍然会暴露此人的在线时间。
    另外,无论你怎么设置,Telegram 在“私聊”和“群组”对话中,都会有“已读提示”,也就是“两个对勾”,同样会暴露“在线时间”(至少包括:在某个时间段内,有人看过这条消息)。

    ★手机号与隐私问题

    手机号分为“实体手机卡”和“虚拟号码”(VoIP)两种,下面聊聊这两种手机号的隐私问题。

    ◇实体手机卡的隐私风险

    俺猜测 Durov 不知道【手机实名制】。注意并非天朝才有,德国、韩国、日本、台湾等地方也有类似规定。虽然民主国家搞这套东西并不会用来作恶,但是仍然有泄露个人隐私的风险。大伙儿应该还记得韩国取消【网络实名制】的原因吧?
    即使是【匿名手机卡】,如果你通过“实体店”购买,支付过程很难保持匿名。目前唯一可行的方法是:买一张【预付费卡】,用【现金】一次性支付足够的费用,以后不再充值。

    ◇VoIP 的隐私风险

    下面聊一下“虚拟号码”(VoIP)的问题。由于需要支付,在【匿名】的前提下,很难搞到【时限较长】的号码。而免费的 VoIP 为了防止滥用,使用时限通常很短,大多数是一个星期左右。
    如果你有一段时间不使用绑定的 VoIP 号码,别人注册拿到了这个号码,就可以登录你的 Telegram,完全控制你的帐号。经过俺的测试,即使设置了“两步验证”(无论是否有恢复邮箱),只要绑定的号码在俺手里,俺就可以直接【重置】绑定的 Telegram 帐号。
    有同学可能会说:使用 Google Voice 绑定就可以了。Google Voice 可以免费申请,它的“时限”是 9 个月。
    现在 Google Voice 已经很难申请了,不像前两年还可以用脚本刷,据说需要【真实美国手机号】才能申请成功。如果上“淘宝”之类的网站购买,就无法保持匿名。
    此外,使用 VoIP 还要被 Telegram 官方【删号】的风险。现象是帐号被注销(显示 Deleted Account),与真正的注销帐号不同的是:用户名被占用(别人无法使用这个用户名,但是输入用户名找不到对应帐号)。

    ★其他主流 IM

    除了 Telegram,墙外还有不少知名的 IM。俺接下来通过“是否需要绑定手机”进行分类,分析这些 IM 的隐私风险。

    ◇需要绑定手机

    除了 Telegram,目前 WhatsApp、Signal、同样需要【绑定手机】。这些 IM 的隐私风险与 Telegram 相同。

    ◇可选绑定手机

    目前 Riot、Wire 可以选择绑定手机或邮箱。根据俺的使用体验,它们的“易用性”做得还不够好,客户端也有一些问题。
    Discord  也可以绑定邮箱或邮箱。俺目前没有用过 Discord,俺对商业公司的 IM 产品保持警惕。

    ◇不需要绑定手机

    这类 IM 通常是【去中心化】滴,由于没有中心服务器,通常是由客户端注册帐号,不需要绑定邮箱或手机。
    这类 IM 有 Tox、BitMessage 等。可惜它们的“易用性”还是不够好。

    ★理想的 IM

    可能有同学会问:你对目前的所有 IM 都不满意,那你用什么 IM?
    俺的回答是:很遗憾,到目前为止,还没有出现让俺完全满意的 IM。
    俺认为的理想的 IM 是:Telegram 的易用性 & 跨平台支持+Tox的隐匿性+Riot 的安全性+Bridgefy(断网也能用)的“结合体”。

    ★结尾

    通过这篇文章,俺简单地分析了 Telegram 的隐私风险,希望能引起大伙儿对 IM 隐私问题的重视。如果你有更好的 IM 欢迎推荐,俺不胜感激 :)
菜单
  1. Resistance 技术宅
    Resistance   编程随想读者|会点IT技术|爱好信息安全|关注隐私保护

    俺要吐槽这个 Markdown,好像用四个空格会被当作 code 解析,有没有办法避免?

  2. 沉默的广场  

    之前看到品葱spam泛滥想到,现在很多网络服务推广手机验证,主要是互联网很难防止资源滥用,出于实际操作考量,又不可能推行一人一号的实名认证。对于网络服务提供商,手机号是个不错的认证手段。

    首先手机号是稀缺资源,号段数量有限,一段时间内不使用就会被运营商回收,因此网站可以把身份验证的压力转嫁到运营商身上。其次,维护一个手机号需要一定成本(月租和活跃时长,否则号码会被回收),因此验证手机号就相当于一次Proof of Stake(基于费用)和Proof of Work(基于活跃时长),通过资金和时间这两个稀缺资源,可以限制服务的滥用。

    我不是要给手机认证辩护,事实上手机验证极大地侵犯了互联网上的匿名性,但是在防滥用和隐私之间又似乎很难找到好的平衡点。

  3. 一只雞兒 一致通过
    一只雞兒   坚持贯彻主体思想一亿年不动摇

    @沉默的广场 #10038316 欧美的科技公司也开始弄这一套了,连电子邮箱服务商都要求用手机号来注册.虽然没有对实名制方面的担忧,但是极大地增加了用后即弃的短期账号的获取难度.