如何在網路上存取你的資料,保證不被洩露

在進入正題之前,先稍微做一下名詞解釋。“網盤”就不用解釋了吧?大夥兒應該都明白。“加密盤”這個概念,技術菜鳥可能沒聽過,俺稍微解釋一下。

磁碟加密有兩種常見的型別:物理加密盤 和 虛擬加密盤。下面分別介紹。

◇物理加密盤

磁碟加密工具直接對你的某個分割槽(或整個硬碟)進行加密。加密之後,該分割槽(或硬碟)上儲存的資料全部變成密文。即使有人盜取你的硬碟,也無法讀取其中儲存的資料。

◇虛擬加密盤

加密工具先建立一個虛擬分割槽。這個虛擬分割槽其實對應於物理硬碟上的一個大檔案(以下稱“卷檔案”)。你建立的虛擬分割槽有多大,這個“卷檔案”就有多大。然後捏,加密工具可以掛載(Mount)該檔案,掛載之後,你的系統會多出一個碟符。給你的感覺就好象多了一塊硬碟(虛擬硬碟)。你存放到這個虛擬硬碟上的資料,都自動被加密。

◇優缺點對比

“虛擬加密盤”的優點 和 “物理加密盤”的缺點

主要就是便於備份。因為“虛擬加密盤”說白了就是一個大檔案,你只要把這個大檔案 copy 到其它地方,就相當於完成了虛擬盤的備份。

而“物理加密盤”要備份,就相對麻煩一些。你需要使用專門的磁碟備份工具(比如 Ghost)

“物理加密盤”的優點 和 “虛擬加密盤”的缺點

對於作業系統的系統分割槽,只能採用“物理加密盤”的方式,而無法採用“虛擬加密盤”的方式。

★“加密盤”搭配“網盤”的好處

所謂的“加密盤搭配網盤”,其實說來很簡單,就是找一個帶同步功能的網盤。然後把你本地的加密盤檔案同步到網盤上(再囉嗦一下:是同步加密盤的“卷檔案”本身,而不是加密盤裡面的檔案)。這麼幹有如下幾個好處

◇優點之一:“保密性”

這個好處是最明顯的。因為你同步到網盤的是“加密盤檔案”,別人很難偷窺你上傳的資料。至少可以防止如下幾種情況。

1。 防止網盤提供商偷窺

大夥兒千萬不要相信網盤提供商,美國的網盤提供商會被 NSA(美國國安局)偷窺,中國的網盤提供商會被**偷窺(**工程)。

2。 防止上傳過程的網路監視

除了網盤提供商的風險,還有資料傳輸過程的風險。因為有些網盤在同步的時候,沒有進行加密傳輸(比如某些國內網盤)。在這種情況下,一旦有人對你的網路傳輸流量進行監控(術語叫“嗅探”),就有可能拿到你同步的所有檔案。

3。 防止網盤被入侵

即使網盤帳號被盜,入侵者拿到的也只是加密盤——看不到你原始的資料。

不要以為網盤的密碼複雜了,就不會被盜。有些時候不是你的密碼出問題,而是網盤提供商出問題。即使是大名鼎鼎的 Dropbox 也曾經出現過嚴重的安全問題(2011年,Dropbox曝出安全漏洞:任意密碼均可登入)

◇優點之二:“可用性”

這個好處也很明顯,因為你使用了網盤,提高了資料的“可用性”。即使你電腦的硬碟壞了、家中失火了、家中被盜了、遭遇地震了,都不用怕資料丟失。

◇優點之三:降低對“雲端應用”的依賴

有些同學看到這個小標題,可能會感到奇怪並反問——“網盤”不也屬於雲端嗎?彆著急,請聽俺細細道來。

就拿2013年7月初剛剛關閉的 Google Reader 來說事兒。

俺的讀者中有很多 GR 的重度使用者,他們不光用 GR 來閱讀部落格,而且用 GR 來儲存自己喜歡的文章——每當看到一篇好文章,就“加星”。也就是說,這些同學不光拿 GR 當閱讀器,而且拿 GR 當資料庫。一旦 GR 關閉,那可就麻煩啦!

再來說說俺的做法。

俺也是 GR 的重度使用者,但是俺不依賴 GR 的“加星”功能。每次看到一篇好文章,俺會把文章的內容(包括內嵌圖片)都複製到本地的資料庫。這個資料庫存放在“虛擬加密盤”,然後俺把“虛擬加密盤”同步到某個網盤上。

這麼做的主要好處是:你個人的資料還是放在本地而不是雲端,網盤只是用來備份。所以 GR 關閉不影響俺收藏的文章。另外,即使俺用的網盤倒閉了,也只需要另外註冊一個免費的網盤,然後重新同步一下加密盤。整個過程很簡單,點幾下滑鼠就搞定了。

★磁碟加密軟體的選擇

在《關於軟體和服務的選擇》一文中,俺提到商業公司和非營利組織的差異,也提到開源軟體和閉源軟體的差異。那篇文章提到的原則也適用於磁碟加密工具的選型。比如10年俺用的是 PGPdisk,前幾年就改用 TrueCrypt。因為 PGP 是商業公司(已經被 Symantec 收購),而 TrueCrypt 是開源組織維護的。

到目前為止,TrueCrypt 是最靠譜的磁碟加密工具。這玩意兒不光功能齊全,而且應用很廣;當然最重要還是它的堅固性——據說美國 FBI 碰到嫌犯使用的 TrueCrypt 加密盤也束手無策。

