我記得幾年前 (應該是 2002-2005 間),為了妥善保存自己在 Debian 上的各種工作資料,希望能夠用比較加密過的方法,將資料寫到光碟中。當時的想法是利用類似 cdbackupmcrypt 等工具,將資料以自訂的檔案格式與加密演算法存到光碟中。

這種方式有幾個好處。

  • 第一,由於格式完全自訂,並非 ISO/CDFS,因此一般電腦軟體是無法辨識解讀的。
  • 第二,即便 Image 被強取出來,還是要猜出所用得演算法與金鑰,才能解壓出原始檔案。
  • 第三,當時光碟平均儲存成本比硬碟低,可以多燒幾份異地備援。

壞處是,幾年前資料頂多幾百 Mb,備份燒錄進 CD or DVD 還沒有問題,但是現在媒體資料、程式碼等等幾乎都是動輒幾 G 以上,用光碟實在太慢、太麻煩了。而且這個方法不支援循序備份,每次都是完整備份。由於太慢、太麻煩,你可能幾天或幾周才做一次備份,偶爾備份間的空窗期就會漏掉重要資料。備份重點就是隨時有一份最新的重要工作文件的副本阿。另外一個問題是,沒有良好的備份紀錄管理工具 (archive viewer),所以你每次想查檔案就得重新解開整片光碟才能找到。

第三個問題是,光碟其實是非常不保險的儲存媒體。過個幾年,當時備份用的光碟,可能就變質而無法讀取。更糟糕的是自訂的格式,沒有考慮容錯 (Error detection and correction),所以更難從變質、損壞的 CD 中把資料取出來。若不幸,你買到一批塗料品質不佳的光碟片,或功率老化的光碟機,那幾年後才後悔都已經來不及了。

重新調查了新的備份方式,目前改用的其中一個方法是 duplicity,duplicity 有幾個特色符合我的需求

  • GnuPG 加密與簽章壓縮檔。
  • 支援循序備份,並用 rsync 來傳送備份檔案。
  • 備份檔中用標準的 tar 跟 rdiff 產生的 delta 檔。
  • 支援多種備份的網路檔案協定 – local file storage, scp/ssh, ftp, rsync, HSI, WebDAV, and Amazon S3

所以如果你願意的話,你可以花一點小錢,把已 PGP 加密過到檔案,傳到 S3 上做雲端備份。;-) 這樣就不用擔心一些線上備份服務 (Dropbox, Ubuntu One, SpiderOak),用一些曖昧不明的加密方式或根本不加密的方式儲存你的檔案。

預設使用方法很簡單,就是 duplicity /home file:///tmp/home 這樣即可使用。你若太懶,只是一般使用者不想下指令的話,也可以裝 Déjà Dup操作超簡單,只需滑鼠點點點就可以設定備份的目錄,跟要儲存的位置。還原也是利用視覺介面點選後,就可以解壓縮出來。

當然,技客如你,可能會需要複雜一點的手稿,來儲存各種不同分類的檔案,這裡僅分享一個我自己用得小 Script.

  • 大笨蛋

    Dropbox並沒有用曖昧不明的加密方法, 根據官方網站所示(https://www.dropbox.com/help/27), Dropbox就是用S3的服務, 傳輸透過SSL, 加密使用AES-256, 嗯, 除非你認為dropbox的官方說法不可信就是了。

  • @大笨蛋, Dropbox 並沒有描述誰擁有可以解密檔案的 AES-256 key, 而顯然擁有 key 的不是使用者,而是 Dropbox。這樣你可以相信自己的資料是安全的?

    並不是在說明文件提了一般人看不懂的編碼演算法就是安全的阿。

  • 大笨蛋

    我瞭解你的意思了,所以”把已經加密的資料”擺到dropbox上面就是個不錯的應用了. 就跟你說把用PGP加密過得資料擺到S3是同樣的道理。

    所以Joel提到的(http://www.joelonsoftware.com/items/2008/09/11b.html)把密碼管理軟體的database擺在dropbox上面異地sync, 真的不錯用。

    你提到的”金鑰在誰身上”我剛好在spideroak的網站上面看到他們的解釋(https://spideroak.com/engineering_matters#encryption_specifications)是並不是明文儲存在該server上, 而是會用user的密碼將金鑰再加密起來,所以只有知道user密碼的才能將該資料解密。
    我覺得每個網站都有試圖解釋”他們如何確保你得資料室安全的”但都不夠詳細到滿意吧.

  • Pingback: Rex's blah blah blah » 用 GnuPG/PGP 加密備份資料()