隐私与安全

用大白话讲清 Telegram 的加密

本文用通俗语言解释传输中加密、静态加密与端到端加密的区别,说明云端聊天与秘密聊天各自保护什么、谁掌握密钥,并指出锁屏、截图和登录码才是隐私最常被突破的地方。

内容导读

本文用通俗语言解释传输中加密、静态加密与端到端加密的区别,说明云端聊天与秘密聊天各自保护什么、谁掌握密钥,并指出锁屏、截图和登录码才是隐私最常被突破的地方。

用大白话讲清 Telegram 的加密主题插画

几乎每个通讯应用都印着“加密”二字,可它本身说明不了什么。加密总是保护某个具体的东西:一条正在网络中传输的消息、一个存放在服务器上的文件,或者一段只有两台设备能读懂的对话。你拥有的是哪一种,决定了谁能看到、谁看不到你的消息。

第 002 步把 Telegram 的聊天分成了云端聊天和秘密聊天。这一步用大白话、不涉及数学,讲清两者背后的加密到底做了什么。唯一要记住的一点是:加密保护的是地点与地点之间的那条线,而从来不是地点本身。你解锁的手机、对方的屏幕,以及任何保存在应用之外的东西,才是消息被读取的地方,任何加密都触及不到那里。

完成这一步后你将能够

  • 解释传输中加密、静态加密和端到端加密,以及各自能挡住什么。
  • 说出无论使用何种加密、你的消息都仍可被读取的那些地方。
  • 面对“全程加密”或“无法破解”之类的说法,通过追问它指的是哪一层来判断真假。

三种加密,三种不同的承诺

加密会把数据打乱,没有密钥就无法使用。关键问题从来不是某个东西是否被加密,而是谁掌握密钥。常见的答案有三种。

  • 传输中。消息在你的设备与服务器之间传输时被打乱。同一网络里的人,比如咖啡馆的 Wi-Fi、酒店路由器或你的网络服务商,能看到有流量发往 Telegram,却读不懂内容。而服务器掌握着连接这一端的密钥,所以它能读懂。
  • 静态。消息在存储时被打乱。偷走服务器硬盘的人只会看到无法读取的数据。Telegram 的云端聊天就是这样存储的,而且 Telegram 把密钥放在与数据不同司法管辖区的数据中心,这样某个站点的工作人员或入侵者无法同时拿到两者。服务本身仍能解密,这正是你的聊天记录能出现在新设备上的原因。
  • 端到端。消息在你的设备上被打乱,只在接收方的设备上还原。服务器转发的数据它自己没有密钥。在 Telegram 上,秘密聊天和通话就是这样工作的。

云端聊天使用前两层;秘密聊天和通话再加上第三层。它们都不是“真正的加密”。每一种回答的都是一个不同的问题:在消息传递途中,谁可能看到它。

四个地方

消息存在于何处,以及在那里由什么保护它

跟着一条消息,从你的指尖走到别人的屏幕。选一个地方看看。

你的设备

网络

Telegram 的服务器

他们的设备

你输入它的地方,任何拿到手机的人都能读到

在你自己的屏幕上,消息是明文,因为你必须能读懂它。任何拿起你已解锁手机的人,或从你肩后偷看的人,都会看到你所看到的。消息预览也可能在锁屏上直接显示内容,无需解锁。

这里管用的不是消息加密,而是设备保护:屏幕锁、手机自带的存储加密(现代手机开启屏幕锁时就会启用),以及 Telegram 的应用密码。在 Telegram 桌面版上,本地密码还能保护存储在电脑上的账号副本。

在你的设备上,锁屏和应用密码才是真正重要的加密。

在传输途中,由传输中加密覆盖

在你的设备与 Telegram 之间,每个聊天都经过传输中加密,无论云端还是秘密。同一公共 Wi-Fi 上的陌生人,或你的网络服务商,能看到你的设备在与 Telegram 通信,大致知道时间和流量大小,但不知道说了什么。

那个“大致时间和流量大小”值得留意。加密隐藏的是内容,而不是流量存在这一事实。第 006 步会讲这类信息本身能暴露什么。

在网络上,你的话被隐藏了;你在交谈这一事实却没有。

被存储或被转发,取决于聊天的类型

云端聊天存储在 Telegram 的服务器上,静态加密,Telegram 能解密。这就是换来你的聊天记录能在每台设备上使用、随处可搜索的代价。秘密聊天只是被转发:服务器传递它打不开的乱码数据,也不把它作为历史记录保存。

所以“服务能读到它吗?”在 Telegram 上有两个答案,聊天标题栏会告诉你适用哪一个。名字旁边有锁形图标就是秘密聊天;没有锁形图标就是云端聊天。

云端聊天:Telegram 掌握密钥。秘密聊天:只有两台设备掌握密钥。

它被读取的地方,超出一切加密之外

消息到达后会被解密,好让对方能读。从那一刻起,他们可以截图、转发、复制到另一个应用,或给房间里的人看。端到端加密保证的只是只有他们的设备能解密这条消息。它对他们接下来做什么毫无约束。

