6 min read

如何用 Cryptomator 製作雲端安全資料夾

繼續使用一般的雲端硬碟服務,像 Google Drive、Dropbox、iCloud Drive、OneDrive 之類,但另外用一個客戶端來做資料的自動加解密。這等於是在一般的雲端硬碟裡開一個虛擬磁碟的概念。
如何用 Cryptomator 製作雲端安全資料夾
Photo by Towfiqu barbhuiya / Unsplash

上一篇我們談到資料維護的三個面向,裡面說到端到端加密是維護資料安全與資料隱私的好方法。所謂端到端指的是用戶端到用戶端,所以端到端加密指的是資料在從用戶端傳出去之前就已經用密鑰加密,經過伺服器端轉送與儲存之後,到了另一個用戶端(可能是別人的裝置也可能是自己的裝置),再由用戶提供密鑰解密。因為沒有密鑰就沒辦法解密已加密的資料,而只有用戶有密鑰,所以這可以防止用戶的資料在傳送過程中被惡意攔截、讀取或甚至更改,也可以避免被服務商窺探內容。這一次解決了資料安全與資料隱私兩大問題。

簡單來講,端到端加密就像是你把檔案壓縮並加上密碼之後,傳給另一個裝置,然後在那個裝置上把檔案解密、解壓縮。

但是端到端加密並不是大多數服務都有實作。事實上,有端到端加密的服務可以說是相當少數,主要集中在訊息軟體界。其它像是雲端筆記、雲端硬碟或雲端相簿等等的服務,大多都沒有端到端加密。即使是號稱最重視隱私的 Apple,也只有部分內容是端到端加密的。

所以寫完前文之後,我就想再研究一下有沒有端到端加密的雲端硬碟服務。我雖然有找到一些,但在 Reddit 的一則留言說得很好:我們並沒有辦法確定這些服務真的是端到端加密,所以使用這些服務只是基於信任而已。更好的解決方案有兩種:

  1. 同時掌握伺服器端與用戶端。
  2. 使用只有客戶端沒有伺服器端的加解密軟體。

第一種就是 Nextcloud 或一些個人雲產品。Nextcloud 是自架伺服器方案,並且採用端到端加密,所以安全性非常高。個人雲產品(NAS)不一定有端到端加密,但是可以搭配 VPN 等技術來使整個連線過程加密,從而達到類似端到端加密的效果。

這種做法的自訂性最高,但也因此需要更多的錢與精力去建構與維護。一台 NAS 可能就要上萬,如果要維持它運作穩定性的話還要考慮到家中電源與數據機的穩定性,所以也許需要一台不斷電系統之類的。這還沒討論到備份問題與網路頻寬與響應時間問題。

第二種方法是繼續使用一般的雲端硬碟服務,像 Google Drive、Dropbox、iCloud Drive、OneDrive 之類,但另外用一個客戶端來做資料的自動加解密。

這等於是在一般的雲端硬碟裡開一個虛擬磁碟的概念。在三星的手機系統裡有一個很方便的功能,叫做「安全資料夾」,可以用一個密碼鎖起來,讓裡面的資料與程式完全沒辦法被外面的系統、應用程式與使用者存取。這也就是雲端版的安全資料夾。

這類軟體我知道的有 Cryptomator 與 Boxcryptor。兩者功能差不多,本文會用前者來當例子,主要是因為它是開源軟體,比較不用擔心如果公司倒了,會不會就找不到軟體來解密自己的資料的問題。

步驟一:準備好雲端空間

前面提到的幾個雲端空間都可以,沒有帳號的話就去申請一個。

步驟二:安裝 Cryptomator

官網下載客戶端安裝。

步驟三:製作加密檔案庫(安全資料夾)

找到新增加密檔案庫的選項,並跟著步驟走。它會帶你命名檔案庫、選擇雲端服務並建立密碼。

依照不同的裝置,有可能需要去安裝該雲端服務的 app,也有可能不需要。比如在 iOS 上要用 iCloud Drive 的話就要在系統偏好設定裡登入 iCloud,但要用 Dropbox 的話就不用,因為 Cryptomator 的 app 可以直接連到 Dropbox 伺服器去存取檔案。但如果在 Windows 上的話,就一樣要安裝 Dropbox 程式。

這個密碼只有在檔案庫解鎖期間會存在 app 裡,以避免每個打開資料夾或存取檔案的動作都要輸入密碼。一旦檔案庫上鎖,app 就不會持有密碼。

不過依據作業系統的不同,在 app 裡可以選擇把密碼存到系統的密碼庫裡。比如說在 iOS 上可以用 Face ID,Windows 也可以存到系統密碼庫等等。

不管怎樣,這個密碼都要記好,因為 Cryptomator 官方都不會有妳的密碼,沒有寄 email 恢復密碼的功能。

步驟四:啟用加密檔案庫

在 iOS 中,就是到「檔案」app 裡去編輯「位置」,把 Cryptomator 的開關打開。

在 Windows 裡,則是在 Cryptomator 程式裡解鎖檔案庫,檔案庫就會以一個磁碟的型態出現在「我的電腦」裡。

步驟五:無腦使用!

不⋯其實沒那麼無腦,因為它有一些討人厭的限制在。

比如說,我沒辦法在 iOS 上把 Ulysses 資料庫放在加密檔案庫裡。

比如說,它不支援 iOS 的「套件」格式(偽裝成一個檔案的資料夾),而這包括了很多類型的專案檔。

而在 iOS 上,妳也不可能把 app 拖進加密檔案庫裡,雖然熟悉 iOS 的用戶大概都不會在意這點——iOS 的 app 本來就沒辦法當成檔案來操作。不過,這也代表沒有辦法隔絕某個 app 的資料。這點真的沒辦法,太多好的 iOS app 都太依賴 iCloud 了。

所以,這個加密檔案庫,或者說安全資料夾,主要是可以存一般常見的文件、圖片、影片等資料沒有問題,但還沒辦法做到類似三星安全資料夾,那種可以把整個 app 跟資料都鎖起來的程度。這部分要靠的是作業系統的支援,而不是單單一個 app 可以做到的事。