什么是端到端加密?它如何保护您的照片

什么是端到端加密?它如何保护您的照片

端到端加密让存储服务商既拿不到可读的照片内容,也拿不到明文内容密钥。


端到端加密(E2EE)是一种安全模型:明文在一个授权终端上加密,在另一个授权终端上解密,存储或传输服务商不持有明文内容密钥。这道边界能防止服务器端直接读取内容,但不会隐藏所有元数据,也保护不了已被入侵的终端、恢复凭证、共享接收者或恶意的客户端更新。

对照片存储来说,端到端加密意味着手机在上传前先加密照片内容,云端存储的是密文而不是可读图片。解密需要通过授权设备或恢复途径获得密钥。文件大小、时间、账户数据、共享关系和其他元数据仍可能可见。本指南说明这道边界,并比较常见的服务模式。

端到端加密的工作原理

核心机制涉及三个阶段:密钥生成、加密和解密。

密钥生成

用户的设备生成一个密码密钥。在对称加密(如 AES-256)中,相同的密钥加密和解密。在非对称加密(如 RSA)中,公钥加密,私钥解密。许多端到端加密系统结合了两者:非对称加密交换对称会话密钥,然后处理大量加密。

照片保险库 App 采用多种密钥管理设计。有些直接从密码派生文件密钥;更可靠的分层设计则用由凭证派生的解锁密钥来封装随机文件密钥。Vaultaire 使用 PBKDF2-HMAC-SHA512,从 5x5 图案和全设备共用的盐值派生出 256 位保险库密钥。该保险库密钥用于认证加密索引,并解开另一个用于文件加密的随机主密钥。

加密

明文(您的照片)使用加密密钥和加密算法转换为密文。AES-256-GCM 是用于此目的最广泛使用的对称密码。GCM(伽罗瓦/计数器模式)提供认证加密——它既加密数据又产生检测任何篡改的认证标签。每个文件接收一个唯一的初始化向量(IV),确保相同的文件产生不同的密文。

解密

接收方的设备使用相同的密钥(对称)或匹配的私钥(非对称)来逆转变换。没有正确的密钥,密文与随机数据无法区分。没有数学捷径。AES-256 有 2^256 个可能的密钥——比可观测宇宙中估计的原子数量还多。

端到端加密与其他加密模型

并非所有加密都是端到端的。差异决定了谁可以访问您的数据。

传输加密(TLS/SSL)

数据在您的设备和服务器之间加密。服务器在收到后解密它。这防止了传输过程中的窃听,但将数据留在服务器上可读。每个主要云服务都使用传输加密。这是基线,而非标准。

静止加密(服务器端)

服务器使用服务器管理的密钥加密存储的数据。这防止服务器硬件的物理盗窃,但不能防止服务提供商、其员工或针对提供商的法律请求。iCloud、Google Drive 和 Dropbox 都使用服务器端静止加密。提供商持有密钥。

端到端加密

数据在存储服务商收到之前,就已在授权终端上完成加密。可靠的设计让明文内容密钥不进入服务商的日常服务器端保管范围,因此仅存储遭到入侵,或有人依法索取存储内容时,得到的只是密文,而不是可读的照片。服务商仍可能提供密文和元数据、分发客户端软件,或运营恢复和共享系统,这些都必须纳入威胁模型。

加密模型 谁持有密钥 提供商可以读取数据? 防止提供商?
仅传输(TLS) 服务器 是 否
静止(服务器端) 服务器 是 否
端到端 授权终端或恢复凭证持有者 仅凭存储的密文无法读取 防止使用服务商持有的存储密钥读取内容
服务商无法读取内容的客户端加密 客户端及文档说明的恢复途径 按设计无法访问明文内容 保护内容;元数据和对客户端的信任问题仍然存在

照片存储服务如何处理加密

不同照片存储服务的加密模型差异显著。一些宣传"加密"而不指定模型,这可能会误导用户相信他们的照片是端到端加密的,而实际上并非如此。

iCloud 照片

Apple 使用传输加密和静止加密。Apple 默认持有加密密钥。有了有效的法律请求,Apple 可以提供 iCloud 照片数据。例外:Apple 的高级数据保护(ADP)自 2022 年 12 月起可用,为 iCloud 照片添加了端到端加密。必须在设置中明确启用 ADP。启用后,Apple 无法访问 iCloud 照片数据。大多数用户尚未启用 ADP。

