客户端端到端加密 —— 为什么云盘内置加密不够用
两种加密,区别在于谁握有密钥
加密云存储有两种主流做法,理解它们的区别是判断 Cryptomator 值不值得用的关键。
云盘内置加密(Server-Side Encryption)
Dropbox / Google Drive / OneDrive 都在服务端对你的文件加密。密钥握在云服务商手里——它需要用密钥才能为你解密和呈现文件。一旦:
- 云盘被拖库,密钥和密文一起泄露;
- 云服务商接到传票必须配合;
- 云盘内部有人滥用权限;
你的文件会被原样读出来。你信任的是云服务商的道德、制度和法律义务。
客户端端到端加密(Client-Side Encryption)
Cryptomator 的做法。文件在你的电脑上、在加密之后才离开设备、才被云盘软件同步。云服务商全程只看到一串密文 5TyvCyF255sRtfrIv...83ucADQ==.c9r 和混淆后的目录结构。
密钥从来不出你的设备——它由你的密码 + scrypt 派生,存在保险库目录里的 masterkey.cryptomator 文件里(但这个文件自己也被加密过,只有用密码才能解开)。云服务商拿不到密钥,Skymatic 也拿不到,任何人看你的云盘目录都是一堆看不懂的随机字符。
这才是"只给自己看"的真正含义。加密必须在客户端完成,而不是在服务端。
Cryptomator 的三层加密
Cryptomator 不仅仅加密文件内容,它还加密了你可能没意识到会泄露隐私的东西:
1. 文件内容加密
每个文件独立用 AES-256-GCM(或 SIV_GCM)加密,带认证标签(authentication tag),云盘里被篡改或损坏会被即时发现。
2. 文件名加密
不是只加密 budget.xlsx 的内容——文件名本身也加密成一串 Base64 风格的字符。云服务商看到的是 5TyvCyF255sRtfrIv...83ucADQ==.c9r,根本不知道它是什么文件。
3. 目录结构混淆
工作项目/2024年预算.xlsx 这种路径层级也被打散。真实的密文目录看起来是这样的:
d/
├─ BZ/
│ └─ R4VZSS5PEF7TU3PMFIMON5GJRNBDWA/
│ ├─ dirId.c9r
│ ├─ 5TyvCyF255sRtfrIv...83ucADQ==.c9r
│ └─ FHTa55bH*sUfVDbEb0gTL9hZ8nho.c9r
没有任何一个目录名或文件名能让云服务商猜到你的文件是什么。这一点是很多其他加密工具做不到的。
三种挂载方式,加密全程只在本机进行
解锁保险库之后,Cryptomator 要把"解密视图"呈现给你的文件管理器用。目前支持三种前端:
| 前端 | 操作系统 | 需要驱动 | 说明 |
|---|---|---|---|
| WinFsp | Windows | 是(EXE 安装包已内置) | 原生文件系统接口,性能最好 |
| macFUSE / FUSE-T | macOS | 是(Intel 用 macFUSE, Apple Silicon 用 FUSE-T) | 原生 FUSE 接口 |
| FUSE | Linux | 是(几乎所有发行版自带) | 原生 FUSE 接口 |
| WebDAV | 全部 | 不需要 | HTTP 本地回路兜底,任何系统都能用但性能略差 |
但无论用哪种挂载,解密都只在你的设备上完成。Cryptomator 会在本地开一个小的文件系统层,你的文件管理器通过虚拟盘读写时,Cryptomator 实时做加解密——解密状态只存在于 RAM,硬盘上永远只有密文。
进一步了解这种加密架构可以看 保险库格式8规范 和 虚拟盘挂载原理。
对比其他工具
| 特性 | Cryptomator | VeraCrypt | rclone |
|---|---|---|---|
| 加密层级 | 文件级 + 文件名 + 目录结构 | 整磁盘/容器 | 文件级(可选) |
| 虚拟盘 | 支持(WinFsp/FUSE/WebDAV) | 支持(自身驱动) | 支持(HTTP/WebDAV/FUSE) |
| 云盘原生集成 | 移动端有 | 没有 | 很全(Rclone Mount) |
| 跨平台 | 桌面 + 移动端 | 桌面 | 命令行 |
| Recovery Key 找回 | 有(12 词) | 没有 | 没有 |
| 团队权限 | Hub 版本 | 没有 | 没有 |
简单说:Cryptomator 是为云盘同步量身定做的文件级加密方案;VeraCrypt 是本地整盘加密;rclone 是带加密的云盘同步工具。三者不互斥——很多人用 Cryptomator 加密云盘 + rclone 做多源同步。
安全与开源
Cryptomator 的安全承诺基于三个公开事实:
- GPLv3 开源,所有代码在 GitHub 公开,任何人可以审计。
- 独立安全审计已由专业机构完成,报告公开。
- 持续自动化测试,代码质量和测试覆盖率高于行业平均。
它不是一种"自己发明算法"的小众加密工具——全部使用经过学术和工业界检验的成熟加密原语(AES-256、scrypt、AES Key Wrap)。信任链清晰:你信任这些成熟的加密原语 + 你自己设置的密码 = 足够了。