跳转到内容
HexaTransfer
返回博客
加密与安全

文件加密与磁盘加密:核心差异解析

理解文件级加密与磁盘级加密的核心差异,为你的需求选择合适的数据保护策略。

磁盘加密(Windows 上的 BitLocker、macOS 上的 FileVault 2、Linux 上的 LUKS/dm-crypt、iOS 上的 APFS)使用启动时解锁的单一密钥保护整个驱动器——一旦登录,每个文件都可以被每个运行中的进程访问。文件加密(age、7-Zip AES-256、GPG、Cryptomator)使用每文件独立密钥保护单个文件,即使在登录后这些文件仍保持锁定状态。磁盘加密抵御的是被盗的笔记本电脑;文件加密抵御的是恶意软件、窥视的同事和云同步服务商。对于大多数安全态势,两者都需要——它们解决不同的问题,且可以完美组合。

磁盘加密的实际工作原理

BitLocker 对整个卷使用 AES-XTS-256 加密。卷主密钥(VMK)加密完整卷加密密钥(FVEK);VMK 本身由 TPM 密封测量值以及可选的 PIN 或恢复密钥保护。在启动时,TPM 验证启动路径(UEFI、引导加载程序、内核),释放 VMK,VMK 解锁 FVEK,FVEK 实时解密磁盘读取操作。FileVault 2 工作方式类似,由 T2/M 系列安全隔区持有密钥。LUKS 使用带 Argon2id 密钥派生的 LUKS2 格式。一旦卷被挂载,磁盘上的每个文件都可以被已登录的用户以及以该用户身份运行的每个进程访问。

文件加密的实际工作原理

文件加密将每个文件(或每个压缩包)视为具有独立密钥的独立密文。放在未锁定、已解密磁盘上的受 AES-256 保护的 .7z 文件,在磁盘处于开放状态时仍保持加密状态。桌面上经过 GPG 加密的 .pdf,在没有私钥的情况下仍无法读取。工具从压缩包式(7-Zip、WinRAR、age -p)到透明挂载式(Cryptomator、gocryptfs、EncFS)再到单文件式(age、GPG、openssl enc)各不相同。每个文件的密钥可以不同——每个收件人的公钥、每个文件用密码包装的随机密钥,或者通过 scrypt 从文件夹密码派生的密钥。

各自防御的威胁类型

磁盘加密防御物理盗窃。笔记本电脑被从咖啡馆盗走,硬盘从退役服务器中拔出,平板电脑在边境被扣押。没有启动凭证,磁盘就是一块砖头。文件加密防御开机后的威胁。使用你未锁定工作站的同事无法读取加密的工资单。以你用户身份运行的恶意软件无法窃取加密的机密文件。云同步服务商无法读取同步前加密的文件。向云服务商发出的传票只能得到密文。这两类威胁是正交的;磁盘加密对第二类无能为力,文件加密对第一类无能为力。

性能特征对比

磁盘加密在现代 CPU 上几乎没有性能开销。Intel 的 AES-NI 和 ARM 的加密扩展以内存带宽速度处理 AES-XTS——体面的笔记本电脑可达每秒 5 GB 以上。你永远不会注意到 BitLocker 或 FileVault 的存在。文件加密的开销因使用方式而异:7-Zip 在每次保存时重新加密整个压缩包,对于大文件来说很慢;Cryptomator 的每文件 AES-GCM 速度够快,体感透明;GPG 公钥操作无论文件大小都只需毫秒级时间,因为只有会话密钥使用 RSA/ECC。对于云同步,文件加密是唯一可行的模型——磁盘加密对于上传明文没有任何帮助。

粒度与选择性访问控制

磁盘加密是全有或全无。任何拥有启动凭证的人都能读取每个文件。多用户系统需要每用户磁盘加密(Windows 上的 EFS 或分层文件系统)来为不同用户提供不同视图——实践中很少部署。文件加密提供每文件、每收件人的访问控制。向 Alice 发送一个在她的公钥下加密的文件;她用私钥解密;坐在她旁边持有自己密钥的 Bob,即便在同一台机器上也无法读取。这对于共享笔记本电脑、自助终端系统以及任何多人需要查看同一存储的不同部分的场景都很重要。

密码丢失后的恢复

磁盘加密凭证丢失通常意味着数据丢失。BitLocker 有一个 48 位数字的恢复密钥,Microsoft 默认存储在你的账户中(安全权衡:他们可能将其移交给执法部门)。FileVault 使用 iCloud 恢复或本地恢复密钥。LUKS 提供多个密钥槽,因此备用口令短语可以工作。文件加密工具各不相同:GPG 在私钥丢失时没有恢复机制——这是刻意的设计选择。Cryptomator 没有主恢复机制。没有密码的 7-Zip 压缩包是永久密文。教训:对于文件加密,在密码管理器中备份密钥,并将恢复码保存在离线位置。

如何组合使用

实践中的部署方案是在每台设备(笔记本、手机、备份驱动器)上使用磁盘加密,同时对任何离开设备的敏感内容使用文件加密。放在 Dropbox 文件夹中的纳税申报 .pdf,在 Dropbox 同步之前用 age 或 Cryptomator 加密——该文件在你的磁盘(FileVault 层)和 Dropbox(客户端加密层)上都是密文。盗窃你笔记本的人无法读取(磁盘层),Dropbox 无法读取(文件层),以你身份运行的恶意软件无法窃取可读副本(文件层)。各层相互加强。

云服务的相关考量

云存储和备份服务通常以"静态加密"为卖点,指的是其服务器上的磁盘加密。服务商持有密钥。这可以防止小偷盗取他们的磁盘,但不能防止服务商本身。要使用不让服务商介入的客户端加密,你需要在上传前进行文件加密。Dropbox、Google Drive、iCloud 都进行静态加密但持有密钥;Apple 的高级数据保护(2022 年推出)使大多数文件类型的 iCloud 变为客户端加密。普通 iCloud、OneDrive 和 Dropbox 不提供这一保护。如果你的威胁模型包括云服务商,文件加密是必须的。

两者的监管处理

HIPAA 164.312(a)(2)(iv) 将加密视为可寻址措施——磁盘加密和文件加密都符合条件,但仅有磁盘加密会在机器启动后使 PHI 可读,这不符合 164.308(a)(4) 的访问控制要求。PCI DSS 4.0 要求 3.5.1 规定 PAN 在任何存储地点都必须不可读;文件级加密配合令牌化是标准模式,因为磁盘加密不能满足粒度访问控制要求。GDPR 第 32 条接受任何一种作为"适当技术措施",取决于风险。CCPA 1798.150 安全港适用于任何一种,只要密钥没有与数据同时遭到泄露。

文件传输服务提供的保护

HexaTransfer 及类似的 E2EE 文件传输服务提供一种特定类型的文件加密——每次传输使用独立的随机密钥,通过 URL 片段共享。这不是磁盘加密(无法保护你的笔记本),也不是持久文件加密(下载后文件即消失)。这是传输阶段的文件加密:保护这次特定传输不被服务商、网络和云服务商看到,然后自毁。对于永久存储,应在归档前配合 age、Cryptomator 等持久文件加密工具使用。不同的问题,不同的工具。

在 hexatransfer.com 上试试 — 免费、无需注册、最多 10 GB。

通过端到端加密安全发送大文件

通过端到端加密免费传输最大10GB的文件。无需注册账户。文件在上传前在浏览器中加密,其他人无法读取。

发送文件