Google Photos

Google 使用传输加密和使用服务器端密钥的静止加密。Google 持有所有 Google Photos 数据(包括锁定文件夹内容)的加密密钥。Google 可以遵从法律数据请求。Google 不为 Google Photos 提供端到端加密选项。

Dropbox

传输加密(TLS 1.2+)和静止加密(AES-256,Dropbox 管理密钥)。Dropbox 持有密钥,可以访问您的文件。Dropbox 曾遭受数据泄露(2012 年,6800 万账户)。Dropbox Vault(付费功能)增加了 PIN 保护,但不添加端到端加密。

OneDrive

Microsoft 使用传输加密和使用 Microsoft 管理密钥的静止加密。Microsoft 持有密钥。OneDrive 个人保险库增加了身份验证(2FA),但不添加端到端加密——Microsoft 仍然可以访问数据。对于企业客户,客户管理密钥是可用的。

Vaultaire

客户端加密,服务商不持有密钥。Vaultaire 在任何云端上传之前,就在设备上用 AES-256-GCM 加密照片和元数据。保险库数据由一个随机主密钥加密。由用户图案和设备盐值派生的本地保险库密钥负责封装这个主密钥,另一个由图案派生的备份密钥则保护私有 CloudKit 备份记录。Vaultaire 不运营内容服务器,也不接收这些密钥,因此无法把 CloudKit 记录还原成明文。App、iOS 和已解锁的设备仍在信任边界之内,依法提出的请求仍可获取相关服务商持有的账户或服务元数据。

服务 传输加密 静止加密 端到端加密 提供商可以访问
iCloud 照片(默认) 是 是(Apple 密钥) 否 是
iCloud 照片(已启用 ADP) 是 是 是 否
Google Photos 是 是(Google 密钥) 否 是
Dropbox 是 是(Dropbox 密钥) 否 是
OneDrive 是 是(Microsoft 密钥) 否 是
Vaultaire 是 是 客户端加密备份,默认开启 无明文内容密钥;CloudKit 元数据仍然存在

为什么端到端加密对照片很重要

照片是独特的敏感数据。它们包含面孔、位置(GPS 元数据)、时间戳和私人时刻的视觉记录。照片库的泄露暴露的个人信息比几乎任何其他数据类型都多。

数据泄露

服务商用服务器端密钥存储照片时,一旦存储和密钥管理途径同时被攻破,可读内容就可能泄露。在可靠的 E2EE 下,仅存储遭入侵只会泄露密文以及服务保留的元数据。终端被入侵、恢复凭证被盗、恶意客户端软件和密钥服务缺陷,仍是通往明文的其他途径。

法律和政府访问

服务商可能被要求提供其持有的记录。在 E2EE 下,这些记录可能包括密文、账户信息、访问日志、记录大小、时间和共享元数据,而不是可读的照片内容。请求能否触及设备、恢复方式、接收者或未来的客户端行为,是另一个法律和技术问题。

内部访问

能接触服务商所管理存储密钥的员工或攻击者,可能读取服务器端加密的内容。服务商不持有明文内容密钥时,E2EE 就切断了这条直接通过存储密钥读取的途径。但这并不意味着内部滥用绝无可能,因为服务商仍控制着客户端分发、账户状态、元数据、共享或恢复组件。

元数据保护

有些 E2EE 实现只加密文件内容,文件名和日期等元数据不受保护。Vaultaire 用 AES-256-GCM 认证加密保护文件头、MIME 类型、索引、缩略图和其他保险库元数据。存储的密文长度和加密索引文件的数量,仍可能向能访问 App 容器的人透露结构信息。

关于端到端加密的常见误解

"我的云存储已加密,所以我的照片是安全的。"服务器端加密防止外部攻击服务器硬件。它不能防止提供商本身、法律请求或内部威胁。提供商持有密钥。

"HTTPS 意味着我的照片是端到端加密的。"HTTPS(TLS)加密您的设备和服务器之间传输的数据。一旦数据到达服务器,就会被解密。HTTPS 是管道的加密,而非数据的加密。