这是本页最重要的局限,因为在现实中,另一端的那个人才是私密消息变公开最常见的途径。第 051 步讲的正是这种情况。

加密安全地把消息送达。送达之后发生什么,取决于人。

端到端的安全性取决于验证

端到端加密有一个薄弱点:确保密钥真的属于你以为的那个人。如果有人能把自己的密钥塞进对话中间,他就能读取并转发,而双方看到的都是一段加密聊天。

Telegram 给了你验证的办法。在秘密聊天中,双方都可以打开加密密钥界面,比对上面显示的图像。在通话中,双方会在顶部看到相同的四个 emoji。如果你看到的和对方看到的相符——通过通话念出来或当面比对——那就没有人在中间。通过在同一聊天里发截图来比对毫无意义,因为那正是你要检验的通道。

大多数对话永远不需要这一步。对少数需要的情况来说,它就是“加密”与“加密给了正确的人”之间的区别。

读懂安全宣传

心里有了这三层,大多数营销话术就变得容易解读了。“军用级加密”通常描述的是打乱的强度,而不是谁掌握密钥。“全程加密”往往指传输中和静态都加密,这是标准做法、也是好事,但并不是端到端。而“无法破解”对任何应用来说都从不成立,因为没有任何加密能保护一部已解锁的手机、一个被骗着交出登录码的人,或一张截图。

能穿透这一切的问题,就是本步开头那个:谁掌握密钥,以及两端屏幕上会发生什么?

检验你的直觉

你在咖啡馆的公共 Wi-Fi 上,往一个普通群组里发了一条消息。谁能读到它?

同一 Wi-Fi 上的任何人,因为群组未加密

群组成员和 Telegram,但不包括 Wi-Fi 上的其他人

只有群组成员,因为群组是端到端加密的

群组是云端聊天:传输中加密,所以咖啡馆的网络只看到乱码流量;存储时加密,密钥由 Telegram 掌握。它们不是端到端加密,但也不对网络敞开。

你用秘密聊天谈敏感的事。对方用第二部手机拍下了自己屏幕的照片。加密保护了什么?

什么都没有,所以私密聊天毫无意义

一切,因为私密聊天会阻止摄像头

传输过程:除了他们的设备,途中无人能读取

端到端加密完全尽到了职责:消息只到达了他们的设备。他们拿自己的屏幕做什么,超出任何加密能控制的范围。当风险来自对方时,答案是别发,而不是换一种聊天。

某应用宣传“军用级加密”。最该问的问题是什么?

谁持有密钥,是否是端到端加密?

密钥有多少位

哪个国家的军队在使用它

强力的打乱是标配;服务之间的差别在于谁能还原。密钥由服务掌握,就意味着服务能读;密钥只由两台设备掌握,就意味着它读不了。对普通人来说,密钥长度很少改变这个答案。

现在就试试——五分钟

  1. 检查你手机的屏幕锁 如果你的手机没有屏幕锁,本页其他所有保护都会止步于第一个捡起它的人。在手机自己的设置里设一个。
  2. 看看你私聊的标题栏 名字旁边有锁形图标就是秘密聊天。没有锁形图标就是云端聊天,Telegram 能读,并同步到你的各台设备。
  3. 在锁屏上隐藏消息预览 在 Telegram 的通知和声音设置里,关闭消息预览,这样锁着的手机就不会显示它正在保护的内容。
  4. 在你下一次重要通话中比对那四个 emoji 互相念出来。只需五秒,就能确认中间没有人。

常见问题

Telegram 是端到端加密的吗?

部分是。秘密聊天和通话是端到端加密的。普通聊天、群组和频道是云端聊天:传输中和存储时都加密,密钥由 Telegram 掌握,这样你的聊天记录才能跟着你到每台设备。

VPN 会增加更多加密吗?

VPN 加密的是你与 VPN 服务商之间的连接,这能让你的本地网络看不到你在用 Telegram。它不改变谁能读你的消息:Telegram 自带的传输中加密已经隐藏了内容,而 VPN 公司现在取代你的网络服务商,看到了你流量的元数据。

语音消息和文件也加密吗?

它们跟随所在聊天的规则。在云端聊天里,它们传输中加密,存储时用 Telegram 掌握的密钥加密。在秘密聊天里,它们和周围的消息一样是端到端加密。一旦下载并保存到手机相册或文件夹,它们就是你设备上的普通文件了。

如果我的消息已加密,为什么还需要两步验证?

因为最常见的攻击根本不破解加密,而是冒充你登录。拿到你登录码的人会开启一个新会话,像你一样读取你的云端聊天。加密保护的是消息在途中的安全,两步验证保护的是那扇门。第 004 步讲这个验证码。

加密能被破解吗?

在实践中,攻击是绕过加密,而不是穿过它:被盗的登录码、已解锁的手机、恶意应用,或一张截图。这就是为什么这个系列花在那些事情上的时间远多于数学。

← 返回 TG知识库