ChainSafe Files:構建保護隱私的雲端儲存
這是一篇來自 ChainSafe的文章。
ChainSafe Files能夠提供高度保護隱私、高度安全的雲端儲存,讓使用者對其資料享有完整的主權。我們的產品利用IPFS和Filecoin來為使用者提供分散式儲存和區塊鏈技術的所有好處。Files專案抽離了這些系統的複雜性,從而提供一個簡單、對使用者友好的體驗。這樣,使用者可以輕鬆地使用我們的資料儲存解決方案,並得到相較於傳統雲端儲存選項更具備隱私性、更具彈性以及更去中心化的好處。 馬上體驗!
ChainSafe Files是一個用於儲存、檢視和分享檔案的線上平臺。它看著像傳統的雲計算平臺,但實際並非如此。ChainSafe Files的設計理念是使用者自由度和資料隱私 。
為了實現對更高的使用者自主性和更好的隱私保護的願景,我們提出了兩個原則以指導我們的工作: 1) 隱私保護. Files的使用者應享有閱讀其資料的唯一權利,無需擔心其隱私被侵害; 2) 最可依賴的是自己。使用者不應該被鎖定在我們的app裡,即便是在Files平臺在極端情況下無法提供服務時,使用者都應該能夠訪問自己的檔案。
這篇文章會解讀Files架構的最重要的部分,並解析我們是如何努力建造這個將使用者視為頭等公民的產品。我們將會介紹:
- 去中心化登入過程,除了你自己,沒有人可以訪問Files的使用者介面。
- 這是如何讓你使用 相關工具來加密你所儲存的資料的。
- 最後,我們會展示IPFS和Filecoin的利用方法,以確保你的資料總是對你是可用的。
去中心化登入
當你首次訪問一個傳統網路應用時,通常需要註冊然後登入進去。你將需要輸入一個登入名和密碼,然後平臺的後端服務會驗證相關憑證是否與你註冊時輸入的資訊相符,並最終讓你訪問自己的檔案。
這樣的平臺就是守門人。如果傳統的網路應用有一個後門,或者某個管理員心存惡意,那麼有人就很容易訪問你的資料。這些後門可以是由某個駭客、機構或平臺自己植入的。
應用程式使用者登入的另一個常見用例是單點登入方案,如谷歌所提供的。因為它們只需要點選一次,所以還是很方便的。它們被用作一個單一的信任來源,像谷歌這樣的第三方會保證你的身份,因為你已經登入到它們的平臺上了。
應用程式需要做的僅僅是驗證這個第三方的簽名是真實的(如谷歌的簽名)。這樣,在我們的例子裡,谷歌就是守門人,你必須相信它。如果你的谷歌賬號或谷歌自己被駭客入侵了,又或者是其中一個管理員心存惡意,那麼 它們可以簽署一個簽名來讓別人冒用你的身份。
在ChainSafe Files裡,為了免除對第三方的信任,我們使用了 Torus提供的去中心化登入服務來搭建一個驗證流程。我們就此寫了一篇文章解釋了其工作原理,你可以 點選這裡檢視。大意就是,你 不再需要信任單個主體,不管是谷歌、Github還是ChainSafe Files的團隊。你將需要兩個驗證因子:
- 一個密碼。如果你的第一道登入方式被攻破,惡意分子還是無法代替你登入到Files裡。
2. 為了簡化使用者體驗,你的瀏覽器會被作為第二個登入因子。如果你使用同樣的瀏覽器登入到Files裡,你就能透過點選一次來登入進賬號。
在這個環節裡,我們分析了Files的登入流程,並解釋了我們使用去中心化驗證系統的方式。得益於這個設計,沒有單一的實體會儲存使用者憑證,你也無需信任單一的實體,不管它是Files的後臺服務還是一個第三方平臺。既然我們現在已經相信沒有單一的實體可以控制你對Files的訪問權,那麼來看看我們是如何確保你對自己內容的唯一檢視權。
除了你自己,沒有人可以檢視你的資料夾
當你使用上述兩個因子登入ChainSafe Files時,在系統的底層其實就是重建了一個只有你自己知道的公私鑰對。我們在這篇文章中將其稱為主金鑰(master key),它只在你的瀏覽器中活動。每一次你登入Files系統時,它都會重建一次,並在結束瀏覽器活動時再次刪除。我們來看看這在實踐中是如何使用的,並探索一下在Files裡上傳文件時發生的事情。
假設你想在ChainSafe Files裡上傳一張關於貓的照片。你這麼做的時候,Files應用程式會請求一個儲存在Files後端的加密金鑰。當然了,因為它是儲存於你的計算機之外的,所以並不是明文的方式儲存。它是使用AES-256加密演算法並用你的主金鑰來加密的。只有你可以讀取這個加密金鑰。當你有了這個加密金鑰後,你想上傳的這張貓圖將會在本地的瀏覽器進行加密,最終會被髮送到Files的後端。
我們先來簡單看看一個網站的工作原理。從技術上說,在瀏覽器裡訪問網站意味著你從網際網路上下載這個網站的程式碼,並在瀏覽器中執行。在本地環境裡,你的瀏覽器內所發生的事情並不一定會與網際網路上的其他伺服器分享。任何網站的程式碼所做的事情都能夠被檢視和驗證。同時,因為 Files是一個開源專案,你不必相信我們所說的,你還可以驗證我們在這篇文章裡解釋的事情!
回到上面這張貓的照片,還記得我們早前說過的嗎:你的瀏覽器本地發生的事情並不一定在網際網路上分享。當這張貓照片到達Files的後臺,它早就被只有你能訪問的金鑰加密起來了。縱使這張貓的照片再可愛,也沒有其他人能看到它是一張貓圖!
就如你可以看到的,我們用內建隱私保護設計的方式構造了Files專案。我們盡力讓其具備防止他人冒用你的身份登入的能力,而無需信任單一的第三方,即便是ChainSafe. 另外,得益於強大的加密技術,除了你都沒有任何人能閱讀你的檔案的內容。.
即便Files的介面和基礎設施失效,你都可以訪問自己的檔案
資料取回的能力是構建開放和去中心化平臺的一個重要方面。除了你沒有人能登入平臺和閱讀你的檔案,這聽上去很棒。但萬一這個平臺倒閉了或控制你的訪問呢?這就是IPFS和Filecoin這樣的分散式儲存網路發揮作用的時候了。有不少讀者應該早知道IPFS和Filecoin了,不過對此不熟悉的人還是可以 閱讀這個連結的內容來了解更多。
簡單地說,IPFS是一個由計算機(節點)構成的檔案儲存網路。一個節點可“pin”住你的檔案,意味著它會保留一個副本,在得到請求的時候進行分發。Files的後端是在 ChainSafe Storage之上構建的,而上傳到Files的任何檔案都是由我們的基礎設施裡的一個節點pin住的。每一個檔案都有一個IPFS內容標識(CID),在操作介面點選“資訊”時就可以看到。
這樣,你就可以在脫離Files使用者介面的情況下取回自己的檔案。就如前面解釋的,那些檔案是被加密的,你想讀取時需要進行解密。 我們建立了一個簡單的命令列工具 讓你在無需使用Files介面的情況下從IPFS下載並解密自己的檔案。
從IPFS取回檔案時不會產生任何費用,不過節點作為網路的一部分則沒有動力去儲存檔案,因此,可以說沒有人能保證你的檔案總是能在所需時可用。這就是Filecoin能發揮作用的地方了。Filecoin是IPFS之上的一層激勵機制層。簡單地說,它意味著你能夠給特定的節點付費讓其保證妥善保管你的檔案。這樣的保證是由Filecoin協議執行的,所以你可以確保你在有需要的時候能訪問自己的檔案。不過,與IPFS不同,你在Filecoin上取回檔案並不是免費的。因此,ChainSafe Files將IPFS 用作一個快取層,在你有需要的時候立刻將你的檔案展示給你,不過我們也使用Filecoin來長期、冗餘地儲存這些檔案。
以使用者為中心的隱私保護思維
總結一下,你是唯一能夠登入Files使用者介面來取回主金鑰的人。你上傳的任何檔案都是被加密的,只有你能讀取。你的檔案是儲存在一個去中心化網路裡,在ChainSafe Files基礎設施不再可用時,你也能訪問這些檔案。你還想要更多特性?可以啊!
一個平臺的使用者會留下很多元資料,能夠用來分析使用者的行為。我們拿WhatsApp舉例。雖然資訊的內容是加密的,但它收集了你的傳送物件、頻率、每日發信息時段等元資料,蘊藏了很多關於你自己、興趣、社交圈子等資訊。那麼,將這些資料與其他資訊來源進行結合(如你手機上安裝的APP,你可能關聯的臉書賬號等),就成了被別有用心之人針對的完美資訊組合。
任何個人資料的都是敏感的,必須被保護以免落於壞人之手。甚至,它們根本一開始就不應該被收集。
ChainSafe Files團隊對資料隱私十分重視,旨在透過Files平臺提供最佳體驗的同時保護我們的使用者免受此類威脅。我們的業務並不是收集資料,我們會確保使用者使用資訊不會與第三方分享,也永遠不會將其售賣。