← 返回文章列表

使用 Cryptomator:为云存储提供零知识加密

随着云存储服务的普及,个人数据被存储在云端,带来了便利,但也引发了数据安全问题。云服务商理论上可以访问用户数据,即使进行了加密,服务商也可能拥有解密密钥。为了实现真正的零知识存储,需要在上传前进行本地加密。Cryptomator是一款开源的客户端加密软件,用于在上传到云存储之前对文件进行加密,支持主流云存储和多平台。它采用客户端加密、零知识架构和开源透明的方式,确保云服务商只能看到加密后的文件。Cryptomator使用现代加密算法保护数据,包括AES-256、Scrypt和GCM模式,并对文件名进行加密。用户可以创建Vault,设置密码,解锁Vault,并自动同步加密后的文件。

#云存储#加密#安全性

一、为什么需要云端加密

随着云存储服务的普及,越来越多的个人数据被存储在云端。

云存储带来了极大的便利:

  • 多设备同步
  • 自动备份
  • 随时访问

但与此同时,也带来了一个关键问题:

云服务商理论上可以访问你的数据。

即使服务商声称进行了加密,这通常也是:

服务器端加密(Server-side encryption)

这意味着:

  • 服务商拥有解密密钥
  • 在某些情况下数据可能被访问

如果你希望实现真正的:

零知识(Zero-Knowledge)存储

就需要在上传前进行本地加密这正是 Cryptomator 的用途。

二、什么是 Cryptomator

Cryptomator 是一款开源的客户端加密软件,用于在上传到云存储之前对文件进行加密。

其核心特点包括:

  • 客户端加密(Client-side encryption)
  • 零知识架构(Zero-knowledge)
  • 开源透明
  • 支持主流云存储

支持平台:

  • Windows
  • macOS
  • Linux
  • iOS
  • Android

支持的云存储:

  • iCloud Drive
  • Google Drive
  • Dropbox
  • OneDrive
  • WebDAV

Cryptomator 本身并不提供云存储服务,而是作为:

云存储的安全层(Security Layer)

三、Cryptomator 的工作原理

Cryptomator 的核心思路非常简单:

在本地创建一个“保险库(Vault)”。

所有文件在进入保险库时都会被自动加密。

基本流程如下:

明文文件
     ↓
本地加密(AES)
     ↓
密文文件
     ↓
上传到云存储

当用户访问文件时:

云端密文
     ↓
下载到本地
     ↓
即时解密
     ↓
用户读取明文

关键点在于:

云服务商始终只能看到加密后的文件。

四、文件加密方式

Cryptomator 使用现代加密算法保护数据:

主要包括:

  • AES-256:文件内容加密
  • Scrypt:密钥派生
  • GCM 模式:认证加密

此外,Cryptomator 还做了一件非常重要的事情:

文件名加密

普通加密软件通常只加密文件内容,而文件名仍然暴露。

Cryptomator 会把:

photo.jpg

转换为类似:

AB/CD/EFG234ADF...

这样云端无法知道:

  • 文件类型
  • 文件结构
  • 文件名称

五、目录结构设计

Cryptomator 并不是将所有数据打包为一个大型容器。相反,它采用:逐文件加密(per-file encryption)

优点包括:

  • 支持云同步
  • 修改一个文件只需同步该文件
  • 避免整库重新上传

典型的 vault 结构如下:

vault/
 ├─ d/
 │   ├─ AB/
 │   │   └─ encrypted-file
 ├─ m/
 └─ masterkey.cryptomator

其中:

  • masterkey.cryptomator 保存加密配置
  • d/ 存储加密后的数据块

六、使用流程

使用 Cryptomator 的基本步骤如下:

1 创建 Vault

选择云存储目录,例如:

iCloud Drive/CryptomatorVault

创建新的 Vault。

2 设置密码

用户需要设置一个主密码。

注意:

如果忘记密码,数据将无法恢复。

Cryptomator 不保存任何恢复密钥。

3 解锁 Vault

解锁后,系统会挂载一个虚拟磁盘。用户可以像普通文件夹一样操作:

  • 新建文件
  • 修改文件
  • 删除文件

4 自动同步

文件会自动:

本地加密 → 云端同步

整个过程用户几乎感知不到。

七、我的使用场景

我将加密的文件存在我的 nas 上,fnOS 支持使用 webDAV 访问文件。通过 WireGuard 访问解密后的文件,整体体验很不错。