關於 TrueCrypt,俺在前幾個月寫過一篇介紹

★網盤的選擇

◇容量

顯然,免費空間越大越好。這個無需多解釋。

維基百科上有一個網盤對比清單,裡面列出不同網盤的免費空間大小。

◇網速

通常來說,提供網盤的公司,伺服器速度都不會慢。但是**是一個奇葩的國家,G把牆外的很多網盤都給封了。

如果你要用網盤來同步“加密盤”,考慮到加密盤都比較大(通常都是 GB 級別),你要麼使用牆內的網盤,要麼使用牆外尚未被封的網盤。

◇單檔案大小上限

很多網盤都會限制單個檔案的大小上限。詳情請看上述網盤對比清單中的 “Maximum per-file size” 這一列。

使用本文的方案,你最好找一個檔案大小無上限的網盤。

如果你使用的網盤有檔案大小上限,並且該上限小於你的加密盤“卷檔案”,那在同步之前還得先分割“卷檔案”,太麻煩了(如何分割加密盤的卷檔案,待會兒介紹)。

◇是否支援(位元組級)差異同步

帶同步功能的網盤,幾乎都支援檔案級的差異同步(只上傳修改過的檔案)。但很多都不支援“位元組級”的差異同步。

採用這種同步方式,網盤客戶端會分析某個檔案被修改的部分,然後只上傳修改過的那些位元組。這裡面用到一種技術叫“差分編碼”(洋文叫“Delta Encoding”),有興趣的同學可以看維基百科

對於本文介紹的招數,位元組一級的差異同步很重要。剛才說了,“卷檔案”通常比較大(GB 級別)。如果網盤客戶端不支援“差分編碼”,每次修改過加密盤裡面的內容,就需要把整個“卷檔案”上傳,(時間和流量)太不划算啦。

在知名的網盤中,Dropbox 可能是最早實現“位元組級差異同步”的。因為這玩意兒太技術化,很多網盤的介紹資料都沒有提及。所以俺也不太清楚哪些網盤支援“位元組級差異同步”,哪些網盤不支援。

如果你想知道自己使用的網盤是否支援,可以做個小測試。假如你手頭已經有一個加密盤(至少是上百兆的),先把加密盤的“卷檔案”同步到網盤。然後在加密盤中“修改某個小檔案”或“增加某個小檔案”。然後再把加密盤的卷檔案同步一次。如果第二次同步很快完成,說明該網盤的客戶端支援“位元組級差異同步”。

有讀者在留言中提出質疑,加密盤到底能不能使用“差分編碼”。於是俺在《TrueCrypt 使用經驗[1]:關於加密演算法和加密盤的型別》一文中專門增加了一個章節——“磁碟加密的操作模式”,介紹大部分磁碟加密工具(包括 TrueCrypt)使用的磁碟操作模式(XTS 模式)。

(補充一下)某熱心讀者在留言中提醒,維基百科的網盤對比清單,裡面有列舉某些支援(位元組級)差異同步的網盤。關注此功能的同學,請自行到該頁面上搜索 delta sync

★常見問題解答 (FAQs)

◇磁碟加密工具會鎖住加密盤的“卷檔案”,導致無法同步

幾乎所有的磁碟加密工具,當掛載虛擬加密盤的時候,都會鎖住加密盤對應的物理檔案。“卷檔案”一旦被鎖住,就無法直接對其進行讀寫——包括網盤客戶端也無法讀寫這個檔案。

解決方法就是:先“解除安裝”(Umount)加密盤,然後再同步。換句話說:掛載加密盤的時候不要同步;加密盤解除安裝之後再同步。

比如你可以利用睡覺時間或吃飯時間,解除安裝加密盤,然後同步。

◇“卷檔案”大小超過網盤的“單檔案上限”

碰到這種情況,俺首先強烈建議換一個網盤。

如果你實在不想換網盤,可以考慮把加密盤分割之後再同步。但是這麼幹會比較麻煩,而且分割之後再同步有一個缺點:你需要佔用兩倍的本地硬碟空間。

分割檔案的工具很好找,Google 上能搜到一大把。

對於 Windows 使用者,名氣比較大的是 hjsplit(這玩意兒支援的平臺很多,連 DOS 都支援)。

對於 Linux 使用者可以直接用命令列的 split 分割檔案,用 cat 命令合併分割後的檔案。

除了用專門的檔案分割工具,還可以考慮用壓縮工具進行分割(7Zip 和 WinRAR 都支援分檔案壓縮,類似於“檔案分割”的功能)。

但是切記一點:加密內容是難以壓縮的(稍微瞭解“密碼學”和“資訊理論”的同學應該知道,加密之後的“熵”極大,再牛的壓縮軟體也壓不下來)。所以,使用壓縮工具對加密盤進行“分檔案壓縮”,一定要關閉壓縮選項(對於 7zip,在“壓縮等級”那個選項中選擇“僅儲存”)。

如何在網路上存取你的資料,保證不被洩露

◇“卷檔案”大小超過網盤總容量

碰到這種情況,你有兩個選擇:

1。 換一個空間大的網盤

2。 申請多個網盤帳號,然後使用前面提到的“分割檔案”的方案——把加密盤的“卷檔案”分割成 N 塊,分別同步到不同的網盤。

對於使用 Dropbox 的同學,很可能會碰到這種情況。Dropbox 有很多優點,而最明顯的缺點就是空間小。