使用 Cryptomator 在云端安全地存储机密数据
TL;DR:如果您有一些数据需要安全地存储在您的云文件夹(OneDrive、Google Drive、Dropbox 等)中,请直接跳转到Cryptomator 设置。
尽管我是一名软件工程师,深知备份和恢复流程的重要性,也一直坚持备份工作相关的文件(例如源代码、数据库等),但我个人文件的备份却一直做得不够好。大约十年前,我用光盘做了一些备份,后来把“重要”的文件转移到了云端(最初是 Dropbox,后来是 OneDrive,最后是 Google Drive),但备份工作一直断断续续,杂乱无章。更糟糕的是,很多文件只是在更换电脑时从旧硬盘转移到新硬盘,而没有做任何备份。
最近,我终于下定决心整理一下文件,删除了所有不必要的杂乱文件,并将剩余的文件归档到云端。然而,我还有一些必须保留的文件和合同,但我并不放心让它们仅仅躺在云端文件夹里,即便云服务提供商看起来再可靠、再安全。我倒不是担心云服务遭到攻击,而是担心有人通过更常见的手段,比如社交工程,盗取我的账户。我正在寻找一种方法,在不需要访问数据时,可以设置密码保护。
端到端加密(E2EE)
简单来说,这意味着您的所有数据在离开您的设备(无论是台式机、笔记本电脑还是智能手机)之前都会使用某种密码/密钥进行加密,传输和存储过程都是加密的,只有当您使用相同的密码/密钥将其下载回设备后才能解密。因此,即使有人获得了云端加密版本的访问权限,也只有拥有密码/密钥的人才能读取这些数据。当然,这并不能保护您免受能够访问您设备的人的侵害,但这又是另一个话题了。
请参阅维基百科上的 E2EE 相关内容或在谷歌上搜索,以获得更完整、更准确的解释。我考虑过几种在云端存储机密文件的方案:
VeraCrypt
VeraCrypt基于 TrueCrypt,允许您创建一个加密容器/分区,然后您可以将其连接为本地驱动器,并在其中存储数据,就像使用普通磁盘一样。虽然这在本地速度很快,而且非常方便,但问题在于容器只是一个单独的文件(例如 1 GB),对其的任何更改都会导致一次完整的同步事件——显然,每次更新容器内的单个文件时都要上传整个容器,效率非常低下。
E2EE 云存储提供商
有些服务商似乎通过将端到端加密 (E2EE) 作为其存储服务的一部分来解决我的担忧,例如Tresorit和MEGA。但是,如果还有其他更便宜(甚至免费)的方案可以与我现有的云服务商配合使用,我其实并不需要那么大的存储空间来为此付费。
Boxcryptor
Boxcryptor看起来很有意思,它会在你的设备上进行加密,并将加密后的文件存储在你正在使用的云存储服务(Dropbox、OneDrive 等)的本地同步文件夹中。但是,有几点让我犹豫不决:
- 安装过程中,您需要接受一份德语的数据隐私许可/合同。我并不是说我会完整阅读所有软件安装过程中需要接受的许可协议,但我至少希望能够在不懂德语或依赖机器翻译的情况下完成阅读。我知道也不是每个人都懂英语,但他们也不会阅读这篇文章 :)
- 尽管有免费版本,但你仍然需要注册和登录。我不明白为什么需要这样做,老实说,我也不想去弄明白。
加密器
与 Boxcryptor 类似,Cryptomator会将加密文件存储在本地云文件夹(或者任何文件夹,如果您仍然喜欢使用软盘,也可以使用软盘)中的所谓“保险库”里。它完全符合我的需求:
- 文件是单独存储的,所以只需要同步已更改/添加/删除的文件,而无需同步整个库。
- 客户端:无需账户,不与任何在线服务共享数据。
- 采用256位密钥长度的AES加密
- 文件名会被加密,文件夹结构会被混淆。
- 无限数量的保险库,每个保险库都有单独的密码。
- 金库的大小是灵活的(不像 VeraCrypt 那样可以增长但不能缩小),仅受底层存储大小的限制,开销微乎其微。
坦白说,我遇到一个问题,而且根据你的工作方式,这个问题可能会对你造成相当大的影响。对于某些程序来说,使用这个外接硬盘并不完全顺畅——它们似乎无法直接从硬盘打开文件。例如,我可以在 Acrobat Reader 中打开 PDF 文件,但在 Edge 中却不行。或者,视频无法在 PotPlayer 中播放。我目前还没有发现明显的规律,但我认为这与该程序的文件操作实现方式有关。我需要在项目的 GitHub 上提交一个 issue,但就目前而言,就我的使用场景来说,我可以接受这个限制。
设置 Cryptomator
设置过程很简单,但目前该应用程序的用户体验不太好,尤其是对于首次使用的用户而言,所以这里提供一些建议:
- 从cryptomator.org下载并安装
- 启动应用程序后,您会看到以下窗口:
-
点击加号按钮,然后选择“创建新保险库”。
-
浏览到要创建保险库的文件夹(例如 OneDrive 文件夹),并输入保险库的名称(例如 _Confidential)——这将是 Cryptomator 在当前目录中为您创建的文件夹的名称。
-
点击保存后,系统会提示您为保险库创建密码。密码应该足够强(长且复杂),因为如果有人获取了您的加密数据,他们有充足的时间尝试暴力破解(使用字典攻击和其他技术)。网上有很多关于如何创建此类密码的指南。顺便一提,如果您愿意,也可以使用密码管理器。
-
创建保险库后,您可以选择如何使用它,最重要的是选择是否将密码保存在本地并自动解锁(仅当您对设备的安全性有信心时才选择此选项),或者选择每次都手动输入密码解锁。后者可能更安全,具体取决于您的情况,例如您是否信任所有可以访问您电脑的人。
-
现在您只需打开 Cryptomator 驱动器,复制文件,为了确保万无一失,您可以查看保险库中的加密数据。
请记住,您不能直接将文件复制到保险库(例如 OneDrive)——它们不会自动加密。您始终需要使用未锁定的保险库,即 Cryptomator 为您连接的网络文件夹。
好了,从现在开始,只需少量前期投入和持续维护,您的机密文件就能更加安全。Cryptomator 支持所有主流平台——Windows、Linux、macOS、Android 和 iOS,因此您甚至可以在其他设备上访问这些文件,它们会通过您的云服务提供商自动同步。我个人还会研究一下,万一某个云服务提供商的数据因某种原因丢失,如何将数据自动备份到另一个云存储服务。
上述所有方法都存在一些问题,例如性能、易用性、价格等等。最终选择哪种方法(如果有的话)取决于您自己,但为了您好,至少采取一些预防措施;防患于未然总是好的。请记住:
文章来源:https://dev.to/ivan/storing-confidential-data-in-the-cloud-securely-with-cryptomator-5ai“你疑神疑鬼并不代表他们就没在追杀你。”
——约瑟夫·海勒,《第二十二条军规》