"端到端加密意味着没有人能看到我的照片。"端到端加密意味着没有密钥的人无法看到您的照片。如果有人有您的密码或密钥,他们可以解密数据。密钥管理和强密码仍然至关重要。

"Apple/Google 无法看到我的照片。"默认情况下,两家公司都持有您云存储照片的加密密钥。Apple 提供高级数据保护作为选择加入。Google 根本不为 Google Photos 提供端到端加密选项。

Vaultaire 如何实现端到端加密

Vaultaire 使用分层端到端加密方法:

  1. AES-256-GCM 加密所有文件内容。每个文件获得唯一的初始化向量。认证加密检测篡改。
  2. PBKDF2 与 HMAC-SHA512 从用户绘制的图案和设备盐值派生本地保险库密钥。工作因子提高了每次离线猜测的成本,但不会增加图案本身的熵。该保险库密钥用于认证加密索引,并解开加密文件数据所用的随机主密钥。
  3. 元数据使用 AES-256-GCM 以认证加密保护文件名、日期、尺寸、索引和缩略图。
  4. iOS Keychain 和数据保护 保护设备盐值和加密的恢复数据库。保险库打开时,AES-GCM 运算和当前使用的对称密钥仍留在 App 进程中。
  5. 服务商密钥分离 指 Wraxle 不会收到明文的保险库密钥、主密钥、备份密钥或恢复密钥。CloudKit 备份(默认开启)、同步和共享存储的是密文记录和加密的密钥信封,而 Apple 仍可观察到服务元数据。Vaultaire 不需要 Vaultaire 身份账户。

Vaultaire 将恢复信息(包括图案)保存在存储于 iOS Keychain 的 AES-GCM 加密数据库中,不会写入明文文件,也不会发送到 Vaultaire 账户服务。如果可用的图案、恢复短语或已解锁的设备都不复存在,Vaultaire 也没有可以恢复访问的服务商恢复密钥。

常见问题

端到端加密合法吗?

各地对加密、强制访问和加密服务的法律规定不同,而且可能变化。本指南介绍的是技术模型,不构成法律建议。如果您的使用涉及边境检查、法院命令、受监管记录或其他高风险场景,请查阅当地现行法律。

执法部门能破解端到端加密吗?

攻击很少需要穷举整个 AES-256 密钥空间。审查人员可能会针对弱密码或弱图案、已解锁的终端、内存、恢复短语、接收者、备份或实现缺陷下手。正确实现、使用随机高熵密钥的 AES-256-GCM 能抵御直接的密钥搜索,但这只是系统的一部分。

端到端加密和零知识加密有什么区别?

E2EE 说的是明文在哪里加密和解密,以及谁持有可用的内容密钥。“零知识”常被用于宣传服务商无法读取内容的加密产品,但不应按字面理解:服务可能没有明文密钥,却仍能看到密文、账户数据、大小、时间、共享关系和其他元数据。请评估文档说明的密钥和恢复途径,而不是只看标签。

端到端加密会减慢我的手机速度吗?

现代设备借助系统加密库提供的硬件加速,可以高效处理 AES-256。在 iPhone 上,Vaultaire 通过 CryptoKit 在 App 进程内执行 AES-GCM。Apple 公开的 Secure Enclave API 并不是可用于文件加密的通用 AES-GCM 引擎。加密和解密的开销取决于文件大小和设备,但在设计上不会影响日常使用。

如果我丢失了加密密钥会怎样?

一旦失去所有可用的解密和恢复途径,加密数据就无法恢复。因此许多 E2EE 系统会使用恢复短语、受信任设备、恢复联系人、应急资料包或加密的密钥信封。这些机制保住了访问途径,但每一种也都成为安全模型的一部分。

总结

如果在上传前就在授权终端上完成加密,端到端加密可以切断存储服务商接触明文密钥的途径。这是一项实质性的保护,但并不能保证整个系统的安全。在把私密照片交给某项服务之前,请检查内容密钥的保管、恢复、元数据、客户端更新、终端安全和共享。

Vaultaire 在 iOS 上实现客户端加密。您的照片和保险库元数据在备份或同步前,就在设备上用 AES-256-GCM 加密。Vaultaire 不接收解密密钥,也不运营能把这些加密记录还原成照片的服务器。但这道服务商边界并不能让已被入侵或已解锁的 iPhone 变得可信。