SHARE THE PERSPECTIVE
每个文件使用专用密钥,并不意味着只能查看一次,也不意味着能够收回接收方的副本。

为了保护附件,通信应用可以在发送方设备上用随机密钥加密文件,上传加密版本,再通过端到端加密的消息将文件密钥传给接收方。这种模式有时称为信封加密:大文件和打开它所需的少量信息,沿着不同但相互关联的路径传送。

这里说明的是 E2EE 对话中的附件;在任何应用或任何类型的频道中发送文件,并不一定具有同样的保护。

一张私人照片从设备到接收方的路径

  1. 发送方设备为文件生成内容密钥。
  2. 使用认证加密对文件加密;接收方应能检测数据中的未授权修改。
  3. 将加密版本放到文件存储服务上。
  4. 通过受保护的消息,把文件地址或标识符和所需密钥发送给接收方。
  5. 接收方设备下载文件,验证后再打开。

Livara 安全文档 描述了附件使用随机的文件专用密钥,并在消息会话中传递密钥。本文解释的是其公布的架构,而不是实现审计的结果。

“文件专用密钥”不等于“文件只能打开一次”

为某个文件生成的密钥,可能需要用于多次读取同一文件。密钥专用并不意味着首次查看后立即丢弃密钥、自动删除文件,或阻止接收方保存文件。

此外,消息密钥的一次性使用与附件内容密钥的使用是两个不同概念。不能仅凭算法名称就推断出“单次查看”(View Once)或阅后即焚消息等功能。

为什么密钥和 nonce 都很重要?

AES-GCM 除了提供保密性,还提供数据真实性验证,但必须正确使用。NIST SP 800-38D 标准 说明了 GCM 的规则。对不同数据重复使用同一组密钥和 nonce,可能危及安全。

对用户来说,实际结论是:仅有“AES-256”字样并不够。还应查看密钥管理、随机生成、文件验证和错误处理的规范。一个字节发生变化,就应导致无效文件被拒绝,而不是把遭到篡改的内容当作完好文件展示。

接收方、服务器和图库应用能看到什么?

位置 安全问题
文件存储服务 它只有加密字节,还是也能访问密钥?
包含密钥的消息 密钥、文件名和说明是否在 E2EE 对话中受到保护?
接收方设备 文件打开后,留在内存、缓存还是图库的什么位置?
云备份 保存的副本是否进入照片备份?该备份又有什么保护?

传输过程中的加密无法控制接收方保存到图库中的副本。发送敏感凭证前,还应检查图像中不必要的部分、背景文字以及文件中的位置信息。

私人群组中的文件有什么不同?

有权持有密钥的人数会增加。Livara 在 LGS1 中描述了 E2EE 模式下兼容私人群组的附件保护;不应把这一说法延伸到公开频道。每位收到文件的成员都可能保留副本。移除成员或轮换未来使用的密钥,并不能收回其已有的副本。

发送敏感文件的检查清单

  • 再次确认对话空间和接收对象。
  • 如果对方身份很重要,请通过可信渠道验证密钥指纹。
  • 只发送必要信息;并非总要发送完整的证件照片。
  • 与接收方就保存到图库、自动下载和云备份达成一致。
  • 不要把解密后的文件留在共用或未锁定的设备上。

常见问题

文件专用密钥是否保证发送安全?

不保证。设备状态良好、接收方身份验证和正确实现同样必要。请结合加密规范阅读 Livara 威胁模型。

公开频道中的图片具有同样的保护吗?

按照 Livara 公布的边界,频道是公开且可读取的;它们不承诺私人附件的保密性。

只有文件链接就足够了吗?

这取决于服务的设计。请分别检查链接、密钥和访问权限;URL 仅仅很长或具有随机性,并不能证明存在 E2EE。

在 Livara 实验室透明查看安全代码
CONTINUE THE THREADPrivate messaging ↗
YOU’VE REACHED THE ENDBack to the reading room ↗