VPN 并不能让 Telegram 的云端聊天变成秘密
VPN 隐藏的是连接,而不是聊天模式。云端聊天由 Telegram 解密并存储;只有私密聊天才把密钥留在两台设备上。
从屏幕说起:打开一段对话,应用显示一把锁或什么都不显示,手机状态栏上有一个 VPN 图标。这些指示说明三件不同的事,其中只有一件关乎谁能读到消息。Telegram 里的锁形图标并不代表普通聊天有端到端加密,VPN 图标也不会加上它。沿着每一步看消息究竟存在于哪里,最快能看出其中的差别。
聊天模式决定谁能读到内容;网络路径决定谁能看到连接。
两个层面,两种不同的承诺
云端聊天使用客户端到服务器的加密:消息在链路上受保护,由服务端解密、存储,并同步到你的其他设备。正因为这样,新手机无需在设备之间传输就能看到历史记录。私密聊天则不同:密钥只存在于两台参与的设备上,对话是一对一的,也永远不会进入云端历史。安全属性来自聊天模式,而不是来自应用整体。
所以有用的问题不是 Telegram 是否加密,而是这段对话用的是哪种模式。群组不是私密聊天,无论名字暗示什么;把消息从私密聊天转发出去,就把它带到了原密钥从未保护的地方。
VPN 运营方能看到什么、看不到什么
VPN 在设备与 Telegram 的服务器之间转发数据包。对于正常工作的客户端,这些数据包已经带有应用的客户端到服务器加密,因此运营方拿不到消息的明文。它拿到的是与其位置相称的元数据:源地址、目的地、时间、流量和连接时长。这是否重要取决于威胁模型,而它与聊天模式所处理的是不同的风险。
更换出口并不改变聊天模式。它改变的是谁来观察连接,而那是表格里另一列。
为什么群组与云端聊天不同
群聊和频道是云端一侧的结构,因此每个参与者的设备收到的都是服务端处理过的内容。这并不让它们不安全;这使它们成为另一种信任关系,也值得在敏感讨论前说清楚。Telegram 的隐私文档还说明了哪些内容会被保留、保留多久,而对经过服务器的内容来说,这才是相关的问题。读一读那一节,比任何图标都更能回答疑问。
私密聊天限定两人是有原因的。若群组密钥在许多设备间共享,就会重新引入云端模式所解决的同步问题,所以这项功能干脆不提供。指望这个应用提供端到端加密的群聊,等于指望另一种产品。
消息真正可读的地方
最后一层是终端。一台已解锁的手机、一份备份、一条通知预览,或者一个录屏应用,都可能在屏幕上或内存里暴露消息,而这并不需要隧道或聊天加密失效才能发生。正因如此,保护账户、应用和设备比出口地址更重要。VPN 修不好已被攻破的终端,也无法撤回已转发出去的消息。
把这条路径走一遍:设备存储、应用加密、网络传输、服务器存储、接收方设备。每一步都有归属和属性。关于 VPN 与 Telegram 的大部分混乱,来自把这五步压成一个词。
按你需要的保密程度选择聊天模式,并把网络路径当作另一个决定。两者都值得有意识地做出。