好的威胁模型将具体风险与可检验的措施联系起来,而不是追求最长的功能清单。
为即时通信应用建立威胁模型,就是明确哪些信息对你很重要、谁可能接触到这些信息,以及哪些措施适合你的风险和处境。一个家庭、一名记者和一位使用公司手机的员工,面对的威胁未必相同。本指南提供一个简单框架,帮助你写出自己的安全计划,而不是给通信应用做一份定论式的安全排名。
要点
- 威胁模型是三四句话,不是一款产品。写清楚你想保护什么、防范谁,以及愿意付出多少努力;没有这些话,选择通信应用就只是堆砌功能清单。
- 聊天涉及四个环节:你的设备、网络、通信应用的服务器,以及对方的设备。这四个层面只是起点;备份、账户和关联服务也要单独检查。
- 端到端加密保护消息内容不被中间方读取;设备安全、密钥、备份和接收方的行为依然重要。
- 根据自己的处境评估威胁:接触设备的机会、通知预览、网络钓鱼、备份和关联设备,都是需要考虑的例子,并不是按统计概率排列的风险榜单。
- 元数据与消息正文是两回事。你和谁在什么时候交谈,即使正文完全加密,这类信息也仍然存在,需要另作判断。
什么是威胁模型,为什么选择通信应用时需要它?
威胁模型是对“你想保护什么、防范谁,以及愿意付出多少努力”的简短描述。只要这三个部分还不清楚,比较通信应用就只会得到越来越长的功能清单,却始终不知道哪些功能真正适合你。
电子前沿基金会(EFF)在 Security Planning (Threat Modeling) 指南中表达了同样的观点:试图在所有时刻防御一切可能的威胁,只会令人挫败,因为安全是一个过程,不是一次购买。对于技术团队,OWASP 威胁建模项目也提供了类似框架,而 OWASP 开发者指南中的威胁模型库则收录了许多可供借鉴的现成示例。
一个实用提醒:威胁模型不是一成不变的文件。换工作、出差,或家庭群里增加一位成员,都可能让它发生根本变化。每次遇到这样的变化,就重新写一遍那四句话。
谁在读我的消息?把链路拆成四个环节
简短回答是:每条消息都要经过四个环节——你的设备、网络、通信应用的服务器和收件人的设备;消息副本或关联账户也可能形成访问途径。因此,正确的问题不是“哪款通信应用更安全”,而是“在我的处境中,哪个环节更薄弱”。
第一个环节:你自己的设备
手机屏幕上能看到的内容,都已经过解密。如果手机未上锁、锁屏通知预览已开启,或有人知道你的四位数解锁码,那么传输过程中的加密,并不能阻止别人读取这台设备上可以访问的内容。
第二个环节:网络
网络观察者可能看见连接目的地、时间和流量大小;DNS 服务未必能看到整条路径或消息的所有数据包。采用端到端加密后,他们看到的是密文数据,而不是正文;但消息正在收发以及数据量有多大,通常不会因此隐藏。
第三个环节:通信应用的服务器
服务器是各台设备同步的节点。启用端到端加密时,服务器无法读取正文,但仍能看到路由元数据,也可能保留这些数据。“已加密”和“私密”之间的区别,在这里就显现出来了。
第四个环节:对方的设备
最后一个环节不在你的控制之内。对方可以截图、转发消息,也可能使用了一台感染恶意软件的手机。到了这个环节,端到端加密并不能代替“信任对方”,也无法进一步解决这一问题。
总结:端到端加密限制了能够访问内容的范围,但设备、密钥管理和获准接收消息的人,仍然是威胁模型的一部分。
应该结合自身处境检查哪些威胁?
未上锁的手机、账户访问权限、通知预览和备份,都是可以检查的例子。对遭到专业力量定向攻击的人来说,高级恶意软件或人身胁迫也可能十分重要;不了解具体情况,就不要低估风险。
备份是另一条独立的访问途径。如果通信应用把备份存放在云端,而该备份没有端到端加密,那么手机上的加密保护也就止于云端的边界;这就像锁对了门,却把钥匙放在门边。《如何安全备份加密聊天》这篇指南有助于检查这条途径。
第二类威胁来自身边的人:同事、室友,或借用手机“就一下”的人。第三类威胁是登录账户;如果通过电子邮件登录,而邮箱的保护又很薄弱,整条链路就可能从最弱的一环被打开。这些问题都不能靠更强的加密来解决。
如何防止聊天被黑:实际会发生哪些攻击?
简短回答是:针对聊天的常见攻击,并不是破解加密算法的数学原理,而是网络钓鱼、恶意软件、窃取登录验证码,以及攻击设备本身。攻击者实际上是在找钥匙,而不是砸锁。
因此,登录账户时的行为与密钥长度同样重要。Livara 使用 SRP 进行身份验证,即以零知识方式证明知晓密码:你的设备证明自己知道密码,而不把密码本身发送到网络上。实际效果是,录下登录流量并不会泄露密码。局限也必须说清楚:如果用户亲自把密码输入钓鱼页面,SRP 无法阻止;这时问题已经不在数学,而在于用户是否识别出了骗局。
第二个攻击面是应用本身。遭到篡改的 APK 可以绕过任何加密。Livara 公布每个发布版本的 SHA-256 校验和,让你将下载的文件与可信参考值进行比较;验证实验室可以在浏览器中完成这项操作。如果你想知道应该向其他通信应用提出哪些问题,《选择安全通信应用前应该问的问题清单》是一个不错的起点。
端到端加密覆盖什么,又不覆盖什么?
简短回答是:端到端加密把消息内容从你的设备一直保护到接收方的设备,让服务器只能看到密文数据;但不能仅凭这个功能名称,就对所有元数据、备份、截图或公共频道得出结论。这些方面各自需要独立的控制措施。
针对具体产品,不要从算法名称推断安全范围,而应阅读功能覆盖表。Livara 安全页面和它的威胁模型说明了聊天、频道、通话、元数据及恢复功能。这些是厂商发布的声明,不能代替独立测试。尤其应单独核查通话录音的情况,并区分恢复身份和恢复聊天历史。
即使正文已加密,元数据仍会泄露什么?
简短回答是:元数据说明谁与谁在什么时候交谈,以及通信量有多大——正文加密并不会让这些信息消失。
Livara 会保留标准路由元数据,包括发送方、目的地和送达时间,以便让设备持续同步。这是一项明确的限制,而不是可以忽略的小细节。即使不读正文,“谁与谁联系”的关系图也可能很敏感,例如医生与患者、律师与委托人,或商务谈判的双方。《通信元数据会泄露什么》一文有更完整的说明。
如果你的威胁模型包含“能看见我的通信模式的人”,那么任何一款端到端加密通信应用,单独使用都不足以解决这部分问题;你还需要考虑自己与谁交流,以及从哪里交流。
用五分钟写出自己的威胁模型
简短回答是:回答四个问题——我担心谁、对方想要什么、对方有多大能力,以及消息泄露后会发生什么——然后选择成本最低且有效的措施,而不是倒过来。
- 威胁来自谁?具体写出来:同事、前伴侣、窃贼、公司、政府。
- 什么值得保护?聊天正文、文件,还是通信模式本身。
- 对方有多大能力?能直接接触手机?能访问账户?拥有大量资源?
- 泄露后会发生什么?损害声誉、工作或人身安全,还是仅仅令人尴尬。
- 根据这些答案,选择成本最低且有效的措施。
如果你要防范的是同一 Wi-Fi 上的观察者,那么经过有效验证的 TLS 连接和经过身份认证的端到端加密很重要;对于直接接触设备的风险,设备锁则是另一项优先措施。《如何用安全码验证加密聊天》展示了相关操作。如果你想了解某款通信应用中谁能看到什么,Livara 发布的威胁模型提供的正是这类说明,而不是口号。
一个简短的威胁模型示例
“我手机上的工作文件很敏感。目前的主要风险是同事接触到未上锁的手机,以及保存在相册里的副本。本周我会缩短自动锁屏等待时间、限制通知预览,并检查备份文件夹,然后用一份测试文件检验效果。”
这只是一个例子。如果一个试图控制你的人能接触你的设备,突然更改设置可能引起对方注意。请使用安全的设备并寻求可信赖人士的帮助来规划,把人身安全放在首位。
常见问题
如何用一句话定义“威胁模型”?
就是明确你想保护什么、防范谁,以及愿意付出多少努力。这句话决定了哪些安全功能值得投入成本,哪些只会增加复杂性。
已经有端到端加密,还需要担心黑客吗?
需要,但可能不是你想象的那种方式:攻击者不会一味砸锁,而是会针对设备、使用网络钓鱼,或窃取登录验证码。因此,正确的问题是:我的手机上锁了吗,云备份加密了吗,邮箱账户受到保护了吗?
公共频道也有端到端加密吗?
没有。频道是可供阅读的公共广播空间,以便处理举报并删除滥用内容。根据 Livara 文档,私人一对一聊天,以及兼容且 E2EE 状态已启用的私人群组,会采用端到端加密;旧的不兼容群组可能明确显示仍处于 E2EE 保护范围之外。请查看具体会话的实际状态。此外,群组成员资格仍由服务器控制。
如何确认我安装的 Android 版本没有被篡改?
将下载的 APK 文件哈希与可信来源提供的同一版本校验和进行比较;验证实验室就是为在浏览器中检查文件而设计的。哈希一致只说明文件与参考对象一致;如果攻击者同时替换了文件和参考哈希,一致也不足以证明安全。篡改后的 APK 可以绕过加密,因此,检查应用完整性与加密本身同样重要。



